gnu: Add cl-tooter.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
27 ;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
28 ;;;
29 ;;; This file is part of GNU Guix.
30 ;;;
31 ;;; GNU Guix is free software; you can redistribute it and/or modify it
32 ;;; under the terms of the GNU General Public License as published by
33 ;;; the Free Software Foundation; either version 3 of the License, or (at
34 ;;; your option) any later version.
35 ;;;
36 ;;; GNU Guix is distributed in the hope that it will be useful, but
37 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 ;;; GNU General Public License for more details.
40 ;;;
41 ;;; You should have received a copy of the GNU General Public License
42 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44 ;;; This file only contains Common Lisp libraries.
45 ;;; Common Lisp compilers and tooling go to lisp.scm.
46 ;;; Common Lisp applications should go to the most appropriate file,
47 ;;; e.g. StumpWM is in wm.scm.
48
49 (define-module (gnu packages lisp-xyz)
50 #:use-module (gnu packages)
51 #:use-module ((guix licenses) #:prefix license:)
52 #:use-module (guix packages)
53 #:use-module (guix download)
54 #:use-module (guix git-download)
55 #:use-module (guix hg-download)
56 #:use-module (guix utils)
57 #:use-module (guix build-system asdf)
58 #:use-module (guix build-system trivial)
59 #:use-module (gnu packages base)
60 #:use-module (gnu packages c)
61 #:use-module (gnu packages compression)
62 #:use-module (gnu packages databases)
63 #:use-module (gnu packages enchant)
64 #:use-module (gnu packages file)
65 #:use-module (gnu packages fonts)
66 #:use-module (gnu packages fontutils)
67 #:use-module (gnu packages glib)
68 #:use-module (gnu packages gtk)
69 #:use-module (gnu packages imagemagick)
70 #:use-module (gnu packages libevent)
71 #:use-module (gnu packages libffi)
72 #:use-module (gnu packages linux)
73 #:use-module (gnu packages lisp)
74 #:use-module (gnu packages maths)
75 #:use-module (gnu packages mp3)
76 #:use-module (gnu packages networking)
77 #:use-module (gnu packages pkg-config)
78 #:use-module (gnu packages python)
79 #:use-module (gnu packages python-xyz)
80 #:use-module (gnu packages sqlite)
81 #:use-module (gnu packages tcl)
82 #:use-module (gnu packages tls)
83 #:use-module (gnu packages web)
84 #:use-module (gnu packages webkit)
85 #:use-module (gnu packages xdisorg)
86 #:use-module (ice-9 match)
87 #:use-module (srfi srfi-1)
88 #:use-module (srfi srfi-19))
89
90 (define-public sbcl-alexandria
91 (package
92 (name "sbcl-alexandria")
93 (version "1.2")
94 (source
95 (origin
96 (method git-fetch)
97 (uri (git-reference
98 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
99 (commit (string-append "v" version))))
100 (sha256
101 (base32
102 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
103 (file-name (git-file-name name version))))
104 (build-system asdf-build-system/sbcl)
105 (native-inputs
106 `(("rt" ,sbcl-rt)))
107 (synopsis "Collection of portable utilities for Common Lisp")
108 (description
109 "Alexandria is a collection of portable utilities. It does not contain
110 conceptual extensions to Common Lisp. It is conservative in scope, and
111 portable between implementations.")
112 (home-page "https://common-lisp.net/project/alexandria/")
113 (license license:public-domain)))
114
115 (define-public cl-alexandria
116 (sbcl-package->cl-source-package sbcl-alexandria))
117
118 (define-public ecl-alexandria
119 (sbcl-package->ecl-package sbcl-alexandria))
120
121 (define-public sbcl-golden-utils
122 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
123 (revision "1"))
124 (package
125 (name "sbcl-golden-utils")
126 (version (git-version "0.0.0" revision commit))
127 (source
128 (origin
129 (method git-fetch)
130 (uri (git-reference
131 (url "https://git.mfiano.net/mfiano/golden-utils")
132 (commit commit)))
133 (file-name (git-file-name name version))
134 (sha256
135 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
136 (build-system asdf-build-system/sbcl)
137 (inputs
138 `(("alexandria" ,sbcl-alexandria)))
139 (home-page "https://git.mfiano.net/mfiano/golden-utils")
140 (synopsis "Common Lisp utility library")
141 (description
142 "This is a Common Lisp library providing various utilities.")
143 (license license:expat))))
144
145 (define-public ecl-golden-utils
146 (sbcl-package->ecl-package sbcl-golden-utils))
147
148 (define-public cl-golden-utils
149 (sbcl-package->cl-source-package sbcl-golden-utils))
150
151 (define-public sbcl-asdf-finalizers
152 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
153 (revision "1"))
154 (package
155 (name "sbcl-asdf-finalizers")
156 (version (git-version "0.0.0" revision commit))
157 (source
158 (origin
159 (method git-fetch)
160 (uri (git-reference
161 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
162 (commit commit)))
163 (file-name (git-file-name name version))
164 (sha256
165 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
166 (build-system asdf-build-system/sbcl)
167 (native-inputs
168 `(("fare-utils" ,sbcl-fare-utils)
169 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
170 (arguments
171 `(#:asd-files '("asdf-finalizers.asd"
172 "list-of.asd"
173 "asdf-finalizers-test.asd")
174 #:asd-systems '("asdf-finalizers"
175 "list-of")))
176 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
177 (synopsis "Enforced calling of finalizers for Lisp code")
178 (description "This library allows you to implement and enforce proper
179 finalization of compile-time constructs while building Lisp source files.
180
181 It produces two systems: asdf-finalizers and list-of.")
182 (license license:expat))))
183
184 (define-public ecl-asdf-finalizers
185 (sbcl-package->ecl-package sbcl-asdf-finalizers))
186
187 (define-public cl-asdf-finalizers
188 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
189
190 (define-public sbcl-net.didierverna.asdf-flv
191 (package
192 (name "sbcl-net.didierverna.asdf-flv")
193 (version "2.1")
194 (source
195 (origin
196 (method git-fetch)
197 (uri (git-reference
198 (url "https://github.com/didierverna/asdf-flv")
199 (commit (string-append "version-" version))))
200 (file-name (git-file-name "asdf-flv" version))
201 (sha256
202 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
203 (build-system asdf-build-system/sbcl)
204 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
205 (description "ASDF-FLV provides support for file-local variables through
206 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
207 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
208 dynamic binding is created before processing the file, so that any
209 modification to the variable becomes essentially file-local.
210
211 In order to make one or several variables file-local, use the macros
212 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
213 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
214 (license (license:non-copyleft
215 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
216 "GNU All-Permissive License"))))
217
218 (define-public cl-net.didierverna.asdf-flv
219 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
220
221 (define-public ecl-net.didierverna.asdf-flv
222 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
223
224 (define-public sbcl-command-line-arguments
225 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
226 (revision "1"))
227 (package
228 (name "sbcl-command-line-arguments")
229 (version (git-version "2.0.0" revision commit))
230 (source
231 (origin
232 (method git-fetch)
233 (uri (git-reference
234 (url "https://github.com/fare/command-line-arguments")
235 (commit commit)))
236 (file-name (git-file-name name version))
237 (sha256
238 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
239 (build-system asdf-build-system/sbcl)
240 (home-page "https://github.com/fare/command-line-arguments")
241 (synopsis "Trivial command-line argument parsing library for Common Lisp")
242 (description "This is a library to abstract away the parsing of
243 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
244 or cl-launch for portable processing of command-line arguments.")
245 (license license:expat))))
246
247 (define-public ecl-command-line-arguments
248 (sbcl-package->ecl-package sbcl-command-line-arguments))
249
250 (define-public cl-command-line-arguments
251 (sbcl-package->cl-source-package sbcl-command-line-arguments))
252
253 (define-public sbcl-fiveam
254 (package
255 (name "sbcl-fiveam")
256 (version "1.4.1")
257 (source
258 (origin
259 (method git-fetch)
260 (uri (git-reference
261 (url "https://github.com/sionescu/fiveam")
262 (commit (string-append "v" version))))
263 (file-name (git-file-name "fiveam" version))
264 (sha256
265 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
266 (inputs
267 `(("alexandria" ,sbcl-alexandria)
268 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
269 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
270 (build-system asdf-build-system/sbcl)
271 (synopsis "Common Lisp testing framework")
272 (description "FiveAM is a simple (as far as writing and running tests
273 goes) regression testing framework. It has been designed with Common Lisp's
274 interactive development model in mind.")
275 (home-page "https://common-lisp.net/project/fiveam/")
276 (license license:bsd-3)))
277
278 (define-public cl-fiveam
279 (sbcl-package->cl-source-package sbcl-fiveam))
280
281 (define-public ecl-fiveam
282 (sbcl-package->ecl-package sbcl-fiveam))
283
284 (define-public sbcl-cl-irc
285 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
286 (revision "0"))
287 (package
288 (name "sbcl-cl-irc")
289 (version (git-version "0.9.2" revision commit))
290 (source
291 (origin
292 (method git-fetch)
293 (uri (git-reference
294 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
295 (commit commit)))
296 (file-name (git-file-name "cl-irc" version))
297 (sha256
298 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
299 (build-system asdf-build-system/sbcl)
300 (native-inputs
301 ;; Tests only.
302 `(("rt" ,sbcl-rt)))
303 (inputs
304 `(("cl+ssl" ,sbcl-cl+ssl)
305 ("flexi-streams" ,sbcl-flexi-streams)
306 ("split-sequence" ,sbcl-split-sequence)
307 ("usocket" ,sbcl-usocket)))
308 (arguments
309 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
310 ;; found by guix otherwise.
311 #:asd-files '("cl-irc.asd")
312 #:test-asd-file "test/cl-irc-test.asd"))
313 (synopsis "IRC client library for Common Lisp")
314 (description "@code{cl-irc} is a Common Lisp IRC client library that
315 features (partial) DCC, CTCP and all relevant commands from the IRC
316 RFCs (RFC2810, RFC2811 and RFC2812).
317
318 Features:
319 @itemize
320 @item implements all commands in the RFCs
321 @item extra convenience commands such as op/deop, ban, ignore, etc.
322 @item partial DCC SEND/CHAT support
323 @item event driven model with hooks makes interfacing easy
324 @item the user can keep multiple connections
325 @item all CTCP commands
326 @end itemize\n")
327 (home-page "https://common-lisp.net/project/cl-irc/")
328 (license license:bsd-2))))
329
330 (define-public cl-irc
331 (sbcl-package->cl-source-package sbcl-cl-irc))
332
333 (define-public ecl-cl-irc
334 (sbcl-package->ecl-package sbcl-cl-irc))
335
336 (define-public sbcl-trivial-timeout
337 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
338 (revision "1"))
339 (package
340 (name "sbcl-trivial-timeout")
341 (version (git-version "0.1.5" revision commit))
342 (source
343 (origin
344 (method git-fetch)
345 (uri (git-reference
346 (url "https://github.com/gwkkwg/trivial-timeout/")
347 (commit commit)))
348 (file-name (git-file-name "trivial-timeout" version))
349 (sha256
350 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
351 (build-system asdf-build-system/sbcl)
352 (native-inputs
353 `(("lift" ,sbcl-lift)))
354 (arguments
355 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
356 ;; tests use some deprecated functionality and keep failing.
357 `(#:tests? #f))
358 (home-page "https://github.com/gwkkwg/trivial-timeout/")
359 (synopsis "Timeout library for Common Lisp")
360 (description
361 "This library provides an OS and implementation independent access to
362 timeouts.")
363 (license license:expat))))
364
365 (define-public ecl-trivial-timeout
366 (sbcl-package->ecl-package sbcl-trivial-timeout))
367
368 (define-public cl-trivial-timeout
369 (sbcl-package->cl-source-package sbcl-trivial-timeout))
370
371 (define-public sbcl-bordeaux-threads
372 (package
373 (name "sbcl-bordeaux-threads")
374 (version "0.8.8")
375 (source (origin
376 (method git-fetch)
377 (uri (git-reference
378 (url "https://github.com/sionescu/bordeaux-threads")
379 (commit (string-append "v" version))))
380 (sha256
381 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
382 (file-name
383 (git-file-name "bordeaux-threads" version))))
384 (inputs `(("alexandria" ,sbcl-alexandria)))
385 (native-inputs `(("fiveam" ,sbcl-fiveam)))
386 (build-system asdf-build-system/sbcl)
387 (synopsis "Portable shared-state concurrency library for Common Lisp")
388 (description "BORDEAUX-THREADS is a proposed standard for a minimal
389 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
390 support.")
391 (home-page "https://common-lisp.net/project/bordeaux-threads/")
392 (license license:x11)))
393
394 (define-public cl-bordeaux-threads
395 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
396
397 (define-public ecl-bordeaux-threads
398 (sbcl-package->ecl-package sbcl-bordeaux-threads))
399
400 (define-public sbcl-trivial-gray-streams
401 (let ((revision "1")
402 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
403 (package
404 (name "sbcl-trivial-gray-streams")
405 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
406 (source
407 (origin
408 (method git-fetch)
409 (uri
410 (git-reference
411 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
412 (commit commit)))
413 (sha256
414 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
415 (file-name
416 (string-append "trivial-gray-streams-" version "-checkout"))))
417 (build-system asdf-build-system/sbcl)
418 (synopsis "Compatibility layer for Gray streams implementations")
419 (description "Gray streams is an interface proposed for inclusion with
420 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
421 popular CL implementations implement it. This package provides an extremely
422 thin compatibility layer for gray streams.")
423 (home-page "https://www.cliki.net/trivial-gray-streams")
424 (license license:x11))))
425
426 (define-public cl-trivial-gray-streams
427 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
428
429 (define-public ecl-trivial-gray-streams
430 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
431
432 (define-public sbcl-fiasco
433 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
434 (revision "1"))
435 (package
436 (name "sbcl-fiasco")
437 (version (git-version "0.0.1" revision commit))
438 (source
439 (origin
440 (method git-fetch)
441 (uri (git-reference
442 (url "https://github.com/joaotavora/fiasco")
443 (commit commit)))
444 (file-name (git-file-name "fiasco" version))
445 (sha256
446 (base32
447 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
448 (build-system asdf-build-system/sbcl)
449 (inputs
450 `(("alexandria" ,sbcl-alexandria)
451 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
452 (synopsis "Simple and powerful test framework for Common Lisp")
453 (description "A Common Lisp test framework that treasures your failures,
454 logical continuation of Stefil. It focuses on interactive debugging.")
455 (home-page "https://github.com/joaotavora/fiasco")
456 ;; LICENCE specifies this is public-domain unless the legislation
457 ;; doesn't allow or recognize it. In that case it falls back to a
458 ;; permissive licence.
459 (license (list license:public-domain
460 (license:x11-style "file://LICENCE"))))))
461
462 (define-public cl-fiasco
463 (sbcl-package->cl-source-package sbcl-fiasco))
464
465 (define-public ecl-fiasco
466 (sbcl-package->ecl-package sbcl-fiasco))
467
468 (define-public sbcl-flexi-streams
469 (package
470 (name "sbcl-flexi-streams")
471 (version "1.0.18")
472 (source
473 (origin
474 (method git-fetch)
475 (uri (git-reference
476 (url "https://github.com/edicl/flexi-streams")
477 (commit (string-append "v" version))))
478 (file-name (git-file-name "flexi-streams" version))
479 (sha256
480 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
481 (build-system asdf-build-system/sbcl)
482 (arguments
483 `(#:phases
484 (modify-phases %standard-phases
485 (add-after 'unpack 'make-git-checkout-writable
486 (lambda _
487 (for-each make-file-writable (find-files "."))
488 #t)))))
489 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
490 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
491 (description "Flexi-streams is an implementation of \"virtual\" bivalent
492 streams that can be layered atop real binary or bivalent streams and that can
493 be used to read and write character data in various single- or multi-octet
494 encodings which can be changed on the fly. It also supplies in-memory binary
495 streams which are similar to string streams.")
496 (home-page "http://weitz.de/flexi-streams/")
497 (license license:bsd-3)))
498
499 (define-public cl-flexi-streams
500 (sbcl-package->cl-source-package sbcl-flexi-streams))
501
502 (define-public ecl-flexi-streams
503 (sbcl-package->ecl-package sbcl-flexi-streams))
504
505 (define-public sbcl-cl-abnf
506 ;; There are no releases
507 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
508 (revision "1"))
509 (package
510 (name "sbcl-cl-abnf")
511 (version (git-version "0.0.0" revision commit))
512 (source
513 (origin
514 (method git-fetch)
515 (uri (git-reference
516 (url "https://github.com/dimitri/cl-abnf")
517 (commit commit)))
518 (file-name (git-file-name "cl-abnf" version))
519 (sha256
520 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
521 (build-system asdf-build-system/sbcl)
522 (inputs
523 `(("cl-ppcre" ,sbcl-cl-ppcre)
524 ("esrap" ,sbcl-esrap)))
525 (arguments
526 `(#:asd-systems '("abnf")))
527 (home-page "https://github.com/dimitri/cl-abnf")
528 (synopsis "ABNF parser generator for Common Lisp")
529 (description "This Common Lisp library implements a parser generator for
530 the ABNF grammar format as described in RFC2234. The generated parser is a
531 regular expression scanner provided by the cl-ppcre lib, which means that we
532 can't parse recursive grammar definition. One such definition is the ABNF
533 definition as given by the RFC. Fortunately, as you have this lib, you most
534 probably don't need to generate another parser to handle that particular ABNF
535 grammar.")
536 (license license:expat))))
537
538 (define-public cl-abnf
539 (sbcl-package->cl-source-package sbcl-cl-abnf))
540
541 (define-public ecl-cl-abnf
542 (sbcl-package->ecl-package sbcl-cl-abnf))
543
544 (define-public sbcl-cl-ppcre
545 (package
546 (name "sbcl-cl-ppcre")
547 (version "2.1.1")
548 (source
549 (origin
550 (method git-fetch)
551 (uri (git-reference
552 (url "https://github.com/edicl/cl-ppcre")
553 (commit (string-append "v" version))))
554 (file-name (git-file-name "cl-ppcre" version))
555 (sha256
556 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
557 (build-system asdf-build-system/sbcl)
558 (native-inputs
559 `(("flexi-streams" ,sbcl-flexi-streams)))
560 (arguments
561 `(#:phases
562 (modify-phases %standard-phases
563 (add-after 'unpack 'disable-ppcre-unicode
564 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
565 ;; to work around the circular dependency between edicl/cl-ppcre
566 ;; and edicl/cl-unicode.
567 (lambda _
568 (delete-file "cl-ppcre-unicode.asd")
569 #t)))))
570 (synopsis "Portable regular expression library for Common Lisp")
571 (description "CL-PPCRE is a portable regular expression library for Common
572 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
573 compatible with ANSI-compliant Common Lisp implementations.")
574 (home-page "http://weitz.de/cl-ppcre/")
575 (license license:bsd-2)))
576
577 (define-public cl-ppcre
578 (sbcl-package->cl-source-package sbcl-cl-ppcre))
579
580 (define-public ecl-cl-ppcre
581 (sbcl-package->ecl-package sbcl-cl-ppcre))
582
583 (define-public sbcl-ubiquitous
584 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
585 (revision "1"))
586 (package
587 (name "sbcl-ubiquitous")
588 (version (git-version "2.0.0" revision commit))
589 (source
590 (origin
591 (method git-fetch)
592 (uri (git-reference
593 (url "https://github.com/Shinmera/ubiquitous")
594 (commit commit)))
595 (file-name (git-file-name "ubiquitous" version))
596 (sha256
597 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
598 (build-system asdf-build-system/sbcl)
599 (inputs
600 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
601 (arguments
602 '(#:asd-systems '("ubiquitous"
603 "ubiquitous-concurrent")))
604 (home-page "https://shinmera.github.io/ubiquitous/")
605 (synopsis "Application configuration mechanism for Common Lisp")
606 (description
607 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
608 configuration storage. It automatically takes care of finding a suitable place
609 to save your data, and provides simple functions to access and modify the data
610 within.")
611 (license license:zlib))))
612
613 (define-public ecl-ubiquitous
614 (sbcl-package->ecl-package sbcl-ubiquitous))
615
616 (define-public cl-ubiquitous
617 (sbcl-package->cl-source-package sbcl-ubiquitous))
618
619 (define-public sbcl-uax-15
620 (package
621 (name "sbcl-uax-15")
622 (version "0.1.1")
623 (source
624 (origin
625 (method git-fetch)
626 (uri (git-reference
627 (url "https://github.com/sabracrolleton/uax-15")
628 (commit (string-append "v" version))))
629 (file-name (git-file-name "uax-15" version))
630 (sha256
631 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
632 (build-system asdf-build-system/sbcl)
633 (arguments
634 `(#:asd-systems
635 '("uax-15")))
636 (native-inputs
637 `(("fiveam" ,sbcl-fiveam)))
638 (inputs
639 `(("cl-ppcre" ,sbcl-cl-ppcre)
640 ("split-sequence" ,sbcl-split-sequence)))
641 (home-page "https://github.com/sabracrolleton/uax-15")
642 (synopsis "Common Lisp implementation of unicode normalization functions")
643 (description
644 "This package provides supports for unicode normalization, RFC8264 and
645 RFC7564.")
646 (license license:expat)))
647
648 (define-public cl-uax-15
649 (sbcl-package->cl-source-package sbcl-uax-15))
650
651 (define-public ecl-uax-15
652 (sbcl-package->ecl-package sbcl-uax-15))
653
654 (define-public sbcl-cl-unicode
655 (package
656 (name "sbcl-cl-unicode")
657 (version "0.1.6")
658 (source (origin
659 (method git-fetch)
660 (uri (git-reference
661 (url "https://github.com/edicl/cl-unicode")
662 (commit (string-append "v" version))))
663 (file-name (git-file-name name version))
664 (sha256
665 (base32
666 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
667 (build-system asdf-build-system/sbcl)
668 (native-inputs
669 `(("flexi-streams" ,sbcl-flexi-streams)))
670 (inputs
671 `(("cl-ppcre" ,sbcl-cl-ppcre)))
672 (home-page "http://weitz.de/cl-unicode/")
673 (synopsis "Portable Unicode library for Common Lisp")
674 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
675 is compatible with perl. It is pretty fast, thread-safe, and compatible with
676 ANSI-compliant Common Lisp implementations.")
677 (license license:bsd-2)))
678
679 (define-public ecl-cl-unicode
680 (sbcl-package->ecl-package sbcl-cl-unicode))
681
682 (define-public cl-unicode
683 (sbcl-package->cl-source-package sbcl-cl-unicode))
684
685 (define-public sbcl-cl-ppcre-unicode
686 (package (inherit sbcl-cl-ppcre)
687 (name "sbcl-cl-ppcre-unicode")
688 (inputs
689 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
690 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
691 (arguments
692 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
693 #:phases
694 (modify-phases %standard-phases
695 (add-after 'unpack 'disable-ppcre
696 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
697 ;; to work around the circular dependency between edicl/cl-ppcre
698 ;; and edicl/cl-unicode.
699 (lambda _
700 (delete-file "cl-ppcre.asd")
701 #t)))))))
702
703 (define-public cl-ppcre-unicode
704 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
705
706 (define-public ecl-cl-ppcre-unicode
707 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
708
709 (define-public sbcl-zpb-ttf
710 (package
711 (name "sbcl-zpb-ttf")
712 (version "1.0.3")
713 (source
714 (origin
715 (method git-fetch)
716 (uri (git-reference
717 (url "https://github.com/xach/zpb-ttf")
718 (commit (string-append "release-" version))))
719 (file-name (git-file-name name version))
720 (sha256
721 (base32
722 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
723 (build-system asdf-build-system/sbcl)
724 (home-page "https://github.com/xach/zpb-ttf")
725 (synopsis "TrueType font file access for Common Lisp")
726 (description
727 "ZPB-TTF is a TrueType font file parser that provides an interface for
728 reading typographic metrics, glyph outlines, and other information from the
729 file.")
730 (license license:bsd-2)))
731
732 (define-public ecl-zpb-ttf
733 (sbcl-package->ecl-package sbcl-zpb-ttf))
734
735 (define-public cl-zpb-ttf
736 (sbcl-package->cl-source-package sbcl-zpb-ttf))
737
738 (define-public sbcl-cl-vectors
739 (package
740 (name "sbcl-cl-vectors")
741 (version "0.1.5")
742 (source
743 (origin
744 (method url-fetch)
745 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
746 "files/cl-vectors-" version ".tar.gz"))
747 (sha256
748 (base32
749 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
750 (build-system asdf-build-system/sbcl)
751 (inputs
752 `(("zpb-ttf" ,sbcl-zpb-ttf)))
753 (arguments
754 '(#:asd-systems '("cl-vectors"
755 "cl-paths-ttf")))
756 (home-page "http://projects.tuxee.net/cl-vectors/")
757 (synopsis "Create, transform and render anti-aliased vectorial paths")
758 (description
759 "This is a pure Common Lisp library to create, transform and render
760 anti-aliased vectorial paths.")
761 (license license:expat)))
762
763 (define-public ecl-cl-vectors
764 (sbcl-package->ecl-package sbcl-cl-vectors))
765
766 (define-public cl-vectors
767 (sbcl-package->cl-source-package sbcl-cl-vectors))
768
769 (define-public sbcl-spatial-trees
770 ;; There have been no releases.
771 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
772 (revision "1"))
773 (package
774 (name "sbcl-spatial-trees")
775 (version (git-version "0" revision commit))
776 (source
777 (origin
778 (method git-fetch)
779 (uri (git-reference
780 (url "https://github.com/rpav/spatial-trees")
781 (commit commit)))
782 (file-name (git-file-name name version))
783 (sha256
784 (base32
785 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
786 (build-system asdf-build-system/sbcl)
787 (arguments
788 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
789 #:test-asd-file "spatial-trees.test.asd"))
790 (native-inputs
791 `(("fiveam" ,sbcl-fiveam)))
792 (home-page "https://github.com/rpav/spatial-trees")
793 (synopsis "Dynamic index data structures for spatially-extended data")
794 (description
795 "Spatial-trees is a set of dynamic index data structures for
796 spatially-extended data.")
797 (license license:bsd-3))))
798
799 (define-public ecl-spatial-trees
800 (sbcl-package->ecl-package sbcl-spatial-trees))
801
802 (define-public cl-spatial-trees
803 (sbcl-package->cl-source-package sbcl-spatial-trees))
804
805 (define-public sbcl-flexichain
806 ;; There are no releases.
807 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
808 (revision "1"))
809 (package
810 (name "sbcl-flexichain")
811 (version "1.5.1")
812 (source
813 (origin
814 (method git-fetch)
815 (uri (git-reference
816 (url "https://github.com/robert-strandh/Flexichain")
817 (commit commit)))
818 (file-name (git-file-name name version))
819 (sha256
820 (base32
821 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
822 (build-system asdf-build-system/sbcl)
823 (home-page "https://github.com/robert-strandh/Flexichain.git")
824 (synopsis "Dynamically add elements to or remove them from sequences")
825 (description
826 "This package provides an implementation of the flexichain protocol,
827 allowing client code to dynamically add elements to, and delete elements from
828 a sequence (or chain) of such elements.")
829 (license license:lgpl2.1+))))
830
831 (define-public ecl-flexichain
832 (sbcl-package->ecl-package sbcl-flexichain))
833
834 (define-public cl-flexichain
835 (sbcl-package->cl-source-package sbcl-flexichain))
836
837 (define-public sbcl-cl-pdf
838 ;; There are no releases
839 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
840 (revision "1"))
841 (package
842 (name "sbcl-cl-pdf")
843 (version (git-version "0" revision commit))
844 (source
845 (origin
846 (method git-fetch)
847 (uri (git-reference
848 (url "https://github.com/mbattyani/cl-pdf")
849 (commit commit)))
850 (file-name (git-file-name name version))
851 (sha256
852 (base32
853 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
854 (build-system asdf-build-system/sbcl)
855 (inputs
856 `(("iterate" ,sbcl-iterate)
857 ("zpb-ttf" ,sbcl-zpb-ttf)))
858 (home-page "https://github.com/mbattyani/cl-pdf")
859 (synopsis "Common Lisp library for generating PDF files")
860 (description
861 "CL-PDF is a cross-platform Common Lisp library for generating PDF
862 files.")
863 (license license:bsd-2))))
864
865 (define-public ecl-cl-pdf
866 (sbcl-package->ecl-package sbcl-cl-pdf))
867
868 (define-public cl-pdf
869 (sbcl-package->cl-source-package sbcl-cl-pdf))
870
871 (define-public sbcl-clx
872 (package
873 (name "sbcl-clx")
874 (version "0.7.5")
875 (source
876 (origin
877 (method git-fetch)
878 (uri
879 (git-reference
880 (url "https://github.com/sharplispers/clx")
881 (commit version)))
882 (sha256
883 (base32
884 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
885 (file-name (string-append "clx-" version))))
886 (build-system asdf-build-system/sbcl)
887 (native-inputs
888 `(("fiasco" ,sbcl-fiasco)))
889 (home-page "https://www.cliki.net/portable-clx")
890 (synopsis "X11 client library for Common Lisp")
891 (description "CLX is an X11 client library for Common Lisp. The code was
892 originally taken from a CMUCL distribution, was modified somewhat in order to
893 make it compile and run under SBCL, then a selection of patches were added
894 from other CLXes around the net.")
895 (license license:x11)))
896
897 (define-public cl-clx
898 (sbcl-package->cl-source-package sbcl-clx))
899
900 (define-public ecl-clx
901 (sbcl-package->ecl-package sbcl-clx))
902
903 (define-public sbcl-clx-truetype
904 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
905 (revision "1"))
906 (package
907 (name "sbcl-clx-truetype")
908 (version (git-version "0.0.1" revision commit))
909 (source
910 (origin
911 (method git-fetch)
912 (uri (git-reference
913 (url "https://github.com/l04m33/clx-truetype")
914 (commit commit)))
915 (file-name (git-file-name name version))
916 (sha256
917 (base32
918 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
919 (modules '((guix build utils)))
920 (snippet
921 '(begin
922 (substitute* "package.lisp"
923 ((":export") ":export\n :+font-cache-filename+"))
924 #t))))
925 (build-system asdf-build-system/sbcl)
926 (inputs
927 `(("clx" ,sbcl-clx)
928 ("zpb-ttf" ,sbcl-zpb-ttf)
929 ("cl-vectors" ,sbcl-cl-vectors)
930 ("cl-fad" ,sbcl-cl-fad)
931 ("cl-store" ,sbcl-cl-store)
932 ("trivial-features" ,sbcl-trivial-features)))
933 (home-page "https://github.com/l04m33/clx-truetype")
934 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
935 (description "CLX-TrueType is pure common lisp solution for
936 antialiased TrueType font rendering using CLX and XRender extension.")
937 (license license:expat))))
938
939 (define-public cl-clx-truetype
940 (sbcl-package->cl-source-package sbcl-clx-truetype))
941
942 (define-public ecl-clx-truetype
943 (sbcl-package->ecl-package sbcl-clx-truetype))
944
945 (define-public sbcl-slynk
946 (let ((commit "0f46f91a9542599d62c0c332b39636b2941ea372"))
947 (package
948 (name "sbcl-slynk")
949 (version (git-version "1.0.43" "3" commit))
950 (source
951 (origin
952 (method git-fetch)
953 (uri
954 (git-reference
955 (url "https://github.com/joaotavora/sly")
956 (commit commit)))
957 (sha256
958 (base32 "0p3j0zylacy6vms8ngis2hx2351xnwfzsw3zy043q6vmqd14wrf1"))
959 (file-name (git-file-name "slynk" version))))
960 (build-system asdf-build-system/sbcl)
961 (outputs '("out" "image"))
962 (arguments
963 `(#:phases
964 (modify-phases %standard-phases
965 (add-after 'create-asdf-configuration 'build-image
966 (lambda* (#:key outputs #:allow-other-keys)
967 (build-image (string-append
968 (assoc-ref %outputs "image")
969 "/bin/slynk")
970 %outputs
971 #:dependencies '("slynk"
972 "slynk/arglists"
973 "slynk/fancy-inspector"
974 "slynk/package-fu"
975 "slynk/mrepl"
976 "slynk/trace-dialog"
977 "slynk/profiler"
978 "slynk/stickers"
979 "slynk/indentation"
980 "slynk/retro"))
981 #t)))))
982 (synopsis "Common Lisp IDE for Emacs")
983 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
984 It also features a completely redesigned REPL based on Emacs's own
985 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
986 button interface. Everything can be copied to the REPL. One can create
987 multiple inspectors with independent history.")
988 (home-page "https://github.com/joaotavora/sly")
989 (license license:public-domain)
990 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
991
992 (define-public cl-slynk
993 (sbcl-package->cl-source-package sbcl-slynk))
994
995 (define-public ecl-slynk
996 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
997 (package
998 (inherit pkg)
999 (outputs '("out"))
1000 (arguments
1001 (substitute-keyword-arguments (package-arguments pkg)
1002 ((#:phases phases)
1003 `(modify-phases ,phases
1004 (delete 'build-image))))))))
1005
1006 (define-public sbcl-parse-js
1007 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1008 (revision "1"))
1009 (package
1010 (name "sbcl-parse-js")
1011 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1012 (source
1013 (origin
1014 (method git-fetch)
1015 (uri (git-reference
1016 (url "http://marijn.haverbeke.nl/git/parse-js")
1017 (commit commit)))
1018 (file-name (string-append name "-" commit "-checkout"))
1019 (sha256
1020 (base32
1021 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1022 (build-system asdf-build-system/sbcl)
1023 (home-page "https://marijnhaverbeke.nl/parse-js/")
1024 (synopsis "Parse JavaScript")
1025 (description "Parse-js is a Common Lisp package for parsing
1026 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1027 (license license:zlib))))
1028
1029 (define-public cl-parse-js
1030 (sbcl-package->cl-source-package sbcl-parse-js))
1031
1032 (define-public ecl-parse-js
1033 (sbcl-package->ecl-package sbcl-parse-js))
1034
1035 (define-public sbcl-parse-number
1036 (package
1037 (name "sbcl-parse-number")
1038 (version "1.7")
1039 (source
1040 (origin
1041 (method git-fetch)
1042 (uri (git-reference
1043 (url "https://github.com/sharplispers/parse-number/")
1044 (commit (string-append "v" version))))
1045 (file-name (git-file-name name version))
1046 (sha256
1047 (base32
1048 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1049 (build-system asdf-build-system/sbcl)
1050 (home-page "https://www.cliki.net/PARSE-NUMBER")
1051 (synopsis "Parse numbers")
1052 (description "@code{parse-number} is a library of functions for parsing
1053 strings into one of the standard Common Lisp number types without using the
1054 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1055 the string into one of the standard Common Lisp number types, if possible, or
1056 else @code{parse-number} signals an error of type @code{invalid-number}.")
1057 (license license:bsd-3)))
1058
1059 (define-public cl-parse-number
1060 (sbcl-package->cl-source-package sbcl-parse-number))
1061
1062 (define-public ecl-parse-number
1063 (sbcl-package->ecl-package sbcl-parse-number))
1064
1065 (define-public sbcl-iterate
1066 (package
1067 (name "sbcl-iterate")
1068 (version "1.5")
1069 (source
1070 (origin
1071 (method url-fetch)
1072 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1073 "iterate-" version ".tar.gz"))
1074 (sha256
1075 (base32
1076 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1077 (build-system asdf-build-system/sbcl)
1078 (native-inputs
1079 `(("rt" ,sbcl-rt)))
1080 (home-page "https://common-lisp.net/project/iterate/")
1081 (synopsis "Iteration construct for Common Lisp")
1082 (description "@code{iterate} is an iteration construct for Common Lisp.
1083 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1084
1085 @itemize
1086 @item it is extensible,
1087 @item it helps editors like Emacs indent iterate forms by having a more
1088 lisp-like syntax, and
1089 @item it isn't part of the ANSI standard for Common Lisp.
1090 @end itemize\n")
1091 (license license:expat)))
1092
1093 (define-public cl-iterate
1094 (sbcl-package->cl-source-package sbcl-iterate))
1095
1096 (define-public ecl-iterate
1097 (sbcl-package->ecl-package sbcl-iterate))
1098
1099 (define-public sbcl-cl-uglify-js
1100 ;; There have been many bug fixes since the 2010 release.
1101 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1102 (revision "1"))
1103 (package
1104 (name "sbcl-cl-uglify-js")
1105 (version (string-append "0.1-" revision "." (string-take commit 9)))
1106 (source
1107 (origin
1108 (method git-fetch)
1109 (uri (git-reference
1110 (url "https://github.com/mishoo/cl-uglify-js")
1111 (commit commit)))
1112 (file-name (git-file-name name version))
1113 (sha256
1114 (base32
1115 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1116 (build-system asdf-build-system/sbcl)
1117 (inputs
1118 `(("sbcl-parse-js" ,sbcl-parse-js)
1119 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1120 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1121 ("sbcl-parse-number" ,sbcl-parse-number)
1122 ("sbcl-iterate" ,sbcl-iterate)))
1123 (home-page "https://github.com/mishoo/cl-uglify-js")
1124 (synopsis "JavaScript compressor library for Common Lisp")
1125 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1126 compressor. It works on data produced by @code{parse-js} to generate a
1127 @dfn{minified} version of the code. Currently it can:
1128
1129 @itemize
1130 @item reduce variable names (usually to single letters)
1131 @item join consecutive @code{var} statements
1132 @item resolve simple binary expressions
1133 @item group most consecutive statements using the @code{sequence} operator (comma)
1134 @item remove unnecessary blocks
1135 @item convert @code{IF} expressions in various ways that result in smaller code
1136 @item remove some unreachable code
1137 @end itemize\n")
1138 (license license:zlib))))
1139
1140 (define-public cl-uglify-js
1141 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1142
1143 (define-public ecl-cl-uglify-js
1144 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1145
1146 (define-public uglify-js
1147 (package
1148 (inherit sbcl-cl-uglify-js)
1149 (name "uglify-js")
1150 (build-system trivial-build-system)
1151 (arguments
1152 `(#:modules ((guix build utils))
1153 #:builder
1154 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1155 (script (string-append bin "uglify-js")))
1156 (use-modules (guix build utils))
1157 (mkdir-p bin)
1158 (with-output-to-file script
1159 (lambda _
1160 (format #t "#!~a/bin/sbcl --script
1161
1162 (require :asdf)
1163 (asdf:initialize-source-registry
1164 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1165 (asdf:initialize-output-translations
1166 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1167 (assoc-ref %build-inputs "sbcl")
1168 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1169 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1170 ;; FIXME: cannot use progn here because otherwise it fails to
1171 ;; find cl-uglify-js.
1172 (for-each
1173 write
1174 '(;; Quiet, please!
1175 (let ((*standard-output* (make-broadcast-stream))
1176 (*error-output* (make-broadcast-stream)))
1177 (asdf:load-system :cl-uglify-js))
1178 (let ((file (cadr *posix-argv*)))
1179 (if file
1180 (format t "~a"
1181 (cl-uglify-js:ast-gen-code
1182 (cl-uglify-js:ast-mangle
1183 (cl-uglify-js:ast-squeeze
1184 (with-open-file (in file)
1185 (parse-js:parse-js in))))
1186 :beautify nil))
1187 (progn
1188 (format *error-output*
1189 "Please provide a JavaScript file.~%")
1190 (sb-ext:exit :code 1))))))))
1191 (chmod script #o755)
1192 #t)))
1193 (inputs
1194 `(("sbcl" ,sbcl)
1195 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1196 (synopsis "JavaScript compressor")))
1197
1198 (define-public sbcl-cl-strings
1199 (let ((revision "1")
1200 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1201 (package
1202 (name "sbcl-cl-strings")
1203 (version (git-version "0.0.0" revision commit))
1204 (source
1205 (origin
1206 (method git-fetch)
1207 (uri (git-reference
1208 (url "https://github.com/diogoalexandrefranco/cl-strings")
1209 (commit commit)))
1210 (sha256
1211 (base32
1212 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1213 (file-name (string-append "cl-strings-" version "-checkout"))))
1214 (build-system asdf-build-system/sbcl)
1215 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1216 (description
1217 "@command{cl-strings} is a small, portable, dependency-free set of
1218 utilities that make it even easier to manipulate text in Common Lisp. It has
1219 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1220 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1221 (license license:expat))))
1222
1223 (define-public cl-strings
1224 (sbcl-package->cl-source-package sbcl-cl-strings))
1225
1226 (define-public ecl-cl-strings
1227 (sbcl-package->ecl-package sbcl-cl-strings))
1228
1229 (define-public sbcl-trivial-features
1230 ;; No release since 2014.
1231 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1232 (package
1233 (name "sbcl-trivial-features")
1234 (version (git-version "0.8" "1" commit))
1235 (source
1236 (origin
1237 (method git-fetch)
1238 (uri (git-reference
1239 (url "https://github.com/trivial-features/trivial-features")
1240 (commit commit)))
1241 (file-name (git-file-name "trivial-features" version))
1242 (sha256
1243 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1244 (build-system asdf-build-system/sbcl)
1245 (arguments
1246 '(#:asd-files '("trivial-features.asd")
1247 #:tests? #f))
1248 (home-page "https://cliki.net/trivial-features")
1249 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1250 (description "Trivial-features ensures that @code{*FEATURES*} is
1251 consistent across multiple Common Lisp implementations.")
1252 (license license:expat))))
1253
1254 (define-public cl-trivial-features
1255 (sbcl-package->cl-source-package sbcl-trivial-features))
1256
1257 (define-public ecl-trivial-features
1258 (sbcl-package->ecl-package sbcl-trivial-features))
1259
1260 (define-public sbcl-hu.dwim.asdf
1261 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1262 (package
1263 (name "sbcl-hu.dwim.asdf")
1264 (version "20200724")
1265 (source
1266 (origin
1267 (method git-fetch)
1268 (uri (git-reference
1269 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1270 (commit commit)))
1271 (file-name (git-file-name name version))
1272 (sha256
1273 (base32
1274 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1275 (build-system asdf-build-system/sbcl)
1276 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1277 (synopsis "Extensions to ASDF")
1278 (description "Various ASDF extensions such as attached test and
1279 documentation system, explicit development support, etc.")
1280 (license license:public-domain))))
1281
1282 (define-public cl-hu.dwim.asdf
1283 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1284
1285 (define-public ecl-hu.dwim.asdf
1286 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1287
1288 (define-public sbcl-hu.dwim.stefil
1289 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1290 (package
1291 (name "sbcl-hu.dwim.stefil")
1292 (version (git-version "0.0.0" "2" commit))
1293 (source
1294 (origin
1295 (method git-fetch)
1296 (uri
1297 (git-reference
1298 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1299 (commit commit)))
1300 (sha256
1301 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1302 (file-name (git-file-name "hu.dwim.stefil" version))))
1303 (build-system asdf-build-system/sbcl)
1304 (native-inputs
1305 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1306 (inputs
1307 `(("sbcl-alexandria" ,sbcl-alexandria)))
1308 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1309 (synopsis "Simple test framework")
1310 (description "Stefil is a simple test framework for Common Lisp,
1311 with a focus on interactive development.")
1312 (license license:public-domain))))
1313
1314 (define-public cl-hu.dwim.stefil
1315 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1316
1317 (define-public ecl-hu.dwim.stefil
1318 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1319
1320 (define-public sbcl-babel
1321 ;; No release since 2014.
1322 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1323 (package
1324 (name "sbcl-babel")
1325 (version (git-version "0.5.0" "1" commit))
1326 (source
1327 (origin
1328 (method git-fetch)
1329 (uri (git-reference
1330 (url "https://github.com/cl-babel/babel")
1331 (commit commit)))
1332 (file-name (git-file-name "babel" version))
1333 (sha256
1334 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1335 (build-system asdf-build-system/sbcl)
1336 (native-inputs
1337 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1338 (inputs
1339 `(("sbcl-alexandria" ,sbcl-alexandria)
1340 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1341 (home-page "https://common-lisp.net/project/babel/")
1342 (synopsis "Charset encoding and decoding library")
1343 (description "Babel is a charset encoding and decoding library, not unlike
1344 GNU libiconv, but completely written in Common Lisp.")
1345 (license license:expat))))
1346
1347 (define-public cl-babel
1348 (sbcl-package->cl-source-package sbcl-babel))
1349
1350 (define-public ecl-babel
1351 (sbcl-package->ecl-package sbcl-babel))
1352
1353 (define-public sbcl-cl-yacc
1354 (package
1355 (name "sbcl-cl-yacc")
1356 (version "0.3")
1357 (source
1358 (origin
1359 (method git-fetch)
1360 (uri (git-reference
1361 (url "https://github.com/jech/cl-yacc")
1362 (commit (string-append "cl-yacc-" version))))
1363 (sha256
1364 (base32
1365 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1366 (file-name (string-append "cl-yacc-" version "-checkout"))))
1367 (build-system asdf-build-system/sbcl)
1368 (arguments
1369 `(#:asd-systems '("yacc")))
1370 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1371 (description
1372 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1373 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1374
1375 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1376 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1377 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1378 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1379 (license license:expat)))
1380
1381 (define-public cl-yacc
1382 (sbcl-package->cl-source-package sbcl-cl-yacc))
1383
1384 (define-public ecl-cl-yacc
1385 (sbcl-package->ecl-package sbcl-cl-yacc))
1386
1387 (define-public sbcl-eager-future2
1388 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1389 (package
1390 (name "sbcl-eager-future2")
1391 (version (git-version "0.0.0" "1" commit))
1392 (source
1393 (origin
1394 (method git-fetch)
1395 (uri (git-reference
1396 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1397 (commit commit)))
1398 (file-name (git-file-name name version))
1399 (sha256
1400 (base32
1401 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1402 (build-system asdf-build-system/sbcl)
1403 (inputs
1404 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1405 ("trivial-garbage" ,sbcl-trivial-garbage)))
1406 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1407 (description
1408 "Eager Future2 is a Common Lisp library that provides composable
1409 concurrency primitives that unify parallel and lazy evaluation, are integrated
1410 with the Common Lisp condition system, and have automatic resource
1411 management.")
1412 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1413 (license license:lgpl3+))))
1414
1415 (define-public cl-eager-future2
1416 (sbcl-package->cl-source-package sbcl-eager-future2))
1417
1418 (define-public ecl-eager-future2
1419 (sbcl-package->ecl-package sbcl-eager-future2))
1420
1421 (define-public sbcl-jpl-util
1422 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1423 (package
1424 (name "sbcl-jpl-util")
1425 (version "20151005")
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 ;; Quicklisp uses this fork.
1431 (url "https://github.com/hawkir/cl-jpl-util")
1432 (commit commit)))
1433 (file-name
1434 (git-file-name "jpl-util" version))
1435 (sha256
1436 (base32
1437 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1438 (build-system asdf-build-system/sbcl)
1439 (synopsis "Collection of Common Lisp utility functions and macros")
1440 (description
1441 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1442 and macros, primarily for software projects written in CL by the author.")
1443 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1444 (license license:isc))))
1445
1446 (define-public cl-jpl-util
1447 (sbcl-package->cl-source-package sbcl-jpl-util))
1448
1449 (define-public ecl-jpl-util
1450 (sbcl-package->ecl-package sbcl-jpl-util))
1451
1452 (define-public sbcl-piping
1453 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1454 (revision "1"))
1455 (package
1456 (name "sbcl-piping")
1457 (version (git-version "2.0.0" revision commit))
1458 (source
1459 (origin
1460 (method git-fetch)
1461 (uri (git-reference
1462 (url "https://github.com/Shinmera/piping/")
1463 (commit commit)))
1464 (file-name (git-file-name "piping" version))
1465 (sha256
1466 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1467 (build-system asdf-build-system/sbcl)
1468 (home-page "https://shinmera.github.io/piping/")
1469 (synopsis "Library to enable simple message pipelines")
1470 (description
1471 "This is a Common Lisp library to enable simple message pipelines.")
1472 (license license:zlib))))
1473
1474 (define-public ecl-piping
1475 (sbcl-package->ecl-package sbcl-piping))
1476
1477 (define-public cl-piping
1478 (sbcl-package->cl-source-package sbcl-piping))
1479
1480 (define-public sbcl-cl-pcg
1481 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1482 (revision "1"))
1483 (package
1484 (name "sbcl-cl-pcg")
1485 (version (git-version "1.0.0" revision commit))
1486 (source
1487 (origin
1488 (method git-fetch)
1489 (uri (git-reference
1490 (url "https://github.com/sjl/cl-pcg")
1491 (commit commit)))
1492 (file-name (git-file-name "cl-pcg" version))
1493 (sha256
1494 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1495 (build-system asdf-build-system/sbcl)
1496 (native-inputs
1497 `(("1am" ,sbcl-1am)))
1498 (home-page "https://github.com/sjl/cl-pcg")
1499 (synopsis "Permuted congruential generators in Common Lisp")
1500 (description
1501 "This is a bare-bones Permuted Congruential Generator implementation in
1502 pure Common Lisp.")
1503 (license license:expat))))
1504
1505 (define-public ecl-cl-pcg
1506 (sbcl-package->ecl-package sbcl-cl-pcg))
1507
1508 (define-public cl-pcg
1509 (sbcl-package->cl-source-package sbcl-cl-pcg))
1510
1511 (define-public sbcl-seedable-rng
1512 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1513 (revision "1"))
1514 (package
1515 (name "sbcl-seedable-rng")
1516 (version (git-version "0.0.0" revision commit))
1517 (source
1518 (origin
1519 (method git-fetch)
1520 (uri (git-reference
1521 (url "https://git.mfiano.net/mfiano/seedable-rng")
1522 (commit commit)))
1523 (file-name (git-file-name "seedable-rng" version))
1524 (sha256
1525 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1526 (build-system asdf-build-system/sbcl)
1527 (inputs
1528 `(("cl-pcg" ,sbcl-cl-pcg)
1529 ("golden-utils" ,sbcl-golden-utils)
1530 ("ironclad" ,sbcl-ironclad)))
1531 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1532 (synopsis "Common Lisp random number generator")
1533 (description
1534 "SEEDABLE-RNG provides a convenient means of generating random numbers
1535 that are seedable with deterministic results across hardware and Common Lisp
1536 implementations.")
1537 (license license:expat))))
1538
1539 (define-public ecl-seedable-rng
1540 (sbcl-package->ecl-package sbcl-seedable-rng))
1541
1542 (define-public cl-seedable-rng
1543 (sbcl-package->cl-source-package sbcl-seedable-rng))
1544
1545 (define-public sbcl-jpl-queues
1546 (package
1547 (name "sbcl-jpl-queues")
1548 (version "0.1")
1549 (source
1550 (origin
1551 (method url-fetch)
1552 (uri (string-append
1553 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1554 version
1555 ".tar.gz"))
1556 (sha256
1557 (base32
1558 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1559 (build-system asdf-build-system/sbcl)
1560 (inputs
1561 `(("jpl-util" ,sbcl-jpl-util)
1562 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1563 (arguments
1564 ;; Tests seem to be broken.
1565 `(#:tests? #f))
1566 (synopsis "Common Lisp library implementing a few different kinds of queues")
1567 (description
1568 "A Common Lisp library implementing a few different kinds of queues:
1569
1570 @itemize
1571 @item Bounded and unbounded FIFO queues.
1572 @item Lossy bounded FIFO queues that drop elements when full.
1573 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1574 @end itemize
1575
1576 Additionally, a synchronization wrapper is provided to make any queue
1577 conforming to the @command{jpl-queues} API thread-safe for lightweight
1578 multithreading applications. (See Calispel for a more sophisticated CL
1579 multithreaded message-passing library with timeouts and alternation among
1580 several blockable channels.)")
1581 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1582 (license license:isc)))
1583
1584 (define-public cl-jpl-queues
1585 (sbcl-package->cl-source-package sbcl-jpl-queues))
1586
1587 (define-public ecl-jpl-queues
1588 (sbcl-package->ecl-package sbcl-jpl-queues))
1589
1590 (define-public sbcl-calispel
1591 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1592 (package
1593 (name "sbcl-calispel")
1594 (version (git-version "0.1" "1" commit))
1595 (source
1596 (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 ;; This fork replaces the dependency on the obsolete
1600 ;; eager-future with eager-future2.
1601 (url "https://github.com/hawkir/calispel")
1602 (commit commit)))
1603 (file-name (git-file-name name version))
1604 (sha256
1605 (base32
1606 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1607 (build-system asdf-build-system/sbcl)
1608 (inputs
1609 `(("jpl-queues" ,sbcl-jpl-queues)
1610 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1611 (native-inputs
1612 `(("eager-future2" ,sbcl-eager-future2)))
1613 (synopsis "Thread-safe message-passing channels in Common Lisp")
1614 (description
1615 "Calispel is a Common Lisp library for thread-safe message-passing
1616 channels, in the style of the occam programming language, also known as
1617 communicating sequential processes (CSP). See
1618 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1619
1620 Calispel channels let one thread communicate with another, facilitating
1621 unidirectional communication of any Lisp object. Channels may be unbuffered,
1622 where a sender waits for a receiver (or vice versa) before either operation can
1623 continue, or channels may be buffered with flexible policy options.
1624
1625 Because sending and receiving on a channel may block, either operation can time
1626 out after a specified amount of time.
1627
1628 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1629 @code{select()}): given a sequence of operations, any or all of which may
1630 block, alternation selects the first operation that doesn't block and executes
1631 associated code. Alternation can also time out, executing an \"otherwise\"
1632 clause if no operation becomes available within a set amount of time.
1633
1634 Calispel is a message-passing library, and as such leaves the role of
1635 threading abstractions and utilities left to be filled by complementary
1636 libraries such as Bordeaux-Threads and Eager Future.")
1637 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1638 (license license:isc))))
1639
1640 (define-public cl-calispel
1641 (sbcl-package->cl-source-package sbcl-calispel))
1642
1643 (define-public ecl-calispel
1644 (sbcl-package->ecl-package sbcl-calispel))
1645
1646 (define-public sbcl-eos
1647 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1648 (revision "2"))
1649 (package
1650 (name "sbcl-eos")
1651 (version (git-version "0.0.0" revision commit))
1652 (source
1653 (origin
1654 (method git-fetch)
1655 (uri (git-reference
1656 (url "https://github.com/adlai/Eos")
1657 (commit commit)))
1658 (sha256
1659 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1660 (file-name (git-file-name "eos" version))))
1661 (build-system asdf-build-system/sbcl)
1662 (synopsis "Unit Testing for Common Lisp")
1663 (description
1664 "Eos was a unit testing library for Common Lisp.
1665 It began as a fork of FiveAM; however, FiveAM development has continued, while
1666 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1667 (home-page "https://github.com/adlai/Eos")
1668 (license license:expat))))
1669
1670 (define-public cl-eos
1671 (sbcl-package->cl-source-package sbcl-eos))
1672
1673 (define-public ecl-eos
1674 (sbcl-package->ecl-package sbcl-eos))
1675
1676 (define-public sbcl-esrap
1677 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1678 (package
1679 (name "sbcl-esrap")
1680 (version (git-version "0.0.0" "1" commit))
1681 (source
1682 (origin
1683 (method git-fetch)
1684 (uri (git-reference
1685 (url "https://github.com/nikodemus/esrap")
1686 (commit commit)))
1687 (sha256
1688 (base32
1689 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1690 (file-name (git-file-name "esrap" version))))
1691 (build-system asdf-build-system/sbcl)
1692 (native-inputs
1693 `(("eos" ,sbcl-eos))) ;For testing only.
1694 (inputs
1695 `(("alexandria" ,sbcl-alexandria)))
1696 (synopsis "Common Lisp packrat parser")
1697 (description
1698 "A packrat parser for Common Lisp.
1699 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1700
1701 @itemize
1702 @item dynamic redefinition of nonterminals
1703 @item inline grammars
1704 @item semantic predicates
1705 @item introspective facilities (describing grammars, tracing, setting breaks)
1706 @end itemize\n")
1707 (home-page "https://nikodemus.github.io/esrap/")
1708 (license license:expat))))
1709
1710 (define-public cl-esrap
1711 (sbcl-package->cl-source-package sbcl-esrap))
1712
1713 (define-public ecl-esrap
1714 (sbcl-package->ecl-package sbcl-esrap))
1715
1716 (define-public sbcl-split-sequence
1717 (package
1718 (name "sbcl-split-sequence")
1719 (version "2.0.0")
1720 (source
1721 (origin
1722 (method git-fetch)
1723 (uri (git-reference
1724 (url "https://github.com/sharplispers/split-sequence")
1725 (commit (string-append "v" version))))
1726 (sha256
1727 (base32
1728 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1729 (file-name (git-file-name "split-sequence" version))))
1730 (build-system asdf-build-system/sbcl)
1731 (native-inputs
1732 `(("fiveam" ,sbcl-fiveam)))
1733 (synopsis "Member of the Common Lisp Utilities family of programs")
1734 (description
1735 "Splits sequence into a list of subsequences delimited by objects
1736 satisfying the test.")
1737 (home-page "https://cliki.net/split-sequence")
1738 (license license:expat)))
1739
1740 (define-public cl-split-sequence
1741 (sbcl-package->cl-source-package sbcl-split-sequence))
1742
1743 (define-public ecl-split-sequence
1744 (sbcl-package->ecl-package sbcl-split-sequence))
1745
1746 (define-public sbcl-html-encode
1747 (package
1748 (name "sbcl-html-encode")
1749 (version "1.2")
1750 (source
1751 (origin
1752 (method url-fetch)
1753 (uri (string-append
1754 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1755 version ".tgz"))
1756 (sha256
1757 (base32
1758 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1759 (file-name (string-append "colorize" version "-checkout"))))
1760 (build-system asdf-build-system/sbcl)
1761 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1762 (description
1763 "A library for encoding text in various web-savvy encodings.")
1764 (home-page "http://quickdocs.org/html-encode/")
1765 (license license:expat)))
1766
1767 (define-public cl-html-encode
1768 (sbcl-package->cl-source-package sbcl-html-encode))
1769
1770 (define-public ecl-html-encode
1771 (sbcl-package->ecl-package sbcl-html-encode))
1772
1773 (define-public sbcl-colorize
1774 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1775 (package
1776 (name "sbcl-colorize")
1777 (version (git-version "0.0.0" "1" commit))
1778 (source
1779 (origin
1780 (method git-fetch)
1781 (uri (git-reference
1782 (url "https://github.com/kingcons/colorize")
1783 (commit commit)))
1784 (sha256
1785 (base32
1786 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1787 (file-name (git-file-name "colorize" version))))
1788 (build-system asdf-build-system/sbcl)
1789 (inputs
1790 `(("alexandria" ,sbcl-alexandria)
1791 ("split-sequence" ,sbcl-split-sequence)
1792 ("html-encode" ,sbcl-html-encode)))
1793 (synopsis "Common Lisp for syntax highlighting")
1794 (description
1795 "@command{colorize} is a Lisp library for syntax highlighting
1796 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1797 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1798 (home-page "https://github.com/kingcons/colorize")
1799 ;; TODO: Missing license?
1800 (license license:expat))))
1801
1802 (define-public cl-colorize
1803 (sbcl-package->cl-source-package sbcl-colorize))
1804
1805 (define-public ecl-colorize
1806 (sbcl-package->ecl-package sbcl-colorize))
1807
1808 (define-public sbcl-3bmd
1809 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1810 (revision "2"))
1811 (package
1812 (name "sbcl-3bmd")
1813 (version (git-version "0.0.0" revision commit))
1814 (source
1815 (origin
1816 (method git-fetch)
1817 (uri (git-reference
1818 (url "https://github.com/3b/3bmd")
1819 (commit commit)))
1820 (sha256
1821 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1822 (file-name (git-file-name "3bmd" version))))
1823 (build-system asdf-build-system/sbcl)
1824 (arguments
1825 ;; FIXME: #41437 - Build fails when package name starts from a digit
1826 `(#:asd-systems
1827 '("3bmd"
1828 "3bmd-ext-definition-lists"
1829 "3bmd-ext-math"
1830 "3bmd-ext-tables"
1831 "3bmd-ext-wiki-links"
1832 "3bmd-youtube"
1833 "3bmd-ext-code-blocks")))
1834 (inputs
1835 `(("alexandria" ,sbcl-alexandria)
1836 ("colorize" ,sbcl-colorize)
1837 ("esrap" ,sbcl-esrap)
1838 ("split-sequence" ,sbcl-split-sequence)))
1839 (home-page "https://github.com/3b/3bmd")
1840 (synopsis "Markdown processor in Command Lisp using esrap parser")
1841 (description
1842 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1843 for parsing, and grammar based on @command{peg-markdown}.")
1844 (license license:expat))))
1845
1846 (define-public cl-3bmd
1847 (sbcl-package->cl-source-package sbcl-3bmd))
1848
1849 (define-public ecl-3bmd
1850 (sbcl-package->ecl-package sbcl-3bmd))
1851
1852 (define-public sbcl-cl-fad
1853 (package
1854 (name "sbcl-cl-fad")
1855 (version "0.7.6")
1856 (source
1857 (origin
1858 (method git-fetch)
1859 (uri (git-reference
1860 (url "https://github.com/edicl/cl-fad/")
1861 (commit (string-append "v" version))))
1862 (sha256
1863 (base32
1864 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1865 (file-name (string-append "cl-fad" version "-checkout"))))
1866 (build-system asdf-build-system/sbcl)
1867 (inputs
1868 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1869 (synopsis "Portable pathname library for Common Lisp")
1870 (description
1871 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1872 Lisp's standard pathname functions. It is intended to provide some
1873 unification between current CL implementations on Windows, OS X, Linux, and
1874 Unix. Most of the code was written by Peter Seibel for his book Practical
1875 Common Lisp.")
1876 (home-page "https://edicl.github.io/cl-fad/")
1877 (license license:bsd-2)))
1878
1879 (define-public cl-fad
1880 (sbcl-package->cl-source-package sbcl-cl-fad))
1881
1882 (define-public ecl-cl-fad
1883 (sbcl-package->ecl-package sbcl-cl-fad))
1884
1885 (define-public sbcl-fn
1886 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1887 (revision "1"))
1888 (package
1889 (name "sbcl-fn")
1890 (version (git-version "0.0.0" revision commit))
1891 (source
1892 (origin
1893 (method git-fetch)
1894 (uri (git-reference
1895 (url "https://github.com/cbaggers/fn")
1896 (commit commit)))
1897 (file-name (git-file-name "fn" version))
1898 (sha256
1899 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1900 (build-system asdf-build-system/sbcl)
1901 (inputs
1902 `(("named-readtables" ,sbcl-named-readtables)))
1903 (home-page "https://github.com/cbaggers/fn")
1904 (synopsis "Macros for lambda brevity")
1905 (description
1906 "This is a Common Lisp library providing lambda shorthand macros aiming
1907 to be used in cases where the word @emph{lambda} and the arguments are longer
1908 than the body of the lambda.")
1909 (license license:public-domain))))
1910
1911 (define-public ecl-fn
1912 (sbcl-package->ecl-package sbcl-fn))
1913
1914 (define-public cl-fn
1915 (sbcl-package->cl-source-package sbcl-fn))
1916
1917 (define-public sbcl-rt
1918 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1919 (revision "1"))
1920 (package
1921 (name "sbcl-rt")
1922 (version (git-version "1990.12.19" revision commit))
1923 (source
1924 (origin
1925 (method git-fetch)
1926 (uri (git-reference
1927 (url "http://git.kpe.io/rt.git")
1928 (commit commit)))
1929 (file-name (git-file-name name version))
1930 (sha256
1931 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1932 (build-system asdf-build-system/sbcl)
1933 (synopsis "MIT Regression Tester")
1934 (description
1935 "RT provides a framework for writing regression test suites.")
1936 (home-page "https://www.cliki.net/rt")
1937 (license license:expat))))
1938
1939 (define-public cl-rt
1940 (sbcl-package->cl-source-package sbcl-rt))
1941
1942 (define-public ecl-rt
1943 (sbcl-package->ecl-package sbcl-rt))
1944
1945 (define-public sbcl-nibbles
1946 ;; No tagged release since 2018.
1947 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1948 (revision "1"))
1949 (package
1950 (name "sbcl-nibbles")
1951 (version (git-version "0.14" revision commit))
1952 (source
1953 (origin
1954 (method git-fetch)
1955 (uri (git-reference
1956 (url "https://github.com/sharplispers/nibbles/")
1957 (commit commit)))
1958 (sha256
1959 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1960 (file-name (git-file-name "nibbles" version))))
1961 (build-system asdf-build-system/sbcl)
1962 (native-inputs
1963 ;; Tests only.
1964 `(("rt" ,sbcl-rt)))
1965 (synopsis
1966 "Common Lisp library for accessing octet-addressed blocks of data")
1967 (description
1968 "When dealing with network protocols and file formats, it's common to
1969 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1970 flavors. Common Lisp sort of supports this by specifying :element-type for
1971 streams, but that facility is underspecified and there's nothing similar for
1972 read/write from octet vectors. What most people wind up doing is rolling their
1973 own small facility for their particular needs and calling it a day.
1974
1975 This library attempts to be comprehensive and centralize such
1976 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1977 vectors in signed or unsigned flavors are provided; these functions are also
1978 SETFable. Since it's sometimes desirable to read/write directly from streams,
1979 functions for doing so are also provided. On some implementations,
1980 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1981 also be supported.")
1982 (home-page "https://github.com/sharplispers/nibbles")
1983 (license license:bsd-3))))
1984
1985 (define-public cl-nibbles
1986 (sbcl-package->cl-source-package sbcl-nibbles))
1987
1988 (define-public ecl-nibbles
1989 (sbcl-package->ecl-package sbcl-nibbles))
1990
1991 (define-public sbcl-ironclad
1992 (package
1993 (name "sbcl-ironclad")
1994 (version "0.54")
1995 (source
1996 (origin
1997 (method git-fetch)
1998 (uri (git-reference
1999 (url "https://github.com/sharplispers/ironclad/")
2000 (commit (string-append "v" version))))
2001 (sha256
2002 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
2003 (file-name (git-file-name name version))))
2004 (build-system asdf-build-system/sbcl)
2005 (native-inputs
2006 ;; Tests only.
2007 `(("rt" ,sbcl-rt)))
2008 (inputs
2009 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2010 ("flexi-streams" ,sbcl-flexi-streams)))
2011 (synopsis "Cryptographic toolkit written in Common Lisp")
2012 (description
2013 "Ironclad is a cryptography library written entirely in Common Lisp.
2014 It includes support for several popular ciphers, digests, MACs and public key
2015 cryptography algorithms. For several implementations that support Gray
2016 streams, support is included for convenient stream wrappers.")
2017 (home-page "https://github.com/sharplispers/ironclad")
2018 (license license:bsd-3)))
2019
2020 (define-public cl-ironclad
2021 (sbcl-package->cl-source-package sbcl-ironclad))
2022
2023 (define-public ecl-ironclad
2024 (sbcl-package->ecl-package sbcl-ironclad))
2025
2026 (define-public sbcl-named-readtables
2027 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2028 (revision "3"))
2029 (package
2030 (name "sbcl-named-readtables")
2031 (version (git-version "0.9" revision commit))
2032 (source
2033 (origin
2034 (method git-fetch)
2035 (uri (git-reference
2036 (url "https://github.com/melisgl/named-readtables")
2037 (commit commit)))
2038 (sha256
2039 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2040 (file-name (git-file-name "named-readtables" version))))
2041 (build-system asdf-build-system/sbcl)
2042 (home-page "https://github.com/melisgl/named-readtables/")
2043 (synopsis "Library that creates a namespace for named readtables")
2044 (description
2045 "Named readtables is a library that creates a namespace for named
2046 readtables, which is akin to package namespacing in Common Lisp.")
2047 (license license:bsd-3))))
2048
2049 (define-public cl-named-readtables
2050 (sbcl-package->cl-source-package sbcl-named-readtables))
2051
2052 (define-public ecl-named-readtables
2053 (sbcl-package->ecl-package sbcl-named-readtables))
2054
2055 (define-public sbcl-py-configparser
2056 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2057 ;; time 8y ago, it looks like abandoned. VCS of the project:
2058 ;; https://svn.common-lisp.net/py-configparser/trunk
2059 (package
2060 (name "sbcl-py-configparser")
2061 (version "1.0.3")
2062 (source
2063 (origin
2064 (method url-fetch)
2065 (uri (string-append
2066 "https://common-lisp.net/project/py-configparser/releases/"
2067 "py-configparser-" version ".tar.gz"))
2068 (sha256
2069 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2070 (build-system asdf-build-system/sbcl)
2071 (inputs
2072 `(("parse-number" ,sbcl-parse-number)))
2073 (home-page "http://common-lisp.net/project/py-configparser/")
2074 (synopsis "ConfigParser Python module functionality for Common Lisp")
2075 (description "The py-configparser package implements the ConfigParser
2076 Python module functionality in Common Lisp. In short, it implements reading
2077 and writing of .INI-file style configuration files with sections containing
2078 key/value pairs of configuration options. In line with the functionalities in
2079 the python module, does this package implement basic interpolation of option
2080 values in other options.")
2081 (license license:expat)))
2082
2083 (define-public cl-py-configparser
2084 (sbcl-package->cl-source-package sbcl-py-configparser))
2085
2086 (define-public ecl-py-configparser
2087 (sbcl-package->ecl-package sbcl-py-configparser))
2088
2089 (define-public sbcl-pythonic-string-reader
2090 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2091 (package
2092 (name "sbcl-pythonic-string-reader")
2093 (version (git-version "0.0.0" "1" commit))
2094 (source
2095 (origin
2096 (method git-fetch)
2097 (uri (git-reference
2098 (url "https://github.com/smithzvk/pythonic-string-reader/")
2099 (commit commit)))
2100 (sha256
2101 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2102 (file-name (git-file-name "pythonic-string-reader" version))))
2103 (build-system asdf-build-system/sbcl)
2104 (inputs
2105 `(("named-readtables" ,sbcl-named-readtables)))
2106 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2107 (synopsis "Read table modification inspired by Python's three quote strings")
2108 (description "This piece of code sets up some reader macros that make it
2109 simpler to input string literals which contain backslashes and double quotes
2110 This is very useful for writing complicated docstrings and, as it turns out,
2111 writing code that contains string literals that contain code themselves.")
2112 (license license:bsd-3))))
2113
2114 (define-public cl-pythonic-string-reader
2115 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2116
2117 (define-public ecl-pythonic-string-reader
2118 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2119
2120 (define-public sbcl-slime-swank
2121 (package
2122 (name "sbcl-slime-swank")
2123 (version "2.26")
2124 (source
2125 (origin
2126 (file-name (git-file-name "slime-swank" version))
2127 (method git-fetch)
2128 (uri (git-reference
2129 (url "https://github.com/slime/slime/")
2130 (commit (string-append "v" version))))
2131 (sha256
2132 (base32
2133 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2134 (build-system asdf-build-system/sbcl)
2135 (arguments
2136 '(#:asd-systems '("swank")))
2137 (home-page "https://github.com/slime/slime")
2138 (synopsis "Common Lisp Swank server")
2139 (description
2140 "This is only useful if you want to start a Swank server in a Lisp
2141 processes that doesn't run under Emacs. Lisp processes created by
2142 @command{M-x slime} automatically start the server.")
2143 (license (list license:gpl2+ license:public-domain))))
2144
2145 (define-public cl-slime-swank
2146 (sbcl-package->cl-source-package sbcl-slime-swank))
2147
2148 (define-public ecl-slime-swank
2149 (sbcl-package->ecl-package sbcl-slime-swank))
2150
2151 (define-public sbcl-mgl-pax
2152 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2153 (revision "2"))
2154 (package
2155 (name "sbcl-mgl-pax")
2156 (version (git-version "0.0.3" revision commit))
2157 (source
2158 (origin
2159 (method git-fetch)
2160 (uri (git-reference
2161 (url "https://github.com/melisgl/mgl-pax")
2162 (commit commit)))
2163 (sha256
2164 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2165 (file-name (git-file-name "mgl-pax" version))))
2166 (build-system asdf-build-system/sbcl)
2167 (inputs
2168 `(("3bmd" ,sbcl-3bmd)
2169 ("babel" ,sbcl-babel)
2170 ("cl-fad" ,sbcl-cl-fad)
2171 ("ironclad" ,sbcl-ironclad)
2172 ("named-readtables" ,sbcl-named-readtables)
2173 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2174 ("swank" ,sbcl-slime-swank)))
2175 (synopsis "Exploratory programming environment and documentation generator")
2176 (description
2177 "PAX provides an extremely poor man's Explorable Programming
2178 environment. Narrative primarily lives in so called sections that mix markdown
2179 docstrings with references to functions, variables, etc, all of which should
2180 probably have their own docstrings.
2181
2182 The primary focus is on making code easily explorable by using SLIME's
2183 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2184 fanciness in Emacs Integration. Generating documentation from sections and all
2185 the referenced items in Markdown or HTML format is also implemented.
2186
2187 With the simplistic tools provided, one may accomplish similar effects as with
2188 Literate Programming, but documentation is generated from code, not vice versa
2189 and there is no support for chunking yet. Code is first, code must look
2190 pretty, documentation is code.")
2191 (home-page "http://quotenil.com/")
2192 (license license:expat))))
2193
2194 (define-public cl-mgl-pax
2195 (sbcl-package->cl-source-package sbcl-mgl-pax))
2196
2197 (define-public ecl-mgl-pax
2198 (sbcl-package->ecl-package sbcl-mgl-pax))
2199
2200 (define-public sbcl-mssql
2201 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2202 (revision "1"))
2203 (package
2204 (name "sbcl-mssql")
2205 (version (git-version "0.0.3" revision commit))
2206 (source
2207 (origin
2208 (method git-fetch)
2209 (uri (git-reference
2210 (url "https://github.com/archimag/cl-mssql")
2211 (commit commit)))
2212 (file-name (git-file-name "cl-mssql" version))
2213 (sha256
2214 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2215 (build-system asdf-build-system/sbcl)
2216 (inputs
2217 `(("cffi" ,sbcl-cffi)
2218 ("freetds" ,freetds)
2219 ("garbage-pools" ,sbcl-garbage-pools)
2220 ("iterate" ,sbcl-iterate)
2221 ("parse-number" ,sbcl-parse-number)))
2222 (arguments
2223 `(#:phases
2224 (modify-phases %standard-phases
2225 (add-after 'unpack 'fix-paths
2226 (lambda* (#:key inputs #:allow-other-keys)
2227 (substitute* "src/mssql.lisp"
2228 (("libsybdb" all)
2229 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2230 #t)))))
2231 (home-page "https://github.com/archimag/cl-mssql")
2232 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2233 (description
2234 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2235 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2236 project.")
2237 (license license:llgpl))))
2238
2239 (define-public ecl-mssql
2240 (sbcl-package->ecl-package sbcl-mssql))
2241
2242 (define-public cl-mssql
2243 (sbcl-package->cl-source-package sbcl-mssql))
2244
2245 (define-public sbcl-lisp-unit
2246 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2247 (package
2248 (name "sbcl-lisp-unit")
2249 (version (git-version "0.0.0" "1" commit))
2250 (source
2251 (origin
2252 (method git-fetch)
2253 (uri (git-reference
2254 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2255 (commit commit)))
2256 (sha256
2257 (base32
2258 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2259 (file-name (git-file-name "lisp-unit" version))))
2260 (build-system asdf-build-system/sbcl)
2261 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2262 (description
2263 "@command{lisp-unit} is a Common Lisp library that supports unit
2264 testing. It is an extension of the library written by Chris Riesbeck.")
2265 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2266 (license license:expat))))
2267
2268 (define-public cl-lisp-unit
2269 (sbcl-package->cl-source-package sbcl-lisp-unit))
2270
2271 (define-public ecl-lisp-unit
2272 (sbcl-package->ecl-package sbcl-lisp-unit))
2273
2274 (define-public sbcl-anaphora
2275 (package
2276 (name "sbcl-anaphora")
2277 (version "0.9.6")
2278 (source
2279 (origin
2280 (method git-fetch)
2281 (uri (git-reference
2282 (url "https://github.com/tokenrove/anaphora")
2283 (commit version)))
2284 (sha256
2285 (base32
2286 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2287 (file-name (git-file-name "anaphora" version))))
2288 (build-system asdf-build-system/sbcl)
2289 (native-inputs
2290 `(("rt" ,sbcl-rt)))
2291 (synopsis "The anaphoric macro collection from Hell")
2292 (description
2293 "Anaphora is the anaphoric macro collection from Hell: it includes many
2294 new fiends in addition to old friends like @command{aif} and
2295 @command{awhen}.")
2296 (home-page "https://github.com/tokenrove/anaphora")
2297 (license license:public-domain)))
2298
2299 (define-public cl-anaphora
2300 (sbcl-package->cl-source-package sbcl-anaphora))
2301
2302 (define-public ecl-anaphora
2303 (sbcl-package->ecl-package sbcl-anaphora))
2304
2305 (define-public sbcl-lift
2306 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2307 (revision "2"))
2308 (package
2309 (name "sbcl-lift")
2310 (version (git-version "1.7.1" revision commit))
2311 (source
2312 (origin
2313 (method git-fetch)
2314 (uri (git-reference
2315 (url "https://github.com/gwkkwg/lift")
2316 (commit commit)))
2317 (sha256
2318 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2319 (file-name (git-file-name "lift" version))
2320 (modules '((guix build utils)))
2321 (snippet
2322 ;; Don't keep the bundled website
2323 `(begin
2324 (delete-file-recursively "website")
2325 #t))))
2326 (build-system asdf-build-system/sbcl)
2327 (arguments
2328 ;; The tests require a debugger, but we run with the debugger disabled.
2329 '(#:tests? #f))
2330 (synopsis "LIsp Framework for Testing")
2331 (description
2332 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2333 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2334 testcases are organized into hierarchical testsuites each of which can have
2335 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2336 supports randomized testing, benchmarking, profiling, and reporting.")
2337 (home-page "https://github.com/gwkkwg/lift")
2338 (license license:expat))))
2339
2340 (define-public cl-lift
2341 (sbcl-package->cl-source-package sbcl-lift))
2342
2343 (define-public ecl-lift
2344 (sbcl-package->ecl-package sbcl-lift))
2345
2346 (define-public sbcl-let-plus
2347 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2348 (package
2349 (name "sbcl-let-plus")
2350 (version (git-version "0.0.0" "1" commit))
2351 (source
2352 (origin
2353 (method git-fetch)
2354 (uri (git-reference
2355 (url "https://github.com/sharplispers/let-plus")
2356 (commit commit)))
2357 (sha256
2358 (base32
2359 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2360 (file-name (git-file-name "let-plus" version))))
2361 (build-system asdf-build-system/sbcl)
2362 (inputs
2363 `(("alexandria" ,sbcl-alexandria)
2364 ("anaphora" ,sbcl-anaphora)))
2365 (native-inputs
2366 `(("lift" ,sbcl-lift)))
2367 (synopsis "Destructuring extension of let*")
2368 (description
2369 "This library implements the let+ macro, which is a dectructuring
2370 extension of let*. It features:
2371
2372 @itemize
2373 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2374 not counting tests)
2375 @item Placeholder macros allow editor hints and syntax highlighting
2376 @item @command{&ign} for ignored values (in forms where that makes sense)
2377 @item Very easy to extend
2378 @end itemize\n")
2379 (home-page "https://github.com/sharplispers/let-plus")
2380 (license license:boost1.0))))
2381
2382 (define-public cl-let-plus
2383 (sbcl-package->cl-source-package sbcl-let-plus))
2384
2385 (define-public ecl-let-plus
2386 (sbcl-package->ecl-package sbcl-let-plus))
2387
2388 (define-public sbcl-cl-colors
2389 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2390 (package
2391 (name "sbcl-cl-colors")
2392 (version (git-version "0.0.0" "1" commit))
2393 (source
2394 (origin
2395 (method git-fetch)
2396 (uri (git-reference
2397 (url "https://github.com/tpapp/cl-colors")
2398 (commit commit)))
2399 (sha256
2400 (base32
2401 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2402 (file-name (git-file-name "cl-colors" version))))
2403 (build-system asdf-build-system/sbcl)
2404 (inputs
2405 `(("alexandria" ,sbcl-alexandria)
2406 ("let-plus" ,sbcl-let-plus)))
2407 (synopsis "Simple color library for Common Lisp")
2408 (description
2409 "This is a very simple color library for Common Lisp, providing
2410
2411 @itemize
2412 @item Types for representing colors in HSV and RGB spaces.
2413 @item Simple conversion functions between the above types (and also
2414 hexadecimal representation for RGB).
2415 @item Some predefined colors (currently X11 color names – of course the
2416 library does not depend on X11).Because color in your terminal is nice.
2417 @end itemize
2418
2419 This library is no longer supported by its author.")
2420 (home-page "https://github.com/tpapp/cl-colors")
2421 (license license:boost1.0))))
2422
2423 (define-public cl-colors
2424 (sbcl-package->cl-source-package sbcl-cl-colors))
2425
2426 (define-public ecl-cl-colors
2427 (sbcl-package->ecl-package sbcl-cl-colors))
2428
2429 (define-public sbcl-cl-ansi-text
2430 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2431 (package
2432 (name "sbcl-cl-ansi-text")
2433 (version (git-version "1.0.0" "1" commit))
2434 (source
2435 (origin
2436 (method git-fetch)
2437 (uri (git-reference
2438 (url "https://github.com/pnathan/cl-ansi-text")
2439 (commit commit)))
2440 (sha256
2441 (base32
2442 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2443 (file-name (git-file-name "cl-ansi-text" version))))
2444 (build-system asdf-build-system/sbcl)
2445 (inputs
2446 `(("alexandria" ,sbcl-alexandria)
2447 ("cl-colors" ,sbcl-cl-colors)))
2448 (native-inputs
2449 `(("fiveam" ,sbcl-fiveam)))
2450 (synopsis "ANSI terminal color implementation for Common Lisp")
2451 (description
2452 "@command{cl-ansi-text} provides utilities which enable printing to an
2453 ANSI terminal with colored text. It provides the macro @command{with-color}
2454 which causes everything printed in the body to be displayed with the provided
2455 color. It further provides functions which will print the argument with the
2456 named color.")
2457 (home-page "https://github.com/pnathan/cl-ansi-text")
2458 (license license:llgpl))))
2459
2460 (define-public cl-ansi-text
2461 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2462
2463 (define-public ecl-cl-ansi-text
2464 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2465
2466 (define-public sbcl-prove
2467 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2468 (package
2469 (name "sbcl-prove")
2470 (version (git-version "1.0.0" "1" commit))
2471 (source
2472 (origin
2473 (method git-fetch)
2474 (uri (git-reference
2475 (url "https://github.com/fukamachi/prove")
2476 (commit commit)))
2477 (sha256
2478 (base32
2479 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2480 (file-name (git-file-name "prove" version))))
2481 (build-system asdf-build-system/sbcl)
2482 (inputs
2483 `(("alexandria" ,sbcl-alexandria)
2484 ("cl-ppcre" ,sbcl-cl-ppcre)
2485 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2486 (synopsis "Yet another unit testing framework for Common Lisp")
2487 (description
2488 "This project was originally called @command{cl-test-more}.
2489 @command{prove} is yet another unit testing framework for Common Lisp. The
2490 advantages of @command{prove} are:
2491
2492 @itemize
2493 @item Various simple functions for testing and informative error messages
2494 @item ASDF integration
2495 @item Extensible test reporters
2496 @item Colorizes the report if it's available (note for SLIME)
2497 @item Reports test durations
2498 @end itemize\n")
2499 (home-page "https://github.com/fukamachi/prove")
2500 (license license:expat))))
2501
2502 (define-public cl-prove
2503 (sbcl-package->cl-source-package sbcl-prove))
2504
2505 (define-public ecl-prove
2506 (sbcl-package->ecl-package sbcl-prove))
2507
2508 (define-public sbcl-proc-parse
2509 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2510 (package
2511 (name "sbcl-proc-parse")
2512 (version (git-version "0.0.0" "1" commit))
2513 (source
2514 (origin
2515 (method git-fetch)
2516 (uri (git-reference
2517 (url "https://github.com/fukamachi/proc-parse")
2518 (commit commit)))
2519 (sha256
2520 (base32
2521 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2522 (file-name (git-file-name "proc-parse" version))))
2523 (build-system asdf-build-system/sbcl)
2524 (inputs
2525 `(("alexandria" ,sbcl-alexandria)
2526 ("babel" ,sbcl-babel)))
2527 (native-inputs
2528 `(("prove" ,sbcl-prove)))
2529 (arguments
2530 ;; TODO: Tests don't find "proc-parse-test", why?
2531 `(#:tests? #f))
2532 (synopsis "Procedural vector parser")
2533 (description
2534 "This is a string/octets parser library for Common Lisp with speed and
2535 readability in mind. Unlike other libraries, the code is not a
2536 pattern-matching-like, but a char-by-char procedural parser.")
2537 (home-page "https://github.com/fukamachi/proc-parse")
2538 (license license:bsd-2))))
2539
2540 (define-public cl-proc-parse
2541 (sbcl-package->cl-source-package sbcl-proc-parse))
2542
2543 (define-public ecl-proc-parse
2544 (sbcl-package->ecl-package sbcl-proc-parse))
2545
2546 (define-public sbcl-parse-float
2547 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2548 (revision "2"))
2549 (package
2550 (name "sbcl-parse-float")
2551 (version (git-version "0.0.0" revision commit))
2552 (source
2553 (origin
2554 (method git-fetch)
2555 (uri (git-reference
2556 (url "https://github.com/soemraws/parse-float")
2557 (commit commit)))
2558 (sha256
2559 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2560 (file-name (git-file-name "proc-parse" version))))
2561 (build-system asdf-build-system/sbcl)
2562 (arguments
2563 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2564 `(#:asd-systems '("parse-float" "parse-float-tests")))
2565 (native-inputs
2566 `(("lisp-unit" ,sbcl-lisp-unit)))
2567 (inputs
2568 `(("alexandria" ,sbcl-alexandria)))
2569 (home-page "https://github.com/soemraws/parse-float")
2570 (synopsis "Parse a floating point value from a string in Common Lisp")
2571 (description
2572 "This package exports the following function to parse floating-point
2573 values from a string in Common Lisp.")
2574 (license license:public-domain))))
2575
2576 (define-public cl-parse-float
2577 (sbcl-package->cl-source-package sbcl-parse-float))
2578
2579 (define-public ecl-parse-float
2580 (sbcl-package->ecl-package sbcl-parse-float))
2581
2582 (define-public sbcl-cl-string-match
2583 (let ((revision "1")
2584 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2585 (package
2586 (name "sbcl-cl-string-match")
2587 (version (git-version "0" revision changeset))
2588 (source
2589 (origin
2590 (method hg-fetch)
2591 (uri (hg-reference
2592 (url "https://bitbucket.org/vityok/cl-string-match/")
2593 (changeset changeset)))
2594 (sha256
2595 (base32
2596 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2597 (file-name (git-file-name "cl-string-match" version))))
2598 (build-system asdf-build-system/sbcl)
2599 (inputs
2600 `(("alexandria" ,sbcl-alexandria)
2601 ("babel" ,sbcl-babel)
2602 ("iterate" ,sbcl-iterate)
2603 ("jpl-queues" ,sbcl-jpl-queues)
2604 ("jpl-util" ,sbcl-jpl-util)
2605 ("mgl-pax" ,sbcl-mgl-pax)
2606 ("parse-float" ,sbcl-parse-float)
2607 ("proc-parse" ,sbcl-proc-parse)
2608 ("yacc" ,sbcl-cl-yacc)))
2609 ;; TODO: Tests are not evaluated properly.
2610 (native-inputs
2611 ;; For testing:
2612 `(("lisp-unit" ,sbcl-lisp-unit)))
2613 (arguments
2614 `(#:tests? #f))
2615 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2616 (description
2617 "@command{cl-strings} is a small, portable, dependency-free set of
2618 utilities that make it even easier to manipulate text in Common Lisp. It has
2619 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2620 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2621 (license license:bsd-3))))
2622
2623 (define-public cl-string-match
2624 (sbcl-package->cl-source-package sbcl-cl-string-match))
2625
2626 (define-public ecl-cl-string-match
2627 (sbcl-package->ecl-package sbcl-cl-string-match))
2628
2629 (define-public sbcl-ptester
2630 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2631 (revision "1"))
2632 (package
2633 (name "sbcl-ptester")
2634 (version (git-version "2.1.3" revision commit))
2635 (source
2636 (origin
2637 (method git-fetch)
2638 (uri (git-reference
2639 (url "http://git.kpe.io/ptester.git")
2640 (commit commit)))
2641 (file-name (git-file-name name version))
2642 (sha256
2643 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2644 (build-system asdf-build-system/sbcl)
2645 (home-page "http://quickdocs.org/ptester/")
2646 (synopsis "Portable test harness package")
2647 (description
2648 "@command{ptester} is a portable testing framework based on Franz's
2649 tester module.")
2650 (license license:llgpl))))
2651
2652 (define-public cl-ptester
2653 (sbcl-package->cl-source-package sbcl-ptester))
2654
2655 (define-public ecl-ptester
2656 (sbcl-package->ecl-package sbcl-ptester))
2657
2658 (define-public sbcl-puri
2659 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2660 (revision "2"))
2661 (package
2662 (name "sbcl-puri")
2663 (version (git-version "1.5.7" revision commit))
2664 (source
2665 (origin
2666 (method git-fetch)
2667 (uri (git-reference
2668 (url "http://git.kpe.io/puri.git")
2669 (commit commit)))
2670 (file-name (git-file-name "puri" version))
2671 (sha256
2672 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2673 (build-system asdf-build-system/sbcl)
2674 (native-inputs
2675 `(("ptester" ,sbcl-ptester)))
2676 (home-page "http://puri.kpe.io/")
2677 (synopsis "Portable URI Library")
2678 (description
2679 "This is a portable Universal Resource Identifier library for Common
2680 Lisp programs. It parses URI according to the RFC 2396 specification.")
2681 (license license:llgpl))))
2682
2683 (define-public cl-puri
2684 (sbcl-package->cl-source-package sbcl-puri))
2685
2686 (define-public ecl-puri
2687 (sbcl-package->ecl-package sbcl-puri))
2688
2689 (define-public sbcl-qmynd
2690 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2691 (revision "1"))
2692 (package
2693 (name "sbcl-qmynd")
2694 (version (git-version "1.0.0" revision commit))
2695 (source
2696 (origin
2697 (method git-fetch)
2698 (uri (git-reference
2699 (url "https://github.com/qitab/qmynd")
2700 (commit commit)))
2701 (file-name (git-file-name name version))
2702 (sha256
2703 (base32
2704 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2705 (build-system asdf-build-system/sbcl)
2706 (inputs
2707 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2708 ("babel" ,sbcl-babel)
2709 ("chipz" ,sbcl-chipz)
2710 ("cl+ssl" ,sbcl-cl+ssl)
2711 ("flexi-streams" ,sbcl-flexi-streams)
2712 ("ironclad" ,sbcl-ironclad)
2713 ("salza2" ,sbcl-salza2)
2714 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2715 ("usocket" ,sbcl-usocket)))
2716 (home-page "https://github.com/qitab/qmynd")
2717 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2718 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2719 library that directly talks to a MySQL server in its native network protocol.
2720
2721 It's a part of QITAB umbrella project.")
2722 (license license:expat))))
2723
2724 (define-public ecl-qmynd
2725 (sbcl-package->ecl-package sbcl-qmynd))
2726
2727 (define-public cl-qmynd
2728 (sbcl-package->cl-source-package sbcl-qmynd))
2729
2730 (define-public sbcl-queues
2731 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2732 (package
2733 (name "sbcl-queues")
2734 (version (git-version "0.0.0" "1" commit))
2735 (source
2736 (origin
2737 (method git-fetch)
2738 (uri (git-reference
2739 (url "https://github.com/oconnore/queues")
2740 (commit commit)))
2741 (file-name (git-file-name "queues" version))
2742 (sha256
2743 (base32
2744 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2745 (build-system asdf-build-system/sbcl)
2746 (inputs
2747 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2748 (arguments
2749 '(#:asd-systems '("queues"
2750 "queues.simple-queue"
2751 "queues.simple-cqueue"
2752 "queues.priority-queue"
2753 "queues.priority-cqueue")))
2754 (home-page "https://github.com/oconnore/queues")
2755 (synopsis "Common Lisp queue library")
2756 (description
2757 "This is a simple queue library for Common Lisp with features such as
2758 non-consing thread safe queues and fibonacci priority queues.")
2759 (license license:expat))))
2760
2761 (define-public cl-queues
2762 (sbcl-package->cl-source-package sbcl-queues))
2763
2764 (define-public ecl-queues
2765 (sbcl-package->ecl-package sbcl-queues))
2766
2767 (define-public sbcl-glsl-packing
2768 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2769 (revision "1"))
2770 (package
2771 (name "sbcl-glsl-packing")
2772 (version (git-version "0.0.0" revision commit))
2773 (source
2774 (origin
2775 (method git-fetch)
2776 (uri (git-reference
2777 (url "https://github.com/3b/glsl-packing/")
2778 (commit commit)))
2779 (file-name (git-file-name "glsl-packing" version))
2780 (sha256
2781 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2782 (build-system asdf-build-system/sbcl)
2783 (inputs
2784 `(("alexandria" ,sbcl-alexandria)))
2785 (home-page "https://github.com/3b/glsl-packing/")
2786 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2787 (description
2788 "This is a Common Lisp library to calculate std140 or std430 layouts for
2789 a glsl UBO/SSBO.")
2790 (license license:expat))))
2791
2792 (define-public ecl-glsl-packing
2793 (sbcl-package->ecl-package sbcl-glsl-packing))
2794
2795 (define-public cl-glsl-packing
2796 (sbcl-package->cl-source-package sbcl-glsl-packing))
2797
2798 (define-public sbcl-glsl-spec
2799 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2800 (revision "1"))
2801 (package
2802 (name "sbcl-glsl-spec")
2803 (version (git-version "0.0.0" revision commit))
2804 (source
2805 (origin
2806 (method git-fetch)
2807 (uri (git-reference
2808 (url "https://github.com/cbaggers/glsl-spec")
2809 (commit commit)))
2810 (file-name (git-file-name "glsl-spec" version))
2811 (sha256
2812 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2813 (build-system asdf-build-system/sbcl)
2814 (arguments
2815 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2816 (home-page "https://github.com/cbaggers/glsl-spec")
2817 (synopsis "Common Lisp GLSL specification as a datastructure")
2818 (description
2819 "This package contains the specification of all functions and variables
2820 from GLSL as data.")
2821 (license license:unlicense))))
2822
2823 (define-public ecl-glsl-spec
2824 (sbcl-package->ecl-package sbcl-glsl-spec))
2825
2826 (define-public cl-glsl-spec
2827 (sbcl-package->cl-source-package sbcl-glsl-spec))
2828
2829 (define-public sbcl-varjo
2830 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2831 (revision "1"))
2832 (package
2833 (name "sbcl-varjo")
2834 (version (git-version "0.0.0" revision commit))
2835 (source
2836 (origin
2837 (method git-fetch)
2838 (uri (git-reference
2839 (url "https://github.com/cbaggers/varjo")
2840 (commit commit)))
2841 (file-name (git-file-name "varjo" version))
2842 (sha256
2843 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2844 (build-system asdf-build-system/sbcl)
2845 (native-inputs
2846 `(("fiveam" ,sbcl-fiveam)))
2847 (inputs
2848 `(("alexandria" ,sbcl-alexandria)
2849 ("cl-ppcre" ,sbcl-cl-ppcre)
2850 ("documentation-utils" ,sbcl-documentation-utils)
2851 ("fn" ,sbcl-fn)
2852 ("glsl-spec" ,sbcl-glsl-spec)
2853 ("named-readtables" ,sbcl-named-readtables)
2854 ("parse-float" ,sbcl-parse-float)
2855 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2856 (home-page "https://github.com/cbaggers/varjo")
2857 (synopsis "Lisp to GLSL Language Translator")
2858 (description
2859 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2860 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2861 is statically typed so there are differences.")
2862 (license license:bsd-2))))
2863
2864 (define-public ecl-varjo
2865 (sbcl-package->ecl-package sbcl-varjo))
2866
2867 (define-public cl-varjo
2868 (sbcl-package->cl-source-package sbcl-varjo))
2869
2870 (define-public sbcl-cffi
2871 (package
2872 (name "sbcl-cffi")
2873 (version "0.23.0")
2874 (source
2875 (origin
2876 (method git-fetch)
2877 (uri (git-reference
2878 (url "https://github.com/cffi/cffi")
2879 (commit (string-append "v" version))))
2880 (file-name (git-file-name "cffi-bootstrap" version))
2881 (sha256
2882 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2883 (build-system asdf-build-system/sbcl)
2884 (inputs
2885 `(("alexandria" ,sbcl-alexandria)
2886 ("babel" ,sbcl-babel)
2887 ("libffi" ,libffi)
2888 ("trivial-features" ,sbcl-trivial-features)))
2889 (native-inputs
2890 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2891 ("pkg-config" ,pkg-config)
2892 ("rt" ,sbcl-rt)))
2893 (arguments
2894 '(#:phases
2895 (modify-phases %standard-phases
2896 (add-after 'unpack 'fix-arm-support
2897 (lambda _
2898 ;; This is apparently deprecated since libffi-3.3.
2899 (substitute* "libffi/libffi-types.lisp"
2900 (("\\\(\\\(:unix64.*") ")\n"))
2901 #t))
2902 (add-after 'unpack 'fix-paths
2903 (lambda* (#:key inputs #:allow-other-keys)
2904 (substitute* "libffi/libffi.lisp"
2905 (("libffi.so.7" all) (string-append
2906 (assoc-ref inputs "libffi")
2907 "/lib/" all)))
2908 (substitute* "toolchain/c-toolchain.lisp"
2909 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2910 (add-after 'build 'install-headers
2911 (lambda* (#:key outputs #:allow-other-keys)
2912 (install-file "grovel/common.h"
2913 (string-append
2914 (assoc-ref outputs "out")
2915 "/include/grovel")))))
2916 #:asd-files '("cffi.asd"
2917 "cffi-toolchain.asd"
2918 "cffi-grovel.asd"
2919 "cffi-libffi.asd"
2920 "cffi-uffi-compat.asd")
2921 #:asd-systems '("cffi"
2922 "cffi-libffi"
2923 "cffi-uffi-compat")))
2924 (home-page "https://common-lisp.net/project/cffi/")
2925 (synopsis "Common Foreign Function Interface for Common Lisp")
2926 (description "The Common Foreign Function Interface (CFFI)
2927 purports to be a portable foreign function interface for Common Lisp.
2928 The CFFI library is composed of a Lisp-implementation-specific backend
2929 in the CFFI-SYS package, and a portable frontend in the CFFI
2930 package.")
2931 (license license:expat)))
2932
2933 (define-public cl-cffi
2934 (sbcl-package->cl-source-package sbcl-cffi))
2935
2936 (define-public ecl-cffi
2937 (sbcl-package->ecl-package sbcl-cffi))
2938
2939 (define-public sbcl-cffi-c-ref
2940 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
2941 (revision "0"))
2942 (package
2943 (name "sbcl-cffi-c-ref")
2944 (version (git-version "1.0" revision commit))
2945 (source
2946 (origin
2947 (method git-fetch)
2948 (uri (git-reference
2949 (url "https://github.com/borodust/cffi-c-ref")
2950 (commit commit)))
2951 (sha256
2952 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
2953 (file-name (git-file-name "cffi-c-ref" version))))
2954 (build-system asdf-build-system/sbcl)
2955 (inputs
2956 `(("alexandria" ,sbcl-alexandria)
2957 ("cffi" ,sbcl-cffi)))
2958 (synopsis "Streamlined access to foreign memory")
2959 (description
2960 "This Common Lisp library provides macros to access foreign memory.")
2961 (home-page "https://github.com/borodust/cffi-c-ref")
2962 (license license:expat))))
2963
2964 (define-public cl-cffi-c-ref
2965 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
2966
2967 (define-public ecl-cffi-c-ref
2968 (sbcl-package->ecl-package sbcl-cffi-c-ref))
2969
2970 (define-public sbcl-cl-sqlite
2971 (package
2972 (name "sbcl-cl-sqlite")
2973 (version "0.2.1")
2974 (source
2975 (origin
2976 (method git-fetch)
2977 (uri (git-reference
2978 (url "https://github.com/dmitryvk/cl-sqlite")
2979 (commit version)))
2980 (file-name (git-file-name "cl-sqlite" version))
2981 (sha256
2982 (base32
2983 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2984 (build-system asdf-build-system/sbcl)
2985 (inputs
2986 `(("iterate" ,sbcl-iterate)
2987 ("cffi" ,sbcl-cffi)
2988 ("sqlite" ,sqlite)))
2989 (native-inputs
2990 `(("fiveam" ,sbcl-fiveam)
2991 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2992 (arguments
2993 `(#:asd-systems '("sqlite")
2994 #:phases
2995 (modify-phases %standard-phases
2996 (add-after 'unpack 'fix-paths
2997 (lambda* (#:key inputs #:allow-other-keys)
2998 (substitute* "sqlite-ffi.lisp"
2999 (("libsqlite3" all) (string-append
3000 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3001 (home-page "https://common-lisp.net/project/cl-sqlite/")
3002 (synopsis "Common Lisp binding for SQLite")
3003 (description
3004 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3005 relational database engine.")
3006 (license license:public-domain)))
3007
3008 (define-public cl-sqlite
3009 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3010
3011 (define-public ecl-cl-sqlite
3012 (sbcl-package->ecl-package sbcl-cl-sqlite))
3013
3014 (define-public sbcl-parenscript
3015 ;; Source archives are overwritten on every release, we use the Git repo instead.
3016 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3017 (package
3018 (name "sbcl-parenscript")
3019 (version (git-version "2.7.1" "1" commit))
3020 (source
3021 (origin
3022 (method git-fetch)
3023 (uri (git-reference
3024 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3025 (commit commit)))
3026 (file-name (git-file-name "parenscript" version))
3027 (sha256
3028 (base32
3029 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3030 (build-system asdf-build-system/sbcl)
3031 (inputs
3032 `(("cl-ppcre" ,sbcl-cl-ppcre)
3033 ("anaphora" ,sbcl-anaphora)
3034 ("named-readtables" ,sbcl-named-readtables)))
3035 (home-page "https://common-lisp.net/project/parenscript/")
3036 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3037 (description
3038 "Parenscript is a translator from an extended subset of Common Lisp to
3039 JavaScript. Parenscript code can run almost identically on both the
3040 browser (as JavaScript) and server (as Common Lisp).
3041
3042 Parenscript code is treated the same way as Common Lisp code, making the full
3043 power of Lisp macros available for JavaScript. This provides a web
3044 development environment that is unmatched in its ability to reduce code
3045 duplication and provide advanced meta-programming facilities to web
3046 developers.
3047
3048 At the same time, Parenscript is different from almost all other \"language
3049 X\" to JavaScript translators in that it imposes almost no overhead:
3050
3051 @itemize
3052 @item No run-time dependencies: Any piece of Parenscript code is runnable
3053 as-is. There are no JavaScript files to include.
3054 @item Native types: Parenscript works entirely with native JavaScript data
3055 types. There are no new types introduced, and object prototypes are not
3056 touched.
3057 @item Native calling convention: Any JavaScript code can be called without the
3058 need for bindings. Likewise, Parenscript can be used to make efficient,
3059 self-contained JavaScript libraries.
3060 @item Readable code: Parenscript generates concise, formatted, idiomatic
3061 JavaScript code. Identifier names are preserved. This enables seamless
3062 debugging in tools like Firebug.
3063 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3064 Lisp features. The generated code is almost as fast as hand-written
3065 JavaScript.
3066 @end itemize\n")
3067 (license license:bsd-3))))
3068
3069 (define-public cl-parenscript
3070 (sbcl-package->cl-source-package sbcl-parenscript))
3071
3072 (define-public ecl-parenscript
3073 (sbcl-package->ecl-package sbcl-parenscript))
3074
3075 (define-public sbcl-cl-json
3076 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3077 (package
3078 (name "sbcl-cl-json")
3079 (version (git-version "0.5" "1" commit))
3080 (source
3081 (origin
3082 (method git-fetch)
3083 (uri (git-reference
3084 (url "https://github.com/hankhero/cl-json")
3085 (commit commit)))
3086 (file-name (git-file-name "cl-json" version))
3087 (sha256
3088 (base32
3089 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3090 (build-system asdf-build-system/sbcl)
3091 (native-inputs
3092 `(("fiveam" ,sbcl-fiveam)))
3093 (home-page "https://github.com/hankhero/cl-json")
3094 (synopsis "JSON encoder and decoder for Common-Lisp")
3095 (description
3096 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3097 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3098 and the decoder are highly customizable; at the same time, the default
3099 settings ensure a very simple mode of operation, similar to that provided by
3100 @command{yason} or @command{st-json}.")
3101 (license license:expat))))
3102
3103 (define-public cl-json
3104 (sbcl-package->cl-source-package sbcl-cl-json))
3105
3106 (define-public ecl-cl-json
3107 (sbcl-package->ecl-package sbcl-cl-json))
3108
3109 (define-public sbcl-unix-opts
3110 (package
3111 (name "sbcl-unix-opts")
3112 (version "0.1.7")
3113 (source
3114 (origin
3115 (method git-fetch)
3116 (uri (git-reference
3117 (url "https://github.com/libre-man/unix-opts")
3118 (commit version)))
3119 (file-name (git-file-name "unix-opts" version))
3120 (sha256
3121 (base32
3122 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3123 (build-system asdf-build-system/sbcl)
3124 (home-page "https://github.com/hankhero/cl-json")
3125 (synopsis "Unix-style command line options parser")
3126 (description
3127 "This is a minimalistic parser of command line options. The main
3128 advantage of the library is the ability to concisely define command line
3129 options once and then use this definition for parsing and extraction of
3130 command line arguments, as well as printing description of command line
3131 options (you get --help for free). This way you don't need to repeat
3132 yourself. Also, @command{unix-opts} doesn't depend on anything and
3133 precisely controls the behavior of the parser via Common Lisp restarts.")
3134 (license license:expat)))
3135
3136 (define-public cl-unix-opts
3137 (sbcl-package->cl-source-package sbcl-unix-opts))
3138
3139 (define-public ecl-unix-opts
3140 (sbcl-package->ecl-package sbcl-unix-opts))
3141
3142 (define-public sbcl-trivial-garbage
3143 (package
3144 (name "sbcl-trivial-garbage")
3145 (version "0.21")
3146 (source
3147 (origin
3148 (method git-fetch)
3149 (uri (git-reference
3150 (url "https://github.com/trivial-garbage/trivial-garbage")
3151 (commit (string-append "v" version))))
3152 (file-name (git-file-name "trivial-garbage" version))
3153 (sha256
3154 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3155 (build-system asdf-build-system/sbcl)
3156 (native-inputs
3157 `(("rt" ,sbcl-rt)))
3158 (home-page "https://common-lisp.net/project/trivial-garbage/")
3159 (synopsis "Portable GC-related APIs for Common Lisp")
3160 (description "@command{trivial-garbage} provides a portable API to
3161 finalizers, weak hash-tables and weak pointers on all major implementations of
3162 the Common Lisp programming language.")
3163 (license license:public-domain)))
3164
3165 (define-public cl-trivial-garbage
3166 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3167
3168 (define-public ecl-trivial-garbage
3169 (sbcl-package->ecl-package sbcl-trivial-garbage))
3170
3171 (define-public sbcl-closer-mop
3172 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3173 (package
3174 (name "sbcl-closer-mop")
3175 (version (git-version "1.0.0" "2" commit))
3176 (source
3177 (origin
3178 (method git-fetch)
3179 (uri (git-reference
3180 (url "https://github.com/pcostanza/closer-mop")
3181 (commit commit)))
3182 (sha256
3183 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3184 (file-name (git-file-name "closer-mop" version ))))
3185 (build-system asdf-build-system/sbcl)
3186 (home-page "https://github.com/pcostanza/closer-mop")
3187 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3188 (description "Closer to MOP is a compatibility layer that rectifies many
3189 of the absent or incorrect CLOS MOP features across a broad range of Common
3190 Lisp implementations.")
3191 (license license:expat))))
3192
3193 (define-public cl-closer-mop
3194 (sbcl-package->cl-source-package sbcl-closer-mop))
3195
3196 (define-public ecl-closer-mop
3197 (sbcl-package->ecl-package sbcl-closer-mop))
3198
3199 (define-public sbcl-cl-cffi-gtk
3200 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3201 (package
3202 (name "sbcl-cl-cffi-gtk")
3203 (version (git-version "0.11.2" "2" commit))
3204 (source
3205 (origin
3206 (method git-fetch)
3207 (uri (git-reference
3208 (url "https://github.com/Ferada/cl-cffi-gtk/")
3209 (commit commit)))
3210 (file-name (git-file-name "cl-cffi-gtk" version))
3211 (sha256
3212 (base32
3213 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3214 (build-system asdf-build-system/sbcl)
3215 (native-inputs
3216 `(("fiveam" ,sbcl-fiveam)))
3217 (inputs
3218 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3219 ("cairo" ,cairo)
3220 ("cffi" ,sbcl-cffi)
3221 ("closer-mop" ,sbcl-closer-mop)
3222 ("gdk-pixbuf" ,gdk-pixbuf)
3223 ("glib" ,glib)
3224 ("gtk" ,gtk+)
3225 ("iterate" ,sbcl-iterate)
3226 ("pango" ,pango)
3227 ("trivial-features" ,sbcl-trivial-features)
3228 ("trivial-garbage" ,sbcl-trivial-garbage)))
3229 (arguments
3230 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3231 "glib/cl-cffi-gtk-glib.asd"
3232 "gobject/cl-cffi-gtk-gobject.asd"
3233 "gio/cl-cffi-gtk-gio.asd"
3234 "cairo/cl-cffi-gtk-cairo.asd"
3235 "pango/cl-cffi-gtk-pango.asd"
3236 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3237 "gdk/cl-cffi-gtk-gdk.asd")
3238 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3239 ;; TODO: Tests fail with memory fault.
3240 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3241 #:tests? #f
3242 #:phases
3243 (modify-phases %standard-phases
3244 (add-after 'unpack 'fix-paths
3245 (lambda* (#:key inputs #:allow-other-keys)
3246 (substitute* "glib/glib.init.lisp"
3247 (("libglib|libgthread" all)
3248 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3249 (substitute* "gobject/gobject.init.lisp"
3250 (("libgobject" all)
3251 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3252 (substitute* "gio/gio.init.lisp"
3253 (("libgio" all)
3254 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3255 (substitute* "cairo/cairo.init.lisp"
3256 (("libcairo" all)
3257 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3258 (substitute* "pango/pango.init.lisp"
3259 (("libpango" all)
3260 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3261 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3262 (("libgdk_pixbuf" all)
3263 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3264 (substitute* "gdk/gdk.init.lisp"
3265 (("libgdk" all)
3266 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3267 (substitute* "gdk/gdk.package.lisp"
3268 (("libgtk" all)
3269 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3270 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3271 (synopsis "Common Lisp binding for GTK+3")
3272 (description
3273 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3274 is a library for creating graphical user interfaces.")
3275 (license license:lgpl3))))
3276
3277 (define-public cl-cffi-gtk
3278 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3279
3280 (define-public ecl-cl-cffi-gtk
3281 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3282
3283 (define-public sbcl-cl-webkit
3284 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3285 (package
3286 (name "sbcl-cl-webkit")
3287 (version (git-version "2.4" "10" commit))
3288 (source
3289 (origin
3290 (method git-fetch)
3291 (uri (git-reference
3292 (url "https://github.com/joachifm/cl-webkit")
3293 (commit commit)))
3294 (file-name (git-file-name "cl-webkit" version))
3295 (sha256
3296 (base32
3297 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3298 (build-system asdf-build-system/sbcl)
3299 (inputs
3300 `(("cffi" ,sbcl-cffi)
3301 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3302 ("webkitgtk" ,webkitgtk)))
3303 (arguments
3304 `(#:asd-systems '("cl-webkit2")
3305 #:phases
3306 (modify-phases %standard-phases
3307 (add-after 'unpack 'fix-paths
3308 (lambda* (#:key inputs #:allow-other-keys)
3309 (substitute* "webkit2/webkit2.init.lisp"
3310 (("libwebkit2gtk" all)
3311 (string-append
3312 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3313 (home-page "https://github.com/joachifm/cl-webkit")
3314 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3315 (description
3316 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3317 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3318 browsing capabilities to an application, leveraging the full power of the
3319 WebKit browsing engine.")
3320 (license license:expat))))
3321
3322 (define-public cl-webkit
3323 (sbcl-package->cl-source-package sbcl-cl-webkit))
3324
3325 (define-public ecl-cl-webkit
3326 (sbcl-package->ecl-package sbcl-cl-webkit))
3327
3328 (define-public sbcl-lparallel
3329 (package
3330 (name "sbcl-lparallel")
3331 (version "2.8.4")
3332 (source
3333 (origin
3334 (method git-fetch)
3335 (uri (git-reference
3336 (url "https://github.com/lmj/lparallel/")
3337 (commit (string-append "lparallel-" version))))
3338 (file-name (git-file-name "lparallel" version))
3339 (sha256
3340 (base32
3341 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3342 (build-system asdf-build-system/sbcl)
3343 (inputs
3344 `(("alexandria" ,sbcl-alexandria)
3345 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3346 ("trivial-garbage" ,sbcl-trivial-garbage)))
3347 (arguments
3348 `(#:phases
3349 (modify-phases %standard-phases
3350 (add-after 'unpack 'fix-dependency
3351 ;; lparallel loads a SBCL specific system in its asd file. This is
3352 ;; not carried over into the fasl which is generated. In order for
3353 ;; it to be carried over, it needs to be listed as a dependency.
3354 (lambda _
3355 (substitute* "lparallel.asd"
3356 ((":depends-on \\(:alexandria" all)
3357 (string-append all " #+sbcl :sb-cltl2"))))))))
3358 (home-page "https://lparallel.org/")
3359 (synopsis "Parallelism for Common Lisp")
3360 (description
3361 "@command{lparallel} is a library for parallel programming in Common
3362 Lisp, featuring:
3363
3364 @itemize
3365 @item a simple model of task submission with receiving queue,
3366 @item constructs for expressing fine-grained parallelism,
3367 @item asynchronous condition handling across thread boundaries,
3368 @item parallel versions of map, reduce, sort, remove, and many others,
3369 @item promises, futures, and delayed evaluation constructs,
3370 @item computation trees for parallelizing interconnected tasks,
3371 @item bounded and unbounded FIFO queues,
3372 @item high and low priority tasks,
3373 @item task killing by category,
3374 @item integrated timeouts.
3375 @end itemize\n")
3376 (license license:expat)))
3377
3378 (define-public cl-lparallel
3379 (sbcl-package->cl-source-package sbcl-lparallel))
3380
3381 (define-public ecl-lparallel
3382 (package
3383 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3384 (arguments
3385 ;; TODO: Find why the tests get stuck forever; disable them for now.
3386 `(#:tests? #f))))
3387
3388 (define-public sbcl-cl-markup
3389 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3390 (package
3391 (name "sbcl-cl-markup")
3392 (version (git-version "0.1" "1" commit))
3393 (source
3394 (origin
3395 (method git-fetch)
3396 (uri (git-reference
3397 (url "https://github.com/arielnetworks/cl-markup/")
3398 (commit commit)))
3399 (file-name (git-file-name "cl-markup" version))
3400 (sha256
3401 (base32
3402 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3403 (build-system asdf-build-system/sbcl)
3404 (home-page "https://github.com/arielnetworks/cl-markup/")
3405 (synopsis "Markup generation library for Common Lisp")
3406 (description
3407 "A modern markup generation library for Common Lisp that features:
3408
3409 @itemize
3410 @item Fast (even faster through compiling the code)
3411 @item Safety
3412 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3413 @item Output with doctype
3414 @item Direct output to stream
3415 @end itemize\n")
3416 (license license:lgpl3+))))
3417
3418 (define-public cl-markup
3419 (sbcl-package->cl-source-package sbcl-cl-markup))
3420
3421 (define-public ecl-cl-markup
3422 (sbcl-package->ecl-package sbcl-cl-markup))
3423
3424 (define-public sbcl-cl-mustache
3425 (package
3426 (name "sbcl-cl-mustache")
3427 (version "0.12.1")
3428 (source
3429 (origin
3430 (method git-fetch)
3431 (uri (git-reference
3432 (url "https://github.com/kanru/cl-mustache")
3433 (commit (string-append "v" version))))
3434 (file-name (git-file-name "cl-mustache" version))
3435 (sha256
3436 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3437 (build-system asdf-build-system/sbcl)
3438 (home-page "https://github.com/kanru/cl-mustache")
3439 (synopsis "Common Lisp Mustache template renderer")
3440 (description "This is a Common Lisp implementation for the Mustache
3441 template system. More details on the standard are available at
3442 @url{https://mustache.github.io}.")
3443 (license license:expat)))
3444
3445 (define-public cl-mustache
3446 (sbcl-package->cl-source-package sbcl-cl-mustache))
3447
3448 (define-public ecl-cl-mustache
3449 (sbcl-package->ecl-package sbcl-cl-mustache))
3450
3451 (define-public sbcl-cl-css
3452 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3453 (package
3454 (name "sbcl-cl-css")
3455 (version (git-version "0.1" "1" commit))
3456 (source
3457 (origin
3458 (method git-fetch)
3459 (uri (git-reference
3460 (url "https://github.com/inaimathi/cl-css/")
3461 (commit commit)))
3462 (file-name (git-file-name "cl-css" version))
3463 (sha256
3464 (base32
3465 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3466 (build-system asdf-build-system/sbcl)
3467 (home-page "https://github.com/inaimathi/cl-css/")
3468 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3469 (description
3470 "This is a dead-simple, non validating, inline CSS generator for Common
3471 Lisp. Its goals are axiomatic syntax, simple implementation to support
3472 portability, and boilerplate reduction in CSS.")
3473 (license license:expat))))
3474
3475 (define-public cl-css
3476 (sbcl-package->cl-source-package sbcl-cl-css))
3477
3478 (define-public ecl-cl-css
3479 (sbcl-package->ecl-package sbcl-cl-css))
3480
3481 (define-public sbcl-portable-threads
3482 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3483 (package
3484 (name "sbcl-portable-threads")
3485 (version (git-version "2.3" "2" commit))
3486 (source
3487 (origin
3488 (method git-fetch)
3489 (uri (git-reference
3490 (url "https://github.com/binghe/portable-threads/")
3491 (commit commit)))
3492 (file-name (git-file-name "portable-threads" version))
3493 (sha256
3494 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3495 (build-system asdf-build-system/sbcl)
3496 (arguments
3497 `(;; Tests seem broken.
3498 #:tests? #f))
3499 (home-page "https://github.com/binghe/portable-threads")
3500 (synopsis "Portable threads API for Common Lisp")
3501 (description
3502 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3503 Lisp (from GBBopen project).")
3504 (license license:asl2.0))))
3505
3506 (define-public cl-portable-threads
3507 (sbcl-package->cl-source-package sbcl-portable-threads))
3508
3509 (define-public ecl-portable-threads
3510 (sbcl-package->ecl-package sbcl-portable-threads))
3511
3512 (define-public sbcl-usocket
3513 (package
3514 (name "sbcl-usocket")
3515 (version "0.8.3")
3516 (source
3517 (origin
3518 (method git-fetch)
3519 (uri (git-reference
3520 (url "https://github.com/usocket/usocket/")
3521 (commit (string-append "v" version))))
3522 (file-name (git-file-name "usocket" version))
3523 (sha256
3524 (base32
3525 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3526 (build-system asdf-build-system/sbcl)
3527 (native-inputs
3528 `(("rt" ,sbcl-rt)))
3529 (inputs
3530 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3531 ("split-sequence" ,sbcl-split-sequence)))
3532 (arguments
3533 `(#:tests? #f ; FIXME: Tests need network access?
3534 #:asd-systems '("usocket"
3535 "usocket-server")))
3536 (home-page "https://common-lisp.net/project/usocket/")
3537 (synopsis "Universal socket library for Common Lisp")
3538 (description
3539 "This library strives to provide a portable TCP/IP and UDP/IP socket
3540 interface for as many Common Lisp implementations as possible, while keeping
3541 the abstraction and portability layer as thin as possible.")
3542 (license license:expat)))
3543
3544 (define-public cl-usocket
3545 (sbcl-package->cl-source-package sbcl-usocket))
3546
3547 (define-public ecl-usocket
3548 (sbcl-package->ecl-package sbcl-usocket))
3549
3550 (define-public sbcl-s-xml
3551 (package
3552 (name "sbcl-s-xml")
3553 (version "3")
3554 (source
3555 (origin
3556 (method url-fetch)
3557 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3558 (sha256
3559 (base32
3560 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3561 (build-system asdf-build-system/sbcl)
3562 (home-page "https://common-lisp.net/project/s-xml/")
3563 (synopsis "Simple XML parser implemented in Common Lisp")
3564 (description
3565 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3566 parser implementation has the following features:
3567
3568 @itemize
3569 @item It works (handling many common XML usages).
3570 @item It is very small (the core is about 700 lines of code, including
3571 comments and whitespace).
3572 @item It has a core API that is simple, efficient and pure functional, much
3573 like that from SSAX (see also http://ssax.sourceforge.net).
3574 @item It supports different DOM models: an XSML-based one, an LXML-based one
3575 and a classic xml-element struct based one.
3576 @item It is reasonably time and space efficient (internally avoiding garbage
3577 generatation as much as possible).
3578 @item It does support CDATA.
3579 @item It should support the same character sets as your Common Lisp
3580 implementation.
3581 @item It does support XML name spaces.
3582 @end itemize
3583
3584 This XML parser implementation has the following limitations:
3585
3586 @itemize
3587 @item It does not support any special tags (like processing instructions).
3588 @item It is not validating, even skips DTD's all together.
3589 @end itemize\n")
3590 (license license:lgpl3+)))
3591
3592 (define-public cl-s-xml
3593 (sbcl-package->cl-source-package sbcl-s-xml))
3594
3595 (define-public ecl-s-xml
3596 (sbcl-package->ecl-package sbcl-s-xml))
3597
3598 (define-public sbcl-s-xml-rpc
3599 (package
3600 (name "sbcl-s-xml-rpc")
3601 (version "7")
3602 (source
3603 (origin
3604 (method url-fetch)
3605 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3606 (sha256
3607 (base32
3608 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3609 (build-system asdf-build-system/sbcl)
3610 (inputs
3611 `(("s-xml" ,sbcl-s-xml)))
3612 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3613 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3614 (description
3615 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3616 client and server.")
3617 (license license:lgpl3+)))
3618
3619 (define-public cl-s-xml-rpc
3620 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3621
3622 (define-public ecl-s-xml-rpc
3623 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3624
3625 (define-public sbcl-trivial-arguments
3626 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3627 (revision "1"))
3628 (package
3629 (name "sbcl-trivial-arguments")
3630 (version (git-version "1.1.0" revision commit))
3631 (source
3632 (origin
3633 (method git-fetch)
3634 (uri (git-reference
3635 (url "https://github.com/Shinmera/trivial-arguments")
3636 (commit commit)))
3637 (file-name (git-file-name "trivial-arguments" version))
3638 (sha256
3639 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3640 (build-system asdf-build-system/sbcl)
3641 (home-page "https://github.com/Shinmera/trivial-arguments")
3642 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3643 (description
3644 "This is a simple library to retrieve the argument list of a function.")
3645 (license license:zlib))))
3646
3647 (define-public ecl-trivial-arguments
3648 (sbcl-package->ecl-package sbcl-trivial-arguments))
3649
3650 (define-public cl-trivial-arguments
3651 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3652
3653 (define-public sbcl-trivial-clipboard
3654 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3655 (package
3656 (name "sbcl-trivial-clipboard")
3657 (version (git-version "0.0.0.0" "4" commit))
3658 (source
3659 (origin
3660 (method git-fetch)
3661 (uri (git-reference
3662 (url "https://github.com/snmsts/trivial-clipboard")
3663 (commit commit)))
3664 (file-name (git-file-name "trivial-clipboard" version))
3665 (sha256
3666 (base32
3667 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3668 (build-system asdf-build-system/sbcl)
3669 (inputs
3670 `(("xclip" ,xclip)))
3671 (native-inputs
3672 `(("fiveam" ,sbcl-fiveam)))
3673 (arguments
3674 `(#:phases
3675 (modify-phases %standard-phases
3676 (add-after 'unpack 'fix-paths
3677 (lambda* (#:key inputs #:allow-other-keys)
3678 (substitute* "src/text.lisp"
3679 (("\"xclip\"")
3680 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3681 (home-page "https://github.com/snmsts/trivial-clipboard")
3682 (synopsis "Access system clipboard in Common Lisp")
3683 (description
3684 "@command{trivial-clipboard} gives access to the system clipboard.")
3685 (license license:expat))))
3686
3687 (define-public cl-trivial-clipboard
3688 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3689
3690 (define-public ecl-trivial-clipboard
3691 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3692
3693 (define-public sbcl-trivial-backtrace
3694 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3695 (revision "1"))
3696 (package
3697 (name "sbcl-trivial-backtrace")
3698 (version (git-version "0.0.0" revision commit))
3699 (source
3700 (origin
3701 (method git-fetch)
3702 (uri (git-reference
3703 (url "https://github.com/gwkkwg/trivial-backtrace")
3704 (commit commit)))
3705 (file-name (git-file-name "trivial-backtrace" version))
3706 (sha256
3707 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3708 (build-system asdf-build-system/sbcl)
3709 (inputs
3710 `(("sbcl-lift" ,sbcl-lift)))
3711 (arguments
3712 `(#:phases
3713 (modify-phases %standard-phases
3714 (add-after 'check 'delete-test-results
3715 (lambda* (#:key outputs #:allow-other-keys)
3716 (let ((test-results (string-append (assoc-ref outputs "out")
3717 "/share/common-lisp/"
3718 (%lisp-type)
3719 "/trivial-backtrace"
3720 "/test-results")))
3721 (when (file-exists? test-results)
3722 (delete-file-recursively test-results)))
3723 #t)))))
3724 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3725 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3726 (description
3727 "One of the many things that didn't quite get into the Common Lisp
3728 standard was how to get a Lisp to output its call stack when something has
3729 gone wrong. As such, each Lisp has developed its own notion of what to
3730 display, how to display it, and what sort of arguments can be used to
3731 customize it. @code{trivial-backtrace} is a simple solution to generating a
3732 backtrace portably.")
3733 (license license:expat))))
3734
3735 (define-public cl-trivial-backtrace
3736 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3737
3738 (define-public ecl-trivial-backtrace
3739 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3740
3741 (define-public sbcl-rfc2388
3742 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3743 (revision "1"))
3744 (package
3745 (name "sbcl-rfc2388")
3746 (version (git-version "0.0.0" revision commit))
3747 (source
3748 (origin
3749 (method git-fetch)
3750 (uri (git-reference
3751 (url "https://github.com/jdz/rfc2388")
3752 (commit commit)))
3753 (file-name (git-file-name "rfc2388" version))
3754 (sha256
3755 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3756 (build-system asdf-build-system/sbcl)
3757 (home-page "https://github.com/jdz/rfc2388/")
3758 (synopsis "An implementation of RFC 2388 in Common Lisp")
3759 (description
3760 "This package contains an implementation of RFC 2388, which is used to
3761 process form data posted with HTTP POST method using enctype
3762 \"multipart/form-data\".")
3763 (license license:bsd-2))))
3764
3765 (define-public cl-rfc2388
3766 (sbcl-package->cl-source-package sbcl-rfc2388))
3767
3768 (define-public ecl-rfc2388
3769 (sbcl-package->ecl-package sbcl-rfc2388))
3770
3771 (define-public sbcl-md5
3772 (package
3773 (name "sbcl-md5")
3774 (version "2.0.4")
3775 (source
3776 (origin
3777 (method git-fetch)
3778 (uri (git-reference
3779 (url "https://github.com/pmai/md5")
3780 (commit (string-append "release-" version))))
3781 (file-name (git-file-name "md5" version))
3782 (sha256
3783 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3784 (build-system asdf-build-system/sbcl)
3785 (home-page "https://github.com/pmai/md5")
3786 (synopsis
3787 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3788 (description
3789 "This package implements The MD5 Message-Digest Algorithm, as defined in
3790 RFC 1321 by R. Rivest, published April 1992.")
3791 (license license:public-domain)))
3792
3793 (define-public cl-md5
3794 (sbcl-package->cl-source-package sbcl-md5))
3795
3796 (define-public ecl-md5
3797 (package
3798 (inherit (sbcl-package->ecl-package sbcl-md5))
3799 (inputs
3800 `(("flexi-streams" ,ecl-flexi-streams)))))
3801
3802 (define-public sbcl-cl+ssl
3803 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3804 (revision "1"))
3805 (package
3806 (name "sbcl-cl+ssl")
3807 (version (git-version "0.0.0" revision commit))
3808 (source
3809 (origin
3810 (method git-fetch)
3811 (uri (git-reference
3812 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3813 (commit commit)))
3814 (file-name (git-file-name "cl+ssl" version))
3815 (sha256
3816 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3817 (build-system asdf-build-system/sbcl)
3818 (arguments
3819 '(#:phases
3820 (modify-phases %standard-phases
3821 (add-after 'unpack 'fix-paths
3822 (lambda* (#:key inputs #:allow-other-keys)
3823 (substitute* "src/reload.lisp"
3824 (("libssl.so" all)
3825 (string-append
3826 (assoc-ref inputs "openssl") "/lib/" all))))))))
3827 (inputs
3828 `(("openssl" ,openssl)
3829 ("sbcl-cffi" ,sbcl-cffi)
3830 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3831 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3832 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3833 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3834 ("sbcl-alexandria" ,sbcl-alexandria)
3835 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3836 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3837 (synopsis "Common Lisp bindings to OpenSSL")
3838 (description
3839 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3840 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3841 Development into CL+SSL was done by David Lichteblau.")
3842 (license license:expat))))
3843
3844 (define-public cl-cl+ssl
3845 (sbcl-package->cl-source-package sbcl-cl+ssl))
3846
3847 (define-public ecl-cl+ssl
3848 (sbcl-package->ecl-package sbcl-cl+ssl))
3849
3850 (define-public sbcl-kmrcl
3851 (let ((version "1.111")
3852 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3853 (revision "1"))
3854 (package
3855 (name "sbcl-kmrcl")
3856 (version (git-version version revision commit))
3857 (source
3858 (origin
3859 (method git-fetch)
3860 (uri (git-reference
3861 (url "http://git.kpe.io/kmrcl.git/")
3862 (commit commit)))
3863 (file-name (git-file-name name version))
3864 (sha256
3865 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3866 (build-system asdf-build-system/sbcl)
3867 (inputs
3868 `(("sbcl-rt" ,sbcl-rt)))
3869 (home-page "http://files.kpe.io/kmrcl/")
3870 (synopsis "General utilities for Common Lisp programs")
3871 (description
3872 "KMRCL is a collection of utilities used by a number of Kevin
3873 Rosenberg's Common Lisp packages.")
3874 (license license:llgpl))))
3875
3876 (define-public cl-kmrcl
3877 (sbcl-package->cl-source-package sbcl-kmrcl))
3878
3879 (define-public ecl-kmrcl
3880 (sbcl-package->ecl-package sbcl-kmrcl))
3881
3882 (define-public sbcl-cl-base64
3883 ;; 3.3.4 tests are broken, upstream fixes them.
3884 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3885 (package
3886 (name "sbcl-cl-base64")
3887 (version (git-version "3.3.4" "1" commit))
3888 (source
3889 (origin
3890 (method git-fetch)
3891 (uri (git-reference
3892 (url "http://git.kpe.io/cl-base64.git/")
3893 (commit commit)))
3894 (file-name (git-file-name name version))
3895 (sha256
3896 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3897 (build-system asdf-build-system/sbcl)
3898 (native-inputs ; For tests.
3899 `(("sbcl-ptester" ,sbcl-ptester)
3900 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3901 (home-page "http://files.kpe.io/cl-base64/")
3902 (synopsis
3903 "Common Lisp package to encode and decode base64 with URI support")
3904 (description
3905 "This package provides highly optimized base64 encoding and decoding.
3906 Besides conversion to and from strings, integer conversions are supported.
3907 Encoding with Uniform Resource Identifiers is supported by using a modified
3908 encoding table that uses only URI-compatible characters.")
3909 (license license:bsd-3))))
3910
3911 (define-public cl-base64
3912 (sbcl-package->cl-source-package sbcl-cl-base64))
3913
3914 (define-public ecl-cl-base64
3915 (sbcl-package->ecl-package sbcl-cl-base64))
3916
3917 (define-public sbcl-chunga
3918 (package
3919 (name "sbcl-chunga")
3920 (version "1.1.7")
3921 (source
3922 (origin
3923 (method git-fetch)
3924 (uri (git-reference
3925 (url "https://github.com/edicl/chunga")
3926 (commit (string-append "v" version))))
3927 (file-name (git-file-name name version))
3928 (sha256
3929 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3930 (build-system asdf-build-system/sbcl)
3931 (inputs
3932 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3933 (home-page "https://edicl.github.io/chunga/")
3934 (synopsis "Portable chunked streams for Common Lisp")
3935 (description
3936 "Chunga implements streams capable of chunked encoding on demand as
3937 defined in RFC 2616.")
3938 (license license:bsd-2)))
3939
3940 (define-public cl-chunga
3941 (sbcl-package->cl-source-package sbcl-chunga))
3942
3943 (define-public ecl-chunga
3944 (sbcl-package->ecl-package sbcl-chunga))
3945
3946 (define-public sbcl-cl-who
3947 (let ((version "1.1.4")
3948 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3949 (revision "1"))
3950 (package
3951 (name "sbcl-cl-who")
3952 (version (git-version version revision commit))
3953 (source
3954 (origin
3955 (method git-fetch)
3956 (uri (git-reference
3957 (url "https://github.com/edicl/cl-who")
3958 (commit commit)))
3959 (file-name (git-file-name name version))
3960 (sha256
3961 (base32
3962 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3963 (build-system asdf-build-system/sbcl)
3964 (native-inputs
3965 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3966 (home-page "https://edicl.github.io/cl-who/")
3967 (synopsis "Yet another Lisp markup language")
3968 (description
3969 "There are plenty of Lisp Markup Languages out there - every Lisp
3970 programmer seems to write at least one during his career - and CL-WHO (where
3971 WHO means \"with-html-output\" for want of a better acronym) is probably just
3972 as good or bad as the next one.")
3973 (license license:bsd-2))))
3974
3975 (define-public cl-who
3976 (sbcl-package->cl-source-package sbcl-cl-who))
3977
3978 (define-public ecl-cl-who
3979 (sbcl-package->ecl-package sbcl-cl-who))
3980
3981 (define-public sbcl-chipz
3982 (let ((version "0.8")
3983 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3984 (revision "1"))
3985 (package
3986 (name "sbcl-chipz")
3987 (version (git-version version revision commit))
3988 (source
3989 (origin
3990 (method git-fetch)
3991 (uri (git-reference
3992 (url "https://github.com/froydnj/chipz")
3993 (commit commit)))
3994 (file-name (git-file-name name version))
3995 (sha256
3996 (base32
3997 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3998 (build-system asdf-build-system/sbcl)
3999 (native-inputs
4000 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4001 (home-page "http://method-combination.net/lisp/chipz/")
4002 (synopsis
4003 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4004 data")
4005 (description
4006 "DEFLATE data, defined in RFC1951, forms the core of popular
4007 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4008 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4009 the format used by the popular compression tool bzip2.")
4010 ;; The author describes it as "MIT-like"
4011 (license license:expat))))
4012
4013 (define-public cl-chipz
4014 (sbcl-package->cl-source-package sbcl-chipz))
4015
4016 (define-public ecl-chipz
4017 (sbcl-package->ecl-package sbcl-chipz))
4018
4019 (define-public sbcl-drakma
4020 (package
4021 (name "sbcl-drakma")
4022 (version "2.0.7")
4023 (source
4024 (origin
4025 (method git-fetch)
4026 (uri (git-reference
4027 (url "https://github.com/edicl/drakma")
4028 (commit (string-append "v" version))))
4029 (file-name (git-file-name name version))
4030 (sha256
4031 (base32
4032 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4033 (build-system asdf-build-system/sbcl)
4034 (inputs
4035 `(("sbcl-puri" ,sbcl-puri)
4036 ("sbcl-cl-base64" ,sbcl-cl-base64)
4037 ("sbcl-chunga" ,sbcl-chunga)
4038 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4039 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4040 ("sbcl-chipz" ,sbcl-chipz)
4041 ("sbcl-usocket" ,sbcl-usocket)
4042 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4043 (native-inputs
4044 `(("sbcl-fiveam" ,sbcl-fiveam)))
4045 (home-page "https://edicl.github.io/drakma/")
4046 (synopsis "HTTP client written in Common Lisp")
4047 (description
4048 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4049 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4050 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4051 (license license:bsd-2)))
4052
4053 (define-public cl-drakma
4054 (sbcl-package->cl-source-package sbcl-drakma))
4055
4056 (define-public ecl-drakma
4057 (sbcl-package->ecl-package sbcl-drakma))
4058
4059 (define-public sbcl-hunchentoot
4060 (package
4061 (name "sbcl-hunchentoot")
4062 (version "1.2.38")
4063 (source
4064 (origin
4065 (method git-fetch)
4066 (uri (git-reference
4067 (url "https://github.com/edicl/hunchentoot")
4068 (commit (string-append "v" version))))
4069 (file-name (git-file-name "hunchentoot" version))
4070 (sha256
4071 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4072 (build-system asdf-build-system/sbcl)
4073 (native-inputs
4074 `(("sbcl-cl-who" ,sbcl-cl-who)
4075 ("sbcl-drakma" ,sbcl-drakma)))
4076 (inputs
4077 `(("sbcl-chunga" ,sbcl-chunga)
4078 ("sbcl-cl-base64" ,sbcl-cl-base64)
4079 ("sbcl-cl-fad" ,sbcl-cl-fad)
4080 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4081 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4082 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4083 ("sbcl-md5" ,sbcl-md5)
4084 ("sbcl-rfc2388" ,sbcl-rfc2388)
4085 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4086 ("sbcl-usocket" ,sbcl-usocket)))
4087 (home-page "https://edicl.github.io/hunchentoot/")
4088 (synopsis "Web server written in Common Lisp")
4089 (description
4090 "Hunchentoot is a web server written in Common Lisp and at the same
4091 time a toolkit for building dynamic websites. As a stand-alone web server,
4092 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4093 connections (keep-alive), and SSL.")
4094 (license license:bsd-2)))
4095
4096 (define-public cl-hunchentoot
4097 (sbcl-package->cl-source-package sbcl-hunchentoot))
4098
4099 (define-public ecl-hunchentoot
4100 (package
4101 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4102 (arguments
4103 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4104 '(#:tests? #f))))
4105
4106 (define-public sbcl-trivial-types
4107 (package
4108 (name "sbcl-trivial-types")
4109 (version "0.0.1")
4110 (source
4111 (origin
4112 (method git-fetch)
4113 (uri (git-reference
4114 (url "https://github.com/m2ym/trivial-types")
4115 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4116 (file-name (git-file-name name version))
4117 (sha256
4118 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4119 (build-system asdf-build-system/sbcl)
4120 (home-page "https://github.com/m2ym/trivial-types")
4121 (synopsis "Trivial type definitions for Common Lisp")
4122 (description
4123 "TRIVIAL-TYPES provides missing but important type definitions such as
4124 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4125 (license license:llgpl)))
4126
4127 (define-public cl-trivial-types
4128 (sbcl-package->cl-source-package sbcl-trivial-types))
4129
4130 (define-public ecl-trivial-types
4131 (sbcl-package->ecl-package sbcl-trivial-types))
4132
4133 (define-public sbcl-cl-annot
4134 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4135 (revision "1"))
4136 (package
4137 (name "sbcl-cl-annot")
4138 (version (git-version "0.0.0" revision commit))
4139 (source
4140 (origin
4141 (method git-fetch)
4142 (uri (git-reference
4143 (url "https://github.com/m2ym/cl-annot")
4144 (commit commit)))
4145 (file-name (git-file-name name version))
4146 (sha256
4147 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4148 (build-system asdf-build-system/sbcl)
4149 (inputs
4150 `(("sbcl-alexandria" ,sbcl-alexandria)))
4151 (home-page "https://github.com/m2ym/cl-annot")
4152 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4153 (description
4154 "@code{cl-annot} is an general annotation library for Common Lisp.")
4155 (license license:llgpl))))
4156
4157 (define-public cl-annot
4158 (sbcl-package->cl-source-package sbcl-cl-annot))
4159
4160 (define-public ecl-cl-annot
4161 (sbcl-package->ecl-package sbcl-cl-annot))
4162
4163 (define-public sbcl-cl-syntax
4164 (package
4165 (name "sbcl-cl-syntax")
4166 (version "0.0.3")
4167 (source
4168 (origin
4169 (method git-fetch)
4170 (uri (git-reference
4171 (url "https://github.com/m2ym/cl-syntax")
4172 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4173 (file-name (git-file-name "cl-syntax" version))
4174 (sha256
4175 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4176 (build-system asdf-build-system/sbcl)
4177 (inputs
4178 `(("cl-annot" ,sbcl-cl-annot)
4179 ("cl-interpol" ,sbcl-cl-interpol)
4180 ("named-readtables" ,sbcl-named-readtables)
4181 ("trivial-types" ,sbcl-trivial-types)))
4182 (arguments
4183 '(#:asd-systems '("cl-syntax"
4184 "cl-syntax-annot"
4185 "cl-syntax-interpol")))
4186 (home-page "https://github.com/m2ym/cl-syntax")
4187 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4188 (description
4189 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4190 (license license:llgpl)))
4191
4192 (define-public cl-syntax
4193 (sbcl-package->cl-source-package sbcl-cl-syntax))
4194
4195 (define-public ecl-cl-syntax
4196 (sbcl-package->ecl-package sbcl-cl-syntax))
4197
4198 (define-public sbcl-cl-utilities
4199 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4200 (revision "1"))
4201 (package
4202 (name "sbcl-cl-utilities")
4203 (version (git-version "0.0.0" revision commit))
4204 (source
4205 (origin
4206 (method url-fetch)
4207 (uri
4208 (string-append
4209 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4210 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4211 (sha256
4212 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4213 (build-system asdf-build-system/sbcl)
4214 (arguments
4215 '(#:phases
4216 (modify-phases %standard-phases
4217 (add-after 'unpack 'fix-paths
4218 (lambda* (#:key inputs #:allow-other-keys)
4219 (substitute* "rotate-byte.lisp"
4220 (("in-package :cl-utilities)" all)
4221 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4222 (home-page "http://common-lisp.net/project/cl-utilities")
4223 (synopsis "A collection of semi-standard utilities")
4224 (description
4225 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4226 is a collection of Common Lisp Utilities, things that everybody writes since
4227 they're not part of the official standard. There are some very useful things
4228 there; the only problems are that they aren't implemented as well as you'd
4229 like (some aren't implemented at all) and they aren't conveniently packaged
4230 and maintained. It takes quite a bit of work to carefully implement utilities
4231 for common use, commented and documented, with error checking placed
4232 everywhere some dumb user might make a mistake.")
4233 (license license:public-domain))))
4234
4235 (define-public cl-utilities
4236 (sbcl-package->cl-source-package sbcl-cl-utilities))
4237
4238 (define-public ecl-cl-utilities
4239 (sbcl-package->ecl-package sbcl-cl-utilities))
4240
4241 (define-public sbcl-map-set
4242 (let ((commit "7b4b545b68b8")
4243 (revision "1"))
4244 (package
4245 (name "sbcl-map-set")
4246 (version (git-version "0.0.0" revision commit))
4247 (source
4248 (origin
4249 (method url-fetch)
4250 (uri (string-append
4251 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4252 commit ".tar.gz"))
4253 (sha256
4254 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4255 (build-system asdf-build-system/sbcl)
4256 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4257 (synopsis "Set-like data structure")
4258 (description
4259 "Implementation of a set-like data structure with constant time
4260 addition, removal, and random selection.")
4261 (license license:bsd-3))))
4262
4263 (define-public cl-map-set
4264 (sbcl-package->cl-source-package sbcl-map-set))
4265
4266 (define-public ecl-map-set
4267 (sbcl-package->ecl-package sbcl-map-set))
4268
4269 (define-public sbcl-quri
4270 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4271 (revision "4"))
4272 (package
4273 (name "sbcl-quri")
4274 (version (git-version "0.1.0" revision commit))
4275 (source
4276 (origin
4277 (method git-fetch)
4278 (uri (git-reference
4279 (url "https://github.com/fukamachi/quri")
4280 (commit commit)))
4281 (file-name (git-file-name name version))
4282 (sha256
4283 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4284 (build-system asdf-build-system/sbcl)
4285 (arguments
4286 ;; Test system must be loaded before, otherwise tests fail with:
4287 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4288 ;; "quri">.
4289 '(#:asd-systems '("quri-test"
4290 "quri")))
4291 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4292 (inputs `(("sbcl-babel" ,sbcl-babel)
4293 ("sbcl-split-sequence" ,sbcl-split-sequence)
4294 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4295 ("sbcl-alexandria" ,sbcl-alexandria)))
4296 (home-page "https://github.com/fukamachi/quri")
4297 (synopsis "Yet another URI library for Common Lisp")
4298 (description
4299 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4300 Lisp. It is intended to be a replacement of PURI.")
4301 (license license:bsd-3))))
4302
4303 (define-public cl-quri
4304 (sbcl-package->cl-source-package sbcl-quri))
4305
4306 (define-public ecl-quri
4307 (sbcl-package->ecl-package sbcl-quri))
4308
4309 (define-public sbcl-myway
4310 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4311 (revision "1"))
4312 (package
4313 (name "sbcl-myway")
4314 (version (git-version "0.1.0" revision commit))
4315 (source
4316 (origin
4317 (method git-fetch)
4318 (uri (git-reference
4319 (url "https://github.com/fukamachi/myway")
4320 (commit commit)))
4321 (file-name (git-file-name "myway" version))
4322 (sha256
4323 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4324 (build-system asdf-build-system/sbcl)
4325 (arguments
4326 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4327 ;; by #<SYSTEM "myway">. Why?
4328 '(#:tests? #f))
4329 (native-inputs
4330 `(("sbcl-prove" ,sbcl-prove)))
4331 (inputs
4332 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4333 ("sbcl-quri" ,sbcl-quri)
4334 ("sbcl-map-set" ,sbcl-map-set)))
4335 (home-page "https://github.com/fukamachi/myway")
4336 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4337 (description "My Way is a Sinatra-compatible URL routing library.")
4338 (license license:llgpl))))
4339
4340 (define-public cl-myway
4341 (sbcl-package->cl-source-package sbcl-myway))
4342
4343 (define-public ecl-myway
4344 (sbcl-package->ecl-package sbcl-myway))
4345
4346 (define-public sbcl-xsubseq
4347 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4348 (revision "1"))
4349 (package
4350 (name "sbcl-xsubseq")
4351 (version (git-version "0.0.1" revision commit))
4352 (source
4353 (origin
4354 (method git-fetch)
4355 (uri (git-reference
4356 (url "https://github.com/fukamachi/xsubseq")
4357 (commit commit)))
4358 (file-name (git-file-name name version))
4359 (sha256
4360 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4361 (build-system asdf-build-system/sbcl)
4362 (arguments
4363 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4364 ;; required by #<SYSTEM "xsubseq">. Why?
4365 '(#:tests? #f))
4366 (native-inputs
4367 `(("sbcl-prove" ,sbcl-prove)))
4368 (home-page "https://github.com/fukamachi/xsubseq")
4369 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4370 (description
4371 "XSubseq provides functions to be able to handle \"subseq\"s more
4372 effieiently.")
4373 (license license:bsd-2))))
4374
4375 (define-public cl-xsubseq
4376 (sbcl-package->cl-source-package sbcl-xsubseq))
4377
4378 (define-public ecl-xsubseq
4379 (sbcl-package->ecl-package sbcl-xsubseq))
4380
4381 (define-public sbcl-smart-buffer
4382 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4383 (revision "1"))
4384 (package
4385 (name "sbcl-smart-buffer")
4386 (version (git-version "0.0.1" revision commit))
4387 (source
4388 (origin
4389 (method git-fetch)
4390 (uri (git-reference
4391 (url "https://github.com/fukamachi/smart-buffer")
4392 (commit commit)))
4393 (file-name (git-file-name name version))
4394 (sha256
4395 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4396 (build-system asdf-build-system/sbcl)
4397 (arguments
4398 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4399 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4400 `(#:tests? #f))
4401 (native-inputs
4402 `(("sbcl-prove" ,sbcl-prove)))
4403 (inputs
4404 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4405 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4406 (home-page "https://github.com/fukamachi/smart-buffer")
4407 (synopsis "Smart octets buffer")
4408 (description
4409 "Smart-buffer provides an output buffer which changes the destination
4410 depending on content size.")
4411 (license license:bsd-3))))
4412
4413 (define-public cl-smart-buffer
4414 (sbcl-package->cl-source-package sbcl-smart-buffer))
4415
4416 (define-public ecl-smart-buffer
4417 (sbcl-package->ecl-package sbcl-smart-buffer))
4418
4419 (define-public sbcl-fast-http
4420 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4421 (revision "2"))
4422 (package
4423 (name "sbcl-fast-http")
4424 (version (git-version "0.2.0" revision commit))
4425 (source
4426 (origin
4427 (method git-fetch)
4428 (uri (git-reference
4429 (url "https://github.com/fukamachi/fast-http")
4430 (commit commit)))
4431 (file-name (git-file-name name version))
4432 (sha256
4433 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4434 (build-system asdf-build-system/sbcl)
4435 (arguments
4436 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4437 ;; required by #<SYSTEM "fast-http">. Why?
4438 `(#:tests? #f))
4439 (native-inputs
4440 `(("sbcl-prove" ,sbcl-prove)
4441 ("cl-syntax" ,sbcl-cl-syntax)))
4442 (inputs
4443 `(("sbcl-alexandria" ,sbcl-alexandria)
4444 ("sbcl-proc-parse" ,sbcl-proc-parse)
4445 ("sbcl-xsubseq" ,sbcl-xsubseq)
4446 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4447 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4448 (home-page "https://github.com/fukamachi/fast-http")
4449 (synopsis "HTTP request/response parser for Common Lisp")
4450 (description
4451 "@code{fast-http} is a HTTP request/response protocol parser for Common
4452 Lisp.")
4453 ;; Author specified the MIT license
4454 (license license:expat))))
4455
4456 (define-public cl-fast-http
4457 (sbcl-package->cl-source-package sbcl-fast-http))
4458
4459 (define-public ecl-fast-http
4460 (sbcl-package->ecl-package sbcl-fast-http))
4461
4462 (define-public sbcl-static-vectors
4463 (package
4464 (name "sbcl-static-vectors")
4465 (version "1.8.6")
4466 (source
4467 (origin
4468 (method git-fetch)
4469 (uri (git-reference
4470 (url "https://github.com/sionescu/static-vectors")
4471 (commit (string-append "v" version))))
4472 (file-name (git-file-name name version))
4473 (sha256
4474 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4475 (native-inputs
4476 `(("sbcl-fiveam" ,sbcl-fiveam)))
4477 (inputs
4478 `(("sbcl-alexandria" ,sbcl-alexandria)
4479 ("sbcl-cffi" ,sbcl-cffi)))
4480 (build-system asdf-build-system/sbcl)
4481 (home-page "https://github.com/sionescu/static-vectors")
4482 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4483 (description
4484 "With @code{static-vectors}, you can create vectors allocated in static
4485 memory.")
4486 (license license:expat)))
4487
4488 (define-public cl-static-vectors
4489 (sbcl-package->cl-source-package sbcl-static-vectors))
4490
4491 (define-public ecl-static-vectors
4492 (sbcl-package->ecl-package sbcl-static-vectors))
4493
4494 (define-public sbcl-marshal
4495 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4496 (revision "1"))
4497 (package
4498 (name "sbcl-marshal")
4499 (version (git-version "1.3.0" revision commit))
4500 (source
4501 (origin
4502 (method git-fetch)
4503 (uri (git-reference
4504 (url "https://github.com/wlbr/cl-marshal")
4505 (commit commit)))
4506 (file-name (git-file-name name version))
4507 (sha256
4508 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4509 (build-system asdf-build-system/sbcl)
4510 (home-page "https://github.com/wlbr/cl-marshal")
4511 (synopsis "Simple (de)serialization of Lisp datastructures")
4512 (description
4513 "Simple and fast marshalling of Lisp datastructures. Convert any object
4514 into a string representation, put it on a stream an revive it from there.
4515 Only minimal changes required to make your CLOS objects serializable.")
4516 (license license:expat))))
4517
4518 (define-public cl-marshal
4519 (sbcl-package->cl-source-package sbcl-marshal))
4520
4521 (define-public ecl-marshal
4522 (sbcl-package->ecl-package sbcl-marshal))
4523
4524 (define-public sbcl-checkl
4525 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4526 (revision "1"))
4527 (package
4528 (name "sbcl-checkl")
4529 (version (git-version "0.0.0" revision commit))
4530 (source
4531 (origin
4532 (method git-fetch)
4533 (uri (git-reference
4534 (url "https://github.com/rpav/CheckL")
4535 (commit commit)))
4536 (file-name (git-file-name name version))
4537 (sha256
4538 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4539 (build-system asdf-build-system/sbcl)
4540 (arguments
4541 ;; Error while trying to load definition for system checkl-test from
4542 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4543 ;; is undefined.
4544 '(#:asd-files '("checkl.asd")
4545 #:tests? #f))
4546 (native-inputs
4547 `(("sbcl-fiveam" ,sbcl-fiveam)))
4548 (inputs
4549 `(("sbcl-marshal" ,sbcl-marshal)))
4550 (home-page "https://github.com/rpav/CheckL/")
4551 (synopsis "Dynamic testing for Common Lisp")
4552 (description
4553 "CheckL lets you write tests dynamically, it checks resulting values
4554 against the last run.")
4555 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4556 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4557 ;; stronger of the two and so I think only listing this should suffice.
4558 (license license:llgpl))))
4559
4560 (define-public cl-checkl
4561 (sbcl-package->cl-source-package sbcl-checkl))
4562
4563 (define-public ecl-checkl
4564 (sbcl-package->ecl-package sbcl-checkl))
4565
4566 (define-public sbcl-fast-io
4567 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4568 (revision "2"))
4569 (package
4570 (name "sbcl-fast-io")
4571 (version (git-version "1.0.0" revision commit))
4572 (source
4573 (origin
4574 (method git-fetch)
4575 (uri (git-reference
4576 (url "https://github.com/rpav/fast-io")
4577 (commit commit)))
4578 (file-name (git-file-name name version))
4579 (sha256
4580 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4581 (build-system asdf-build-system/sbcl)
4582 (arguments
4583 ;; Error while trying to load definition for system fast-io-test from
4584 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4585 ;; is undefined.
4586 '(#:tests? #f
4587 #:asd-files '("fast-io.asd")))
4588 (native-inputs
4589 `(("sbcl-fiveam" ,sbcl-fiveam)
4590 ("sbcl-checkl" ,sbcl-checkl)))
4591 (inputs
4592 `(("sbcl-alexandria" ,sbcl-alexandria)
4593 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4594 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4595 (home-page "https://github.com/rpav/fast-io")
4596 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4597 (description
4598 "Fast-io is about improving performance to octet-vectors and octet
4599 streams (though primarily the former, while wrapping the latter).")
4600 ;; Author specifies this as NewBSD which is an alias
4601 (license license:bsd-3))))
4602
4603 (define-public cl-fast-io
4604 (sbcl-package->cl-source-package sbcl-fast-io))
4605
4606 (define-public ecl-fast-io
4607 (sbcl-package->ecl-package sbcl-fast-io))
4608
4609 (define-public sbcl-jonathan
4610 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4611 (revision "1"))
4612 (package
4613 (name "sbcl-jonathan")
4614 (version (git-version "0.1.0" revision commit))
4615 (source
4616 (origin
4617 (method git-fetch)
4618 (uri (git-reference
4619 (url "https://github.com/Rudolph-Miller/jonathan")
4620 (commit commit)))
4621 (file-name (git-file-name name version))
4622 (sha256
4623 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4624 (build-system asdf-build-system/sbcl)
4625 (arguments
4626 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4627 ;; required by #<SYSTEM "jonathan">. Why?
4628 `(#:tests? #f))
4629 (native-inputs
4630 `(("sbcl-prove" ,sbcl-prove)))
4631 (inputs
4632 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4633 ("sbcl-fast-io" ,sbcl-fast-io)
4634 ("sbcl-proc-parse" ,sbcl-proc-parse)
4635 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4636 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4637 (synopsis "JSON encoder and decoder")
4638 (description
4639 "High performance JSON encoder and decoder. Currently support: SBCL,
4640 CCL.")
4641 ;; Author specifies the MIT license
4642 (license license:expat))))
4643
4644 (define-public cl-jonathan
4645 (sbcl-package->cl-source-package sbcl-jonathan))
4646
4647 (define-public ecl-jonathan
4648 (sbcl-package->ecl-package sbcl-jonathan))
4649
4650 (define-public sbcl-http-body
4651 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4652 (revision "1"))
4653 (package
4654 (name "sbcl-http-body")
4655 (version (git-version "0.1.0" revision commit))
4656 (source
4657 (origin
4658 (method git-fetch)
4659 (uri (git-reference
4660 (url "https://github.com/fukamachi/http-body")
4661 (commit commit)))
4662 (file-name (git-file-name name version))
4663 (sha256
4664 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4665 (build-system asdf-build-system/sbcl)
4666 (arguments
4667 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4668 ;; found, required by #<SYSTEM "http-body">. Why?
4669 `(#:tests? #f))
4670 (native-inputs
4671 `(("sbcl-prove" ,sbcl-prove)))
4672 (inputs
4673 `(("sbcl-fast-http" ,sbcl-fast-http)
4674 ("sbcl-jonathan" ,sbcl-jonathan)
4675 ("sbcl-quri" ,sbcl-quri)))
4676 (home-page "https://github.com/fukamachi/http-body")
4677 (synopsis "HTTP POST data parser")
4678 (description
4679 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4680 supports application/x-www-form-urlencoded, application/json, and
4681 multipart/form-data.")
4682 (license license:bsd-2))))
4683
4684 (define-public cl-http-body
4685 (sbcl-package->cl-source-package sbcl-http-body))
4686
4687 (define-public ecl-http-body
4688 (sbcl-package->ecl-package sbcl-http-body))
4689
4690 (define-public sbcl-circular-streams
4691 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4692 (revision "1"))
4693 (package
4694 (name "sbcl-circular-streams")
4695 (version (git-version "0.1.0" revision commit))
4696 (source
4697 (origin
4698 (method git-fetch)
4699 (uri (git-reference
4700 (url "https://github.com/fukamachi/circular-streams")
4701 (commit commit)))
4702 (file-name (git-file-name name version))
4703 (sha256
4704 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4705 (build-system asdf-build-system/sbcl)
4706 (arguments
4707 ;; The tests depend on cl-test-more which is now prove. Prove
4708 ;; tests aren't working for some reason.
4709 `(#:tests? #f))
4710 (inputs
4711 `(("sbcl-fast-io" ,sbcl-fast-io)
4712 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4713 (home-page "https://github.com/fukamachi/circular-streams")
4714 (synopsis "Circularly readable streams for Common Lisp")
4715 (description
4716 "Circular-Streams allows you to read streams circularly by wrapping real
4717 streams. Once you reach end-of-file of a stream, it's file position will be
4718 reset to 0 and you're able to read it again.")
4719 (license license:llgpl))))
4720
4721 (define-public cl-circular-streams
4722 (sbcl-package->cl-source-package sbcl-circular-streams))
4723
4724 (define-public ecl-circular-streams
4725 (sbcl-package->ecl-package sbcl-circular-streams))
4726
4727 (define-public sbcl-lack
4728 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4729 (revision "1"))
4730 (package
4731 (name "sbcl-lack")
4732 (version (git-version "0.1.0" revision commit))
4733 (source
4734 (origin
4735 (method git-fetch)
4736 (uri (git-reference
4737 (url "https://github.com/fukamachi/lack")
4738 (commit commit)))
4739 (file-name (git-file-name "lack" version))
4740 (sha256
4741 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4742 (build-system asdf-build-system/sbcl)
4743 (native-inputs
4744 `(("prove" ,sbcl-prove)))
4745 (inputs
4746 `(("circular-streams" ,sbcl-circular-streams)
4747 ("http-body" ,sbcl-http-body)
4748 ("ironclad" ,sbcl-ironclad)
4749 ("local-time" ,sbcl-local-time)
4750 ("quri" ,sbcl-quri)
4751 ("trivial-mimes" ,sbcl-trivial-mimes)))
4752 (arguments
4753 '(#:asd-systems '("lack"
4754 "lack-request"
4755 "lack-response"
4756 "lack-component"
4757 "lack-util"
4758 "lack-middleware-backtrace"
4759 "lack-middleware-static")
4760 #:test-asd-file "t-lack.asd"
4761 ;; XXX: Component :CLACK not found
4762 #:tests? #f))
4763 (home-page "https://github.com/fukamachi/lack")
4764 (synopsis "Lack, the core of Clack")
4765 (description
4766 "Lack is a Common Lisp library which allows web applications to be
4767 constructed of modular components. It was originally a part of Clack, however
4768 it's going to be rewritten as an individual project since Clack v2 with
4769 performance and simplicity in mind.")
4770 (license license:llgpl))))
4771
4772 (define-public cl-lack
4773 (sbcl-package->cl-source-package sbcl-lack))
4774
4775 (define-public ecl-lack
4776 (sbcl-package->ecl-package sbcl-lack))
4777
4778 (define-public sbcl-local-time
4779 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4780 (revision "2"))
4781 (package
4782 (name "sbcl-local-time")
4783 (version (git-version "1.0.6" revision commit))
4784 (source
4785 (origin
4786 (method git-fetch)
4787 (uri (git-reference
4788 (url "https://github.com/dlowe-net/local-time")
4789 (commit commit)))
4790 (file-name (git-file-name name version))
4791 (sha256
4792 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4793 (build-system asdf-build-system/sbcl)
4794 (native-inputs
4795 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4796 (home-page "https://common-lisp.net/project/local-time/")
4797 (synopsis "Time manipulation library for Common Lisp")
4798 (description
4799 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4800 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4801 Long Painful History of Time\".")
4802 (license license:expat))))
4803
4804 (define-public cl-local-time
4805 (sbcl-package->cl-source-package sbcl-local-time))
4806
4807 (define-public ecl-local-time
4808 (sbcl-package->ecl-package sbcl-local-time))
4809
4810 (define-public sbcl-trivial-mimes
4811 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4812 (revision "2"))
4813 (package
4814 (name "sbcl-trivial-mimes")
4815 (version (git-version "1.1.0" revision commit))
4816 (source
4817 (origin
4818 (method git-fetch)
4819 (uri (git-reference
4820 (url "https://github.com/Shinmera/trivial-mimes")
4821 (commit commit)))
4822 (file-name (git-file-name name version))
4823 (sha256
4824 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4825 (build-system asdf-build-system/sbcl)
4826 (native-inputs
4827 `(("stefil" ,sbcl-hu.dwim.stefil)))
4828 (inputs
4829 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4830 (home-page "https://shinmera.github.io/trivial-mimes/")
4831 (synopsis "Tiny Common Lisp library to detect mime types in files")
4832 (description
4833 "This is a teensy library that provides some functions to determine the
4834 mime-type of a file.")
4835 (license license:zlib))))
4836
4837 (define-public cl-trivial-mimes
4838 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4839
4840 (define-public ecl-trivial-mimes
4841 (sbcl-package->ecl-package sbcl-trivial-mimes))
4842
4843 (define-public sbcl-ningle
4844 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4845 (revision "1"))
4846 (package
4847 (name "sbcl-ningle")
4848 (version (git-version "0.3.0" revision commit))
4849 (source
4850 (origin
4851 (method git-fetch)
4852 (uri (git-reference
4853 (url "https://github.com/fukamachi/ningle")
4854 (commit commit)))
4855 (file-name (git-file-name name version))
4856 (sha256
4857 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4858 (build-system asdf-build-system/sbcl)
4859 (arguments
4860 ;; TODO: pull in clack-test
4861 '(#:tests? #f
4862 #:phases
4863 (modify-phases %standard-phases
4864 (delete 'cleanup-files)
4865 (delete 'cleanup)
4866 (add-before 'cleanup 'combine-fasls
4867 (lambda* (#:key outputs #:allow-other-keys)
4868 (let* ((out (assoc-ref outputs "out"))
4869 (lib (string-append out "/lib/sbcl"))
4870 (ningle-path (string-append lib "/ningle"))
4871 (fasl-files (find-files out "\\.fasl$")))
4872 (mkdir-p ningle-path)
4873 (let ((fasl-path (lambda (name)
4874 (string-append ningle-path
4875 "/"
4876 (basename name)
4877 "--system.fasl"))))
4878 (for-each (lambda (file)
4879 (rename-file file
4880 (fasl-path
4881 (basename file ".fasl"))))
4882 fasl-files))
4883 fasl-files)
4884 #t)))))
4885 (native-inputs
4886 `(("sbcl-prove" ,sbcl-prove)))
4887 (inputs
4888 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4889 ("sbcl-myway" ,sbcl-myway)
4890 ("sbcl-lack" ,sbcl-lack)
4891 ("sbcl-alexandria" ,sbcl-alexandria)
4892 ("sbcl-babel" ,sbcl-babel)))
4893 (home-page "https://8arrow.org/ningle/")
4894 (synopsis "Super micro framework for Common Lisp")
4895 (description
4896 "Ningle is a lightweight web application framework for Common Lisp.")
4897 (license license:llgpl))))
4898
4899 (define-public cl-ningle
4900 (sbcl-package->cl-source-package sbcl-ningle))
4901
4902 (define-public ecl-ningle
4903 (sbcl-package->ecl-package sbcl-ningle))
4904
4905 (define-public sbcl-cl-fastcgi
4906 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4907 (revision "2"))
4908 (package
4909 (name "sbcl-cl-fastcgi")
4910 (version (git-version "0.2" revision commit))
4911 (source
4912 (origin
4913 (method git-fetch)
4914 (uri (git-reference
4915 (url "https://github.com/KDr2/cl-fastcgi/")
4916 (commit commit)))
4917 (file-name (git-file-name name version))
4918 (sha256
4919 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4920 (build-system asdf-build-system/sbcl)
4921 (inputs
4922 `(("usocket" ,sbcl-usocket)
4923 ("cffi" ,sbcl-cffi)
4924 ("fcgi" ,fcgi)))
4925 (arguments
4926 `(#:phases
4927 (modify-phases %standard-phases
4928 (add-after 'unpack 'fix-paths
4929 (lambda* (#:key inputs #:allow-other-keys)
4930 (substitute* "cl-fastcgi.lisp"
4931 (("\"libfcgi.so\"")
4932 (string-append
4933 "\""
4934 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4935 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4936 (synopsis "FastCGI wrapper for Common Lisp")
4937 (description
4938 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4939 mostly Common Lisp implementation.")
4940 (license license:bsd-2))))
4941
4942 (define-public cl-fastcgi
4943 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4944
4945 (define-public ecl-cl-fastcgi
4946 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4947
4948 (define-public sbcl-clack
4949 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4950 (revision "1"))
4951 (package
4952 (name "sbcl-clack")
4953 (version (git-version "2.0.0" revision commit))
4954 (source
4955 (origin
4956 (method git-fetch)
4957 (uri (git-reference
4958 (url "https://github.com/fukamachi/clack")
4959 (commit commit)))
4960 (file-name (git-file-name name version))
4961 (sha256
4962 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4963 (build-system asdf-build-system/sbcl)
4964 (inputs
4965 `(("alexandria" ,sbcl-alexandria)
4966 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4967 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4968 ("flexi-streams" ,sbcl-flexi-streams)
4969 ("hunchentoot" ,sbcl-hunchentoot)
4970 ("lack" ,sbcl-lack)
4971 ("split-sequence" ,sbcl-split-sequence)
4972 ("usocket" ,sbcl-usocket)
4973 ("quri" ,sbcl-quri)))
4974 (arguments
4975 '(#:asd-systems '("clack"
4976 "clack-handler-fcgi"
4977 "clack-socket"
4978 "clack-handler-hunchentoot")))
4979 (home-page "https://github.com/fukamachi/clack")
4980 (synopsis "Web Application Environment for Common Lisp")
4981 (description
4982 "Clack is a web application environment for Common Lisp inspired by
4983 Python's WSGI and Ruby's Rack.")
4984 (license license:llgpl))))
4985
4986 (define-public cl-clack
4987 (sbcl-package->cl-source-package sbcl-clack))
4988
4989 (define-public ecl-clack
4990 (sbcl-package->ecl-package sbcl-clack))
4991
4992 (define-public sbcl-cl-log
4993 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4994 (revision "1"))
4995 (package
4996 (name "sbcl-cl-log")
4997 (version "1.0.1")
4998 (source
4999 (origin
5000 (method git-fetch)
5001 (uri (git-reference
5002 (url "https://github.com/nicklevine/cl-log")
5003 (commit commit)))
5004 (sha256
5005 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5006 (file-name (git-file-name "cl-log" version))))
5007 (build-system asdf-build-system/sbcl)
5008 (synopsis "Common Lisp general purpose logging utility")
5009 (description "CL-LOG is a general purpose logging utility, loosely modelled
5010 in some respects after Gary King's Log5. Its features include: logging to
5011 several destinations at once, via \"messengers\", each messenger is tailored to
5012 accept some log messages and reject others, and this tailoring can be changed
5013 on-the-fly, very rapid processing of messages which are rejected by all
5014 messengers, fully independent use of the utility by several different
5015 sub-systems in an application, support for messengers which cl:format text to a
5016 stream, support for messengers which do not invoke cl:format, timestamps in
5017 theory accurate to internal-time-units-per-second.")
5018 (home-page "https://github.com/nicklevine/cl-log")
5019 (license license:expat))))
5020
5021 (define-public cl-log
5022 (sbcl-package->cl-source-package sbcl-cl-log))
5023
5024 (define-public ecl-cl-log
5025 (sbcl-package->ecl-package sbcl-cl-log))
5026
5027 (define-public sbcl-log4cl
5028 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5029 (revision "1"))
5030 (package
5031 (name "sbcl-log4cl")
5032 (version (git-version "1.1.3" revision commit))
5033 (source
5034 (origin
5035 (method git-fetch)
5036 (uri (git-reference
5037 (url "https://github.com/sharplispers/log4cl")
5038 (commit commit)))
5039 (file-name (git-file-name "log4cl" version))
5040 (sha256
5041 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5042 (build-system asdf-build-system/sbcl)
5043 (native-inputs
5044 `(("stefil" ,sbcl-stefil)))
5045 (inputs
5046 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5047 (home-page "https://github.com/7max/log4cl")
5048 (synopsis "Common Lisp logging framework, modeled after Log4J")
5049 (description
5050 "This is a Common Lisp logging framework that can log at various levels
5051 and mix text with expressions.")
5052 (license license:asl2.0))))
5053
5054 (define-public cl-log4cl
5055 (sbcl-package->cl-source-package sbcl-log4cl))
5056
5057 (define-public ecl-log4cl
5058 (sbcl-package->ecl-package sbcl-log4cl))
5059
5060 (define-public sbcl-printv
5061 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5062 (revision "1"))
5063 (package
5064 (name "sbcl-printv")
5065 (version (git-version "0.1.0" revision commit))
5066 (source
5067 (origin
5068 (method git-fetch)
5069 (uri (git-reference
5070 (url "https://github.com/danlentz/printv")
5071 (commit commit)))
5072 (file-name (git-file-name "printv" version))
5073 (sha256
5074 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5075 (build-system asdf-build-system/sbcl)
5076 (home-page "https://github.com/danlentz/printv")
5077 (synopsis "Common Lisp tracing and debug-logging macro")
5078 (description
5079 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5080 macro for Common Lisp.")
5081 (license license:asl2.0))))
5082
5083 (define-public ecl-printv
5084 (sbcl-package->ecl-package sbcl-printv))
5085
5086 (define-public cl-printv
5087 (sbcl-package->cl-source-package sbcl-printv))
5088
5089 (define-public sbcl-verbose
5090 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5091 (revision "1"))
5092 (package
5093 (name "sbcl-verbose")
5094 (version (git-version "2.0.0" revision commit))
5095 (source
5096 (origin
5097 (method git-fetch)
5098 (uri (git-reference
5099 (url "https://github.com/Shinmera/verbose/")
5100 (commit commit)))
5101 (file-name (git-file-name "verbose" version))
5102 (sha256
5103 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5104 (build-system asdf-build-system/sbcl)
5105 (inputs
5106 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5107 ("dissect" ,sbcl-dissect)
5108 ("documentation-utils" ,sbcl-documentation-utils)
5109 ("local-time" ,sbcl-local-time)
5110 ("piping" ,sbcl-piping)))
5111 (home-page "https://shinmera.github.io/verbose/")
5112 (synopsis "Logging framework using the piping library")
5113 (description
5114 "This is a Common Lisp library providing logging faciltiy similar to
5115 @code{CL-LOG} and @code{LOG4CL}.")
5116 (license license:zlib))))
5117
5118 (define-public ecl-verbose
5119 (sbcl-package->ecl-package sbcl-verbose))
5120
5121 (define-public cl-verbose
5122 (sbcl-package->cl-source-package sbcl-verbose))
5123
5124 (define-public sbcl-find-port
5125 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5126 (revision "1"))
5127 (package
5128 (name "sbcl-find-port")
5129 (build-system asdf-build-system/sbcl)
5130 (version "0.1")
5131 (home-page "https://github.com/eudoxia0/find-port")
5132 (source
5133 (origin
5134 (method git-fetch)
5135 (uri (git-reference
5136 (url home-page)
5137 (commit commit)))
5138 (file-name (git-file-name name version))
5139 (sha256
5140 (base32
5141 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5142 (native-inputs
5143 `(("fiveam" ,sbcl-fiveam)))
5144 (inputs
5145 `(("sbcl-usocket" ,sbcl-usocket)))
5146 (synopsis "Find open ports programmatically in Common Lisp")
5147 (description "This is a small Common Lisp library that finds an open
5148 port within a range.")
5149 (license license:expat))))
5150
5151 (define-public cl-find-port
5152 (sbcl-package->cl-source-package sbcl-find-port))
5153
5154 (define-public ecl-find-port
5155 (sbcl-package->ecl-package sbcl-find-port))
5156
5157 (define-public sbcl-clunit
5158 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5159 (revision "1"))
5160 (package
5161 (name "sbcl-clunit")
5162 (version (git-version "0.2.3" revision commit))
5163 (source
5164 (origin
5165 (method git-fetch)
5166 (uri (git-reference
5167 (url "https://github.com/tgutu/clunit")
5168 (commit commit)))
5169 (file-name (git-file-name name version))
5170 (sha256
5171 (base32
5172 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5173 (build-system asdf-build-system/sbcl)
5174 (synopsis "CLUnit is a Common Lisp unit testing framework")
5175 (description
5176 "CLUnit is a Common Lisp unit testing framework. It is designed
5177 to be easy to use so that you can quickly start testing. CLUnit
5178 provides a rich set of features aimed at improving your unit testing
5179 experience.")
5180 (home-page "https://tgutu.github.io/clunit/")
5181 ;; MIT License
5182 (license license:expat))))
5183
5184 (define-public cl-clunit
5185 (sbcl-package->cl-source-package sbcl-clunit))
5186
5187 (define-public ecl-clunit
5188 (sbcl-package->ecl-package sbcl-clunit))
5189
5190 (define-public sbcl-py4cl
5191 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5192 (revision "1"))
5193 (package
5194 (name "sbcl-py4cl")
5195 (version (git-version "0.0.0" revision commit))
5196 (source
5197 (origin
5198 (method git-fetch)
5199 (uri (git-reference
5200 (url "https://github.com/bendudson/py4cl")
5201 (commit commit)))
5202 (file-name (git-file-name name version))
5203 (sha256
5204 (base32
5205 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5206 (modules '((guix build utils)))))
5207 (build-system asdf-build-system/sbcl)
5208 (native-inputs
5209 `(("sbcl-clunit" ,sbcl-clunit)))
5210 (inputs
5211 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5212 (propagated-inputs
5213 ;; This package doesn't do anything without python available
5214 `(("python" ,python)
5215 ;; For multi-dimensional array support
5216 ("python-numpy" ,python-numpy)))
5217 (arguments
5218 '(#:phases
5219 (modify-phases %standard-phases
5220 (add-after 'unpack 'replace-*base-directory*-var
5221 (lambda* (#:key outputs #:allow-other-keys)
5222 ;; In the ASD, the author makes an attempt to
5223 ;; programatically determine the location of the
5224 ;; source-code so lisp can call into "py4cl.py". We can
5225 ;; hard-code this since we know where this file will
5226 ;; reside.
5227 (substitute* "src/callpython.lisp"
5228 (("py4cl/config:\\*base-directory\\*")
5229 (string-append
5230 "\""
5231 (assoc-ref outputs "out")
5232 "/share/common-lisp/sbcl-source/py4cl/"
5233 "\""))))))))
5234 (synopsis "Call python from Common Lisp")
5235 (description
5236 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5237 Lisp to interact with Python code. It uses streams to communicate with a
5238 separate python process, the approach taken by cl4py. This is different to
5239 the CFFI approach used by burgled-batteries, but has the same goal.")
5240 (home-page "https://github.com/bendudson/py4cl")
5241 ;; MIT License
5242 (license license:expat))))
5243
5244 (define-public cl-py4cl
5245 (sbcl-package->cl-source-package sbcl-py4cl))
5246
5247 (define-public ecl-py4cl
5248 (sbcl-package->ecl-package sbcl-py4cl))
5249
5250 (define-public sbcl-parse-declarations
5251 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5252 (revision "1"))
5253 (package
5254 (name "sbcl-parse-declarations")
5255 (version (git-version "1.0.0" revision commit))
5256 (source
5257 (origin
5258 (method git-fetch)
5259 (uri (git-reference
5260 (url (string-append
5261 "https://gitlab.common-lisp.net/parse-declarations/"
5262 "parse-declarations.git"))
5263 (commit commit)))
5264 (file-name (git-file-name name version))
5265 (sha256
5266 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5267 (build-system asdf-build-system/sbcl)
5268 (arguments
5269 `(#:asd-systems '("parse-declarations-1.0")))
5270 (home-page "https://common-lisp.net/project/parse-declarations/")
5271 (synopsis "Parse, filter, and build declarations")
5272 (description
5273 "Parse-Declarations is a Common Lisp library to help writing
5274 macros which establish bindings. To be semantically correct, such
5275 macros must take user declarations into account, as these may affect
5276 the bindings they establish. Yet the ANSI standard of Common Lisp does
5277 not provide any operators to work with declarations in a convenient,
5278 high-level way. This library provides such operators.")
5279 ;; MIT License
5280 (license license:expat))))
5281
5282 (define-public cl-parse-declarations
5283 (sbcl-package->cl-source-package sbcl-parse-declarations))
5284
5285 (define-public ecl-parse-declarations
5286 (sbcl-package->ecl-package sbcl-parse-declarations))
5287
5288 (define-public sbcl-cl-quickcheck
5289 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5290 (revision "1"))
5291 (package
5292 (name "sbcl-cl-quickcheck")
5293 (version (git-version "0.0.4" revision commit))
5294 (source
5295 (origin
5296 (method git-fetch)
5297 (uri (git-reference
5298 (url "https://github.com/mcandre/cl-quickcheck")
5299 (commit commit)))
5300 (file-name (git-file-name name version))
5301 (sha256
5302 (base32
5303 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5304 (build-system asdf-build-system/sbcl)
5305 (synopsis
5306 "Common Lisp port of the QuickCheck unit test framework")
5307 (description
5308 "Common Lisp port of the QuickCheck unit test framework")
5309 (home-page "https://github.com/mcandre/cl-quickcheck")
5310 ;; MIT
5311 (license license:expat))))
5312
5313 (define-public cl-quickcheck
5314 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5315
5316 (define-public ecl-cl-quickcheck
5317 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5318
5319 (define-public sbcl-burgled-batteries3
5320 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5321 (revision "2"))
5322 (package
5323 (name "sbcl-burgled-batteries3")
5324 (version (git-version "0.0.0" revision commit))
5325 (source
5326 (origin
5327 (method git-fetch)
5328 (uri (git-reference
5329 (url "https://github.com/snmsts/burgled-batteries3")
5330 (commit commit)))
5331 (file-name (git-file-name name version))
5332 (sha256
5333 (base32
5334 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5335 (build-system asdf-build-system/sbcl)
5336 (arguments
5337 `(#:tests? #f
5338 #:modules (((guix build python-build-system) #:select (python-version))
5339 ,@%asdf-build-system-modules)
5340 #:imported-modules ((guix build python-build-system)
5341 ,@%asdf-build-system-modules)
5342 #:phases
5343 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5344 (add-after 'unpack 'set-*cpython-include-dir*-var
5345 (lambda* (#:key inputs #:allow-other-keys)
5346 (let ((python (assoc-ref inputs "python")))
5347 (setenv "BB_PYTHON3_INCLUDE_DIR"
5348 (string-append python "/include/python"
5349 (python-version python)))
5350 (setenv "BB_PYTHON3_DYLIB"
5351 (string-append python "/lib/libpython3.so"))
5352 #t)))
5353 (add-after 'unpack 'adjust-for-python-3.8
5354 (lambda _
5355 ;; This method is no longer part of the public API.
5356 (substitute* "ffi-interface.lisp"
5357 ((".*PyEval_ReInitThreads.*")
5358 ""))
5359 #t)))))
5360 (native-inputs
5361 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5362 ("sbcl-lift" ,sbcl-lift)
5363 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5364 (inputs
5365 `(("python" ,python)
5366 ("sbcl-cffi" ,sbcl-cffi)
5367 ("sbcl-alexandria" , sbcl-alexandria)
5368 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5369 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5370 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5371 (description
5372 "This package provides a shim between Python3 (specifically, the
5373 CPython implementation of Python) and Common Lisp.")
5374 (home-page "https://github.com/snmsts/burgled-batteries3")
5375 (license license:expat))))
5376
5377 (define-public cl-burgled-batteries3
5378 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5379
5380 (define-public ecl-burgled-batteries3
5381 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5382
5383 (define-public sbcl-metabang-bind
5384 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5385 (revision "1"))
5386 (package
5387 (name "sbcl-metabang-bind")
5388 (version (git-version "0.8.0" revision commit))
5389 (source
5390 (origin
5391 (method git-fetch)
5392 (uri (git-reference
5393 (url "https://github.com/gwkkwg/metabang-bind")
5394 (commit commit)))
5395 (file-name (git-file-name name version))
5396 (sha256
5397 (base32
5398 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5399 (build-system asdf-build-system/sbcl)
5400 (native-inputs
5401 `(("sbcl-lift" ,sbcl-lift)))
5402 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5403 (description
5404 "Bind extends the idea of of let and destructing to provide a uniform
5405 syntax for all your accessor needs. It combines @code{let},
5406 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5407 editing, property or association-lists, and @code{multiple-value-bind} and a
5408 whole lot more into a single form.")
5409 (home-page "https://common-lisp.net/project/metabang-bind/")
5410 ;; MIT License
5411 (license license:expat))))
5412
5413 (define-public cl-metabang-bind
5414 (sbcl-package->cl-source-package sbcl-metabang-bind))
5415
5416 (define-public ecl-metabang-bind
5417 (sbcl-package->ecl-package sbcl-metabang-bind))
5418
5419 (define-public sbcl-fare-utils
5420 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5421 (revision "1"))
5422 (package
5423 (name "sbcl-fare-utils")
5424 (version (git-version "1.0.0.5" revision commit))
5425 (source
5426 (origin
5427 (method git-fetch)
5428 (uri
5429 (git-reference
5430 (url
5431 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5432 (commit commit)))
5433 (file-name (git-file-name name version))
5434 (sha256
5435 (base32
5436 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5437 (build-system asdf-build-system/sbcl)
5438 (arguments
5439 `(#:test-asd-file "test/fare-utils-test.asd"))
5440 (native-inputs
5441 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5442 (synopsis "Collection of utilities and data structures")
5443 (description
5444 "fare-utils is a small collection of utilities. It contains a lot of
5445 basic everyday functions and macros.")
5446 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5447 ;; MIT License
5448 (license license:expat))))
5449
5450 (define-public cl-fare-utils
5451 (sbcl-package->cl-source-package sbcl-fare-utils))
5452
5453 (define-public ecl-fare-utils
5454 (sbcl-package->ecl-package sbcl-fare-utils))
5455
5456 (define-public sbcl-trivial-utf-8
5457 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5458 (revision "1"))
5459 (package
5460 (name "sbcl-trivial-utf-8")
5461 (version (git-version "0.0.0" revision commit))
5462 (source
5463 (origin
5464 (method git-fetch)
5465 (uri
5466 (git-reference
5467 (url (string-append "https://gitlab.common-lisp.net/"
5468 "trivial-utf-8/trivial-utf-8.git"))
5469 (commit commit)))
5470 (file-name (git-file-name name version))
5471 (sha256
5472 (base32
5473 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5474 (arguments
5475 ;; Guix incorrectly assumes the "8" is part of the version
5476 ;; number and lobs it off.
5477 `(#:asd-systems '("trivial-utf-8")))
5478 (build-system asdf-build-system/sbcl)
5479 (synopsis "UTF-8 input/output library")
5480 (description
5481 "The Babel library solves a similar problem while understanding more
5482 encodings. Trivial UTF-8 was written before Babel existed, but for new
5483 projects you might be better off going with Babel. The one plus that Trivial
5484 UTF-8 has is that it doesn't depend on any other libraries.")
5485 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5486 (license license:bsd-3))))
5487
5488 (define-public cl-trivial-utf-8
5489 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5490
5491 (define-public ecl-trivial-utf-8
5492 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5493
5494 (define-public sbcl-idna
5495 (package
5496 (name "sbcl-idna")
5497 (build-system asdf-build-system/sbcl)
5498 (version "0.2.2")
5499 (home-page "https://github.com/antifuchs/idna")
5500 (source
5501 (origin
5502 (method git-fetch)
5503 (uri (git-reference
5504 (url home-page)
5505 (commit version)))
5506 (file-name (git-file-name name version))
5507 (sha256
5508 (base32
5509 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5510 (inputs
5511 `(("split-sequence" ,sbcl-split-sequence)))
5512 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5513 (description "This Common Lisp library provides string encoding and
5514 decoding routines for IDNA, the International Domain Names in Applications.")
5515 (license license:expat)))
5516
5517 (define-public cl-idna
5518 (sbcl-package->cl-source-package sbcl-idna))
5519
5520 (define-public ecl-idna
5521 (sbcl-package->ecl-package sbcl-idna))
5522
5523 (define-public sbcl-swap-bytes
5524 (package
5525 (name "sbcl-swap-bytes")
5526 (build-system asdf-build-system/sbcl)
5527 (version "1.2")
5528 (home-page "https://github.com/sionescu/swap-bytes")
5529 (source
5530 (origin
5531 (method git-fetch)
5532 (uri (git-reference
5533 (url home-page)
5534 (commit (string-append "v" version))))
5535 (file-name (git-file-name name version))
5536 (sha256
5537 (base32
5538 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5539 (inputs
5540 `(("trivial-features" ,sbcl-trivial-features)))
5541 (native-inputs
5542 `(("fiveam" ,sbcl-fiveam)))
5543 (synopsis "Efficient endianness conversion for Common Lisp")
5544 (description "This Common Lisp library provides optimized byte-swapping
5545 primitives. The library can change endianness of unsigned integers of length
5546 1/2/4/8. Very useful in implementing various network protocols and file
5547 formats.")
5548 (license license:expat)))
5549
5550 (define-public cl-swap-bytes
5551 (sbcl-package->cl-source-package sbcl-swap-bytes))
5552
5553 (define-public ecl-swap-bytes
5554 (sbcl-package->ecl-package sbcl-swap-bytes))
5555
5556 (define-public sbcl-iolib
5557 ;; Latest release is from June 2017.
5558 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5559 (revision "2"))
5560 (package
5561 (name "sbcl-iolib")
5562 (version (git-version "0.8.3" revision commit))
5563 (home-page "https://github.com/sionescu/iolib")
5564 (source
5565 (origin
5566 (method git-fetch)
5567 (uri (git-reference
5568 (url home-page)
5569 (commit commit)))
5570 (file-name (git-file-name name version))
5571 (sha256
5572 (base32
5573 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5574 (build-system asdf-build-system/sbcl)
5575 (inputs
5576 `(("alexandria" ,sbcl-alexandria)
5577 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5578 ("cffi" ,sbcl-cffi)
5579 ("idna" ,sbcl-idna)
5580 ("libfixposix" ,libfixposix)
5581 ("split-sequence" ,sbcl-split-sequence)
5582 ("swap-bytes" ,sbcl-swap-bytes)))
5583 (arguments
5584 '(#:asd-files '("iolib.asdf.asd"
5585 "iolib.conf.asd"
5586 "iolib.common-lisp.asd"
5587 "iolib.base.asd"
5588 "iolib.asd")
5589 #:phases
5590 (modify-phases %standard-phases
5591 (add-after 'unpack 'fix-paths
5592 (lambda* (#:key inputs #:allow-other-keys)
5593 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5594 (("\\(:default \"libfixposix\"\\)")
5595 (string-append
5596 "(:default \""
5597 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5598 ;; Socket tests need Internet access, disable them.
5599 (substitute* "iolib.asd"
5600 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5601 "")))))))
5602 (synopsis "Common Lisp I/O library")
5603 (description "IOlib is to be a better and more modern I/O library than
5604 the standard Common Lisp library. It contains a socket library, a DNS
5605 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5606 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5607 (license license:expat))))
5608
5609 (define-public cl-iolib
5610 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5611 (package
5612 (inherit parent)
5613 (propagated-inputs
5614 ;; Need header to compile.
5615 `(("libfixposix" ,libfixposix)
5616 ,@(package-propagated-inputs parent))))))
5617
5618 (define-public ecl-iolib
5619 (sbcl-package->ecl-package sbcl-iolib))
5620
5621 (define-public sbcl-ieee-floats
5622 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5623 (revision "1"))
5624 (package
5625 (name "sbcl-ieee-floats")
5626 (build-system asdf-build-system/sbcl)
5627 (version (git-version "20170924" revision commit))
5628 (home-page "https://github.com/marijnh/ieee-floats/")
5629 (source
5630 (origin
5631 (method git-fetch)
5632 (uri (git-reference
5633 (url home-page)
5634 (commit commit)))
5635 (file-name (git-file-name name version))
5636 (sha256
5637 (base32
5638 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5639 (native-inputs
5640 `(("fiveam" ,sbcl-fiveam)))
5641 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5642 (description "This is a Common Lisp library that converts
5643 floating point values to IEEE 754 binary representation.")
5644 (license license:bsd-3))))
5645
5646 (define-public cl-ieee-floats
5647 (sbcl-package->cl-source-package sbcl-ieee-floats))
5648
5649 (define-public ecl-ieee-floats
5650 (sbcl-package->ecl-package sbcl-ieee-floats))
5651
5652 (define sbcl-closure-common
5653 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5654 (revision "1"))
5655 (package
5656 (name "sbcl-closure-common")
5657 (build-system asdf-build-system/sbcl)
5658 (version (git-version "20101006" revision commit))
5659 (home-page "https://common-lisp.net/project/cxml/")
5660 (source
5661 (origin
5662 (method git-fetch)
5663 (uri (git-reference
5664 (url "https://github.com/sharplispers/closure-common")
5665 (commit commit)))
5666 (file-name (git-file-name name version))
5667 (sha256
5668 (base32
5669 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5670 (inputs
5671 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5672 ("babel" ,sbcl-babel)))
5673 (synopsis "Support Common Lisp library for CXML")
5674 (description "Closure-common is an internal helper library. The name
5675 Closure is a reference to the web browser it was originally written for.")
5676 ;; TODO: License?
5677 (license #f))))
5678
5679 (define-public sbcl-cxml
5680 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5681 (revision "1"))
5682 (package
5683 (name "sbcl-cxml")
5684 (version (git-version "0.0.0" revision commit))
5685 (source
5686 (origin
5687 (method git-fetch)
5688 (uri (git-reference
5689 (url "https://github.com/sharplispers/cxml")
5690 (commit commit)))
5691 (file-name (git-file-name name version))
5692 (sha256
5693 (base32
5694 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5695 (build-system asdf-build-system/sbcl)
5696 (inputs
5697 `(("closure-common" ,sbcl-closure-common)
5698 ("puri" ,sbcl-puri)
5699 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5700 (synopsis "Common Lisp XML parser")
5701 (description "CXML implements a namespace-aware, validating XML 1.0
5702 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5703 offered, one SAX-like, the other similar to StAX.")
5704 (home-page "https://common-lisp.net/project/cxml/")
5705 (license license:llgpl))))
5706
5707 (define-public cl-cxml
5708 (sbcl-package->cl-source-package sbcl-cxml))
5709
5710 (define-public ecl-cxml
5711 (sbcl-package->ecl-package sbcl-cxml))
5712
5713 (define-public sbcl-cl-reexport
5714 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5715 (revision "1"))
5716 (package
5717 (name "sbcl-cl-reexport")
5718 (build-system asdf-build-system/sbcl)
5719 (version (git-version "0.1" revision commit))
5720 (home-page "https://github.com/takagi/cl-reexport")
5721 (source
5722 (origin
5723 (method git-fetch)
5724 (uri (git-reference
5725 (url home-page)
5726 (commit commit)))
5727 (file-name (git-file-name name version))
5728 (sha256
5729 (base32
5730 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5731 (inputs
5732 `(("alexandria" ,sbcl-alexandria)))
5733 (arguments
5734 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5735 `(#:tests? #f))
5736 (synopsis "HTTP cookie manager for Common Lisp")
5737 (description "cl-cookie is a Common Lisp library featuring parsing of
5738 cookie headers, cookie creation, cookie jar creation and more.")
5739 (license license:llgpl))))
5740
5741 (define-public cl-reexport
5742 (sbcl-package->cl-source-package sbcl-cl-reexport))
5743
5744 (define-public ecl-cl-reexport
5745 (sbcl-package->ecl-package sbcl-cl-reexport))
5746
5747 (define-public sbcl-cl-cookie
5748 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5749 (revision "1"))
5750 (package
5751 (name "sbcl-cl-cookie")
5752 (build-system asdf-build-system/sbcl)
5753 (version (git-version "0.9.10" revision commit))
5754 (home-page "https://github.com/fukamachi/cl-cookie")
5755 (source
5756 (origin
5757 (method git-fetch)
5758 (uri (git-reference
5759 (url home-page)
5760 (commit commit)))
5761 (file-name (git-file-name name version))
5762 (sha256
5763 (base32
5764 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5765 (inputs
5766 `(("proc-parse" ,sbcl-proc-parse)
5767 ("alexandria" ,sbcl-alexandria)
5768 ("quri" ,sbcl-quri)
5769 ("cl-ppcre" ,sbcl-cl-ppcre)
5770 ("local-time" ,sbcl-local-time)))
5771 (native-inputs
5772 `(("prove" ,sbcl-prove)))
5773 (arguments
5774 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5775 `(#:tests? #f))
5776 (synopsis "HTTP cookie manager for Common Lisp")
5777 (description "cl-cookie is a Common Lisp library featuring parsing of
5778 cookie headers, cookie creation, cookie jar creation and more.")
5779 (license license:bsd-2))))
5780
5781 (define-public cl-cookie
5782 (sbcl-package->cl-source-package sbcl-cl-cookie))
5783
5784 (define-public ecl-cl-cookie
5785 (sbcl-package->ecl-package sbcl-cl-cookie))
5786
5787 (define-public sbcl-dexador
5788 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5789 (revision "1"))
5790 (package
5791 (name "sbcl-dexador")
5792 (build-system asdf-build-system/sbcl)
5793 (version "0.9.14" )
5794 (home-page "https://github.com/fukamachi/dexador")
5795 (source
5796 (origin
5797 (method git-fetch)
5798 (uri (git-reference
5799 (url home-page)
5800 (commit commit)))
5801 (file-name (git-file-name name version))
5802 (sha256
5803 (base32
5804 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5805 (inputs
5806 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5807 ("babel" ,sbcl-babel)
5808 ("usocket" ,sbcl-usocket)
5809 ("fast-http" ,sbcl-fast-http)
5810 ("quri" ,sbcl-quri)
5811 ("fast-io" ,sbcl-fast-io)
5812 ("chunga" ,sbcl-chunga)
5813 ("cl-ppcre" ,sbcl-cl-ppcre)
5814 ("cl-cookie" ,sbcl-cl-cookie)
5815 ("trivial-mimes" ,sbcl-trivial-mimes)
5816 ("chipz" ,sbcl-chipz)
5817 ("cl-base64" ,sbcl-cl-base64)
5818 ("cl-reexport" ,sbcl-cl-reexport)
5819 ("cl+ssl" ,sbcl-cl+ssl)
5820 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5821 ("alexandria" ,sbcl-alexandria)))
5822 (native-inputs
5823 `(("prove" ,sbcl-prove)
5824 ("lack" ,sbcl-lack)
5825 ("clack" ,sbcl-clack)
5826 ("babel" ,sbcl-babel)
5827 ("alexandria" ,sbcl-alexandria)
5828 ("cl-ppcre" ,sbcl-cl-ppcre)
5829 ("local-time" ,sbcl-local-time)
5830 ("trivial-features" ,sbcl-trivial-features)))
5831 (arguments
5832 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5833 `(#:tests? #f
5834 #:phases
5835 (modify-phases %standard-phases
5836 (add-after 'unpack 'fix-permissions
5837 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5838 (synopsis "Yet another HTTP client for Common Lisp")
5839 (description "Dexador is yet another HTTP client for Common Lisp with
5840 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5841 (license license:expat))))
5842
5843 (define-public cl-dexador
5844 (package
5845 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5846 (arguments
5847 `(#:phases
5848 ;; asdf-build-system/source has its own phases and does not inherit
5849 ;; from asdf-build-system/sbcl phases.
5850 (modify-phases %standard-phases/source
5851 ;; Already done in SBCL package.
5852 (delete 'reset-gzip-timestamps))))))
5853
5854 (define-public ecl-dexador
5855 (sbcl-package->ecl-package sbcl-dexador))
5856
5857 (define-public sbcl-lisp-namespace
5858 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5859 (revision "1"))
5860 (package
5861 (name "sbcl-lisp-namespace")
5862 (build-system asdf-build-system/sbcl)
5863 (version (git-version "0.1" revision commit))
5864 (home-page "https://github.com/guicho271828/lisp-namespace")
5865 (source
5866 (origin
5867 (method git-fetch)
5868 (uri (git-reference
5869 (url home-page)
5870 (commit commit)))
5871 (file-name (git-file-name name version))
5872 (sha256
5873 (base32
5874 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5875 (inputs
5876 `(("alexandria" ,sbcl-alexandria)))
5877 (native-inputs
5878 `(("fiveam" ,sbcl-fiveam)))
5879 (arguments
5880 `(#:test-asd-file "lisp-namespace.test.asd"
5881 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5882 #:tests? #f))
5883 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5884 (description "Common Lisp already has major 2 namespaces, function
5885 namespace and value namespace (or variable namespace), but there are actually
5886 more — e.g., class namespace.
5887 This library offers macros to deal with symbols from any namespace.")
5888 (license license:llgpl))))
5889
5890 (define-public cl-lisp-namespace
5891 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5892
5893 (define-public ecl-lisp-namespace
5894 (sbcl-package->ecl-package sbcl-lisp-namespace))
5895
5896 (define-public sbcl-trivial-cltl2
5897 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5898 (revision "2"))
5899 (package
5900 (name "sbcl-trivial-cltl2")
5901 (build-system asdf-build-system/sbcl)
5902 (version (git-version "0.1.1" revision commit))
5903 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5904 (source
5905 (origin
5906 (method git-fetch)
5907 (uri (git-reference
5908 (url home-page)
5909 (commit commit)))
5910 (file-name (git-file-name name version))
5911 (sha256
5912 (base32
5913 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5914 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5915 (description "This library is a portable compatibility layer around
5916 \"Common Lisp the Language, 2nd
5917 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5918 and it exports symbols from implementation-specific packages.")
5919 (license license:llgpl))))
5920
5921 (define-public cl-trivial-cltl2
5922 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5923
5924 (define-public ecl-trivial-cltl2
5925 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5926
5927 (define-public sbcl-introspect-environment
5928 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5929 (revision "1"))
5930 (package
5931 (name "sbcl-introspect-environment")
5932 (build-system asdf-build-system/sbcl)
5933 (version (git-version "0.1" revision commit))
5934 (home-page "https://github.com/Bike/introspect-environment")
5935 (source
5936 (origin
5937 (method git-fetch)
5938 (uri (git-reference
5939 (url home-page)
5940 (commit commit)))
5941 (file-name (git-file-name name version))
5942 (sha256
5943 (base32
5944 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5945 (native-inputs
5946 `(("fiveam" ,sbcl-fiveam)))
5947 (synopsis "Common Lisp environment introspection portability layer")
5948 (description "This library is a small interface to portable but
5949 nonstandard introspection of Common Lisp environments. It is intended to
5950 allow a bit more compile-time introspection of environments in Common Lisp.
5951
5952 Quite a bit of information is available at the time a macro or compiler-macro
5953 runs; inlining info, type declarations, that sort of thing. This information
5954 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5955 such.
5956
5957 This info ought to be accessible through the standard @code{&environment}
5958 parameters, but it is not. Several implementations keep the information for
5959 their own purposes but do not make it available to user programs, because
5960 there is no standard mechanism to do so.
5961
5962 This library uses implementation-specific hooks to make information available
5963 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5964 implementations have implementations of the functions that do as much as they
5965 can and/or provide reasonable defaults.")
5966 (license license:wtfpl2))))
5967
5968 (define-public cl-introspect-environment
5969 (sbcl-package->cl-source-package sbcl-introspect-environment))
5970
5971 (define-public ecl-introspect-environment
5972 (sbcl-package->ecl-package sbcl-introspect-environment))
5973
5974 (define-public sbcl-type-i
5975 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5976 (revision "2"))
5977 (package
5978 (name "sbcl-type-i")
5979 (build-system asdf-build-system/sbcl)
5980 (version (git-version "0.1" revision commit))
5981 (home-page "https://github.com/guicho271828/type-i")
5982 (source
5983 (origin
5984 (method git-fetch)
5985 (uri (git-reference
5986 (url home-page)
5987 (commit commit)))
5988 (file-name (git-file-name name version))
5989 (sha256
5990 (base32
5991 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5992 (inputs
5993 `(("alexandria" ,sbcl-alexandria)
5994 ("introspect-environment" ,sbcl-introspect-environment)
5995 ("trivia.trivial" ,sbcl-trivia.trivial)))
5996 (native-inputs
5997 `(("fiveam" ,sbcl-fiveam)))
5998 (arguments
5999 `(#:test-asd-file "type-i.test.asd"))
6000 (synopsis "Type inference utility on unary predicates for Common Lisp")
6001 (description "This library tries to provide a way to detect what kind of
6002 type the given predicate is trying to check. This is different from inferring
6003 the return type of a function.")
6004 (license license:llgpl))))
6005
6006 (define-public cl-type-i
6007 (sbcl-package->cl-source-package sbcl-type-i))
6008
6009 (define-public ecl-type-i
6010 (package
6011 (inherit (sbcl-package->ecl-package sbcl-type-i))
6012 (arguments
6013 ;; The tests get stuck indefinitly
6014 '(#:tests? #f))))
6015
6016 (define-public sbcl-optima
6017 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-optima")
6021 (build-system asdf-build-system/sbcl)
6022 (version (git-version "1.0" revision commit))
6023 (home-page "https://github.com/m2ym/optima")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6034 (inputs
6035 `(("alexandria" ,sbcl-alexandria)
6036 ("closer-mop" ,sbcl-closer-mop)))
6037 (native-inputs
6038 `(("eos" ,sbcl-eos)))
6039 (arguments
6040 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6041 `(#:tests? #f
6042 #:test-asd-file "optima.test.asd"))
6043 (synopsis "Optimized pattern matching library for Common Lisp")
6044 (description "Optima is a fast pattern matching library which uses
6045 optimizing techniques widely used in the functional programming world.")
6046 (license license:expat))))
6047
6048 (define-public cl-optima
6049 (sbcl-package->cl-source-package sbcl-optima))
6050
6051 (define-public ecl-optima
6052 (sbcl-package->ecl-package sbcl-optima))
6053
6054 (define-public sbcl-fare-quasiquote
6055 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6056 (revision "1"))
6057 (package
6058 (name "sbcl-fare-quasiquote")
6059 (build-system asdf-build-system/sbcl)
6060 (version (git-version "1.0.1" revision commit))
6061 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6062 (source
6063 (origin
6064 (method git-fetch)
6065 (uri (git-reference
6066 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6067 "fare-quasiquote.git"))
6068 (commit commit)))
6069 (file-name (git-file-name name version))
6070 (sha256
6071 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6072 (inputs
6073 `(("fare-utils" ,sbcl-fare-utils)
6074 ("named-readtables" ,sbcl-named-readtables)
6075 ("optima" ,sbcl-optima)))
6076 (arguments
6077 ;; XXX: Circular dependencies: Tests depend on subsystems,
6078 ;; which depend on the main systems.
6079 `(#:tests? #f
6080 #:asd-systems '("fare-quasiquote"
6081 "fare-quasiquote-extras")
6082 #:phases
6083 (modify-phases %standard-phases
6084 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6085 ;; commits after 1.0.0.5, but ASDF fails to read the
6086 ;; "-REVISION-COMMIT" part generated by Guix.
6087 (add-after 'unpack 'patch-requirement
6088 (lambda _
6089 (substitute* "fare-quasiquote.asd"
6090 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6091 "\"fare-utils\""))
6092 (substitute* "fare-quasiquote-optima.asd"
6093 (("\\(:version \"optima\" \"1\\.0\"\\)")
6094 "\"optima\""))
6095 #t)))))
6096 (synopsis "Pattern-matching friendly implementation of quasiquote")
6097 (description "The main purpose of this n+2nd reimplementation of
6098 quasiquote is enable matching of quasiquoted patterns, using Optima or
6099 Trivia.")
6100 (license license:expat))))
6101
6102 (define-public cl-fare-quasiquote
6103 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6104
6105 (define-public ecl-fare-quasiquote
6106 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6107
6108 ;;; Split the trivia package in two to work around the circular dependency
6109 ;;; between guicho271828/trivia and guicho271828/type-i.
6110 (define-public sbcl-trivia.trivial
6111 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6112 (revision "3"))
6113 (package
6114 (name "sbcl-trivia.trivial")
6115 (version (git-version "0.0.0" revision commit))
6116 (source
6117 (origin
6118 (method git-fetch)
6119 (uri (git-reference
6120 (url "https://github.com/guicho271828/trivia")
6121 (commit commit)))
6122 (file-name (git-file-name "trivia" version))
6123 (sha256
6124 (base32
6125 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6126 (build-system asdf-build-system/sbcl)
6127 (inputs
6128 `(("alexandria" ,sbcl-alexandria)
6129 ("closer-mop" ,sbcl-closer-mop)
6130 ("lisp-namespace" ,sbcl-lisp-namespace)
6131 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6132 (arguments
6133 '(#:phases
6134 (modify-phases %standard-phases
6135 (add-after 'unpack 'fix-build
6136 (lambda _
6137 (for-each delete-file
6138 '("trivia.balland2006.asd"
6139 "trivia.ppcre.asd"
6140 "trivia.quasiquote.asd"
6141 "trivia.cffi.asd"
6142 "trivia.asd"
6143 "trivia.test.asd"))
6144 #t)))))
6145 (synopsis "Pattern matching in Common Lisp")
6146 (description "Trivia is a pattern matching compiler that is compatible
6147 with Optima, another pattern matching library for Common Lisp. It is meant to
6148 be faster and more extensible than Optima.")
6149 (home-page "https://github.com/guicho271828/trivia")
6150 (license license:llgpl))))
6151
6152 (define-public cl-trivia.trivial
6153 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6154
6155 (define-public ecl-trivia.trivial
6156 (sbcl-package->ecl-package sbcl-trivia.trivial))
6157
6158 (define-public sbcl-trivia
6159 (package
6160 (inherit sbcl-trivia.trivial)
6161 (name "sbcl-trivia")
6162 (native-inputs
6163 `(("fiveam" ,sbcl-fiveam)
6164 ("optima" ,sbcl-optima)))
6165 (inputs
6166 `(("alexandria" ,sbcl-alexandria)
6167 ("cffi" ,sbcl-cffi)
6168 ("cl-ppcre" ,sbcl-cl-ppcre)
6169 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6170 ("iterate" ,sbcl-iterate)
6171 ("trivia.trivial" ,sbcl-trivia.trivial)
6172 ("type-i" ,sbcl-type-i)))
6173 (arguments
6174 '(#:asd-systems '("trivia"
6175 "trivia.ppcre"
6176 "trivia.quasiquote"
6177 "trivia.cffi")
6178 #:test-asd-file "trivia.test.asd"
6179 #:phases
6180 (modify-phases %standard-phases
6181 (add-after 'unpack 'fix-build
6182 (lambda _
6183 (for-each delete-file
6184 '("trivia.level0.asd"
6185 "trivia.level1.asd"
6186 "trivia.level2.asd"
6187 "trivia.trivial.asd"))
6188 #t)))))))
6189
6190 (define-public cl-trivia
6191 (sbcl-package->cl-source-package sbcl-trivia))
6192
6193 (define-public ecl-trivia
6194 (sbcl-package->ecl-package sbcl-trivia))
6195
6196 (define-public sbcl-mk-string-metrics
6197 (package
6198 (name "sbcl-mk-string-metrics")
6199 (version "0.1.2")
6200 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6201 (source (origin
6202 (method git-fetch)
6203 (uri (git-reference
6204 (url home-page)
6205 (commit version)))
6206 (sha256
6207 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6208 (file-name (git-file-name name version))))
6209 (build-system asdf-build-system/sbcl)
6210 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6211 (description "This library implements efficient algorithms that calculate
6212 various string metrics in Common Lisp:
6213
6214 @itemize
6215 @item Damerau-Levenshtein distance
6216 @item Hamming distance
6217 @item Jaccard similarity coefficient
6218 @item Jaro distance
6219 @item Jaro-Winkler distance
6220 @item Levenshtein distance
6221 @item Normalized Damerau-Levenshtein distance
6222 @item Normalized Levenshtein distance
6223 @item Overlap coefficient
6224 @end itemize\n")
6225 (license license:x11)))
6226
6227 (define-public cl-mk-string-metrics
6228 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6229
6230 (define-public ecl-mk-string-metrics
6231 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6232
6233 (define-public sbcl-cl-str
6234 (package
6235 (name "sbcl-cl-str")
6236 (version "0.19")
6237 (home-page "https://github.com/vindarel/cl-str")
6238 (source (origin
6239 (method git-fetch)
6240 (uri (git-reference
6241 (url home-page)
6242 (commit version)))
6243 (sha256
6244 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6245 (file-name (git-file-name name version))))
6246 (build-system asdf-build-system/sbcl)
6247 (inputs
6248 `(("cl-ppcre" ,sbcl-cl-ppcre)
6249 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6250 ("cl-change-case" ,sbcl-cl-change-case)))
6251 (native-inputs
6252 `(("prove" ,sbcl-prove)))
6253 (arguments
6254 `(#:asd-systems '("str")
6255 #:test-asd-file "str.test.asd"))
6256 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6257 (description "A modern and consistent Common Lisp string manipulation
6258 library that focuses on modernity, simplicity and discoverability:
6259 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6260 @code{str:concat strings} instead of an unusual format construct; one
6261 discoverable library instead of many; consistency and composability, where
6262 @code{s} is always the last argument, which makes it easier to feed pipes and
6263 arrows.")
6264 (license license:expat)))
6265
6266 (define-public cl-str
6267 (sbcl-package->cl-source-package sbcl-cl-str))
6268
6269 (define-public ecl-cl-str
6270 (sbcl-package->ecl-package sbcl-cl-str))
6271
6272 (define-public sbcl-cl-xmlspam
6273 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6274 (package
6275 (name "sbcl-cl-xmlspam")
6276 (build-system asdf-build-system/sbcl)
6277 (version (git-version "0.0.0" "1" commit))
6278 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6279 (source
6280 (origin
6281 (method git-fetch)
6282 (uri (git-reference
6283 (url home-page)
6284 (commit commit)))
6285 (file-name (string-append name "-" version))
6286 (sha256
6287 (base32
6288 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6289 (inputs
6290 `(("cxml" ,sbcl-cxml)
6291 ("cl-ppcre" ,sbcl-cl-ppcre)))
6292 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6293 (description "CXML does an excellent job at parsing XML elements, but what
6294 do you do when you have a XML file that's larger than you want to fit in
6295 memory, and you want to extract some information from it? Writing code to deal
6296 with SAX events, or even using Klacks, quickly becomes tedious.
6297 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6298 to write code that mirrors the structure of the XML that it's parsing. It
6299 also makes it easy to shift paradigms when necessary - the usual Lisp control
6300 constructs can be used interchangeably with pattern matching, and the full
6301 power of CXML is available when necessary.")
6302 (license license:bsd-3))))
6303
6304 (define-public cl-xmlspam
6305 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6306
6307 (define-public ecl-cl-xmlspam
6308 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6309
6310 (define-public sbcl-dbus
6311 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6312 (revision "1"))
6313 (package
6314 (name "sbcl-dbus")
6315 (version (git-version "20190408" revision commit))
6316 (home-page "https://github.com/death/dbus")
6317 (source
6318 (origin
6319 (method git-fetch)
6320 (uri (git-reference
6321 (url home-page)
6322 (commit commit)))
6323 (file-name (git-file-name name version))
6324 (sha256
6325 (base32
6326 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6327 (build-system asdf-build-system/sbcl)
6328 (inputs
6329 `(("alexandria" ,sbcl-alexandria)
6330 ("trivial-garbage" ,sbcl-trivial-garbage)
6331 ("babel" ,sbcl-babel)
6332 ("iolib" ,sbcl-iolib)
6333 ("ieee-floats" ,sbcl-ieee-floats)
6334 ("flexi-streams" ,sbcl-flexi-streams)
6335 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6336 ("ironclad" ,sbcl-ironclad)))
6337 (synopsis "D-Bus client library for Common Lisp")
6338 (description "This is a Common Lisp library that publishes D-Bus
6339 objects as well as send and notify other objects connected to a bus.")
6340 (license license:bsd-2))))
6341
6342 (define-public cl-dbus
6343 (sbcl-package->cl-source-package sbcl-dbus))
6344
6345 (define-public ecl-dbus
6346 (sbcl-package->ecl-package sbcl-dbus))
6347
6348 (define-public sbcl-cl-hooks
6349 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6350 (revision "1"))
6351 (package
6352 (name "sbcl-cl-hooks")
6353 (build-system asdf-build-system/sbcl)
6354 (version (git-version "0.2.1" revision commit))
6355 (home-page "https://github.com/scymtym/architecture.hooks")
6356 (source
6357 (origin
6358 (method git-fetch)
6359 (uri (git-reference
6360 (url home-page)
6361 (commit commit)))
6362 (file-name (git-file-name name version))
6363 (sha256
6364 (base32
6365 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6366 (inputs
6367 `(("alexandria" ,sbcl-alexandria)
6368 ("let-plus" ,sbcl-let-plus)
6369 ("trivial-garbage" ,sbcl-trivial-garbage)
6370 ("closer-mop" ,sbcl-closer-mop)))
6371 (native-inputs
6372 `(("fiveam" ,sbcl-fiveam)))
6373 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6374 (description "A hook, in the present context, is a certain kind of
6375 extension point in a program that allows interleaving the execution of
6376 arbitrary code with the execution of a the program without introducing any
6377 coupling between the two. Hooks are used extensively in the extensible editor
6378 Emacs.
6379
6380 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6381 possible using the flexible multi-method dispatch mechanism. It may even seem
6382 that the concept of hooks does not provide any benefits over the possibilities
6383 of CLOS. However, there are some differences:
6384
6385 @itemize
6386
6387 @item There can be only one method for each combination of specializers and
6388 qualifiers. As a result this kind of extension point cannot be used by
6389 multiple extensions independently.
6390 @item Removing code previously attached via a @code{:before}, @code{:after} or
6391 @code{:around} method can be cumbersome.
6392 @item There could be other or even multiple extension points besides @code{:before}
6393 and @code{:after} in a single method.
6394 @item Attaching codes to individual objects using eql specializers can be
6395 cumbersome.
6396 @item Introspection of code attached a particular extension point is
6397 cumbersome since this requires enumerating and inspecting the methods of a
6398 generic function.
6399 @end itemize
6400
6401 This library tries to complement some of these weaknesses of method-based
6402 extension-points via the concept of hooks.")
6403 (license license:llgpl))))
6404
6405 (define-public cl-hooks
6406 (sbcl-package->cl-source-package sbcl-cl-hooks))
6407
6408 (define-public ecl-cl-hooks
6409 (sbcl-package->ecl-package sbcl-cl-hooks))
6410
6411 (define-public sbcl-cl-autowrap
6412 (let ((revision "1")
6413 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6414 ;; no taged branches
6415 (package
6416 (name "sbcl-cl-autowrap")
6417 (version (git-version "1.0" revision commit))
6418 (source
6419 (origin
6420 (method git-fetch)
6421 (uri (git-reference
6422 (url "https://github.com/rpav/cl-autowrap")
6423 (commit commit)))
6424 (file-name (git-file-name name version))
6425 (sha256
6426 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6427 (build-system asdf-build-system/sbcl)
6428 (inputs
6429 `(("alexandria" ,sbcl-alexandria)
6430 ("cffi" ,sbcl-cffi)
6431 ("cl-json" ,sbcl-cl-json)
6432 ("cl-ppcre" ,sbcl-cl-ppcre)
6433 ("defpackage-plus" ,sbcl-defpackage-plus)
6434 ("trivial-features" ,sbcl-trivial-features)))
6435 (home-page "https://github.com/rpav/cl-autowrap")
6436 (synopsis "FFI wrapper generator for Common Lisp")
6437 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6438 (license license:bsd-2))))
6439
6440 (define-public cl-autowrap
6441 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6442
6443 (define-public ecl-cl-autowrap
6444 (sbcl-package->ecl-package sbcl-cl-autowrap))
6445
6446 (define-public sbcl-s-sysdeps
6447 ;; No release since 2013.
6448 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6449 (revision "2"))
6450 (package
6451 (name "sbcl-s-sysdeps")
6452 (build-system asdf-build-system/sbcl)
6453 (version (git-version "1" revision commit))
6454 (home-page "https://github.com/svenvc/s-sysdeps")
6455 (source
6456 (origin
6457 (method git-fetch)
6458 (uri (git-reference
6459 (url home-page)
6460 (commit commit)))
6461 (file-name (git-file-name name version))
6462 (sha256
6463 (base32
6464 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6465 (inputs
6466 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6467 ("usocket" ,sbcl-usocket)))
6468 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6469 (description "@code{s-sysdeps} is an abstraction layer over platform
6470 dependent functionality. This simple package is used as a building block in a
6471 number of other open source projects.
6472
6473 @code{s-sysdeps} abstracts:
6474
6475 @itemize
6476 @item managing processes,
6477 @item implementing a standard TCP/IP server,
6478 @item opening a client TCP/IP socket stream,
6479 @item working with process locks.
6480 @end itemize\n")
6481 (license license:llgpl))))
6482
6483 (define-public cl-s-sysdeps
6484 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6485
6486 (define-public ecl-s-sysdeps
6487 (sbcl-package->ecl-package sbcl-s-sysdeps))
6488
6489 (define-public sbcl-cl-prevalence
6490 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6491 (revision "4"))
6492 (package
6493 (name "sbcl-cl-prevalence")
6494 (build-system asdf-build-system/sbcl)
6495 (version (git-version "5" revision commit))
6496 (home-page "https://github.com/40ants/cl-prevalence")
6497 (source
6498 (origin
6499 (method git-fetch)
6500 (uri (git-reference
6501 (url home-page)
6502 (commit commit)))
6503 (file-name (git-file-name name version))
6504 (sha256
6505 (base32
6506 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6507 (inputs
6508 `(("s-sysdeps" ,sbcl-s-sysdeps)
6509 ("s-xml" ,sbcl-s-xml)))
6510 (native-inputs
6511 `(("fiveam" ,sbcl-fiveam)))
6512 (synopsis "Implementation of object prevalence for Common Lisp")
6513 (description "This Common Lisp library implements object prevalence (see
6514 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6515 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6516 classes and cyclic data structures are supported.")
6517 (license license:llgpl))))
6518
6519 (define-public cl-prevalence
6520 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6521
6522 (define-public ecl-cl-prevalence
6523 (sbcl-package->ecl-package sbcl-cl-prevalence))
6524
6525 (define-public sbcl-series
6526 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6527 (revision "1"))
6528 (package
6529 (name "sbcl-series")
6530 (version (git-version "2.2.11" revision commit))
6531 (source
6532 (origin
6533 (method git-fetch)
6534 (uri (git-reference
6535 (url "git://git.code.sf.net/p/series/series")
6536 (commit commit)))
6537 (file-name (git-file-name name version))
6538 (sha256
6539 (base32
6540 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6541 (build-system asdf-build-system/sbcl)
6542 (arguments
6543 ;; Disable the tests, they are apparently buggy and I didn't find
6544 ;; a simple way to make them run and pass.
6545 '(#:tests? #f))
6546 (synopsis "Series data structure for Common Lisp")
6547 (description
6548 "This Common Lisp library provides a series data structure much like
6549 a sequence, with similar kinds of operations. The difference is that in many
6550 situations, operations on series may be composed functionally and yet execute
6551 iteratively, without the need to construct intermediate series values
6552 explicitly. In this manner, series provide both the clarity of a functional
6553 programming style and the efficiency of an iterative programming style.")
6554 (home-page "http://series.sourceforge.net/")
6555 (license license:expat))))
6556
6557 (define-public cl-series
6558 (sbcl-package->cl-source-package sbcl-series))
6559
6560 (define-public ecl-series
6561 (sbcl-package->ecl-package sbcl-series))
6562
6563 (define-public sbcl-periods
6564 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6565 (revision "2"))
6566 (package
6567 (name "sbcl-periods")
6568 (version (git-version "0.0.2" revision commit))
6569 (source
6570 (origin
6571 (method git-fetch)
6572 (uri (git-reference
6573 (url "https://github.com/jwiegley/periods")
6574 (commit commit)))
6575 (file-name (git-file-name name version))
6576 (sha256
6577 (base32
6578 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6579 (build-system asdf-build-system/sbcl)
6580 (inputs
6581 `(("local-time" ,sbcl-local-time)
6582 ("series" ,sbcl-series)))
6583 (arguments
6584 '(#:asd-systems '("periods"
6585 "periods-series")))
6586 (synopsis "Common Lisp library for manipulating date/time objects")
6587 (description
6588 "Periods is a Common Lisp library providing a set of utilities for
6589 manipulating times, distances between times, and both contiguous and
6590 discontiguous ranges of time.")
6591 (home-page "https://github.com/jwiegley/periods")
6592 (license license:bsd-3))))
6593
6594 (define-public cl-periods
6595 (sbcl-package->cl-source-package sbcl-periods))
6596
6597 (define-public ecl-periods
6598 (sbcl-package->ecl-package sbcl-periods))
6599
6600 (define-public sbcl-metatilities-base
6601 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6602 (revision "1"))
6603 (package
6604 (name "sbcl-metatilities-base")
6605 (version (git-version "0.6.6" revision commit))
6606 (source
6607 (origin
6608 (method git-fetch)
6609 (uri (git-reference
6610 (url "https://github.com/gwkkwg/metatilities-base")
6611 (commit commit)))
6612 (file-name (git-file-name name version))
6613 (sha256
6614 (base32
6615 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6616 (build-system asdf-build-system/sbcl)
6617 (native-inputs
6618 `(("lift" ,sbcl-lift)))
6619 (synopsis "Core of the metatilities Common Lisp library")
6620 (description
6621 "Metatilities-base is the core of the metatilities Common Lisp library
6622 which implements a set of utilities.")
6623 (home-page "https://common-lisp.net/project/metatilities-base/")
6624 (license license:expat))))
6625
6626 (define-public cl-metatilities-base
6627 (sbcl-package->cl-source-package sbcl-metatilities-base))
6628
6629 (define-public ecl-metatilities-base
6630 (sbcl-package->ecl-package sbcl-metatilities-base))
6631
6632 (define-public sbcl-cl-containers
6633 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6634 (revision "3"))
6635 (package
6636 (name "sbcl-cl-containers")
6637 (version (git-version "0.12.1" revision commit))
6638 (source
6639 (origin
6640 (method git-fetch)
6641 (uri (git-reference
6642 (url "https://github.com/gwkkwg/cl-containers")
6643 (commit commit)))
6644 (file-name (git-file-name name version))
6645 (sha256
6646 (base32
6647 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6648 (build-system asdf-build-system/sbcl)
6649 (native-inputs
6650 `(("lift" ,sbcl-lift)))
6651 (inputs
6652 `(("metatilities-base" ,sbcl-metatilities-base)))
6653 (arguments
6654 '(#:asd-files '("cl-containers.asd")
6655 #:phases
6656 (modify-phases %standard-phases
6657 (add-after 'unpack 'relax-version-checks
6658 (lambda _
6659 (substitute* "cl-containers.asd"
6660 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6661 "\"metatilities-base\""))
6662 (substitute* "cl-containers-test.asd"
6663 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6664 "\"lift\""))
6665 #t)))))
6666 (synopsis "Container library for Common Lisp")
6667 (description
6668 "Common Lisp ships with a set of powerful built in data structures
6669 including the venerable list, full featured arrays, and hash-tables.
6670 CL-containers enhances and builds on these structures by adding containers
6671 that are not available in native Lisp (for example: binary search trees,
6672 red-black trees, sparse arrays and so on), and by providing a standard
6673 interface so that they are simpler to use and so that changing design
6674 decisions becomes significantly easier.")
6675 (home-page "https://common-lisp.net/project/cl-containers/")
6676 (license license:expat))))
6677
6678 (define-public cl-containers
6679 (sbcl-package->cl-source-package sbcl-cl-containers))
6680
6681 (define-public ecl-cl-containers
6682 (sbcl-package->ecl-package sbcl-cl-containers))
6683
6684 (define-public sbcl-xlunit
6685 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6686 (revision "1"))
6687 (package
6688 (name "sbcl-xlunit")
6689 (version (git-version "0.6.3" revision commit))
6690 (source
6691 (origin
6692 (method git-fetch)
6693 (uri (git-reference
6694 (url "http://git.kpe.io/xlunit.git")
6695 (commit commit)))
6696 (file-name (git-file-name name version))
6697 (sha256
6698 (base32
6699 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6700 (build-system asdf-build-system/sbcl)
6701 (arguments
6702 '(#:phases
6703 (modify-phases %standard-phases
6704 (add-after 'unpack 'fix-tests
6705 (lambda _
6706 (substitute* "xlunit.asd"
6707 ((" :force t") ""))
6708 #t)))))
6709 (synopsis "Unit testing package for Common Lisp")
6710 (description
6711 "The XLUnit package is a toolkit for building test suites. It is based
6712 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6713 (home-page "http://quickdocs.org/xlunit/")
6714 (license license:bsd-3))))
6715
6716 (define-public cl-xlunit
6717 (sbcl-package->cl-source-package sbcl-xlunit))
6718
6719 (define-public ecl-xlunit
6720 (sbcl-package->ecl-package sbcl-xlunit))
6721
6722 (define-public sbcl-cambl
6723 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6724 (revision "1"))
6725 (package
6726 (name "sbcl-cambl")
6727 (version (git-version "4.0.0" revision commit))
6728 (source
6729 (origin
6730 (method git-fetch)
6731 (uri (git-reference
6732 (url "https://github.com/jwiegley/cambl")
6733 (commit commit)))
6734 (file-name (git-file-name "cambl" version))
6735 (sha256
6736 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6737 (build-system asdf-build-system/sbcl)
6738 (native-inputs
6739 `(("xlunit" ,sbcl-xlunit)))
6740 (inputs
6741 `(("alexandria" ,sbcl-alexandria)
6742 ("cl-containers" ,sbcl-cl-containers)
6743 ("local-time" ,sbcl-local-time)
6744 ("periods" ,sbcl-periods)))
6745 (arguments
6746 '(#:asd-files '("fprog.asd"
6747 "cambl.asd")))
6748 (synopsis "Commoditized amounts and balances for Common Lisp")
6749 (description
6750 "CAMBL is a Common Lisp library providing a convenient facility for
6751 working with commoditized values. It does not allow compound units (and so is
6752 not suited for scientific operations) but does work rather nicely for the
6753 purpose of financial calculations.")
6754 (home-page "https://github.com/jwiegley/cambl")
6755 (license license:bsd-3))))
6756
6757 (define-public cl-cambl
6758 (sbcl-package->cl-source-package sbcl-cambl))
6759
6760 (define-public ecl-cambl
6761 (sbcl-package->ecl-package sbcl-cambl))
6762
6763 (define-public sbcl-cl-ledger
6764 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6765 (revision "1"))
6766 (package
6767 (name "sbcl-cl-ledger")
6768 (version (git-version "4.0.0" revision commit))
6769 (source
6770 (origin
6771 (method git-fetch)
6772 (uri (git-reference
6773 (url "https://github.com/ledger/cl-ledger")
6774 (commit commit)))
6775 (file-name (git-file-name name version))
6776 (sha256
6777 (base32
6778 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6779 (build-system asdf-build-system/sbcl)
6780 (inputs
6781 `(("cambl" ,sbcl-cambl)
6782 ("cl-ppcre" ,sbcl-cl-ppcre)
6783 ("local-time" ,sbcl-local-time)
6784 ("periods" ,sbcl-periods)))
6785 (arguments
6786 '(#:phases
6787 (modify-phases %standard-phases
6788 (add-after 'unpack 'fix-system-definition
6789 (lambda _
6790 (substitute* "cl-ledger.asd"
6791 ((" :build-operation program-op") "")
6792 ((" :build-pathname \"cl-ledger\"") "")
6793 ((" :entry-point \"ledger::main\"") ""))
6794 #t)))))
6795 (synopsis "Common Lisp port of the Ledger accounting system")
6796 (description
6797 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6798 system.")
6799 (home-page "https://github.com/ledger/cl-ledger")
6800 (license license:bsd-3))))
6801
6802 (define-public cl-ledger
6803 (sbcl-package->cl-source-package sbcl-cl-ledger))
6804
6805 (define-public ecl-cl-ledger
6806 (sbcl-package->ecl-package sbcl-cl-ledger))
6807
6808 (define-public sbcl-bst
6809 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6810 (revision "0"))
6811 (package
6812 (name "sbcl-bst")
6813 (version (git-version "2.0" revision commit))
6814 (source
6815 (origin
6816 (method git-fetch)
6817 (uri (git-reference
6818 (url "https://github.com/glv2/bst")
6819 (commit commit)))
6820 (file-name (git-file-name name version))
6821 (sha256
6822 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6823 (build-system asdf-build-system/sbcl)
6824 (native-inputs
6825 `(("alexandria" ,sbcl-alexandria)
6826 ("fiveam" ,sbcl-fiveam)))
6827 (synopsis "Binary search tree for Common Lisp")
6828 (description
6829 "BST is a Common Lisp library for working with binary search trees that
6830 can contain any kind of values.")
6831 (home-page "https://github.com/glv2/bst")
6832 (license license:gpl3))))
6833
6834 (define-public cl-bst
6835 (sbcl-package->cl-source-package sbcl-bst))
6836
6837 (define-public ecl-bst
6838 (sbcl-package->ecl-package sbcl-bst))
6839
6840 (define-public sbcl-cl-octet-streams
6841 (package
6842 (name "sbcl-cl-octet-streams")
6843 (version "1.2")
6844 (source
6845 (origin
6846 (method git-fetch)
6847 (uri (git-reference
6848 (url "https://github.com/glv2/cl-octet-streams")
6849 (commit (string-append "v" version))))
6850 (file-name (git-file-name name version))
6851 (sha256
6852 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6853 (build-system asdf-build-system/sbcl)
6854 (native-inputs
6855 `(("fiveam" ,sbcl-fiveam)))
6856 (inputs
6857 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6858 (synopsis "In-memory octet streams for Common Lisp")
6859 (description
6860 "CL-octet-streams is a library implementing in-memory octet
6861 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6862 cl-plumbing libraries.")
6863 (home-page "https://github.com/glv2/cl-octet-streams")
6864 (license license:gpl3+)))
6865
6866 (define-public cl-octet-streams
6867 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6868
6869 (define-public ecl-cl-octet-streams
6870 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6871
6872 (define-public sbcl-lzlib
6873 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6874 (revision "2"))
6875 (package
6876 (name "sbcl-lzlib")
6877 (version (git-version "1.1" revision commit))
6878 (source
6879 (origin
6880 (method git-fetch)
6881 (uri (git-reference
6882 (url "https://github.com/glv2/cl-lzlib")
6883 (commit commit)))
6884 (file-name (git-file-name name version))
6885 (sha256
6886 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6887 (build-system asdf-build-system/sbcl)
6888 (native-inputs
6889 `(("fiveam" ,sbcl-fiveam)))
6890 (inputs
6891 `(("cffi" ,sbcl-cffi)
6892 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6893 ("lparallel" ,sbcl-lparallel)
6894 ("lzlib" ,lzlib)))
6895 (arguments
6896 '(#:phases
6897 (modify-phases %standard-phases
6898 (add-after 'unpack 'fix-paths
6899 (lambda* (#:key inputs #:allow-other-keys)
6900 (substitute* "src/lzlib.lisp"
6901 (("liblz\\.so")
6902 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6903 #t)))))
6904 (synopsis "Common Lisp library for lzip (de)compression")
6905 (description
6906 "This Common Lisp library provides functions for lzip (LZMA)
6907 compression/decompression using bindings to the lzlib C library.")
6908 (home-page "https://github.com/glv2/cl-lzlib")
6909 (license license:gpl3+))))
6910
6911 (define-public cl-lzlib
6912 (sbcl-package->cl-source-package sbcl-lzlib))
6913
6914 (define-public ecl-lzlib
6915 (sbcl-package->ecl-package sbcl-lzlib))
6916
6917 (define-public sbcl-chanl
6918 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6919 (revision "1"))
6920 (package
6921 (name "sbcl-chanl")
6922 (version (git-version "0.4.1" revision commit))
6923 (source
6924 (origin
6925 (method git-fetch)
6926 (uri (git-reference
6927 (url "https://github.com/zkat/chanl")
6928 (commit commit)))
6929 (file-name (git-file-name name version))
6930 (sha256
6931 (base32
6932 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6933 (build-system asdf-build-system/sbcl)
6934 (native-inputs
6935 `(("fiveam" ,sbcl-fiveam)))
6936 (inputs
6937 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6938 (synopsis "Portable channel-based concurrency for Common Lisp")
6939 (description "Common Lisp library for channel-based concurrency. In
6940 a nutshell, you create various threads sequentially executing tasks you need
6941 done, and use channel objects to communicate and synchronize the state of these
6942 threads.")
6943 (home-page "https://github.com/zkat/chanl")
6944 (license (list license:expat license:bsd-3)))))
6945
6946 (define-public cl-chanl
6947 (sbcl-package->cl-source-package sbcl-chanl))
6948
6949 (define-public ecl-chanl
6950 (sbcl-package->ecl-package sbcl-chanl))
6951
6952 (define-public sbcl-cl-store
6953 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6954 (revision "1"))
6955 (package
6956 (name "sbcl-cl-store")
6957 (version (git-version "0.8.11" revision commit))
6958 (source
6959 (origin
6960 (method git-fetch)
6961 (uri (git-reference
6962 (url "https://github.com/skypher/cl-store")
6963 (commit commit)))
6964 (file-name (git-file-name name version))
6965 (sha256
6966 (base32
6967 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6968 (build-system asdf-build-system/sbcl)
6969 (native-inputs
6970 `(("rt" ,sbcl-rt)))
6971 (synopsis "Common Lisp library to serialize data")
6972 (description
6973 "CL-STORE is a portable serialization package which should give you the
6974 ability to store all Common Lisp data types into streams.")
6975 (home-page "https://www.common-lisp.net/project/cl-store/")
6976 (license license:expat))))
6977
6978 (define-public cl-store
6979 (sbcl-package->cl-source-package sbcl-cl-store))
6980
6981 (define-public ecl-cl-store
6982 (sbcl-package->ecl-package sbcl-cl-store))
6983
6984 (define-public sbcl-specialization-store
6985 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6986 (revision "1"))
6987 (package
6988 (name "sbcl-specialization-store")
6989 (version (git-version "0.0.5" revision commit))
6990 (source
6991 (origin
6992 (method git-fetch)
6993 (uri (git-reference
6994 (url "https://github.com/markcox80/specialization-store")
6995 (commit commit)))
6996 (file-name (git-file-name "specialization-store" version))
6997 (sha256
6998 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
6999 (build-system asdf-build-system/sbcl)
7000 (native-inputs
7001 `(("fiveam" ,sbcl-fiveam)))
7002 (inputs
7003 `(("alexandria" ,sbcl-alexandria)
7004 ("introspect-environment" ,sbcl-introspect-environment)))
7005 (home-page "https://github.com/markcox80/specialization-store")
7006 (synopsis "Different type of generic function for Common Lisp")
7007 (description
7008 "SPECIALIZATION-STORE system provides a new kind of function, called
7009 a store function, whose behavior depends on the types of objects passed to the
7010 function.")
7011 (license license:bsd-2))))
7012
7013 (define-public ecl-specialization-store
7014 (package
7015 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7016 (arguments
7017 ;; TODO: Find why the tests get stuck forever; disable them for now.
7018 `(#:tests? #f))))
7019
7020 (define-public cl-specialization-store
7021 (sbcl-package->cl-source-package sbcl-specialization-store))
7022
7023 (define-public sbcl-cl-gobject-introspection
7024 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7025 (revision "1"))
7026 (package
7027 (name "sbcl-cl-gobject-introspection")
7028 (version (git-version "0.3" revision commit))
7029 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7030 (source
7031 (origin
7032 (method git-fetch)
7033 (uri (git-reference
7034 (url home-page)
7035 (commit commit)))
7036 (file-name (git-file-name name version))
7037 (sha256
7038 (base32
7039 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7040 (build-system asdf-build-system/sbcl)
7041 (inputs
7042 `(("alexandria" ,sbcl-alexandria)
7043 ("cffi" ,sbcl-cffi)
7044 ("iterate" ,sbcl-iterate)
7045 ("trivial-garbage" ,sbcl-trivial-garbage)
7046 ("glib" ,glib)
7047 ("gobject-introspection" ,gobject-introspection)))
7048 (native-inputs
7049 `(("fiveam" ,sbcl-fiveam)))
7050 (arguments
7051 '(#:phases
7052 (modify-phases %standard-phases
7053 (add-after 'unpack 'fix-paths
7054 (lambda* (#:key inputs #:allow-other-keys)
7055 (substitute* "src/init.lisp"
7056 (("libgobject-2\\.0\\.so")
7057 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7058 (("libgirepository-1\\.0\\.so")
7059 (string-append (assoc-ref inputs "gobject-introspection")
7060 "/lib/libgirepository-1.0.so")))
7061 #t)))))
7062 (synopsis "Common Lisp bindings to GObject Introspection")
7063 (description
7064 "This library is a bridge between Common Lisp and GObject
7065 Introspection, which enables Common Lisp programs to access the full interface
7066 of C+GObject libraries without the need of writing dedicated bindings.")
7067 (license (list license:bsd-3
7068 ;; Tests are under a different license.
7069 license:llgpl)))))
7070
7071 (define-public cl-gobject-introspection
7072 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7073
7074 (define-public ecl-cl-gobject-introspection
7075 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7076
7077 (define-public sbcl-cl-slug
7078 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7079 (revision "1"))
7080 (package
7081 (name "sbcl-cl-slug")
7082 (version (git-version "0.4.1" revision commit))
7083 (source
7084 (origin
7085 (method git-fetch)
7086 (uri (git-reference
7087 (url "https://github.com/EuAndreh/cl-slug")
7088 (commit commit)))
7089 (file-name (git-file-name "cl-slug" version))
7090 (sha256
7091 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7092 (build-system asdf-build-system/sbcl)
7093 (arguments
7094 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7095 #:asd-systems '("cl-slug-test" "cl-slug")))
7096 (native-inputs
7097 `(("prove" ,sbcl-prove)))
7098 (inputs
7099 `(("ppcre" ,sbcl-cl-ppcre)))
7100 (home-page "https://github.com/EuAndreh/cl-slug")
7101 (synopsis "Multi-language slug formater")
7102 (description
7103 "This is a small Common Lisp library to make slugs, mainly for URIs,
7104 from english and beyond.")
7105 (license license:llgpl))))
7106
7107 (define-public ecl-cl-slug
7108 (sbcl-package->ecl-package sbcl-cl-slug))
7109
7110 (define-public cl-slug
7111 (sbcl-package->cl-source-package sbcl-cl-slug))
7112
7113 (define-public sbcl-string-case
7114 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7115 (revision "0"))
7116 (package
7117 (name "sbcl-string-case")
7118 (version (git-version "0.0.2" revision commit))
7119 (home-page "https://github.com/pkhuong/string-case")
7120 (source
7121 (origin
7122 (method git-fetch)
7123 (uri (git-reference
7124 (url home-page)
7125 (commit commit)))
7126 (file-name (git-file-name name version))
7127 (sha256
7128 (base32
7129 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7130 (build-system asdf-build-system/sbcl)
7131 (synopsis "Efficient string= case in Common Lisp")
7132 (description
7133 "@code{string-case} is a Common Lisp macro that generates specialised decision
7134 trees to dispatch on string equality.")
7135 (license license:bsd-3))))
7136
7137 (define-public cl-string-case
7138 (sbcl-package->cl-source-package sbcl-string-case))
7139
7140 (define-public ecl-string-case
7141 (sbcl-package->ecl-package sbcl-string-case))
7142
7143 (define-public sbcl-garbage-pools
7144 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7145 (revision "1"))
7146 (package
7147 (name "sbcl-garbage-pools")
7148 (version (git-version "0.1.2" revision commit))
7149 (source
7150 (origin
7151 (method git-fetch)
7152 (uri (git-reference
7153 (url "https://github.com/archimag/garbage-pools")
7154 (commit commit)))
7155 (file-name (git-file-name name version))
7156 (sha256
7157 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7158 (build-system asdf-build-system/sbcl)
7159 (home-page "https://github.com/archimag/garbage-pools")
7160 (synopsis "Resource management pools for Common Lisp")
7161 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7162 Pools for resource management.")
7163 (license license:expat))))
7164
7165 (define-public ecl-garbage-pools
7166 (sbcl-package->ecl-package sbcl-garbage-pools))
7167
7168 (define-public cl-garbage-pools
7169 (sbcl-package->cl-source-package sbcl-garbage-pools))
7170
7171 (define-public sbcl-global-vars
7172 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7173 (revision "0"))
7174 (package
7175 (name "sbcl-global-vars")
7176 (version (git-version "1.0.0" revision commit))
7177 (home-page "https://github.com/lmj/global-vars")
7178 (source
7179 (origin
7180 (method git-fetch)
7181 (uri (git-reference
7182 (url home-page)
7183 (commit commit)))
7184 (file-name (git-file-name name version))
7185 (sha256
7186 (base32
7187 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7188 (build-system asdf-build-system/sbcl)
7189 (synopsis "Efficient global variables in Common Lisp")
7190 (description
7191 "In Common Lisp, a special variable that is never dynamically bound
7192 typically serves as a stand-in for a global variable. The @code{global-vars}
7193 library provides true global variables that are implemented by some compilers.
7194 An attempt to rebind a global variable properly results in a compiler error.
7195 That is, a global variable cannot be dynamically bound.
7196
7197 Global variables therefore allow us to communicate an intended usage that
7198 differs from special variables. Global variables are also more efficient than
7199 special variables, especially in the presence of threads.")
7200 (license license:expat))))
7201
7202 (define-public cl-global-vars
7203 (sbcl-package->cl-source-package sbcl-global-vars))
7204
7205 (define-public ecl-global-vars
7206 (sbcl-package->ecl-package sbcl-global-vars))
7207
7208 (define-public sbcl-trivial-file-size
7209 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7210 (revision "0"))
7211 (package
7212 (name "sbcl-trivial-file-size")
7213 (version (git-version "0.0.0" revision commit))
7214 (home-page "https://github.com/ruricolist/trivial-file-size")
7215 (source
7216 (origin
7217 (method git-fetch)
7218 (uri (git-reference
7219 (url home-page)
7220 (commit commit)))
7221 (file-name (git-file-name name version))
7222 (sha256
7223 (base32
7224 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7225 (build-system asdf-build-system/sbcl)
7226 (native-inputs
7227 `(("fiveam" ,sbcl-fiveam)))
7228 (synopsis "Size of a file in bytes in Common Lisp")
7229 (description
7230 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7231 is to open the file with an element type of (unsigned-byte 8) and then
7232 calculate the length of the stream. This is less than ideal. In most cases
7233 it is better to get the size of the file from its metadata, using a system
7234 call.
7235
7236 This library exports a single function, file-size-in-octets. It returns the
7237 size of a file in bytes, using system calls when possible.")
7238 (license license:expat))))
7239
7240 (define-public cl-trivial-file-size
7241 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7242
7243 (define-public ecl-trivial-file-size
7244 (sbcl-package->ecl-package sbcl-trivial-file-size))
7245
7246 (define-public sbcl-trivial-macroexpand-all
7247 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7248 (revision "0"))
7249 (package
7250 (name "sbcl-trivial-macroexpand-all")
7251 (version (git-version "0.0.0" revision commit))
7252 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7253 (source
7254 (origin
7255 (method git-fetch)
7256 (uri (git-reference
7257 (url home-page)
7258 (commit commit)))
7259 (file-name (git-file-name name version))
7260 (sha256
7261 (base32
7262 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7263 (build-system asdf-build-system/sbcl)
7264 (native-inputs
7265 `(("fiveam" ,sbcl-fiveam)))
7266 (synopsis "Portable macroexpand-all for Common Lisp")
7267 (description
7268 "This library provides a macroexpand-all function that calls the
7269 implementation specific equivalent.")
7270 (license license:unlicense))))
7271
7272 (define-public cl-trivial-macroexpand-all
7273 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7274
7275 (define-public ecl-trivial-macroexpand-all
7276 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7277
7278 (define-public sbcl-serapeum
7279 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7280 (revision "4"))
7281 (package
7282 (name "sbcl-serapeum")
7283 (version (git-version "0.0.0" revision commit))
7284 (home-page "https://github.com/ruricolist/serapeum")
7285 (source
7286 (origin
7287 (method git-fetch)
7288 (uri (git-reference
7289 (url home-page)
7290 (commit commit)))
7291 (file-name (git-file-name name version))
7292 (sha256
7293 (base32
7294 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7295 (build-system asdf-build-system/sbcl)
7296 (inputs
7297 `(("alexandria" ,sbcl-alexandria)
7298 ("trivia" ,sbcl-trivia)
7299 ("split-sequence" ,sbcl-split-sequence)
7300 ("string-case" ,sbcl-string-case)
7301 ("parse-number" ,sbcl-parse-number)
7302 ("trivial-garbage" ,sbcl-trivial-garbage)
7303 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7304 ("named-readtables" ,sbcl-named-readtables)
7305 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7306 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7307 ("global-vars" ,sbcl-global-vars)
7308 ("trivial-file-size" ,sbcl-trivial-file-size)
7309 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7310 (native-inputs
7311 `(("fiveam" ,sbcl-fiveam)
7312 ("local-time" ,sbcl-local-time)))
7313 (arguments
7314 '(#:phases
7315 (modify-phases %standard-phases
7316 (add-after 'unpack 'disable-failing-tests
7317 (lambda* (#:key inputs #:allow-other-keys)
7318 (substitute* "serapeum.asd"
7319 ;; Guix does not have Quicklisp, and probably never will.
7320 (("\\(:file \"quicklisp\"\\)") ""))
7321 #t)))))
7322 (synopsis "Common Lisp utility library beyond Alexandria")
7323 (description
7324 "Serapeum is a conservative library of Common Lisp utilities. It is a
7325 supplement, not a competitor, to Alexandria.")
7326 (license license:expat))))
7327
7328 (define-public cl-serapeum
7329 (sbcl-package->cl-source-package sbcl-serapeum))
7330
7331 (define-public ecl-serapeum
7332 (sbcl-package->ecl-package sbcl-serapeum))
7333
7334 (define-public sbcl-arrows
7335 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7336 (revision "0"))
7337 (package
7338 (name "sbcl-arrows")
7339 (version (git-version "0.2.0" revision commit))
7340 (source
7341 (origin
7342 (method git-fetch)
7343 (uri (git-reference
7344 (url "https://gitlab.com/Harleqin/arrows.git")
7345 (commit commit)))
7346 (file-name (git-file-name name version))
7347 (sha256
7348 (base32
7349 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7350 (build-system asdf-build-system/sbcl)
7351 (native-inputs
7352 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7353 (synopsis "Clojure-like arrow macros for Common Lisp")
7354 (description
7355 "This library implements the @code{->} and @code{->>} macros from
7356 Clojure, as well as several expansions on the idea.")
7357 (home-page "https://gitlab.com/Harleqin/arrows")
7358 (license license:public-domain))))
7359
7360 (define-public cl-arrows
7361 (sbcl-package->cl-source-package sbcl-arrows))
7362
7363 (define-public ecl-arrows
7364 (sbcl-package->ecl-package sbcl-arrows))
7365
7366 (define-public sbcl-simple-parallel-tasks
7367 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7368 (revision "1"))
7369 (package
7370 (name "sbcl-simple-parallel-tasks")
7371 (version (git-version "1.0" revision commit))
7372 (source
7373 (origin
7374 (method git-fetch)
7375 (uri (git-reference
7376 (url "https://github.com/glv2/simple-parallel-tasks")
7377 (commit commit)))
7378 (file-name (git-file-name name version))
7379 (sha256
7380 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7381 (build-system asdf-build-system/sbcl)
7382 (native-inputs
7383 `(("fiveam" ,sbcl-fiveam)))
7384 (inputs
7385 `(("chanl" ,sbcl-chanl)))
7386 (synopsis "Common Lisp library to evaluate some forms in parallel")
7387 (description "This is a simple Common Lisp library to evaluate some
7388 forms in parallel.")
7389 (home-page "https://github.com/glv2/simple-parallel-tasks")
7390 (license license:gpl3))))
7391
7392 (define-public cl-simple-parallel-tasks
7393 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7394
7395 (define-public ecl-simple-parallel-tasks
7396 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7397
7398 (define-public sbcl-cl-heap
7399 (package
7400 (name "sbcl-cl-heap")
7401 (version "0.1.6")
7402 (source
7403 (origin
7404 (method url-fetch)
7405 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7406 "cl-heap_" version ".tar.gz"))
7407 (sha256
7408 (base32
7409 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7410 (build-system asdf-build-system/sbcl)
7411 (native-inputs
7412 `(("xlunit" ,sbcl-xlunit)))
7413 (arguments
7414 `(#:test-asd-file "cl-heap-tests.asd"))
7415 (synopsis "Heap and priority queue data structures for Common Lisp")
7416 (description
7417 "CL-HEAP provides various implementations of heap data structures (a
7418 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7419 (home-page "https://common-lisp.net/project/cl-heap/")
7420 (license license:gpl3+)))
7421
7422 (define-public cl-heap
7423 (sbcl-package->cl-source-package sbcl-cl-heap))
7424
7425 (define-public ecl-cl-heap
7426 (sbcl-package->ecl-package sbcl-cl-heap))
7427
7428 (define-public sbcl-curry-compose-reader-macros
7429 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7430 (revision "0"))
7431 (package
7432 (name "sbcl-curry-compose-reader-macros")
7433 (version (git-version "1.0.0" revision commit))
7434 (source
7435 (origin
7436 (method git-fetch)
7437 (uri
7438 (git-reference
7439 (url "https://github.com/eschulte/curry-compose-reader-macros")
7440 (commit commit)))
7441 (file-name (git-file-name name version))
7442 (sha256
7443 (base32
7444 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7445 (build-system asdf-build-system/sbcl)
7446 (inputs
7447 `(("alexandria" ,sbcl-alexandria)
7448 ("named-readtables" ,sbcl-named-readtables)))
7449 (synopsis "Reader macros for partial application and composition")
7450 (description
7451 "This Common Lisp library provides reader macros for concise expression
7452 of function partial application and composition.")
7453 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7454 (license license:public-domain))))
7455
7456 (define-public cl-curry-compose-reader-macros
7457 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7458
7459 (define-public ecl-curry-compose-reader-macros
7460 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7461
7462 (define-public sbcl-yason
7463 (package
7464 (name "sbcl-yason")
7465 (version "0.7.7")
7466 (source
7467 (origin
7468 (method git-fetch)
7469 (uri (git-reference
7470 (url "https://github.com/phmarek/yason")
7471 (commit (string-append "v" version))))
7472 (file-name (git-file-name name version))
7473 (sha256
7474 (base32
7475 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7476 (build-system asdf-build-system/sbcl)
7477 (inputs
7478 `(("alexandria" ,sbcl-alexandria)
7479 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7480 (synopsis "Common Lisp JSON parser/encoder")
7481 (description
7482 "YASON is a Common Lisp library for encoding and decoding data in the
7483 JSON interchange format.")
7484 (home-page "https://github.com/phmarek/yason")
7485 (license license:bsd-3)))
7486
7487 (define-public cl-yason
7488 (sbcl-package->cl-source-package sbcl-yason))
7489
7490 (define-public ecl-yason
7491 (sbcl-package->ecl-package sbcl-yason))
7492
7493 (define-public sbcl-stefil
7494 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7495 (revision "0"))
7496 (package
7497 (name "sbcl-stefil")
7498 (version (git-version "0.1" revision commit))
7499 (source
7500 (origin
7501 (method git-fetch)
7502 (uri (git-reference
7503 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7504 (commit commit)))
7505 (file-name (git-file-name name version))
7506 (sha256
7507 (base32
7508 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7509 (build-system asdf-build-system/sbcl)
7510 (inputs
7511 `(("alexandria" ,sbcl-alexandria)
7512 ("iterate" ,sbcl-iterate)
7513 ("metabang-bind" ,sbcl-metabang-bind)
7514 ("swank" ,sbcl-slime-swank)))
7515 (arguments
7516 '(#:phases
7517 (modify-phases %standard-phases
7518 (add-after 'unpack 'drop-unnecessary-dependency
7519 (lambda _
7520 (substitute* "package.lisp"
7521 ((":stefil-system") ""))
7522 #t)))))
7523 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7524 (synopsis "Simple test framework")
7525 (description
7526 "Stefil is a simple test framework for Common Lisp, with a focus on
7527 interactive development.")
7528 (license license:public-domain))))
7529
7530 (define-public cl-stefil
7531 (sbcl-package->cl-source-package sbcl-stefil))
7532
7533 (define-public ecl-stefil
7534 (sbcl-package->ecl-package sbcl-stefil))
7535
7536 (define-public sbcl-graph
7537 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7538 (revision "0"))
7539 (package
7540 (name "sbcl-graph")
7541 (version (git-version "0.0.0" revision commit))
7542 (source
7543 (origin
7544 (method git-fetch)
7545 (uri
7546 (git-reference
7547 (url "https://github.com/eschulte/graph")
7548 (commit commit)))
7549 (file-name (git-file-name name version))
7550 (sha256
7551 (base32
7552 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7553 (build-system asdf-build-system/sbcl)
7554 (native-inputs
7555 `(("stefil" ,sbcl-stefil)))
7556 (inputs
7557 `(("alexandria" ,sbcl-alexandria)
7558 ("cl-heap" ,sbcl-cl-heap)
7559 ("cl-ppcre" ,sbcl-cl-ppcre)
7560 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7561 ("metabang-bind" ,sbcl-metabang-bind)
7562 ("named-readtables" ,sbcl-named-readtables)
7563 ("yason" ,sbcl-yason)))
7564 (arguments
7565 '(#:asd-systems '("graph"
7566 "graph/dot"
7567 "graph/json")))
7568 (synopsis "Graph data structure and algorithms for Common Lisp")
7569 (description
7570 "The GRAPH Common Lisp library provides a data structures to represent
7571 graphs, as well as some graph manipulation and analysis algorithms (shortest
7572 path, maximum flow, minimum spanning tree, etc.).")
7573 (home-page "https://eschulte.github.io/graph/")
7574 (license license:gpl3+))))
7575
7576 (define-public cl-graph
7577 (sbcl-package->cl-source-package sbcl-graph))
7578
7579 (define-public ecl-graph
7580 (sbcl-package->ecl-package sbcl-graph))
7581
7582 (define-public sbcl-trivial-indent
7583 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7584 (revision "0"))
7585 (package
7586 (name "sbcl-trivial-indent")
7587 (version (git-version "1.0.0" revision commit))
7588 (source
7589 (origin
7590 (method git-fetch)
7591 (uri
7592 (git-reference
7593 (url "https://github.com/Shinmera/trivial-indent")
7594 (commit commit)))
7595 (file-name (git-file-name name version))
7596 (sha256
7597 (base32
7598 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7599 (build-system asdf-build-system/sbcl)
7600 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7601 (description
7602 "This library allows you to define custom indentation hints for your
7603 macros if the one recognised by SLIME automatically produces unwanted
7604 results.")
7605 (home-page "https://shinmera.github.io/trivial-indent/")
7606 (license license:zlib))))
7607
7608 (define-public cl-trivial-indent
7609 (sbcl-package->cl-source-package sbcl-trivial-indent))
7610
7611 (define-public ecl-trivial-indent
7612 (sbcl-package->ecl-package sbcl-trivial-indent))
7613
7614 (define-public sbcl-documentation-utils
7615 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7616 (revision "0"))
7617 (package
7618 (name "sbcl-documentation-utils")
7619 (version (git-version "1.2.0" revision commit))
7620 (source
7621 (origin
7622 (method git-fetch)
7623 (uri
7624 (git-reference
7625 (url "https://github.com/Shinmera/documentation-utils")
7626 (commit commit)))
7627 (file-name (git-file-name name version))
7628 (sha256
7629 (base32
7630 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7631 (build-system asdf-build-system/sbcl)
7632 (inputs
7633 `(("trivial-indent" ,sbcl-trivial-indent)))
7634 (synopsis "Few simple tools to document Common Lisp libraries")
7635 (description
7636 "This is a small library to help you with managing the Common Lisp
7637 docstrings for your library.")
7638 (home-page "https://shinmera.github.io/documentation-utils/")
7639 (license license:zlib))))
7640
7641 (define-public cl-documentation-utils
7642 (sbcl-package->cl-source-package sbcl-documentation-utils))
7643
7644 (define-public ecl-documentation-utils
7645 (sbcl-package->ecl-package sbcl-documentation-utils))
7646
7647 (define-public sbcl-documentation-utils-extensions
7648 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7649 (package
7650 (name "sbcl-documentation-utils-extensions")
7651 (version (git-version "0.0.0" "1" commit))
7652 (source
7653 (origin
7654 (method git-fetch)
7655 (uri
7656 (git-reference
7657 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7658 (commit commit)))
7659 (file-name (git-file-name name version))
7660 (sha256
7661 (base32
7662 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7663 (build-system asdf-build-system/sbcl)
7664 (inputs
7665 `(("documentation-utils" ,sbcl-documentation-utils)))
7666 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7667 (synopsis "Set of extensions for documentation-utils")
7668 (description
7669 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7670 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7671 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7672 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7673 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7674 gathered documentation with find-documentation function. Execute code stored
7675 in documentation with @code{execute-documentation}. See the examples in the
7676 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7677 for more information.")
7678 (license license:expat))))
7679
7680 (define-public cl-documentation-utils-extensions
7681 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7682
7683 (define-public ecl-documentation-utils-extensions
7684 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7685
7686 (define-public sbcl-form-fiddle
7687 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7688 (revision "0"))
7689 (package
7690 (name "sbcl-form-fiddle")
7691 (version (git-version "1.1.0" revision commit))
7692 (source
7693 (origin
7694 (method git-fetch)
7695 (uri
7696 (git-reference
7697 (url "https://github.com/Shinmera/form-fiddle")
7698 (commit commit)))
7699 (file-name (git-file-name name version))
7700 (sha256
7701 (base32
7702 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7703 (build-system asdf-build-system/sbcl)
7704 (inputs
7705 `(("documentation-utils" ,sbcl-documentation-utils)))
7706 (synopsis "Utilities to destructure Common Lisp lambda forms")
7707 (description
7708 "Often times we need to destructure a form definition in a Common Lisp
7709 macro. This library provides a set of simple utilities to help with that.")
7710 (home-page "https://shinmera.github.io/form-fiddle/")
7711 (license license:zlib))))
7712
7713 (define-public cl-form-fiddle
7714 (sbcl-package->cl-source-package sbcl-form-fiddle))
7715
7716 (define-public ecl-form-fiddle
7717 (sbcl-package->ecl-package sbcl-form-fiddle))
7718
7719 (define-public sbcl-parachute
7720 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7721 (revision "0"))
7722 (package
7723 (name "sbcl-parachute")
7724 (version (git-version "1.1.1" revision commit))
7725 (source
7726 (origin
7727 (method git-fetch)
7728 (uri
7729 (git-reference
7730 (url "https://github.com/Shinmera/parachute")
7731 (commit commit)))
7732 (file-name (git-file-name name version))
7733 (sha256
7734 (base32
7735 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7736 (build-system asdf-build-system/sbcl)
7737 (inputs
7738 `(("documentation-utils" ,sbcl-documentation-utils)
7739 ("form-fiddle" ,sbcl-form-fiddle)))
7740 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7741 (description
7742 "Parachute is a simple-to-use and extensible testing framework.
7743 In Parachute, things are organised as a bunch of named tests within a package.
7744 Each test can contain a bunch of test forms that make up its body.")
7745 (home-page "https://shinmera.github.io/parachute/")
7746 (license license:zlib))))
7747
7748 (define-public cl-parachute
7749 (sbcl-package->cl-source-package sbcl-parachute))
7750
7751 (define-public ecl-parachute
7752 (sbcl-package->ecl-package sbcl-parachute))
7753
7754 (define-public sbcl-array-utils
7755 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7756 (revision "0"))
7757 (package
7758 (name "sbcl-array-utils")
7759 (version (git-version "1.1.1" revision commit))
7760 (source
7761 (origin
7762 (method git-fetch)
7763 (uri
7764 (git-reference
7765 (url "https://github.com/Shinmera/array-utils")
7766 (commit commit)))
7767 (file-name (git-file-name name version))
7768 (sha256
7769 (base32
7770 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7771 (build-system asdf-build-system/sbcl)
7772 (native-inputs
7773 `(("parachute" ,sbcl-parachute)))
7774 (inputs
7775 `(("documentation-utils" ,sbcl-documentation-utils)))
7776 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7777 (description
7778 "A miniature toolkit that contains some useful shifting/popping/pushing
7779 functions for arrays and vectors. Originally from Plump.")
7780 (home-page "https://shinmera.github.io/array-utils/")
7781 (license license:zlib))))
7782
7783 (define-public cl-array-utils
7784 (sbcl-package->cl-source-package sbcl-array-utils))
7785
7786 (define-public ecl-array-utils
7787 (sbcl-package->ecl-package sbcl-array-utils))
7788
7789 (define-public sbcl-plump
7790 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7791 (revision "1"))
7792 (package
7793 (name "sbcl-plump")
7794 (version (git-version "2.0.0" revision commit))
7795 (source
7796 (origin
7797 (method git-fetch)
7798 (uri
7799 (git-reference
7800 (url "https://github.com/Shinmera/plump")
7801 (commit commit)))
7802 (file-name (git-file-name name version))
7803 (sha256
7804 (base32
7805 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7806 (build-system asdf-build-system/sbcl)
7807 (inputs
7808 `(("array-utils" ,sbcl-array-utils)
7809 ("documentation-utils" ,sbcl-documentation-utils)))
7810 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7811 (description
7812 "Plump is a parser for HTML/XML-like documents, focusing on being
7813 lenient towards invalid markup. It can handle things like invalid attributes,
7814 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7815 tags and so on. It parses documents to a class representation and offers a
7816 small set of DOM functions to manipulate it. It can be extended to parse to
7817 your own classes.")
7818 (home-page "https://shinmera.github.io/plump/")
7819 (license license:zlib))))
7820
7821 (define-public cl-plump
7822 (sbcl-package->cl-source-package sbcl-plump))
7823
7824 (define-public ecl-plump
7825 (sbcl-package->ecl-package sbcl-plump))
7826
7827 ;;; Split the antik package in two to work around the circular dependency
7828 ;;; between antik/antik and antik/gsll.
7829 (define-public sbcl-antik-base
7830 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7831 (revision "1"))
7832 (package
7833 (name "sbcl-antik-base")
7834 (version (git-version "0.0.0" revision commit))
7835 (source
7836 (origin
7837 (method git-fetch)
7838 (uri (git-reference
7839 (url "https://gitlab.common-lisp.net/antik/antik.git")
7840 (commit commit)))
7841 (file-name (git-file-name name version))
7842 (sha256
7843 (base32
7844 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7845 (build-system asdf-build-system/sbcl)
7846 (inputs
7847 `(("alexandria" ,sbcl-alexandria)
7848 ("cffi" ,sbcl-cffi)
7849 ("cl-ppcre" ,sbcl-cl-ppcre)
7850 ("drakma" ,sbcl-drakma)
7851 ("fare-utils" ,sbcl-fare-utils)
7852 ("iterate" ,sbcl-iterate)
7853 ("metabang-bind" ,sbcl-metabang-bind)
7854 ("named-readtables" ,sbcl-named-readtables)
7855 ("split-sequence" ,sbcl-split-sequence)
7856 ("static-vectors" ,sbcl-static-vectors)
7857 ("trivial-garbage" ,sbcl-trivial-garbage)
7858 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7859 (native-inputs
7860 `(("lisp-unit" ,sbcl-lisp-unit)))
7861 (arguments
7862 '(#:asd-systems '("antik-base"
7863 "foreign-array")
7864 #:phases
7865 (modify-phases %standard-phases
7866 (add-after 'unpack 'fix-build
7867 (lambda _
7868 (for-each delete-file
7869 '("antik.asd"
7870 "physical-dimension.asd"
7871 "science-data.asd"))
7872 #t)))))
7873 (synopsis "Scientific and engineering computation in Common Lisp")
7874 (description
7875 "Antik provides a foundation for scientific and engineering
7876 computation in Common Lisp. It is designed not only to facilitate
7877 numerical computations, but to permit the use of numerical computation
7878 libraries and the interchange of data and procedures, whether
7879 foreign (non-Lisp) or Lisp libraries. It is named after the
7880 Antikythera mechanism, one of the oldest examples of a scientific
7881 computer known.")
7882 (home-page "https://common-lisp.net/project/antik/")
7883 (license license:gpl3))))
7884
7885 (define-public cl-antik-base
7886 (sbcl-package->cl-source-package sbcl-antik-base))
7887
7888 (define-public ecl-antik-base
7889 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7890 (package
7891 (inherit pkg)
7892 (arguments
7893 (substitute-keyword-arguments (package-arguments pkg)
7894 ((#:phases phases)
7895 `(modify-phases ,phases
7896 (add-after 'unpack 'fix-readtable
7897 (lambda _
7898 (substitute* "input-output/readtable.lisp"
7899 (("#-ccl")
7900 "#-(or ccl ecl)"))
7901 #t)))))))))
7902
7903 (define-public sbcl-gsll
7904 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7905 (revision "1"))
7906 (package
7907 (name "sbcl-gsll")
7908 (version (git-version "0.0.0" revision commit))
7909 (source
7910 (origin
7911 (method git-fetch)
7912 (uri (git-reference
7913 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7914 (commit commit)))
7915 (file-name (git-file-name name version))
7916 (sha256
7917 (base32
7918 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7919 (build-system asdf-build-system/sbcl)
7920 (native-inputs
7921 `(("lisp-unit" ,sbcl-lisp-unit)))
7922 (inputs
7923 `(("alexandria" ,sbcl-alexandria)
7924 ("antik-base" ,sbcl-antik-base)
7925 ("cffi" ,sbcl-cffi)
7926 ("gsl" ,gsl)
7927 ("metabang-bind" ,sbcl-metabang-bind)
7928 ("trivial-features" ,sbcl-trivial-features)
7929 ("trivial-garbage" ,sbcl-trivial-garbage)))
7930 (arguments
7931 `(#:tests? #f
7932 #:phases
7933 (modify-phases %standard-phases
7934 (add-after 'unpack 'fix-cffi-paths
7935 (lambda* (#:key inputs #:allow-other-keys)
7936 (substitute* "gsll.asd"
7937 ((":depends-on \\(#:foreign-array")
7938 ":depends-on (#:foreign-array #:cffi-libffi"))
7939 (substitute* "init/init.lisp"
7940 (("libgslcblas.so" all)
7941 (string-append
7942 (assoc-ref inputs "gsl") "/lib/" all)))
7943 (substitute* "init/init.lisp"
7944 (("libgsl.so" all)
7945 (string-append
7946 (assoc-ref inputs "gsl") "/lib/" all))))))))
7947 (synopsis "GNU Scientific Library for Lisp")
7948 (description
7949 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7950 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7951 full range of common mathematical operations useful to scientific and
7952 engineering applications. The design of the GSLL interface is such
7953 that access to most of the GSL library is possible in a Lisp-natural
7954 way; the intent is that the user not be hampered by the restrictions
7955 of the C language in which GSL has been written. GSLL thus provides
7956 interactive use of GSL for getting quick answers, even for someone not
7957 intending to program in Lisp.")
7958 (home-page "https://common-lisp.net/project/gsll/")
7959 (license license:gpl3))))
7960
7961 (define-public cl-gsll
7962 (sbcl-package->cl-source-package sbcl-gsll))
7963
7964 (define-public ecl-gsll
7965 (sbcl-package->ecl-package sbcl-gsll))
7966
7967 (define-public sbcl-antik
7968 (package
7969 (inherit sbcl-antik-base)
7970 (name "sbcl-antik")
7971 (inputs
7972 `(("antik-base" ,sbcl-antik-base)
7973 ("gsll" ,sbcl-gsll)))
7974 (arguments
7975 '(#:asd-systems '("antik"
7976 "science-data")
7977 #:phases
7978 (modify-phases %standard-phases
7979 (add-after 'unpack 'fix-build
7980 (lambda _
7981 (for-each delete-file
7982 '("antik-base.asd"
7983 "foreign-array.asd"))
7984 #t)))))))
7985
7986 (define-public cl-antik
7987 (sbcl-package->cl-source-package sbcl-antik))
7988
7989 (define-public sbcl-cl-interpol
7990 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7991 (revision "1"))
7992 (package
7993 (name "sbcl-cl-interpol")
7994 (version (git-version "0.2.6" revision commit))
7995 (source
7996 (origin
7997 (method git-fetch)
7998 (uri (git-reference
7999 (url "https://github.com/edicl/cl-interpol")
8000 (commit commit)))
8001 (file-name (git-file-name name version))
8002 (sha256
8003 (base32
8004 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8005 (build-system asdf-build-system/sbcl)
8006 (inputs
8007 `(("cl-unicode" ,sbcl-cl-unicode)
8008 ("named-readtables" ,sbcl-named-readtables)))
8009 (native-inputs
8010 `(("flexi-streams" ,sbcl-flexi-streams)))
8011 (synopsis "String interpolation for Common Lisp")
8012 (description
8013 "CL-INTERPOL is a library for Common Lisp which modifies the
8014 reader so that you can have interpolation within strings similar to
8015 Perl or Unix Shell scripts. It also provides various ways to insert
8016 arbitrary characters into literal strings even if your editor/IDE
8017 doesn't support them.")
8018 (home-page "https://edicl.github.io/cl-interpol/")
8019 (license license:bsd-3))))
8020
8021 (define-public cl-interpol
8022 (sbcl-package->cl-source-package sbcl-cl-interpol))
8023
8024 (define-public ecl-cl-interpol
8025 (sbcl-package->ecl-package sbcl-cl-interpol))
8026
8027 (define-public sbcl-symbol-munger
8028 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8029 (revision "1"))
8030 (package
8031 (name "sbcl-symbol-munger")
8032 (version (git-version "0.0.1" revision commit))
8033 (source
8034 (origin
8035 (method git-fetch)
8036 (uri (git-reference
8037 (url "https://github.com/AccelerationNet/symbol-munger")
8038 (commit commit)))
8039 (file-name (git-file-name name version))
8040 (sha256
8041 (base32
8042 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8043 (build-system asdf-build-system/sbcl)
8044 (inputs
8045 `(("alexandria" ,sbcl-alexandria)
8046 ("iterate" ,sbcl-iterate)))
8047 (arguments
8048 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8049 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8050 '(#:tests? #f))
8051 (synopsis
8052 "Capitalization and spacing conversion functions for Common Lisp")
8053 (description
8054 "This is a Common Lisp library to change the capitalization and spacing
8055 of a string or a symbol. It can convert to and from Lisp, english, underscore
8056 and camel-case rules.")
8057 (home-page "https://github.com/AccelerationNet/symbol-munger")
8058 ;; The package declares a BSD license, but all of the license
8059 ;; text is MIT.
8060 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8061 (license license:expat))))
8062
8063 (define-public cl-symbol-munger
8064 (sbcl-package->cl-source-package sbcl-symbol-munger))
8065
8066 (define-public ecl-symbol-munger
8067 (sbcl-package->ecl-package sbcl-symbol-munger))
8068
8069 (define-public sbcl-lisp-unit2
8070 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8071 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8072 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8073 (revision "1"))
8074 (package
8075 (name "sbcl-lisp-unit2")
8076 (version (git-version "0.2.0" revision commit))
8077 (source
8078 (origin
8079 (method git-fetch)
8080 (uri (git-reference
8081 (url "https://github.com/AccelerationNet/lisp-unit2")
8082 (commit commit)))
8083 (file-name (git-file-name name version))
8084 (sha256
8085 (base32
8086 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8087 (build-system asdf-build-system/sbcl)
8088 (inputs
8089 `(("alexandria" ,sbcl-alexandria)
8090 ("cl-interpol" ,sbcl-cl-interpol)
8091 ("iterate" ,sbcl-iterate)
8092 ("symbol-munger" ,sbcl-symbol-munger)))
8093 (synopsis "Test Framework for Common Lisp")
8094 (description
8095 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8096 style of JUnit for Java. It is a new version of the lisp-unit library written
8097 by Chris Riesbeck.")
8098 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8099 (license license:expat))))
8100
8101 (define-public cl-lisp-unit2
8102 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8103
8104 (define-public ecl-lisp-unit2
8105 (sbcl-package->ecl-package sbcl-lisp-unit2))
8106
8107 (define-public sbcl-cl-csv
8108 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8109 (revision "2"))
8110 (package
8111 (name "sbcl-cl-csv")
8112 (version (git-version "1.0.6" revision commit))
8113 (source
8114 (origin
8115 (method git-fetch)
8116 (uri (git-reference
8117 (url "https://github.com/AccelerationNet/cl-csv")
8118 (commit commit)))
8119 (file-name (git-file-name name version))
8120 (sha256
8121 (base32
8122 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8123 (build-system asdf-build-system/sbcl)
8124 (arguments
8125 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8126 `(#:tests? #f))
8127 (inputs
8128 `(("alexandria" ,sbcl-alexandria)
8129 ("cl-interpol" ,sbcl-cl-interpol)
8130 ("iterate" ,sbcl-iterate)))
8131 (native-inputs
8132 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8133 (synopsis "Common lisp library for comma-separated values")
8134 (description
8135 "This is a Common Lisp library providing functions to read/write CSV
8136 from/to strings, streams and files.")
8137 (home-page "https://github.com/AccelerationNet/cl-csv")
8138 (license license:bsd-3))))
8139
8140 (define-public cl-csv
8141 (sbcl-package->cl-source-package sbcl-cl-csv))
8142
8143 (define-public ecl-cl-csv
8144 (sbcl-package->ecl-package sbcl-cl-csv))
8145
8146 (define-public sbcl-external-program
8147 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8148 (revision "1"))
8149 (package
8150 (name "sbcl-external-program")
8151 (version (git-version "0.0.6" revision commit))
8152 (source
8153 (origin
8154 (method git-fetch)
8155 (uri (git-reference
8156 (url "https://github.com/sellout/external-program")
8157 (commit commit)))
8158 (file-name (git-file-name name version))
8159 (sha256
8160 (base32
8161 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8162 (build-system asdf-build-system/sbcl)
8163 (inputs
8164 `(("trivial-features" ,sbcl-trivial-features)))
8165 (native-inputs
8166 `(("fiveam" ,sbcl-fiveam)))
8167 (synopsis "Common Lisp library for running external programs")
8168 (description
8169 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8170 process. It is an attempt to make the RUN-PROGRAM functionality in
8171 implementations like SBCL and CCL as portable as possible without
8172 sacrificing much in the way of power.")
8173 (home-page "https://github.com/sellout/external-program")
8174 (license license:llgpl))))
8175
8176 (define-public cl-external-program
8177 (sbcl-package->cl-source-package sbcl-external-program))
8178
8179 (define-public ecl-external-program
8180 (sbcl-package->ecl-package sbcl-external-program))
8181
8182 (define-public sbcl-cl-ana
8183 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8184 (revision "1"))
8185 (package
8186 (name "sbcl-cl-ana")
8187 (version (git-version "0.0.0" revision commit))
8188 (source
8189 (origin
8190 (method git-fetch)
8191 (uri (git-reference
8192 (url "https://github.com/ghollisjr/cl-ana")
8193 (commit commit)))
8194 (file-name (git-file-name name version))
8195 (sha256
8196 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8197 (build-system asdf-build-system/sbcl)
8198 (native-inputs
8199 `(("cl-fad" ,sbcl-cl-fad)))
8200 (inputs
8201 `(("alexandria" ,sbcl-alexandria)
8202 ("antik" ,sbcl-antik)
8203 ("cffi" ,sbcl-cffi)
8204 ("cl-csv" ,sbcl-cl-csv)
8205 ("closer-mop" ,sbcl-closer-mop)
8206 ("external-program" ,sbcl-external-program)
8207 ("gsl" ,gsl)
8208 ("gsll" ,sbcl-gsll)
8209 ("hdf5" ,hdf5-parallel-openmpi)
8210 ("iterate" ,sbcl-iterate)
8211 ("libffi" ,libffi)
8212 ("split-sequence" ,sbcl-split-sequence)))
8213 (arguments
8214 `(#:phases
8215 (modify-phases %standard-phases
8216 (add-after 'unpack 'fix-paths
8217 (lambda* (#:key inputs #:allow-other-keys)
8218 (substitute* "hdf-cffi/hdf-cffi.lisp"
8219 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8220 (string-append (assoc-ref inputs "hdf5")
8221 "/lib/libhdf5.so")))
8222 (substitute* "gsl-cffi/gsl-cffi.lisp"
8223 (("define-foreign-library gsl-cffi" all)
8224 (string-append all " (:unix "
8225 (assoc-ref inputs "gsl")
8226 "/lib/libgsl.so)")))
8227 #t)))))
8228 (synopsis "Common Lisp data analysis library")
8229 (description
8230 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8231 binned data analysis along with nonlinear least squares fitting and
8232 visualization.")
8233 (home-page "https://github.com/ghollisjr/cl-ana")
8234 (license license:gpl3))))
8235
8236 (define-public cl-ana
8237 (sbcl-package->cl-source-package sbcl-cl-ana))
8238
8239 (define-public sbcl-archive
8240 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8241 (revision "1"))
8242 (package
8243 (name "sbcl-archive")
8244 (version (git-version "0.9" revision commit))
8245 (source (origin
8246 (method git-fetch)
8247 (uri (git-reference
8248 (url "https://github.com/sharplispers/archive")
8249 (commit commit)))
8250 (file-name (git-file-name name version))
8251 (sha256
8252 (base32
8253 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8254 (build-system asdf-build-system/sbcl)
8255 (inputs
8256 `(("cl-fad" ,sbcl-cl-fad)
8257 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8258 (synopsis "Common Lisp library for tar and cpio archives")
8259 (description
8260 "This is a Common Lisp library to read and write disk-based file
8261 archives such as those generated by the tar and cpio programs on Unix.")
8262 (home-page "https://github.com/sharplispers/archive")
8263 (license license:bsd-3))))
8264
8265 (define-public cl-archive
8266 (sbcl-package->cl-source-package sbcl-archive))
8267
8268 (define-public ecl-archive
8269 (sbcl-package->ecl-package sbcl-archive))
8270
8271 (define-public sbcl-misc-extensions
8272 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8273 (revision "1"))
8274 (package
8275 (name "sbcl-misc-extensions")
8276 (version (git-version "3.3" revision commit))
8277 (source
8278 (origin
8279 (method git-fetch)
8280 (uri (git-reference
8281 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8282 (commit commit)))
8283 (file-name (git-file-name name version))
8284 (sha256
8285 (base32
8286 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8287 (build-system asdf-build-system/sbcl)
8288 (synopsis "Collection of small macros and extensions for Common Lisp")
8289 (description
8290 "This project is intended as a catchall for small, general-purpose
8291 extensions to Common Lisp. It contains:
8292
8293 @itemize
8294 @item @code{new-let}, a macro that combines and generalizes @code{let},
8295 @code{let*} and @code{multiple-value-bind},
8296 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8297 @end itemize\n")
8298 (home-page "https://common-lisp.net/project/misc-extensions/")
8299 (license license:public-domain))))
8300
8301 (define-public cl-misc-extensions
8302 (sbcl-package->cl-source-package sbcl-misc-extensions))
8303
8304 (define-public ecl-misc-extensions
8305 (sbcl-package->ecl-package sbcl-misc-extensions))
8306
8307 (define-public sbcl-mt19937
8308 (package
8309 (name "sbcl-mt19937")
8310 (version "1.1")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8315 "mt19937-latest.tar.gz"))
8316 (sha256
8317 (base32
8318 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8319 (build-system asdf-build-system/sbcl)
8320 (synopsis "Mersenne Twister pseudo-random number generator")
8321 (description
8322 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8323 for Common Lisp.")
8324 (home-page "https://www.cliki.net/mt19937")
8325 (license license:public-domain)))
8326
8327 (define-public cl-mt19937
8328 (sbcl-package->cl-source-package sbcl-mt19937))
8329
8330 (define-public ecl-mt19937
8331 (sbcl-package->ecl-package sbcl-mt19937))
8332
8333 (define-public sbcl-fset
8334 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8335 (revision "1"))
8336 (package
8337 (name "sbcl-fset")
8338 (version (git-version "1.3.2" revision commit))
8339 (source
8340 (origin
8341 (method git-fetch)
8342 (uri (git-reference
8343 (url "https://github.com/slburson/fset")
8344 (commit commit)))
8345 (file-name (git-file-name name version))
8346 (sha256
8347 (base32
8348 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8349 (snippet '(begin
8350 ;; Remove obsolete copy of system definition.
8351 (delete-file "Code/fset.asd")
8352 #t))))
8353 (build-system asdf-build-system/sbcl)
8354 (inputs
8355 `(("misc-extensions" ,sbcl-misc-extensions)
8356 ("mt19937" ,sbcl-mt19937)
8357 ("named-readtables" ,sbcl-named-readtables)))
8358 (synopsis "Functional set-theoretic collections library")
8359 (description
8360 "FSet is a functional set-theoretic collections library for Common Lisp.
8361 Functional means that all update operations return a new collection rather than
8362 modifying an existing one in place. Set-theoretic means that collections may
8363 be nested arbitrarily with no additional programmer effort; for instance, sets
8364 may contain sets, maps may be keyed by sets, etc.")
8365 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8366 (license license:llgpl))))
8367
8368 (define-public cl-fset
8369 (sbcl-package->cl-source-package sbcl-fset))
8370
8371 (define-public ecl-fset
8372 (package
8373 (inherit (sbcl-package->ecl-package sbcl-fset))
8374 (arguments
8375 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8376 '(#:tests? #f))))
8377
8378 (define-public sbcl-cl-cont
8379 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8380 (revision "1"))
8381 (package
8382 (name "sbcl-cl-cont")
8383 (version (git-version "0.3.8" revision commit))
8384 (source
8385 (origin
8386 (method git-fetch)
8387 (uri (git-reference
8388 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8389 (commit commit)))
8390 (file-name (git-file-name name version))
8391 (sha256
8392 (base32
8393 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8394 (build-system asdf-build-system/sbcl)
8395 (inputs
8396 `(("alexandria" ,sbcl-alexandria)
8397 ("closer-mop" ,sbcl-closer-mop)))
8398 (native-inputs
8399 `(("rt" ,sbcl-rt)))
8400 (synopsis "Delimited continuations for Common Lisp")
8401 (description
8402 "This is a library that implements delimited continuations by
8403 transforming Common Lisp code to continuation passing style.")
8404 (home-page "https://common-lisp.net/project/cl-cont/")
8405 (license license:llgpl))))
8406
8407 (define-public cl-cont
8408 (sbcl-package->cl-source-package sbcl-cl-cont))
8409
8410 (define-public ecl-cl-cont
8411 (sbcl-package->ecl-package sbcl-cl-cont))
8412
8413 (define-public sbcl-cl-coroutine
8414 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8415 (revision "1"))
8416 (package
8417 (name "sbcl-cl-coroutine")
8418 (version (git-version "0.1" revision commit))
8419 (source
8420 (origin
8421 (method git-fetch)
8422 (uri (git-reference
8423 (url "https://github.com/takagi/cl-coroutine")
8424 (commit commit)))
8425 (file-name (git-file-name name version))
8426 (sha256
8427 (base32
8428 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8429 (build-system asdf-build-system/sbcl)
8430 (inputs
8431 `(("alexandria" ,sbcl-alexandria)
8432 ("cl-cont" ,sbcl-cl-cont)))
8433 (native-inputs
8434 `(("prove" ,sbcl-prove)))
8435 (arguments
8436 `(;; TODO: Fix the tests. They fail with:
8437 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8438 #:tests? #f
8439 #:phases
8440 (modify-phases %standard-phases
8441 (add-after 'unpack 'fix-tests
8442 (lambda _
8443 (substitute* "cl-coroutine-test.asd"
8444 (("cl-test-more")
8445 "prove"))
8446 #t)))))
8447 (synopsis "Coroutine library for Common Lisp")
8448 (description
8449 "This is a coroutine library for Common Lisp implemented using the
8450 continuations of the @code{cl-cont} library.")
8451 (home-page "https://github.com/takagi/cl-coroutine")
8452 (license license:llgpl))))
8453
8454 (define-public cl-coroutine
8455 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8456
8457 (define-public ecl-cl-coroutine
8458 (sbcl-package->ecl-package sbcl-cl-coroutine))
8459
8460 (define-public sbcl-vas-string-metrics
8461 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8462 (revision "1"))
8463 (package
8464 (name "sbcl-vas-string-metrics")
8465 (version (git-version "0.0.0" revision commit))
8466 (source
8467 (origin
8468 (method git-fetch)
8469 (uri (git-reference
8470 (url "https://github.com/vsedach/vas-string-metrics")
8471 (commit commit)))
8472 (file-name (git-file-name "vas-string-metrics" version))
8473 (sha256
8474 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8475 (build-system asdf-build-system/sbcl)
8476 (arguments
8477 `(#:test-asd-file "test.vas-string-metrics.asd"))
8478 (home-page "https://github.com/vsedach/vas-string-metrics")
8479 (synopsis "String distance algorithms for Common Lisp")
8480 (description
8481 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8482 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8483 algorithms.")
8484 (license license:lgpl3+))))
8485
8486 (define-public ecl-vas-string-metrics
8487 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8488
8489 (define-public cl-vas-string-metrics
8490 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8491
8492 (define-public sbcl-vom
8493 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8494 (revision "1"))
8495 (package
8496 (name "sbcl-vom")
8497 (version (git-version "0.1.4" revision commit))
8498 (source
8499 (origin
8500 (method git-fetch)
8501 (uri (git-reference
8502 (url "https://github.com/orthecreedence/vom")
8503 (commit commit)))
8504 (file-name (git-file-name name version))
8505 (sha256
8506 (base32
8507 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8508 (build-system asdf-build-system/sbcl)
8509 (synopsis "Tiny logging utility for Common Lisp")
8510 (description
8511 "Vom is a logging library for Common Lisp. It's goal is to be useful
8512 and small. It does not provide a lot of features as other loggers do, but
8513 has a small codebase that's easy to understand and use.")
8514 (home-page "https://github.com/orthecreedence/vom")
8515 (license license:expat))))
8516
8517 (define-public cl-vom
8518 (sbcl-package->cl-source-package sbcl-vom))
8519
8520 (define-public ecl-vom
8521 (sbcl-package->ecl-package sbcl-vom))
8522
8523 (define-public sbcl-cl-libuv
8524 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8525 (revision "1"))
8526 (package
8527 (name "sbcl-cl-libuv")
8528 (version (git-version "0.1.6" revision commit))
8529 (source
8530 (origin
8531 (method git-fetch)
8532 (uri (git-reference
8533 (url "https://github.com/orthecreedence/cl-libuv")
8534 (commit commit)))
8535 (file-name (git-file-name name version))
8536 (sha256
8537 (base32
8538 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8539 (build-system asdf-build-system/sbcl)
8540 (inputs
8541 `(("alexandria" ,sbcl-alexandria)
8542 ("cffi" ,sbcl-cffi)
8543 ("libuv" ,libuv)))
8544 (arguments
8545 `(#:phases
8546 (modify-phases %standard-phases
8547 (add-after 'unpack 'fix-paths
8548 (lambda* (#:key inputs #:allow-other-keys)
8549 (substitute* "lib.lisp"
8550 (("/usr/lib/libuv.so")
8551 (string-append (assoc-ref inputs "libuv")
8552 "/lib/libuv.so")))
8553 #t))
8554 (add-after 'fix-paths 'fix-system-definition
8555 (lambda _
8556 (substitute* "cl-libuv.asd"
8557 (("#:cffi #:alexandria")
8558 "#:cffi #:cffi-grovel #:alexandria"))
8559 #t)))))
8560 (synopsis "Common Lisp bindings to libuv")
8561 (description
8562 "This library provides low-level libuv bindings for Common Lisp.")
8563 (home-page "https://github.com/orthecreedence/cl-libuv")
8564 (license license:expat))))
8565
8566 (define-public cl-libuv
8567 (sbcl-package->cl-source-package sbcl-cl-libuv))
8568
8569 (define-public ecl-cl-libuv
8570 (sbcl-package->ecl-package sbcl-cl-libuv))
8571
8572 (define-public sbcl-cl-async
8573 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8574 (revision "1"))
8575 (package
8576 (name "sbcl-cl-async")
8577 (version (git-version "0.6.1" revision commit))
8578 (source
8579 (origin
8580 (method git-fetch)
8581 (uri (git-reference
8582 (url "https://github.com/orthecreedence/cl-async")
8583 (commit commit)))
8584 (file-name (git-file-name name version))
8585 (sha256
8586 (base32
8587 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8588 (build-system asdf-build-system/sbcl)
8589 (inputs
8590 `(("babel" ,sbcl-babel)
8591 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8592 ("cffi" ,sbcl-cffi)
8593 ("cl-libuv" ,sbcl-cl-libuv)
8594 ("cl-ppcre" ,sbcl-cl-ppcre)
8595 ("fast-io" ,sbcl-fast-io)
8596 ("openssl" ,openssl)
8597 ("static-vectors" ,sbcl-static-vectors)
8598 ("trivial-features" ,sbcl-trivial-features)
8599 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8600 ("vom" ,sbcl-vom)))
8601 (arguments
8602 `(#:asd-systems '("cl-async"
8603 "cl-async-repl"
8604 "cl-async-ssl")
8605 #:phases
8606 (modify-phases %standard-phases
8607 (add-after 'unpack 'fix-paths
8608 (lambda* (#:key inputs #:allow-other-keys)
8609 (substitute* "src/ssl/package.lisp"
8610 (("libcrypto\\.so")
8611 (string-append (assoc-ref inputs "openssl")
8612 "/lib/libcrypto.so"))
8613 (("libssl\\.so")
8614 (string-append (assoc-ref inputs "openssl")
8615 "/lib/libssl.so")))
8616 #t)))))
8617 (synopsis "Asynchronous operations for Common Lisp")
8618 (description
8619 "Cl-async is a library for general purpose, non-blocking programming in
8620 Common Lisp. It uses the libuv library as backend.")
8621 (home-page "https://orthecreedence.github.io/cl-async/")
8622 (license license:expat))))
8623
8624 (define-public cl-async
8625 (sbcl-package->cl-source-package sbcl-cl-async))
8626
8627 (define-public ecl-cl-async
8628 (sbcl-package->ecl-package sbcl-cl-async))
8629
8630 (define-public sbcl-blackbird
8631 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8632 (revision "1"))
8633 (package
8634 (name "sbcl-blackbird")
8635 (version (git-version "0.5.2" revision commit))
8636 (source
8637 (origin
8638 (method git-fetch)
8639 (uri (git-reference
8640 (url "https://github.com/orthecreedence/blackbird")
8641 (commit commit)))
8642 (file-name (git-file-name name version))
8643 (sha256
8644 (base32
8645 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8646 (build-system asdf-build-system/sbcl)
8647 (inputs
8648 `(("vom" ,sbcl-vom)))
8649 (native-inputs
8650 `(("cl-async" ,sbcl-cl-async)
8651 ("fiveam" ,sbcl-fiveam)))
8652 (synopsis "Promise implementation for Common Lisp")
8653 (description
8654 "This is a standalone promise implementation for Common Lisp. It is
8655 the successor to the now-deprecated cl-async-future project.")
8656 (home-page "https://orthecreedence.github.io/blackbird/")
8657 (license license:expat))))
8658
8659 (define-public cl-blackbird
8660 (sbcl-package->cl-source-package sbcl-blackbird))
8661
8662 (define-public ecl-blackbird
8663 (sbcl-package->ecl-package sbcl-blackbird))
8664
8665 (define-public sbcl-cl-async-future
8666 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8667 (revision "1"))
8668 (package
8669 (name "sbcl-cl-async-future")
8670 (version (git-version "0.4.4.1" revision commit))
8671 (source
8672 (origin
8673 (method git-fetch)
8674 (uri (git-reference
8675 (url "https://github.com/orthecreedence/cl-async-future")
8676 (commit commit)))
8677 (file-name (git-file-name name version))
8678 (sha256
8679 (base32
8680 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8681 (build-system asdf-build-system/sbcl)
8682 (inputs
8683 `(("blackbird" ,sbcl-blackbird)))
8684 (native-inputs
8685 `(("cl-async" ,sbcl-cl-async)
8686 ("eos" ,sbcl-eos)))
8687 (synopsis "Futures implementation for Common Lisp")
8688 (description
8689 "This is futures implementation for Common Lisp. It plugs in nicely
8690 to cl-async.")
8691 (home-page "https://orthecreedence.github.io/cl-async/future")
8692 (license license:expat))))
8693
8694 (define-public cl-async-future
8695 (sbcl-package->cl-source-package sbcl-cl-async-future))
8696
8697 (define-public ecl-cl-async-future
8698 (sbcl-package->ecl-package sbcl-cl-async-future))
8699
8700 (define-public sbcl-green-threads
8701 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8702 (revision "1"))
8703 (package
8704 (name "sbcl-green-threads")
8705 (version (git-version "0.3" revision commit))
8706 (source
8707 (origin
8708 (method git-fetch)
8709 (uri (git-reference
8710 (url "https://github.com/thezerobit/green-threads")
8711 (commit commit)))
8712 (file-name (git-file-name name version))
8713 (sha256
8714 (base32
8715 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8716 (build-system asdf-build-system/sbcl)
8717 (inputs
8718 `(("cl-async-future" ,sbcl-cl-async-future)
8719 ("cl-cont" ,sbcl-cl-cont)))
8720 (native-inputs
8721 `(("prove" ,sbcl-prove)))
8722 (arguments
8723 `(;; TODO: Fix the tests. They fail with:
8724 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8725 #:tests? #f
8726 #:phases
8727 (modify-phases %standard-phases
8728 (add-after 'unpack 'fix-tests
8729 (lambda _
8730 (substitute* "green-threads-test.asd"
8731 (("cl-test-more")
8732 "prove"))
8733 #t)))))
8734 (synopsis "Cooperative multitasking library for Common Lisp")
8735 (description
8736 "This library allows for cooperative multitasking with help of cl-cont
8737 for continuations. It tries to mimic the API of bordeaux-threads as much as
8738 possible.")
8739 (home-page "https://github.com/thezerobit/green-threads")
8740 (license license:bsd-3))))
8741
8742 (define-public cl-green-threads
8743 (sbcl-package->cl-source-package sbcl-green-threads))
8744
8745 (define-public ecl-green-threads
8746 (sbcl-package->ecl-package sbcl-green-threads))
8747
8748 (define-public sbcl-cl-base32
8749 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8750 (revision "1"))
8751 (package
8752 (name "sbcl-cl-base32")
8753 (version (git-version "0.1" revision commit))
8754 (source
8755 (origin
8756 (method git-fetch)
8757 (uri (git-reference
8758 (url "https://github.com/hargettp/cl-base32")
8759 (commit commit)))
8760 (file-name (git-file-name name version))
8761 (sha256
8762 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8763 (build-system asdf-build-system/sbcl)
8764 (native-inputs
8765 `(("lisp-unit" ,sbcl-lisp-unit)))
8766 (synopsis "Common Lisp library for base32 encoding and decoding")
8767 (description
8768 "This package provides functions for base32 encoding and decoding as
8769 defined in RFC4648.")
8770 (home-page "https://github.com/hargettp/cl-base32")
8771 (license license:expat))))
8772
8773 (define-public cl-base32
8774 (sbcl-package->cl-source-package sbcl-cl-base32))
8775
8776 (define-public ecl-cl-base32
8777 (sbcl-package->ecl-package sbcl-cl-base32))
8778
8779 (define-public sbcl-cl-z85
8780 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8781 (revision "1"))
8782 (package
8783 (name "sbcl-cl-z85")
8784 (version (git-version "1.0" revision commit))
8785 (source
8786 (origin
8787 (method git-fetch)
8788 (uri (git-reference
8789 (url "https://github.com/glv2/cl-z85")
8790 (commit commit)))
8791 (file-name (git-file-name name version))
8792 (sha256
8793 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8794 (build-system asdf-build-system/sbcl)
8795 (native-inputs
8796 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8797 ("fiveam" ,sbcl-fiveam)))
8798 (synopsis "Common Lisp library for Z85 encoding and decoding")
8799 (description
8800 "This package provides functions to encode or decode byte vectors or
8801 byte streams using the Z85 format, which is a base-85 encoding used by
8802 ZeroMQ.")
8803 (home-page "https://github.com/glv2/cl-z85")
8804 (license license:gpl3+))))
8805
8806 (define-public cl-z85
8807 (sbcl-package->cl-source-package sbcl-cl-z85))
8808
8809 (define-public ecl-cl-z85
8810 (sbcl-package->ecl-package sbcl-cl-z85))
8811
8812 (define-public sbcl-ltk
8813 (package
8814 (name "sbcl-ltk")
8815 (version "0.992")
8816 (source
8817 (origin
8818 (method git-fetch)
8819 (uri (git-reference
8820 (url "https://github.com/herth/ltk")
8821 (commit version)))
8822 (file-name (git-file-name name version))
8823 (sha256
8824 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8825 (build-system asdf-build-system/sbcl)
8826 (inputs
8827 `(("imagemagick" ,imagemagick)
8828 ("tk" ,tk)))
8829 (arguments
8830 `(#:asd-systems '("ltk"
8831 "ltk-mw"
8832 "ltk-remote")
8833 #:tests? #f
8834 #:phases
8835 (modify-phases %standard-phases
8836 (add-after 'unpack 'fix-paths
8837 (lambda* (#:key inputs #:allow-other-keys)
8838 (substitute* "ltk/ltk.lisp"
8839 (("#-freebsd \"wish\"")
8840 (string-append "#-freebsd \""
8841 (assoc-ref inputs "tk")
8842 "/bin/wish\""))
8843 (("do-execute \"convert\"")
8844 (string-append "do-execute \""
8845 (assoc-ref inputs "imagemagick")
8846 "/bin/convert\"")))
8847 #t))
8848 (add-after 'unpack 'fix-build
8849 (lambda _
8850 (substitute* "ltk/ltk-remote.lisp"
8851 (("\\(:export")
8852 "(:shadow #:raise) (:export"))
8853 #t)))))
8854 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8855 (description
8856 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8857 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8858 (home-page "http://www.peter-herth.de/ltk/")
8859 (license license:llgpl)))
8860
8861 (define-public cl-ltk
8862 (sbcl-package->cl-source-package sbcl-ltk))
8863
8864 (define-public ecl-ltk
8865 (sbcl-package->ecl-package sbcl-ltk))
8866
8867 (define-public sbcl-cl-lex
8868 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8869 (revision "1"))
8870 (package
8871 (name "sbcl-cl-lex")
8872 (version (git-version "1.1.3" revision commit))
8873 (source
8874 (origin
8875 (method git-fetch)
8876 (uri (git-reference
8877 (url "https://github.com/djr7C4/cl-lex")
8878 (commit commit)))
8879 (file-name (git-file-name name version))
8880 (sha256
8881 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8882 (build-system asdf-build-system/sbcl)
8883 (inputs
8884 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8885 (synopsis "Common Lisp macros for generating lexical analyzers")
8886 (description
8887 "This is a Common Lisp library providing a set of macros for generating
8888 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8889 be used with @code{cl-yacc}.")
8890 (home-page "https://github.com/djr7C4/cl-lex")
8891 (license license:gpl3))))
8892
8893 (define-public cl-lex
8894 (sbcl-package->cl-source-package sbcl-cl-lex))
8895
8896 (define-public ecl-cl-lex
8897 (sbcl-package->ecl-package sbcl-cl-lex))
8898
8899 (define-public sbcl-clunit2
8900 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8901 (revision "1"))
8902 (package
8903 (name "sbcl-clunit2")
8904 (version (git-version "0.2.4" revision commit))
8905 (source
8906 (origin
8907 (method git-fetch)
8908 (uri (git-reference
8909 (url "https://notabug.org/cage/clunit2.git")
8910 (commit commit)))
8911 (file-name (git-file-name name version))
8912 (sha256
8913 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8914 (build-system asdf-build-system/sbcl)
8915 (synopsis "Unit testing framework for Common Lisp")
8916 (description
8917 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8918 easy to use so that you can quickly start testing.")
8919 (home-page "https://notabug.org/cage/clunit2")
8920 (license license:expat))))
8921
8922 (define-public cl-clunit2
8923 (sbcl-package->cl-source-package sbcl-clunit2))
8924
8925 (define-public ecl-clunit2
8926 (sbcl-package->ecl-package sbcl-clunit2))
8927
8928 (define-public sbcl-cl-colors2
8929 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8930 (revision "1"))
8931 (package
8932 (name "sbcl-cl-colors2")
8933 (version (git-version "0.2.1" revision commit))
8934 (source
8935 (origin
8936 (method git-fetch)
8937 (uri (git-reference
8938 (url "https://notabug.org/cage/cl-colors2.git")
8939 (commit commit)))
8940 (file-name (git-file-name name version))
8941 (sha256
8942 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8943 (build-system asdf-build-system/sbcl)
8944 (native-inputs
8945 `(("clunit2" ,sbcl-clunit2)))
8946 (inputs
8947 `(("alexandria" ,sbcl-alexandria)
8948 ("cl-ppcre" ,sbcl-cl-ppcre)))
8949 (synopsis "Color library for Common Lisp")
8950 (description
8951 "This is a very simple color library for Common Lisp, providing:
8952
8953 @itemize
8954 @item Types for representing colors in HSV and RGB spaces.
8955 @item Simple conversion functions between the above types (and also
8956 hexadecimal representation for RGB).
8957 @item Some predefined colors (currently X11 color names -- of course
8958 the library does not depend on X11).
8959 @end itemize\n")
8960 (home-page "https://notabug.org/cage/cl-colors2")
8961 (license license:boost1.0))))
8962
8963 (define-public cl-colors2
8964 (sbcl-package->cl-source-package sbcl-cl-colors2))
8965
8966 (define-public ecl-cl-colors2
8967 (sbcl-package->ecl-package sbcl-cl-colors2))
8968
8969 (define-public sbcl-cl-jpeg
8970 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8971 (revision "1"))
8972 (package
8973 (name "sbcl-cl-jpeg")
8974 (version (git-version "2.8" revision commit))
8975 (source
8976 (origin
8977 (method git-fetch)
8978 (uri (git-reference
8979 (url "https://github.com/sharplispers/cl-jpeg")
8980 (commit commit)))
8981 (file-name (git-file-name name version))
8982 (sha256
8983 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8984 (build-system asdf-build-system/sbcl)
8985 (synopsis "JPEG image library for Common Lisp")
8986 (description
8987 "This is a baseline JPEG codec written in Common Lisp. It can be used
8988 for reading and writing JPEG image files.")
8989 (home-page "https://github.com/sharplispers/cl-jpeg")
8990 (license license:bsd-3))))
8991
8992 (define-public cl-jpeg
8993 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8994
8995 (define-public ecl-cl-jpeg
8996 (sbcl-package->ecl-package sbcl-cl-jpeg))
8997
8998 (define-public sbcl-nodgui
8999 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
9000 (revision "1"))
9001 (package
9002 (name "sbcl-nodgui")
9003 (version (git-version "0.0.5" revision commit))
9004 (source
9005 (origin
9006 (method git-fetch)
9007 (uri (git-reference
9008 (url "https://notabug.org/cage/nodgui.git")
9009 (commit commit)))
9010 (file-name (git-file-name name version))
9011 (sha256
9012 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
9013 (build-system asdf-build-system/sbcl)
9014 (inputs
9015 `(("alexandria" ,sbcl-alexandria)
9016 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9017 ("cl-colors2" ,sbcl-cl-colors2)
9018 ("cl-jpeg" ,sbcl-cl-jpeg)
9019 ("cl-lex" ,sbcl-cl-lex)
9020 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9021 ("cl-unicode" ,sbcl-cl-unicode)
9022 ("cl-yacc" ,sbcl-cl-yacc)
9023 ("clunit2" ,sbcl-clunit2)
9024 ("named-readtables" ,sbcl-named-readtables)
9025 ("parse-number" ,sbcl-parse-number)
9026 ("tk" ,tk)))
9027 (arguments
9028 `(#:phases (modify-phases %standard-phases
9029 (add-after 'unpack 'fix-paths
9030 (lambda* (#:key inputs #:allow-other-keys)
9031 (substitute* "src/wish-communication.lisp"
9032 (("#-freebsd \"wish\"")
9033 (string-append "#-freebsd \""
9034 (assoc-ref inputs "tk")
9035 "/bin/wish\"")))
9036 #t)))))
9037 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9038 (description
9039 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9040 toolkit. It also provides a few additional widgets more than the standard Tk
9041 ones.")
9042 (home-page "https://www.autistici.org/interzona/nodgui.html")
9043 (license license:llgpl))))
9044
9045 (define-public cl-nodgui
9046 (sbcl-package->cl-source-package sbcl-nodgui))
9047
9048 (define-public ecl-nodgui
9049 (sbcl-package->ecl-package sbcl-nodgui))
9050
9051 (define-public sbcl-salza2
9052 (package
9053 (name "sbcl-salza2")
9054 (version "2.0.9")
9055 (source
9056 (origin
9057 (method git-fetch)
9058 (uri (git-reference
9059 (url "https://github.com/xach/salza2")
9060 (commit (string-append "release-" version))))
9061 (file-name (git-file-name name version))
9062 (sha256
9063 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9064 (build-system asdf-build-system/sbcl)
9065 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9066 (description
9067 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9068 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9069 respectively.")
9070 (home-page "https://www.xach.com/lisp/salza2/")
9071 (license license:bsd-2)))
9072
9073 (define-public cl-salza2
9074 (sbcl-package->cl-source-package sbcl-salza2))
9075
9076 (define-public ecl-salza2
9077 (sbcl-package->ecl-package sbcl-salza2))
9078
9079 (define-public sbcl-origin
9080 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9081 (revision "1"))
9082 (package
9083 (name "sbcl-origin")
9084 (version (git-version "2.0.0" revision commit))
9085 (source
9086 (origin
9087 (method git-fetch)
9088 (uri (git-reference
9089 (url "https://git.mfiano.net/mfiano/origin")
9090 (commit commit)))
9091 (file-name (git-file-name "origin" version))
9092 (sha256
9093 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9094 (build-system asdf-build-system/sbcl)
9095 (native-inputs
9096 `(("parachute" ,sbcl-parachute)))
9097 (inputs
9098 `(("golden-utils" ,sbcl-golden-utils)
9099 ("specialization-store" ,sbcl-specialization-store)))
9100 (home-page "https://git.mfiano.net/mfiano/origin")
9101 (synopsis "Common Lisp graphics math library")
9102 (description
9103 "This is a native Common Lisp graphics math library with an emphasis on
9104 performance and correctness.")
9105 (license license:expat))))
9106
9107 (define-public ecl-origin
9108 (sbcl-package->ecl-package sbcl-origin))
9109
9110 (define-public cl-origin
9111 (sbcl-package->cl-source-package sbcl-origin))
9112
9113 (define-public sbcl-png-read
9114 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9115 (revision "1"))
9116 (package
9117 (name "sbcl-png-read")
9118 (version (git-version "0.3.1" revision commit))
9119 (source
9120 (origin
9121 (method git-fetch)
9122 (uri (git-reference
9123 (url "https://github.com/Ramarren/png-read")
9124 (commit commit)))
9125 (file-name (git-file-name name version))
9126 (sha256
9127 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9128 (build-system asdf-build-system/sbcl)
9129 (inputs
9130 `(("babel" ,sbcl-babel)
9131 ("chipz" ,sbcl-chipz)
9132 ("iterate" ,sbcl-iterate)))
9133 (synopsis "PNG decoder for Common Lisp")
9134 (description "This is a Common Lisp library for reading PNG images.")
9135 (home-page "https://github.com/Ramarren/png-read")
9136 (license license:bsd-3))))
9137
9138 (define-public cl-png-read
9139 (sbcl-package->cl-source-package sbcl-png-read))
9140
9141 (define-public ecl-png-read
9142 (sbcl-package->ecl-package sbcl-png-read))
9143
9144 (define-public sbcl-3b-bmfont
9145 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9146 (revision "1"))
9147 (package
9148 (name "sbcl-3b-bmfont")
9149 (version (git-version "0.0.1" revision commit))
9150 (source
9151 (origin
9152 (method git-fetch)
9153 (uri (git-reference
9154 (url "https://github.com/3b/3b-bmfont/")
9155 (commit commit)))
9156 (file-name (git-file-name "3b-bmfont" version))
9157 (sha256
9158 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9159 (build-system asdf-build-system/sbcl)
9160 (arguments
9161 `(#:asd-systems
9162 '("3b-bmfont"
9163 "3b-bmfont/text"
9164 "3b-bmfont/common"
9165 "3b-bmfont/xml"
9166 "3b-bmfont/json")))
9167 (inputs
9168 `(("alexandria" ,sbcl-alexandria)
9169 ("cxml" ,sbcl-cxml)
9170 ("flexi-streams" ,sbcl-flexi-streams)
9171 ("jsown" ,sbcl-jsown)
9172 ("split-sequence" ,sbcl-split-sequence)))
9173 (home-page "https://github.com/3b/3b-bmfont/")
9174 (synopsis "Read/write bmfont metadata files")
9175 (description
9176 "This is a Common Lisp library which provides functionality to
9177 read/write Bit Map Font (BMF) into text, JSON and XML.")
9178 (license license:expat))))
9179
9180 (define-public ecl-3b-bmfont
9181 (sbcl-package->ecl-package sbcl-3b-bmfont))
9182
9183 (define-public cl-3b-bmfont
9184 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9185
9186 (define-public sbcl-zpng
9187 (package
9188 (name "sbcl-zpng")
9189 (version "1.2.2")
9190 (source
9191 (origin
9192 (method git-fetch)
9193 (uri (git-reference
9194 (url "https://github.com/xach/zpng")
9195 (commit (string-append "release-" version))))
9196 (file-name (git-file-name name version))
9197 (sha256
9198 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9199 (build-system asdf-build-system/sbcl)
9200 (inputs
9201 `(("salza2" ,sbcl-salza2)))
9202 (synopsis "PNG encoder for Common Lisp")
9203 (description "This is a Common Lisp library for creating PNG images.")
9204 (home-page "https://www.xach.com/lisp/zpng/")
9205 (license license:bsd-2)))
9206
9207 (define-public cl-zpng
9208 (sbcl-package->cl-source-package sbcl-zpng))
9209
9210 (define-public ecl-zpng
9211 (sbcl-package->ecl-package sbcl-zpng))
9212
9213 (define-public sbcl-cl-qrencode
9214 (package
9215 (name "sbcl-cl-qrencode")
9216 (version "0.1.2")
9217 (source
9218 (origin
9219 (method git-fetch)
9220 (uri (git-reference
9221 (url "https://github.com/jnjcc/cl-qrencode")
9222 (commit (string-append "v" version))))
9223 (file-name (git-file-name name version))
9224 (sha256
9225 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9226 (build-system asdf-build-system/sbcl)
9227 (native-inputs
9228 `(("lisp-unit" ,sbcl-lisp-unit)))
9229 (inputs
9230 `(("zpng" ,sbcl-zpng)))
9231 (synopsis "QR code encoder for Common Lisp")
9232 (description
9233 "This Common Lisp library provides function to make QR codes and to save
9234 them as PNG files.")
9235 (home-page "https://github.com/jnjcc/cl-qrencode")
9236 (license license:gpl2+)))
9237
9238 (define-public cl-qrencode
9239 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9240
9241 (define-public ecl-cl-qrencode
9242 (sbcl-package->ecl-package sbcl-cl-qrencode))
9243
9244 (define-public sbcl-hdf5-cffi
9245 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9246 (revision "1"))
9247 (package
9248 (name "sbcl-hdf5-cffi")
9249 (version (git-version "1.8.18" revision commit))
9250 (source
9251 (origin
9252 (method git-fetch)
9253 (uri (git-reference
9254 (url "https://github.com/hdfgroup/hdf5-cffi")
9255 (commit commit)))
9256 (file-name (git-file-name name version))
9257 (sha256
9258 (base32
9259 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9260 (build-system asdf-build-system/sbcl)
9261 (synopsis "Common Lisp bindings for the HDF5 library")
9262 (description
9263 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9264 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9265 (license (license:non-copyleft
9266 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9267 commit
9268 "/LICENSE")))
9269 (inputs
9270 `(("cffi" ,sbcl-cffi)
9271 ("hdf5" ,hdf5-1.10)))
9272 (native-inputs
9273 `(("fiveam" ,sbcl-fiveam)))
9274 (arguments
9275 `(#:test-asd-file "hdf5-cffi.test.asd"
9276 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9277 ;; I don't know if there is a way to tell asdf-build-system to load
9278 ;; an additional system first, so tests are disabled.
9279 #:tests? #f
9280 #:phases
9281 (modify-phases %standard-phases
9282 (add-after 'unpack 'fix-paths
9283 (lambda* (#:key inputs #:allow-other-keys)
9284 (substitute* "src/library.lisp"
9285 (("libhdf5.so")
9286 (string-append
9287 (assoc-ref inputs "hdf5")
9288 "/lib/libhdf5.so")))))
9289 (add-after 'unpack 'fix-dependencies
9290 (lambda* (#:key inputs #:allow-other-keys)
9291 (substitute* "hdf5-cffi.asd"
9292 ((":depends-on \\(:cffi\\)")
9293 ":depends-on (:cffi :cffi-grovel)"))
9294 (substitute* "hdf5-cffi.test.asd"
9295 ((":depends-on \\(:cffi :hdf5-cffi")
9296 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9297
9298 (define-public cl-hdf5-cffi
9299 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9300
9301 (define-public ecl-hdf5-cffi
9302 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9303
9304 (define-public sbcl-cl-randist
9305 (package
9306 (name "sbcl-cl-randist")
9307 (version "0.4.2")
9308 (source
9309 (origin
9310 (method git-fetch)
9311 (uri (git-reference
9312 (url "https://github.com/lvaruzza/cl-randist")
9313 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9314 (file-name (git-file-name name version))
9315 (sha256
9316 (base32
9317 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9318 (build-system asdf-build-system/sbcl)
9319 (synopsis "Random distributions for Common Lisp")
9320 (description
9321 "Manual translation from C to Common Lisp of some random number
9322 generation functions from the GSL library.")
9323 (home-page "https://github.com/lvaruzza/cl-randist")
9324 (license license:bsd-2)
9325 (arguments
9326 `(#:tests? #f))))
9327
9328 (define-public cl-randist
9329 (sbcl-package->cl-source-package sbcl-cl-randist))
9330
9331 (define-public ecl-cl-randist
9332 (sbcl-package->ecl-package sbcl-cl-randist))
9333
9334 (define-public sbcl-float-features
9335 (package
9336 (name "sbcl-float-features")
9337 (version "1.0.0")
9338 (source
9339 (origin
9340 (method git-fetch)
9341 (uri (git-reference
9342 (url "https://github.com/Shinmera/float-features")
9343 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9344 (file-name (git-file-name name version))
9345 (sha256
9346 (base32
9347 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9348 (build-system asdf-build-system/sbcl)
9349 (synopsis "Common Lisp IEEE float portability library")
9350 (description
9351 "Portability library for IEEE float features that are not
9352 covered by the Common Lisp standard.")
9353 (home-page "https://github.com/Shinmera/float-features")
9354 (license license:zlib)
9355 (inputs
9356 `(("documentation-utils" ,sbcl-documentation-utils)))
9357 (arguments
9358 `(#:tests? #f))))
9359
9360 (define-public cl-float-features
9361 (sbcl-package->cl-source-package sbcl-float-features))
9362
9363 (define-public ecl-float-features
9364 (sbcl-package->ecl-package sbcl-float-features))
9365
9366 (define-public sbcl-function-cache
9367 (package
9368 (name "sbcl-function-cache")
9369 (version "1.0.3")
9370 (source
9371 (origin
9372 (method git-fetch)
9373 (uri (git-reference
9374 (url "https://github.com/AccelerationNet/function-cache")
9375 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9376 (file-name (git-file-name name version))
9377 (sha256
9378 (base32
9379 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9380 (build-system asdf-build-system/sbcl)
9381 (synopsis "Function caching / memoization library for Common Lisp")
9382 (description
9383 "A common lisp library that provides extensible function result
9384 caching based on arguments (an expanded form of memoization).")
9385 (home-page "https://github.com/AccelerationNet/function-cache")
9386 (license
9387 (license:non-copyleft
9388 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9389 (inputs
9390 `(("alexandria" ,sbcl-alexandria)
9391 ("cl-interpol" ,sbcl-cl-interpol)
9392 ("iterate" ,sbcl-iterate)
9393 ("symbol-munger" ,sbcl-symbol-munger)
9394 ("closer-mop" ,sbcl-closer-mop)))
9395 (arguments
9396 `(#:tests? #f))))
9397
9398 (define-public cl-function-cache
9399 (sbcl-package->cl-source-package sbcl-function-cache))
9400
9401 (define-public ecl-function-cache
9402 (sbcl-package->ecl-package sbcl-function-cache))
9403
9404 (define-public sbcl-type-r
9405 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9406 (revision "1"))
9407 (package
9408 (name "sbcl-type-r")
9409 (version (git-version "0.0.0" revision commit))
9410 (source
9411 (origin
9412 (method git-fetch)
9413 (uri (git-reference
9414 (url "https://github.com/guicho271828/type-r")
9415 (commit commit)))
9416 (file-name (git-file-name name version))
9417 (sha256
9418 (base32
9419 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9420 (build-system asdf-build-system/sbcl)
9421 (synopsis "Parser interface for Common Lisp built-in compound types")
9422 (description
9423 "Collections of accessor functions and patterns to access
9424 the elements in compound type specifier, e.g. @code{dimensions} in
9425 @code{(array element-type dimensions)}")
9426 (home-page "https://github.com/guicho271828/type-r")
9427 (license license:lgpl3+)
9428 (inputs
9429 `(("trivia" ,sbcl-trivia)
9430 ("alexandria" ,sbcl-alexandria)))
9431 (native-inputs
9432 `(("fiveam" ,sbcl-fiveam)))
9433 (arguments
9434 `(#:test-asd-file "type-r.test.asd")))))
9435
9436 (define-public cl-type-r
9437 (sbcl-package->cl-source-package sbcl-type-r))
9438
9439 (define-public ecl-type-r
9440 (sbcl-package->ecl-package sbcl-type-r))
9441
9442 (define-public sbcl-trivialib-type-unify
9443 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9444 (revision "1"))
9445 (package
9446 (name "sbcl-trivialib-type-unify")
9447 (version (git-version "0.1" revision commit))
9448 (source
9449 (origin
9450 (method git-fetch)
9451 (uri (git-reference
9452 (url "https://github.com/guicho271828/trivialib.type-unify")
9453 (commit commit)))
9454 (file-name (git-file-name name version))
9455 (sha256
9456 (base32
9457 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9458 (build-system asdf-build-system/sbcl)
9459 (synopsis "Common Lisp type unification")
9460 (description
9461 "Unifies a parametrized type specifier against an actual type specifier.
9462 Importantly, it handles complicated array-subtypes and number-related types
9463 correctly.")
9464 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9465 (license license:lgpl3+)
9466 (inputs
9467 `(("alexandria" ,sbcl-alexandria)
9468 ("trivia" ,sbcl-trivia)
9469 ("introspect-environment" ,sbcl-introspect-environment)
9470 ("type-r" ,sbcl-type-r)))
9471 (native-inputs
9472 `(("fiveam" ,sbcl-fiveam)))
9473 (arguments
9474 `(#:asd-systems '("trivialib.type-unify")
9475 #:test-asd-file "trivialib.type-unify.test.asd")))))
9476
9477 (define-public cl-trivialib-type-unify
9478 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9479
9480 (define-public ecl-trivialib-type-unify
9481 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9482
9483 (define-public sbcl-specialized-function
9484 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9485 (revision "2"))
9486 (package
9487 (name "sbcl-specialized-function")
9488 (version (git-version "0.0.0" revision commit))
9489 (source
9490 (origin
9491 (method git-fetch)
9492 (uri (git-reference
9493 (url "https://github.com/numcl/specialized-function")
9494 (commit commit)))
9495 (file-name (git-file-name name version))
9496 (sha256
9497 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9498 (build-system asdf-build-system/sbcl)
9499 (synopsis "Julia-like dispatch for Common Lisp")
9500 (description
9501 "This library is part of NUMCL. It provides a macro
9502 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9503 lazily compiling a type-specific version of the function from the same
9504 code. The main target of this macro is speed.")
9505 (home-page "https://github.com/numcl/specialized-function")
9506 (license license:lgpl3+)
9507 (inputs
9508 `(("trivia" ,sbcl-trivia)
9509 ("alexandria" ,sbcl-alexandria)
9510 ("iterate" ,sbcl-iterate)
9511 ("lisp-namespace" ,sbcl-lisp-namespace)
9512 ("type-r" ,sbcl-type-r)
9513 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9514 (native-inputs
9515 `(("fiveam" ,sbcl-fiveam)))
9516 (arguments
9517 `(#:asd-files '("specialized-function.asd")
9518 #:test-asd-file "specialized-function.test.asd"
9519 ;; Tests fail because they try to use an internal symbol of SBCL
9520 ;; that does not exists in recent versions:
9521 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9522 #:tests? #f)))))
9523
9524 (define-public cl-specialized-function
9525 (sbcl-package->cl-source-package sbcl-specialized-function))
9526
9527 (define-public ecl-specialized-function
9528 (sbcl-package->ecl-package sbcl-specialized-function))
9529
9530 (define-public sbcl-constantfold
9531 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9532 (revision "1"))
9533 (package
9534 (name "sbcl-constantfold")
9535 (version (git-version "0.1" revision commit))
9536 (source
9537 (origin
9538 (method git-fetch)
9539 (uri (git-reference
9540 (url "https://github.com/numcl/constantfold")
9541 (commit commit)))
9542 (file-name (git-file-name name version))
9543 (sha256
9544 (base32
9545 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9546 (build-system asdf-build-system/sbcl)
9547 (synopsis "Support library for numcl")
9548 (description
9549 "Support library for numcl. Registers a function as an
9550 additional form that is considered as a candidate for a constant.")
9551 (home-page "https://github.com/numcl/constantfold")
9552 (license license:lgpl3+)
9553 (inputs
9554 `(("trivia" ,sbcl-trivia)
9555 ("alexandria" ,sbcl-alexandria)
9556 ("iterate" ,sbcl-iterate)
9557 ("lisp-namespace" ,sbcl-lisp-namespace)))
9558 (native-inputs
9559 `(("fiveam" ,sbcl-fiveam)))
9560 (arguments
9561 `(#:asd-files '("constantfold.asd")
9562 #:test-asd-file "constantfold.test.asd")))))
9563
9564 (define-public cl-constantfold
9565 (sbcl-package->cl-source-package sbcl-constantfold))
9566
9567 (define-public ecl-constantfold
9568 (sbcl-package->ecl-package sbcl-constantfold))
9569
9570 (define-public sbcl-gtype
9571 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9572 (revision "2"))
9573 (package
9574 (name "sbcl-gtype")
9575 (version (git-version "0.1" revision commit))
9576 (source
9577 (origin
9578 (method git-fetch)
9579 (uri (git-reference
9580 (url "https://github.com/numcl/gtype")
9581 (commit commit)))
9582 (file-name (git-file-name name version))
9583 (sha256
9584 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9585 (build-system asdf-build-system/sbcl)
9586 (synopsis "C++/Julia-like parametric types in Common Lisp")
9587 (description
9588 "Support library for numcl that provides Julia-like runtime parametric
9589 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9590 (home-page "https://github.com/numcl/gtype")
9591 (license license:lgpl3+)
9592 (inputs
9593 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9594 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9595 ("trivia" ,sbcl-trivia)
9596 ("alexandria" ,sbcl-alexandria)
9597 ("iterate" ,sbcl-iterate)
9598 ("type-r" ,sbcl-type-r)))
9599 (native-inputs
9600 `(("fiveam" ,sbcl-fiveam)))
9601 (arguments
9602 `(#:asd-files '("gtype.asd")
9603 #:test-asd-file "gtype.test.asd")))))
9604
9605 (define-public cl-gtype
9606 (sbcl-package->cl-source-package sbcl-gtype))
9607
9608 (define-public ecl-gtype
9609 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9610 (package
9611 (inherit pkg)
9612 (arguments
9613 (substitute-keyword-arguments (package-arguments pkg)
9614 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9615 ((#:tests? _ #f) #f))))))
9616
9617 (define-public sbcl-numcl
9618 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9619 (revision "1"))
9620 (package
9621 (name "sbcl-numcl")
9622 (version (git-version "0.2.0" revision commit))
9623 (source
9624 (origin
9625 (method git-fetch)
9626 (uri (git-reference
9627 (url "https://github.com/numcl/numcl")
9628 (commit commit)))
9629 (file-name (git-file-name "numcl" version))
9630 (sha256
9631 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9632 (build-system asdf-build-system/sbcl)
9633 (arguments
9634 `(#:test-asd-file "numcl.test.asd"
9635 #:asd-files '("numcl.asd")))
9636 (native-inputs
9637 `(("fiveam" ,sbcl-fiveam)))
9638 (inputs
9639 `(("alexandria" ,sbcl-alexandria)
9640 ("cl-randist" ,sbcl-cl-randist)
9641 ("constantfold" ,sbcl-constantfold)
9642 ("float-features" ,sbcl-float-features)
9643 ("function-cache" ,sbcl-function-cache)
9644 ("gtype" ,sbcl-gtype)
9645 ("iterate" ,sbcl-iterate)
9646 ("lisp-namespace" ,sbcl-lisp-namespace)
9647 ("specialized-function" ,sbcl-specialized-function)
9648 ("trivia" ,sbcl-trivia)
9649 ("type-r" ,sbcl-type-r)))
9650 (home-page "https://numcl.github.io/numcl/")
9651 (synopsis "Numpy clone in Common Lisp")
9652 (description
9653 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9654 (license license:lgpl3+))))
9655
9656 (define-public cl-numcl
9657 (sbcl-package->cl-source-package sbcl-numcl))
9658
9659 (define-public ecl-numcl
9660 (sbcl-package->ecl-package sbcl-numcl))
9661
9662 (define-public sbcl-pzmq
9663 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9664 (revision "1"))
9665 (package
9666 (name "sbcl-pzmq")
9667 (version (git-version "0.0.0" revision commit))
9668 (source
9669 (origin
9670 (method git-fetch)
9671 (uri (git-reference
9672 (url "https://github.com/orivej/pzmq")
9673 (commit commit)))
9674 (file-name (git-file-name name version))
9675 (sha256
9676 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9677 (build-system asdf-build-system/sbcl)
9678 (native-inputs
9679 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9680 ("fiveam" ,sbcl-fiveam)
9681 ("let-plus" ,sbcl-let-plus)))
9682 (inputs
9683 `(("cffi" ,sbcl-cffi)
9684 ("zeromq" ,zeromq)))
9685 (arguments
9686 `(#:phases (modify-phases %standard-phases
9687 (add-after 'unpack 'fix-paths
9688 (lambda* (#:key inputs #:allow-other-keys)
9689 (substitute* "c-api.lisp"
9690 (("\"libzmq")
9691 (string-append "\""
9692 (assoc-ref inputs "zeromq")
9693 "/lib/libzmq")))
9694 #t)))))
9695 (synopsis "Common Lisp bindings for the ZeroMQ library")
9696 (description "This Common Lisp library provides bindings for the ZeroMQ
9697 lightweight messaging kernel.")
9698 (home-page "https://github.com/orivej/pzmq")
9699 (license license:unlicense))))
9700
9701 (define-public cl-pzmq
9702 (sbcl-package->cl-source-package sbcl-pzmq))
9703
9704 (define-public ecl-pzmq
9705 (sbcl-package->ecl-package sbcl-pzmq))
9706
9707 (define-public sbcl-clss
9708 (let ((revision "1")
9709 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9710 (package
9711 (name "sbcl-clss")
9712 (version (git-version "0.3.1" revision commit))
9713 (source
9714 (origin
9715 (method git-fetch)
9716 (uri
9717 (git-reference
9718 (url "https://github.com/Shinmera/clss")
9719 (commit commit)))
9720 (sha256
9721 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9722 (file-name (git-file-name name version))))
9723 (inputs
9724 `(("array-utils" ,sbcl-array-utils)
9725 ("plump" ,sbcl-plump)))
9726 (build-system asdf-build-system/sbcl)
9727 (synopsis "DOM tree searching engine based on CSS selectors")
9728 (description "CLSS is a DOM traversal engine based on CSS
9729 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9730 (home-page "https://github.com/Shinmera/clss")
9731 (license license:zlib))))
9732
9733 (define-public cl-clss
9734 (sbcl-package->cl-source-package sbcl-clss))
9735
9736 (define-public ecl-clss
9737 (sbcl-package->ecl-package sbcl-clss))
9738
9739 (define-public sbcl-lquery
9740 (let ((revision "1")
9741 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9742 (package
9743 (name "sbcl-lquery")
9744 (version (git-version "3.2.1" revision commit))
9745 (source
9746 (origin
9747 (method git-fetch)
9748 (uri
9749 (git-reference
9750 (url "https://github.com/Shinmera/lquery")
9751 (commit commit)))
9752 (sha256
9753 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9754 (file-name (git-file-name name version))))
9755 (native-inputs
9756 `(("fiveam" ,sbcl-fiveam)))
9757 (inputs
9758 `(("array-utils" ,sbcl-array-utils)
9759 ("form-fiddle" ,sbcl-form-fiddle)
9760 ("plump" ,sbcl-plump)
9761 ("clss" ,sbcl-clss)))
9762 (build-system asdf-build-system/sbcl)
9763 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9764 (description "@code{lQuery} is a DOM manipulation library written in
9765 Common Lisp, inspired by and based on the jQuery syntax and
9766 functions. It uses Plump and CLSS as DOM and selector engines. The
9767 main idea behind lQuery is to provide a simple interface for crawling
9768 and modifying HTML sites, as well as to allow for an alternative
9769 approach to templating.")
9770 (home-page "https://github.com/Shinmera/lquery")
9771 (license license:zlib))))
9772
9773 (define-public cl-lquery
9774 (sbcl-package->cl-source-package sbcl-lquery))
9775
9776 (define-public ecl-lquery
9777 (sbcl-package->ecl-package sbcl-lquery))
9778
9779 (define-public sbcl-cl-mysql
9780 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9781 (revision "1"))
9782 (package
9783 (name "sbcl-cl-mysql")
9784 (version (git-version "0.1" revision commit))
9785 (source
9786 (origin
9787 (method git-fetch)
9788 (uri (git-reference
9789 (url "https://github.com/hackinghat/cl-mysql")
9790 (commit commit)))
9791 (file-name (git-file-name name version))
9792 (sha256
9793 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9794 (build-system asdf-build-system/sbcl)
9795 (native-inputs
9796 `(("stefil" ,sbcl-stefil)))
9797 (inputs
9798 `(("cffi" ,sbcl-cffi)
9799 ("mariadb-lib" ,mariadb "lib")))
9800 (arguments
9801 `(#:tests? #f ; TODO: Tests require a running server
9802 #:phases
9803 (modify-phases %standard-phases
9804 (add-after 'unpack 'fix-paths
9805 (lambda* (#:key inputs #:allow-other-keys)
9806 (substitute* "system.lisp"
9807 (("libmysqlclient_r" all)
9808 (string-append (assoc-ref inputs "mariadb-lib")
9809 "/lib/"
9810 all)))
9811 #t)))))
9812 (synopsis "Common Lisp wrapper for MySQL")
9813 (description
9814 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9815 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9816 (license license:expat))))
9817
9818 (define-public cl-mysql
9819 (sbcl-package->cl-source-package sbcl-cl-mysql))
9820
9821 (define-public ecl-cl-mysql
9822 (sbcl-package->ecl-package sbcl-cl-mysql))
9823
9824 (define-public sbcl-postmodern
9825 (package
9826 (name "sbcl-postmodern")
9827 (version "1.32.8")
9828 (source
9829 (origin
9830 (method git-fetch)
9831 (uri (git-reference
9832 (url "https://github.com/marijnh/Postmodern")
9833 (commit (string-append "v" version))))
9834 (file-name (git-file-name name version))
9835 (sha256
9836 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9837 (build-system asdf-build-system/sbcl)
9838 (native-inputs
9839 `(("fiveam" ,sbcl-fiveam)))
9840 (inputs
9841 `(("alexandria" ,sbcl-alexandria)
9842 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9843 ("cl-base64" ,sbcl-cl-base64)
9844 ("cl-unicode" ,sbcl-cl-unicode)
9845 ("closer-mop" ,sbcl-closer-mop)
9846 ("global-vars" ,sbcl-global-vars)
9847 ("ironclad" ,sbcl-ironclad)
9848 ("local-time" ,sbcl-local-time)
9849 ("md5" ,sbcl-md5)
9850 ("split-sequence" ,sbcl-split-sequence)
9851 ("uax-15" ,sbcl-uax-15)
9852 ("usocket" ,sbcl-usocket)))
9853 (arguments
9854 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9855 ;; step, some functionality in `local-time' prevents passing tests.
9856 ;; Error:
9857 ;;
9858 ;; Can't create directory
9859 ;; /gnu/store
9860 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9861 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9862 ;;
9863 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9864 ;; issue is resolved but it required live test database to connect to now.
9865 ;; Keep tests switched off.
9866 `(#:tests? #f
9867 #:asd-systems '("cl-postgres"
9868 "s-sql"
9869 "postmodern"
9870 "simple-date"
9871 "simple-date/postgres-glue")))
9872 (synopsis "Common Lisp library for interacting with PostgreSQL")
9873 (description
9874 "@code{postmodern} is a Common Lisp library for interacting with
9875 PostgreSQL databases. It provides the following features:
9876
9877 @itemize
9878 @item Efficient communication with the database server without need for
9879 foreign libraries.
9880 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9881 @item A syntax for mixing SQL and Lisp code.
9882 @item Convenient support for prepared statements and stored procedures.
9883 @item A metaclass for simple database-access objects.
9884 @end itemize\n
9885
9886 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9887
9888 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9889 to support storing and retrieving time-related SQL types. It is not loaded by
9890 default and you can use local-time (which has support for timezones) instead.
9891
9892 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9893 any Lisp values inside, and doing as much as possible of the work at compile
9894 time.
9895
9896 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9897 server over a socket.
9898
9899 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9900 level functions, a very simple data access object that can be mapped directly to
9901 database tables and some convient utilities. It then tries to put all these
9902 things together into a convenient programming interface")
9903 (home-page "https://marijnhaverbeke.nl/postmodern/")
9904 (license license:zlib)))
9905
9906 (define-public cl-postmodern
9907 (sbcl-package->cl-source-package sbcl-postmodern))
9908
9909 (define-public ecl-postmodern
9910 (package
9911 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9912 (arguments
9913 `(#:tests? #f
9914 #:asd-systems '("cl-postgres"
9915 "s-sql"
9916 "postmodern"
9917 "simple-date"
9918 "simple-date/postgres-glue")
9919 #:phases
9920 (modify-phases %standard-phases
9921 (add-after 'unpack 'fix-build
9922 (lambda _
9923 (substitute* "cl-postgres.asd"
9924 ((":or :sbcl :allegro :ccl :clisp" all)
9925 (string-append all " :ecl")))
9926 #t)))))))
9927
9928 (define-public sbcl-db3
9929 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9930 (revision "1"))
9931 (package
9932 (name "sbcl-db3")
9933 (version (git-version "0.0.0" revision commit))
9934 (source
9935 (origin
9936 (method git-fetch)
9937 (uri (git-reference
9938 (url "https://github.com/dimitri/cl-db3")
9939 (commit commit)))
9940 (file-name (git-file-name "cl-db3" version))
9941 (sha256
9942 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9943 (build-system asdf-build-system/sbcl)
9944 (home-page "https://github.com/dimitri/cl-db3")
9945 (synopsis "Common Lisp library to read dBase III database files")
9946 (description
9947 "This is a Common Lisp library for processing data found in dBase III
9948 database files (dbf and db3 files).")
9949 (license license:public-domain))))
9950
9951 (define-public ecl-db3
9952 (sbcl-package->ecl-package sbcl-db3))
9953
9954 (define-public cl-db3
9955 (sbcl-package->cl-source-package sbcl-db3))
9956
9957 (define-public sbcl-dbi
9958 ;; Master includes a breaking change which other packages depend on since
9959 ;; Quicklisp decided to follow it:
9960 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9961 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9962 (package
9963 (name "sbcl-dbi")
9964 (version (git-version "0.9.4" "1" commit))
9965 (source
9966 (origin
9967 (method git-fetch)
9968 (uri (git-reference
9969 (url "https://github.com/fukamachi/cl-dbi")
9970 (commit commit)))
9971 (file-name (git-file-name name version))
9972 (sha256
9973 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9974 (build-system asdf-build-system/sbcl)
9975 (native-inputs
9976 `(("rove" ,sbcl-rove)
9977 ("trivial-types" ,sbcl-trivial-types)))
9978 (inputs
9979 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9980 ("cl-mysql" ,sbcl-cl-mysql)
9981 ("cl-sqlite" ,sbcl-cl-sqlite)
9982 ("closer-mop" ,sbcl-closer-mop)
9983 ("postmodern" ,sbcl-postmodern)
9984 ("split-sequence" ,sbcl-split-sequence)
9985 ("trivial-garbage" ,sbcl-trivial-garbage)))
9986 (arguments
9987 `(#:asd-systems '("dbi"
9988 "dbd-mysql"
9989 "dbd-postgres"
9990 "dbd-sqlite3")))
9991 (synopsis "Database independent interface for Common Lisp")
9992 (description
9993 "@code{dbi} is a Common Lisp library providing a database independent
9994 interface for MySQL, PostgreSQL and SQLite.")
9995 (home-page "https://github.com/fukamachi/cl-dbi")
9996 (license license:llgpl))))
9997
9998 (define-public cl-dbi
9999 (sbcl-package->cl-source-package sbcl-dbi))
10000
10001 (define-public ecl-dbi
10002 (sbcl-package->ecl-package sbcl-dbi))
10003
10004 (define-public sbcl-uffi
10005 (package
10006 (name "sbcl-uffi")
10007 (version "2.1.2")
10008 (source
10009 (origin
10010 (method git-fetch)
10011 (uri (git-reference
10012 (url "http://git.kpe.io/uffi.git")
10013 (commit (string-append "v" version))))
10014 (file-name (git-file-name name version))
10015 (sha256
10016 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10017 (build-system asdf-build-system/sbcl)
10018 (arguments
10019 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10020 #:asd-files '("uffi.asd")
10021 #:phases
10022 (modify-phases %standard-phases
10023 (add-after 'unpack 'fix-permissions
10024 (lambda _
10025 (make-file-writable "doc/html.tar.gz")
10026 #t)))))
10027 (synopsis "Universal foreign function library for Common Lisp")
10028 (description
10029 "UFFI provides a universal foreign function interface (FFI)
10030 for Common Lisp.")
10031 (home-page "http://quickdocs.org/uffi/")
10032 (license license:llgpl)))
10033
10034 (define-public cl-uffi
10035 (package
10036 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10037 (arguments
10038 `(#:phases
10039 ;; asdf-build-system/source has its own phases and does not inherit
10040 ;; from asdf-build-system/sbcl phases.
10041 (modify-phases %standard-phases/source
10042 ;; Already done in SBCL package.
10043 (delete 'reset-gzip-timestamps))))))
10044
10045 (define-public sbcl-clsql
10046 (package
10047 (name "sbcl-clsql")
10048 (version "6.7.0")
10049 (source
10050 (origin
10051 (method git-fetch)
10052 (uri (git-reference
10053 (url "http://git.kpe.io/clsql.git")
10054 (commit (string-append "v" version))))
10055 (file-name (git-file-name name version))
10056 (sha256
10057 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10058 (snippet
10059 '(begin
10060 ;; Remove precompiled libraries.
10061 (delete-file "db-mysql/clsql_mysql.dll")
10062 (delete-file "uffi/clsql_uffi.dll")
10063 (delete-file "uffi/clsql_uffi.lib")
10064 #t))))
10065 (build-system asdf-build-system/sbcl)
10066 (native-inputs
10067 `(("rt" ,sbcl-rt)))
10068 (inputs
10069 `(("cffi" ,sbcl-cffi)
10070 ("md5" ,sbcl-md5)
10071 ("mysql" ,mysql)
10072 ("postgresql" ,postgresql)
10073 ("postmodern" ,sbcl-postmodern)
10074 ("sqlite" ,sqlite)
10075 ("uffi" ,sbcl-uffi)
10076 ("zlib" ,zlib)))
10077 (arguments
10078 `(#:asd-files '("clsql.asd"
10079 "clsql-uffi.asd"
10080 "clsql-sqlite3.asd"
10081 "clsql-postgresql.asd"
10082 "clsql-postgresql-socket3.asd"
10083 "clsql-mysql.asd")
10084 #:asd-systems '("clsql"
10085 "clsql-sqlite3"
10086 "clsql-postgresql"
10087 "clsql-postgresql-socket3"
10088 "clsql-mysql")
10089 #:phases
10090 (modify-phases %standard-phases
10091 (add-after 'unpack 'fix-permissions
10092 (lambda _
10093 (make-file-writable "doc/html.tar.gz")
10094 #t))
10095 (add-after 'unpack 'fix-build
10096 (lambda _
10097 (substitute* "clsql-uffi.asd"
10098 (("\\(:version uffi \"2.0\"\\)")
10099 "uffi"))
10100 (substitute* "db-postgresql/postgresql-api.lisp"
10101 (("\\(data :cstring\\)")
10102 "(data :string)"))
10103 #t))
10104 (add-after 'unpack 'fix-paths
10105 (lambda* (#:key inputs outputs #:allow-other-keys)
10106 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10107 (("libsqlite3")
10108 (string-append (assoc-ref inputs "sqlite")
10109 "/lib/libsqlite3")))
10110 (substitute* "db-postgresql/postgresql-loader.lisp"
10111 (("libpq")
10112 (string-append (assoc-ref inputs "postgresql")
10113 "/lib/libpq")))
10114 (let ((lib (string-append "#p\""
10115 (assoc-ref outputs "out")
10116 "/lib/\"")))
10117 (substitute* "clsql-mysql.asd"
10118 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10119 lib))
10120 (substitute* "db-mysql/mysql-loader.lisp"
10121 (("libmysqlclient" all)
10122 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10123 (("clsql-mysql-system::\\*library-file-dir\\*")
10124 lib)))
10125 #t))
10126 (add-before 'build 'build-helper-library
10127 (lambda* (#:key inputs outputs #:allow-other-keys)
10128 (let* ((mysql (assoc-ref inputs "mysql"))
10129 (inc-dir (string-append mysql "/include/mysql"))
10130 (lib-dir (string-append mysql "/lib"))
10131 (shared-lib-dir (string-append (assoc-ref outputs "out")
10132 "/lib"))
10133 (shared-lib (string-append shared-lib-dir
10134 "/clsql_mysql.so")))
10135 (mkdir-p shared-lib-dir)
10136 (invoke "gcc" "-fPIC" "-shared"
10137 "-I" inc-dir
10138 "db-mysql/clsql_mysql.c"
10139 "-Wl,-soname=clsql_mysql"
10140 "-L" lib-dir "-lmysqlclient" "-lz"
10141 "-o" shared-lib)
10142 #t)))
10143 (add-after 'unpack 'fix-tests
10144 (lambda _
10145 (substitute* "clsql.asd"
10146 (("clsql-tests :force t")
10147 "clsql-tests"))
10148 #t)))))
10149 (synopsis "Common Lisp SQL Interface library")
10150 (description
10151 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10152 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10153 interfaces as well as a functional and an object oriented interface.")
10154 (home-page "http://clsql.kpe.io/")
10155 (license license:llgpl)))
10156
10157 (define-public cl-clsql
10158 (package
10159 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10160 (native-inputs
10161 `(("rt" ,cl-rt)))
10162 (inputs
10163 `(("mysql" ,mysql)
10164 ("postgresql" ,postgresql)
10165 ("sqlite" ,sqlite)
10166 ("zlib" ,zlib)))
10167 (propagated-inputs
10168 `(("cffi" ,cl-cffi)
10169 ("md5" ,cl-md5)
10170 ("postmodern" ,cl-postmodern)
10171 ("uffi" ,cl-uffi)))
10172 (arguments
10173 `(#:phases
10174 ;; asdf-build-system/source has its own phases and does not inherit
10175 ;; from asdf-build-system/sbcl phases.
10176 (modify-phases %standard-phases/source
10177 (add-after 'unpack 'fix-permissions
10178 (lambda _
10179 (make-file-writable "doc/html.tar.gz")
10180 #t)))))))
10181
10182 (define-public ecl-clsql
10183 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10184 (package
10185 (inherit pkg)
10186 (inputs
10187 (alist-delete "uffi" (package-inputs pkg)))
10188 (arguments
10189 (substitute-keyword-arguments (package-arguments pkg)
10190 ((#:asd-files asd-files '())
10191 `(cons "clsql-cffi.asd" ,asd-files)))))))
10192
10193 (define-public sbcl-sycamore
10194 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10195 (package
10196 (name "sbcl-sycamore")
10197 (version "0.0.20120604")
10198 (source
10199 (origin
10200 (method git-fetch)
10201 (uri (git-reference
10202 (url "https://github.com/ndantam/sycamore/")
10203 (commit commit)))
10204 (file-name (git-file-name name version))
10205 (sha256
10206 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10207 (build-system asdf-build-system/sbcl)
10208 (inputs
10209 `(("alexandria" ,sbcl-alexandria)
10210 ("cl-ppcre" ,sbcl-cl-ppcre)))
10211 (synopsis "Purely functional data structure library in Common Lisp")
10212 (description
10213 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10214 If features:
10215
10216 @itemize
10217 @item Fast, purely functional weight-balanced binary trees.
10218 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10219 @item Interfaces for tree Sets and Maps (dictionaries).
10220 @item Ropes.
10221 @item Purely functional pairing heaps.
10222 @item Purely functional amortized queue.
10223 @end itemize\n")
10224 (home-page "http://ndantam.github.io/sycamore/")
10225 (license license:bsd-3))))
10226
10227 (define-public cl-sycamore
10228 (sbcl-package->cl-source-package sbcl-sycamore))
10229
10230 (define-public ecl-sycamore
10231 (sbcl-package->ecl-package sbcl-sycamore))
10232
10233 (define-public sbcl-trivial-package-local-nicknames
10234 (package
10235 (name "sbcl-trivial-package-local-nicknames")
10236 (version "0.2")
10237 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10238 (source
10239 (origin
10240 (method git-fetch)
10241 (uri (git-reference
10242 (url home-page)
10243 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10244 (file-name (git-file-name name version))
10245 (sha256
10246 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10247 (build-system asdf-build-system/sbcl)
10248 (synopsis "Common Lisp compatibility library for package local nicknames")
10249 (description
10250 "This library is a portable compatibility layer around package local nicknames (PLN).
10251 This was done so there is a portability library for the PLN API not included
10252 in DEFPACKAGE.")
10253 (license license:unlicense)))
10254
10255 (define-public cl-trivial-package-local-nicknames
10256 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10257
10258 (define-public ecl-trivial-package-local-nicknames
10259 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10260
10261 (define-public sbcl-enchant
10262 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10263 (package
10264 (name "sbcl-enchant")
10265 (version (git-version "0.0.0" "1" commit))
10266 (home-page "https://github.com/tlikonen/cl-enchant")
10267 (source
10268 (origin
10269 (method git-fetch)
10270 (uri (git-reference
10271 (url home-page)
10272 (commit commit)))
10273 (file-name (git-file-name name version))
10274 (sha256
10275 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10276 (build-system asdf-build-system/sbcl)
10277 (inputs
10278 `(("enchant" ,enchant)
10279 ("cffi" ,sbcl-cffi)))
10280 (arguments
10281 `(#:phases
10282 (modify-phases %standard-phases
10283 (add-after 'unpack 'fix-paths
10284 (lambda* (#:key inputs #:allow-other-keys)
10285 (substitute* "load-enchant.lisp"
10286 (("libenchant")
10287 (string-append
10288 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10289 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10290 (description
10291 "Enchant is a Common Lisp interface for the Enchant spell-checker
10292 library. The Enchant library is a generic spell-checker library which uses
10293 other spell-checkers transparently as back-end. The library supports the
10294 multiple checkers, including Aspell and Hunspell.")
10295 (license license:public-domain))))
10296
10297 (define-public cl-enchant
10298 (sbcl-package->cl-source-package sbcl-enchant))
10299
10300 (define-public ecl-enchant
10301 (sbcl-package->ecl-package sbcl-enchant))
10302
10303 (define-public sbcl-cl-change-case
10304 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10305 (revision "1"))
10306 (package
10307 (name "sbcl-cl-change-case")
10308 (version (git-version "0.2.0" revision commit))
10309 (home-page "https://github.com/rudolfochrist/cl-change-case")
10310 (source
10311 (origin
10312 (method git-fetch)
10313 (uri (git-reference
10314 (url home-page)
10315 (commit commit)))
10316 (file-name (git-file-name "cl-change-case" version))
10317 (sha256
10318 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10319 (build-system asdf-build-system/sbcl)
10320 (inputs
10321 `(("cl-ppcre" ,sbcl-cl-ppcre)
10322 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10323 (native-inputs
10324 `(("fiveam" ,sbcl-fiveam)))
10325 (synopsis
10326 "Convert Common Lisp strings between camelCase, PascalCase and more")
10327 (description
10328 "@code{cl-change-case} is a library to convert strings between
10329 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10330 (license license:llgpl))))
10331
10332 (define-public cl-change-case
10333 (sbcl-package->cl-source-package sbcl-cl-change-case))
10334
10335 (define-public ecl-cl-change-case
10336 (sbcl-package->ecl-package sbcl-cl-change-case))
10337
10338 (define-public sbcl-modularize
10339 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10340 (revision "1"))
10341 (package
10342 (name "sbcl-modularize")
10343 (version (git-version "1.0.0" revision commit))
10344 (source
10345 (origin
10346 (method git-fetch)
10347 (uri (git-reference
10348 (url "https://github.com/Shinmera/modularize")
10349 (commit commit)))
10350 (file-name (git-file-name name version))
10351 (sha256
10352 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10353 (build-system asdf-build-system/sbcl)
10354 (arguments
10355 `(#:test-asd-file "modularize-test-module.asd"
10356 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10357 #:asd-systems '("modularize" "modularize-test-module")))
10358 (inputs
10359 `(("documentation-utils" ,sbcl-documentation-utils)
10360 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10361 (home-page "https://shinmera.github.io/modularize/")
10362 (synopsis "Common Lisp modularization framework")
10363 (description
10364 "@code{MODULARIZE} is an attempt at providing a common interface to
10365 segregate major application components. This is achieved by adding special
10366 treatment to packages. Each module is a package that is specially registered,
10367 which allows it to interact and co-exist with other modules in better ways. For
10368 instance, by adding module definition options you can introduce mechanisms to
10369 tie modules together in functionality, hook into each other and so on.")
10370 (license license:zlib))))
10371
10372 (define-public ecl-modularize
10373 (sbcl-package->ecl-package sbcl-modularize))
10374
10375 (define-public cl-modularize
10376 (sbcl-package->cl-source-package sbcl-modularize))
10377
10378 (define-public sbcl-modularize-hooks
10379 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10380 (revision "1"))
10381 (package
10382 (name "sbcl-modularize-hooks")
10383 (version (git-version "1.0.2" revision commit))
10384 (source
10385 (origin
10386 (method git-fetch)
10387 (uri (git-reference
10388 (url "https://github.com/Shinmera/modularize-hooks")
10389 (commit commit)))
10390 (file-name (git-file-name "modularize-hooks" version))
10391 (sha256
10392 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10393 (build-system asdf-build-system/sbcl)
10394 (inputs
10395 `(("closer-mop" ,sbcl-closer-mop)
10396 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10397 ("modularize" ,sbcl-modularize)
10398 ("trivial-arguments" ,sbcl-trivial-arguments)))
10399 (home-page "https://shinmera.github.io/modularize-hooks/")
10400 (synopsis "Generic hooks and triggers extension for Modularize")
10401 (description
10402 "This is a simple extension to @code{MODULARIZE} that allows modules to
10403 define and trigger hooks, which other modules can hook on to.")
10404 (license license:zlib))))
10405
10406 (define-public ecl-modularize-hooks
10407 (sbcl-package->ecl-package sbcl-modularize-hooks))
10408
10409 (define-public cl-modularize-hooks
10410 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10411
10412 (define-public sbcl-modularize-interfaces
10413 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10414 (revision "1"))
10415 (package
10416 (name "sbcl-modularize-interfaces")
10417 (version (git-version "0.9.3" revision commit))
10418 (source
10419 (origin
10420 (method git-fetch)
10421 (uri (git-reference
10422 (url "https://github.com/Shinmera/modularize-interfaces")
10423 (commit commit)))
10424 (file-name (git-file-name "modularize-interfaces" version))
10425 (sha256
10426 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10427 (build-system asdf-build-system/sbcl)
10428 (inputs
10429 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10430 ("modularize" ,sbcl-modularize)
10431 ("trivial-arguments" ,sbcl-trivial-arguments)
10432 ("trivial-indent" ,sbcl-trivial-indent)))
10433 (home-page "https://shinmera.github.io/modularize-interfaces/")
10434 (synopsis "Programmatical interfaces extension for Modularize")
10435 (description
10436 "This is an extension to @code{MODULARIZE} that allows your application
10437 to define interfaces in-code that serve both as a primary documentation and as
10438 compliance control.")
10439 (license license:zlib))))
10440
10441 (define-public ecl-modularize-interfaces
10442 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10443
10444 (define-public cl-modularize-interfaces
10445 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10446
10447 (define-public sbcl-moptilities
10448 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10449 (package
10450 (name "sbcl-moptilities")
10451 (version (git-version "0.3.13" "1" commit))
10452 (home-page "https://github.com/gwkkwg/moptilities/")
10453 (source
10454 (origin
10455 (method git-fetch)
10456 (uri (git-reference
10457 (url home-page)
10458 (commit commit)))
10459 (file-name (git-file-name name version))
10460 (sha256
10461 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10462 (build-system asdf-build-system/sbcl)
10463 (inputs
10464 `(("closer-mop" ,sbcl-closer-mop)))
10465 (native-inputs
10466 `(("lift" ,sbcl-lift)))
10467 (arguments
10468 `(#:phases
10469 (modify-phases %standard-phases
10470 (add-after 'unpack 'fix-tests
10471 (lambda _
10472 (substitute* "lift-standard.config"
10473 ((":relative-to lift-test")
10474 ":relative-to moptilities-test"))
10475 #t)))))
10476 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10477 (description
10478 "MOP utilities provide a common interface between Lisps and make the
10479 MOP easier to use.")
10480 (license license:expat))))
10481
10482 (define-public cl-moptilities
10483 (sbcl-package->cl-source-package sbcl-moptilities))
10484
10485 (define-public sbcl-osicat
10486 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10487 (package
10488 (name "sbcl-osicat")
10489 (version (git-version "0.7.0" "1" commit))
10490 (home-page "http://www.common-lisp.net/project/osicat/")
10491 (source
10492 (origin
10493 (method git-fetch)
10494 (uri (git-reference
10495 (url "https://github.com/osicat/osicat")
10496 (commit commit)))
10497 (file-name (git-file-name name version))
10498 (sha256
10499 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10500 (build-system asdf-build-system/sbcl)
10501 (inputs
10502 `(("alexandria" ,sbcl-alexandria)
10503 ("cffi" ,sbcl-cffi)
10504 ("trivial-features" ,sbcl-trivial-features)))
10505 (native-inputs
10506 `(("rt" ,sbcl-rt)))
10507 (synopsis "Operating system interface for Common Lisp")
10508 (description
10509 "Osicat is a lightweight operating system interface for Common Lisp on
10510 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10511 accompaniment to the standard ANSI facilities.")
10512 (license license:expat))))
10513
10514 (define-public cl-osicat
10515 (sbcl-package->cl-source-package sbcl-osicat))
10516
10517 (define-public ecl-osicat
10518 (sbcl-package->ecl-package sbcl-osicat))
10519
10520 (define-public sbcl-clx-xembed
10521 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10522 (revision "1"))
10523 (package
10524 (name "sbcl-clx-xembed")
10525 (version (git-version "0.1" revision commit))
10526 (home-page "https://github.com/laynor/clx-xembed")
10527 (source
10528 (origin
10529 (method git-fetch)
10530 (uri (git-reference
10531 (url "https://github.com/laynor/clx-xembed")
10532 (commit commit)))
10533 (file-name (git-file-name name version))
10534 (sha256
10535 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10536 (build-system asdf-build-system/sbcl)
10537 (arguments
10538 `(#:asd-systems '("xembed")))
10539 (inputs
10540 `(("sbcl-clx" ,sbcl-clx)))
10541 (synopsis "CL(x) xembed protocol implementation ")
10542 (description "CL(x) xembed protocol implementation")
10543 ;; MIT License
10544 (license license:expat))))
10545
10546 (define-public cl-clx-xembed
10547 (sbcl-package->cl-source-package sbcl-clx-xembed))
10548
10549 (define-public ecl-clx-xembed
10550 (sbcl-package->ecl-package sbcl-clx-xembed))
10551
10552 (define-public sbcl-quantile-estimator
10553 (package
10554 (name "sbcl-quantile-estimator")
10555 (version "0.0.1")
10556 (source
10557 (origin
10558 (method git-fetch)
10559 (uri (git-reference
10560 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10561 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10562 (file-name (git-file-name name version))
10563 (sha256
10564 (base32
10565 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10566 (build-system asdf-build-system/sbcl)
10567 (arguments
10568 '(#:asd-files '("quantile-estimator.asd")))
10569 (inputs
10570 `(("alexandria" ,sbcl-alexandria)))
10571 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10572 (synopsis
10573 "Effective computation of biased quantiles over data streams")
10574 (description
10575 "Common Lisp implementation of Graham Cormode and S.
10576 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10577 Streams in ICDE’05.")
10578 (license license:expat)))
10579
10580 (define-public cl-quantile-estimator
10581 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10582
10583 (define-public ecl-quantile-estimator
10584 (sbcl-package->ecl-package sbcl-quantile-estimator))
10585
10586 (define-public sbcl-prometheus
10587 (package
10588 (name "sbcl-prometheus")
10589 (version "0.4.1")
10590 (source
10591 (origin
10592 (method git-fetch)
10593 (uri (git-reference
10594 (url "https://github.com/deadtrickster/prometheus.cl")
10595 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10596 (file-name (git-file-name name version))
10597 (sha256
10598 (base32
10599 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10600 (build-system asdf-build-system/sbcl)
10601 (inputs
10602 `(("alexandria" ,sbcl-alexandria)
10603 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10604 ("cffi" ,sbcl-cffi)
10605 ("cl-fad" ,sbcl-cl-fad)
10606 ("cl-ppcre" ,sbcl-cl-ppcre)
10607 ("drakma" ,sbcl-drakma)
10608 ("hunchentoot" ,sbcl-hunchentoot)
10609 ("local-time" ,sbcl-local-time)
10610 ("quantile-estimator" ,sbcl-quantile-estimator)
10611 ("salza2" ,sbcl-salza2)
10612 ("split-sequence" ,sbcl-split-sequence)
10613 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10614 (arguments
10615 '(#:asd-files '("prometheus.asd"
10616 "prometheus.collectors.sbcl.asd"
10617 "prometheus.collectors.process.asd"
10618 "prometheus.formats.text.asd"
10619 "prometheus.exposers.hunchentoot.asd"
10620 "prometheus.pushgateway.asd")
10621 #:asd-systems '("prometheus"
10622 "prometheus.collectors.sbcl"
10623 "prometheus.collectors.process"
10624 "prometheus.formats.text"
10625 "prometheus.exposers.hunchentoot"
10626 "prometheus.pushgateway")))
10627 (home-page "https://github.com/deadtrickster/prometheus.cl")
10628 (synopsis "Prometheus.io Common Lisp client")
10629 (description "Prometheus.io Common Lisp client.")
10630 (license license:expat)))
10631
10632 (define-public cl-prometheus
10633 (sbcl-package->cl-source-package sbcl-prometheus))
10634
10635 (define-public ecl-prometheus
10636 (sbcl-package->ecl-package sbcl-prometheus))
10637
10638 (define-public sbcl-uuid
10639 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10640 (package
10641 (name "sbcl-uuid")
10642 (version (git-version "2012.12.26" "1" commit))
10643 (source
10644 (origin
10645 (method git-fetch)
10646 (uri (git-reference
10647 (url "https://github.com/dardoria/uuid")
10648 (commit commit)))
10649 (file-name (git-file-name name version))
10650 (sha256
10651 (base32
10652 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10653 (build-system asdf-build-system/sbcl)
10654 (inputs
10655 `(("ironclad" ,sbcl-ironclad)
10656 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10657 (home-page "https://github.com/dardoria/uuid")
10658 (synopsis
10659 "Common Lisp implementation of UUIDs according to RFC4122")
10660 (description
10661 "Common Lisp implementation of UUIDs according to RFC4122.")
10662 (license license:llgpl))))
10663
10664 (define-public cl-uuid
10665 (sbcl-package->cl-source-package sbcl-uuid))
10666
10667 (define-public ecl-uuid
10668 (sbcl-package->ecl-package sbcl-uuid))
10669
10670 (define-public sbcl-dissect
10671 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10672 (package
10673 (name "sbcl-dissect")
10674 (version (git-version "1.0.0" "1" commit))
10675 (source
10676 (origin
10677 (method git-fetch)
10678 (uri (git-reference
10679 (url "https://github.com/Shinmera/dissect")
10680 (commit commit)))
10681 (file-name (git-file-name name version))
10682 (sha256
10683 (base32
10684 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10685 (build-system asdf-build-system/sbcl)
10686 (inputs
10687 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10688 (home-page "https://shinmera.github.io/dissect/")
10689 (synopsis
10690 "Introspection library for the call stack and restarts")
10691 (description
10692 "Dissect is a small Common Lisp library for introspecting the call stack
10693 and active restarts.")
10694 (license license:zlib))))
10695
10696 (define-public cl-dissect
10697 (sbcl-package->cl-source-package sbcl-dissect))
10698
10699 (define-public ecl-dissect
10700 (sbcl-package->ecl-package sbcl-dissect))
10701
10702 (define-public sbcl-rove
10703 (package
10704 (name "sbcl-rove")
10705 (version "0.9.6")
10706 (source
10707 (origin
10708 (method git-fetch)
10709 (uri (git-reference
10710 (url "https://github.com/fukamachi/rove")
10711 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10712 (file-name (git-file-name name version))
10713 (sha256
10714 (base32
10715 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10716 (build-system asdf-build-system/sbcl)
10717 (inputs
10718 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10719 ("dissect" ,sbcl-dissect)
10720 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10721 (home-page "https://github.com/fukamachi/rove")
10722 (synopsis
10723 "Yet another common lisp testing library")
10724 (description
10725 "Rove is a unit testing framework for Common Lisp applications.
10726 This is intended to be a successor of Prove.")
10727 (license license:bsd-3)))
10728
10729 (define-public cl-rove
10730 (sbcl-package->cl-source-package sbcl-rove))
10731
10732 (define-public ecl-rove
10733 (sbcl-package->ecl-package sbcl-rove))
10734
10735 (define-public sbcl-exponential-backoff
10736 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10737 (package
10738 (name "sbcl-exponential-backoff")
10739 (version (git-version "0" "1" commit))
10740 (source
10741 (origin
10742 (method git-fetch)
10743 (uri (git-reference
10744 (url "https://github.com/death/exponential-backoff")
10745 (commit commit)))
10746 (file-name (git-file-name name version))
10747 (sha256
10748 (base32
10749 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10750 (build-system asdf-build-system/sbcl)
10751 (home-page "https://github.com/death/exponential-backoff")
10752 (synopsis "Exponential backoff algorithm in Common Lisp")
10753 (description
10754 "An implementation of the exponential backoff algorithm in Common Lisp.
10755 Inspired by the implementation found in Chromium. Read the header file to
10756 learn about each of the parameters.")
10757 (license license:expat))))
10758
10759 (define-public cl-exponential-backoff
10760 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10761
10762 (define-public ecl-exponential-backoff
10763 (sbcl-package->ecl-package sbcl-exponential-backoff))
10764
10765 (define-public sbcl-sxql
10766 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10767 (package
10768 (name "sbcl-sxql")
10769 (version (git-version "0.1.0" "1" commit))
10770 (source
10771 (origin
10772 (method git-fetch)
10773 (uri (git-reference
10774 (url "https://github.com/fukamachi/sxql")
10775 (commit commit)))
10776 (file-name (git-file-name name version))
10777 (sha256
10778 (base32
10779 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10780 (build-system asdf-build-system/sbcl)
10781 (arguments
10782 `(#:test-asd-file "sxql-test.asd"))
10783 (inputs
10784 `(("alexandria" ,sbcl-alexandria)
10785 ("cl-syntax" ,sbcl-cl-syntax)
10786 ("iterate" ,sbcl-iterate)
10787 ("optima" ,sbcl-optima)
10788 ("split-sequence" ,sbcl-split-sequence)
10789 ("trivial-types" ,sbcl-trivial-types)))
10790 (native-inputs
10791 `(("prove" ,sbcl-prove)))
10792 (home-page "https://github.com/fukamachi/sxql")
10793 (synopsis "SQL generator for Common Lisp")
10794 (description "SQL generator for Common Lisp.")
10795 (license license:bsd-3))))
10796
10797 (define-public cl-sxql
10798 (sbcl-package->cl-source-package sbcl-sxql))
10799
10800 (define-public ecl-sxql
10801 (sbcl-package->ecl-package sbcl-sxql))
10802
10803 (define-public sbcl-1am
10804 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10805 (package
10806 (name "sbcl-1am")
10807 (version (git-version "0.0" "1" commit))
10808 (source
10809 (origin
10810 (method git-fetch)
10811 (uri (git-reference
10812 (url "https://github.com/lmj/1am")
10813 (commit commit)))
10814 (file-name (git-file-name name version))
10815 (sha256
10816 (base32
10817 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10818 (build-system asdf-build-system/sbcl)
10819 (arguments
10820 `(#:asd-systems '("1am")))
10821 (home-page "https://github.com/lmj/1am")
10822 (synopsis "Minimal testing framework for Common Lisp")
10823 (description "A minimal testing framework for Common Lisp.")
10824 (license license:expat))))
10825
10826 (define-public cl-1am
10827 (sbcl-package->cl-source-package sbcl-1am))
10828
10829 (define-public ecl-1am
10830 (sbcl-package->ecl-package sbcl-1am))
10831
10832 (define-public sbcl-cl-ascii-table
10833 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10834 (revision "1"))
10835 (package
10836 (name "sbcl-cl-ascii-table")
10837 (version (git-version "0.0.0" revision commit))
10838 (source
10839 (origin
10840 (method git-fetch)
10841 (uri (git-reference
10842 (url "https://github.com/telephil/cl-ascii-table")
10843 (commit commit)))
10844 (file-name (git-file-name name version))
10845 (sha256
10846 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10847 (build-system asdf-build-system/sbcl)
10848 (synopsis "Library to make ascii-art tables")
10849 (description
10850 "This is a Common Lisp library to present tabular data in ascii-art
10851 tables.")
10852 (home-page "https://github.com/telephil/cl-ascii-table")
10853 (license license:expat))))
10854
10855 (define-public cl-ascii-table
10856 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10857
10858 (define-public ecl-cl-ascii-table
10859 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10860
10861 (define-public sbcl-cl-rdkafka
10862 (package
10863 (name "sbcl-cl-rdkafka")
10864 (version "1.1.0")
10865 (source
10866 (origin
10867 (method git-fetch)
10868 (uri (git-reference
10869 (url "https://github.com/SahilKang/cl-rdkafka")
10870 (commit (string-append "v" version))))
10871 (file-name (git-file-name name version))
10872 (sha256
10873 (base32
10874 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10875 (build-system asdf-build-system/sbcl)
10876 (arguments
10877 `(#:tests? #f ; Attempts to connect to locally running Kafka
10878 #:phases
10879 (modify-phases %standard-phases
10880 (add-after 'unpack 'fix-paths
10881 (lambda* (#:key inputs #:allow-other-keys)
10882 (substitute* "src/low-level/librdkafka-bindings.lisp"
10883 (("librdkafka" all)
10884 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10885 all))))))))
10886 (inputs
10887 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10888 ("cffi" ,sbcl-cffi)
10889 ("librdkafka" ,librdkafka)
10890 ("lparallel" ,sbcl-lparallel)
10891 ("trivial-garbage" ,sbcl-trivial-garbage)))
10892 (home-page "https://github.com/SahilKang/cl-rdkafka")
10893 (synopsis "Common Lisp client library for Apache Kafka")
10894 (description "A Common Lisp client library for Apache Kafka.")
10895 (license license:gpl3)))
10896
10897 (define-public cl-rdkafka
10898 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10899
10900 (define-public ecl-cl-rdkafka
10901 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10902
10903 (define-public sbcl-acclimation
10904 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10905 (package
10906 (name "sbcl-acclimation")
10907 (version (git-version "0.0.0" "1" commit))
10908 (source
10909 (origin
10910 (method git-fetch)
10911 (uri (git-reference
10912 (url "https://github.com/robert-strandh/Acclimation")
10913 (commit commit)))
10914 (file-name (git-file-name name version))
10915 (sha256
10916 (base32
10917 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10918 (build-system asdf-build-system/sbcl)
10919 (home-page "https://github.com/robert-strandh/Acclimation")
10920 (synopsis "Internationalization library for Common Lisp")
10921 (description "This project is meant to provide tools for
10922 internationalizing Common Lisp programs.
10923
10924 One important aspect of internationalization is of course the language used in
10925 error messages, documentation strings, etc. But with this project we provide
10926 tools for all other aspects of internationalization as well, including dates,
10927 weight, temperature, names of physical quantitites, etc.")
10928 (license license:bsd-2))))
10929
10930 (define-public cl-acclimation
10931 (sbcl-package->cl-source-package sbcl-acclimation))
10932
10933 (define-public ecl-acclimation
10934 (sbcl-package->ecl-package sbcl-acclimation))
10935
10936 (define-public sbcl-clump
10937 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10938 (package
10939 (name "sbcl-clump")
10940 (version (git-version "0.0.0" "1" commit))
10941 (source
10942 (origin
10943 (method git-fetch)
10944 (uri (git-reference
10945 (url "https://github.com/robert-strandh/Clump")
10946 (commit commit)))
10947 (file-name (git-file-name name version))
10948 (sha256
10949 (base32
10950 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10951 (inputs
10952 `(("acclimation" ,sbcl-acclimation)))
10953 (build-system asdf-build-system/sbcl)
10954 (home-page "https://github.com/robert-strandh/Clump")
10955 (synopsis "Collection of tree implementations for Common Lisp")
10956 (description "The purpose of this library is to provide a collection of
10957 implementations of trees.
10958
10959 In contrast to existing libraries such as cl-containers, it does not impose a
10960 particular use for the trees. Instead, it aims for a stratified design,
10961 allowing client code to choose between different levels of abstraction.
10962
10963 As a consequence of this policy, low-level interfaces are provided where
10964 the concrete representation is exposed, but also high level interfaces
10965 where the trees can be used as search trees or as trees that represent
10966 sequences of objects.")
10967 (license license:bsd-2))))
10968
10969 (define-public cl-clump
10970 (sbcl-package->cl-source-package sbcl-clump))
10971
10972 (define-public ecl-clump
10973 (sbcl-package->ecl-package sbcl-clump))
10974
10975 (define-public sbcl-cluffer
10976 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10977 (package
10978 (name "sbcl-cluffer")
10979 (version (git-version "0.0.0" "1" commit))
10980 (source
10981 (origin
10982 (method git-fetch)
10983 (uri (git-reference
10984 (url "https://github.com/robert-strandh/cluffer")
10985 (commit commit)))
10986 (file-name (git-file-name name version))
10987 (sha256
10988 (base32
10989 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10990 (build-system asdf-build-system/sbcl)
10991 (inputs
10992 `(("acclimation" ,sbcl-acclimation)
10993 ("clump" ,sbcl-clump)))
10994 (home-page "https://github.com/robert-strandh/cluffer")
10995 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10996 (description "Cluffer is a library for representing the buffer of a text
10997 editor. As such, it defines a set of CLOS protocols for client code to
10998 interact with the buffer contents in various ways, and it supplies different
10999 implementations of those protocols for different purposes.")
11000 (license license:bsd-2))))
11001
11002 (define-public cl-cluffer
11003 (sbcl-package->cl-source-package sbcl-cluffer))
11004
11005 (define-public ecl-cluffer
11006 (sbcl-package->ecl-package sbcl-cluffer))
11007
11008 (define-public sbcl-cl-libsvm-format
11009 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11010 (revision "0"))
11011 (package
11012 (name "sbcl-cl-libsvm-format")
11013 (version (git-version "0.1.0" revision commit))
11014 (source
11015 (origin
11016 (method git-fetch)
11017 (uri (git-reference
11018 (url "https://github.com/masatoi/cl-libsvm-format")
11019 (commit commit)))
11020 (file-name (git-file-name name version))
11021 (sha256
11022 (base32
11023 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11024 (build-system asdf-build-system/sbcl)
11025 (native-inputs
11026 `(("prove" ,sbcl-prove)))
11027 (inputs
11028 `(("alexandria" ,sbcl-alexandria)))
11029 (synopsis "LibSVM data format reader for Common Lisp")
11030 (description
11031 "This Common Lisp library provides a fast reader for data in LibSVM
11032 format.")
11033 (home-page "https://github.com/masatoi/cl-libsvm-format")
11034 (license license:expat))))
11035
11036 (define-public cl-libsvm-format
11037 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11038
11039 (define-public ecl-cl-libsvm-format
11040 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11041
11042 (define-public sbcl-cl-online-learning
11043 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11044 (revision "1"))
11045 (package
11046 (name "sbcl-cl-online-learning")
11047 (version (git-version "0.5" revision commit))
11048 (source
11049 (origin
11050 (method git-fetch)
11051 (uri (git-reference
11052 (url "https://github.com/masatoi/cl-online-learning")
11053 (commit commit)))
11054 (file-name (git-file-name "cl-online-learning" version))
11055 (sha256
11056 (base32
11057 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11058 (build-system asdf-build-system/sbcl)
11059 (native-inputs
11060 `(("prove" ,sbcl-prove)))
11061 (inputs
11062 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11063 ("cl-store" ,sbcl-cl-store)))
11064 (arguments
11065 `(#:test-asd-file "cl-online-learning-test.asd"
11066 #:asd-systems '("cl-online-learning-test"
11067 "cl-online-learning")))
11068 (home-page "https://github.com/masatoi/cl-online-learning")
11069 (synopsis "Online Machine Learning for Common Lisp")
11070 (description
11071 "This library contains a collection of machine learning algorithms for
11072 online linear classification written in Common Lisp.")
11073 (license license:expat))))
11074
11075 (define-public cl-online-learning
11076 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11077
11078 (define-public ecl-cl-online-learning
11079 (sbcl-package->ecl-package sbcl-cl-online-learning))
11080
11081 (define-public sbcl-cl-mpg123
11082 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11083 (revision "1"))
11084 (package
11085 (name "sbcl-cl-mpg123")
11086 (version (git-version "1.0.0" revision commit))
11087 (source
11088 (origin
11089 (method git-fetch)
11090 (uri (git-reference
11091 (url "https://github.com/Shirakumo/cl-mpg123")
11092 (commit commit)))
11093 (file-name (git-file-name "cl-mpg123" version))
11094 (sha256
11095 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11096 (modules '((guix build utils)))
11097 (snippet
11098 '(begin
11099 ;; Remove bundled pre-compiled libraries.
11100 (delete-file-recursively "static")
11101 #t))))
11102 (build-system asdf-build-system/sbcl)
11103 (arguments
11104 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11105 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11106 #:phases
11107 (modify-phases %standard-phases
11108 (add-after 'unpack 'fix-paths
11109 (lambda* (#:key inputs #:allow-other-keys)
11110 (substitute* "low-level.lisp"
11111 (("libmpg123.so" all)
11112 (string-append (assoc-ref inputs "libmpg123")
11113 "/lib/" all))))))))
11114 (inputs
11115 `(("cffi" ,sbcl-cffi)
11116 ("cl-out123" ,sbcl-cl-out123)
11117 ("documentation-utils" ,sbcl-documentation-utils)
11118 ("libmpg123" ,mpg123)
11119 ("trivial-features" ,sbcl-trivial-features)
11120 ("trivial-garbage" ,sbcl-trivial-garbage)
11121 ("verbose" ,sbcl-verbose)))
11122 (home-page "https://shirakumo.github.io/cl-mpg123/")
11123 (synopsis "Common Lisp bindings to libmpg123")
11124 (description
11125 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11126 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11127 files.")
11128 (license license:zlib))))
11129
11130 (define-public ecl-cl-mpg123
11131 (sbcl-package->ecl-package sbcl-cl-mpg123))
11132
11133 (define-public cl-mpg123
11134 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11135
11136 (define-public sbcl-cl-out123
11137 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11138 (revision "1"))
11139 (package
11140 (name "sbcl-cl-out123")
11141 (version (git-version "1.0.0" revision commit))
11142 (source
11143 (origin
11144 (method git-fetch)
11145 (uri (git-reference
11146 (url "https://github.com/Shirakumo/cl-out123")
11147 (commit commit)))
11148 (file-name (git-file-name "cl-out123" version))
11149 (sha256
11150 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11151 (modules '((guix build utils)))
11152 (snippet
11153 '(begin
11154 ;; Remove bundled pre-compiled libraries.
11155 (delete-file-recursively "static")
11156 #t))))
11157 (build-system asdf-build-system/sbcl)
11158 (arguments
11159 `(#:phases
11160 (modify-phases %standard-phases
11161 (add-after 'unpack 'fix-paths
11162 (lambda* (#:key inputs #:allow-other-keys)
11163 (substitute* "low-level.lisp"
11164 (("libout123.so" all)
11165 (string-append (assoc-ref inputs "libout123")
11166 "/lib/" all)))))
11167 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11168 ;; exported macro `without-interrupts' it's moved to `mp' package
11169 ;; https://github.com/Shirakumo/cl-out123/issues/2
11170 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11171 (add-after 'unpack 'fix-ecl-package-name
11172 (lambda _
11173 (substitute* "wrapper.lisp"
11174 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11175 #t)))))
11176 (inputs
11177 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11178 ("cffi" ,sbcl-cffi)
11179 ("documentation-utils" ,sbcl-documentation-utils)
11180 ("libout123" ,mpg123)
11181 ("trivial-features" ,sbcl-trivial-features)
11182 ("trivial-garbage" ,sbcl-trivial-garbage)))
11183 (home-page "https://shirakumo.github.io/cl-out123/")
11184 (synopsis "Common Lisp bindings to libout123")
11185 (description
11186 "This is a bindings library to @code{libout123} which allows easy
11187 cross-platform audio playback.")
11188 (license license:zlib))))
11189
11190 (define-public ecl-cl-out123
11191 (sbcl-package->ecl-package sbcl-cl-out123))
11192
11193 (define-public cl-out123
11194 (sbcl-package->cl-source-package sbcl-cl-out123))
11195
11196 (define-public sbcl-cl-random-forest
11197 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11198 (revision "1"))
11199 (package
11200 (name "sbcl-cl-random-forest")
11201 (version (git-version "0.1" revision commit))
11202 (source
11203 (origin
11204 (method git-fetch)
11205 (uri (git-reference
11206 (url "https://github.com/masatoi/cl-random-forest")
11207 (commit commit)))
11208 (file-name (git-file-name name version))
11209 (sha256
11210 (base32
11211 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11212 (build-system asdf-build-system/sbcl)
11213 (native-inputs
11214 `(("prove" ,sbcl-prove)
11215 ("trivial-garbage" ,sbcl-trivial-garbage)))
11216 (inputs
11217 `(("alexandria" ,sbcl-alexandria)
11218 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11219 ("cl-online-learning" ,sbcl-cl-online-learning)
11220 ("lparallel" ,sbcl-lparallel)))
11221 (arguments
11222 `(#:tests? #f)) ; The tests download data from the Internet
11223 (synopsis "Random Forest and Global Refinement for Common Lisp")
11224 (description
11225 "CL-random-forest is an implementation of Random Forest for multiclass
11226 classification and univariate regression written in Common Lisp. It also
11227 includes an implementation of Global Refinement of Random Forest.")
11228 (home-page "https://github.com/masatoi/cl-random-forest")
11229 (license license:expat))))
11230
11231 (define-public cl-random-forest
11232 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11233
11234 (define-public ecl-cl-random-forest
11235 (sbcl-package->ecl-package sbcl-cl-random-forest))
11236
11237 (define-public sbcl-bordeaux-fft
11238 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11239 (revision "0"))
11240 (package
11241 (name "sbcl-bordeaux-fft")
11242 (version (git-version "1.0.1" revision commit))
11243 (source
11244 (origin
11245 (method git-fetch)
11246 (uri (git-reference
11247 (url "https://github.com/ahefner/bordeaux-fft")
11248 (commit commit)))
11249 (file-name (git-file-name name version))
11250 (sha256
11251 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11252 (build-system asdf-build-system/sbcl)
11253 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11254 (synopsis "Fast Fourier Transform for Common Lisp")
11255 (description
11256 "The Bordeaux-FFT library provides a reasonably efficient implementation
11257 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11258 portable Common Lisp.")
11259 (license license:gpl2+))))
11260
11261 (define-public cl-bordeaux-fft
11262 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11263
11264 (define-public ecl-bordeaux-fft
11265 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11266
11267 (define-public sbcl-napa-fft3
11268 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11269 (revision "0"))
11270 (package
11271 (name "sbcl-napa-fft3")
11272 (version (git-version "0.0.1" revision commit))
11273 (source
11274 (origin
11275 (method git-fetch)
11276 (uri (git-reference
11277 (url "https://github.com/pkhuong/Napa-FFT3")
11278 (commit commit)))
11279 (file-name (git-file-name name version))
11280 (sha256
11281 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11282 (build-system asdf-build-system/sbcl)
11283 (home-page "https://github.com/pkhuong/Napa-FFT3")
11284 (synopsis "Fast Fourier Transform routines in Common Lisp")
11285 (description
11286 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11287 buildings blocks to express common operations that involve DFTs: filtering,
11288 convolutions, etc.")
11289 (license license:bsd-3))))
11290
11291 (define-public cl-napa-fft3
11292 (sbcl-package->cl-source-package sbcl-napa-fft3))
11293
11294 (define-public sbcl-cl-tga
11295 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11296 (revision "0"))
11297 (package
11298 (name "sbcl-cl-tga")
11299 (version (git-version "0.0.0" revision commit))
11300 (source
11301 (origin
11302 (method git-fetch)
11303 (uri (git-reference
11304 (url "https://github.com/fisxoj/cl-tga")
11305 (commit commit)))
11306 (file-name (git-file-name name version))
11307 (sha256
11308 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11309 (build-system asdf-build-system/sbcl)
11310 (home-page "https://github.com/fisxoj/cl-tga")
11311 (synopsis "TGA file loader for Common Lisp")
11312 (description
11313 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11314 programs. It's a very simple library, and, at the moment, only supports
11315 non-RLE encoded forms of the files.")
11316 (license license:expat))))
11317
11318 (define-public cl-tga
11319 (sbcl-package->cl-source-package sbcl-cl-tga))
11320
11321 (define-public ecl-cl-tga
11322 (sbcl-package->ecl-package sbcl-cl-tga))
11323
11324 (define-public sbcl-com.gigamonkeys.binary-data
11325 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11326 (revision "0"))
11327 (package
11328 (name "sbcl-com.gigamonkeys.binary-data")
11329 (version (git-version "0.0.0" revision commit))
11330 (source
11331 (origin
11332 (method git-fetch)
11333 (uri (git-reference
11334 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11335 (commit commit)))
11336 (file-name (git-file-name name version))
11337 (sha256
11338 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11339 (build-system asdf-build-system/sbcl)
11340 (inputs
11341 `(("alexandria" ,sbcl-alexandria)))
11342 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11343 (synopsis "Common Lisp library for reading and writing binary data")
11344 (description
11345 "This a Common Lisp library for reading and writing binary data. It is
11346 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11347 (license license:bsd-3))))
11348
11349 (define-public cl-com.gigamonkeys.binary-data
11350 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11351
11352 (define-public ecl-com.gigamonkeys.binary-data
11353 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11354
11355 (define-public sbcl-deflate
11356 (package
11357 (name "sbcl-deflate")
11358 (version "1.0.3")
11359 (source
11360 (origin
11361 (method git-fetch)
11362 (uri (git-reference
11363 (url "https://github.com/pmai/Deflate")
11364 (commit (string-append "release-" version))))
11365 (file-name (git-file-name name version))
11366 (sha256
11367 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11368 (build-system asdf-build-system/sbcl)
11369 (home-page "https://github.com/pmai/Deflate")
11370 (synopsis "Native deflate decompression for Common Lisp")
11371 (description
11372 "This library is an implementation of Deflate (RFC 1951) decompression,
11373 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11374 wrappers of deflate streams. It currently does not handle compression.")
11375 (license license:expat)))
11376
11377 (define-public cl-deflate
11378 (sbcl-package->cl-source-package sbcl-deflate))
11379
11380 (define-public ecl-deflate
11381 (sbcl-package->ecl-package sbcl-deflate))
11382
11383 (define-public sbcl-skippy
11384 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11385 (revision "0"))
11386 (package
11387 (name "sbcl-skippy")
11388 (version (git-version "1.3.12" revision commit))
11389 (source
11390 (origin
11391 (method git-fetch)
11392 (uri (git-reference
11393 (url "https://github.com/xach/skippy")
11394 (commit commit)))
11395 (file-name (git-file-name name version))
11396 (sha256
11397 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11398 (build-system asdf-build-system/sbcl)
11399 (home-page "https://xach.com/lisp/skippy/")
11400 (synopsis "Common Lisp library for GIF images")
11401 (description
11402 "Skippy is a Common Lisp library to read and write GIF image files.")
11403 (license license:bsd-2))))
11404
11405 (define-public cl-skippy
11406 (sbcl-package->cl-source-package sbcl-skippy))
11407
11408 (define-public ecl-skippy
11409 (sbcl-package->ecl-package sbcl-skippy))
11410
11411 (define-public sbcl-cl-freetype2
11412 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11413 (revision "0"))
11414 (package
11415 (name "sbcl-cl-freetype2")
11416 (version (git-version "1.1" revision commit))
11417 (source
11418 (origin
11419 (method git-fetch)
11420 (uri (git-reference
11421 (url "https://github.com/rpav/cl-freetype2")
11422 (commit commit)))
11423 (file-name (git-file-name name version))
11424 (sha256
11425 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11426 (build-system asdf-build-system/sbcl)
11427 (native-inputs
11428 `(("fiveam" ,sbcl-fiveam)))
11429 (inputs
11430 `(("alexandria" ,sbcl-alexandria)
11431 ("cffi" ,sbcl-cffi)
11432 ("freetype" ,freetype)
11433 ("trivial-garbage" ,sbcl-trivial-garbage)))
11434 (arguments
11435 `(#:phases
11436 (modify-phases %standard-phases
11437 (add-after 'unpack 'fix-paths
11438 (lambda* (#:key inputs #:allow-other-keys)
11439 (substitute* "src/ffi/ft2-lib.lisp"
11440 (("\"libfreetype\"")
11441 (string-append "\"" (assoc-ref inputs "freetype")
11442 "/lib/libfreetype\"")))
11443 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11444 (("-I/usr/include/freetype")
11445 (string-append "-I" (assoc-ref inputs "freetype")
11446 "/include/freetype")))
11447 #t)))))
11448 (home-page "https://github.com/rpav/cl-freetype2")
11449 (synopsis "Common Lisp bindings for Freetype 2")
11450 (description
11451 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11452 geared toward both using Freetype directly by providing a simplified API, as
11453 well as providing access to the underlying C structures and functions for use
11454 with other libraries which may also use Freetype.")
11455 (license license:bsd-3))))
11456
11457 (define-public cl-freetype2
11458 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11459
11460 (define-public ecl-cl-freetype2
11461 (sbcl-package->ecl-package sbcl-cl-freetype2))
11462
11463 (define-public sbcl-opticl-core
11464 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11465 (revision "0"))
11466 (package
11467 (name "sbcl-opticl-core")
11468 (version (git-version "0.0.0" revision commit))
11469 (source
11470 (origin
11471 (method git-fetch)
11472 (uri (git-reference
11473 (url "https://github.com/slyrus/opticl-core")
11474 (commit commit)))
11475 (file-name (git-file-name name version))
11476 (sha256
11477 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11478 (build-system asdf-build-system/sbcl)
11479 (inputs
11480 `(("alexandria" ,sbcl-alexandria)))
11481 (home-page "https://github.com/slyrus/opticl-core")
11482 (synopsis "Core classes and pixel access macros for Opticl")
11483 (description
11484 "This Common Lisp library contains the core classes and pixel access
11485 macros for the Opticl image processing library.")
11486 (license license:bsd-2))))
11487
11488 (define-public cl-opticl-core
11489 (sbcl-package->cl-source-package sbcl-opticl-core))
11490
11491 (define-public ecl-opticl-core
11492 (sbcl-package->ecl-package sbcl-opticl-core))
11493
11494 (define-public sbcl-retrospectiff
11495 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11496 (revision "0"))
11497 (package
11498 (name "sbcl-retrospectiff")
11499 (version (git-version "0.2" revision commit))
11500 (source
11501 (origin
11502 (method git-fetch)
11503 (uri (git-reference
11504 (url "https://github.com/slyrus/retrospectiff")
11505 (commit commit)))
11506 (file-name (git-file-name name version))
11507 (sha256
11508 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11509 (build-system asdf-build-system/sbcl)
11510 (native-inputs
11511 `(("fiveam" ,sbcl-fiveam)))
11512 (inputs
11513 `(("cl-jpeg" ,sbcl-cl-jpeg)
11514 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11515 ("deflate" ,sbcl-deflate)
11516 ("flexi-streams" ,sbcl-flexi-streams)
11517 ("ieee-floats" ,sbcl-ieee-floats)
11518 ("opticl-core" ,sbcl-opticl-core)))
11519 (home-page "https://github.com/slyrus/retrospectiff")
11520 (synopsis "Common Lisp library for TIFF images")
11521 (description
11522 "Retrospectiff is a common lisp library for reading and writing images
11523 in the TIFF (Tagged Image File Format) format.")
11524 (license license:bsd-2))))
11525
11526 (define-public cl-retrospectif
11527 (sbcl-package->cl-source-package sbcl-retrospectiff))
11528
11529 (define-public ecl-retrospectiff
11530 (sbcl-package->ecl-package sbcl-retrospectiff))
11531
11532 (define-public sbcl-mmap
11533 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11534 (revision "0"))
11535 (package
11536 (name "sbcl-mmap")
11537 (version (git-version "1.0.0" revision commit))
11538 (source
11539 (origin
11540 (method git-fetch)
11541 (uri (git-reference
11542 (url "https://github.com/Shinmera/mmap")
11543 (commit commit)))
11544 (file-name (git-file-name name version))
11545 (sha256
11546 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11547 (build-system asdf-build-system/sbcl)
11548 (native-inputs
11549 `(("alexandria" ,sbcl-alexandria)
11550 ("cffi" ,sbcl-cffi)
11551 ("parachute" ,sbcl-parachute)
11552 ("trivial-features" ,sbcl-trivial-features)))
11553 (inputs
11554 `(("cffi" ,sbcl-cffi)
11555 ("documentation-utils" ,sbcl-documentation-utils)))
11556 (home-page "https://shinmera.github.io/mmap/")
11557 (synopsis "File memory mapping for Common Lisp")
11558 (description
11559 "This is a utility library providing access to the @emph{mmap} family of
11560 functions in a portable way. It allows you to directly map a file into the
11561 address space of your process without having to manually read it into memory
11562 sequentially. Typically this is much more efficient for files that are larger
11563 than a few Kb.")
11564 (license license:zlib))))
11565
11566 (define-public cl-mmap
11567 (sbcl-package->cl-source-package sbcl-mmap))
11568
11569 (define-public ecl-mmap
11570 (sbcl-package->ecl-package sbcl-mmap))
11571
11572 (define-public sbcl-3bz
11573 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11574 (revision "1"))
11575 (package
11576 (name "sbcl-3bz")
11577 (version (git-version "0.0.0" revision commit))
11578 (source
11579 (origin
11580 (method git-fetch)
11581 (uri (git-reference
11582 (url "https://github.com/3b/3bz")
11583 (commit commit)))
11584 (file-name (git-file-name name version))
11585 (sha256
11586 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11587 (build-system asdf-build-system/sbcl)
11588 (inputs
11589 `(("alexandria" ,sbcl-alexandria)
11590 ("babel" ,sbcl-babel)
11591 ("cffi" ,sbcl-cffi)
11592 ("mmap" ,sbcl-mmap)
11593 ("nibbles" ,sbcl-nibbles)
11594 ("trivial-features" ,sbcl-trivial-features)))
11595 (arguments
11596 ;; FIXME: #41437 - Build fails when package name starts from a digit
11597 `(#:asd-systems '("3bz")))
11598 (home-page "https://github.com/3b/3bz")
11599 (synopsis "Deflate decompression for Common Lisp")
11600 (description
11601 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11602 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11603 foreign pointers (for use with mmap and similar, etc), and from CL octet
11604 vectors and streams.")
11605 (license license:expat))))
11606
11607 (define-public cl-3bz
11608 (sbcl-package->cl-source-package sbcl-3bz))
11609
11610 (define-public ecl-3bz
11611 (sbcl-package->ecl-package sbcl-3bz))
11612
11613 (define-public sbcl-zpb-exif
11614 (package
11615 (name "sbcl-zpb-exif")
11616 (version "1.2.4")
11617 (source
11618 (origin
11619 (method git-fetch)
11620 (uri (git-reference
11621 (url "https://github.com/xach/zpb-exif")
11622 (commit (string-append "release-" version))))
11623 (file-name (git-file-name name version))
11624 (sha256
11625 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11626 (build-system asdf-build-system/sbcl)
11627 (home-page "https://xach.com/lisp/zpb-exif/")
11628 (synopsis "EXIF information extractor for Common Lisp")
11629 (description
11630 "This is a Common Lisp library to extract EXIF information from image
11631 files.")
11632 (license license:bsd-2)))
11633
11634 (define-public cl-zpb-exif
11635 (sbcl-package->cl-source-package sbcl-zpb-exif))
11636
11637 (define-public ecl-zpb-exif
11638 (sbcl-package->ecl-package sbcl-zpb-exif))
11639
11640 (define-public sbcl-pngload
11641 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11642 (revision "2"))
11643 (package
11644 (name "sbcl-pngload")
11645 (version (git-version "2.0.0" revision commit))
11646 (source
11647 (origin
11648 (method git-fetch)
11649 (uri (git-reference
11650 (url "https://git.mfiano.net/mfiano/pngload.git")
11651 (commit commit)))
11652 (file-name (git-file-name "pngload" version))
11653 (sha256
11654 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11655 (build-system asdf-build-system/sbcl)
11656 (inputs
11657 `(("3bz" ,sbcl-3bz)
11658 ("alexandria" ,sbcl-alexandria)
11659 ("cffi" ,sbcl-cffi)
11660 ("mmap" ,sbcl-mmap)
11661 ("parse-float" ,sbcl-parse-float)
11662 ("static-vectors" ,sbcl-static-vectors)
11663 ("swap-bytes" ,sbcl-swap-bytes)
11664 ("zpb-exif" ,sbcl-zpb-exif)))
11665 (arguments
11666 ;; Test suite disabled because of a dependency cycle.
11667 ;; pngload tests depend on opticl which depends on pngload.
11668 '(#:tests? #f))
11669 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11670 (synopsis "PNG image decoder for Common Lisp")
11671 (description
11672 "This is a Common Lisp library to load images in the PNG image format,
11673 both from files on disk, or streams in memory.")
11674 (license license:expat))))
11675
11676 (define-public cl-pngload
11677 (sbcl-package->cl-source-package sbcl-pngload))
11678
11679 (define-public ecl-pngload
11680 (sbcl-package->ecl-package sbcl-pngload))
11681
11682 (define-public sbcl-opticl
11683 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11684 (revision "0"))
11685 (package
11686 (name "sbcl-opticl")
11687 (version (git-version "0.0.0" revision commit))
11688 (source
11689 (origin
11690 (method git-fetch)
11691 (uri (git-reference
11692 (url "https://github.com/slyrus/opticl")
11693 (commit commit)))
11694 (file-name (git-file-name name version))
11695 (sha256
11696 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11697 (build-system asdf-build-system/sbcl)
11698 (native-inputs
11699 `(("fiveam" ,sbcl-fiveam)))
11700 (inputs
11701 `(("alexandria" ,sbcl-alexandria)
11702 ("cl-jpeg" ,sbcl-cl-jpeg)
11703 ("cl-tga" ,sbcl-cl-tga)
11704 ("png-read" ,sbcl-png-read)
11705 ("pngload" ,sbcl-pngload)
11706 ("retrospectiff" ,sbcl-retrospectiff)
11707 ("skippy" ,sbcl-skippy)
11708 ("zpng" ,sbcl-zpng)))
11709 (arguments
11710 '(#:asd-files '("opticl.asd")))
11711 (home-page "https://github.com/slyrus/opticl")
11712 (synopsis "Image processing library for Common Lisp")
11713 (description
11714 "Opticl is a Common Lisp library for representing, processing, loading,
11715 and saving 2-dimensional pixel-based images.")
11716 (license license:bsd-2))))
11717
11718 (define-public cl-opticl
11719 (sbcl-package->cl-source-package sbcl-opticl))
11720
11721 (define-public ecl-opticl
11722 (sbcl-package->ecl-package sbcl-opticl))
11723
11724 (define-public sbcl-mcclim
11725 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11726 (revision "1"))
11727 (package
11728 (name "sbcl-mcclim")
11729 (version (git-version "0.9.7" revision commit))
11730 (source
11731 (origin
11732 (method git-fetch)
11733 (uri (git-reference
11734 (url "https://github.com/mcclim/mcclim")
11735 (commit commit)))
11736 (file-name (git-file-name name version))
11737 (sha256
11738 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11739 (build-system asdf-build-system/sbcl)
11740 (native-inputs
11741 `(("fiveam" ,sbcl-fiveam)
11742 ("pkg-config" ,pkg-config)))
11743 (inputs
11744 `(("alexandria" ,sbcl-alexandria)
11745 ("babel" ,sbcl-babel)
11746 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11747 ("cl-freetype2" ,sbcl-cl-freetype2)
11748 ("cl-pdf" ,sbcl-cl-pdf)
11749 ("cffi" ,sbcl-cffi)
11750 ("cl-unicode" ,sbcl-cl-unicode)
11751 ("cl-vectors" ,sbcl-cl-vectors)
11752 ("closer-mop" ,sbcl-closer-mop)
11753 ("clx" ,sbcl-clx)
11754 ("flexi-streams" ,sbcl-flexi-streams)
11755 ("flexichain" ,sbcl-flexichain)
11756 ("font-dejavu" ,font-dejavu)
11757 ("fontconfig" ,fontconfig)
11758 ("freetype" ,freetype)
11759 ("harfbuzz" ,harfbuzz)
11760 ("log4cl" ,sbcl-log4cl)
11761 ("opticl" ,sbcl-opticl)
11762 ("spatial-trees" ,sbcl-spatial-trees)
11763 ("swank" ,sbcl-slime-swank)
11764 ("trivial-features" ,sbcl-trivial-features)
11765 ("trivial-garbage" ,sbcl-trivial-garbage)
11766 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11767 ("zpb-ttf" ,sbcl-zpb-ttf)))
11768 (arguments
11769 '(#:asd-systems '("mcclim"
11770 "clim-examples")
11771 #:phases
11772 (modify-phases %standard-phases
11773 (add-after 'unpack 'fix-paths
11774 (lambda* (#:key inputs #:allow-other-keys)
11775 ;; mcclim-truetype uses DejaVu as default font and
11776 ;; sets the path at build time.
11777 (substitute* "Extensions/fonts/fontconfig.lisp"
11778 (("/usr/share/fonts/truetype/dejavu/")
11779 (string-append (assoc-ref inputs "font-dejavu")
11780 "/share/fonts/truetype/")))
11781 (substitute* "Extensions/fontconfig/src/functions.lisp"
11782 (("libfontconfig\\.so")
11783 (string-append (assoc-ref inputs "fontconfig")
11784 "/lib/libfontconfig.so")))
11785 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11786 (("libharfbuzz\\.so")
11787 (string-append (assoc-ref inputs "harfbuzz")
11788 "/lib/libharfbuzz.so")))
11789 #t))
11790 (add-after 'unpack 'fix-build
11791 (lambda _
11792 ;; The cffi-grovel system does not get loaded automatically,
11793 ;; so we load it explicitly.
11794 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11795 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11796 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11797 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11798 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11799 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11800 #t)))))
11801 (home-page "https://common-lisp.net/project/mcclim/")
11802 (synopsis "Common Lisp GUI toolkit")
11803 (description
11804 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11805 specification}, a toolkit for writing GUIs in Common Lisp.")
11806 (license license:lgpl2.1+))))
11807
11808 (define-public cl-mcclim
11809 (sbcl-package->cl-source-package sbcl-mcclim))
11810
11811 (define-public ecl-mcclim
11812 (sbcl-package->ecl-package sbcl-mcclim))
11813
11814 (define-public sbcl-cl-inflector
11815 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11816 (revision "1"))
11817 (package
11818 (name "sbcl-cl-inflector")
11819 (version (git-version "0.2" revision commit))
11820 (source
11821 (origin
11822 (method git-fetch)
11823 (uri (git-reference
11824 (url "https://github.com/AccelerationNet/cl-inflector")
11825 (commit commit)))
11826 (file-name (git-file-name name version))
11827 (sha256
11828 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11829 (build-system asdf-build-system/sbcl)
11830 (native-inputs
11831 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11832 (inputs
11833 `(("alexandria" ,sbcl-alexandria)
11834 ("cl-ppcre" ,sbcl-cl-ppcre)))
11835 (home-page "https://github.com/AccelerationNet/cl-inflector")
11836 (synopsis "Library to pluralize/singularize English and Portuguese words")
11837 (description
11838 "This is a common lisp library to easily pluralize and singularize
11839 English and Portuguese words. This is a port of the ruby ActiveSupport
11840 Inflector module.")
11841 (license license:expat))))
11842
11843 (define-public cl-inflector
11844 (sbcl-package->cl-source-package sbcl-cl-inflector))
11845
11846 (define-public ecl-cl-inflector
11847 (sbcl-package->ecl-package sbcl-cl-inflector))
11848
11849 (define-public sbcl-ixf
11850 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11851 (revision "1"))
11852 (package
11853 (name "sbcl-ixf")
11854 (version (git-version "0.1.0" revision commit))
11855 (source
11856 (origin
11857 (method git-fetch)
11858 (uri (git-reference
11859 (url "https://github.com/dimitri/cl-ixf")
11860 (commit commit)))
11861 (file-name (git-file-name "cl-ixf" version))
11862 (sha256
11863 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11864 (build-system asdf-build-system/sbcl)
11865 (inputs
11866 `(("alexandria" ,sbcl-alexandria)
11867 ("babel" ,sbcl-babel)
11868 ("cl-ppcre" ,sbcl-cl-ppcre)
11869 ("ieee-floats" ,sbcl-ieee-floats)
11870 ("local-time" ,sbcl-local-time)
11871 ("md5" ,sbcl-md5)
11872 ("split-sequence" ,sbcl-split-sequence)))
11873 (home-page "https://github.com/dimitri/cl-ixf")
11874 (synopsis "Parse IBM IXF file format")
11875 (description
11876 "This is a Common Lisp library to handle the IBM PC version of the IXF
11877 (Integration Exchange Format) file format.")
11878 (license license:public-domain))))
11879
11880 (define-public ecl-ixf
11881 (sbcl-package->ecl-package sbcl-ixf))
11882
11883 (define-public cl-ixf
11884 (sbcl-package->cl-source-package sbcl-ixf))
11885
11886 (define-public sbcl-qbase64
11887 (package
11888 (name "sbcl-qbase64")
11889 (version "0.3.0")
11890 (source
11891 (origin
11892 (method git-fetch)
11893 (uri (git-reference
11894 (url "https://github.com/chaitanyagupta/qbase64")
11895 (commit version)))
11896 (file-name (git-file-name name version))
11897 (sha256
11898 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11899 (build-system asdf-build-system/sbcl)
11900 (inputs
11901 `(("metabang-bind" ,sbcl-metabang-bind)
11902 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11903 (native-inputs
11904 `(("fiveam" ,sbcl-fiveam)))
11905 (home-page "https://github.com/chaitanyagupta/qbase64")
11906 (synopsis "Base64 encoder and decoder for Common Lisp")
11907 (description "@code{qbase64} provides a fast and flexible base64 encoder
11908 and decoder for Common Lisp.")
11909 (license license:bsd-3)))
11910
11911 (define-public cl-qbase64
11912 (sbcl-package->cl-source-package sbcl-qbase64))
11913
11914 (define-public ecl-qbase64
11915 (sbcl-package->ecl-package sbcl-qbase64))
11916
11917 (define-public sbcl-lw-compat
11918 ;; No release since 2013.
11919 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11920 (package
11921 (name "sbcl-lw-compat")
11922 (version (git-version "1.0.0" "1" commit))
11923 (source
11924 (origin
11925 (method git-fetch)
11926 (uri (git-reference
11927 (url "https://github.com/pcostanza/lw-compat/")
11928 (commit commit)))
11929 (file-name (git-file-name name version))
11930 (sha256
11931 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11932 (build-system asdf-build-system/sbcl)
11933 (home-page "https://github.com/pcostanza/lw-compat/")
11934 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11935 (description "This package contains a few utility functions from the
11936 LispWorks library that are used in software such as ContextL.")
11937 (license license:expat))))
11938
11939 (define-public cl-lw-compat
11940 (sbcl-package->cl-source-package sbcl-lw-compat))
11941
11942 (define-public ecl-lw-compat
11943 (sbcl-package->ecl-package sbcl-lw-compat))
11944
11945 (define-public sbcl-contextl
11946 ;; No release since 2013.
11947 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11948 (package
11949 (name "sbcl-contextl")
11950 (version (git-version "1.0.0" "1" commit))
11951 (source
11952 (origin
11953 (method git-fetch)
11954 (uri (git-reference
11955 (url "https://github.com/pcostanza/contextl/")
11956 (commit commit)))
11957 (file-name (git-file-name name version))
11958 (sha256
11959 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11960 (build-system asdf-build-system/sbcl)
11961 (inputs
11962 `(("closer-mop" ,sbcl-closer-mop)
11963 ("lw-compat" ,sbcl-lw-compat)))
11964 (home-page "https://github.com/pcostanza/contextl")
11965 (synopsis "Context-oriented programming for Common Lisp")
11966 (description "ContextL is a CLOS extension for Context-Oriented
11967 Programming (COP).
11968
11969 Find overview of ContextL's features in an overview paper:
11970 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11971 overview article about COP which also contains some ContextL examples:
11972 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11973 (license license:expat))))
11974
11975 (define-public cl-contextl
11976 (sbcl-package->cl-source-package sbcl-contextl))
11977
11978 (define-public ecl-contextl
11979 (sbcl-package->ecl-package sbcl-contextl))
11980
11981 (define-public sbcl-hu.dwim.common-lisp
11982 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
11983 (package
11984 (name "sbcl-hu.dwim.common-lisp")
11985 (version "2021-01-27")
11986 (source
11987 (origin
11988 (method git-fetch)
11989 (uri (git-reference
11990 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
11991 (commit commit)))
11992 (file-name (git-file-name name version))
11993 (sha256
11994 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
11995 (build-system asdf-build-system/sbcl)
11996 (native-inputs
11997 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11998 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
11999 (synopsis "Redefine some standard Common Lisp names")
12000 (description "This library is a redefinition of the standard Common Lisp
12001 package that includes a number of renames and shadows. ")
12002 (license license:public-domain))))
12003
12004 (define-public cl-hu.dwim.common-lisp
12005 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12006
12007 (define-public ecl-hu.dwim.common-lisp
12008 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12009
12010 (define-public sbcl-hu.dwim.common
12011 (package
12012 (name "sbcl-hu.dwim.common")
12013 (version "2015-07-09")
12014 (source
12015 (origin
12016 (method url-fetch)
12017 (uri (string-append
12018 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12019 version "/hu.dwim.common-"
12020 (string-replace-substring version "-" "")
12021 "-darcs.tgz"))
12022 (sha256
12023 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12024 (build-system asdf-build-system/sbcl)
12025 (native-inputs
12026 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12027 (inputs
12028 `(("alexandria" ,sbcl-alexandria)
12029 ("anaphora" ,sbcl-anaphora)
12030 ("closer-mop" ,sbcl-closer-mop)
12031 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12032 ("iterate" ,sbcl-iterate)
12033 ("metabang-bind" ,sbcl-metabang-bind)))
12034 (home-page "http://dwim.hu/")
12035 (synopsis "Common Lisp library shared by other hu.dwim systems")
12036 (description "This package contains a support library for other
12037 hu.dwim systems.")
12038 (license license:public-domain)))
12039
12040 (define-public cl-hu.dwim.common
12041 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12042
12043 (define-public ecl-hu.dwim.common
12044 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12045
12046 (define-public sbcl-hu.dwim.defclass-star
12047 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
12048 (package
12049 (name "sbcl-hu.dwim.defclass-star")
12050 ;; We used to set version from the date when it was a darcs repo, so we
12051 ;; keep the year so that package gets updated on previous installs.
12052 (version (git-version "2021" "1" commit))
12053 (source
12054 (origin
12055 (method git-fetch)
12056 (uri (git-reference
12057 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12058 (commit commit)))
12059 (file-name (git-file-name name version))
12060 (sha256
12061 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
12062 (build-system asdf-build-system/sbcl)
12063 (native-inputs
12064 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12065 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12066 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12067 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12068 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12069 (arguments
12070 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12071 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12072 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12073 #:tests? #f))
12074 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12075 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12076 (description "@code{defclass-star} provides defclass* and defcondition* to
12077 simplify class and condition declarations. Features include:
12078
12079 @itemize
12080 @item Automatically export all or select slots at compile time.
12081 @item Define the @code{:initarg} and @code{:accessor} automatically.
12082 @item Specify a name transformer for both the @code{:initarg} and
12083 @code{:accessor}, etc.
12084 @item Specify the @code{:initform} as second slot value.
12085 @end itemize
12086
12087 See
12088 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12089 for an example.")
12090 (license license:public-domain))))
12091
12092 (define-public cl-hu.dwim.defclass-star
12093 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12094
12095 (define-public ecl-hu.dwim.defclass-star
12096 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12097
12098 (define-public sbcl-livesupport
12099 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12100 (revision "1"))
12101 (package
12102 (name "sbcl-livesupport")
12103 (version (git-version "0.0.0" revision commit))
12104 (source
12105 (origin
12106 (method git-fetch)
12107 (uri (git-reference
12108 (url "https://github.com/cbaggers/livesupport")
12109 (commit commit)))
12110 (file-name (git-file-name name version))
12111 (sha256
12112 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12113 (build-system asdf-build-system/sbcl)
12114 (home-page "https://github.com/cbaggers/livesupport")
12115 (synopsis "Some helpers that make livecoding a little easier")
12116 (description "This package provides a macro commonly used in livecoding to
12117 enable continuing when errors are raised. Simply wrap around a chunk of code
12118 and it provides a restart called @code{continue} which ignores the error and
12119 carrys on from the end of the body.")
12120 (license license:bsd-2))))
12121
12122 (define-public cl-livesupport
12123 (sbcl-package->cl-source-package sbcl-livesupport))
12124
12125 (define-public ecl-livesupport
12126 (sbcl-package->ecl-package sbcl-livesupport))
12127
12128 (define-public sbcl-envy
12129 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12130 (revision "1"))
12131 (package
12132 (name "sbcl-envy")
12133 (version (git-version "0.1" revision commit))
12134 (home-page "https://github.com/fukamachi/envy")
12135 (source
12136 (origin
12137 (method git-fetch)
12138 (uri (git-reference
12139 (url home-page)
12140 (commit commit)))
12141 (file-name (git-file-name name version))
12142 (sha256
12143 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12144 (build-system asdf-build-system/sbcl)
12145 ;; (native-inputs ; Only for tests.
12146 ;; `(("prove" ,sbcl-prove)
12147 ;; ("osicat" ,sbcl-osicat)))
12148 (arguments
12149 '(#:phases
12150 (modify-phases %standard-phases
12151 (add-after 'unpack 'fix-tests
12152 (lambda _
12153 (substitute* "envy-test.asd"
12154 (("cl-test-more") "prove"))
12155 #t)))
12156 ;; Tests fail with
12157 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12158 ;; like xsubseq. Why?
12159 #:tests? #f))
12160 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12161 (description "Envy is a configuration manager for various applications.
12162 Envy uses an environment variable to determine a configuration to use. This
12163 can separate configuration system from an implementation.")
12164 (license license:bsd-2))))
12165
12166 (define-public cl-envy
12167 (sbcl-package->cl-source-package sbcl-envy))
12168
12169 (define-public ecl-envy
12170 (sbcl-package->ecl-package sbcl-envy))
12171
12172 (define-public sbcl-mito
12173 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12174 (revision "1"))
12175 (package
12176 (name "sbcl-mito")
12177 (version (git-version "0.1" revision commit))
12178 (home-page "https://github.com/fukamachi/mito")
12179 (source
12180 (origin
12181 (method git-fetch)
12182 (uri (git-reference
12183 (url home-page)
12184 (commit commit)))
12185 (file-name (git-file-name name version))
12186 (sha256
12187 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12188 (build-system asdf-build-system/sbcl)
12189 (native-inputs
12190 `(("prove" ,sbcl-prove)))
12191 (inputs
12192 `(("alexandria" ,sbcl-alexandria)
12193 ("cl-ppcre" ,sbcl-cl-ppcre)
12194 ("cl-reexport" ,sbcl-cl-reexport)
12195 ("closer-mop" ,sbcl-closer-mop)
12196 ("dbi" ,sbcl-dbi)
12197 ("dissect" ,sbcl-dissect)
12198 ("esrap" ,sbcl-esrap)
12199 ("local-time" ,sbcl-local-time)
12200 ("optima" ,sbcl-optima)
12201 ("sxql" ,sbcl-sxql)
12202 ("uuid" ,sbcl-uuid)))
12203 (arguments
12204 '(#:phases
12205 (modify-phases %standard-phases
12206 (add-after 'unpack 'remove-non-functional-tests
12207 (lambda _
12208 (substitute* "mito-test.asd"
12209 (("\\(:test-file \"db/mysql\"\\)") "")
12210 (("\\(:test-file \"db/postgres\"\\)") "")
12211 (("\\(:test-file \"dao\"\\)") "")
12212 ;; TODO: migration/sqlite3 should work, re-enable once
12213 ;; upstream has fixed it:
12214 ;; https://github.com/fukamachi/mito/issues/70
12215 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12216 (("\\(:test-file \"migration/mysql\"\\)") "")
12217 (("\\(:test-file \"migration/postgres\"\\)") "")
12218 (("\\(:test-file \"postgres-types\"\\)") "")
12219 (("\\(:test-file \"mixin\"\\)") ""))
12220 #t)))
12221 ;; TODO: While all enabled tests pass, the phase fails with:
12222 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12223 #:tests? #f))
12224 (synopsis "ORM for Common Lisp with migrations and relationships support")
12225 (description "Mito is yet another object relational mapper, and it aims
12226 to be a successor of Integral.
12227
12228 @itemize
12229 @item Support MySQL, PostgreSQL and SQLite3.
12230 @item Add id (serial/uuid primary key), created_at and updated_at by default
12231 like Ruby's ActiveRecord.
12232 @item Migrations.
12233 @item Database schema versioning.
12234 @end itemize\n")
12235 (license license:llgpl))))
12236
12237 (define-public cl-mito
12238 (sbcl-package->cl-source-package sbcl-mito))
12239
12240 (define-public ecl-mito
12241 (sbcl-package->ecl-package sbcl-mito))
12242
12243 (define-public sbcl-kebab
12244 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12245 (revision "1"))
12246 (package
12247 (name "sbcl-kebab")
12248 (version (git-version "0.1" revision commit))
12249 (home-page "https://github.com/pocket7878/kebab")
12250 (source
12251 (origin
12252 (method git-fetch)
12253 (uri (git-reference
12254 (url home-page)
12255 (commit commit)))
12256 (file-name (git-file-name name version))
12257 (sha256
12258 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12259 (build-system asdf-build-system/sbcl)
12260 (inputs
12261 `(("cl-ppcre" ,sbcl-cl-ppcre)
12262 ("alexandria" ,sbcl-alexandria)
12263 ("cl-interpol" ,sbcl-cl-interpol)
12264 ("split-sequence" ,sbcl-split-sequence)))
12265 (native-inputs
12266 `(("prove" ,sbcl-prove)))
12267 (arguments
12268 ;; Tests passes but the phase fails with
12269 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12270 `(#:tests? #f))
12271 (synopsis "Common Lisp case converter")
12272 (description "This Common Lisp library converts strings, symbols and
12273 keywords between any of the following typographical cases: PascalCase,
12274 camelCase, snake_case, kebab-case (lisp-case).")
12275 (license license:llgpl))))
12276
12277 (define-public cl-kebab
12278 (sbcl-package->cl-source-package sbcl-kebab))
12279
12280 (define-public ecl-kebab
12281 (sbcl-package->ecl-package sbcl-kebab))
12282
12283 (define-public sbcl-datafly
12284 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12285 (revision "1"))
12286 (package
12287 (name "sbcl-datafly")
12288 (version (git-version "0.1" revision commit))
12289 (home-page "https://github.com/fukamachi/datafly")
12290 (source
12291 (origin
12292 (method git-fetch)
12293 (uri (git-reference
12294 (url home-page)
12295 (commit commit)))
12296 (file-name (git-file-name name version))
12297 (sha256
12298 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12299 (build-system asdf-build-system/sbcl)
12300 (inputs
12301 `(("alexandria" ,sbcl-alexandria)
12302 ("iterate" ,sbcl-iterate)
12303 ("optima" ,sbcl-optima)
12304 ("trivial-types" ,sbcl-trivial-types)
12305 ("closer-mop" ,sbcl-closer-mop)
12306 ("cl-syntax" ,sbcl-cl-syntax)
12307 ("sxql" ,sbcl-sxql)
12308 ("dbi" ,sbcl-dbi)
12309 ("babel" ,sbcl-babel)
12310 ("local-time" ,sbcl-local-time)
12311 ("function-cache" ,sbcl-function-cache)
12312 ("jonathan" ,sbcl-jonathan)
12313 ("kebab" ,sbcl-kebab)
12314 ("log4cl" ,sbcl-log4cl)))
12315 (native-inputs
12316 `(("prove" ,sbcl-prove)))
12317 (arguments
12318 ;; TODO: Tests fail with
12319 ;; While evaluating the form starting at line 22, column 0
12320 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12321 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12322 ;; {10009F8083}>:
12323 ;; Error when binding parameter 1 to value NIL.
12324 ;; Code RANGE: column index out of range.
12325 `(#:tests? #f))
12326 (synopsis "Lightweight database library for Common Lisp")
12327 (description "Datafly is a lightweight database library for Common Lisp.")
12328 (license license:bsd-3))))
12329
12330 (define-public cl-datafly
12331 (sbcl-package->cl-source-package sbcl-datafly))
12332
12333 (define-public ecl-datafly
12334 (sbcl-package->ecl-package sbcl-datafly))
12335
12336 (define-public sbcl-do-urlencode
12337 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12338 (revision "1"))
12339 (package
12340 (name "sbcl-do-urlencode")
12341 (version (git-version "0.0.0" revision commit))
12342 (home-page "https://github.com/drdo/do-urlencode")
12343 (source
12344 (origin
12345 (method git-fetch)
12346 (uri (git-reference
12347 (url home-page)
12348 (commit commit)))
12349 (file-name (git-file-name name version))
12350 (sha256
12351 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12352 (build-system asdf-build-system/sbcl)
12353 (inputs
12354 `(("alexandria" ,sbcl-alexandria)
12355 ("babel" ,sbcl-babel)))
12356 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12357 (description "This library provides trivial percent encoding and
12358 decoding functions for URLs.")
12359 (license license:isc))))
12360
12361 (define-public cl-do-urlencode
12362 (sbcl-package->cl-source-package sbcl-do-urlencode))
12363
12364 (define-public ecl-do-urlencode
12365 (sbcl-package->ecl-package sbcl-do-urlencode))
12366
12367 (define-public sbcl-cl-emb
12368 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12369 (revision "1"))
12370 (package
12371 (name "sbcl-cl-emb")
12372 (version (git-version "0.4.3" revision commit))
12373 (home-page "https://common-lisp.net/project/cl-emb/")
12374 (source
12375 (origin
12376 (method git-fetch)
12377 (uri (git-reference
12378 (url "https://github.com/38a938c2/cl-emb")
12379 (commit commit)))
12380 (file-name (git-file-name name version))
12381 (sha256
12382 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12383 (build-system asdf-build-system/sbcl)
12384 (inputs
12385 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12386 (synopsis "Templating system for Common Lisp")
12387 (description "A mixture of features from eRuby and HTML::Template. You
12388 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12389 that and not limited to a certain server or text format.")
12390 (license license:llgpl))))
12391
12392 (define-public cl-emb
12393 (sbcl-package->cl-source-package sbcl-cl-emb))
12394
12395 (define-public ecl-cl-emb
12396 (sbcl-package->ecl-package sbcl-cl-emb))
12397
12398 (define-public sbcl-cl-project
12399 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12400 (revision "1"))
12401 (package
12402 (name "sbcl-cl-project")
12403 (version (git-version "0.3.1" revision commit))
12404 (home-page "https://github.com/fukamachi/cl-project")
12405 (source
12406 (origin
12407 (method git-fetch)
12408 (uri (git-reference
12409 (url home-page)
12410 (commit commit)))
12411 (file-name (git-file-name name version))
12412 (sha256
12413 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12414 (build-system asdf-build-system/sbcl)
12415 (inputs
12416 `(("cl-emb" ,sbcl-cl-emb)
12417 ("cl-ppcre" ,sbcl-cl-ppcre)
12418 ("local-time" ,sbcl-local-time)
12419 ("prove" ,sbcl-prove)))
12420 (arguments
12421 ;; Tests depend on caveman, which in turns depends on cl-project.
12422 '(#:tests? #f
12423 #:asd-files '("cl-project.asd")))
12424 (synopsis "Generate a skeleton for modern Common Lisp projects")
12425 (description "This library provides a modern project skeleton generator.
12426 In contract with other generators, CL-Project generates one package per file
12427 and encourages unit testing by generating a system for unit testing, so you
12428 can begin writing unit tests as soon as the project is generated.")
12429 (license license:llgpl))))
12430
12431 (define-public cl-project
12432 (sbcl-package->cl-source-package sbcl-cl-project))
12433
12434 (define-public ecl-cl-project
12435 (sbcl-package->ecl-package sbcl-cl-project))
12436
12437 (define-public sbcl-caveman
12438 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12439 (revision "1"))
12440 (package
12441 (name "sbcl-caveman")
12442 (version (git-version "2.4.0" revision commit))
12443 (home-page "http://8arrow.org/caveman/")
12444 (source
12445 (origin
12446 (method git-fetch)
12447 (uri (git-reference
12448 (url "https://github.com/fukamachi/caveman/")
12449 (commit commit)))
12450 (file-name (git-file-name name version))
12451 (sha256
12452 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12453 (build-system asdf-build-system/sbcl)
12454 (inputs
12455 `(("ningle" ,cl-ningle)
12456 ("lack" ,sbcl-lack)
12457 ("cl-project" ,sbcl-cl-project)
12458 ("dbi" ,sbcl-dbi)
12459 ("cl-syntax" ,sbcl-cl-syntax)
12460 ("myway" ,sbcl-myway)
12461 ("quri" ,sbcl-quri)))
12462 (native-inputs
12463 `(("usocket" ,sbcl-usocket)
12464 ("dexador" ,sbcl-dexador)))
12465 (arguments
12466 `(#:asd-files '("caveman2.asd")
12467 #:asd-systems '("caveman2")
12468 #:phases
12469 (modify-phases %standard-phases
12470 (add-after 'unpack 'remove-v1
12471 (lambda _
12472 (delete-file-recursively "v1")
12473 (for-each delete-file
12474 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12475 ;; TODO: Tests fail with:
12476 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12477 ;; While evaluating the form starting at line 38, column 0
12478 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12479 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12480 ;; {10009F8083}>:
12481 ;; Component "myapp573" not found
12482 #:tests? #f))
12483 (synopsis "Lightweight web application framework in Common Lisp")
12484 (description "Caveman is intended to be a collection of common parts for
12485 web applications. Caveman2 has three design goals:
12486
12487 @itemize
12488 @item Be extensible.
12489 @item Be practical.
12490 @item Don't force anything.
12491 @end itemize\n")
12492 (license license:llgpl))))
12493
12494 (define-public cl-caveman
12495 (package
12496 (inherit
12497 (sbcl-package->cl-source-package sbcl-caveman))
12498 (propagated-inputs
12499 `(("ningle" ,cl-ningle)))))
12500
12501 (define-public ecl-caveman
12502 (sbcl-package->ecl-package sbcl-caveman))
12503
12504 (define-public sbcl-lambda-fiddle
12505 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12506 (revision "1"))
12507 (package
12508 (name "sbcl-lambda-fiddle")
12509 (version (git-version "1.0.0" revision commit))
12510 (source
12511 (origin
12512 (method git-fetch)
12513 (uri (git-reference
12514 (url "https://github.com/Shinmera/lambda-fiddle")
12515 (commit commit)))
12516 (file-name (git-file-name name version))
12517 (sha256
12518 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12519 (build-system asdf-build-system/sbcl)
12520 (home-page "https://github.com/Shinmera/lambda-fiddle")
12521 (synopsis "Collection of utilities to process lambda-lists")
12522 (description "This collection of utilities is useful in contexts where
12523 you want a macro that uses lambda-lists in some fashion but need more precise
12524 processing.")
12525 (license license:zlib))))
12526
12527 (define-public cl-lambda-fiddle
12528 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12529
12530 (define-public ecl-lambda-fiddle
12531 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12532
12533 (define-public sbcl-xmls
12534 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12535 (revision "1"))
12536 (package
12537 (name "sbcl-xmls")
12538 (version (git-version "3.0.2" revision commit))
12539 (source
12540 (origin
12541 (method git-fetch)
12542 (uri (git-reference
12543 (url "https://github.com/rpgoldman/xmls")
12544 (commit commit)))
12545 (file-name (git-file-name name version))
12546 (sha256
12547 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12548 (native-inputs
12549 `(("fiveam" ,sbcl-fiveam)))
12550 (build-system asdf-build-system/sbcl)
12551 (home-page "https://github.com/rpgoldman/xmls")
12552 (synopsis "Non-validating XML parser for Common Lisp")
12553 (description "Xmls is a self-contained, easily embedded parser that
12554 recognizes a useful subset of the XML spec. It provides a simple mapping from
12555 XML to Lisp structures or s-expressions and back.")
12556 (license license:bsd-2))))
12557
12558 (define-public cl-xmls
12559 (sbcl-package->cl-source-package sbcl-xmls))
12560
12561 (define-public ecl-xmls
12562 (sbcl-package->ecl-package sbcl-xmls))
12563
12564 (define-public sbcl-geco
12565 (package
12566 (name "sbcl-geco")
12567 (version "2.1.1")
12568 (source
12569 (origin
12570 (method git-fetch)
12571 (uri (git-reference
12572 (url "https://github.com/gpwwjr/GECO")
12573 (commit (string-append "v" version))))
12574 (file-name (git-file-name "geco" version))
12575 (sha256
12576 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12577 (build-system asdf-build-system/sbcl)
12578 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12579 (synopsis "Genetic algorithm toolkit for Common Lisp")
12580 (description
12581 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12582 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12583 (license license:lgpl2.1+)))
12584
12585 (define-public cl-geco
12586 (sbcl-package->cl-source-package sbcl-geco))
12587
12588 (define-public ecl-geco
12589 (sbcl-package->ecl-package sbcl-geco))
12590
12591 (define-public sbcl-html-entities
12592 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12593 (package
12594 (name "sbcl-html-entities")
12595 (version (git-version "0.02" "1" commit))
12596 (source
12597 (origin
12598 (method git-fetch)
12599 (uri (git-reference
12600 (url "https://github.com/BnMcGn/html-entities/")
12601 (commit commit)))
12602 (file-name (git-file-name name version))
12603 (sha256
12604 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12605 (build-system asdf-build-system/sbcl)
12606 (inputs
12607 `(("ppcre" ,sbcl-cl-ppcre)))
12608 (native-inputs
12609 `(("fiveam" ,sbcl-fiveam)))
12610 (home-page "https://github.com/BnMcGn/html-entities/")
12611 (synopsis "Encode and decode entities in HTML with Common Lisp")
12612 (description "Html-entities is a Common Lisp library that lets you
12613 encode and decode entities in HTML.")
12614 (license license:expat))))
12615
12616 (define-public cl-html-entities
12617 (sbcl-package->cl-source-package sbcl-html-entities))
12618
12619 (define-public ecl-html-entities
12620 (sbcl-package->ecl-package sbcl-html-entities))
12621
12622 (define-public sbcl-quicksearch
12623 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12624 (package
12625 (name "sbcl-quicksearch")
12626 (version (git-version "0.01.04" "1" commit))
12627 (source
12628 (origin
12629 (method git-fetch)
12630 (uri (git-reference
12631 (url "https://github.com/tkych/quicksearch/")
12632 (commit commit)))
12633 (file-name (git-file-name name version))
12634 (sha256
12635 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12636 (build-system asdf-build-system/sbcl)
12637 (inputs
12638 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12639 ("iterate" ,sbcl-iterate)
12640 ("alexandria" ,sbcl-alexandria)
12641 ("anaphora" ,sbcl-anaphora)
12642 ("ppcre" ,sbcl-cl-ppcre)
12643 ("drakma" ,sbcl-drakma)
12644 ("html-entities" ,sbcl-html-entities)
12645 ("yason" ,sbcl-yason)
12646 ("flexi-streams" ,sbcl-flexi-streams)
12647 ("do-urlencode" ,sbcl-do-urlencode)))
12648 (home-page "https://github.com/tkych/quicksearch/")
12649 (synopsis "Search Engine Interface for Common Lisp packages")
12650 (description "Quicksearch is a search-engine-interface for Common Lisp.
12651 The goal of Quicksearch is to find the Common Lisp library quickly. For
12652 example, if you will find the library about json, just type @code{(qs:?
12653 'json)} at REPL.
12654
12655 The function @code{quicksearch} searches for Common Lisp projects in
12656 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12657 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12658 (license license:expat))))
12659
12660 (define-public cl-quicksearch
12661 (sbcl-package->cl-source-package sbcl-quicksearch))
12662
12663 (define-public ecl-quicksearch
12664 (sbcl-package->ecl-package sbcl-quicksearch))
12665
12666 (define-public sbcl-agutil
12667 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12668 (package
12669 (name "sbcl-agutil")
12670 (version (git-version "0.0.1" "1" commit))
12671 (source
12672 (origin
12673 (method git-fetch)
12674 (uri (git-reference
12675 (url "https://github.com/alex-gutev/agutil/")
12676 (commit commit)))
12677 (file-name (git-file-name name version))
12678 (sha256
12679 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12680 (build-system asdf-build-system/sbcl)
12681 (inputs
12682 `(("alexandria" ,sbcl-alexandria)
12683 ("trivia" ,sbcl-trivia)))
12684 (home-page "https://github.com/alex-gutev/agutil/")
12685 (synopsis "Collection of Common Lisp utilities")
12686 (description "A collection of Common Lisp utility functions and macros
12687 mostly not found in other utility packages.")
12688 (license license:expat))))
12689
12690 (define-public cl-agutil
12691 (sbcl-package->cl-source-package sbcl-agutil))
12692
12693 (define-public ecl-agutil
12694 (sbcl-package->ecl-package sbcl-agutil))
12695
12696 (define-public sbcl-custom-hash-table
12697 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12698 (package
12699 (name "sbcl-custom-hash-table")
12700 (version (git-version "0.3" "1" commit))
12701 (source
12702 (origin
12703 (method git-fetch)
12704 (uri (git-reference
12705 (url "https://github.com/metawilm/cl-custom-hash-table")
12706 (commit commit)))
12707 (file-name (git-file-name name version))
12708 (sha256
12709 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12710 (build-system asdf-build-system/sbcl)
12711 (arguments
12712 '(#:asd-files '("cl-custom-hash-table.asd")
12713 #:asd-systems '("cl-custom-hash-table")))
12714 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12715 (synopsis "Custom hash tables for Common Lisp")
12716 (description "This library allows creation of hash tables with arbitrary
12717 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12718 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12719 @code{EQUALP}), even in implementations that don't support this functionality
12720 directly.")
12721 (license license:expat))))
12722
12723 (define-public cl-custom-hash-table
12724 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12725
12726 (define-public ecl-custom-hash-table
12727 (sbcl-package->ecl-package sbcl-custom-hash-table))
12728
12729 (define-public sbcl-collectors
12730 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12731 (package
12732 (name "sbcl-collectors")
12733 (version (git-version "0.1" "1" commit))
12734 (source
12735 (origin
12736 (method git-fetch)
12737 (uri (git-reference
12738 (url "https://github.com/AccelerationNet/collectors")
12739 (commit commit)))
12740 (file-name (git-file-name name version))
12741 (sha256
12742 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12743 (build-system asdf-build-system/sbcl)
12744 (inputs
12745 `(("alexandria" ,sbcl-alexandria)
12746 ("closer-mop" ,sbcl-closer-mop)
12747 ("symbol-munger" ,sbcl-symbol-munger)))
12748 (native-inputs
12749 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12750 (home-page "https://github.com/AccelerationNet/collectors/")
12751 (synopsis "Common lisp library providing collector macros")
12752 (description "A small collection of common lisp macros to make
12753 collecting values easier.")
12754 (license license:bsd-3))))
12755
12756 (define-public cl-collectors
12757 (sbcl-package->cl-source-package sbcl-collectors))
12758
12759 (define-public ecl-collectors
12760 (sbcl-package->ecl-package sbcl-collectors))
12761
12762 (define-public sbcl-cl-environments
12763 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12764 (package
12765 (name "sbcl-cl-environments")
12766 (version (git-version "0.2.3" "1" commit))
12767 (source
12768 (origin
12769 (method git-fetch)
12770 (uri (git-reference
12771 (url "https://github.com/alex-gutev/cl-environments")
12772 (commit commit)))
12773 (file-name (git-file-name name version))
12774 (sha256
12775 (base32
12776 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12777 (build-system asdf-build-system/sbcl)
12778 (inputs
12779 `(("alexandria" ,sbcl-alexandria)
12780 ("anaphora" ,sbcl-anaphora)
12781 ("collectors" ,sbcl-collectors)
12782 ("optima" ,sbcl-optima)))
12783 (native-inputs
12784 `(("prove" ,sbcl-prove)))
12785 (home-page "https://github.com/alex-gutev/cl-environments")
12786 (synopsis "Implements the Common Lisp standard environment access API")
12787 (description "This library provides a uniform API, as specified in Common
12788 Lisp the Language 2, for accessing information about variable and function
12789 bindings from implementation-defined lexical environment objects. All major
12790 Common Lisp implementations are supported, even those which don't support the
12791 CLTL2 environment access API.")
12792 (license license:expat))))
12793
12794 (define-public cl-environments
12795 (sbcl-package->cl-source-package sbcl-cl-environments))
12796
12797 (define-public ecl-environments
12798 (sbcl-package->ecl-package sbcl-cl-environments))
12799
12800 (define-public sbcl-static-dispatch
12801 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12802 (revision "1"))
12803 (package
12804 (name "sbcl-static-dispatch")
12805 (version (git-version "0.3" revision commit))
12806 (source
12807 (origin
12808 (method git-fetch)
12809 (uri (git-reference
12810 (url "https://github.com/alex-gutev/static-dispatch")
12811 (commit commit)))
12812 (file-name (git-file-name "static-dispatch" version))
12813 (sha256
12814 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12815 (build-system asdf-build-system/sbcl)
12816 (native-inputs
12817 `(("prove" ,sbcl-prove)))
12818 (inputs
12819 `(("agutil" ,sbcl-agutil)
12820 ("alexandria" ,sbcl-alexandria)
12821 ("anaphora" ,sbcl-anaphora)
12822 ("arrows" ,sbcl-arrows)
12823 ("cl-environments" ,sbcl-cl-environments)
12824 ("closer-mop" ,sbcl-closer-mop)
12825 ("iterate" ,sbcl-iterate)
12826 ("trivia" ,sbcl-trivia)))
12827 (home-page "https://github.com/alex-gutev/static-dispatch")
12828 (synopsis "Static generic function dispatch for Common Lisp")
12829 (description "Static dispatch is a Common Lisp library, inspired by
12830 @code{inlined-generic-function}, which allows standard Common Lisp generic
12831 function dispatch to be performed statically (at compile time) rather than
12832 dynamically (runtime). This is similar to what is known as \"overloading\" in
12833 languages such as C++ and Java.
12834
12835 The purpose of static dispatch is to provide an optimization in cases where
12836 the usual dynamic dispatch is too slow, and the dynamic features of generic
12837 functions, such as adding/removing methods at runtime are not required. An
12838 example of such a case is a generic equality comparison function. Currently
12839 generic functions are considered far too slow to implement generic arithmetic
12840 and comparison operations when used heavily in numeric code.")
12841 (license license:expat))))
12842
12843 (define-public cl-static-dispatch
12844 (sbcl-package->cl-source-package sbcl-static-dispatch))
12845
12846 (define-public ecl-static-dispatch
12847 (sbcl-package->ecl-package sbcl-static-dispatch))
12848
12849 (define-public sbcl-generic-cl
12850 ;; Latest commit includes a necessary fix for our Guix build.
12851 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12852 (package
12853 (name "sbcl-generic-cl")
12854 (version (git-version "0.7.1" "1" commit))
12855 (source
12856 (origin
12857 (method git-fetch)
12858 (uri (git-reference
12859 (url "https://github.com/alex-gutev/generic-cl")
12860 (commit commit)))
12861 (file-name (git-file-name name version))
12862 (sha256
12863 (base32
12864 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12865 (build-system asdf-build-system/sbcl)
12866 (inputs
12867 `(("agutil" ,sbcl-agutil)
12868 ("alexandria" ,sbcl-alexandria)
12869 ("anaphora" ,sbcl-anaphora)
12870 ("arrows" ,sbcl-arrows)
12871 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12872 ("static-dispatch" ,sbcl-static-dispatch)
12873 ("trivia" ,sbcl-trivia)))
12874 (native-inputs
12875 `(("prove" ,sbcl-prove)))
12876 (arguments
12877 ;; Tests fail because SBCL head size is not high enough.
12878 ;; https://github.com/alex-gutev/generic-cl/issues/6
12879 `(#:tests? #f))
12880 (home-page "https://alex-gutev.github.io/generic-cl/")
12881 (synopsis "Generic function interface to standard Common Lisp functions")
12882 (description "@code{generic-cl} provides a generic function wrapper over
12883 various functions in the Common Lisp standard, such as equality predicates and
12884 sequence operations. The goal of this wrapper is to provide a standard
12885 interface to common operations, such as testing for the equality of two
12886 objects, which is extensible to user-defined types.")
12887 (license license:expat))))
12888
12889 (define-public cl-generic-cl
12890 (sbcl-package->cl-source-package sbcl-generic-cl))
12891
12892 (define-public ecl-generic-cl
12893 (sbcl-package->ecl-package sbcl-generic-cl))
12894
12895 (define-public sbcl-defpackage-plus
12896 (let ((revision "0")
12897 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12898 (package
12899 (name "sbcl-defpackage-plus")
12900 (version (git-version "1.0" revision commit))
12901 (source
12902 (origin
12903 (method git-fetch)
12904 (uri (git-reference
12905 (url "https://github.com/rpav/defpackage-plus")
12906 (commit commit)))
12907 (file-name (git-file-name name version))
12908 (sha256
12909 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12910 (build-system asdf-build-system/sbcl)
12911 (inputs
12912 `(("alexandria" ,sbcl-alexandria)))
12913 (home-page "https://github.com/rpav/defpackage-plus")
12914 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12915 (description
12916 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12917 predictable cross-platform behavior and some utilities useful for versioning.")
12918 (license license:bsd-2))))
12919
12920 (define-public cl-defpackage-plus
12921 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12922
12923 (define-public ecl-defpackage-plus
12924 (sbcl-package->ecl-package sbcl-defpackage-plus))
12925
12926 (define-public sbcl-deploy
12927 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12928 (revision "2"))
12929 (package
12930 (name "sbcl-deploy")
12931 (version (git-version "1.0.0" revision commit))
12932 (source
12933 (origin
12934 (method git-fetch)
12935 (uri (git-reference
12936 (url "https://github.com/Shinmera/deploy")
12937 (commit commit)))
12938 (file-name (git-file-name "deploy" version))
12939 (sha256
12940 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12941 (build-system asdf-build-system/sbcl)
12942 (arguments
12943 `(#:test-asd-file "deploy-test.asd"
12944 #:asd-files '("deploy.asd"
12945 "deploy-test.asd")))
12946 (native-inputs
12947 `(("cl-mpg123" ,sbcl-cl-mpg123)
12948 ("cl-out123" ,sbcl-cl-out123)))
12949 (inputs
12950 `(("cffi" ,sbcl-cffi)
12951 ("documentation-utils" ,sbcl-documentation-utils)
12952 ("trivial-features" ,sbcl-trivial-features)))
12953 (home-page "https://shinmera.github.io/deploy/")
12954 (synopsis "Deployment tools for standalone Common Lisp application")
12955 (description
12956 "This is a system to help you easily and quickly deploy standalone
12957 common lisp applications as binaries. Specifically it is geared towards
12958 applications with foreign library dependencies that run some kind of GUI.")
12959 (license license:artistic2.0))))
12960
12961 (define-public cl-deploy
12962 (sbcl-package->cl-source-package sbcl-deploy))
12963
12964 (define-public ecl-deploy
12965 (sbcl-package->ecl-package sbcl-deploy))
12966
12967 (define-public sbcl-deeds
12968 ;; taged branch is outdated
12969 (let ((revision "1")
12970 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12971 (package
12972 (name "sbcl-deeds")
12973 (version (git-version "1.1.1" revision commit))
12974 (source
12975 (origin
12976 (method git-fetch)
12977 (uri (git-reference
12978 (url "https://github.com/Shinmera/deeds")
12979 (commit commit)))
12980 (file-name (git-file-name name version))
12981 (sha256
12982 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12983 (build-system asdf-build-system/sbcl)
12984 (inputs
12985 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12986 ("closer-mop" ,sbcl-closer-mop)
12987 ("form-fiddle" ,sbcl-form-fiddle)
12988 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12989 (home-page "https://github.com/Shinmera/deeds")
12990 (synopsis "Extensible Event Delivery System")
12991 (description
12992 "@code{deeds} allows for efficient event delivery to multiple handlers
12993 with a complex event filtering system.")
12994 (license license:zlib))))
12995
12996 (define-public cl-deeds
12997 (sbcl-package->cl-source-package sbcl-deeds))
12998
12999 (define-public ecl-deeds
13000 (sbcl-package->ecl-package sbcl-deeds))
13001
13002 (define-public sbcl-make-hash
13003 ;; no tagged branch
13004 (let ((revision "1")
13005 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13006 (package
13007 (name "sbcl-make-hash")
13008 (version (git-version "1.0.2" revision commit))
13009 (source
13010 (origin
13011 (method git-fetch)
13012 (uri (git-reference
13013 (url "https://github.com/genovese/make-hash")
13014 (commit commit)))
13015 (file-name (git-file-name name version))
13016 (sha256
13017 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13018 (build-system asdf-build-system/sbcl)
13019 (home-page "https://github.com/genovese/make-hash")
13020 (synopsis "Common Lisp package for flexible hash table creation")
13021 (description
13022 "This is a Common Lisp package for hash table creation with flexible,
13023 extensible initializers.")
13024 (license license:bsd-3))))
13025
13026 (define-public cl-make-hash
13027 (sbcl-package->cl-source-package sbcl-make-hash))
13028
13029 (define-public ecl-make-hash
13030 (sbcl-package->ecl-package sbcl-make-hash))
13031
13032 (define-public sbcl-claw-support
13033 (package
13034 (name "sbcl-claw-support")
13035 (version "1.0.0")
13036 (source
13037 (origin
13038 (method git-fetch)
13039 (uri (git-reference
13040 (url "https://github.com/borodust/claw-support")
13041 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13042 (file-name (git-file-name name version))
13043 (sha256
13044 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13045 (build-system asdf-build-system/sbcl)
13046 (home-page "https://github.com/borodust/claw-support")
13047 (synopsis "Support routines for claw")
13048 (description
13049 "This package provides support routines for the @code{claw} Common Lisp
13050 package.")
13051 (license license:expat)))
13052
13053 (define-public cl-claw-support
13054 (sbcl-package->cl-source-package sbcl-claw-support))
13055
13056 (define-public ecl-claw-support
13057 (sbcl-package->ecl-package sbcl-claw-support))
13058
13059 (define-public sbcl-claw
13060 (let ((revision "0")
13061 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13062 (package
13063 (name "sbcl-claw")
13064 (version (git-version "1.0" revision commit))
13065 (source
13066 (origin
13067 (method git-fetch)
13068 (uri (git-reference
13069 (url "https://github.com/borodust/claw")
13070 (commit commit)))
13071 (file-name (git-file-name "claw" version))
13072 (sha256
13073 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13074 (build-system asdf-build-system/sbcl)
13075 (inputs
13076 `(("alexandria" ,sbcl-alexandria)
13077 ("cffi" ,sbcl-cffi)
13078 ("cl-json" ,sbcl-cl-json)
13079 ("cl-ppcre" ,sbcl-cl-ppcre)
13080 ("claw-support" ,sbcl-claw-support)
13081 ("local-time" ,sbcl-local-time)
13082 ("trivial-features" ,sbcl-trivial-features)))
13083 (home-page "https://github.com/borodust/claw")
13084 (synopsis "Autowrapper for Common Lisp")
13085 (description
13086 "This is a Common Lisp autowrapping facility for quickly creating clean
13087 and lean bindings to C libraries.")
13088 (license license:bsd-2))))
13089
13090 (define-public cl-claw
13091 (sbcl-package->cl-source-package sbcl-claw))
13092
13093 (define-public ecl-claw
13094 (sbcl-package->ecl-package sbcl-claw))
13095
13096 (define-public sbcl-claw-utils
13097 (let ((revision "0")
13098 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13099 (package
13100 (name "sbcl-claw-utils")
13101 ;; version is not specified
13102 (version (git-version "0.0.0" revision commit))
13103 (source
13104 (origin
13105 (method git-fetch)
13106 (uri (git-reference
13107 (url "https://github.com/borodust/claw-utils")
13108 (commit commit)))
13109 (file-name (git-file-name "claw-utils" version))
13110 (sha256
13111 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13112 (build-system asdf-build-system/sbcl)
13113 (inputs
13114 `(("alexandria" ,sbcl-alexandria)
13115 ("cffi" ,sbcl-cffi)
13116 ("claw" ,sbcl-claw)))
13117 (home-page "https://github.com/borodust/claw-utils")
13118 (synopsis "Utilities for easier autowrapping")
13119 (description
13120 "This Common Lisp library contains various handy utilties to help
13121 autowrapping with @code{claw}.")
13122 (license license:expat))))
13123
13124 (define-public cl-claw-utils
13125 (sbcl-package->cl-source-package sbcl-claw-utils))
13126
13127 (define-public ecl-claw-utils
13128 (sbcl-package->ecl-package sbcl-claw-utils))
13129
13130 (define-public sbcl-array-operations
13131 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13132 (revision "0"))
13133 (package
13134 (name "sbcl-array-operations")
13135 (version (git-version "0.0.0" revision commit))
13136 (source
13137 (origin
13138 (method git-fetch)
13139 (uri (git-reference
13140 (url "https://github.com/bendudson/array-operations")
13141 (commit commit)))
13142 (file-name (git-file-name "array-operations" version))
13143 (sha256
13144 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13145 (build-system asdf-build-system/sbcl)
13146 (native-inputs
13147 `(("alexandria" ,sbcl-alexandria)
13148 ("clunit2" ,sbcl-clunit2)))
13149 (inputs
13150 `(("let-plus" ,sbcl-let-plus)))
13151 (synopsis "Simple array operations library for Common Lisp")
13152 (description
13153 "This library is a collection of functions and macros for manipulating
13154 Common Lisp arrays and performing numerical calculations with them.")
13155 (home-page "https://github.com/bendudson/array-operations")
13156 (license license:expat))))
13157
13158 (define-public cl-array-operations
13159 (sbcl-package->cl-source-package sbcl-array-operations))
13160
13161 (define-public ecl-array-operations
13162 (sbcl-package->ecl-package sbcl-array-operations))
13163
13164 (define-public sbcl-clml
13165 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13166 (revision "0"))
13167 (package
13168 (name "sbcl-clml")
13169 (version (git-version "0.0.0" revision commit))
13170 (source
13171 (origin
13172 (method git-fetch)
13173 (uri (git-reference
13174 (url "https://github.com/mmaul/clml")
13175 (commit commit)))
13176 (file-name (git-file-name "clml" version))
13177 (sha256
13178 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13179 ;; TODO: Remove this when the patch has been merged upstream.
13180 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13181 (build-system asdf-build-system/sbcl)
13182 (inputs
13183 `(("alexandia" ,sbcl-alexandria)
13184 ("array-operations" ,sbcl-array-operations)
13185 ("cl-fad" ,sbcl-cl-fad)
13186 ("cl-ppcre" ,sbcl-cl-ppcre)
13187 ("drakma" ,sbcl-drakma)
13188 ("introspect-environment" ,sbcl-introspect-environment)
13189 ("iterate" ,sbcl-iterate)
13190 ("lparallel" ,sbcl-lparallel)
13191 ("parse-number" ,sbcl-parse-number)
13192 ("split-sequence" ,sbcl-split-sequence)
13193 ("trivial-garbage" ,sbcl-trivial-garbage)))
13194 (synopsis "Common Lisp machine learning library")
13195 (description
13196 "CLML (Common Lisp Machine Learning) is a high performance and large
13197 scale statistical machine learning package")
13198 (home-page "https://mmaul.github.io/clml/")
13199 (license license:llgpl))))
13200
13201 (define-public cl-clml
13202 (sbcl-package->cl-source-package sbcl-clml))
13203
13204 (define-public sbcl-utm-ups
13205 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13206 (revision "0"))
13207 (package
13208 (name "sbcl-utm-ups")
13209 (version (git-version "1.1" revision commit))
13210 (source
13211 (origin
13212 (method git-fetch)
13213 (uri (git-reference
13214 (url "https://github.com/glv2/utm-ups")
13215 (commit commit)))
13216 (file-name (git-file-name "utm-ups" version))
13217 (sha256
13218 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13219 (build-system asdf-build-system/sbcl)
13220 (native-inputs
13221 `(("fiveam" ,sbcl-fiveam)))
13222 (synopsis
13223 "Convert coordinates between latitude/longitude and UTM or UPS")
13224 (description
13225 "This a Common Lisp library to convert geographic coordinates between
13226 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13227 Polar Stereographic).")
13228 (home-page "https://github.com/glv2/utm-ups")
13229 (license license:gpl3+))))
13230
13231 (define-public cl-utm-ups
13232 (sbcl-package->cl-source-package sbcl-utm-ups))
13233
13234 (define-public ecl-utm-ups
13235 (sbcl-package->ecl-package sbcl-utm-ups))
13236
13237 (define-public sbcl-mgrs
13238 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13239 (revision "0"))
13240 (package
13241 (name "sbcl-mgrs")
13242 (version (git-version "1.0" revision commit))
13243 (source
13244 (origin
13245 (method git-fetch)
13246 (uri (git-reference
13247 (url "https://github.com/glv2/mgrs")
13248 (commit commit)))
13249 (file-name (git-file-name "mgrs" version))
13250 (sha256
13251 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13252 (build-system asdf-build-system/sbcl)
13253 (native-inputs
13254 `(("fiveam" ,sbcl-fiveam)))
13255 (inputs
13256 `(("utm-ups" ,sbcl-utm-ups)))
13257 (synopsis
13258 "Convert coordinates between latitude/longitude and MGRS")
13259 (description
13260 "This a Common Lisp library to convert geographic coordinates between
13261 latitude/longitude and MGRS.")
13262 (home-page "https://github.com/glv2/mgrs")
13263 (license license:gpl3+))))
13264
13265 (define-public cl-mgrs
13266 (sbcl-package->cl-source-package sbcl-mgrs))
13267
13268 (define-public ecl-mgrs
13269 (sbcl-package->ecl-package sbcl-mgrs))
13270
13271 (define-public sbcl-maidenhead
13272 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13273 (revision "0"))
13274 (package
13275 (name "sbcl-maidenhead")
13276 (version (git-version "1.0" revision commit))
13277 (source
13278 (origin
13279 (method git-fetch)
13280 (uri (git-reference
13281 (url "https://github.com/glv2/maidenhead")
13282 (commit commit)))
13283 (file-name (git-file-name "maidenhead" version))
13284 (sha256
13285 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13286 (build-system asdf-build-system/sbcl)
13287 (native-inputs
13288 `(("fiveam" ,sbcl-fiveam)))
13289 (synopsis
13290 "Convert coordinates between latitude/longitude and Maidenhead")
13291 (description
13292 "This a Common Lisp library to convert geographic coordinates between
13293 latitude/longitude and Maidenhead locator system.")
13294 (home-page "https://github.com/glv2/maidenhead")
13295 (license license:gpl3+))))
13296
13297 (define-public cl-maidenhead
13298 (sbcl-package->cl-source-package sbcl-maidenhead))
13299
13300 (define-public ecl-maidenhead
13301 (sbcl-package->ecl-package sbcl-maidenhead))
13302
13303 (define-public sbcl-olc
13304 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13305 (revision "0"))
13306 (package
13307 (name "sbcl-olc")
13308 (version (git-version "1.0" revision commit))
13309 (source
13310 (origin
13311 (method git-fetch)
13312 (uri (git-reference
13313 (url "https://github.com/glv2/olc")
13314 (commit commit)))
13315 (file-name (git-file-name "olc" version))
13316 (sha256
13317 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13318 (build-system asdf-build-system/sbcl)
13319 (native-inputs
13320 `(("fiveam" ,sbcl-fiveam)))
13321 (synopsis
13322 "Convert coordinates between latitude/longitude and Open Location Code")
13323 (description
13324 "This a Common Lisp library to convert geographic coordinates between
13325 latitude/longitude and Open Location Code.")
13326 (home-page "https://github.com/glv2/olc")
13327 (license license:gpl3+))))
13328
13329 (define-public cl-olc
13330 (sbcl-package->cl-source-package sbcl-olc))
13331
13332 (define-public ecl-olc
13333 (sbcl-package->ecl-package sbcl-olc))
13334
13335 (define-public sbcl-regex
13336 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13337 (package
13338 (name "sbcl-regex")
13339 (version (git-version "1" "1" commit))
13340 (source
13341 (origin
13342 (method git-fetch)
13343 (uri (git-reference
13344 (url "https://github.com/michaelw/regex/")
13345 (commit commit)))
13346 (file-name (git-file-name name version))
13347 (sha256
13348 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13349 (build-system asdf-build-system/sbcl)
13350 (home-page "https://github.com/michaelw/regex/")
13351 (synopsis "Regular expression engine for Common Lisp")
13352 (description
13353 "This Common Lisp package provides a regular expression engine.")
13354 (license license:bsd-2))))
13355
13356 (define-public cl-regex
13357 (sbcl-package->cl-source-package sbcl-regex))
13358
13359 (define-public ecl-regex
13360 (sbcl-package->ecl-package sbcl-regex))
13361
13362 (define-public sbcl-clawk
13363 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13364 (package
13365 (name "sbcl-clawk")
13366 (version (git-version "4" "1" commit))
13367 (source
13368 (origin
13369 (method git-fetch)
13370 (uri (git-reference
13371 (url "https://github.com/sharplispers/clawk")
13372 (commit commit)))
13373 (file-name (git-file-name name version))
13374 (sha256
13375 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13376 (build-system asdf-build-system/sbcl)
13377 (inputs
13378 `(("sbcl-regex" ,sbcl-regex)))
13379 (home-page "https://github.com/sharplispers/clawk")
13380 (synopsis "Common Lisp AWK")
13381 (description
13382 "CLAWK is an AWK implementation embedded into Common Lisp.")
13383 (license license:bsd-2))))
13384
13385 (define-public cl-clawk
13386 (sbcl-package->cl-source-package sbcl-clawk))
13387
13388 (define-public ecl-clawk
13389 (sbcl-package->ecl-package sbcl-clawk))
13390
13391 (define-public sbcl-check-it
13392 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13393 (package
13394 (name "sbcl-check-it")
13395 (version (git-version "0.1.0" "1" commit))
13396 (source
13397 (origin
13398 (method git-fetch)
13399 (uri (git-reference
13400 (url "https://github.com/DalekBaldwin/check-it/")
13401 (commit commit)))
13402 (file-name (git-file-name name version))
13403 (sha256
13404 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13405 (build-system asdf-build-system/sbcl)
13406 (inputs
13407 `(("alexandria" ,sbcl-alexandria)
13408 ("closer-mop" ,sbcl-closer-mop)
13409 ("optima" ,sbcl-optima)))
13410 (native-inputs
13411 `(("stefil" ,sbcl-stefil)))
13412 (home-page "https://github.com/arclanguage/Clamp")
13413 (synopsis "Randomized specification-based testing for Common Lisp")
13414 (description
13415 "This is a randomized property-based testing library for Common Lisp.
13416 Rather than being a full-fledged general test framework in its own right, it's
13417 designed to embed randomized tests in whatever framework you like.")
13418 (license license:llgpl))))
13419
13420 (define-public cl-check-it
13421 (sbcl-package->cl-source-package sbcl-check-it))
13422
13423 (define-public ecl-check-it
13424 (sbcl-package->ecl-package sbcl-check-it))
13425
13426 (define-public sbcl-clamp
13427 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13428 (package
13429 (name "sbcl-clamp")
13430 (version (git-version "0.3" "1" commit))
13431 (source
13432 (origin
13433 (method git-fetch)
13434 (uri (git-reference
13435 (url "https://github.com/arclanguage/Clamp")
13436 (commit commit)))
13437 (file-name (git-file-name name version))
13438 (sha256
13439 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13440 (build-system asdf-build-system/sbcl)
13441 (inputs
13442 `(("iterate" ,sbcl-iterate)
13443 ("cl-syntax" ,sbcl-cl-syntax)))
13444 (native-inputs
13445 `(("cl-unit" ,sbcl-clunit)
13446 ("check-it" ,sbcl-check-it)))
13447 (arguments
13448 `(#:phases
13449 (modify-phases %standard-phases
13450 (add-after 'unpack 'fix-build
13451 (lambda _
13452 (substitute* "clamp.asd"
13453 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13454 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13455 #t)))))
13456 (home-page "https://github.com/arclanguage/Clamp")
13457 (synopsis "Common Lisp with Arc macros and procedures")
13458 (description
13459 "Clamp is an attempt to bring the powerful, but verbose, language of
13460 Common Lisp up to the terseness of Arc.
13461
13462 There are two parts to Clamp. There is the core of Clamp, which implements
13463 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13464 other part is the \"experimental\" part. It contains features of Arc that are
13465 not so easy to copy (ssyntax, argument destructuring, etc.).")
13466 (license license:artistic2.0))))
13467
13468 (define-public cl-clamp
13469 (sbcl-package->cl-source-package sbcl-clamp))
13470
13471 (define-public ecl-clamp
13472 (sbcl-package->ecl-package sbcl-clamp))
13473
13474 (define-public sbcl-trivial-shell
13475 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13476 (package
13477 (name "sbcl-trivial-shell")
13478 (version (git-version "0.2.0" "1" commit))
13479 (source
13480 (origin
13481 (method git-fetch)
13482 (uri (git-reference
13483 (url "https://github.com/gwkkwg/trivial-shell")
13484 (commit commit)))
13485 (file-name (git-file-name name version))
13486 (sha256
13487 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13488 (build-system asdf-build-system/sbcl)
13489 (native-inputs
13490 `(("lift" ,sbcl-lift)))
13491 (home-page "http://common-lisp.net/project/trivial-shell/")
13492 (synopsis "Common Lisp access to the shell")
13493 (description
13494 "A simple Common-Lisp interface to the underlying operating system.
13495 It's independent of the implementation and operating system.")
13496 (license license:expat))))
13497
13498 (define-public cl-trivial-shell
13499 (sbcl-package->cl-source-package sbcl-trivial-shell))
13500
13501 (define-public ecl-trivial-shell
13502 (sbcl-package->ecl-package sbcl-trivial-shell))
13503
13504 (define-public sbcl-clesh
13505 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13506 (package
13507 (name "sbcl-clesh")
13508 (version (git-version "0.0.0" "1" commit))
13509 (source
13510 (origin
13511 (method git-fetch)
13512 (uri (git-reference
13513 (url "https://github.com/Neronus/Clesh")
13514 (commit commit)))
13515 (file-name (git-file-name name version))
13516 (sha256
13517 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13518 (build-system asdf-build-system/sbcl)
13519 (inputs
13520 `(("trivial-shell" ,sbcl-trivial-shell)
13521 ("named-readtables" ,sbcl-named-readtables)))
13522 (home-page "https://github.com/Neronus/Clesh")
13523 (synopsis "Embed shell code in Common Lisp")
13524 (description
13525 "This is a very short and simple program, written in Common Lisp, that
13526 extends Common Lisp to embed shell code in a manner similar to Perl's
13527 backtick. It has been forked from SHELISP.")
13528 (license license:bsd-2))))
13529
13530 (define-public cl-clesh
13531 (sbcl-package->cl-source-package sbcl-clesh))
13532
13533 (define-public ecl-clesh
13534 (sbcl-package->ecl-package sbcl-clesh))
13535
13536 (define-public sbcl-trivial-channels
13537 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13538 (revision "1"))
13539 (package
13540 (name "sbcl-trivial-channels")
13541 (version (git-version "1.0" revision commit))
13542 (source
13543 (origin
13544 (method git-fetch)
13545 (uri (git-reference
13546 (url "https://github.com/rpav/trivial-channels")
13547 (commit commit)))
13548 (file-name (git-file-name "trivial-channels" version))
13549 (sha256
13550 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13551 (build-system asdf-build-system/sbcl)
13552 (inputs
13553 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13554 ("trivial-timeout" ,sbcl-trivial-timeout)))
13555 (home-page "https://github.com/rpav/trivial-channels")
13556 (synopsis "Common Lisp simple thread-safe channels with timeout")
13557 (description
13558 "It's very basic implementation of channels and queue for Common Lisp.")
13559 (license license:bsd-2))))
13560
13561 (define-public ecl-trivial-channels
13562 (sbcl-package->ecl-package sbcl-trivial-channels))
13563
13564 (define-public cl-trivial-channels
13565 (sbcl-package->cl-source-package sbcl-trivial-channels))
13566
13567 (define-public sbcl-trivial-download
13568 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13569 (package
13570 (name "sbcl-trivial-download")
13571 (version (git-version "0.3" "1" commit))
13572 (source
13573 (origin
13574 (method git-fetch)
13575 (uri (git-reference
13576 (url "https://github.com/eudoxia0/trivial-download/")
13577 (commit commit)))
13578 (file-name (git-file-name name version))
13579 (sha256
13580 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13581 (build-system asdf-build-system/sbcl)
13582 (inputs
13583 `(("drakma" ,sbcl-drakma)))
13584 (home-page "https://github.com/eudoxia0/trivial-download/")
13585 (synopsis "Download files from Common Lisp")
13586 (description
13587 "@code{trivial-download} allows you to download files from the Internet
13588 from Common Lisp. It provides a progress bar.")
13589 (license license:bsd-2))))
13590
13591 (define-public cl-trivial-download
13592 (sbcl-package->cl-source-package sbcl-trivial-download))
13593
13594 (define-public ecl-trivial-download
13595 (sbcl-package->ecl-package sbcl-trivial-download))
13596
13597 (define-public sbcl-gtwiwtg
13598 (package
13599 (name "sbcl-gtwiwtg")
13600 (version "0.1.1")
13601 (source
13602 (origin
13603 (method git-fetch)
13604 (uri (git-reference
13605 (url "https://github.com/cbeo/gtwiwtg/")
13606 (commit version)))
13607 (file-name (git-file-name name version))
13608 (sha256
13609 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13610 (build-system asdf-build-system/sbcl)
13611 (native-inputs
13612 `(("osicat" ,sbcl-osicat)
13613 ("prove" ,sbcl-prove)))
13614 (home-page "https://github.com/cbeo/gtwiwtg/")
13615 (synopsis "Naive generators for Common Lisp")
13616 (description
13617 "The GTWIWTG library (Generators The Way I Want Them Generated --
13618 technically not generators, but iterators) is meant to be small, explorable,
13619 and understandable.")
13620 (license license:gpl3)))
13621
13622 (define-public cl-gtwiwtg
13623 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13624
13625 (define-public ecl-gtwiwtg
13626 (sbcl-package->ecl-package sbcl-gtwiwtg))
13627
13628 (define-public sbcl-cl-progress-bar
13629 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13630 (package
13631 (name "sbcl-cl-progress-bar")
13632 (version (git-version "0.0.0" "1" commit))
13633 (source
13634 (origin
13635 (method git-fetch)
13636 (uri (git-reference
13637 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13638 (commit commit)))
13639 (file-name (git-file-name name version))
13640 (sha256
13641 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13642 (build-system asdf-build-system/sbcl)
13643 (inputs
13644 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13645 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13646 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13647 (synopsis "Progress bars in Common Lisp")
13648 (description
13649 "This library provides almost the same code as used inside Quicklisp
13650 for drawning progress bars")
13651 (license license:expat))))
13652
13653 (define-public cl-progress-bar
13654 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13655
13656 (define-public ecl-cl-progress-bar
13657 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13658
13659 (define-public sbcl-repl-utilities
13660 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13661 (package
13662 (name "sbcl-repl-utilities")
13663 (version (git-version "0.0.0" "1" commit))
13664 (source
13665 (origin
13666 (method git-fetch)
13667 (uri (git-reference
13668 (url "https://github.com/m-n/repl-utilities/")
13669 (commit commit)))
13670 (file-name (git-file-name name version))
13671 (sha256
13672 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13673 (build-system asdf-build-system/sbcl)
13674 (home-page "https://github.com/m-n/repl-utilities")
13675 (synopsis "Ease common tasks at the Common Lisp REPL")
13676 (description
13677 "@code{repl-utilities} is a set of utilities which ease life at the
13678 REPL. It includes three sorts of features: introspective procedures,
13679 miscellaneous utility functions, and, pulling them together, methods to
13680 conveniently keep these symbols and optionally additional symbols available in
13681 whichever package you switch to.")
13682 (license license:bsd-2))))
13683
13684 (define-public cl-repl-utilities
13685 (sbcl-package->cl-source-package sbcl-repl-utilities))
13686
13687 (define-public ecl-repl-utilities
13688 (sbcl-package->ecl-package sbcl-repl-utilities))
13689
13690 (define-public sbcl-supertrace
13691 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13692 (package
13693 (name "sbcl-supertrace")
13694 (version (git-version "0.1.0" "1" commit))
13695 (source
13696 (origin
13697 (method git-fetch)
13698 (uri (git-reference
13699 (url "https://github.com/fukamachi/supertrace")
13700 (commit commit)))
13701 (file-name (git-file-name name version))
13702 (sha256
13703 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13704 (build-system asdf-build-system/sbcl)
13705 (native-inputs
13706 `(("cffi-grovel" ,sbcl-cffi)
13707 ("rove" ,sbcl-rove)
13708 ("cl-ppcre" ,sbcl-cl-ppcre)
13709 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13710 (inputs
13711 `(("cffi" ,sbcl-cffi)))
13712 (home-page "https://github.com/fukamachi/supertrace")
13713 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13714 (description
13715 "Supertrace provides a superior Common Lisp @code{trace} functionality
13716 for debugging and profiling real world applications.")
13717 (license license:bsd-2))))
13718
13719 (define-public cl-supertrace
13720 (sbcl-package->cl-source-package sbcl-supertrace))
13721
13722 (define-public ecl-supertrace
13723 (sbcl-package->ecl-package sbcl-supertrace))
13724
13725 (define-public sbcl-trivial-benchmark
13726 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13727 (package
13728 (name "sbcl-trivial-benchmark")
13729 (version (git-version "2.0.0" "1" commit))
13730 (source
13731 (origin
13732 (method git-fetch)
13733 (uri (git-reference
13734 (url "https://github.com/Shinmera/trivial-benchmark/")
13735 (commit commit)))
13736 (file-name (git-file-name name version))
13737 (sha256
13738 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13739 (build-system asdf-build-system/sbcl)
13740 (inputs
13741 `(("alexandria" ,sbcl-alexandria)))
13742 (home-page "http://shinmera.github.io/trivial-benchmark/")
13743 (synopsis "Easy to use benchmarking system for Common Lisp")
13744 (description
13745 "Trivial-Benchmark runs a block of code many times and outputs some
13746 statistical data for it. On SBCL this includes the data from @code{time}, for
13747 all other implementations just the @code{real-time} and @code{run-time} data.
13748 However, you can extend the system by adding your own @code{metrics} to it, or
13749 even by adding additional statistical @code{compute}ations. ")
13750 (license license:zlib))))
13751
13752 (define-public cl-trivial-benchmark
13753 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13754
13755 (define-public ecl-trivial-benchmark
13756 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13757
13758 (define-public sbcl-glyphs
13759 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13760 (package
13761 (name "sbcl-glyphs")
13762 (version (git-version "0.0.0" "1" commit))
13763 (source
13764 (origin
13765 (method git-fetch)
13766 (uri (git-reference
13767 (url "https://github.com/ahungry/glyphs/")
13768 (commit commit)))
13769 (file-name (git-file-name name version))
13770 (sha256
13771 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13772 (build-system asdf-build-system/sbcl)
13773 (inputs
13774 `(("cl-ppcre" ,sbcl-cl-ppcre)
13775 ("parenscript" ,sbcl-parenscript)
13776 ("named-readtables" ,sbcl-named-readtables)))
13777 (home-page "https://github.com/ahungry/glyphs/")
13778 (synopsis "Reduce Common Lisp verbosity")
13779 (description
13780 "This library is a little experiment in reducing verbosity in Common
13781 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13782 (license license:gpl3))))
13783
13784 (define-public cl-glyphs
13785 (sbcl-package->cl-source-package sbcl-glyphs))
13786
13787 (define-public ecl-glyphs
13788 (sbcl-package->ecl-package sbcl-glyphs))
13789
13790 (define-public sbcl-zs3
13791 (package
13792 (name "sbcl-zs3")
13793 (version "1.3.3")
13794 (source
13795 (origin
13796 (method git-fetch)
13797 (uri
13798 (git-reference
13799 (url "https://github.com/xach/zs3")
13800 (commit (string-append "release-" version))))
13801 (file-name (git-file-name "zs3" version))
13802 (sha256
13803 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13804 (build-system asdf-build-system/sbcl)
13805 (inputs
13806 `(("drakma" ,sbcl-drakma)
13807 ("alexandria" ,sbcl-alexandria)
13808 ("cxml" ,sbcl-cxml)
13809 ("ironclad" ,sbcl-ironclad)
13810 ("puri" ,sbcl-puri)
13811 ("cl-base64" ,sbcl-cl-base64)))
13812 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13813 (description "This is ZS3, a library for working with Amazon's Simple Storage
13814 Service (S3) and CloudFront service from Common Lisp.")
13815 (home-page "https://github.com/xach/zs3")
13816 (license license:bsd-2)))
13817
13818 (define-public cl-zs3
13819 (sbcl-package->cl-source-package sbcl-zs3))
13820
13821 (define-public ecl-zs3
13822 (sbcl-package->ecl-package sbcl-zs3))
13823
13824 (define-public sbcl-simple-neural-network
13825 (package
13826 (name "sbcl-simple-neural-network")
13827 (version "3.1")
13828 (source
13829 (origin
13830 (method git-fetch)
13831 (uri (git-reference
13832 (url "https://github.com/glv2/simple-neural-network")
13833 (commit (string-append "v" version))))
13834 (file-name (git-file-name "simple-neural-network" version))
13835 (sha256
13836 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13837 (build-system asdf-build-system/sbcl)
13838 (native-inputs
13839 `(("chipz" ,sbcl-chipz)
13840 ("fiveam" ,sbcl-fiveam)))
13841 (inputs
13842 `(("cl-store" ,sbcl-cl-store)
13843 ("lparallel" ,sbcl-lparallel)))
13844 (arguments
13845 `(#:phases
13846 (modify-phases %standard-phases
13847 (add-after 'check 'remove-test-data
13848 (lambda* (#:key outputs #:allow-other-keys)
13849 (let ((out (assoc-ref outputs "out")))
13850 (for-each delete-file (find-files out "\\.gz$"))))))))
13851 (synopsis "Simple neural network in Common Lisp")
13852 (description
13853 "@code{simple-neural-network} is a Common Lisp library for creating,
13854 training and using basic neural networks. The networks created by this
13855 library are feedforward neural networks trained using backpropagation.")
13856 (home-page "https://github.com/glv2/simple-neural-network")
13857 (license license:gpl3+)))
13858
13859 (define-public cl-simple-neural-network
13860 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13861
13862 (define-public ecl-simple-neural-network
13863 (sbcl-package->ecl-package sbcl-simple-neural-network))
13864
13865 (define-public sbcl-zstd
13866 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13867 (revision "1"))
13868 (package
13869 (name "sbcl-zstd")
13870 (version (git-version "1.0" revision commit))
13871 (source
13872 (origin
13873 (method git-fetch)
13874 (uri (git-reference
13875 (url "https://github.com/glv2/cl-zstd")
13876 (commit commit)))
13877 (file-name (git-file-name "cl-zstd" version))
13878 (sha256
13879 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13880 (build-system asdf-build-system/sbcl)
13881 (native-inputs
13882 `(("fiveam" ,sbcl-fiveam)))
13883 (inputs
13884 `(("cffi" ,sbcl-cffi)
13885 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13886 ("zstd-lib" ,zstd "lib")))
13887 (arguments
13888 '(#:phases
13889 (modify-phases %standard-phases
13890 (add-after 'unpack 'fix-paths
13891 (lambda* (#:key inputs #:allow-other-keys)
13892 (substitute* "src/libzstd.lisp"
13893 (("libzstd\\.so")
13894 (string-append (assoc-ref inputs "zstd-lib")
13895 "/lib/libzstd.so")))
13896 #t)))))
13897 (synopsis "Common Lisp library for Zstandard (de)compression")
13898 (description
13899 "This Common Lisp library provides functions for Zstandard
13900 compression/decompression using bindings to the libzstd C library.")
13901 (home-page "https://github.com/glv2/cl-zstd")
13902 (license license:gpl3+))))
13903
13904 (define-public cl-zstd
13905 (sbcl-package->cl-source-package sbcl-zstd))
13906
13907 (define-public ecl-zstd
13908 (sbcl-package->ecl-package sbcl-zstd))
13909
13910 (define-public sbcl-agnostic-lizard
13911 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13912 (revision "1"))
13913 (package
13914 (name "sbcl-agnostic-lizard")
13915 (version (git-version "0.0.0" revision commit))
13916 (source
13917 (origin
13918 (method git-fetch)
13919 (uri (git-reference
13920 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13921 (commit commit)))
13922 (file-name (git-file-name name version))
13923 (sha256
13924 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13925 (build-system asdf-build-system/sbcl)
13926 (synopsis "Almost correct portable code walker for Common Lisp")
13927 (description
13928 "Agnostic Lizard is a portable implementation of a code walker and in
13929 particular of the macroexpand-all function (and macro) that makes a best
13930 effort to be correct while not expecting much beyond what the Common Lisp
13931 standard requires.
13932
13933 It aims to be implementation-agnostic and to climb the syntax trees.")
13934 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13935 (license license:gpl3+))))
13936
13937 (define-public cl-agnostic-lizard
13938 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13939
13940 (define-public ecl-agnostic-lizard
13941 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13942
13943 (define-public sbcl-dynamic-classes
13944 (package
13945 (name "sbcl-dynamic-classes")
13946 (version "1.0.2")
13947 (source
13948 (origin
13949 (method git-fetch)
13950 (uri (git-reference
13951 (url "https://github.com/gwkkwg/dynamic-classes")
13952 (commit (string-append "version-" version))))
13953 (file-name (git-file-name "dynamic-classes" version))
13954 (sha256
13955 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13956 (build-system asdf-build-system/sbcl)
13957 (inputs
13958 `(("metatilities-base" ,sbcl-metatilities-base)))
13959 (arguments
13960 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13961 ;; test suites. lift-standard.config contains referances to deprecated
13962 ;; functionality.
13963 `(#:tests? #f))
13964 (home-page "https://common-lisp.net/project/dynamic-classes/")
13965 (synopsis "Dynamic class definition for Common Lisp")
13966 (description "Dynamic-Classes helps to ease the prototyping process by
13967 bringing dynamism to class definition.")
13968 (license license:expat)))
13969
13970 (define-public ecl-dynamic-classes
13971 (sbcl-package->ecl-package sbcl-dynamic-classes))
13972
13973 (define-public cl-dynamic-classes
13974 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13975
13976 (define-public sbcl-cl-markdown
13977 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13978 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13979 ;; #:container-dynamic-classes
13980 (package
13981 (name "sbcl-cl-markdown")
13982 (version "0.10.4")
13983 (source
13984 (origin
13985 (method git-fetch)
13986 (uri (git-reference
13987 (url "https://github.com/gwkkwg/cl-markdown")
13988 (commit (string-append "version-" version))))
13989 (file-name (git-file-name "cl-markdown" version))
13990 (sha256
13991 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13992 (build-system asdf-build-system/sbcl)
13993 (inputs
13994 `(("anaphora" ,sbcl-anaphora)
13995 ("cl-containers" ,sbcl-cl-containers)
13996 ("cl-ppcre" ,sbcl-cl-ppcre)
13997 ("dynamic-classes" ,sbcl-dynamic-classes)
13998 ("metabang-bind" ,sbcl-metabang-bind)
13999 ("metatilities-base" ,sbcl-metatilities-base)))
14000 (arguments
14001 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14002 ;; available systems, which themself are abandoned.
14003 `(#:tests? #f))
14004 (home-page "https://common-lisp.net/project/cl-markdown/")
14005 (synopsis "Common Lisp rewrite of Markdown")
14006 (description
14007 "This is an implementation of a Markdown parser in Common Lisp.")
14008 (license license:expat)))
14009
14010 (define-public ecl-cl-markdown
14011 (sbcl-package->ecl-package sbcl-cl-markdown))
14012
14013 (define-public cl-markdown
14014 (sbcl-package->cl-source-package sbcl-cl-markdown))
14015
14016 (define-public sbcl-magicffi
14017 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14018 (package
14019 (name "sbcl-magicffi")
14020 (version (git-version "0.0.0" "1" commit))
14021 (source
14022 (origin
14023 (method git-fetch)
14024 (uri (git-reference
14025 (url "https://github.com/dochang/magicffi/")
14026 (commit commit)))
14027 (file-name (git-file-name name version))
14028 (sha256
14029 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14030 (build-system asdf-build-system/sbcl)
14031 (native-inputs
14032 `(("alexandria" ,sbcl-alexandria)))
14033 (inputs
14034 `(("cffi" ,sbcl-cffi)
14035 ("ppcre" ,sbcl-cl-ppcre)
14036 ("libmagic" ,file)))
14037 (arguments
14038 `(#:phases
14039 (modify-phases %standard-phases
14040 (add-after 'unpack 'fix-paths
14041 (lambda* (#:key inputs #:allow-other-keys)
14042 (let ((magic (assoc-ref inputs "libmagic")))
14043 (substitute* "grovel.lisp"
14044 (("/usr/include/magic.h")
14045 (string-append magic "/include/magic.h")))
14046 (substitute* "api.lisp"
14047 ((":default \"libmagic\"" all)
14048 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14049 (home-page "https://common-lisp.net/project/magicffi/")
14050 (synopsis "Common Lisp interface to libmagic based on CFFI")
14051 (description
14052 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14053 determination library using @emph{magic} numbers.")
14054 (license license:bsd-2))))
14055
14056 (define-public ecl-magicffi
14057 (sbcl-package->ecl-package sbcl-magicffi))
14058
14059 (define-public cl-magicffi
14060 (sbcl-package->cl-source-package sbcl-magicffi))
14061
14062 (define-public sbcl-shlex
14063 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14064 (package
14065 (name "sbcl-shlex")
14066 (version (git-version "0.0.0" "1" commit))
14067 (source
14068 (origin
14069 (method git-fetch)
14070 (uri (git-reference
14071 (url "https://github.com/ruricolist/cl-shlex")
14072 (commit commit)))
14073 (file-name (git-file-name name version))
14074 (sha256
14075 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14076 (build-system asdf-build-system/sbcl)
14077 (inputs
14078 `(("alexandria" ,sbcl-alexandria)
14079 ("serapeum" ,sbcl-serapeum)
14080 ("ppcre" ,sbcl-cl-ppcre)
14081 ("unicode" ,sbcl-cl-unicode)))
14082 (home-page "https://github.com/ruricolist/cl-shlex")
14083 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14084 (description
14085 "This library contains a lexer for syntaxes that use shell-like rules
14086 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14087 standard library.")
14088 (license license:expat))))
14089
14090 (define-public ecl-shlex
14091 (sbcl-package->ecl-package sbcl-shlex))
14092
14093 (define-public cl-shlex
14094 (sbcl-package->cl-source-package sbcl-shlex))
14095
14096 (define-public sbcl-cmd
14097 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14098 (package
14099 (name "sbcl-cmd")
14100 (version (git-version "0.0.1" "3" commit))
14101 (source
14102 (origin
14103 (method git-fetch)
14104 (uri (git-reference
14105 (url "https://github.com/ruricolist/cmd/")
14106 (commit commit)))
14107 (file-name (git-file-name name version))
14108 (sha256
14109 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14110 (build-system asdf-build-system/sbcl)
14111 (inputs
14112 `(("alexandria" ,sbcl-alexandria)
14113 ("coreutils" ,coreutils)
14114 ("procps" ,procps)
14115 ("serapeum" ,sbcl-serapeum)
14116 ("shlex" ,sbcl-shlex)
14117 ("trivia" ,sbcl-trivia)))
14118 (arguments
14119 `(#:phases
14120 (modify-phases %standard-phases
14121 (add-after 'unpack 'fix-paths
14122 (lambda* (#:key inputs #:allow-other-keys)
14123 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14124 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14125 (substitute* "cmd.lisp"
14126 (("\\(def \\+env\\+ \"env\"\\)")
14127 (format #f "(def +env+ \"~a/env\")" bin))
14128 (("\\(def \\+kill\\+ \"kill\"\\)")
14129 (format #f "(def +kill+ \"~a/kill\")" bin))
14130 (("\\(def \\+ps\\+ \"ps\"\\)")
14131 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14132 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14133 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14134 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14135 (format #f "(def +sh+ \"~a\")" (which "sh")))
14136 (("\\(def \\+tr\\+ \"tr\"\\)")
14137 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14138 (home-page "https://github.com/ruricolist/cmd")
14139 (synopsis "Conveniently run external programs from Common Lisp")
14140 (description
14141 "A utility for running external programs, built on UIOP.
14142 Cmd is designed to be natural to use, protect against shell interpolation and
14143 be usable from multi-threaded programs.")
14144 (license license:expat))))
14145
14146 (define-public ecl-cmd
14147 (sbcl-package->ecl-package sbcl-cmd))
14148
14149 (define-public cl-cmd
14150 (sbcl-package->cl-source-package sbcl-cmd))
14151
14152 (define-public sbcl-ppath
14153 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14154 (package
14155 (name "sbcl-ppath")
14156 (version (git-version "0.1" "1" commit))
14157 (source
14158 (origin
14159 (method git-fetch)
14160 (uri (git-reference
14161 (url "https://github.com/fourier/ppath/")
14162 (commit commit)))
14163 (file-name (git-file-name name commit))
14164 (sha256
14165 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14166 (build-system asdf-build-system/sbcl)
14167 (inputs
14168 `(("alexandria" ,sbcl-alexandria)
14169 ("cffi" ,sbcl-cffi)
14170 ("osicat" ,sbcl-osicat)
14171 ("ppcre" ,sbcl-cl-ppcre)
14172 ("split-sequence" ,sbcl-split-sequence)
14173 ("trivial-features" ,sbcl-trivial-features)))
14174 (native-inputs
14175 `(("cl-fad" ,sbcl-cl-fad)
14176 ("prove" ,sbcl-prove)))
14177 (home-page "https://github.com/fourier/ppath")
14178 (synopsis "Common Lisp's implementation of the Python's os.path module")
14179 (description
14180 "This library is a path strings manipulation library inspired by
14181 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14182 major operation systems.
14183
14184 The philosophy behind is to use simple strings and \"dumb\" string
14185 manipulation functions to handle paths and filenames. Where possible the
14186 corresponding OS system functions are called.")
14187 (license license:bsd-2))))
14188
14189 (define-public ecl-ppath
14190 (sbcl-package->ecl-package sbcl-ppath))
14191
14192 (define-public cl-ppath
14193 (sbcl-package->cl-source-package sbcl-ppath))
14194
14195 (define-public sbcl-trivial-escapes
14196 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14197 (package
14198 (name "sbcl-trivial-escapes")
14199 (version (git-version "1.2.0" "1" commit))
14200 (source
14201 (origin
14202 (method git-fetch)
14203 (uri (git-reference
14204 (url "https://github.com/williamyaoh/trivial-escapes")
14205 (commit commit)))
14206 (file-name (git-file-name name commit))
14207 (sha256
14208 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14209 (build-system asdf-build-system/sbcl)
14210 (inputs
14211 `(("named-readtables" ,sbcl-named-readtables)))
14212 (native-inputs
14213 `(("fiveam" ,sbcl-fiveam)))
14214 (home-page "https://github.com/williamyaoh/trivial-escapes")
14215 (synopsis "C-style escape directives for Common Lisp")
14216 (description
14217 "This Common Lisp library interprets escape characters the same way that
14218 most other programming language do.
14219 It provides four readtables. The default one lets you write strings like this:
14220 @code{#\"This string has\na newline in it!\"}.")
14221 (license license:public-domain))))
14222
14223 (define-public ecl-trivial-escapes
14224 (sbcl-package->ecl-package sbcl-trivial-escapes))
14225
14226 (define-public cl-trivial-escapes
14227 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14228
14229 (define-public sbcl-cl-indentify
14230 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14231 (package
14232 (name "sbcl-cl-indentify")
14233 (version (git-version "0.1" "1" commit))
14234 (source
14235 (origin
14236 (method git-fetch)
14237 (uri (git-reference
14238 (url "https://github.com/yitzchak/cl-indentify")
14239 (commit commit)))
14240 (file-name (git-file-name name commit))
14241 (sha256
14242 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14243 (build-system asdf-build-system/sbcl)
14244 (inputs
14245 `(("alexandria" ,sbcl-alexandria)
14246 ("command-line-arguments" ,sbcl-command-line-arguments)
14247 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14248 (native-inputs
14249 `(("trivial-escapes" ,sbcl-trivial-escapes)
14250 ("rove" ,sbcl-rove)))
14251 (home-page "https://github.com/yitzchak/cl-indentify")
14252 (synopsis "Code beautifier for Common Lisp")
14253 (description
14254 "A library and command line utility to automatically indent Common Lisp
14255 source files.")
14256 (license license:expat))))
14257
14258 (define-public ecl-cl-indentify
14259 (sbcl-package->ecl-package sbcl-cl-indentify))
14260
14261 (define-public cl-indentify
14262 (sbcl-package->cl-source-package sbcl-cl-indentify))
14263
14264 (define-public sbcl-concrete-syntax-tree
14265 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14266 (package
14267 (name "sbcl-concrete-syntax-tree")
14268 (version (git-version "0.0.0" "1" commit))
14269 (source
14270 (origin
14271 (method git-fetch)
14272 (uri (git-reference
14273 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14274 (commit commit)))
14275 (file-name (git-file-name name commit))
14276 (sha256
14277 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14278 (build-system asdf-build-system/sbcl)
14279 (inputs
14280 `(("acclimation" ,sbcl-acclimation)))
14281 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14282 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14283 (description
14284 "This library is intended to solve the problem of source tracking for
14285 Common Lisp code.
14286
14287 By \"source tracking\", it is meant that code elements that have a known
14288 origin in the form of a position in a file or in an editor buffer are
14289 associated with some kind of information about this origin.
14290
14291 Since the exact nature of such origin information depends on the Common Lisp
14292 implementation and the purpose of wanting to track that origin, the library
14293 does not impose a particular structure of this information. Instead, it
14294 provides utilities for manipulating source code in the form of what is called
14295 concrete syntax trees (CSTs for short) that preserve this information about
14296 the origin.")
14297 (license license:bsd-2))))
14298
14299 (define-public ecl-concrete-syntax-tree
14300 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14301
14302 (define-public cl-concrete-syntax-tree
14303 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14304
14305 (define-public sbcl-eclector
14306 (package
14307 (name "sbcl-eclector")
14308 (version "0.5.0")
14309 (source
14310 (origin
14311 (method git-fetch)
14312 (uri (git-reference
14313 (url "https://github.com/s-expressionists/Eclector")
14314 (commit version)))
14315 (file-name (git-file-name name version))
14316 (sha256
14317 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14318 (build-system asdf-build-system/sbcl)
14319 (inputs
14320 `(("acclimation" ,sbcl-acclimation)
14321 ("alexandria" ,sbcl-alexandria)
14322 ("closer-mop" ,sbcl-closer-mop)
14323 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14324 (native-inputs
14325 `(("fiveam" ,sbcl-fiveam)))
14326 (arguments
14327 '(#:asd-systems '("eclector"
14328 "eclector-concrete-syntax-tree")))
14329 (home-page "https://s-expressionists.github.io/Eclector/")
14330 (synopsis "Highly customizable, portable Common Lisp reader")
14331 (description
14332 "Eclector is a portable Common Lisp reader that is highly customizable,
14333 can recover from errors and can return concrete syntax trees.
14334
14335 In contrast to many other reader implementations, eclector can recover from
14336 most errors in the input supplied to it and continue reading. This capability
14337 is realized as a restart.
14338
14339 It can also produce instances of the concrete syntax tree classes provided by
14340 the concrete syntax tree library.")
14341 (license license:bsd-2)))
14342
14343 (define-public ecl-eclector
14344 (sbcl-package->ecl-package sbcl-eclector))
14345
14346 (define-public cl-eclector
14347 (sbcl-package->cl-source-package sbcl-eclector))
14348
14349 (define-public sbcl-jsown
14350 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14351 (package
14352 (name "sbcl-jsown")
14353 (version (git-version "1.0.1" "1" commit))
14354 (source
14355 (origin
14356 (method git-fetch)
14357 (uri (git-reference
14358 (url "https://github.com/madnificent/jsown")
14359 (commit commit)))
14360 (file-name (git-file-name name commit))
14361 (sha256
14362 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14363 (build-system asdf-build-system/sbcl)
14364 (home-page "https://github.com/madnificent/jsown")
14365 (synopsis "Fast JSON reader / writer library for Common Lisp")
14366 (description
14367 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14368 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14369 functions and macros have been added to ease the burden of writing and editing
14370 @code{jsown} objects.
14371
14372 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14373 list and write them back. If you only need partial retrieval of objects,
14374 @code{jsown} allows you to select the keys which you would like to see parsed.
14375 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14376 objects themselves.")
14377 (license license:expat))))
14378
14379 (define-public ecl-jsown
14380 (sbcl-package->ecl-package sbcl-jsown))
14381
14382 (define-public cl-jsown
14383 (sbcl-package->cl-source-package sbcl-jsown))
14384
14385 (define-public sbcl-system-locale
14386 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14387 (package
14388 (name "sbcl-system-locale")
14389 (version (git-version "1.0.0" "1" commit))
14390 (source
14391 (origin
14392 (method git-fetch)
14393 (uri (git-reference
14394 (url "https://github.com/Shinmera/system-locale/")
14395 (commit commit)))
14396 (file-name (git-file-name name commit))
14397 (sha256
14398 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14399 (build-system asdf-build-system/sbcl)
14400 (inputs
14401 `(("documentation-utils" ,sbcl-documentation-utils)))
14402 (home-page "https://shinmera.github.io/system-locale/")
14403 (synopsis "Get the system's locale and language settings in Common Lisp")
14404 (description
14405 "This library retrieves locale information configured on the
14406 system. This is helpful if you want to write applications and libraries that
14407 display messages in the user's native language.")
14408 (license license:zlib))))
14409
14410 (define-public ecl-system-locale
14411 (sbcl-package->ecl-package sbcl-system-locale))
14412
14413 (define-public cl-system-locale
14414 (sbcl-package->cl-source-package sbcl-system-locale))
14415
14416 (define-public sbcl-language-codes
14417 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14418 (package
14419 (name "sbcl-language-codes")
14420 (version (git-version "1.0.0" "1" commit))
14421 (source
14422 (origin
14423 (method git-fetch)
14424 (uri (git-reference
14425 (url "https://github.com/Shinmera/language-codes")
14426 (commit commit)))
14427 (file-name (git-file-name name commit))
14428 (sha256
14429 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14430 (build-system asdf-build-system/sbcl)
14431 (inputs
14432 `(("documentation-utils" ,sbcl-documentation-utils)))
14433 (home-page "https://shinmera.github.io/language-codes/")
14434 (synopsis "Map ISO language codes to language names in Common Lisp")
14435 (description
14436 "This is a small library providing the ISO-639 language code to
14437 language name mapping.")
14438 (license license:zlib))))
14439
14440 (define-public ecl-language-codes
14441 (sbcl-package->ecl-package sbcl-language-codes))
14442
14443 (define-public cl-language-codes
14444 (sbcl-package->cl-source-package sbcl-language-codes))
14445
14446 (define-public sbcl-multilang-documentation
14447 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14448 (package
14449 (name "sbcl-multilang-documentation")
14450 (version (git-version "1.0.0" "1" commit))
14451 (source
14452 (origin
14453 (method git-fetch)
14454 (uri (git-reference
14455 (url "https://github.com/Shinmera/multilang-documentation")
14456 (commit commit)))
14457 (file-name (git-file-name name commit))
14458 (sha256
14459 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14460 (build-system asdf-build-system/sbcl)
14461 (inputs
14462 `(("documentation-utils" ,sbcl-documentation-utils)
14463 ("language-codes" ,sbcl-language-codes)
14464 ("system-locale" ,sbcl-system-locale)))
14465 (home-page "https://shinmera.github.io/multilang-documentation/")
14466 (synopsis "Add multiple languages support to Common Lisp documentation")
14467 (description
14468 "This library provides a drop-in replacement function for
14469 cl:documentation that supports multiple docstrings per-language, allowing you
14470 to write documentation that can be internationalised.")
14471 (license license:zlib))))
14472
14473 (define-public ecl-multilang-documentation
14474 (sbcl-package->ecl-package sbcl-multilang-documentation))
14475
14476 (define-public cl-multilang-documentation
14477 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14478
14479 (define-public sbcl-trivial-do
14480 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14481 (package
14482 (name "sbcl-trivial-do")
14483 (version (git-version "0.1" "1" commit))
14484 (source
14485 (origin
14486 (method git-fetch)
14487 (uri (git-reference
14488 (url "https://github.com/yitzchak/trivial-do")
14489 (commit commit)))
14490 (file-name (git-file-name name commit))
14491 (sha256
14492 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14493 (build-system asdf-build-system/sbcl)
14494 (home-page "https://github.com/yitzchak/trivial-do")
14495 (synopsis "Additional dolist style macros for Common Lisp")
14496 (description
14497 "Additional dolist style macros for Common Lisp, such as
14498 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14499 and @code{doseq*}.")
14500 (license license:zlib))))
14501
14502 (define-public ecl-trivial-do
14503 (sbcl-package->ecl-package sbcl-trivial-do))
14504
14505 (define-public cl-trivial-do
14506 (sbcl-package->cl-source-package sbcl-trivial-do))
14507
14508 (define-public sbcl-common-lisp-jupyter
14509 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14510 (package
14511 (name "sbcl-common-lisp-jupyter")
14512 (version (git-version "0.1" "2" commit))
14513 (source
14514 (origin
14515 (method git-fetch)
14516 (uri (git-reference
14517 (url "https://github.com/yitzchak/common-lisp-jupyter")
14518 (commit commit)))
14519 (file-name (git-file-name name commit))
14520 (sha256
14521 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14522 (build-system asdf-build-system/sbcl)
14523 (inputs
14524 `(("alexandria" ,sbcl-alexandria)
14525 ("babel" ,sbcl-babel)
14526 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14527 ("cl-base64" ,sbcl-cl-base64)
14528 ("cl-indentify" ,sbcl-cl-indentify)
14529 ("closer-mop" ,sbcl-closer-mop)
14530 ("eclector" ,sbcl-eclector)
14531 ("ironclad" ,sbcl-ironclad)
14532 ("iterate" ,sbcl-iterate)
14533 ("jsown" ,sbcl-jsown)
14534 ("multilang-documentation" ,sbcl-multilang-documentation)
14535 ("pzmq" ,sbcl-pzmq)
14536 ("puri" ,sbcl-puri)
14537 ("static-vectors" ,sbcl-static-vectors)
14538 ("trivial-do" ,sbcl-trivial-do)
14539 ("trivial-garbage" ,sbcl-trivial-garbage)
14540 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14541 ("trivial-mimes" ,sbcl-trivial-mimes)))
14542 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14543 (synopsis "Common Lisp kernel for Jupyter")
14544 (description
14545 "This is a Common Lisp kernel for Jupyter along with a library for
14546 building Jupyter kernels, based on Maxima-Jupyter which was based on
14547 @code{cl-jupyter}.")
14548 (license license:zlib))))
14549
14550 (define-public ecl-common-lisp-jupyter
14551 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14552
14553 (define-public cl-common-lisp-jupyter
14554 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14555
14556 (define-public sbcl-radiance
14557 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14558 (revision "1"))
14559 (package
14560 (name "sbcl-radiance")
14561 (version (git-version "2.1.2" revision commit))
14562 (source
14563 (origin
14564 (method git-fetch)
14565 (uri (git-reference
14566 (url "https://github.com/Shirakumo/radiance")
14567 (commit commit)))
14568 (file-name (git-file-name "radiance" version))
14569 (sha256
14570 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14571 (build-system asdf-build-system/sbcl)
14572 (arguments
14573 `(#:tests? #f ; TODO: The tests require some configuration.
14574 #:phases
14575 (modify-phases %standard-phases
14576 (add-after 'unpack 'disable-quicklisp
14577 (lambda _
14578 ;; Disable the automatic installation of systems by Quicklisp.
14579 ;; (Maybe there would be a way to package Quicklisp and make it
14580 ;; install things in the user's directory instead of
14581 ;; /gnu/store/...).
14582 (substitute* "interfaces.lisp"
14583 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14584 all)
14585 (string-append "#+quicklisp " all))))))))
14586 (native-inputs
14587 `(("alexandria" ,sbcl-alexandria)
14588 ("dexador" ,sbcl-dexador)
14589 ("parachute" ,sbcl-parachute)
14590 ("verbose" ,sbcl-verbose)))
14591 (inputs
14592 `(("babel" ,sbcl-babel)
14593 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14594 ("cl-ppcre" ,sbcl-cl-ppcre)
14595 ("closer-mop" ,sbcl-closer-mop)
14596 ("documentation-utils" ,sbcl-documentation-utils)
14597 ("deploy" ,sbcl-deploy)
14598 ("form-fiddle" ,sbcl-form-fiddle)
14599 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14600 ("local-time" ,sbcl-local-time)
14601 ("modularize-hooks" ,sbcl-modularize-hooks)
14602 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14603 ("puri" ,sbcl-puri)
14604 ("trivial-indent" ,sbcl-trivial-indent)
14605 ("trivial-mimes" ,sbcl-trivial-mimes)
14606 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14607 (home-page "https://shirakumo.github.io/radiance/")
14608 (synopsis "Common Lisp web application environment")
14609 (description
14610 "Radiance is a web application environment, which is sort of like a web
14611 framework, but more general, more flexible. It should let you write personal
14612 websites and generally deployable applications easily and in such a way that
14613 they can be used on practically any setup without having to undergo special
14614 adaptations.")
14615 (license license:zlib))))
14616
14617 (define-public ecl-radiance
14618 (sbcl-package->ecl-package sbcl-radiance))
14619
14620 (define-public cl-radiance
14621 (sbcl-package->cl-source-package sbcl-radiance))
14622
14623 (define-public sbcl-daemon
14624 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14625 (revision "1"))
14626 (package
14627 (name "sbcl-daemon")
14628 (version (git-version "0.0.4" revision commit))
14629 (source
14630 (origin
14631 (method git-fetch)
14632 (uri (git-reference
14633 (url "https://github.com/snmsts/daemon")
14634 (commit commit)))
14635 (file-name (git-file-name "daemon" version))
14636 (sha256
14637 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14638 (build-system asdf-build-system/sbcl)
14639 (inputs
14640 `(("trivial-features" ,sbcl-trivial-features)))
14641 (home-page "https://github.com/snmsts/daemon")
14642 (synopsis "Daemonize Common Lisp processes")
14643 (description
14644 "DAEMON provides the functionality of daemonizing Common Lisp processes
14645 on UNIX like platforms.")
14646 (license license:expat))))
14647
14648 (define-public ecl-daemon
14649 (sbcl-package->ecl-package sbcl-daemon))
14650
14651 (define-public cl-daemon
14652 (sbcl-package->cl-source-package sbcl-daemon))
14653
14654 (define-public sbcl-file-attributes
14655 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14656 (package
14657 (name "sbcl-file-attributes")
14658 (version (git-version "1.0.0" "2" commit))
14659 (source
14660 (origin
14661 (method git-fetch)
14662 (uri (git-reference
14663 (url "https://github.com/Shinmera/file-attributes/")
14664 (commit commit)))
14665 (file-name (git-file-name name version))
14666 (sha256
14667 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14668 (build-system asdf-build-system/sbcl)
14669 (inputs
14670 `(("cffi" ,sbcl-cffi)
14671 ("documentation-utils" ,sbcl-documentation-utils)
14672 ("trivial-features" ,sbcl-trivial-features)))
14673 (home-page "https://shinmera.github.io/file-attributes/")
14674 (synopsis "Access to common file attributes in Common Lisp")
14675 (description
14676 "This is a small OS portability library to retrieve and set file
14677 attributes not supported by the Common Lisp standard functions.")
14678 (license license:zlib))))
14679
14680 (define-public ecl-file-attributes
14681 (sbcl-package->ecl-package sbcl-file-attributes))
14682
14683 (define-public cl-file-attributes
14684 (sbcl-package->cl-source-package sbcl-file-attributes))
14685
14686 (define-public sbcl-cl-difflib
14687 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14688 (revision "0"))
14689 (package
14690 (name "sbcl-cl-difflib")
14691 (version (git-version "0.2" revision commit))
14692 (source
14693 (origin
14694 (method git-fetch)
14695 (uri (git-reference
14696 (url "https://github.com/wiseman/cl-difflib")
14697 (commit commit)))
14698 (file-name
14699 (git-file-name name version))
14700 (sha256
14701 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14702 (build-system asdf-build-system/sbcl)
14703 ;; Due to the age of this library tests use some deprecated
14704 ;; functionality and keep failing.
14705 (arguments
14706 '(#:tests? #f
14707 #:asd-files '("cl-difflib.asd")))
14708 (home-page "https://github.com/wiseman/cl-difflib")
14709 (synopsis "Compute differences between pairs of sequences")
14710 (description
14711 "A Common Lisp library for computing differences between
14712 sequences based on the Python difflib module.")
14713 (license license:expat))))
14714
14715 (define-public ecl-cl-difflib
14716 (sbcl-package->ecl-package sbcl-cl-difflib))
14717
14718 (define-public cl-difflib
14719 (sbcl-package->cl-source-package sbcl-cl-difflib))
14720
14721 (define-public sbcl-cl-html-diff
14722 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14723 (revision "0"))
14724 (package
14725 (name "sbcl-cl-html-diff")
14726 (version (git-version "0.1" revision commit))
14727 (source
14728 (origin
14729 (method git-fetch)
14730 (uri (git-reference
14731 (url "https://github.com/wiseman/cl-html-diff")
14732 (commit commit)))
14733 (file-name
14734 (git-file-name name version))
14735 (sha256
14736 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14737 (build-system asdf-build-system/sbcl)
14738 (inputs
14739 `(("cl-difflib" ,sbcl-cl-difflib)))
14740 (home-page "https://github.com/wiseman/cl-html-diff")
14741 (synopsis "Generate a human-readable diff of two HTML documents")
14742 (description
14743 "A Common Lisp library for generating a human-readable diff of two
14744 HTML documents.")
14745 (license license:expat))))
14746
14747 (define-public ecl-cl-html-diff
14748 (sbcl-package->ecl-package sbcl-cl-html-diff))
14749
14750 (define-public cl-html-diff
14751 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14752
14753 (define-public sbcl-tooter
14754 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14755 (revision "1"))
14756 (package
14757 (name "sbcl-tooter")
14758 (version (git-version "1.0.0" revision commit))
14759 (source
14760 (origin
14761 (method git-fetch)
14762 (uri (git-reference
14763 (url "https://github.com/Shinmera/tooter")
14764 (commit commit)))
14765 (file-name (git-file-name "tooter" version))
14766 (sha256
14767 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14768 (build-system asdf-build-system/sbcl)
14769 (inputs
14770 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
14771 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
14772 ("sbcl-drakma" ,sbcl-drakma)
14773 ("sbcl-yason" ,sbcl-yason)))
14774 (synopsis "Common Lisp client library for Mastodon instances")
14775 (description
14776 "This is a Common Lisp library implementing the full v1 REST API
14777 protocol for Mastodon.")
14778 (home-page "https://shinmera.github.io/tooter/")
14779 (license license:zlib))))
14780
14781 (define-public ecl-tooter
14782 (sbcl-package->ecl-package sbcl-tooter))
14783
14784 (define-public cl-tooter
14785 (sbcl-package->cl-source-package sbcl-tooter))