gnu: Add cl-diskspace.
[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 ncurses)
77 #:use-module (gnu packages networking)
78 #:use-module (gnu packages pkg-config)
79 #:use-module (gnu packages python)
80 #:use-module (gnu packages python-xyz)
81 #:use-module (gnu packages sqlite)
82 #:use-module (gnu packages tcl)
83 #:use-module (gnu packages tls)
84 #:use-module (gnu packages web)
85 #:use-module (gnu packages webkit)
86 #:use-module (gnu packages xdisorg)
87 #:use-module (ice-9 match)
88 #:use-module (srfi srfi-1)
89 #:use-module (srfi srfi-19))
90
91 (define-public sbcl-alexandria
92 (package
93 (name "sbcl-alexandria")
94 (version "1.2")
95 (source
96 (origin
97 (method git-fetch)
98 (uri (git-reference
99 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
100 (commit (string-append "v" version))))
101 (sha256
102 (base32
103 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
104 (file-name (git-file-name name version))))
105 (build-system asdf-build-system/sbcl)
106 (native-inputs
107 `(("rt" ,sbcl-rt)))
108 (synopsis "Collection of portable utilities for Common Lisp")
109 (description
110 "Alexandria is a collection of portable utilities. It does not contain
111 conceptual extensions to Common Lisp. It is conservative in scope, and
112 portable between implementations.")
113 (home-page "https://common-lisp.net/project/alexandria/")
114 (license license:public-domain)))
115
116 (define-public cl-alexandria
117 (sbcl-package->cl-source-package sbcl-alexandria))
118
119 (define-public ecl-alexandria
120 (sbcl-package->ecl-package sbcl-alexandria))
121
122 (define-public sbcl-golden-utils
123 (let ((commit "9424419d867d5c2f819196ee41667a818a5058e7")
124 (revision "1"))
125 (package
126 (name "sbcl-golden-utils")
127 (version (git-version "0.0.0" revision commit))
128 (source
129 (origin
130 (method git-fetch)
131 (uri (git-reference
132 (url "https://git.mfiano.net/mfiano/golden-utils")
133 (commit commit)))
134 (file-name (git-file-name name version))
135 (sha256
136 (base32 "15x0phm6820yj3h37ibi06gjyh6z45sd2nz2n8lcbfflwm086q0h"))))
137 (build-system asdf-build-system/sbcl)
138 (inputs
139 `(("alexandria" ,sbcl-alexandria)))
140 (home-page "https://git.mfiano.net/mfiano/golden-utils")
141 (synopsis "Common Lisp utility library")
142 (description
143 "This is a Common Lisp library providing various utilities.")
144 (license license:expat))))
145
146 (define-public ecl-golden-utils
147 (sbcl-package->ecl-package sbcl-golden-utils))
148
149 (define-public cl-golden-utils
150 (sbcl-package->cl-source-package sbcl-golden-utils))
151
152 (define-public sbcl-asdf-finalizers
153 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
154 (revision "1"))
155 (package
156 (name "sbcl-asdf-finalizers")
157 (version (git-version "0.0.0" revision commit))
158 (source
159 (origin
160 (method git-fetch)
161 (uri (git-reference
162 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
163 (commit commit)))
164 (file-name (git-file-name name version))
165 (sha256
166 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
167 (build-system asdf-build-system/sbcl)
168 (native-inputs
169 `(("fare-utils" ,sbcl-fare-utils)
170 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
171 (arguments
172 `(#:asd-files '("asdf-finalizers.asd"
173 "list-of.asd"
174 "asdf-finalizers-test.asd")
175 #:asd-systems '("asdf-finalizers"
176 "list-of")))
177 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
178 (synopsis "Enforced calling of finalizers for Lisp code")
179 (description "This library allows you to implement and enforce proper
180 finalization of compile-time constructs while building Lisp source files.
181
182 It produces two systems: asdf-finalizers and list-of.")
183 (license license:expat))))
184
185 (define-public ecl-asdf-finalizers
186 (sbcl-package->ecl-package sbcl-asdf-finalizers))
187
188 (define-public cl-asdf-finalizers
189 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
190
191 (define-public sbcl-net.didierverna.asdf-flv
192 (package
193 (name "sbcl-net.didierverna.asdf-flv")
194 (version "2.1")
195 (source
196 (origin
197 (method git-fetch)
198 (uri (git-reference
199 (url "https://github.com/didierverna/asdf-flv")
200 (commit (string-append "version-" version))))
201 (file-name (git-file-name "asdf-flv" version))
202 (sha256
203 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
204 (build-system asdf-build-system/sbcl)
205 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
206 (description "ASDF-FLV provides support for file-local variables through
207 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
208 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
209 dynamic binding is created before processing the file, so that any
210 modification to the variable becomes essentially file-local.
211
212 In order to make one or several variables file-local, use the macros
213 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
214 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
215 (license (license:non-copyleft
216 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
217 "GNU All-Permissive License"))))
218
219 (define-public cl-net.didierverna.asdf-flv
220 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
221
222 (define-public ecl-net.didierverna.asdf-flv
223 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
224
225 (define-public sbcl-command-line-arguments
226 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
227 (revision "1"))
228 (package
229 (name "sbcl-command-line-arguments")
230 (version (git-version "2.0.0" revision commit))
231 (source
232 (origin
233 (method git-fetch)
234 (uri (git-reference
235 (url "https://github.com/fare/command-line-arguments")
236 (commit commit)))
237 (file-name (git-file-name name version))
238 (sha256
239 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
240 (build-system asdf-build-system/sbcl)
241 (home-page "https://github.com/fare/command-line-arguments")
242 (synopsis "Trivial command-line argument parsing library for Common Lisp")
243 (description "This is a library to abstract away the parsing of
244 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
245 or cl-launch for portable processing of command-line arguments.")
246 (license license:expat))))
247
248 (define-public ecl-command-line-arguments
249 (sbcl-package->ecl-package sbcl-command-line-arguments))
250
251 (define-public cl-command-line-arguments
252 (sbcl-package->cl-source-package sbcl-command-line-arguments))
253
254 (define-public sbcl-fiveam
255 (package
256 (name "sbcl-fiveam")
257 (version "1.4.1")
258 (source
259 (origin
260 (method git-fetch)
261 (uri (git-reference
262 (url "https://github.com/sionescu/fiveam")
263 (commit (string-append "v" version))))
264 (file-name (git-file-name "fiveam" version))
265 (sha256
266 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
267 (inputs
268 `(("alexandria" ,sbcl-alexandria)
269 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
270 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
271 (build-system asdf-build-system/sbcl)
272 (synopsis "Common Lisp testing framework")
273 (description "FiveAM is a simple (as far as writing and running tests
274 goes) regression testing framework. It has been designed with Common Lisp's
275 interactive development model in mind.")
276 (home-page "https://common-lisp.net/project/fiveam/")
277 (license license:bsd-3)))
278
279 (define-public cl-fiveam
280 (sbcl-package->cl-source-package sbcl-fiveam))
281
282 (define-public ecl-fiveam
283 (sbcl-package->ecl-package sbcl-fiveam))
284
285 (define-public sbcl-cl-irc
286 (let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
287 (revision "0"))
288 (package
289 (name "sbcl-cl-irc")
290 (version (git-version "0.9.2" revision commit))
291 (source
292 (origin
293 (method git-fetch)
294 (uri (git-reference
295 (url "https://salsa.debian.org/common-lisp-team/cl-irc.git")
296 (commit commit)))
297 (file-name (git-file-name "cl-irc" version))
298 (sha256
299 (base32 "1b3nqbb4pj377lxl47rfgrs82pidadnrc65l48bk553c2f59b52w"))))
300 (build-system asdf-build-system/sbcl)
301 (native-inputs
302 ;; Tests only.
303 `(("rt" ,sbcl-rt)))
304 (inputs
305 `(("cl+ssl" ,sbcl-cl+ssl)
306 ("flexi-streams" ,sbcl-flexi-streams)
307 ("split-sequence" ,sbcl-split-sequence)
308 ("usocket" ,sbcl-usocket)))
309 (arguments
310 `(#:asd-systems '("cl-irc") ;; Some inexisting "c" system is
311 ;; found by guix otherwise.
312 #:asd-files '("cl-irc.asd")
313 #:test-asd-file "test/cl-irc-test.asd"))
314 (synopsis "IRC client library for Common Lisp")
315 (description "@code{cl-irc} is a Common Lisp IRC client library that
316 features (partial) DCC, CTCP and all relevant commands from the IRC
317 RFCs (RFC2810, RFC2811 and RFC2812).
318
319 Features:
320 @itemize
321 @item implements all commands in the RFCs
322 @item extra convenience commands such as op/deop, ban, ignore, etc.
323 @item partial DCC SEND/CHAT support
324 @item event driven model with hooks makes interfacing easy
325 @item the user can keep multiple connections
326 @item all CTCP commands
327 @end itemize\n")
328 (home-page "https://common-lisp.net/project/cl-irc/")
329 (license license:bsd-2))))
330
331 (define-public cl-irc
332 (sbcl-package->cl-source-package sbcl-cl-irc))
333
334 (define-public ecl-cl-irc
335 (sbcl-package->ecl-package sbcl-cl-irc))
336
337 (define-public sbcl-trivial-timeout
338 (let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
339 (revision "1"))
340 (package
341 (name "sbcl-trivial-timeout")
342 (version (git-version "0.1.5" revision commit))
343 (source
344 (origin
345 (method git-fetch)
346 (uri (git-reference
347 (url "https://github.com/gwkkwg/trivial-timeout/")
348 (commit commit)))
349 (file-name (git-file-name "trivial-timeout" version))
350 (sha256
351 (base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
352 (build-system asdf-build-system/sbcl)
353 (native-inputs
354 `(("lift" ,sbcl-lift)))
355 (arguments
356 ;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
357 ;; tests use some deprecated functionality and keep failing.
358 `(#:tests? #f))
359 (home-page "https://github.com/gwkkwg/trivial-timeout/")
360 (synopsis "Timeout library for Common Lisp")
361 (description
362 "This library provides an OS and implementation independent access to
363 timeouts.")
364 (license license:expat))))
365
366 (define-public ecl-trivial-timeout
367 (sbcl-package->ecl-package sbcl-trivial-timeout))
368
369 (define-public cl-trivial-timeout
370 (sbcl-package->cl-source-package sbcl-trivial-timeout))
371
372 (define-public sbcl-bordeaux-threads
373 (package
374 (name "sbcl-bordeaux-threads")
375 (version "0.8.8")
376 (source (origin
377 (method git-fetch)
378 (uri (git-reference
379 (url "https://github.com/sionescu/bordeaux-threads")
380 (commit (string-append "v" version))))
381 (sha256
382 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
383 (file-name
384 (git-file-name "bordeaux-threads" version))))
385 (inputs `(("alexandria" ,sbcl-alexandria)))
386 (native-inputs `(("fiveam" ,sbcl-fiveam)))
387 (build-system asdf-build-system/sbcl)
388 (synopsis "Portable shared-state concurrency library for Common Lisp")
389 (description "BORDEAUX-THREADS is a proposed standard for a minimal
390 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
391 support.")
392 (home-page "https://common-lisp.net/project/bordeaux-threads/")
393 (license license:x11)))
394
395 (define-public cl-bordeaux-threads
396 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
397
398 (define-public ecl-bordeaux-threads
399 (sbcl-package->ecl-package sbcl-bordeaux-threads))
400
401 (define-public sbcl-trivial-gray-streams
402 (let ((revision "1")
403 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
404 (package
405 (name "sbcl-trivial-gray-streams")
406 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
407 (source
408 (origin
409 (method git-fetch)
410 (uri
411 (git-reference
412 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
413 (commit commit)))
414 (sha256
415 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
416 (file-name
417 (string-append "trivial-gray-streams-" version "-checkout"))))
418 (build-system asdf-build-system/sbcl)
419 (synopsis "Compatibility layer for Gray streams implementations")
420 (description "Gray streams is an interface proposed for inclusion with
421 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
422 popular CL implementations implement it. This package provides an extremely
423 thin compatibility layer for gray streams.")
424 (home-page "https://www.cliki.net/trivial-gray-streams")
425 (license license:x11))))
426
427 (define-public cl-trivial-gray-streams
428 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
429
430 (define-public ecl-trivial-gray-streams
431 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
432
433 (define-public sbcl-fiasco
434 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
435 (revision "1"))
436 (package
437 (name "sbcl-fiasco")
438 (version (git-version "0.0.1" revision commit))
439 (source
440 (origin
441 (method git-fetch)
442 (uri (git-reference
443 (url "https://github.com/joaotavora/fiasco")
444 (commit commit)))
445 (file-name (git-file-name "fiasco" version))
446 (sha256
447 (base32
448 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
449 (build-system asdf-build-system/sbcl)
450 (inputs
451 `(("alexandria" ,sbcl-alexandria)
452 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
453 (synopsis "Simple and powerful test framework for Common Lisp")
454 (description "A Common Lisp test framework that treasures your failures,
455 logical continuation of Stefil. It focuses on interactive debugging.")
456 (home-page "https://github.com/joaotavora/fiasco")
457 ;; LICENCE specifies this is public-domain unless the legislation
458 ;; doesn't allow or recognize it. In that case it falls back to a
459 ;; permissive licence.
460 (license (list license:public-domain
461 (license:x11-style "file://LICENCE"))))))
462
463 (define-public cl-fiasco
464 (sbcl-package->cl-source-package sbcl-fiasco))
465
466 (define-public ecl-fiasco
467 (sbcl-package->ecl-package sbcl-fiasco))
468
469 (define-public sbcl-flexi-streams
470 (package
471 (name "sbcl-flexi-streams")
472 (version "1.0.18")
473 (source
474 (origin
475 (method git-fetch)
476 (uri (git-reference
477 (url "https://github.com/edicl/flexi-streams")
478 (commit (string-append "v" version))))
479 (file-name (git-file-name "flexi-streams" version))
480 (sha256
481 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
482 (build-system asdf-build-system/sbcl)
483 (arguments
484 `(#:phases
485 (modify-phases %standard-phases
486 (add-after 'unpack 'make-git-checkout-writable
487 (lambda _
488 (for-each make-file-writable (find-files "."))
489 #t)))))
490 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
491 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
492 (description "Flexi-streams is an implementation of \"virtual\" bivalent
493 streams that can be layered atop real binary or bivalent streams and that can
494 be used to read and write character data in various single- or multi-octet
495 encodings which can be changed on the fly. It also supplies in-memory binary
496 streams which are similar to string streams.")
497 (home-page "http://weitz.de/flexi-streams/")
498 (license license:bsd-3)))
499
500 (define-public cl-flexi-streams
501 (sbcl-package->cl-source-package sbcl-flexi-streams))
502
503 (define-public ecl-flexi-streams
504 (sbcl-package->ecl-package sbcl-flexi-streams))
505
506 (define-public sbcl-cl-abnf
507 ;; There are no releases
508 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
509 (revision "1"))
510 (package
511 (name "sbcl-cl-abnf")
512 (version (git-version "0.0.0" revision commit))
513 (source
514 (origin
515 (method git-fetch)
516 (uri (git-reference
517 (url "https://github.com/dimitri/cl-abnf")
518 (commit commit)))
519 (file-name (git-file-name "cl-abnf" version))
520 (sha256
521 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
522 (build-system asdf-build-system/sbcl)
523 (inputs
524 `(("cl-ppcre" ,sbcl-cl-ppcre)
525 ("esrap" ,sbcl-esrap)))
526 (arguments
527 `(#:asd-systems '("abnf")))
528 (home-page "https://github.com/dimitri/cl-abnf")
529 (synopsis "ABNF parser generator for Common Lisp")
530 (description "This Common Lisp library implements a parser generator for
531 the ABNF grammar format as described in RFC2234. The generated parser is a
532 regular expression scanner provided by the cl-ppcre lib, which means that we
533 can't parse recursive grammar definition. One such definition is the ABNF
534 definition as given by the RFC. Fortunately, as you have this lib, you most
535 probably don't need to generate another parser to handle that particular ABNF
536 grammar.")
537 (license license:expat))))
538
539 (define-public cl-abnf
540 (sbcl-package->cl-source-package sbcl-cl-abnf))
541
542 (define-public ecl-cl-abnf
543 (sbcl-package->ecl-package sbcl-cl-abnf))
544
545 (define-public sbcl-cl-ppcre
546 (package
547 (name "sbcl-cl-ppcre")
548 (version "2.1.1")
549 (source
550 (origin
551 (method git-fetch)
552 (uri (git-reference
553 (url "https://github.com/edicl/cl-ppcre")
554 (commit (string-append "v" version))))
555 (file-name (git-file-name "cl-ppcre" version))
556 (sha256
557 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
558 (build-system asdf-build-system/sbcl)
559 (native-inputs
560 `(("flexi-streams" ,sbcl-flexi-streams)))
561 (arguments
562 `(#:phases
563 (modify-phases %standard-phases
564 (add-after 'unpack 'disable-ppcre-unicode
565 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
566 ;; to work around the circular dependency between edicl/cl-ppcre
567 ;; and edicl/cl-unicode.
568 (lambda _
569 (delete-file "cl-ppcre-unicode.asd")
570 #t)))))
571 (synopsis "Portable regular expression library for Common Lisp")
572 (description "CL-PPCRE is a portable regular expression library for Common
573 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
574 compatible with ANSI-compliant Common Lisp implementations.")
575 (home-page "http://weitz.de/cl-ppcre/")
576 (license license:bsd-2)))
577
578 (define-public cl-ppcre
579 (sbcl-package->cl-source-package sbcl-cl-ppcre))
580
581 (define-public ecl-cl-ppcre
582 (sbcl-package->ecl-package sbcl-cl-ppcre))
583
584 (define-public sbcl-ubiquitous
585 (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af")
586 (revision "1"))
587 (package
588 (name "sbcl-ubiquitous")
589 (version (git-version "2.0.0" revision commit))
590 (source
591 (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/Shinmera/ubiquitous")
595 (commit commit)))
596 (file-name (git-file-name "ubiquitous" version))
597 (sha256
598 (base32 "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49"))))
599 (build-system asdf-build-system/sbcl)
600 (inputs
601 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
602 (arguments
603 '(#:asd-systems '("ubiquitous"
604 "ubiquitous-concurrent")))
605 (home-page "https://shinmera.github.io/ubiquitous/")
606 (synopsis "Application configuration mechanism for Common Lisp")
607 (description
608 "@code{UBIQUITOUS} is a very easy-to-use library for persistent
609 configuration storage. It automatically takes care of finding a suitable place
610 to save your data, and provides simple functions to access and modify the data
611 within.")
612 (license license:zlib))))
613
614 (define-public ecl-ubiquitous
615 (sbcl-package->ecl-package sbcl-ubiquitous))
616
617 (define-public cl-ubiquitous
618 (sbcl-package->cl-source-package sbcl-ubiquitous))
619
620 (define-public sbcl-uax-15
621 (package
622 (name "sbcl-uax-15")
623 (version "0.1.1")
624 (source
625 (origin
626 (method git-fetch)
627 (uri (git-reference
628 (url "https://github.com/sabracrolleton/uax-15")
629 (commit (string-append "v" version))))
630 (file-name (git-file-name "uax-15" version))
631 (sha256
632 (base32 "0p2ckw7mzxhwa9vbwj2q2dzayz9dl94d9yqd2ynp0pc5v8i0n2fr"))))
633 (build-system asdf-build-system/sbcl)
634 (arguments
635 `(#:asd-systems
636 '("uax-15")))
637 (native-inputs
638 `(("fiveam" ,sbcl-fiveam)))
639 (inputs
640 `(("cl-ppcre" ,sbcl-cl-ppcre)
641 ("split-sequence" ,sbcl-split-sequence)))
642 (home-page "https://github.com/sabracrolleton/uax-15")
643 (synopsis "Common Lisp implementation of unicode normalization functions")
644 (description
645 "This package provides supports for unicode normalization, RFC8264 and
646 RFC7564.")
647 (license license:expat)))
648
649 (define-public cl-uax-15
650 (sbcl-package->cl-source-package sbcl-uax-15))
651
652 (define-public ecl-uax-15
653 (sbcl-package->ecl-package sbcl-uax-15))
654
655 (define-public sbcl-cl-unicode
656 (package
657 (name "sbcl-cl-unicode")
658 (version "0.1.6")
659 (source (origin
660 (method git-fetch)
661 (uri (git-reference
662 (url "https://github.com/edicl/cl-unicode")
663 (commit (string-append "v" version))))
664 (file-name (git-file-name name version))
665 (sha256
666 (base32
667 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
668 (build-system asdf-build-system/sbcl)
669 (native-inputs
670 `(("flexi-streams" ,sbcl-flexi-streams)))
671 (inputs
672 `(("cl-ppcre" ,sbcl-cl-ppcre)))
673 (home-page "http://weitz.de/cl-unicode/")
674 (synopsis "Portable Unicode library for Common Lisp")
675 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
676 is compatible with perl. It is pretty fast, thread-safe, and compatible with
677 ANSI-compliant Common Lisp implementations.")
678 (license license:bsd-2)))
679
680 (define-public ecl-cl-unicode
681 (sbcl-package->ecl-package sbcl-cl-unicode))
682
683 (define-public cl-unicode
684 (sbcl-package->cl-source-package sbcl-cl-unicode))
685
686 (define-public sbcl-cl-ppcre-unicode
687 (package (inherit sbcl-cl-ppcre)
688 (name "sbcl-cl-ppcre-unicode")
689 (inputs
690 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
691 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
692 (arguments
693 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
694 #:phases
695 (modify-phases %standard-phases
696 (add-after 'unpack 'disable-ppcre
697 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
698 ;; to work around the circular dependency between edicl/cl-ppcre
699 ;; and edicl/cl-unicode.
700 (lambda _
701 (delete-file "cl-ppcre.asd")
702 #t)))))))
703
704 (define-public cl-ppcre-unicode
705 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
706
707 (define-public ecl-cl-ppcre-unicode
708 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
709
710 (define-public sbcl-zpb-ttf
711 (package
712 (name "sbcl-zpb-ttf")
713 (version "1.0.3")
714 (source
715 (origin
716 (method git-fetch)
717 (uri (git-reference
718 (url "https://github.com/xach/zpb-ttf")
719 (commit (string-append "release-" version))))
720 (file-name (git-file-name name version))
721 (sha256
722 (base32
723 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
724 (build-system asdf-build-system/sbcl)
725 (home-page "https://github.com/xach/zpb-ttf")
726 (synopsis "TrueType font file access for Common Lisp")
727 (description
728 "ZPB-TTF is a TrueType font file parser that provides an interface for
729 reading typographic metrics, glyph outlines, and other information from the
730 file.")
731 (license license:bsd-2)))
732
733 (define-public ecl-zpb-ttf
734 (sbcl-package->ecl-package sbcl-zpb-ttf))
735
736 (define-public cl-zpb-ttf
737 (sbcl-package->cl-source-package sbcl-zpb-ttf))
738
739 (define-public sbcl-cl-vectors
740 (package
741 (name "sbcl-cl-vectors")
742 (version "0.1.5")
743 (source
744 (origin
745 (method url-fetch)
746 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
747 "files/cl-vectors-" version ".tar.gz"))
748 (sha256
749 (base32
750 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
751 (build-system asdf-build-system/sbcl)
752 (inputs
753 `(("zpb-ttf" ,sbcl-zpb-ttf)))
754 (arguments
755 '(#:asd-systems '("cl-vectors"
756 "cl-paths-ttf")))
757 (home-page "http://projects.tuxee.net/cl-vectors/")
758 (synopsis "Create, transform and render anti-aliased vectorial paths")
759 (description
760 "This is a pure Common Lisp library to create, transform and render
761 anti-aliased vectorial paths.")
762 (license license:expat)))
763
764 (define-public ecl-cl-vectors
765 (sbcl-package->ecl-package sbcl-cl-vectors))
766
767 (define-public cl-vectors
768 (sbcl-package->cl-source-package sbcl-cl-vectors))
769
770 (define-public sbcl-spatial-trees
771 ;; There have been no releases.
772 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
773 (revision "1"))
774 (package
775 (name "sbcl-spatial-trees")
776 (version (git-version "0" revision commit))
777 (source
778 (origin
779 (method git-fetch)
780 (uri (git-reference
781 (url "https://github.com/rpav/spatial-trees")
782 (commit commit)))
783 (file-name (git-file-name name version))
784 (sha256
785 (base32
786 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
787 (build-system asdf-build-system/sbcl)
788 (arguments
789 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
790 #:test-asd-file "spatial-trees.test.asd"))
791 (native-inputs
792 `(("fiveam" ,sbcl-fiveam)))
793 (home-page "https://github.com/rpav/spatial-trees")
794 (synopsis "Dynamic index data structures for spatially-extended data")
795 (description
796 "Spatial-trees is a set of dynamic index data structures for
797 spatially-extended data.")
798 (license license:bsd-3))))
799
800 (define-public ecl-spatial-trees
801 (sbcl-package->ecl-package sbcl-spatial-trees))
802
803 (define-public cl-spatial-trees
804 (sbcl-package->cl-source-package sbcl-spatial-trees))
805
806 (define-public sbcl-flexichain
807 ;; There are no releases.
808 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
809 (revision "1"))
810 (package
811 (name "sbcl-flexichain")
812 (version "1.5.1")
813 (source
814 (origin
815 (method git-fetch)
816 (uri (git-reference
817 (url "https://github.com/robert-strandh/Flexichain")
818 (commit commit)))
819 (file-name (git-file-name name version))
820 (sha256
821 (base32
822 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
823 (build-system asdf-build-system/sbcl)
824 (home-page "https://github.com/robert-strandh/Flexichain.git")
825 (synopsis "Dynamically add elements to or remove them from sequences")
826 (description
827 "This package provides an implementation of the flexichain protocol,
828 allowing client code to dynamically add elements to, and delete elements from
829 a sequence (or chain) of such elements.")
830 (license license:lgpl2.1+))))
831
832 (define-public ecl-flexichain
833 (sbcl-package->ecl-package sbcl-flexichain))
834
835 (define-public cl-flexichain
836 (sbcl-package->cl-source-package sbcl-flexichain))
837
838 (define-public sbcl-cl-pdf
839 ;; There are no releases
840 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
841 (revision "1"))
842 (package
843 (name "sbcl-cl-pdf")
844 (version (git-version "0" revision commit))
845 (source
846 (origin
847 (method git-fetch)
848 (uri (git-reference
849 (url "https://github.com/mbattyani/cl-pdf")
850 (commit commit)))
851 (file-name (git-file-name name version))
852 (sha256
853 (base32
854 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
855 (build-system asdf-build-system/sbcl)
856 (inputs
857 `(("iterate" ,sbcl-iterate)
858 ("zpb-ttf" ,sbcl-zpb-ttf)))
859 (home-page "https://github.com/mbattyani/cl-pdf")
860 (synopsis "Common Lisp library for generating PDF files")
861 (description
862 "CL-PDF is a cross-platform Common Lisp library for generating PDF
863 files.")
864 (license license:bsd-2))))
865
866 (define-public ecl-cl-pdf
867 (sbcl-package->ecl-package sbcl-cl-pdf))
868
869 (define-public cl-pdf
870 (sbcl-package->cl-source-package sbcl-cl-pdf))
871
872 (define-public sbcl-clx
873 (package
874 (name "sbcl-clx")
875 (version "0.7.5")
876 (source
877 (origin
878 (method git-fetch)
879 (uri
880 (git-reference
881 (url "https://github.com/sharplispers/clx")
882 (commit version)))
883 (sha256
884 (base32
885 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
886 (file-name (string-append "clx-" version))))
887 (build-system asdf-build-system/sbcl)
888 (native-inputs
889 `(("fiasco" ,sbcl-fiasco)))
890 (home-page "https://www.cliki.net/portable-clx")
891 (synopsis "X11 client library for Common Lisp")
892 (description "CLX is an X11 client library for Common Lisp. The code was
893 originally taken from a CMUCL distribution, was modified somewhat in order to
894 make it compile and run under SBCL, then a selection of patches were added
895 from other CLXes around the net.")
896 (license license:x11)))
897
898 (define-public cl-clx
899 (sbcl-package->cl-source-package sbcl-clx))
900
901 (define-public ecl-clx
902 (sbcl-package->ecl-package sbcl-clx))
903
904 (define-public sbcl-clx-truetype
905 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
906 (revision "1"))
907 (package
908 (name "sbcl-clx-truetype")
909 (version (git-version "0.0.1" revision commit))
910 (source
911 (origin
912 (method git-fetch)
913 (uri (git-reference
914 (url "https://github.com/l04m33/clx-truetype")
915 (commit commit)))
916 (file-name (git-file-name name version))
917 (sha256
918 (base32
919 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
920 (modules '((guix build utils)))
921 (snippet
922 '(begin
923 (substitute* "package.lisp"
924 ((":export") ":export\n :+font-cache-filename+"))
925 #t))))
926 (build-system asdf-build-system/sbcl)
927 (inputs
928 `(("clx" ,sbcl-clx)
929 ("zpb-ttf" ,sbcl-zpb-ttf)
930 ("cl-vectors" ,sbcl-cl-vectors)
931 ("cl-fad" ,sbcl-cl-fad)
932 ("cl-store" ,sbcl-cl-store)
933 ("trivial-features" ,sbcl-trivial-features)))
934 (home-page "https://github.com/l04m33/clx-truetype")
935 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
936 (description "CLX-TrueType is pure common lisp solution for
937 antialiased TrueType font rendering using CLX and XRender extension.")
938 (license license:expat))))
939
940 (define-public cl-clx-truetype
941 (sbcl-package->cl-source-package sbcl-clx-truetype))
942
943 (define-public ecl-clx-truetype
944 (sbcl-package->ecl-package sbcl-clx-truetype))
945
946 (define-public sbcl-slynk
947 (let ((commit "fb84318c08f59bc786e047006fc81e2ace568309"))
948 (package
949 (name "sbcl-slynk")
950 (version (git-version "1.0.43" "4" commit))
951 (source
952 (origin
953 (method git-fetch)
954 (uri
955 (git-reference
956 (url "https://github.com/joaotavora/sly")
957 (commit commit)))
958 (sha256
959 (base32 "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"))
960 (file-name (git-file-name "slynk" version))))
961 (build-system asdf-build-system/sbcl)
962 (outputs '("out" "image"))
963 (arguments
964 `(#:phases
965 (modify-phases %standard-phases
966 (add-after 'create-asdf-configuration 'build-image
967 (lambda* (#:key outputs #:allow-other-keys)
968 (build-image (string-append
969 (assoc-ref %outputs "image")
970 "/bin/slynk")
971 %outputs
972 #:dependencies '("slynk"
973 "slynk/arglists"
974 "slynk/fancy-inspector"
975 "slynk/package-fu"
976 "slynk/mrepl"
977 "slynk/trace-dialog"
978 "slynk/profiler"
979 "slynk/stickers"
980 "slynk/indentation"
981 "slynk/retro"))
982 #t)))))
983 (synopsis "Common Lisp IDE for Emacs")
984 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
985 It also features a completely redesigned REPL based on Emacs's own
986 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
987 button interface. Everything can be copied to the REPL. One can create
988 multiple inspectors with independent history.")
989 (home-page "https://github.com/joaotavora/sly")
990 (license license:public-domain)
991 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
992
993 (define-public cl-slynk
994 (sbcl-package->cl-source-package sbcl-slynk))
995
996 (define-public ecl-slynk
997 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
998 (package
999 (inherit pkg)
1000 (outputs '("out"))
1001 (arguments
1002 (substitute-keyword-arguments (package-arguments pkg)
1003 ((#:phases phases)
1004 `(modify-phases ,phases
1005 (delete 'build-image))))))))
1006
1007 (define-public sbcl-parse-js
1008 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
1009 (revision "1"))
1010 (package
1011 (name "sbcl-parse-js")
1012 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
1013 (source
1014 (origin
1015 (method git-fetch)
1016 (uri (git-reference
1017 (url "http://marijn.haverbeke.nl/git/parse-js")
1018 (commit commit)))
1019 (file-name (string-append name "-" commit "-checkout"))
1020 (sha256
1021 (base32
1022 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
1023 (build-system asdf-build-system/sbcl)
1024 (home-page "https://marijnhaverbeke.nl/parse-js/")
1025 (synopsis "Parse JavaScript")
1026 (description "Parse-js is a Common Lisp package for parsing
1027 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
1028 (license license:zlib))))
1029
1030 (define-public cl-parse-js
1031 (sbcl-package->cl-source-package sbcl-parse-js))
1032
1033 (define-public ecl-parse-js
1034 (sbcl-package->ecl-package sbcl-parse-js))
1035
1036 (define-public sbcl-parse-number
1037 (package
1038 (name "sbcl-parse-number")
1039 (version "1.7")
1040 (source
1041 (origin
1042 (method git-fetch)
1043 (uri (git-reference
1044 (url "https://github.com/sharplispers/parse-number/")
1045 (commit (string-append "v" version))))
1046 (file-name (git-file-name name version))
1047 (sha256
1048 (base32
1049 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
1050 (build-system asdf-build-system/sbcl)
1051 (home-page "https://www.cliki.net/PARSE-NUMBER")
1052 (synopsis "Parse numbers")
1053 (description "@code{parse-number} is a library of functions for parsing
1054 strings into one of the standard Common Lisp number types without using the
1055 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
1056 the string into one of the standard Common Lisp number types, if possible, or
1057 else @code{parse-number} signals an error of type @code{invalid-number}.")
1058 (license license:bsd-3)))
1059
1060 (define-public cl-parse-number
1061 (sbcl-package->cl-source-package sbcl-parse-number))
1062
1063 (define-public ecl-parse-number
1064 (sbcl-package->ecl-package sbcl-parse-number))
1065
1066 (define-public sbcl-iterate
1067 (package
1068 (name "sbcl-iterate")
1069 (version "1.5")
1070 (source
1071 (origin
1072 (method url-fetch)
1073 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1074 "iterate-" version ".tar.gz"))
1075 (sha256
1076 (base32
1077 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1078 (build-system asdf-build-system/sbcl)
1079 (native-inputs
1080 `(("rt" ,sbcl-rt)))
1081 (home-page "https://common-lisp.net/project/iterate/")
1082 (synopsis "Iteration construct for Common Lisp")
1083 (description "@code{iterate} is an iteration construct for Common Lisp.
1084 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1085
1086 @itemize
1087 @item it is extensible,
1088 @item it helps editors like Emacs indent iterate forms by having a more
1089 lisp-like syntax, and
1090 @item it isn't part of the ANSI standard for Common Lisp.
1091 @end itemize\n")
1092 (license license:expat)))
1093
1094 (define-public cl-iterate
1095 (sbcl-package->cl-source-package sbcl-iterate))
1096
1097 (define-public ecl-iterate
1098 (sbcl-package->ecl-package sbcl-iterate))
1099
1100 (define-public sbcl-cl-uglify-js
1101 ;; There have been many bug fixes since the 2010 release.
1102 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1103 (revision "1"))
1104 (package
1105 (name "sbcl-cl-uglify-js")
1106 (version (string-append "0.1-" revision "." (string-take commit 9)))
1107 (source
1108 (origin
1109 (method git-fetch)
1110 (uri (git-reference
1111 (url "https://github.com/mishoo/cl-uglify-js")
1112 (commit commit)))
1113 (file-name (git-file-name name version))
1114 (sha256
1115 (base32
1116 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1117 (build-system asdf-build-system/sbcl)
1118 (inputs
1119 `(("sbcl-parse-js" ,sbcl-parse-js)
1120 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1121 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1122 ("sbcl-parse-number" ,sbcl-parse-number)
1123 ("sbcl-iterate" ,sbcl-iterate)))
1124 (home-page "https://github.com/mishoo/cl-uglify-js")
1125 (synopsis "JavaScript compressor library for Common Lisp")
1126 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1127 compressor. It works on data produced by @code{parse-js} to generate a
1128 @dfn{minified} version of the code. Currently it can:
1129
1130 @itemize
1131 @item reduce variable names (usually to single letters)
1132 @item join consecutive @code{var} statements
1133 @item resolve simple binary expressions
1134 @item group most consecutive statements using the @code{sequence} operator (comma)
1135 @item remove unnecessary blocks
1136 @item convert @code{IF} expressions in various ways that result in smaller code
1137 @item remove some unreachable code
1138 @end itemize\n")
1139 (license license:zlib))))
1140
1141 (define-public cl-uglify-js
1142 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1143
1144 (define-public ecl-cl-uglify-js
1145 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1146
1147 (define-public uglify-js
1148 (package
1149 (inherit sbcl-cl-uglify-js)
1150 (name "uglify-js")
1151 (build-system trivial-build-system)
1152 (arguments
1153 `(#:modules ((guix build utils))
1154 #:builder
1155 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1156 (script (string-append bin "uglify-js")))
1157 (use-modules (guix build utils))
1158 (mkdir-p bin)
1159 (with-output-to-file script
1160 (lambda _
1161 (format #t "#!~a/bin/sbcl --script
1162
1163 (require :asdf)
1164 (asdf:initialize-source-registry
1165 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1166 (asdf:initialize-output-translations
1167 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1168 (assoc-ref %build-inputs "sbcl")
1169 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1170 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1171 ;; FIXME: cannot use progn here because otherwise it fails to
1172 ;; find cl-uglify-js.
1173 (for-each
1174 write
1175 '(;; Quiet, please!
1176 (let ((*standard-output* (make-broadcast-stream))
1177 (*error-output* (make-broadcast-stream)))
1178 (asdf:load-system :cl-uglify-js))
1179 (let ((file (cadr *posix-argv*)))
1180 (if file
1181 (format t "~a"
1182 (cl-uglify-js:ast-gen-code
1183 (cl-uglify-js:ast-mangle
1184 (cl-uglify-js:ast-squeeze
1185 (with-open-file (in file)
1186 (parse-js:parse-js in))))
1187 :beautify nil))
1188 (progn
1189 (format *error-output*
1190 "Please provide a JavaScript file.~%")
1191 (sb-ext:exit :code 1))))))))
1192 (chmod script #o755)
1193 #t)))
1194 (inputs
1195 `(("sbcl" ,sbcl)
1196 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1197 (synopsis "JavaScript compressor")))
1198
1199 (define-public sbcl-cl-strings
1200 (let ((revision "1")
1201 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1202 (package
1203 (name "sbcl-cl-strings")
1204 (version (git-version "0.0.0" revision commit))
1205 (source
1206 (origin
1207 (method git-fetch)
1208 (uri (git-reference
1209 (url "https://github.com/diogoalexandrefranco/cl-strings")
1210 (commit commit)))
1211 (sha256
1212 (base32
1213 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1214 (file-name (string-append "cl-strings-" version "-checkout"))))
1215 (build-system asdf-build-system/sbcl)
1216 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1217 (description
1218 "@command{cl-strings} is a small, portable, dependency-free set of
1219 utilities that make it even easier to manipulate text in Common Lisp. It has
1220 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1221 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1222 (license license:expat))))
1223
1224 (define-public cl-strings
1225 (sbcl-package->cl-source-package sbcl-cl-strings))
1226
1227 (define-public ecl-cl-strings
1228 (sbcl-package->ecl-package sbcl-cl-strings))
1229
1230 (define-public sbcl-trivial-features
1231 ;; No release since 2014.
1232 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1233 (package
1234 (name "sbcl-trivial-features")
1235 (version (git-version "0.8" "1" commit))
1236 (source
1237 (origin
1238 (method git-fetch)
1239 (uri (git-reference
1240 (url "https://github.com/trivial-features/trivial-features")
1241 (commit commit)))
1242 (file-name (git-file-name "trivial-features" version))
1243 (sha256
1244 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1245 (build-system asdf-build-system/sbcl)
1246 (arguments
1247 '(#:asd-files '("trivial-features.asd")
1248 #:tests? #f))
1249 (home-page "https://cliki.net/trivial-features")
1250 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1251 (description "Trivial-features ensures that @code{*FEATURES*} is
1252 consistent across multiple Common Lisp implementations.")
1253 (license license:expat))))
1254
1255 (define-public cl-trivial-features
1256 (sbcl-package->cl-source-package sbcl-trivial-features))
1257
1258 (define-public ecl-trivial-features
1259 (sbcl-package->ecl-package sbcl-trivial-features))
1260
1261 (define-public sbcl-hu.dwim.asdf
1262 (let ((commit "67cdf84390e530af4303cc4bc815fdf2a5e48f59"))
1263 (package
1264 (name "sbcl-hu.dwim.asdf")
1265 (version "20200724")
1266 (source
1267 (origin
1268 (method git-fetch)
1269 (uri (git-reference
1270 (url "https://github.com/hu-dwim/hu.dwim.asdf")
1271 (commit commit)))
1272 (file-name (git-file-name name version))
1273 (sha256
1274 (base32
1275 "0p81jalilkaqw832a12s35q0z6rrarxjasm1jy6h4fvyj9pf0zkx"))))
1276 (build-system asdf-build-system/sbcl)
1277 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1278 (synopsis "Extensions to ASDF")
1279 (description "Various ASDF extensions such as attached test and
1280 documentation system, explicit development support, etc.")
1281 (license license:public-domain))))
1282
1283 (define-public cl-hu.dwim.asdf
1284 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1285
1286 (define-public ecl-hu.dwim.asdf
1287 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1288
1289 (define-public sbcl-hu.dwim.stefil
1290 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
1291 (package
1292 (name "sbcl-hu.dwim.stefil")
1293 (version (git-version "0.0.0" "2" commit))
1294 (source
1295 (origin
1296 (method git-fetch)
1297 (uri
1298 (git-reference
1299 (url "https://github.com/hu-dwim/hu.dwim.stefil")
1300 (commit commit)))
1301 (sha256
1302 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
1303 (file-name (git-file-name "hu.dwim.stefil" version))))
1304 (build-system asdf-build-system/sbcl)
1305 (native-inputs
1306 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1307 (inputs
1308 `(("sbcl-alexandria" ,sbcl-alexandria)))
1309 (home-page "http://dwim.hu/project/hu.dwim.stefil")
1310 (synopsis "Simple test framework")
1311 (description "Stefil is a simple test framework for Common Lisp,
1312 with a focus on interactive development.")
1313 (license license:public-domain))))
1314
1315 (define-public cl-hu.dwim.stefil
1316 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1317
1318 (define-public ecl-hu.dwim.stefil
1319 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1320
1321 (define-public sbcl-babel
1322 ;; No release since 2014.
1323 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1324 (package
1325 (name "sbcl-babel")
1326 (version (git-version "0.5.0" "1" commit))
1327 (source
1328 (origin
1329 (method git-fetch)
1330 (uri (git-reference
1331 (url "https://github.com/cl-babel/babel")
1332 (commit commit)))
1333 (file-name (git-file-name "babel" version))
1334 (sha256
1335 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1336 (build-system asdf-build-system/sbcl)
1337 (native-inputs
1338 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1339 (inputs
1340 `(("sbcl-alexandria" ,sbcl-alexandria)
1341 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1342 (home-page "https://common-lisp.net/project/babel/")
1343 (synopsis "Charset encoding and decoding library")
1344 (description "Babel is a charset encoding and decoding library, not unlike
1345 GNU libiconv, but completely written in Common Lisp.")
1346 (license license:expat))))
1347
1348 (define-public cl-babel
1349 (sbcl-package->cl-source-package sbcl-babel))
1350
1351 (define-public ecl-babel
1352 (sbcl-package->ecl-package sbcl-babel))
1353
1354 (define-public sbcl-cl-yacc
1355 (package
1356 (name "sbcl-cl-yacc")
1357 (version "0.3")
1358 (source
1359 (origin
1360 (method git-fetch)
1361 (uri (git-reference
1362 (url "https://github.com/jech/cl-yacc")
1363 (commit (string-append "cl-yacc-" version))))
1364 (sha256
1365 (base32
1366 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1367 (file-name (string-append "cl-yacc-" version "-checkout"))))
1368 (build-system asdf-build-system/sbcl)
1369 (arguments
1370 `(#:asd-systems '("yacc")))
1371 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1372 (description
1373 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1374 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1375
1376 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1377 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1378 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1379 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1380 (license license:expat)))
1381
1382 (define-public cl-yacc
1383 (sbcl-package->cl-source-package sbcl-cl-yacc))
1384
1385 (define-public ecl-cl-yacc
1386 (sbcl-package->ecl-package sbcl-cl-yacc))
1387
1388 (define-public sbcl-eager-future2
1389 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1390 (package
1391 (name "sbcl-eager-future2")
1392 (version (git-version "0.0.0" "1" commit))
1393 (source
1394 (origin
1395 (method git-fetch)
1396 (uri (git-reference
1397 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1398 (commit commit)))
1399 (file-name (git-file-name name version))
1400 (sha256
1401 (base32
1402 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1403 (build-system asdf-build-system/sbcl)
1404 (inputs
1405 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1406 ("trivial-garbage" ,sbcl-trivial-garbage)))
1407 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1408 (description
1409 "Eager Future2 is a Common Lisp library that provides composable
1410 concurrency primitives that unify parallel and lazy evaluation, are integrated
1411 with the Common Lisp condition system, and have automatic resource
1412 management.")
1413 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1414 (license license:lgpl3+))))
1415
1416 (define-public cl-eager-future2
1417 (sbcl-package->cl-source-package sbcl-eager-future2))
1418
1419 (define-public ecl-eager-future2
1420 (sbcl-package->ecl-package sbcl-eager-future2))
1421
1422 (define-public sbcl-jpl-util
1423 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1424 (package
1425 (name "sbcl-jpl-util")
1426 (version "20151005")
1427 (source
1428 (origin
1429 (method git-fetch)
1430 (uri (git-reference
1431 ;; Quicklisp uses this fork.
1432 (url "https://github.com/hawkir/cl-jpl-util")
1433 (commit commit)))
1434 (file-name
1435 (git-file-name "jpl-util" version))
1436 (sha256
1437 (base32
1438 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1439 (build-system asdf-build-system/sbcl)
1440 (synopsis "Collection of Common Lisp utility functions and macros")
1441 (description
1442 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1443 and macros, primarily for software projects written in CL by the author.")
1444 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1445 (license license:isc))))
1446
1447 (define-public cl-jpl-util
1448 (sbcl-package->cl-source-package sbcl-jpl-util))
1449
1450 (define-public ecl-jpl-util
1451 (sbcl-package->ecl-package sbcl-jpl-util))
1452
1453 (define-public sbcl-piping
1454 (let ((commit "c7a4163c00dea7e72bf6ad33d6abac0d5826a656")
1455 (revision "1"))
1456 (package
1457 (name "sbcl-piping")
1458 (version (git-version "2.0.0" revision commit))
1459 (source
1460 (origin
1461 (method git-fetch)
1462 (uri (git-reference
1463 (url "https://github.com/Shinmera/piping/")
1464 (commit commit)))
1465 (file-name (git-file-name "piping" version))
1466 (sha256
1467 (base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
1468 (build-system asdf-build-system/sbcl)
1469 (home-page "https://shinmera.github.io/piping/")
1470 (synopsis "Library to enable simple message pipelines")
1471 (description
1472 "This is a Common Lisp library to enable simple message pipelines.")
1473 (license license:zlib))))
1474
1475 (define-public ecl-piping
1476 (sbcl-package->ecl-package sbcl-piping))
1477
1478 (define-public cl-piping
1479 (sbcl-package->cl-source-package sbcl-piping))
1480
1481 (define-public sbcl-cl-pcg
1482 (let ((commit "8263d85ab0ca17fb05637a4430c2d564456bce8f")
1483 (revision "1"))
1484 (package
1485 (name "sbcl-cl-pcg")
1486 (version (git-version "1.0.0" revision commit))
1487 (source
1488 (origin
1489 (method git-fetch)
1490 (uri (git-reference
1491 (url "https://github.com/sjl/cl-pcg")
1492 (commit commit)))
1493 (file-name (git-file-name "cl-pcg" version))
1494 (sha256
1495 (base32 "0s57wvvlvshp1gcp9i9d3qcmqhswnxps3i0y7wbb0v8i1a3p46m4"))))
1496 (build-system asdf-build-system/sbcl)
1497 (native-inputs
1498 `(("1am" ,sbcl-1am)))
1499 (home-page "https://github.com/sjl/cl-pcg")
1500 (synopsis "Permuted congruential generators in Common Lisp")
1501 (description
1502 "This is a bare-bones Permuted Congruential Generator implementation in
1503 pure Common Lisp.")
1504 (license license:expat))))
1505
1506 (define-public ecl-cl-pcg
1507 (sbcl-package->ecl-package sbcl-cl-pcg))
1508
1509 (define-public cl-pcg
1510 (sbcl-package->cl-source-package sbcl-cl-pcg))
1511
1512 (define-public sbcl-seedable-rng
1513 (let ((commit "aa1a1564b6e07e2698df37c7a98348c4f762cb15")
1514 (revision "1"))
1515 (package
1516 (name "sbcl-seedable-rng")
1517 (version (git-version "0.0.0" revision commit))
1518 (source
1519 (origin
1520 (method git-fetch)
1521 (uri (git-reference
1522 (url "https://git.mfiano.net/mfiano/seedable-rng")
1523 (commit commit)))
1524 (file-name (git-file-name "seedable-rng" version))
1525 (sha256
1526 (base32 "1ldpsbp3qrfzvknclsxj3sdyms1jf9ad20dvh4w0kw3zgahn2nr5"))))
1527 (build-system asdf-build-system/sbcl)
1528 (inputs
1529 `(("cl-pcg" ,sbcl-cl-pcg)
1530 ("golden-utils" ,sbcl-golden-utils)
1531 ("ironclad" ,sbcl-ironclad)))
1532 (home-page "https://git.mfiano.net/mfiano/seedable-rng")
1533 (synopsis "Common Lisp random number generator")
1534 (description
1535 "SEEDABLE-RNG provides a convenient means of generating random numbers
1536 that are seedable with deterministic results across hardware and Common Lisp
1537 implementations.")
1538 (license license:expat))))
1539
1540 (define-public ecl-seedable-rng
1541 (sbcl-package->ecl-package sbcl-seedable-rng))
1542
1543 (define-public cl-seedable-rng
1544 (sbcl-package->cl-source-package sbcl-seedable-rng))
1545
1546 (define-public sbcl-jpl-queues
1547 (package
1548 (name "sbcl-jpl-queues")
1549 (version "0.1")
1550 (source
1551 (origin
1552 (method url-fetch)
1553 (uri (string-append
1554 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1555 version
1556 ".tar.gz"))
1557 (sha256
1558 (base32
1559 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1560 (build-system asdf-build-system/sbcl)
1561 (inputs
1562 `(("jpl-util" ,sbcl-jpl-util)
1563 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1564 (arguments
1565 ;; Tests seem to be broken.
1566 `(#:tests? #f))
1567 (synopsis "Common Lisp library implementing a few different kinds of queues")
1568 (description
1569 "A Common Lisp library implementing a few different kinds of queues:
1570
1571 @itemize
1572 @item Bounded and unbounded FIFO queues.
1573 @item Lossy bounded FIFO queues that drop elements when full.
1574 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1575 @end itemize
1576
1577 Additionally, a synchronization wrapper is provided to make any queue
1578 conforming to the @command{jpl-queues} API thread-safe for lightweight
1579 multithreading applications. (See Calispel for a more sophisticated CL
1580 multithreaded message-passing library with timeouts and alternation among
1581 several blockable channels.)")
1582 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1583 (license license:isc)))
1584
1585 (define-public cl-jpl-queues
1586 (sbcl-package->cl-source-package sbcl-jpl-queues))
1587
1588 (define-public ecl-jpl-queues
1589 (sbcl-package->ecl-package sbcl-jpl-queues))
1590
1591 (define-public sbcl-calispel
1592 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1593 (package
1594 (name "sbcl-calispel")
1595 (version (git-version "0.1" "1" commit))
1596 (source
1597 (origin
1598 (method git-fetch)
1599 (uri (git-reference
1600 ;; This fork replaces the dependency on the obsolete
1601 ;; eager-future with eager-future2.
1602 (url "https://github.com/hawkir/calispel")
1603 (commit commit)))
1604 (file-name (git-file-name name version))
1605 (sha256
1606 (base32
1607 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1608 (build-system asdf-build-system/sbcl)
1609 (inputs
1610 `(("jpl-queues" ,sbcl-jpl-queues)
1611 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1612 (native-inputs
1613 `(("eager-future2" ,sbcl-eager-future2)))
1614 (synopsis "Thread-safe message-passing channels in Common Lisp")
1615 (description
1616 "Calispel is a Common Lisp library for thread-safe message-passing
1617 channels, in the style of the occam programming language, also known as
1618 communicating sequential processes (CSP). See
1619 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1620
1621 Calispel channels let one thread communicate with another, facilitating
1622 unidirectional communication of any Lisp object. Channels may be unbuffered,
1623 where a sender waits for a receiver (or vice versa) before either operation can
1624 continue, or channels may be buffered with flexible policy options.
1625
1626 Because sending and receiving on a channel may block, either operation can time
1627 out after a specified amount of time.
1628
1629 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1630 @code{select()}): given a sequence of operations, any or all of which may
1631 block, alternation selects the first operation that doesn't block and executes
1632 associated code. Alternation can also time out, executing an \"otherwise\"
1633 clause if no operation becomes available within a set amount of time.
1634
1635 Calispel is a message-passing library, and as such leaves the role of
1636 threading abstractions and utilities left to be filled by complementary
1637 libraries such as Bordeaux-Threads and Eager Future.")
1638 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1639 (license license:isc))))
1640
1641 (define-public cl-calispel
1642 (sbcl-package->cl-source-package sbcl-calispel))
1643
1644 (define-public ecl-calispel
1645 (sbcl-package->ecl-package sbcl-calispel))
1646
1647 (define-public sbcl-eos
1648 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1649 (revision "2"))
1650 (package
1651 (name "sbcl-eos")
1652 (version (git-version "0.0.0" revision commit))
1653 (source
1654 (origin
1655 (method git-fetch)
1656 (uri (git-reference
1657 (url "https://github.com/adlai/Eos")
1658 (commit commit)))
1659 (sha256
1660 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1661 (file-name (git-file-name "eos" version))))
1662 (build-system asdf-build-system/sbcl)
1663 (synopsis "Unit Testing for Common Lisp")
1664 (description
1665 "Eos was a unit testing library for Common Lisp.
1666 It began as a fork of FiveAM; however, FiveAM development has continued, while
1667 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1668 (home-page "https://github.com/adlai/Eos")
1669 (license license:expat))))
1670
1671 (define-public cl-eos
1672 (sbcl-package->cl-source-package sbcl-eos))
1673
1674 (define-public ecl-eos
1675 (sbcl-package->ecl-package sbcl-eos))
1676
1677 (define-public sbcl-esrap
1678 (let ((commit "da6b24fb18bdb8e7e177bcf2820cdaf0b560deb6")
1679 (revision "1"))
1680 (package
1681 (name "sbcl-esrap")
1682 (version (git-version "0.18" revision commit))
1683 (source
1684 (origin
1685 (method git-fetch)
1686 (uri (git-reference
1687 (url "https://github.com/scymtym/esrap")
1688 (commit commit)))
1689 (sha256
1690 (base32 "12vf3bxwzf8icnf6rw1xalvm7493cfbb46r2vlhc09s59djkf39q"))
1691 (file-name (git-file-name "esrap" version))))
1692 (build-system asdf-build-system/sbcl)
1693 (native-inputs
1694 `(("fiveam" ,sbcl-fiveam)))
1695 (inputs
1696 `(("alexandria" ,sbcl-alexandria)))
1697 (synopsis "Common Lisp packrat parser")
1698 (description
1699 "This is a packrat parser for Common Lisp.
1700 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1701
1702 @itemize
1703 @item dynamic redefinition of nonterminals
1704 @item inline grammars
1705 @item semantic predicates
1706 @item introspective facilities (describing grammars, tracing, setting breaks)
1707 @item left-recursive grammars
1708 @item functions as terminals
1709 @item accurate, customizable parse error reports
1710 @end itemize\n")
1711 (home-page "https://scymtym.github.io/esrap/")
1712 (license license:expat))))
1713
1714 (define-public cl-esrap
1715 (sbcl-package->cl-source-package sbcl-esrap))
1716
1717 (define-public ecl-esrap
1718 (sbcl-package->ecl-package sbcl-esrap))
1719
1720 (define-public sbcl-split-sequence
1721 (package
1722 (name "sbcl-split-sequence")
1723 (version "2.0.0")
1724 (source
1725 (origin
1726 (method git-fetch)
1727 (uri (git-reference
1728 (url "https://github.com/sharplispers/split-sequence")
1729 (commit (string-append "v" version))))
1730 (sha256
1731 (base32
1732 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1733 (file-name (git-file-name "split-sequence" version))))
1734 (build-system asdf-build-system/sbcl)
1735 (native-inputs
1736 `(("fiveam" ,sbcl-fiveam)))
1737 (synopsis "Member of the Common Lisp Utilities family of programs")
1738 (description
1739 "Splits sequence into a list of subsequences delimited by objects
1740 satisfying the test.")
1741 (home-page "https://cliki.net/split-sequence")
1742 (license license:expat)))
1743
1744 (define-public cl-split-sequence
1745 (sbcl-package->cl-source-package sbcl-split-sequence))
1746
1747 (define-public ecl-split-sequence
1748 (sbcl-package->ecl-package sbcl-split-sequence))
1749
1750 (define-public sbcl-html-encode
1751 (package
1752 (name "sbcl-html-encode")
1753 (version "1.2")
1754 (source
1755 (origin
1756 (method url-fetch)
1757 (uri (string-append
1758 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1759 version ".tgz"))
1760 (sha256
1761 (base32
1762 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1763 (file-name (string-append "colorize" version "-checkout"))))
1764 (build-system asdf-build-system/sbcl)
1765 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1766 (description
1767 "A library for encoding text in various web-savvy encodings.")
1768 (home-page "http://quickdocs.org/html-encode/")
1769 (license license:expat)))
1770
1771 (define-public cl-html-encode
1772 (sbcl-package->cl-source-package sbcl-html-encode))
1773
1774 (define-public ecl-html-encode
1775 (sbcl-package->ecl-package sbcl-html-encode))
1776
1777 (define-public sbcl-colorize
1778 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1779 (package
1780 (name "sbcl-colorize")
1781 (version (git-version "0.0.0" "1" commit))
1782 (source
1783 (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url "https://github.com/kingcons/colorize")
1787 (commit commit)))
1788 (sha256
1789 (base32
1790 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1791 (file-name (git-file-name "colorize" version))))
1792 (build-system asdf-build-system/sbcl)
1793 (inputs
1794 `(("alexandria" ,sbcl-alexandria)
1795 ("split-sequence" ,sbcl-split-sequence)
1796 ("html-encode" ,sbcl-html-encode)))
1797 (synopsis "Common Lisp for syntax highlighting")
1798 (description
1799 "@command{colorize} is a Lisp library for syntax highlighting
1800 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1801 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1802 (home-page "https://github.com/kingcons/colorize")
1803 ;; TODO: Missing license?
1804 (license license:expat))))
1805
1806 (define-public cl-colorize
1807 (sbcl-package->cl-source-package sbcl-colorize))
1808
1809 (define-public ecl-colorize
1810 (sbcl-package->ecl-package sbcl-colorize))
1811
1812 (define-public sbcl-3bmd
1813 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1814 (revision "2"))
1815 (package
1816 (name "sbcl-3bmd")
1817 (version (git-version "0.0.0" revision commit))
1818 (source
1819 (origin
1820 (method git-fetch)
1821 (uri (git-reference
1822 (url "https://github.com/3b/3bmd")
1823 (commit commit)))
1824 (sha256
1825 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1826 (file-name (git-file-name "3bmd" version))))
1827 (build-system asdf-build-system/sbcl)
1828 (arguments
1829 ;; FIXME: #41437 - Build fails when package name starts from a digit
1830 `(#:asd-systems
1831 '("3bmd"
1832 "3bmd-ext-definition-lists"
1833 "3bmd-ext-math"
1834 "3bmd-ext-tables"
1835 "3bmd-ext-wiki-links"
1836 "3bmd-youtube"
1837 "3bmd-ext-code-blocks")))
1838 (inputs
1839 `(("alexandria" ,sbcl-alexandria)
1840 ("colorize" ,sbcl-colorize)
1841 ("esrap" ,sbcl-esrap)
1842 ("split-sequence" ,sbcl-split-sequence)))
1843 (home-page "https://github.com/3b/3bmd")
1844 (synopsis "Markdown processor in Command Lisp using esrap parser")
1845 (description
1846 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1847 for parsing, and grammar based on @command{peg-markdown}.")
1848 (license license:expat))))
1849
1850 (define-public cl-3bmd
1851 (sbcl-package->cl-source-package sbcl-3bmd))
1852
1853 (define-public ecl-3bmd
1854 (sbcl-package->ecl-package sbcl-3bmd))
1855
1856 (define-public sbcl-cl-fad
1857 (package
1858 (name "sbcl-cl-fad")
1859 (version "0.7.6")
1860 (source
1861 (origin
1862 (method git-fetch)
1863 (uri (git-reference
1864 (url "https://github.com/edicl/cl-fad/")
1865 (commit (string-append "v" version))))
1866 (sha256
1867 (base32
1868 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1869 (file-name (string-append "cl-fad" version "-checkout"))))
1870 (build-system asdf-build-system/sbcl)
1871 (inputs
1872 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1873 (synopsis "Portable pathname library for Common Lisp")
1874 (description
1875 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1876 Lisp's standard pathname functions. It is intended to provide some
1877 unification between current CL implementations on Windows, OS X, Linux, and
1878 Unix. Most of the code was written by Peter Seibel for his book Practical
1879 Common Lisp.")
1880 (home-page "https://edicl.github.io/cl-fad/")
1881 (license license:bsd-2)))
1882
1883 (define-public cl-fad
1884 (sbcl-package->cl-source-package sbcl-cl-fad))
1885
1886 (define-public ecl-cl-fad
1887 (sbcl-package->ecl-package sbcl-cl-fad))
1888
1889 (define-public sbcl-fn
1890 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1891 (revision "1"))
1892 (package
1893 (name "sbcl-fn")
1894 (version (git-version "0.0.0" revision commit))
1895 (source
1896 (origin
1897 (method git-fetch)
1898 (uri (git-reference
1899 (url "https://github.com/cbaggers/fn")
1900 (commit commit)))
1901 (file-name (git-file-name "fn" version))
1902 (sha256
1903 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1904 (build-system asdf-build-system/sbcl)
1905 (inputs
1906 `(("named-readtables" ,sbcl-named-readtables)))
1907 (home-page "https://github.com/cbaggers/fn")
1908 (synopsis "Macros for lambda brevity")
1909 (description
1910 "This is a Common Lisp library providing lambda shorthand macros aiming
1911 to be used in cases where the word @emph{lambda} and the arguments are longer
1912 than the body of the lambda.")
1913 (license license:public-domain))))
1914
1915 (define-public ecl-fn
1916 (sbcl-package->ecl-package sbcl-fn))
1917
1918 (define-public cl-fn
1919 (sbcl-package->cl-source-package sbcl-fn))
1920
1921 (define-public sbcl-rt
1922 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1923 (revision "1"))
1924 (package
1925 (name "sbcl-rt")
1926 (version (git-version "1990.12.19" revision commit))
1927 (source
1928 (origin
1929 (method git-fetch)
1930 (uri (git-reference
1931 (url "http://git.kpe.io/rt.git")
1932 (commit commit)))
1933 (file-name (git-file-name name version))
1934 (sha256
1935 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1936 (build-system asdf-build-system/sbcl)
1937 (synopsis "MIT Regression Tester")
1938 (description
1939 "RT provides a framework for writing regression test suites.")
1940 (home-page "https://www.cliki.net/rt")
1941 (license license:expat))))
1942
1943 (define-public cl-rt
1944 (sbcl-package->cl-source-package sbcl-rt))
1945
1946 (define-public ecl-rt
1947 (sbcl-package->ecl-package sbcl-rt))
1948
1949 (define-public sbcl-nibbles
1950 ;; No tagged release since 2018.
1951 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1952 (revision "1"))
1953 (package
1954 (name "sbcl-nibbles")
1955 (version (git-version "0.14" revision commit))
1956 (source
1957 (origin
1958 (method git-fetch)
1959 (uri (git-reference
1960 (url "https://github.com/sharplispers/nibbles/")
1961 (commit commit)))
1962 (sha256
1963 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1964 (file-name (git-file-name "nibbles" version))))
1965 (build-system asdf-build-system/sbcl)
1966 (native-inputs
1967 ;; Tests only.
1968 `(("rt" ,sbcl-rt)))
1969 (synopsis
1970 "Common Lisp library for accessing octet-addressed blocks of data")
1971 (description
1972 "When dealing with network protocols and file formats, it's common to
1973 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1974 flavors. Common Lisp sort of supports this by specifying :element-type for
1975 streams, but that facility is underspecified and there's nothing similar for
1976 read/write from octet vectors. What most people wind up doing is rolling their
1977 own small facility for their particular needs and calling it a day.
1978
1979 This library attempts to be comprehensive and centralize such
1980 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1981 vectors in signed or unsigned flavors are provided; these functions are also
1982 SETFable. Since it's sometimes desirable to read/write directly from streams,
1983 functions for doing so are also provided. On some implementations,
1984 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1985 also be supported.")
1986 (home-page "https://github.com/sharplispers/nibbles")
1987 (license license:bsd-3))))
1988
1989 (define-public cl-nibbles
1990 (sbcl-package->cl-source-package sbcl-nibbles))
1991
1992 (define-public ecl-nibbles
1993 (sbcl-package->ecl-package sbcl-nibbles))
1994
1995 (define-public sbcl-ironclad
1996 (package
1997 (name "sbcl-ironclad")
1998 (version "0.54")
1999 (source
2000 (origin
2001 (method git-fetch)
2002 (uri (git-reference
2003 (url "https://github.com/sharplispers/ironclad/")
2004 (commit (string-append "v" version))))
2005 (sha256
2006 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
2007 (file-name (git-file-name name version))))
2008 (build-system asdf-build-system/sbcl)
2009 (native-inputs
2010 ;; Tests only.
2011 `(("rt" ,sbcl-rt)))
2012 (inputs
2013 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2014 ("flexi-streams" ,sbcl-flexi-streams)))
2015 (synopsis "Cryptographic toolkit written in Common Lisp")
2016 (description
2017 "Ironclad is a cryptography library written entirely in Common Lisp.
2018 It includes support for several popular ciphers, digests, MACs and public key
2019 cryptography algorithms. For several implementations that support Gray
2020 streams, support is included for convenient stream wrappers.")
2021 (home-page "https://github.com/sharplispers/ironclad")
2022 (license license:bsd-3)))
2023
2024 (define-public cl-ironclad
2025 (sbcl-package->cl-source-package sbcl-ironclad))
2026
2027 (define-public ecl-ironclad
2028 (sbcl-package->ecl-package sbcl-ironclad))
2029
2030 (define-public sbcl-named-readtables
2031 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2032 (revision "3"))
2033 (package
2034 (name "sbcl-named-readtables")
2035 (version (git-version "0.9" revision commit))
2036 (source
2037 (origin
2038 (method git-fetch)
2039 (uri (git-reference
2040 (url "https://github.com/melisgl/named-readtables")
2041 (commit commit)))
2042 (sha256
2043 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2044 (file-name (git-file-name "named-readtables" version))))
2045 (build-system asdf-build-system/sbcl)
2046 (home-page "https://github.com/melisgl/named-readtables/")
2047 (synopsis "Library that creates a namespace for named readtables")
2048 (description
2049 "Named readtables is a library that creates a namespace for named
2050 readtables, which is akin to package namespacing in Common Lisp.")
2051 (license license:bsd-3))))
2052
2053 (define-public cl-named-readtables
2054 (sbcl-package->cl-source-package sbcl-named-readtables))
2055
2056 (define-public ecl-named-readtables
2057 (sbcl-package->ecl-package sbcl-named-readtables))
2058
2059 (define-public sbcl-py-configparser
2060 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2061 ;; time 8y ago, it looks like abandoned. VCS of the project:
2062 ;; https://svn.common-lisp.net/py-configparser/trunk
2063 (package
2064 (name "sbcl-py-configparser")
2065 (version "1.0.3")
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append
2070 "https://common-lisp.net/project/py-configparser/releases/"
2071 "py-configparser-" version ".tar.gz"))
2072 (sha256
2073 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2074 (build-system asdf-build-system/sbcl)
2075 (inputs
2076 `(("parse-number" ,sbcl-parse-number)))
2077 (home-page "http://common-lisp.net/project/py-configparser/")
2078 (synopsis "ConfigParser Python module functionality for Common Lisp")
2079 (description "The py-configparser package implements the ConfigParser
2080 Python module functionality in Common Lisp. In short, it implements reading
2081 and writing of .INI-file style configuration files with sections containing
2082 key/value pairs of configuration options. In line with the functionalities in
2083 the python module, does this package implement basic interpolation of option
2084 values in other options.")
2085 (license license:expat)))
2086
2087 (define-public cl-py-configparser
2088 (sbcl-package->cl-source-package sbcl-py-configparser))
2089
2090 (define-public ecl-py-configparser
2091 (sbcl-package->ecl-package sbcl-py-configparser))
2092
2093 (define-public sbcl-pythonic-string-reader
2094 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2095 (package
2096 (name "sbcl-pythonic-string-reader")
2097 (version (git-version "0.0.0" "1" commit))
2098 (source
2099 (origin
2100 (method git-fetch)
2101 (uri (git-reference
2102 (url "https://github.com/smithzvk/pythonic-string-reader/")
2103 (commit commit)))
2104 (sha256
2105 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2106 (file-name (git-file-name "pythonic-string-reader" version))))
2107 (build-system asdf-build-system/sbcl)
2108 (inputs
2109 `(("named-readtables" ,sbcl-named-readtables)))
2110 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2111 (synopsis "Read table modification inspired by Python's three quote strings")
2112 (description "This piece of code sets up some reader macros that make it
2113 simpler to input string literals which contain backslashes and double quotes
2114 This is very useful for writing complicated docstrings and, as it turns out,
2115 writing code that contains string literals that contain code themselves.")
2116 (license license:bsd-3))))
2117
2118 (define-public cl-pythonic-string-reader
2119 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2120
2121 (define-public ecl-pythonic-string-reader
2122 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2123
2124 (define-public sbcl-slime-swank
2125 (package
2126 (name "sbcl-slime-swank")
2127 (version "2.26")
2128 (source
2129 (origin
2130 (file-name (git-file-name "slime-swank" version))
2131 (method git-fetch)
2132 (uri (git-reference
2133 (url "https://github.com/slime/slime/")
2134 (commit (string-append "v" version))))
2135 (sha256
2136 (base32
2137 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2138 (build-system asdf-build-system/sbcl)
2139 (arguments
2140 '(#:asd-systems '("swank")))
2141 (home-page "https://github.com/slime/slime")
2142 (synopsis "Common Lisp Swank server")
2143 (description
2144 "This is only useful if you want to start a Swank server in a Lisp
2145 processes that doesn't run under Emacs. Lisp processes created by
2146 @command{M-x slime} automatically start the server.")
2147 (license (list license:gpl2+ license:public-domain))))
2148
2149 (define-public cl-slime-swank
2150 (sbcl-package->cl-source-package sbcl-slime-swank))
2151
2152 (define-public ecl-slime-swank
2153 (sbcl-package->ecl-package sbcl-slime-swank))
2154
2155 (define-public sbcl-mgl-pax
2156 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2157 (revision "2"))
2158 (package
2159 (name "sbcl-mgl-pax")
2160 (version (git-version "0.0.3" revision commit))
2161 (source
2162 (origin
2163 (method git-fetch)
2164 (uri (git-reference
2165 (url "https://github.com/melisgl/mgl-pax")
2166 (commit commit)))
2167 (sha256
2168 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2169 (file-name (git-file-name "mgl-pax" version))))
2170 (build-system asdf-build-system/sbcl)
2171 (inputs
2172 `(("3bmd" ,sbcl-3bmd)
2173 ("babel" ,sbcl-babel)
2174 ("cl-fad" ,sbcl-cl-fad)
2175 ("ironclad" ,sbcl-ironclad)
2176 ("named-readtables" ,sbcl-named-readtables)
2177 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2178 ("swank" ,sbcl-slime-swank)))
2179 (synopsis "Exploratory programming environment and documentation generator")
2180 (description
2181 "PAX provides an extremely poor man's Explorable Programming
2182 environment. Narrative primarily lives in so called sections that mix markdown
2183 docstrings with references to functions, variables, etc, all of which should
2184 probably have their own docstrings.
2185
2186 The primary focus is on making code easily explorable by using SLIME's
2187 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2188 fanciness in Emacs Integration. Generating documentation from sections and all
2189 the referenced items in Markdown or HTML format is also implemented.
2190
2191 With the simplistic tools provided, one may accomplish similar effects as with
2192 Literate Programming, but documentation is generated from code, not vice versa
2193 and there is no support for chunking yet. Code is first, code must look
2194 pretty, documentation is code.")
2195 (home-page "http://quotenil.com/")
2196 (license license:expat))))
2197
2198 (define-public cl-mgl-pax
2199 (sbcl-package->cl-source-package sbcl-mgl-pax))
2200
2201 (define-public ecl-mgl-pax
2202 (sbcl-package->ecl-package sbcl-mgl-pax))
2203
2204 (define-public sbcl-mssql
2205 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2206 (revision "1"))
2207 (package
2208 (name "sbcl-mssql")
2209 (version (git-version "0.0.3" revision commit))
2210 (source
2211 (origin
2212 (method git-fetch)
2213 (uri (git-reference
2214 (url "https://github.com/archimag/cl-mssql")
2215 (commit commit)))
2216 (file-name (git-file-name "cl-mssql" version))
2217 (sha256
2218 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2219 (build-system asdf-build-system/sbcl)
2220 (inputs
2221 `(("cffi" ,sbcl-cffi)
2222 ("freetds" ,freetds)
2223 ("garbage-pools" ,sbcl-garbage-pools)
2224 ("iterate" ,sbcl-iterate)
2225 ("parse-number" ,sbcl-parse-number)))
2226 (arguments
2227 `(#:phases
2228 (modify-phases %standard-phases
2229 (add-after 'unpack 'fix-paths
2230 (lambda* (#:key inputs #:allow-other-keys)
2231 (substitute* "src/mssql.lisp"
2232 (("libsybdb" all)
2233 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2234 #t)))))
2235 (home-page "https://github.com/archimag/cl-mssql")
2236 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2237 (description
2238 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2239 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2240 project.")
2241 (license license:llgpl))))
2242
2243 (define-public ecl-mssql
2244 (sbcl-package->ecl-package sbcl-mssql))
2245
2246 (define-public cl-mssql
2247 (sbcl-package->cl-source-package sbcl-mssql))
2248
2249 (define-public sbcl-lisp-unit
2250 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2251 (package
2252 (name "sbcl-lisp-unit")
2253 (version (git-version "0.0.0" "1" commit))
2254 (source
2255 (origin
2256 (method git-fetch)
2257 (uri (git-reference
2258 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2259 (commit commit)))
2260 (sha256
2261 (base32
2262 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2263 (file-name (git-file-name "lisp-unit" version))))
2264 (build-system asdf-build-system/sbcl)
2265 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2266 (description
2267 "@command{lisp-unit} is a Common Lisp library that supports unit
2268 testing. It is an extension of the library written by Chris Riesbeck.")
2269 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2270 (license license:expat))))
2271
2272 (define-public cl-lisp-unit
2273 (sbcl-package->cl-source-package sbcl-lisp-unit))
2274
2275 (define-public ecl-lisp-unit
2276 (sbcl-package->ecl-package sbcl-lisp-unit))
2277
2278 (define-public sbcl-anaphora
2279 (package
2280 (name "sbcl-anaphora")
2281 (version "0.9.6")
2282 (source
2283 (origin
2284 (method git-fetch)
2285 (uri (git-reference
2286 (url "https://github.com/tokenrove/anaphora")
2287 (commit version)))
2288 (sha256
2289 (base32
2290 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2291 (file-name (git-file-name "anaphora" version))))
2292 (build-system asdf-build-system/sbcl)
2293 (native-inputs
2294 `(("rt" ,sbcl-rt)))
2295 (synopsis "The anaphoric macro collection from Hell")
2296 (description
2297 "Anaphora is the anaphoric macro collection from Hell: it includes many
2298 new fiends in addition to old friends like @command{aif} and
2299 @command{awhen}.")
2300 (home-page "https://github.com/tokenrove/anaphora")
2301 (license license:public-domain)))
2302
2303 (define-public cl-anaphora
2304 (sbcl-package->cl-source-package sbcl-anaphora))
2305
2306 (define-public ecl-anaphora
2307 (sbcl-package->ecl-package sbcl-anaphora))
2308
2309 (define-public sbcl-lift
2310 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2311 (revision "2"))
2312 (package
2313 (name "sbcl-lift")
2314 (version (git-version "1.7.1" revision commit))
2315 (source
2316 (origin
2317 (method git-fetch)
2318 (uri (git-reference
2319 (url "https://github.com/gwkkwg/lift")
2320 (commit commit)))
2321 (sha256
2322 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2323 (file-name (git-file-name "lift" version))
2324 (modules '((guix build utils)))
2325 (snippet
2326 ;; Don't keep the bundled website
2327 `(begin
2328 (delete-file-recursively "website")
2329 #t))))
2330 (build-system asdf-build-system/sbcl)
2331 (arguments
2332 ;; The tests require a debugger, but we run with the debugger disabled.
2333 '(#:tests? #f))
2334 (synopsis "LIsp Framework for Testing")
2335 (description
2336 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2337 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2338 testcases are organized into hierarchical testsuites each of which can have
2339 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2340 supports randomized testing, benchmarking, profiling, and reporting.")
2341 (home-page "https://github.com/gwkkwg/lift")
2342 (license license:expat))))
2343
2344 (define-public cl-lift
2345 (sbcl-package->cl-source-package sbcl-lift))
2346
2347 (define-public ecl-lift
2348 (sbcl-package->ecl-package sbcl-lift))
2349
2350 (define-public sbcl-let-plus
2351 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2352 (package
2353 (name "sbcl-let-plus")
2354 (version (git-version "0.0.0" "1" commit))
2355 (source
2356 (origin
2357 (method git-fetch)
2358 (uri (git-reference
2359 (url "https://github.com/sharplispers/let-plus")
2360 (commit commit)))
2361 (sha256
2362 (base32
2363 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2364 (file-name (git-file-name "let-plus" version))))
2365 (build-system asdf-build-system/sbcl)
2366 (inputs
2367 `(("alexandria" ,sbcl-alexandria)
2368 ("anaphora" ,sbcl-anaphora)))
2369 (native-inputs
2370 `(("lift" ,sbcl-lift)))
2371 (synopsis "Destructuring extension of let*")
2372 (description
2373 "This library implements the let+ macro, which is a dectructuring
2374 extension of let*. It features:
2375
2376 @itemize
2377 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2378 not counting tests)
2379 @item Placeholder macros allow editor hints and syntax highlighting
2380 @item @command{&ign} for ignored values (in forms where that makes sense)
2381 @item Very easy to extend
2382 @end itemize\n")
2383 (home-page "https://github.com/sharplispers/let-plus")
2384 (license license:boost1.0))))
2385
2386 (define-public cl-let-plus
2387 (sbcl-package->cl-source-package sbcl-let-plus))
2388
2389 (define-public ecl-let-plus
2390 (sbcl-package->ecl-package sbcl-let-plus))
2391
2392 (define-public sbcl-cl-colors
2393 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2394 (package
2395 (name "sbcl-cl-colors")
2396 (version (git-version "0.0.0" "1" commit))
2397 (source
2398 (origin
2399 (method git-fetch)
2400 (uri (git-reference
2401 (url "https://github.com/tpapp/cl-colors")
2402 (commit commit)))
2403 (sha256
2404 (base32
2405 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2406 (file-name (git-file-name "cl-colors" version))))
2407 (build-system asdf-build-system/sbcl)
2408 (inputs
2409 `(("alexandria" ,sbcl-alexandria)
2410 ("let-plus" ,sbcl-let-plus)))
2411 (synopsis "Simple color library for Common Lisp")
2412 (description
2413 "This is a very simple color library for Common Lisp, providing
2414
2415 @itemize
2416 @item Types for representing colors in HSV and RGB spaces.
2417 @item Simple conversion functions between the above types (and also
2418 hexadecimal representation for RGB).
2419 @item Some predefined colors (currently X11 color names – of course the
2420 library does not depend on X11).Because color in your terminal is nice.
2421 @end itemize
2422
2423 This library is no longer supported by its author.")
2424 (home-page "https://github.com/tpapp/cl-colors")
2425 (license license:boost1.0))))
2426
2427 (define-public cl-colors
2428 (sbcl-package->cl-source-package sbcl-cl-colors))
2429
2430 (define-public ecl-cl-colors
2431 (sbcl-package->ecl-package sbcl-cl-colors))
2432
2433 (define-public sbcl-cl-ansi-text
2434 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2435 (package
2436 (name "sbcl-cl-ansi-text")
2437 (version (git-version "1.0.0" "1" commit))
2438 (source
2439 (origin
2440 (method git-fetch)
2441 (uri (git-reference
2442 (url "https://github.com/pnathan/cl-ansi-text")
2443 (commit commit)))
2444 (sha256
2445 (base32
2446 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2447 (file-name (git-file-name "cl-ansi-text" version))))
2448 (build-system asdf-build-system/sbcl)
2449 (inputs
2450 `(("alexandria" ,sbcl-alexandria)
2451 ("cl-colors" ,sbcl-cl-colors)))
2452 (native-inputs
2453 `(("fiveam" ,sbcl-fiveam)))
2454 (synopsis "ANSI terminal color implementation for Common Lisp")
2455 (description
2456 "@command{cl-ansi-text} provides utilities which enable printing to an
2457 ANSI terminal with colored text. It provides the macro @command{with-color}
2458 which causes everything printed in the body to be displayed with the provided
2459 color. It further provides functions which will print the argument with the
2460 named color.")
2461 (home-page "https://github.com/pnathan/cl-ansi-text")
2462 (license license:llgpl))))
2463
2464 (define-public cl-ansi-text
2465 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2466
2467 (define-public ecl-cl-ansi-text
2468 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2469
2470 (define-public sbcl-prove
2471 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2472 (package
2473 (name "sbcl-prove")
2474 (version (git-version "1.0.0" "1" commit))
2475 (source
2476 (origin
2477 (method git-fetch)
2478 (uri (git-reference
2479 (url "https://github.com/fukamachi/prove")
2480 (commit commit)))
2481 (sha256
2482 (base32
2483 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2484 (file-name (git-file-name "prove" version))))
2485 (build-system asdf-build-system/sbcl)
2486 (inputs
2487 `(("alexandria" ,sbcl-alexandria)
2488 ("cl-ppcre" ,sbcl-cl-ppcre)
2489 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2490 (synopsis "Yet another unit testing framework for Common Lisp")
2491 (description
2492 "This project was originally called @command{cl-test-more}.
2493 @command{prove} is yet another unit testing framework for Common Lisp. The
2494 advantages of @command{prove} are:
2495
2496 @itemize
2497 @item Various simple functions for testing and informative error messages
2498 @item ASDF integration
2499 @item Extensible test reporters
2500 @item Colorizes the report if it's available (note for SLIME)
2501 @item Reports test durations
2502 @end itemize\n")
2503 (home-page "https://github.com/fukamachi/prove")
2504 (license license:expat))))
2505
2506 (define-public cl-prove
2507 (sbcl-package->cl-source-package sbcl-prove))
2508
2509 (define-public ecl-prove
2510 (sbcl-package->ecl-package sbcl-prove))
2511
2512 (define-public sbcl-proc-parse
2513 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2514 (package
2515 (name "sbcl-proc-parse")
2516 (version (git-version "0.0.0" "1" commit))
2517 (source
2518 (origin
2519 (method git-fetch)
2520 (uri (git-reference
2521 (url "https://github.com/fukamachi/proc-parse")
2522 (commit commit)))
2523 (sha256
2524 (base32
2525 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2526 (file-name (git-file-name "proc-parse" version))))
2527 (build-system asdf-build-system/sbcl)
2528 (inputs
2529 `(("alexandria" ,sbcl-alexandria)
2530 ("babel" ,sbcl-babel)))
2531 (native-inputs
2532 `(("prove" ,sbcl-prove)))
2533 (arguments
2534 ;; TODO: Tests don't find "proc-parse-test", why?
2535 `(#:tests? #f))
2536 (synopsis "Procedural vector parser")
2537 (description
2538 "This is a string/octets parser library for Common Lisp with speed and
2539 readability in mind. Unlike other libraries, the code is not a
2540 pattern-matching-like, but a char-by-char procedural parser.")
2541 (home-page "https://github.com/fukamachi/proc-parse")
2542 (license license:bsd-2))))
2543
2544 (define-public cl-proc-parse
2545 (sbcl-package->cl-source-package sbcl-proc-parse))
2546
2547 (define-public ecl-proc-parse
2548 (sbcl-package->ecl-package sbcl-proc-parse))
2549
2550 (define-public sbcl-parse-float
2551 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2552 (revision "2"))
2553 (package
2554 (name "sbcl-parse-float")
2555 (version (git-version "0.0.0" revision commit))
2556 (source
2557 (origin
2558 (method git-fetch)
2559 (uri (git-reference
2560 (url "https://github.com/soemraws/parse-float")
2561 (commit commit)))
2562 (sha256
2563 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2564 (file-name (git-file-name "proc-parse" version))))
2565 (build-system asdf-build-system/sbcl)
2566 (arguments
2567 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2568 `(#:asd-systems '("parse-float" "parse-float-tests")))
2569 (native-inputs
2570 `(("lisp-unit" ,sbcl-lisp-unit)))
2571 (inputs
2572 `(("alexandria" ,sbcl-alexandria)))
2573 (home-page "https://github.com/soemraws/parse-float")
2574 (synopsis "Parse a floating point value from a string in Common Lisp")
2575 (description
2576 "This package exports the following function to parse floating-point
2577 values from a string in Common Lisp.")
2578 (license license:public-domain))))
2579
2580 (define-public cl-parse-float
2581 (sbcl-package->cl-source-package sbcl-parse-float))
2582
2583 (define-public ecl-parse-float
2584 (sbcl-package->ecl-package sbcl-parse-float))
2585
2586 (define-public sbcl-cl-string-match
2587 (let ((revision "1")
2588 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2589 (package
2590 (name "sbcl-cl-string-match")
2591 (version (git-version "0" revision changeset))
2592 (source
2593 (origin
2594 (method hg-fetch)
2595 (uri (hg-reference
2596 (url "https://bitbucket.org/vityok/cl-string-match/")
2597 (changeset changeset)))
2598 (sha256
2599 (base32
2600 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2601 (file-name (git-file-name "cl-string-match" version))))
2602 (build-system asdf-build-system/sbcl)
2603 (inputs
2604 `(("alexandria" ,sbcl-alexandria)
2605 ("babel" ,sbcl-babel)
2606 ("iterate" ,sbcl-iterate)
2607 ("jpl-queues" ,sbcl-jpl-queues)
2608 ("jpl-util" ,sbcl-jpl-util)
2609 ("mgl-pax" ,sbcl-mgl-pax)
2610 ("parse-float" ,sbcl-parse-float)
2611 ("proc-parse" ,sbcl-proc-parse)
2612 ("yacc" ,sbcl-cl-yacc)))
2613 ;; TODO: Tests are not evaluated properly.
2614 (native-inputs
2615 ;; For testing:
2616 `(("lisp-unit" ,sbcl-lisp-unit)))
2617 (arguments
2618 `(#:tests? #f))
2619 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2620 (description
2621 "@command{cl-strings} is a small, portable, dependency-free set of
2622 utilities that make it even easier to manipulate text in Common Lisp. It has
2623 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2624 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2625 (license license:bsd-3))))
2626
2627 (define-public cl-string-match
2628 (sbcl-package->cl-source-package sbcl-cl-string-match))
2629
2630 (define-public ecl-cl-string-match
2631 (sbcl-package->ecl-package sbcl-cl-string-match))
2632
2633 (define-public sbcl-ptester
2634 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2635 (revision "1"))
2636 (package
2637 (name "sbcl-ptester")
2638 (version (git-version "2.1.3" revision commit))
2639 (source
2640 (origin
2641 (method git-fetch)
2642 (uri (git-reference
2643 (url "http://git.kpe.io/ptester.git")
2644 (commit commit)))
2645 (file-name (git-file-name name version))
2646 (sha256
2647 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2648 (build-system asdf-build-system/sbcl)
2649 (home-page "http://quickdocs.org/ptester/")
2650 (synopsis "Portable test harness package")
2651 (description
2652 "@command{ptester} is a portable testing framework based on Franz's
2653 tester module.")
2654 (license license:llgpl))))
2655
2656 (define-public cl-ptester
2657 (sbcl-package->cl-source-package sbcl-ptester))
2658
2659 (define-public ecl-ptester
2660 (sbcl-package->ecl-package sbcl-ptester))
2661
2662 (define-public sbcl-puri
2663 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2664 (revision "2"))
2665 (package
2666 (name "sbcl-puri")
2667 (version (git-version "1.5.7" revision commit))
2668 (source
2669 (origin
2670 (method git-fetch)
2671 (uri (git-reference
2672 (url "http://git.kpe.io/puri.git")
2673 (commit commit)))
2674 (file-name (git-file-name "puri" version))
2675 (sha256
2676 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2677 (build-system asdf-build-system/sbcl)
2678 (native-inputs
2679 `(("ptester" ,sbcl-ptester)))
2680 (home-page "http://puri.kpe.io/")
2681 (synopsis "Portable URI Library")
2682 (description
2683 "This is a portable Universal Resource Identifier library for Common
2684 Lisp programs. It parses URI according to the RFC 2396 specification.")
2685 (license license:llgpl))))
2686
2687 (define-public cl-puri
2688 (sbcl-package->cl-source-package sbcl-puri))
2689
2690 (define-public ecl-puri
2691 (sbcl-package->ecl-package sbcl-puri))
2692
2693 (define-public sbcl-qmynd
2694 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2695 (revision "1"))
2696 (package
2697 (name "sbcl-qmynd")
2698 (version (git-version "1.0.0" revision commit))
2699 (source
2700 (origin
2701 (method git-fetch)
2702 (uri (git-reference
2703 (url "https://github.com/qitab/qmynd")
2704 (commit commit)))
2705 (file-name (git-file-name name version))
2706 (sha256
2707 (base32
2708 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2709 (build-system asdf-build-system/sbcl)
2710 (inputs
2711 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2712 ("babel" ,sbcl-babel)
2713 ("chipz" ,sbcl-chipz)
2714 ("cl+ssl" ,sbcl-cl+ssl)
2715 ("flexi-streams" ,sbcl-flexi-streams)
2716 ("ironclad" ,sbcl-ironclad)
2717 ("salza2" ,sbcl-salza2)
2718 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2719 ("usocket" ,sbcl-usocket)))
2720 (home-page "https://github.com/qitab/qmynd")
2721 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2722 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2723 library that directly talks to a MySQL server in its native network protocol.
2724
2725 It's a part of QITAB umbrella project.")
2726 (license license:expat))))
2727
2728 (define-public ecl-qmynd
2729 (sbcl-package->ecl-package sbcl-qmynd))
2730
2731 (define-public cl-qmynd
2732 (sbcl-package->cl-source-package sbcl-qmynd))
2733
2734 (define-public sbcl-queues
2735 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2736 (package
2737 (name "sbcl-queues")
2738 (version (git-version "0.0.0" "1" commit))
2739 (source
2740 (origin
2741 (method git-fetch)
2742 (uri (git-reference
2743 (url "https://github.com/oconnore/queues")
2744 (commit commit)))
2745 (file-name (git-file-name "queues" version))
2746 (sha256
2747 (base32
2748 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2749 (build-system asdf-build-system/sbcl)
2750 (inputs
2751 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2752 (arguments
2753 '(#:asd-systems '("queues"
2754 "queues.simple-queue"
2755 "queues.simple-cqueue"
2756 "queues.priority-queue"
2757 "queues.priority-cqueue")))
2758 (home-page "https://github.com/oconnore/queues")
2759 (synopsis "Common Lisp queue library")
2760 (description
2761 "This is a simple queue library for Common Lisp with features such as
2762 non-consing thread safe queues and fibonacci priority queues.")
2763 (license license:expat))))
2764
2765 (define-public cl-queues
2766 (sbcl-package->cl-source-package sbcl-queues))
2767
2768 (define-public ecl-queues
2769 (sbcl-package->ecl-package sbcl-queues))
2770
2771 (define-public sbcl-glsl-packing
2772 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2773 (revision "1"))
2774 (package
2775 (name "sbcl-glsl-packing")
2776 (version (git-version "0.0.0" revision commit))
2777 (source
2778 (origin
2779 (method git-fetch)
2780 (uri (git-reference
2781 (url "https://github.com/3b/glsl-packing/")
2782 (commit commit)))
2783 (file-name (git-file-name "glsl-packing" version))
2784 (sha256
2785 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2786 (build-system asdf-build-system/sbcl)
2787 (inputs
2788 `(("alexandria" ,sbcl-alexandria)))
2789 (home-page "https://github.com/3b/glsl-packing/")
2790 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2791 (description
2792 "This is a Common Lisp library to calculate std140 or std430 layouts for
2793 a glsl UBO/SSBO.")
2794 (license license:expat))))
2795
2796 (define-public ecl-glsl-packing
2797 (sbcl-package->ecl-package sbcl-glsl-packing))
2798
2799 (define-public cl-glsl-packing
2800 (sbcl-package->cl-source-package sbcl-glsl-packing))
2801
2802 (define-public sbcl-glsl-spec
2803 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2804 (revision "1"))
2805 (package
2806 (name "sbcl-glsl-spec")
2807 (version (git-version "0.0.0" revision commit))
2808 (source
2809 (origin
2810 (method git-fetch)
2811 (uri (git-reference
2812 (url "https://github.com/cbaggers/glsl-spec")
2813 (commit commit)))
2814 (file-name (git-file-name "glsl-spec" version))
2815 (sha256
2816 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2817 (build-system asdf-build-system/sbcl)
2818 (arguments
2819 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2820 (home-page "https://github.com/cbaggers/glsl-spec")
2821 (synopsis "Common Lisp GLSL specification as a datastructure")
2822 (description
2823 "This package contains the specification of all functions and variables
2824 from GLSL as data.")
2825 (license license:unlicense))))
2826
2827 (define-public ecl-glsl-spec
2828 (sbcl-package->ecl-package sbcl-glsl-spec))
2829
2830 (define-public cl-glsl-spec
2831 (sbcl-package->cl-source-package sbcl-glsl-spec))
2832
2833 (define-public sbcl-varjo
2834 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2835 (revision "1"))
2836 (package
2837 (name "sbcl-varjo")
2838 (version (git-version "0.0.0" revision commit))
2839 (source
2840 (origin
2841 (method git-fetch)
2842 (uri (git-reference
2843 (url "https://github.com/cbaggers/varjo")
2844 (commit commit)))
2845 (file-name (git-file-name "varjo" version))
2846 (sha256
2847 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2848 (build-system asdf-build-system/sbcl)
2849 (native-inputs
2850 `(("fiveam" ,sbcl-fiveam)))
2851 (inputs
2852 `(("alexandria" ,sbcl-alexandria)
2853 ("cl-ppcre" ,sbcl-cl-ppcre)
2854 ("documentation-utils" ,sbcl-documentation-utils)
2855 ("fn" ,sbcl-fn)
2856 ("glsl-spec" ,sbcl-glsl-spec)
2857 ("named-readtables" ,sbcl-named-readtables)
2858 ("parse-float" ,sbcl-parse-float)
2859 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2860 (home-page "https://github.com/cbaggers/varjo")
2861 (synopsis "Lisp to GLSL Language Translator")
2862 (description
2863 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2864 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2865 is statically typed so there are differences.")
2866 (license license:bsd-2))))
2867
2868 (define-public ecl-varjo
2869 (sbcl-package->ecl-package sbcl-varjo))
2870
2871 (define-public cl-varjo
2872 (sbcl-package->cl-source-package sbcl-varjo))
2873
2874 (define-public sbcl-cffi
2875 (package
2876 (name "sbcl-cffi")
2877 (version "0.23.0")
2878 (source
2879 (origin
2880 (method git-fetch)
2881 (uri (git-reference
2882 (url "https://github.com/cffi/cffi")
2883 (commit (string-append "v" version))))
2884 (file-name (git-file-name "cffi-bootstrap" version))
2885 (sha256
2886 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2887 (build-system asdf-build-system/sbcl)
2888 (inputs
2889 `(("alexandria" ,sbcl-alexandria)
2890 ("babel" ,sbcl-babel)
2891 ("libffi" ,libffi)
2892 ("trivial-features" ,sbcl-trivial-features)))
2893 (native-inputs
2894 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2895 ("pkg-config" ,pkg-config)
2896 ("rt" ,sbcl-rt)))
2897 (arguments
2898 '(#:phases
2899 (modify-phases %standard-phases
2900 (add-after 'unpack 'fix-arm-support
2901 (lambda _
2902 ;; This is apparently deprecated since libffi-3.3.
2903 (substitute* "libffi/libffi-types.lisp"
2904 (("\\\(\\\(:unix64.*") ")\n"))
2905 #t))
2906 (add-after 'unpack 'fix-paths
2907 (lambda* (#:key inputs #:allow-other-keys)
2908 (substitute* "libffi/libffi.lisp"
2909 (("libffi.so.7" all) (string-append
2910 (assoc-ref inputs "libffi")
2911 "/lib/" all)))
2912 (substitute* "toolchain/c-toolchain.lisp"
2913 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2914 (add-after 'build 'install-headers
2915 (lambda* (#:key outputs #:allow-other-keys)
2916 (install-file "grovel/common.h"
2917 (string-append
2918 (assoc-ref outputs "out")
2919 "/include/grovel")))))
2920 #:asd-files '("cffi.asd"
2921 "cffi-toolchain.asd"
2922 "cffi-grovel.asd"
2923 "cffi-libffi.asd"
2924 "cffi-uffi-compat.asd")
2925 #:asd-systems '("cffi"
2926 "cffi-libffi"
2927 "cffi-uffi-compat")))
2928 (home-page "https://common-lisp.net/project/cffi/")
2929 (synopsis "Common Foreign Function Interface for Common Lisp")
2930 (description "The Common Foreign Function Interface (CFFI)
2931 purports to be a portable foreign function interface for Common Lisp.
2932 The CFFI library is composed of a Lisp-implementation-specific backend
2933 in the CFFI-SYS package, and a portable frontend in the CFFI
2934 package.")
2935 (license license:expat)))
2936
2937 (define-public cl-cffi
2938 (sbcl-package->cl-source-package sbcl-cffi))
2939
2940 (define-public ecl-cffi
2941 (sbcl-package->ecl-package sbcl-cffi))
2942
2943 (define-public sbcl-cffi-c-ref
2944 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
2945 (revision "0"))
2946 (package
2947 (name "sbcl-cffi-c-ref")
2948 (version (git-version "1.0" revision commit))
2949 (source
2950 (origin
2951 (method git-fetch)
2952 (uri (git-reference
2953 (url "https://github.com/borodust/cffi-c-ref")
2954 (commit commit)))
2955 (sha256
2956 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
2957 (file-name (git-file-name "cffi-c-ref" version))))
2958 (build-system asdf-build-system/sbcl)
2959 (inputs
2960 `(("alexandria" ,sbcl-alexandria)
2961 ("cffi" ,sbcl-cffi)))
2962 (synopsis "Streamlined access to foreign memory")
2963 (description
2964 "This Common Lisp library provides macros to access foreign memory.")
2965 (home-page "https://github.com/borodust/cffi-c-ref")
2966 (license license:expat))))
2967
2968 (define-public cl-cffi-c-ref
2969 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
2970
2971 (define-public ecl-cffi-c-ref
2972 (sbcl-package->ecl-package sbcl-cffi-c-ref))
2973
2974 (define-public sbcl-cl-sqlite
2975 (package
2976 (name "sbcl-cl-sqlite")
2977 (version "0.2.1")
2978 (source
2979 (origin
2980 (method git-fetch)
2981 (uri (git-reference
2982 (url "https://github.com/dmitryvk/cl-sqlite")
2983 (commit version)))
2984 (file-name (git-file-name "cl-sqlite" version))
2985 (sha256
2986 (base32
2987 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2988 (build-system asdf-build-system/sbcl)
2989 (inputs
2990 `(("iterate" ,sbcl-iterate)
2991 ("cffi" ,sbcl-cffi)
2992 ("sqlite" ,sqlite)))
2993 (native-inputs
2994 `(("fiveam" ,sbcl-fiveam)
2995 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2996 (arguments
2997 `(#:asd-systems '("sqlite")
2998 #:phases
2999 (modify-phases %standard-phases
3000 (add-after 'unpack 'fix-paths
3001 (lambda* (#:key inputs #:allow-other-keys)
3002 (substitute* "sqlite-ffi.lisp"
3003 (("libsqlite3" all) (string-append
3004 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3005 (home-page "https://common-lisp.net/project/cl-sqlite/")
3006 (synopsis "Common Lisp binding for SQLite")
3007 (description
3008 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3009 relational database engine.")
3010 (license license:public-domain)))
3011
3012 (define-public cl-sqlite
3013 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3014
3015 (define-public ecl-cl-sqlite
3016 (sbcl-package->ecl-package sbcl-cl-sqlite))
3017
3018 (define-public sbcl-parenscript
3019 ;; Source archives are overwritten on every release, we use the Git repo instead.
3020 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3021 (package
3022 (name "sbcl-parenscript")
3023 (version (git-version "2.7.1" "1" commit))
3024 (source
3025 (origin
3026 (method git-fetch)
3027 (uri (git-reference
3028 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3029 (commit commit)))
3030 (file-name (git-file-name "parenscript" version))
3031 (sha256
3032 (base32
3033 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3034 (build-system asdf-build-system/sbcl)
3035 (inputs
3036 `(("cl-ppcre" ,sbcl-cl-ppcre)
3037 ("anaphora" ,sbcl-anaphora)
3038 ("named-readtables" ,sbcl-named-readtables)))
3039 (home-page "https://common-lisp.net/project/parenscript/")
3040 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3041 (description
3042 "Parenscript is a translator from an extended subset of Common Lisp to
3043 JavaScript. Parenscript code can run almost identically on both the
3044 browser (as JavaScript) and server (as Common Lisp).
3045
3046 Parenscript code is treated the same way as Common Lisp code, making the full
3047 power of Lisp macros available for JavaScript. This provides a web
3048 development environment that is unmatched in its ability to reduce code
3049 duplication and provide advanced meta-programming facilities to web
3050 developers.
3051
3052 At the same time, Parenscript is different from almost all other \"language
3053 X\" to JavaScript translators in that it imposes almost no overhead:
3054
3055 @itemize
3056 @item No run-time dependencies: Any piece of Parenscript code is runnable
3057 as-is. There are no JavaScript files to include.
3058 @item Native types: Parenscript works entirely with native JavaScript data
3059 types. There are no new types introduced, and object prototypes are not
3060 touched.
3061 @item Native calling convention: Any JavaScript code can be called without the
3062 need for bindings. Likewise, Parenscript can be used to make efficient,
3063 self-contained JavaScript libraries.
3064 @item Readable code: Parenscript generates concise, formatted, idiomatic
3065 JavaScript code. Identifier names are preserved. This enables seamless
3066 debugging in tools like Firebug.
3067 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3068 Lisp features. The generated code is almost as fast as hand-written
3069 JavaScript.
3070 @end itemize\n")
3071 (license license:bsd-3))))
3072
3073 (define-public cl-parenscript
3074 (sbcl-package->cl-source-package sbcl-parenscript))
3075
3076 (define-public ecl-parenscript
3077 (sbcl-package->ecl-package sbcl-parenscript))
3078
3079 (define-public sbcl-cl-json
3080 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3081 (package
3082 (name "sbcl-cl-json")
3083 (version (git-version "0.5" "1" commit))
3084 (source
3085 (origin
3086 (method git-fetch)
3087 (uri (git-reference
3088 (url "https://github.com/hankhero/cl-json")
3089 (commit commit)))
3090 (file-name (git-file-name "cl-json" version))
3091 (sha256
3092 (base32
3093 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3094 (build-system asdf-build-system/sbcl)
3095 (native-inputs
3096 `(("fiveam" ,sbcl-fiveam)))
3097 (home-page "https://github.com/hankhero/cl-json")
3098 (synopsis "JSON encoder and decoder for Common-Lisp")
3099 (description
3100 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3101 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3102 and the decoder are highly customizable; at the same time, the default
3103 settings ensure a very simple mode of operation, similar to that provided by
3104 @command{yason} or @command{st-json}.")
3105 (license license:expat))))
3106
3107 (define-public cl-json
3108 (sbcl-package->cl-source-package sbcl-cl-json))
3109
3110 (define-public ecl-cl-json
3111 (sbcl-package->ecl-package sbcl-cl-json))
3112
3113 (define-public sbcl-unix-opts
3114 (package
3115 (name "sbcl-unix-opts")
3116 (version "0.1.7")
3117 (source
3118 (origin
3119 (method git-fetch)
3120 (uri (git-reference
3121 (url "https://github.com/libre-man/unix-opts")
3122 (commit version)))
3123 (file-name (git-file-name "unix-opts" version))
3124 (sha256
3125 (base32
3126 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3127 (build-system asdf-build-system/sbcl)
3128 (home-page "https://github.com/hankhero/cl-json")
3129 (synopsis "Unix-style command line options parser")
3130 (description
3131 "This is a minimalistic parser of command line options. The main
3132 advantage of the library is the ability to concisely define command line
3133 options once and then use this definition for parsing and extraction of
3134 command line arguments, as well as printing description of command line
3135 options (you get --help for free). This way you don't need to repeat
3136 yourself. Also, @command{unix-opts} doesn't depend on anything and
3137 precisely controls the behavior of the parser via Common Lisp restarts.")
3138 (license license:expat)))
3139
3140 (define-public cl-unix-opts
3141 (sbcl-package->cl-source-package sbcl-unix-opts))
3142
3143 (define-public ecl-unix-opts
3144 (sbcl-package->ecl-package sbcl-unix-opts))
3145
3146 (define-public sbcl-trivial-garbage
3147 (package
3148 (name "sbcl-trivial-garbage")
3149 (version "0.21")
3150 (source
3151 (origin
3152 (method git-fetch)
3153 (uri (git-reference
3154 (url "https://github.com/trivial-garbage/trivial-garbage")
3155 (commit (string-append "v" version))))
3156 (file-name (git-file-name "trivial-garbage" version))
3157 (sha256
3158 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3159 (build-system asdf-build-system/sbcl)
3160 (native-inputs
3161 `(("rt" ,sbcl-rt)))
3162 (home-page "https://common-lisp.net/project/trivial-garbage/")
3163 (synopsis "Portable GC-related APIs for Common Lisp")
3164 (description "@command{trivial-garbage} provides a portable API to
3165 finalizers, weak hash-tables and weak pointers on all major implementations of
3166 the Common Lisp programming language.")
3167 (license license:public-domain)))
3168
3169 (define-public cl-trivial-garbage
3170 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3171
3172 (define-public ecl-trivial-garbage
3173 (sbcl-package->ecl-package sbcl-trivial-garbage))
3174
3175 (define-public sbcl-closer-mop
3176 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3177 (package
3178 (name "sbcl-closer-mop")
3179 (version (git-version "1.0.0" "2" commit))
3180 (source
3181 (origin
3182 (method git-fetch)
3183 (uri (git-reference
3184 (url "https://github.com/pcostanza/closer-mop")
3185 (commit commit)))
3186 (sha256
3187 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3188 (file-name (git-file-name "closer-mop" version ))))
3189 (build-system asdf-build-system/sbcl)
3190 (home-page "https://github.com/pcostanza/closer-mop")
3191 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3192 (description "Closer to MOP is a compatibility layer that rectifies many
3193 of the absent or incorrect CLOS MOP features across a broad range of Common
3194 Lisp implementations.")
3195 (license license:expat))))
3196
3197 (define-public cl-closer-mop
3198 (sbcl-package->cl-source-package sbcl-closer-mop))
3199
3200 (define-public ecl-closer-mop
3201 (sbcl-package->ecl-package sbcl-closer-mop))
3202
3203 (define-public sbcl-cl-cffi-gtk
3204 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3205 (package
3206 (name "sbcl-cl-cffi-gtk")
3207 (version (git-version "0.11.2" "2" commit))
3208 (source
3209 (origin
3210 (method git-fetch)
3211 (uri (git-reference
3212 (url "https://github.com/Ferada/cl-cffi-gtk/")
3213 (commit commit)))
3214 (file-name (git-file-name "cl-cffi-gtk" version))
3215 (sha256
3216 (base32
3217 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3218 (build-system asdf-build-system/sbcl)
3219 (native-inputs
3220 `(("fiveam" ,sbcl-fiveam)))
3221 (inputs
3222 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3223 ("cairo" ,cairo)
3224 ("cffi" ,sbcl-cffi)
3225 ("closer-mop" ,sbcl-closer-mop)
3226 ("gdk-pixbuf" ,gdk-pixbuf)
3227 ("glib" ,glib)
3228 ("gtk" ,gtk+)
3229 ("iterate" ,sbcl-iterate)
3230 ("pango" ,pango)
3231 ("trivial-features" ,sbcl-trivial-features)
3232 ("trivial-garbage" ,sbcl-trivial-garbage)))
3233 (arguments
3234 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3235 "glib/cl-cffi-gtk-glib.asd"
3236 "gobject/cl-cffi-gtk-gobject.asd"
3237 "gio/cl-cffi-gtk-gio.asd"
3238 "cairo/cl-cffi-gtk-cairo.asd"
3239 "pango/cl-cffi-gtk-pango.asd"
3240 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3241 "gdk/cl-cffi-gtk-gdk.asd")
3242 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3243 ;; TODO: Tests fail with memory fault.
3244 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3245 #:tests? #f
3246 #:phases
3247 (modify-phases %standard-phases
3248 (add-after 'unpack 'fix-paths
3249 (lambda* (#:key inputs #:allow-other-keys)
3250 (substitute* "glib/glib.init.lisp"
3251 (("libglib|libgthread" all)
3252 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3253 (substitute* "gobject/gobject.init.lisp"
3254 (("libgobject" all)
3255 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3256 (substitute* "gio/gio.init.lisp"
3257 (("libgio" all)
3258 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3259 (substitute* "cairo/cairo.init.lisp"
3260 (("libcairo" all)
3261 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3262 (substitute* "pango/pango.init.lisp"
3263 (("libpango" all)
3264 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3265 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3266 (("libgdk_pixbuf" all)
3267 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3268 (substitute* "gdk/gdk.init.lisp"
3269 (("libgdk" all)
3270 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3271 (substitute* "gdk/gdk.package.lisp"
3272 (("libgtk" all)
3273 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3274 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3275 (synopsis "Common Lisp binding for GTK+3")
3276 (description
3277 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3278 is a library for creating graphical user interfaces.")
3279 (license license:lgpl3))))
3280
3281 (define-public cl-cffi-gtk
3282 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3283
3284 (define-public ecl-cl-cffi-gtk
3285 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3286
3287 (define-public sbcl-cl-webkit
3288 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3289 (package
3290 (name "sbcl-cl-webkit")
3291 (version (git-version "2.4" "10" commit))
3292 (source
3293 (origin
3294 (method git-fetch)
3295 (uri (git-reference
3296 (url "https://github.com/joachifm/cl-webkit")
3297 (commit commit)))
3298 (file-name (git-file-name "cl-webkit" version))
3299 (sha256
3300 (base32
3301 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3302 (build-system asdf-build-system/sbcl)
3303 (inputs
3304 `(("cffi" ,sbcl-cffi)
3305 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3306 ("webkitgtk" ,webkitgtk)))
3307 (arguments
3308 `(#:asd-systems '("cl-webkit2")
3309 #:phases
3310 (modify-phases %standard-phases
3311 (add-after 'unpack 'fix-paths
3312 (lambda* (#:key inputs #:allow-other-keys)
3313 (substitute* "webkit2/webkit2.init.lisp"
3314 (("libwebkit2gtk" all)
3315 (string-append
3316 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3317 (home-page "https://github.com/joachifm/cl-webkit")
3318 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3319 (description
3320 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3321 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3322 browsing capabilities to an application, leveraging the full power of the
3323 WebKit browsing engine.")
3324 (license license:expat))))
3325
3326 (define-public cl-webkit
3327 (sbcl-package->cl-source-package sbcl-cl-webkit))
3328
3329 (define-public ecl-cl-webkit
3330 (sbcl-package->ecl-package sbcl-cl-webkit))
3331
3332 (define-public sbcl-lparallel
3333 (package
3334 (name "sbcl-lparallel")
3335 (version "2.8.4")
3336 (source
3337 (origin
3338 (method git-fetch)
3339 (uri (git-reference
3340 (url "https://github.com/lmj/lparallel/")
3341 (commit (string-append "lparallel-" version))))
3342 (file-name (git-file-name "lparallel" version))
3343 (sha256
3344 (base32
3345 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3346 (build-system asdf-build-system/sbcl)
3347 (inputs
3348 `(("alexandria" ,sbcl-alexandria)
3349 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3350 ("trivial-garbage" ,sbcl-trivial-garbage)))
3351 (arguments
3352 `(#:phases
3353 (modify-phases %standard-phases
3354 (add-after 'unpack 'fix-dependency
3355 ;; lparallel loads a SBCL specific system in its asd file. This is
3356 ;; not carried over into the fasl which is generated. In order for
3357 ;; it to be carried over, it needs to be listed as a dependency.
3358 (lambda _
3359 (substitute* "lparallel.asd"
3360 ((":depends-on \\(:alexandria" all)
3361 (string-append all " #+sbcl :sb-cltl2"))))))))
3362 (home-page "https://lparallel.org/")
3363 (synopsis "Parallelism for Common Lisp")
3364 (description
3365 "@command{lparallel} is a library for parallel programming in Common
3366 Lisp, featuring:
3367
3368 @itemize
3369 @item a simple model of task submission with receiving queue,
3370 @item constructs for expressing fine-grained parallelism,
3371 @item asynchronous condition handling across thread boundaries,
3372 @item parallel versions of map, reduce, sort, remove, and many others,
3373 @item promises, futures, and delayed evaluation constructs,
3374 @item computation trees for parallelizing interconnected tasks,
3375 @item bounded and unbounded FIFO queues,
3376 @item high and low priority tasks,
3377 @item task killing by category,
3378 @item integrated timeouts.
3379 @end itemize\n")
3380 (license license:expat)))
3381
3382 (define-public cl-lparallel
3383 (sbcl-package->cl-source-package sbcl-lparallel))
3384
3385 (define-public ecl-lparallel
3386 (package
3387 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3388 (arguments
3389 ;; TODO: Find why the tests get stuck forever; disable them for now.
3390 `(#:tests? #f))))
3391
3392 (define-public sbcl-cl-markup
3393 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3394 (package
3395 (name "sbcl-cl-markup")
3396 (version (git-version "0.1" "1" commit))
3397 (source
3398 (origin
3399 (method git-fetch)
3400 (uri (git-reference
3401 (url "https://github.com/arielnetworks/cl-markup/")
3402 (commit commit)))
3403 (file-name (git-file-name "cl-markup" version))
3404 (sha256
3405 (base32
3406 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3407 (build-system asdf-build-system/sbcl)
3408 (home-page "https://github.com/arielnetworks/cl-markup/")
3409 (synopsis "Markup generation library for Common Lisp")
3410 (description
3411 "A modern markup generation library for Common Lisp that features:
3412
3413 @itemize
3414 @item Fast (even faster through compiling the code)
3415 @item Safety
3416 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3417 @item Output with doctype
3418 @item Direct output to stream
3419 @end itemize\n")
3420 (license license:lgpl3+))))
3421
3422 (define-public cl-markup
3423 (sbcl-package->cl-source-package sbcl-cl-markup))
3424
3425 (define-public ecl-cl-markup
3426 (sbcl-package->ecl-package sbcl-cl-markup))
3427
3428 (define-public sbcl-cl-mustache
3429 (package
3430 (name "sbcl-cl-mustache")
3431 (version "0.12.1")
3432 (source
3433 (origin
3434 (method git-fetch)
3435 (uri (git-reference
3436 (url "https://github.com/kanru/cl-mustache")
3437 (commit (string-append "v" version))))
3438 (file-name (git-file-name "cl-mustache" version))
3439 (sha256
3440 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3441 (build-system asdf-build-system/sbcl)
3442 (home-page "https://github.com/kanru/cl-mustache")
3443 (synopsis "Common Lisp Mustache template renderer")
3444 (description "This is a Common Lisp implementation for the Mustache
3445 template system. More details on the standard are available at
3446 @url{https://mustache.github.io}.")
3447 (license license:expat)))
3448
3449 (define-public cl-mustache
3450 (sbcl-package->cl-source-package sbcl-cl-mustache))
3451
3452 (define-public ecl-cl-mustache
3453 (sbcl-package->ecl-package sbcl-cl-mustache))
3454
3455 (define-public sbcl-cl-css
3456 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3457 (package
3458 (name "sbcl-cl-css")
3459 (version (git-version "0.1" "1" commit))
3460 (source
3461 (origin
3462 (method git-fetch)
3463 (uri (git-reference
3464 (url "https://github.com/inaimathi/cl-css/")
3465 (commit commit)))
3466 (file-name (git-file-name "cl-css" version))
3467 (sha256
3468 (base32
3469 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3470 (build-system asdf-build-system/sbcl)
3471 (home-page "https://github.com/inaimathi/cl-css/")
3472 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3473 (description
3474 "This is a dead-simple, non validating, inline CSS generator for Common
3475 Lisp. Its goals are axiomatic syntax, simple implementation to support
3476 portability, and boilerplate reduction in CSS.")
3477 (license license:expat))))
3478
3479 (define-public cl-css
3480 (sbcl-package->cl-source-package sbcl-cl-css))
3481
3482 (define-public ecl-cl-css
3483 (sbcl-package->ecl-package sbcl-cl-css))
3484
3485 (define-public sbcl-portable-threads
3486 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3487 (package
3488 (name "sbcl-portable-threads")
3489 (version (git-version "2.3" "2" commit))
3490 (source
3491 (origin
3492 (method git-fetch)
3493 (uri (git-reference
3494 (url "https://github.com/binghe/portable-threads/")
3495 (commit commit)))
3496 (file-name (git-file-name "portable-threads" version))
3497 (sha256
3498 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3499 (build-system asdf-build-system/sbcl)
3500 (arguments
3501 `(;; Tests seem broken.
3502 #:tests? #f))
3503 (home-page "https://github.com/binghe/portable-threads")
3504 (synopsis "Portable threads API for Common Lisp")
3505 (description
3506 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3507 Lisp (from GBBopen project).")
3508 (license license:asl2.0))))
3509
3510 (define-public cl-portable-threads
3511 (sbcl-package->cl-source-package sbcl-portable-threads))
3512
3513 (define-public ecl-portable-threads
3514 (sbcl-package->ecl-package sbcl-portable-threads))
3515
3516 (define-public sbcl-usocket
3517 (package
3518 (name "sbcl-usocket")
3519 (version "0.8.3")
3520 (source
3521 (origin
3522 (method git-fetch)
3523 (uri (git-reference
3524 (url "https://github.com/usocket/usocket/")
3525 (commit (string-append "v" version))))
3526 (file-name (git-file-name "usocket" version))
3527 (sha256
3528 (base32
3529 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3530 (build-system asdf-build-system/sbcl)
3531 (native-inputs
3532 `(("rt" ,sbcl-rt)))
3533 (inputs
3534 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3535 ("split-sequence" ,sbcl-split-sequence)))
3536 (arguments
3537 `(#:tests? #f ; FIXME: Tests need network access?
3538 #:asd-systems '("usocket"
3539 "usocket-server")))
3540 (home-page "https://common-lisp.net/project/usocket/")
3541 (synopsis "Universal socket library for Common Lisp")
3542 (description
3543 "This library strives to provide a portable TCP/IP and UDP/IP socket
3544 interface for as many Common Lisp implementations as possible, while keeping
3545 the abstraction and portability layer as thin as possible.")
3546 (license license:expat)))
3547
3548 (define-public cl-usocket
3549 (sbcl-package->cl-source-package sbcl-usocket))
3550
3551 (define-public ecl-usocket
3552 (sbcl-package->ecl-package sbcl-usocket))
3553
3554 (define-public sbcl-s-xml
3555 (package
3556 (name "sbcl-s-xml")
3557 (version "3")
3558 (source
3559 (origin
3560 (method url-fetch)
3561 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3562 (sha256
3563 (base32
3564 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3565 (build-system asdf-build-system/sbcl)
3566 (home-page "https://common-lisp.net/project/s-xml/")
3567 (synopsis "Simple XML parser implemented in Common Lisp")
3568 (description
3569 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3570 parser implementation has the following features:
3571
3572 @itemize
3573 @item It works (handling many common XML usages).
3574 @item It is very small (the core is about 700 lines of code, including
3575 comments and whitespace).
3576 @item It has a core API that is simple, efficient and pure functional, much
3577 like that from SSAX (see also http://ssax.sourceforge.net).
3578 @item It supports different DOM models: an XSML-based one, an LXML-based one
3579 and a classic xml-element struct based one.
3580 @item It is reasonably time and space efficient (internally avoiding garbage
3581 generatation as much as possible).
3582 @item It does support CDATA.
3583 @item It should support the same character sets as your Common Lisp
3584 implementation.
3585 @item It does support XML name spaces.
3586 @end itemize
3587
3588 This XML parser implementation has the following limitations:
3589
3590 @itemize
3591 @item It does not support any special tags (like processing instructions).
3592 @item It is not validating, even skips DTD's all together.
3593 @end itemize\n")
3594 (license license:lgpl3+)))
3595
3596 (define-public cl-s-xml
3597 (sbcl-package->cl-source-package sbcl-s-xml))
3598
3599 (define-public ecl-s-xml
3600 (sbcl-package->ecl-package sbcl-s-xml))
3601
3602 (define-public sbcl-s-xml-rpc
3603 (package
3604 (name "sbcl-s-xml-rpc")
3605 (version "7")
3606 (source
3607 (origin
3608 (method url-fetch)
3609 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3610 (sha256
3611 (base32
3612 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3613 (build-system asdf-build-system/sbcl)
3614 (inputs
3615 `(("s-xml" ,sbcl-s-xml)))
3616 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3617 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3618 (description
3619 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3620 client and server.")
3621 (license license:lgpl3+)))
3622
3623 (define-public cl-s-xml-rpc
3624 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3625
3626 (define-public ecl-s-xml-rpc
3627 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3628
3629 (define-public sbcl-trivial-arguments
3630 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3631 (revision "1"))
3632 (package
3633 (name "sbcl-trivial-arguments")
3634 (version (git-version "1.1.0" revision commit))
3635 (source
3636 (origin
3637 (method git-fetch)
3638 (uri (git-reference
3639 (url "https://github.com/Shinmera/trivial-arguments")
3640 (commit commit)))
3641 (file-name (git-file-name "trivial-arguments" version))
3642 (sha256
3643 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3644 (build-system asdf-build-system/sbcl)
3645 (home-page "https://github.com/Shinmera/trivial-arguments")
3646 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3647 (description
3648 "This is a simple library to retrieve the argument list of a function.")
3649 (license license:zlib))))
3650
3651 (define-public ecl-trivial-arguments
3652 (sbcl-package->ecl-package sbcl-trivial-arguments))
3653
3654 (define-public cl-trivial-arguments
3655 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3656
3657 (define-public sbcl-trivial-clipboard
3658 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3659 (package
3660 (name "sbcl-trivial-clipboard")
3661 (version (git-version "0.0.0.0" "4" commit))
3662 (source
3663 (origin
3664 (method git-fetch)
3665 (uri (git-reference
3666 (url "https://github.com/snmsts/trivial-clipboard")
3667 (commit commit)))
3668 (file-name (git-file-name "trivial-clipboard" version))
3669 (sha256
3670 (base32
3671 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3672 (build-system asdf-build-system/sbcl)
3673 (inputs
3674 `(("xclip" ,xclip)))
3675 (native-inputs
3676 `(("fiveam" ,sbcl-fiveam)))
3677 (arguments
3678 `(#:phases
3679 (modify-phases %standard-phases
3680 (add-after 'unpack 'fix-paths
3681 (lambda* (#:key inputs #:allow-other-keys)
3682 (substitute* "src/text.lisp"
3683 (("\"xclip\"")
3684 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3685 (home-page "https://github.com/snmsts/trivial-clipboard")
3686 (synopsis "Access system clipboard in Common Lisp")
3687 (description
3688 "@command{trivial-clipboard} gives access to the system clipboard.")
3689 (license license:expat))))
3690
3691 (define-public cl-trivial-clipboard
3692 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3693
3694 (define-public ecl-trivial-clipboard
3695 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3696
3697 (define-public sbcl-trivial-backtrace
3698 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3699 (revision "1"))
3700 (package
3701 (name "sbcl-trivial-backtrace")
3702 (version (git-version "0.0.0" revision commit))
3703 (source
3704 (origin
3705 (method git-fetch)
3706 (uri (git-reference
3707 (url "https://github.com/gwkkwg/trivial-backtrace")
3708 (commit commit)))
3709 (file-name (git-file-name "trivial-backtrace" version))
3710 (sha256
3711 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3712 (build-system asdf-build-system/sbcl)
3713 (inputs
3714 `(("sbcl-lift" ,sbcl-lift)))
3715 (arguments
3716 `(#:phases
3717 (modify-phases %standard-phases
3718 (add-after 'check 'delete-test-results
3719 (lambda* (#:key outputs #:allow-other-keys)
3720 (let ((test-results (string-append (assoc-ref outputs "out")
3721 "/share/common-lisp/"
3722 (%lisp-type)
3723 "/trivial-backtrace"
3724 "/test-results")))
3725 (when (file-exists? test-results)
3726 (delete-file-recursively test-results)))
3727 #t)))))
3728 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3729 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3730 (description
3731 "One of the many things that didn't quite get into the Common Lisp
3732 standard was how to get a Lisp to output its call stack when something has
3733 gone wrong. As such, each Lisp has developed its own notion of what to
3734 display, how to display it, and what sort of arguments can be used to
3735 customize it. @code{trivial-backtrace} is a simple solution to generating a
3736 backtrace portably.")
3737 (license license:expat))))
3738
3739 (define-public cl-trivial-backtrace
3740 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3741
3742 (define-public ecl-trivial-backtrace
3743 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3744
3745 (define-public sbcl-rfc2388
3746 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3747 (revision "1"))
3748 (package
3749 (name "sbcl-rfc2388")
3750 (version (git-version "0.0.0" revision commit))
3751 (source
3752 (origin
3753 (method git-fetch)
3754 (uri (git-reference
3755 (url "https://github.com/jdz/rfc2388")
3756 (commit commit)))
3757 (file-name (git-file-name "rfc2388" version))
3758 (sha256
3759 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3760 (build-system asdf-build-system/sbcl)
3761 (home-page "https://github.com/jdz/rfc2388/")
3762 (synopsis "An implementation of RFC 2388 in Common Lisp")
3763 (description
3764 "This package contains an implementation of RFC 2388, which is used to
3765 process form data posted with HTTP POST method using enctype
3766 \"multipart/form-data\".")
3767 (license license:bsd-2))))
3768
3769 (define-public cl-rfc2388
3770 (sbcl-package->cl-source-package sbcl-rfc2388))
3771
3772 (define-public ecl-rfc2388
3773 (sbcl-package->ecl-package sbcl-rfc2388))
3774
3775 (define-public sbcl-md5
3776 (package
3777 (name "sbcl-md5")
3778 (version "2.0.4")
3779 (source
3780 (origin
3781 (method git-fetch)
3782 (uri (git-reference
3783 (url "https://github.com/pmai/md5")
3784 (commit (string-append "release-" version))))
3785 (file-name (git-file-name "md5" version))
3786 (sha256
3787 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3788 (build-system asdf-build-system/sbcl)
3789 (home-page "https://github.com/pmai/md5")
3790 (synopsis
3791 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3792 (description
3793 "This package implements The MD5 Message-Digest Algorithm, as defined in
3794 RFC 1321 by R. Rivest, published April 1992.")
3795 (license license:public-domain)))
3796
3797 (define-public cl-md5
3798 (sbcl-package->cl-source-package sbcl-md5))
3799
3800 (define-public ecl-md5
3801 (package
3802 (inherit (sbcl-package->ecl-package sbcl-md5))
3803 (inputs
3804 `(("flexi-streams" ,ecl-flexi-streams)))))
3805
3806 (define-public sbcl-cl+ssl
3807 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3808 (revision "1"))
3809 (package
3810 (name "sbcl-cl+ssl")
3811 (version (git-version "0.0.0" revision commit))
3812 (source
3813 (origin
3814 (method git-fetch)
3815 (uri (git-reference
3816 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3817 (commit commit)))
3818 (file-name (git-file-name "cl+ssl" version))
3819 (sha256
3820 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3821 (build-system asdf-build-system/sbcl)
3822 (arguments
3823 '(#:phases
3824 (modify-phases %standard-phases
3825 (add-after 'unpack 'fix-paths
3826 (lambda* (#:key inputs #:allow-other-keys)
3827 (substitute* "src/reload.lisp"
3828 (("libssl.so" all)
3829 (string-append
3830 (assoc-ref inputs "openssl") "/lib/" all))))))))
3831 (inputs
3832 `(("openssl" ,openssl)
3833 ("sbcl-cffi" ,sbcl-cffi)
3834 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3835 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3836 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3837 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3838 ("sbcl-alexandria" ,sbcl-alexandria)
3839 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3840 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3841 (synopsis "Common Lisp bindings to OpenSSL")
3842 (description
3843 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3844 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3845 Development into CL+SSL was done by David Lichteblau.")
3846 (license license:expat))))
3847
3848 (define-public cl-cl+ssl
3849 (sbcl-package->cl-source-package sbcl-cl+ssl))
3850
3851 (define-public ecl-cl+ssl
3852 (sbcl-package->ecl-package sbcl-cl+ssl))
3853
3854 (define-public sbcl-kmrcl
3855 (let ((version "1.111")
3856 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3857 (revision "1"))
3858 (package
3859 (name "sbcl-kmrcl")
3860 (version (git-version version revision commit))
3861 (source
3862 (origin
3863 (method git-fetch)
3864 (uri (git-reference
3865 (url "http://git.kpe.io/kmrcl.git/")
3866 (commit commit)))
3867 (file-name (git-file-name name version))
3868 (sha256
3869 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3870 (build-system asdf-build-system/sbcl)
3871 (inputs
3872 `(("sbcl-rt" ,sbcl-rt)))
3873 (home-page "http://files.kpe.io/kmrcl/")
3874 (synopsis "General utilities for Common Lisp programs")
3875 (description
3876 "KMRCL is a collection of utilities used by a number of Kevin
3877 Rosenberg's Common Lisp packages.")
3878 (license license:llgpl))))
3879
3880 (define-public cl-kmrcl
3881 (sbcl-package->cl-source-package sbcl-kmrcl))
3882
3883 (define-public ecl-kmrcl
3884 (sbcl-package->ecl-package sbcl-kmrcl))
3885
3886 (define-public sbcl-cl-base64
3887 ;; 3.3.4 tests are broken, upstream fixes them.
3888 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3889 (package
3890 (name "sbcl-cl-base64")
3891 (version (git-version "3.3.4" "1" commit))
3892 (source
3893 (origin
3894 (method git-fetch)
3895 (uri (git-reference
3896 (url "http://git.kpe.io/cl-base64.git/")
3897 (commit commit)))
3898 (file-name (git-file-name name version))
3899 (sha256
3900 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3901 (build-system asdf-build-system/sbcl)
3902 (native-inputs ; For tests.
3903 `(("sbcl-ptester" ,sbcl-ptester)
3904 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3905 (home-page "http://files.kpe.io/cl-base64/")
3906 (synopsis
3907 "Common Lisp package to encode and decode base64 with URI support")
3908 (description
3909 "This package provides highly optimized base64 encoding and decoding.
3910 Besides conversion to and from strings, integer conversions are supported.
3911 Encoding with Uniform Resource Identifiers is supported by using a modified
3912 encoding table that uses only URI-compatible characters.")
3913 (license license:bsd-3))))
3914
3915 (define-public cl-base64
3916 (sbcl-package->cl-source-package sbcl-cl-base64))
3917
3918 (define-public ecl-cl-base64
3919 (sbcl-package->ecl-package sbcl-cl-base64))
3920
3921 (define-public sbcl-chunga
3922 (package
3923 (name "sbcl-chunga")
3924 (version "1.1.7")
3925 (source
3926 (origin
3927 (method git-fetch)
3928 (uri (git-reference
3929 (url "https://github.com/edicl/chunga")
3930 (commit (string-append "v" version))))
3931 (file-name (git-file-name name version))
3932 (sha256
3933 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3934 (build-system asdf-build-system/sbcl)
3935 (inputs
3936 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3937 (home-page "https://edicl.github.io/chunga/")
3938 (synopsis "Portable chunked streams for Common Lisp")
3939 (description
3940 "Chunga implements streams capable of chunked encoding on demand as
3941 defined in RFC 2616.")
3942 (license license:bsd-2)))
3943
3944 (define-public cl-chunga
3945 (sbcl-package->cl-source-package sbcl-chunga))
3946
3947 (define-public ecl-chunga
3948 (sbcl-package->ecl-package sbcl-chunga))
3949
3950 (define-public sbcl-cl-who
3951 (let ((version "1.1.4")
3952 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3953 (revision "1"))
3954 (package
3955 (name "sbcl-cl-who")
3956 (version (git-version version revision commit))
3957 (source
3958 (origin
3959 (method git-fetch)
3960 (uri (git-reference
3961 (url "https://github.com/edicl/cl-who")
3962 (commit commit)))
3963 (file-name (git-file-name name version))
3964 (sha256
3965 (base32
3966 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3967 (build-system asdf-build-system/sbcl)
3968 (native-inputs
3969 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3970 (home-page "https://edicl.github.io/cl-who/")
3971 (synopsis "Yet another Lisp markup language")
3972 (description
3973 "There are plenty of Lisp Markup Languages out there - every Lisp
3974 programmer seems to write at least one during his career - and CL-WHO (where
3975 WHO means \"with-html-output\" for want of a better acronym) is probably just
3976 as good or bad as the next one.")
3977 (license license:bsd-2))))
3978
3979 (define-public cl-who
3980 (sbcl-package->cl-source-package sbcl-cl-who))
3981
3982 (define-public ecl-cl-who
3983 (sbcl-package->ecl-package sbcl-cl-who))
3984
3985 (define-public sbcl-chipz
3986 (let ((version "0.8")
3987 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3988 (revision "1"))
3989 (package
3990 (name "sbcl-chipz")
3991 (version (git-version version revision commit))
3992 (source
3993 (origin
3994 (method git-fetch)
3995 (uri (git-reference
3996 (url "https://github.com/froydnj/chipz")
3997 (commit commit)))
3998 (file-name (git-file-name name version))
3999 (sha256
4000 (base32
4001 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
4002 (build-system asdf-build-system/sbcl)
4003 (native-inputs
4004 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4005 (home-page "http://method-combination.net/lisp/chipz/")
4006 (synopsis
4007 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4008 data")
4009 (description
4010 "DEFLATE data, defined in RFC1951, forms the core of popular
4011 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4012 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4013 the format used by the popular compression tool bzip2.")
4014 ;; The author describes it as "MIT-like"
4015 (license license:expat))))
4016
4017 (define-public cl-chipz
4018 (sbcl-package->cl-source-package sbcl-chipz))
4019
4020 (define-public ecl-chipz
4021 (sbcl-package->ecl-package sbcl-chipz))
4022
4023 (define-public sbcl-drakma
4024 (package
4025 (name "sbcl-drakma")
4026 (version "2.0.7")
4027 (source
4028 (origin
4029 (method git-fetch)
4030 (uri (git-reference
4031 (url "https://github.com/edicl/drakma")
4032 (commit (string-append "v" version))))
4033 (file-name (git-file-name name version))
4034 (sha256
4035 (base32
4036 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4037 (build-system asdf-build-system/sbcl)
4038 (inputs
4039 `(("sbcl-puri" ,sbcl-puri)
4040 ("sbcl-cl-base64" ,sbcl-cl-base64)
4041 ("sbcl-chunga" ,sbcl-chunga)
4042 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4043 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4044 ("sbcl-chipz" ,sbcl-chipz)
4045 ("sbcl-usocket" ,sbcl-usocket)
4046 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4047 (native-inputs
4048 `(("sbcl-fiveam" ,sbcl-fiveam)))
4049 (home-page "https://edicl.github.io/drakma/")
4050 (synopsis "HTTP client written in Common Lisp")
4051 (description
4052 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4053 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4054 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4055 (license license:bsd-2)))
4056
4057 (define-public cl-drakma
4058 (sbcl-package->cl-source-package sbcl-drakma))
4059
4060 (define-public ecl-drakma
4061 (sbcl-package->ecl-package sbcl-drakma))
4062
4063 (define-public sbcl-hunchentoot
4064 (package
4065 (name "sbcl-hunchentoot")
4066 (version "1.2.38")
4067 (source
4068 (origin
4069 (method git-fetch)
4070 (uri (git-reference
4071 (url "https://github.com/edicl/hunchentoot")
4072 (commit (string-append "v" version))))
4073 (file-name (git-file-name "hunchentoot" version))
4074 (sha256
4075 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4076 (build-system asdf-build-system/sbcl)
4077 (native-inputs
4078 `(("sbcl-cl-who" ,sbcl-cl-who)
4079 ("sbcl-drakma" ,sbcl-drakma)))
4080 (inputs
4081 `(("sbcl-chunga" ,sbcl-chunga)
4082 ("sbcl-cl-base64" ,sbcl-cl-base64)
4083 ("sbcl-cl-fad" ,sbcl-cl-fad)
4084 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4085 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4086 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4087 ("sbcl-md5" ,sbcl-md5)
4088 ("sbcl-rfc2388" ,sbcl-rfc2388)
4089 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4090 ("sbcl-usocket" ,sbcl-usocket)))
4091 (home-page "https://edicl.github.io/hunchentoot/")
4092 (synopsis "Web server written in Common Lisp")
4093 (description
4094 "Hunchentoot is a web server written in Common Lisp and at the same
4095 time a toolkit for building dynamic websites. As a stand-alone web server,
4096 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4097 connections (keep-alive), and SSL.")
4098 (license license:bsd-2)))
4099
4100 (define-public cl-hunchentoot
4101 (sbcl-package->cl-source-package sbcl-hunchentoot))
4102
4103 (define-public ecl-hunchentoot
4104 (package
4105 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4106 (arguments
4107 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4108 '(#:tests? #f))))
4109
4110 (define-public sbcl-trivial-types
4111 (package
4112 (name "sbcl-trivial-types")
4113 (version "0.0.1")
4114 (source
4115 (origin
4116 (method git-fetch)
4117 (uri (git-reference
4118 (url "https://github.com/m2ym/trivial-types")
4119 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4120 (file-name (git-file-name name version))
4121 (sha256
4122 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4123 (build-system asdf-build-system/sbcl)
4124 (home-page "https://github.com/m2ym/trivial-types")
4125 (synopsis "Trivial type definitions for Common Lisp")
4126 (description
4127 "TRIVIAL-TYPES provides missing but important type definitions such as
4128 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4129 (license license:llgpl)))
4130
4131 (define-public cl-trivial-types
4132 (sbcl-package->cl-source-package sbcl-trivial-types))
4133
4134 (define-public ecl-trivial-types
4135 (sbcl-package->ecl-package sbcl-trivial-types))
4136
4137 (define-public sbcl-cl-annot
4138 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4139 (revision "1"))
4140 (package
4141 (name "sbcl-cl-annot")
4142 (version (git-version "0.0.0" revision commit))
4143 (source
4144 (origin
4145 (method git-fetch)
4146 (uri (git-reference
4147 (url "https://github.com/m2ym/cl-annot")
4148 (commit commit)))
4149 (file-name (git-file-name name version))
4150 (sha256
4151 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4152 (build-system asdf-build-system/sbcl)
4153 (inputs
4154 `(("sbcl-alexandria" ,sbcl-alexandria)))
4155 (home-page "https://github.com/m2ym/cl-annot")
4156 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4157 (description
4158 "@code{cl-annot} is an general annotation library for Common Lisp.")
4159 (license license:llgpl))))
4160
4161 (define-public cl-annot
4162 (sbcl-package->cl-source-package sbcl-cl-annot))
4163
4164 (define-public ecl-cl-annot
4165 (sbcl-package->ecl-package sbcl-cl-annot))
4166
4167 (define-public sbcl-cl-syntax
4168 (package
4169 (name "sbcl-cl-syntax")
4170 (version "0.0.3")
4171 (source
4172 (origin
4173 (method git-fetch)
4174 (uri (git-reference
4175 (url "https://github.com/m2ym/cl-syntax")
4176 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4177 (file-name (git-file-name "cl-syntax" version))
4178 (sha256
4179 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4180 (build-system asdf-build-system/sbcl)
4181 (inputs
4182 `(("cl-annot" ,sbcl-cl-annot)
4183 ("cl-interpol" ,sbcl-cl-interpol)
4184 ("named-readtables" ,sbcl-named-readtables)
4185 ("trivial-types" ,sbcl-trivial-types)))
4186 (arguments
4187 '(#:asd-systems '("cl-syntax"
4188 "cl-syntax-annot"
4189 "cl-syntax-interpol")))
4190 (home-page "https://github.com/m2ym/cl-syntax")
4191 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4192 (description
4193 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4194 (license license:llgpl)))
4195
4196 (define-public cl-syntax
4197 (sbcl-package->cl-source-package sbcl-cl-syntax))
4198
4199 (define-public ecl-cl-syntax
4200 (sbcl-package->ecl-package sbcl-cl-syntax))
4201
4202 (define-public sbcl-cl-utilities
4203 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4204 (revision "1"))
4205 (package
4206 (name "sbcl-cl-utilities")
4207 (version (git-version "0.0.0" revision commit))
4208 (source
4209 (origin
4210 (method url-fetch)
4211 (uri
4212 (string-append
4213 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4214 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4215 (sha256
4216 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4217 (build-system asdf-build-system/sbcl)
4218 (arguments
4219 '(#:phases
4220 (modify-phases %standard-phases
4221 (add-after 'unpack 'fix-paths
4222 (lambda* (#:key inputs #:allow-other-keys)
4223 (substitute* "rotate-byte.lisp"
4224 (("in-package :cl-utilities)" all)
4225 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4226 (home-page "http://common-lisp.net/project/cl-utilities")
4227 (synopsis "A collection of semi-standard utilities")
4228 (description
4229 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4230 is a collection of Common Lisp Utilities, things that everybody writes since
4231 they're not part of the official standard. There are some very useful things
4232 there; the only problems are that they aren't implemented as well as you'd
4233 like (some aren't implemented at all) and they aren't conveniently packaged
4234 and maintained. It takes quite a bit of work to carefully implement utilities
4235 for common use, commented and documented, with error checking placed
4236 everywhere some dumb user might make a mistake.")
4237 (license license:public-domain))))
4238
4239 (define-public cl-utilities
4240 (sbcl-package->cl-source-package sbcl-cl-utilities))
4241
4242 (define-public ecl-cl-utilities
4243 (sbcl-package->ecl-package sbcl-cl-utilities))
4244
4245 (define-public sbcl-map-set
4246 (let ((commit "7b4b545b68b8")
4247 (revision "1"))
4248 (package
4249 (name "sbcl-map-set")
4250 (version (git-version "0.0.0" revision commit))
4251 (source
4252 (origin
4253 (method url-fetch)
4254 (uri (string-append
4255 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4256 commit ".tar.gz"))
4257 (sha256
4258 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4259 (build-system asdf-build-system/sbcl)
4260 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4261 (synopsis "Set-like data structure")
4262 (description
4263 "Implementation of a set-like data structure with constant time
4264 addition, removal, and random selection.")
4265 (license license:bsd-3))))
4266
4267 (define-public cl-map-set
4268 (sbcl-package->cl-source-package sbcl-map-set))
4269
4270 (define-public ecl-map-set
4271 (sbcl-package->ecl-package sbcl-map-set))
4272
4273 (define-public sbcl-quri
4274 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4275 (revision "4"))
4276 (package
4277 (name "sbcl-quri")
4278 (version (git-version "0.1.0" revision commit))
4279 (source
4280 (origin
4281 (method git-fetch)
4282 (uri (git-reference
4283 (url "https://github.com/fukamachi/quri")
4284 (commit commit)))
4285 (file-name (git-file-name name version))
4286 (sha256
4287 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4288 (build-system asdf-build-system/sbcl)
4289 (arguments
4290 ;; Test system must be loaded before, otherwise tests fail with:
4291 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4292 ;; "quri">.
4293 '(#:asd-systems '("quri-test"
4294 "quri")))
4295 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4296 (inputs `(("sbcl-babel" ,sbcl-babel)
4297 ("sbcl-split-sequence" ,sbcl-split-sequence)
4298 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4299 ("sbcl-alexandria" ,sbcl-alexandria)))
4300 (home-page "https://github.com/fukamachi/quri")
4301 (synopsis "Yet another URI library for Common Lisp")
4302 (description
4303 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4304 Lisp. It is intended to be a replacement of PURI.")
4305 (license license:bsd-3))))
4306
4307 (define-public cl-quri
4308 (sbcl-package->cl-source-package sbcl-quri))
4309
4310 (define-public ecl-quri
4311 (sbcl-package->ecl-package sbcl-quri))
4312
4313 (define-public sbcl-myway
4314 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4315 (revision "1"))
4316 (package
4317 (name "sbcl-myway")
4318 (version (git-version "0.1.0" revision commit))
4319 (source
4320 (origin
4321 (method git-fetch)
4322 (uri (git-reference
4323 (url "https://github.com/fukamachi/myway")
4324 (commit commit)))
4325 (file-name (git-file-name "myway" version))
4326 (sha256
4327 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4328 (build-system asdf-build-system/sbcl)
4329 (arguments
4330 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4331 ;; by #<SYSTEM "myway">. Why?
4332 '(#:tests? #f))
4333 (native-inputs
4334 `(("sbcl-prove" ,sbcl-prove)))
4335 (inputs
4336 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4337 ("sbcl-quri" ,sbcl-quri)
4338 ("sbcl-map-set" ,sbcl-map-set)))
4339 (home-page "https://github.com/fukamachi/myway")
4340 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4341 (description "My Way is a Sinatra-compatible URL routing library.")
4342 (license license:llgpl))))
4343
4344 (define-public cl-myway
4345 (sbcl-package->cl-source-package sbcl-myway))
4346
4347 (define-public ecl-myway
4348 (sbcl-package->ecl-package sbcl-myway))
4349
4350 (define-public sbcl-xsubseq
4351 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4352 (revision "1"))
4353 (package
4354 (name "sbcl-xsubseq")
4355 (version (git-version "0.0.1" revision commit))
4356 (source
4357 (origin
4358 (method git-fetch)
4359 (uri (git-reference
4360 (url "https://github.com/fukamachi/xsubseq")
4361 (commit commit)))
4362 (file-name (git-file-name name version))
4363 (sha256
4364 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4365 (build-system asdf-build-system/sbcl)
4366 (arguments
4367 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4368 ;; required by #<SYSTEM "xsubseq">. Why?
4369 '(#:tests? #f))
4370 (native-inputs
4371 `(("sbcl-prove" ,sbcl-prove)))
4372 (home-page "https://github.com/fukamachi/xsubseq")
4373 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4374 (description
4375 "XSubseq provides functions to be able to handle \"subseq\"s more
4376 effieiently.")
4377 (license license:bsd-2))))
4378
4379 (define-public cl-xsubseq
4380 (sbcl-package->cl-source-package sbcl-xsubseq))
4381
4382 (define-public ecl-xsubseq
4383 (sbcl-package->ecl-package sbcl-xsubseq))
4384
4385 (define-public sbcl-smart-buffer
4386 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4387 (revision "1"))
4388 (package
4389 (name "sbcl-smart-buffer")
4390 (version (git-version "0.0.1" revision commit))
4391 (source
4392 (origin
4393 (method git-fetch)
4394 (uri (git-reference
4395 (url "https://github.com/fukamachi/smart-buffer")
4396 (commit commit)))
4397 (file-name (git-file-name name version))
4398 (sha256
4399 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4400 (build-system asdf-build-system/sbcl)
4401 (arguments
4402 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4403 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4404 `(#:tests? #f))
4405 (native-inputs
4406 `(("sbcl-prove" ,sbcl-prove)))
4407 (inputs
4408 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4409 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4410 (home-page "https://github.com/fukamachi/smart-buffer")
4411 (synopsis "Smart octets buffer")
4412 (description
4413 "Smart-buffer provides an output buffer which changes the destination
4414 depending on content size.")
4415 (license license:bsd-3))))
4416
4417 (define-public cl-smart-buffer
4418 (sbcl-package->cl-source-package sbcl-smart-buffer))
4419
4420 (define-public ecl-smart-buffer
4421 (sbcl-package->ecl-package sbcl-smart-buffer))
4422
4423 (define-public sbcl-fast-http
4424 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4425 (revision "2"))
4426 (package
4427 (name "sbcl-fast-http")
4428 (version (git-version "0.2.0" revision commit))
4429 (source
4430 (origin
4431 (method git-fetch)
4432 (uri (git-reference
4433 (url "https://github.com/fukamachi/fast-http")
4434 (commit commit)))
4435 (file-name (git-file-name name version))
4436 (sha256
4437 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4438 (build-system asdf-build-system/sbcl)
4439 (arguments
4440 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4441 ;; required by #<SYSTEM "fast-http">. Why?
4442 `(#:tests? #f))
4443 (native-inputs
4444 `(("sbcl-prove" ,sbcl-prove)
4445 ("cl-syntax" ,sbcl-cl-syntax)))
4446 (inputs
4447 `(("sbcl-alexandria" ,sbcl-alexandria)
4448 ("sbcl-proc-parse" ,sbcl-proc-parse)
4449 ("sbcl-xsubseq" ,sbcl-xsubseq)
4450 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4451 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4452 (home-page "https://github.com/fukamachi/fast-http")
4453 (synopsis "HTTP request/response parser for Common Lisp")
4454 (description
4455 "@code{fast-http} is a HTTP request/response protocol parser for Common
4456 Lisp.")
4457 ;; Author specified the MIT license
4458 (license license:expat))))
4459
4460 (define-public cl-fast-http
4461 (sbcl-package->cl-source-package sbcl-fast-http))
4462
4463 (define-public ecl-fast-http
4464 (sbcl-package->ecl-package sbcl-fast-http))
4465
4466 (define-public sbcl-static-vectors
4467 (package
4468 (name "sbcl-static-vectors")
4469 (version "1.8.6")
4470 (source
4471 (origin
4472 (method git-fetch)
4473 (uri (git-reference
4474 (url "https://github.com/sionescu/static-vectors")
4475 (commit (string-append "v" version))))
4476 (file-name (git-file-name name version))
4477 (sha256
4478 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4479 (native-inputs
4480 `(("sbcl-fiveam" ,sbcl-fiveam)))
4481 (inputs
4482 `(("sbcl-alexandria" ,sbcl-alexandria)
4483 ("sbcl-cffi" ,sbcl-cffi)))
4484 (build-system asdf-build-system/sbcl)
4485 (home-page "https://github.com/sionescu/static-vectors")
4486 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4487 (description
4488 "With @code{static-vectors}, you can create vectors allocated in static
4489 memory.")
4490 (license license:expat)))
4491
4492 (define-public cl-static-vectors
4493 (sbcl-package->cl-source-package sbcl-static-vectors))
4494
4495 (define-public ecl-static-vectors
4496 (sbcl-package->ecl-package sbcl-static-vectors))
4497
4498 (define-public sbcl-marshal
4499 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4500 (revision "1"))
4501 (package
4502 (name "sbcl-marshal")
4503 (version (git-version "1.3.0" revision commit))
4504 (source
4505 (origin
4506 (method git-fetch)
4507 (uri (git-reference
4508 (url "https://github.com/wlbr/cl-marshal")
4509 (commit commit)))
4510 (file-name (git-file-name name version))
4511 (sha256
4512 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4513 (build-system asdf-build-system/sbcl)
4514 (home-page "https://github.com/wlbr/cl-marshal")
4515 (synopsis "Simple (de)serialization of Lisp datastructures")
4516 (description
4517 "Simple and fast marshalling of Lisp datastructures. Convert any object
4518 into a string representation, put it on a stream an revive it from there.
4519 Only minimal changes required to make your CLOS objects serializable.")
4520 (license license:expat))))
4521
4522 (define-public cl-marshal
4523 (sbcl-package->cl-source-package sbcl-marshal))
4524
4525 (define-public ecl-marshal
4526 (sbcl-package->ecl-package sbcl-marshal))
4527
4528 (define-public sbcl-checkl
4529 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4530 (revision "1"))
4531 (package
4532 (name "sbcl-checkl")
4533 (version (git-version "0.0.0" revision commit))
4534 (source
4535 (origin
4536 (method git-fetch)
4537 (uri (git-reference
4538 (url "https://github.com/rpav/CheckL")
4539 (commit commit)))
4540 (file-name (git-file-name name version))
4541 (sha256
4542 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4543 (build-system asdf-build-system/sbcl)
4544 (arguments
4545 ;; Error while trying to load definition for system checkl-test from
4546 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4547 ;; is undefined.
4548 '(#:asd-files '("checkl.asd")
4549 #:tests? #f))
4550 (native-inputs
4551 `(("sbcl-fiveam" ,sbcl-fiveam)))
4552 (inputs
4553 `(("sbcl-marshal" ,sbcl-marshal)))
4554 (home-page "https://github.com/rpav/CheckL/")
4555 (synopsis "Dynamic testing for Common Lisp")
4556 (description
4557 "CheckL lets you write tests dynamically, it checks resulting values
4558 against the last run.")
4559 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4560 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4561 ;; stronger of the two and so I think only listing this should suffice.
4562 (license license:llgpl))))
4563
4564 (define-public cl-checkl
4565 (sbcl-package->cl-source-package sbcl-checkl))
4566
4567 (define-public ecl-checkl
4568 (sbcl-package->ecl-package sbcl-checkl))
4569
4570 (define-public sbcl-fast-io
4571 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4572 (revision "2"))
4573 (package
4574 (name "sbcl-fast-io")
4575 (version (git-version "1.0.0" revision commit))
4576 (source
4577 (origin
4578 (method git-fetch)
4579 (uri (git-reference
4580 (url "https://github.com/rpav/fast-io")
4581 (commit commit)))
4582 (file-name (git-file-name name version))
4583 (sha256
4584 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4585 (build-system asdf-build-system/sbcl)
4586 (arguments
4587 ;; Error while trying to load definition for system fast-io-test from
4588 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4589 ;; is undefined.
4590 '(#:tests? #f
4591 #:asd-files '("fast-io.asd")))
4592 (native-inputs
4593 `(("sbcl-fiveam" ,sbcl-fiveam)
4594 ("sbcl-checkl" ,sbcl-checkl)))
4595 (inputs
4596 `(("sbcl-alexandria" ,sbcl-alexandria)
4597 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4598 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4599 (home-page "https://github.com/rpav/fast-io")
4600 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4601 (description
4602 "Fast-io is about improving performance to octet-vectors and octet
4603 streams (though primarily the former, while wrapping the latter).")
4604 ;; Author specifies this as NewBSD which is an alias
4605 (license license:bsd-3))))
4606
4607 (define-public cl-fast-io
4608 (sbcl-package->cl-source-package sbcl-fast-io))
4609
4610 (define-public ecl-fast-io
4611 (sbcl-package->ecl-package sbcl-fast-io))
4612
4613 (define-public sbcl-jonathan
4614 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4615 (revision "1"))
4616 (package
4617 (name "sbcl-jonathan")
4618 (version (git-version "0.1.0" revision commit))
4619 (source
4620 (origin
4621 (method git-fetch)
4622 (uri (git-reference
4623 (url "https://github.com/Rudolph-Miller/jonathan")
4624 (commit commit)))
4625 (file-name (git-file-name name version))
4626 (sha256
4627 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4628 (build-system asdf-build-system/sbcl)
4629 (arguments
4630 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4631 ;; required by #<SYSTEM "jonathan">. Why?
4632 `(#:tests? #f))
4633 (native-inputs
4634 `(("sbcl-prove" ,sbcl-prove)))
4635 (inputs
4636 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4637 ("sbcl-fast-io" ,sbcl-fast-io)
4638 ("sbcl-proc-parse" ,sbcl-proc-parse)
4639 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4640 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4641 (synopsis "JSON encoder and decoder")
4642 (description
4643 "High performance JSON encoder and decoder. Currently support: SBCL,
4644 CCL.")
4645 ;; Author specifies the MIT license
4646 (license license:expat))))
4647
4648 (define-public cl-jonathan
4649 (sbcl-package->cl-source-package sbcl-jonathan))
4650
4651 (define-public ecl-jonathan
4652 (sbcl-package->ecl-package sbcl-jonathan))
4653
4654 (define-public sbcl-http-body
4655 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4656 (revision "1"))
4657 (package
4658 (name "sbcl-http-body")
4659 (version (git-version "0.1.0" revision commit))
4660 (source
4661 (origin
4662 (method git-fetch)
4663 (uri (git-reference
4664 (url "https://github.com/fukamachi/http-body")
4665 (commit commit)))
4666 (file-name (git-file-name name version))
4667 (sha256
4668 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4669 (build-system asdf-build-system/sbcl)
4670 (arguments
4671 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4672 ;; found, required by #<SYSTEM "http-body">. Why?
4673 `(#:tests? #f))
4674 (native-inputs
4675 `(("sbcl-prove" ,sbcl-prove)))
4676 (inputs
4677 `(("sbcl-fast-http" ,sbcl-fast-http)
4678 ("sbcl-jonathan" ,sbcl-jonathan)
4679 ("sbcl-quri" ,sbcl-quri)))
4680 (home-page "https://github.com/fukamachi/http-body")
4681 (synopsis "HTTP POST data parser")
4682 (description
4683 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4684 supports application/x-www-form-urlencoded, application/json, and
4685 multipart/form-data.")
4686 (license license:bsd-2))))
4687
4688 (define-public cl-http-body
4689 (sbcl-package->cl-source-package sbcl-http-body))
4690
4691 (define-public ecl-http-body
4692 (sbcl-package->ecl-package sbcl-http-body))
4693
4694 (define-public sbcl-circular-streams
4695 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4696 (revision "1"))
4697 (package
4698 (name "sbcl-circular-streams")
4699 (version (git-version "0.1.0" revision commit))
4700 (source
4701 (origin
4702 (method git-fetch)
4703 (uri (git-reference
4704 (url "https://github.com/fukamachi/circular-streams")
4705 (commit commit)))
4706 (file-name (git-file-name name version))
4707 (sha256
4708 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4709 (build-system asdf-build-system/sbcl)
4710 (arguments
4711 ;; The tests depend on cl-test-more which is now prove. Prove
4712 ;; tests aren't working for some reason.
4713 `(#:tests? #f))
4714 (inputs
4715 `(("sbcl-fast-io" ,sbcl-fast-io)
4716 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4717 (home-page "https://github.com/fukamachi/circular-streams")
4718 (synopsis "Circularly readable streams for Common Lisp")
4719 (description
4720 "Circular-Streams allows you to read streams circularly by wrapping real
4721 streams. Once you reach end-of-file of a stream, it's file position will be
4722 reset to 0 and you're able to read it again.")
4723 (license license:llgpl))))
4724
4725 (define-public cl-circular-streams
4726 (sbcl-package->cl-source-package sbcl-circular-streams))
4727
4728 (define-public ecl-circular-streams
4729 (sbcl-package->ecl-package sbcl-circular-streams))
4730
4731 (define-public sbcl-lack
4732 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4733 (revision "1"))
4734 (package
4735 (name "sbcl-lack")
4736 (version (git-version "0.1.0" revision commit))
4737 (source
4738 (origin
4739 (method git-fetch)
4740 (uri (git-reference
4741 (url "https://github.com/fukamachi/lack")
4742 (commit commit)))
4743 (file-name (git-file-name "lack" version))
4744 (sha256
4745 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4746 (build-system asdf-build-system/sbcl)
4747 (native-inputs
4748 `(("prove" ,sbcl-prove)))
4749 (inputs
4750 `(("circular-streams" ,sbcl-circular-streams)
4751 ("http-body" ,sbcl-http-body)
4752 ("ironclad" ,sbcl-ironclad)
4753 ("local-time" ,sbcl-local-time)
4754 ("quri" ,sbcl-quri)
4755 ("trivial-mimes" ,sbcl-trivial-mimes)))
4756 (arguments
4757 '(#:asd-systems '("lack"
4758 "lack-request"
4759 "lack-response"
4760 "lack-component"
4761 "lack-util"
4762 "lack-middleware-backtrace"
4763 "lack-middleware-static")
4764 #:test-asd-file "t-lack.asd"
4765 ;; XXX: Component :CLACK not found
4766 #:tests? #f))
4767 (home-page "https://github.com/fukamachi/lack")
4768 (synopsis "Lack, the core of Clack")
4769 (description
4770 "Lack is a Common Lisp library which allows web applications to be
4771 constructed of modular components. It was originally a part of Clack, however
4772 it's going to be rewritten as an individual project since Clack v2 with
4773 performance and simplicity in mind.")
4774 (license license:llgpl))))
4775
4776 (define-public cl-lack
4777 (sbcl-package->cl-source-package sbcl-lack))
4778
4779 (define-public ecl-lack
4780 (sbcl-package->ecl-package sbcl-lack))
4781
4782 (define-public sbcl-local-time
4783 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4784 (revision "2"))
4785 (package
4786 (name "sbcl-local-time")
4787 (version (git-version "1.0.6" revision commit))
4788 (source
4789 (origin
4790 (method git-fetch)
4791 (uri (git-reference
4792 (url "https://github.com/dlowe-net/local-time")
4793 (commit commit)))
4794 (file-name (git-file-name name version))
4795 (sha256
4796 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4797 (build-system asdf-build-system/sbcl)
4798 (native-inputs
4799 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4800 (home-page "https://common-lisp.net/project/local-time/")
4801 (synopsis "Time manipulation library for Common Lisp")
4802 (description
4803 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4804 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4805 Long Painful History of Time\".")
4806 (license license:expat))))
4807
4808 (define-public cl-local-time
4809 (sbcl-package->cl-source-package sbcl-local-time))
4810
4811 (define-public ecl-local-time
4812 (sbcl-package->ecl-package sbcl-local-time))
4813
4814 (define-public sbcl-trivial-mimes
4815 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4816 (revision "2"))
4817 (package
4818 (name "sbcl-trivial-mimes")
4819 (version (git-version "1.1.0" revision commit))
4820 (source
4821 (origin
4822 (method git-fetch)
4823 (uri (git-reference
4824 (url "https://github.com/Shinmera/trivial-mimes")
4825 (commit commit)))
4826 (file-name (git-file-name name version))
4827 (sha256
4828 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4829 (build-system asdf-build-system/sbcl)
4830 (native-inputs
4831 `(("stefil" ,sbcl-hu.dwim.stefil)))
4832 (inputs
4833 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4834 (home-page "https://shinmera.github.io/trivial-mimes/")
4835 (synopsis "Tiny Common Lisp library to detect mime types in files")
4836 (description
4837 "This is a teensy library that provides some functions to determine the
4838 mime-type of a file.")
4839 (license license:zlib))))
4840
4841 (define-public cl-trivial-mimes
4842 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4843
4844 (define-public ecl-trivial-mimes
4845 (sbcl-package->ecl-package sbcl-trivial-mimes))
4846
4847 (define-public sbcl-ningle
4848 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4849 (revision "1"))
4850 (package
4851 (name "sbcl-ningle")
4852 (version (git-version "0.3.0" revision commit))
4853 (source
4854 (origin
4855 (method git-fetch)
4856 (uri (git-reference
4857 (url "https://github.com/fukamachi/ningle")
4858 (commit commit)))
4859 (file-name (git-file-name name version))
4860 (sha256
4861 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4862 (build-system asdf-build-system/sbcl)
4863 (arguments
4864 ;; TODO: pull in clack-test
4865 '(#:tests? #f
4866 #:phases
4867 (modify-phases %standard-phases
4868 (delete 'cleanup-files)
4869 (delete 'cleanup)
4870 (add-before 'cleanup 'combine-fasls
4871 (lambda* (#:key outputs #:allow-other-keys)
4872 (let* ((out (assoc-ref outputs "out"))
4873 (lib (string-append out "/lib/sbcl"))
4874 (ningle-path (string-append lib "/ningle"))
4875 (fasl-files (find-files out "\\.fasl$")))
4876 (mkdir-p ningle-path)
4877 (let ((fasl-path (lambda (name)
4878 (string-append ningle-path
4879 "/"
4880 (basename name)
4881 "--system.fasl"))))
4882 (for-each (lambda (file)
4883 (rename-file file
4884 (fasl-path
4885 (basename file ".fasl"))))
4886 fasl-files))
4887 fasl-files)
4888 #t)))))
4889 (native-inputs
4890 `(("sbcl-prove" ,sbcl-prove)))
4891 (inputs
4892 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4893 ("sbcl-myway" ,sbcl-myway)
4894 ("sbcl-lack" ,sbcl-lack)
4895 ("sbcl-alexandria" ,sbcl-alexandria)
4896 ("sbcl-babel" ,sbcl-babel)))
4897 (home-page "https://8arrow.org/ningle/")
4898 (synopsis "Super micro framework for Common Lisp")
4899 (description
4900 "Ningle is a lightweight web application framework for Common Lisp.")
4901 (license license:llgpl))))
4902
4903 (define-public cl-ningle
4904 (sbcl-package->cl-source-package sbcl-ningle))
4905
4906 (define-public ecl-ningle
4907 (sbcl-package->ecl-package sbcl-ningle))
4908
4909 (define-public sbcl-cl-fastcgi
4910 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4911 (revision "2"))
4912 (package
4913 (name "sbcl-cl-fastcgi")
4914 (version (git-version "0.2" revision commit))
4915 (source
4916 (origin
4917 (method git-fetch)
4918 (uri (git-reference
4919 (url "https://github.com/KDr2/cl-fastcgi/")
4920 (commit commit)))
4921 (file-name (git-file-name name version))
4922 (sha256
4923 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4924 (build-system asdf-build-system/sbcl)
4925 (inputs
4926 `(("usocket" ,sbcl-usocket)
4927 ("cffi" ,sbcl-cffi)
4928 ("fcgi" ,fcgi)))
4929 (arguments
4930 `(#:phases
4931 (modify-phases %standard-phases
4932 (add-after 'unpack 'fix-paths
4933 (lambda* (#:key inputs #:allow-other-keys)
4934 (substitute* "cl-fastcgi.lisp"
4935 (("\"libfcgi.so\"")
4936 (string-append
4937 "\""
4938 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4939 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4940 (synopsis "FastCGI wrapper for Common Lisp")
4941 (description
4942 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4943 mostly Common Lisp implementation.")
4944 (license license:bsd-2))))
4945
4946 (define-public cl-fastcgi
4947 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4948
4949 (define-public ecl-cl-fastcgi
4950 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4951
4952 (define-public sbcl-clack
4953 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4954 (revision "1"))
4955 (package
4956 (name "sbcl-clack")
4957 (version (git-version "2.0.0" revision commit))
4958 (source
4959 (origin
4960 (method git-fetch)
4961 (uri (git-reference
4962 (url "https://github.com/fukamachi/clack")
4963 (commit commit)))
4964 (file-name (git-file-name name version))
4965 (sha256
4966 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4967 (build-system asdf-build-system/sbcl)
4968 (inputs
4969 `(("alexandria" ,sbcl-alexandria)
4970 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4971 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4972 ("flexi-streams" ,sbcl-flexi-streams)
4973 ("hunchentoot" ,sbcl-hunchentoot)
4974 ("lack" ,sbcl-lack)
4975 ("split-sequence" ,sbcl-split-sequence)
4976 ("usocket" ,sbcl-usocket)
4977 ("quri" ,sbcl-quri)))
4978 (arguments
4979 '(#:asd-systems '("clack"
4980 "clack-handler-fcgi"
4981 "clack-socket"
4982 "clack-handler-hunchentoot")))
4983 (home-page "https://github.com/fukamachi/clack")
4984 (synopsis "Web Application Environment for Common Lisp")
4985 (description
4986 "Clack is a web application environment for Common Lisp inspired by
4987 Python's WSGI and Ruby's Rack.")
4988 (license license:llgpl))))
4989
4990 (define-public cl-clack
4991 (sbcl-package->cl-source-package sbcl-clack))
4992
4993 (define-public ecl-clack
4994 (sbcl-package->ecl-package sbcl-clack))
4995
4996 (define-public sbcl-cl-log
4997 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4998 (revision "1"))
4999 (package
5000 (name "sbcl-cl-log")
5001 (version "1.0.1")
5002 (source
5003 (origin
5004 (method git-fetch)
5005 (uri (git-reference
5006 (url "https://github.com/nicklevine/cl-log")
5007 (commit commit)))
5008 (sha256
5009 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5010 (file-name (git-file-name "cl-log" version))))
5011 (build-system asdf-build-system/sbcl)
5012 (synopsis "Common Lisp general purpose logging utility")
5013 (description "CL-LOG is a general purpose logging utility, loosely modelled
5014 in some respects after Gary King's Log5. Its features include: logging to
5015 several destinations at once, via \"messengers\", each messenger is tailored to
5016 accept some log messages and reject others, and this tailoring can be changed
5017 on-the-fly, very rapid processing of messages which are rejected by all
5018 messengers, fully independent use of the utility by several different
5019 sub-systems in an application, support for messengers which cl:format text to a
5020 stream, support for messengers which do not invoke cl:format, timestamps in
5021 theory accurate to internal-time-units-per-second.")
5022 (home-page "https://github.com/nicklevine/cl-log")
5023 (license license:expat))))
5024
5025 (define-public cl-log
5026 (sbcl-package->cl-source-package sbcl-cl-log))
5027
5028 (define-public ecl-cl-log
5029 (sbcl-package->ecl-package sbcl-cl-log))
5030
5031 (define-public sbcl-log4cl
5032 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5033 (revision "1"))
5034 (package
5035 (name "sbcl-log4cl")
5036 (version (git-version "1.1.3" revision commit))
5037 (source
5038 (origin
5039 (method git-fetch)
5040 (uri (git-reference
5041 (url "https://github.com/sharplispers/log4cl")
5042 (commit commit)))
5043 (file-name (git-file-name "log4cl" version))
5044 (sha256
5045 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5046 (build-system asdf-build-system/sbcl)
5047 (native-inputs
5048 `(("stefil" ,sbcl-stefil)))
5049 (inputs
5050 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5051 (home-page "https://github.com/7max/log4cl")
5052 (synopsis "Common Lisp logging framework, modeled after Log4J")
5053 (description
5054 "This is a Common Lisp logging framework that can log at various levels
5055 and mix text with expressions.")
5056 (license license:asl2.0))))
5057
5058 (define-public cl-log4cl
5059 (sbcl-package->cl-source-package sbcl-log4cl))
5060
5061 (define-public ecl-log4cl
5062 (sbcl-package->ecl-package sbcl-log4cl))
5063
5064 (define-public sbcl-printv
5065 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5066 (revision "1"))
5067 (package
5068 (name "sbcl-printv")
5069 (version (git-version "0.1.0" revision commit))
5070 (source
5071 (origin
5072 (method git-fetch)
5073 (uri (git-reference
5074 (url "https://github.com/danlentz/printv")
5075 (commit commit)))
5076 (file-name (git-file-name "printv" version))
5077 (sha256
5078 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5079 (build-system asdf-build-system/sbcl)
5080 (home-page "https://github.com/danlentz/printv")
5081 (synopsis "Common Lisp tracing and debug-logging macro")
5082 (description
5083 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5084 macro for Common Lisp.")
5085 (license license:asl2.0))))
5086
5087 (define-public ecl-printv
5088 (sbcl-package->ecl-package sbcl-printv))
5089
5090 (define-public cl-printv
5091 (sbcl-package->cl-source-package sbcl-printv))
5092
5093 (define-public sbcl-verbose
5094 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5095 (revision "1"))
5096 (package
5097 (name "sbcl-verbose")
5098 (version (git-version "2.0.0" revision commit))
5099 (source
5100 (origin
5101 (method git-fetch)
5102 (uri (git-reference
5103 (url "https://github.com/Shinmera/verbose/")
5104 (commit commit)))
5105 (file-name (git-file-name "verbose" version))
5106 (sha256
5107 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5108 (build-system asdf-build-system/sbcl)
5109 (inputs
5110 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5111 ("dissect" ,sbcl-dissect)
5112 ("documentation-utils" ,sbcl-documentation-utils)
5113 ("local-time" ,sbcl-local-time)
5114 ("piping" ,sbcl-piping)))
5115 (home-page "https://shinmera.github.io/verbose/")
5116 (synopsis "Logging framework using the piping library")
5117 (description
5118 "This is a Common Lisp library providing logging faciltiy similar to
5119 @code{CL-LOG} and @code{LOG4CL}.")
5120 (license license:zlib))))
5121
5122 (define-public ecl-verbose
5123 (sbcl-package->ecl-package sbcl-verbose))
5124
5125 (define-public cl-verbose
5126 (sbcl-package->cl-source-package sbcl-verbose))
5127
5128 (define-public sbcl-find-port
5129 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5130 (revision "1"))
5131 (package
5132 (name "sbcl-find-port")
5133 (build-system asdf-build-system/sbcl)
5134 (version "0.1")
5135 (home-page "https://github.com/eudoxia0/find-port")
5136 (source
5137 (origin
5138 (method git-fetch)
5139 (uri (git-reference
5140 (url home-page)
5141 (commit commit)))
5142 (file-name (git-file-name name version))
5143 (sha256
5144 (base32
5145 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5146 (native-inputs
5147 `(("fiveam" ,sbcl-fiveam)))
5148 (inputs
5149 `(("sbcl-usocket" ,sbcl-usocket)))
5150 (synopsis "Find open ports programmatically in Common Lisp")
5151 (description "This is a small Common Lisp library that finds an open
5152 port within a range.")
5153 (license license:expat))))
5154
5155 (define-public cl-find-port
5156 (sbcl-package->cl-source-package sbcl-find-port))
5157
5158 (define-public ecl-find-port
5159 (sbcl-package->ecl-package sbcl-find-port))
5160
5161 (define-public sbcl-clunit
5162 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5163 (revision "1"))
5164 (package
5165 (name "sbcl-clunit")
5166 (version (git-version "0.2.3" revision commit))
5167 (source
5168 (origin
5169 (method git-fetch)
5170 (uri (git-reference
5171 (url "https://github.com/tgutu/clunit")
5172 (commit commit)))
5173 (file-name (git-file-name name version))
5174 (sha256
5175 (base32
5176 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5177 (build-system asdf-build-system/sbcl)
5178 (synopsis "CLUnit is a Common Lisp unit testing framework")
5179 (description
5180 "CLUnit is a Common Lisp unit testing framework. It is designed
5181 to be easy to use so that you can quickly start testing. CLUnit
5182 provides a rich set of features aimed at improving your unit testing
5183 experience.")
5184 (home-page "https://tgutu.github.io/clunit/")
5185 ;; MIT License
5186 (license license:expat))))
5187
5188 (define-public cl-clunit
5189 (sbcl-package->cl-source-package sbcl-clunit))
5190
5191 (define-public ecl-clunit
5192 (sbcl-package->ecl-package sbcl-clunit))
5193
5194 (define-public sbcl-py4cl
5195 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5196 (revision "1"))
5197 (package
5198 (name "sbcl-py4cl")
5199 (version (git-version "0.0.0" revision commit))
5200 (source
5201 (origin
5202 (method git-fetch)
5203 (uri (git-reference
5204 (url "https://github.com/bendudson/py4cl")
5205 (commit commit)))
5206 (file-name (git-file-name name version))
5207 (sha256
5208 (base32
5209 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5210 (modules '((guix build utils)))))
5211 (build-system asdf-build-system/sbcl)
5212 (native-inputs
5213 `(("sbcl-clunit" ,sbcl-clunit)))
5214 (inputs
5215 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5216 (propagated-inputs
5217 ;; This package doesn't do anything without python available
5218 `(("python" ,python)
5219 ;; For multi-dimensional array support
5220 ("python-numpy" ,python-numpy)))
5221 (arguments
5222 '(#:phases
5223 (modify-phases %standard-phases
5224 (add-after 'unpack 'replace-*base-directory*-var
5225 (lambda* (#:key outputs #:allow-other-keys)
5226 ;; In the ASD, the author makes an attempt to
5227 ;; programatically determine the location of the
5228 ;; source-code so lisp can call into "py4cl.py". We can
5229 ;; hard-code this since we know where this file will
5230 ;; reside.
5231 (substitute* "src/callpython.lisp"
5232 (("py4cl/config:\\*base-directory\\*")
5233 (string-append
5234 "\""
5235 (assoc-ref outputs "out")
5236 "/share/common-lisp/sbcl-source/py4cl/"
5237 "\""))))))))
5238 (synopsis "Call python from Common Lisp")
5239 (description
5240 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5241 Lisp to interact with Python code. It uses streams to communicate with a
5242 separate python process, the approach taken by cl4py. This is different to
5243 the CFFI approach used by burgled-batteries, but has the same goal.")
5244 (home-page "https://github.com/bendudson/py4cl")
5245 ;; MIT License
5246 (license license:expat))))
5247
5248 (define-public cl-py4cl
5249 (sbcl-package->cl-source-package sbcl-py4cl))
5250
5251 (define-public ecl-py4cl
5252 (sbcl-package->ecl-package sbcl-py4cl))
5253
5254 (define-public sbcl-parse-declarations
5255 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5256 (revision "1"))
5257 (package
5258 (name "sbcl-parse-declarations")
5259 (version (git-version "1.0.0" revision commit))
5260 (source
5261 (origin
5262 (method git-fetch)
5263 (uri (git-reference
5264 (url (string-append
5265 "https://gitlab.common-lisp.net/parse-declarations/"
5266 "parse-declarations.git"))
5267 (commit commit)))
5268 (file-name (git-file-name name version))
5269 (sha256
5270 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5271 (build-system asdf-build-system/sbcl)
5272 (arguments
5273 `(#:asd-systems '("parse-declarations-1.0")))
5274 (home-page "https://common-lisp.net/project/parse-declarations/")
5275 (synopsis "Parse, filter, and build declarations")
5276 (description
5277 "Parse-Declarations is a Common Lisp library to help writing
5278 macros which establish bindings. To be semantically correct, such
5279 macros must take user declarations into account, as these may affect
5280 the bindings they establish. Yet the ANSI standard of Common Lisp does
5281 not provide any operators to work with declarations in a convenient,
5282 high-level way. This library provides such operators.")
5283 ;; MIT License
5284 (license license:expat))))
5285
5286 (define-public cl-parse-declarations
5287 (sbcl-package->cl-source-package sbcl-parse-declarations))
5288
5289 (define-public ecl-parse-declarations
5290 (sbcl-package->ecl-package sbcl-parse-declarations))
5291
5292 (define-public sbcl-cl-quickcheck
5293 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5294 (revision "1"))
5295 (package
5296 (name "sbcl-cl-quickcheck")
5297 (version (git-version "0.0.4" revision commit))
5298 (source
5299 (origin
5300 (method git-fetch)
5301 (uri (git-reference
5302 (url "https://github.com/mcandre/cl-quickcheck")
5303 (commit commit)))
5304 (file-name (git-file-name name version))
5305 (sha256
5306 (base32
5307 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5308 (build-system asdf-build-system/sbcl)
5309 (synopsis
5310 "Common Lisp port of the QuickCheck unit test framework")
5311 (description
5312 "Common Lisp port of the QuickCheck unit test framework")
5313 (home-page "https://github.com/mcandre/cl-quickcheck")
5314 ;; MIT
5315 (license license:expat))))
5316
5317 (define-public cl-quickcheck
5318 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5319
5320 (define-public ecl-cl-quickcheck
5321 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5322
5323 (define-public sbcl-burgled-batteries3
5324 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5325 (revision "2"))
5326 (package
5327 (name "sbcl-burgled-batteries3")
5328 (version (git-version "0.0.0" revision commit))
5329 (source
5330 (origin
5331 (method git-fetch)
5332 (uri (git-reference
5333 (url "https://github.com/snmsts/burgled-batteries3")
5334 (commit commit)))
5335 (file-name (git-file-name name version))
5336 (sha256
5337 (base32
5338 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5339 (build-system asdf-build-system/sbcl)
5340 (arguments
5341 `(#:tests? #f
5342 #:modules (((guix build python-build-system) #:select (python-version))
5343 ,@%asdf-build-system-modules)
5344 #:imported-modules ((guix build python-build-system)
5345 ,@%asdf-build-system-modules)
5346 #:phases
5347 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5348 (add-after 'unpack 'set-*cpython-include-dir*-var
5349 (lambda* (#:key inputs #:allow-other-keys)
5350 (let ((python (assoc-ref inputs "python")))
5351 (setenv "BB_PYTHON3_INCLUDE_DIR"
5352 (string-append python "/include/python"
5353 (python-version python)))
5354 (setenv "BB_PYTHON3_DYLIB"
5355 (string-append python "/lib/libpython3.so"))
5356 #t)))
5357 (add-after 'unpack 'adjust-for-python-3.8
5358 (lambda _
5359 ;; This method is no longer part of the public API.
5360 (substitute* "ffi-interface.lisp"
5361 ((".*PyEval_ReInitThreads.*")
5362 ""))
5363 #t)))))
5364 (native-inputs
5365 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5366 ("sbcl-lift" ,sbcl-lift)
5367 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5368 (inputs
5369 `(("python" ,python)
5370 ("sbcl-cffi" ,sbcl-cffi)
5371 ("sbcl-alexandria" , sbcl-alexandria)
5372 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5373 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5374 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5375 (description
5376 "This package provides a shim between Python3 (specifically, the
5377 CPython implementation of Python) and Common Lisp.")
5378 (home-page "https://github.com/snmsts/burgled-batteries3")
5379 (license license:expat))))
5380
5381 (define-public cl-burgled-batteries3
5382 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5383
5384 (define-public ecl-burgled-batteries3
5385 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5386
5387 (define-public sbcl-metabang-bind
5388 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5389 (revision "1"))
5390 (package
5391 (name "sbcl-metabang-bind")
5392 (version (git-version "0.8.0" revision commit))
5393 (source
5394 (origin
5395 (method git-fetch)
5396 (uri (git-reference
5397 (url "https://github.com/gwkkwg/metabang-bind")
5398 (commit commit)))
5399 (file-name (git-file-name name version))
5400 (sha256
5401 (base32
5402 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5403 (build-system asdf-build-system/sbcl)
5404 (native-inputs
5405 `(("sbcl-lift" ,sbcl-lift)))
5406 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5407 (description
5408 "Bind extends the idea of of let and destructing to provide a uniform
5409 syntax for all your accessor needs. It combines @code{let},
5410 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5411 editing, property or association-lists, and @code{multiple-value-bind} and a
5412 whole lot more into a single form.")
5413 (home-page "https://common-lisp.net/project/metabang-bind/")
5414 ;; MIT License
5415 (license license:expat))))
5416
5417 (define-public cl-metabang-bind
5418 (sbcl-package->cl-source-package sbcl-metabang-bind))
5419
5420 (define-public ecl-metabang-bind
5421 (sbcl-package->ecl-package sbcl-metabang-bind))
5422
5423 (define-public sbcl-fare-utils
5424 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5425 (revision "1"))
5426 (package
5427 (name "sbcl-fare-utils")
5428 (version (git-version "1.0.0.5" revision commit))
5429 (source
5430 (origin
5431 (method git-fetch)
5432 (uri
5433 (git-reference
5434 (url
5435 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5436 (commit commit)))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32
5440 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5441 (build-system asdf-build-system/sbcl)
5442 (arguments
5443 `(#:test-asd-file "test/fare-utils-test.asd"))
5444 (native-inputs
5445 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5446 (synopsis "Collection of utilities and data structures")
5447 (description
5448 "fare-utils is a small collection of utilities. It contains a lot of
5449 basic everyday functions and macros.")
5450 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5451 ;; MIT License
5452 (license license:expat))))
5453
5454 (define-public cl-fare-utils
5455 (sbcl-package->cl-source-package sbcl-fare-utils))
5456
5457 (define-public ecl-fare-utils
5458 (sbcl-package->ecl-package sbcl-fare-utils))
5459
5460 (define-public sbcl-trivial-utf-8
5461 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5462 (revision "1"))
5463 (package
5464 (name "sbcl-trivial-utf-8")
5465 (version (git-version "0.0.0" revision commit))
5466 (source
5467 (origin
5468 (method git-fetch)
5469 (uri
5470 (git-reference
5471 (url (string-append "https://gitlab.common-lisp.net/"
5472 "trivial-utf-8/trivial-utf-8.git"))
5473 (commit commit)))
5474 (file-name (git-file-name name version))
5475 (sha256
5476 (base32
5477 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5478 (arguments
5479 ;; Guix incorrectly assumes the "8" is part of the version
5480 ;; number and lobs it off.
5481 `(#:asd-systems '("trivial-utf-8")))
5482 (build-system asdf-build-system/sbcl)
5483 (synopsis "UTF-8 input/output library")
5484 (description
5485 "The Babel library solves a similar problem while understanding more
5486 encodings. Trivial UTF-8 was written before Babel existed, but for new
5487 projects you might be better off going with Babel. The one plus that Trivial
5488 UTF-8 has is that it doesn't depend on any other libraries.")
5489 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5490 (license license:bsd-3))))
5491
5492 (define-public cl-trivial-utf-8
5493 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5494
5495 (define-public ecl-trivial-utf-8
5496 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5497
5498 (define-public sbcl-idna
5499 (package
5500 (name "sbcl-idna")
5501 (build-system asdf-build-system/sbcl)
5502 (version "0.2.2")
5503 (home-page "https://github.com/antifuchs/idna")
5504 (source
5505 (origin
5506 (method git-fetch)
5507 (uri (git-reference
5508 (url home-page)
5509 (commit version)))
5510 (file-name (git-file-name name version))
5511 (sha256
5512 (base32
5513 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5514 (inputs
5515 `(("split-sequence" ,sbcl-split-sequence)))
5516 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5517 (description "This Common Lisp library provides string encoding and
5518 decoding routines for IDNA, the International Domain Names in Applications.")
5519 (license license:expat)))
5520
5521 (define-public cl-idna
5522 (sbcl-package->cl-source-package sbcl-idna))
5523
5524 (define-public ecl-idna
5525 (sbcl-package->ecl-package sbcl-idna))
5526
5527 (define-public sbcl-swap-bytes
5528 (package
5529 (name "sbcl-swap-bytes")
5530 (build-system asdf-build-system/sbcl)
5531 (version "1.2")
5532 (home-page "https://github.com/sionescu/swap-bytes")
5533 (source
5534 (origin
5535 (method git-fetch)
5536 (uri (git-reference
5537 (url home-page)
5538 (commit (string-append "v" version))))
5539 (file-name (git-file-name name version))
5540 (sha256
5541 (base32
5542 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5543 (inputs
5544 `(("trivial-features" ,sbcl-trivial-features)))
5545 (native-inputs
5546 `(("fiveam" ,sbcl-fiveam)))
5547 (synopsis "Efficient endianness conversion for Common Lisp")
5548 (description "This Common Lisp library provides optimized byte-swapping
5549 primitives. The library can change endianness of unsigned integers of length
5550 1/2/4/8. Very useful in implementing various network protocols and file
5551 formats.")
5552 (license license:expat)))
5553
5554 (define-public cl-swap-bytes
5555 (sbcl-package->cl-source-package sbcl-swap-bytes))
5556
5557 (define-public ecl-swap-bytes
5558 (sbcl-package->ecl-package sbcl-swap-bytes))
5559
5560 (define-public sbcl-iolib
5561 ;; Latest release is from June 2017.
5562 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5563 (revision "2"))
5564 (package
5565 (name "sbcl-iolib")
5566 (version (git-version "0.8.3" revision commit))
5567 (home-page "https://github.com/sionescu/iolib")
5568 (source
5569 (origin
5570 (method git-fetch)
5571 (uri (git-reference
5572 (url home-page)
5573 (commit commit)))
5574 (file-name (git-file-name name version))
5575 (sha256
5576 (base32
5577 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5578 (build-system asdf-build-system/sbcl)
5579 (inputs
5580 `(("alexandria" ,sbcl-alexandria)
5581 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5582 ("cffi" ,sbcl-cffi)
5583 ("idna" ,sbcl-idna)
5584 ("libfixposix" ,libfixposix)
5585 ("split-sequence" ,sbcl-split-sequence)
5586 ("swap-bytes" ,sbcl-swap-bytes)))
5587 (arguments
5588 '(#:asd-files '("iolib.asdf.asd"
5589 "iolib.conf.asd"
5590 "iolib.common-lisp.asd"
5591 "iolib.base.asd"
5592 "iolib.asd")
5593 #:phases
5594 (modify-phases %standard-phases
5595 (add-after 'unpack 'fix-paths
5596 (lambda* (#:key inputs #:allow-other-keys)
5597 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5598 (("\\(:default \"libfixposix\"\\)")
5599 (string-append
5600 "(:default \""
5601 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5602 ;; Socket tests need Internet access, disable them.
5603 (substitute* "iolib.asd"
5604 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5605 "")))))))
5606 (synopsis "Common Lisp I/O library")
5607 (description "IOlib is to be a better and more modern I/O library than
5608 the standard Common Lisp library. It contains a socket library, a DNS
5609 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5610 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5611 (license license:expat))))
5612
5613 (define-public cl-iolib
5614 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5615 (package
5616 (inherit parent)
5617 (propagated-inputs
5618 ;; Need header to compile.
5619 `(("libfixposix" ,libfixposix)
5620 ,@(package-propagated-inputs parent))))))
5621
5622 (define-public ecl-iolib
5623 (sbcl-package->ecl-package sbcl-iolib))
5624
5625 (define-public sbcl-ieee-floats
5626 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5627 (revision "1"))
5628 (package
5629 (name "sbcl-ieee-floats")
5630 (build-system asdf-build-system/sbcl)
5631 (version (git-version "20170924" revision commit))
5632 (home-page "https://github.com/marijnh/ieee-floats/")
5633 (source
5634 (origin
5635 (method git-fetch)
5636 (uri (git-reference
5637 (url home-page)
5638 (commit commit)))
5639 (file-name (git-file-name name version))
5640 (sha256
5641 (base32
5642 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5643 (native-inputs
5644 `(("fiveam" ,sbcl-fiveam)))
5645 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5646 (description "This is a Common Lisp library that converts
5647 floating point values to IEEE 754 binary representation.")
5648 (license license:bsd-3))))
5649
5650 (define-public cl-ieee-floats
5651 (sbcl-package->cl-source-package sbcl-ieee-floats))
5652
5653 (define-public ecl-ieee-floats
5654 (sbcl-package->ecl-package sbcl-ieee-floats))
5655
5656 (define sbcl-closure-common
5657 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5658 (revision "1"))
5659 (package
5660 (name "sbcl-closure-common")
5661 (build-system asdf-build-system/sbcl)
5662 (version (git-version "20101006" revision commit))
5663 (home-page "https://common-lisp.net/project/cxml/")
5664 (source
5665 (origin
5666 (method git-fetch)
5667 (uri (git-reference
5668 (url "https://github.com/sharplispers/closure-common")
5669 (commit commit)))
5670 (file-name (git-file-name name version))
5671 (sha256
5672 (base32
5673 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5674 (inputs
5675 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5676 ("babel" ,sbcl-babel)))
5677 (synopsis "Support Common Lisp library for CXML")
5678 (description "Closure-common is an internal helper library. The name
5679 Closure is a reference to the web browser it was originally written for.")
5680 ;; TODO: License?
5681 (license #f))))
5682
5683 (define-public sbcl-cxml
5684 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5685 (revision "1"))
5686 (package
5687 (name "sbcl-cxml")
5688 (version (git-version "0.0.0" revision commit))
5689 (source
5690 (origin
5691 (method git-fetch)
5692 (uri (git-reference
5693 (url "https://github.com/sharplispers/cxml")
5694 (commit commit)))
5695 (file-name (git-file-name name version))
5696 (sha256
5697 (base32
5698 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5699 (build-system asdf-build-system/sbcl)
5700 (inputs
5701 `(("closure-common" ,sbcl-closure-common)
5702 ("puri" ,sbcl-puri)
5703 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5704 (synopsis "Common Lisp XML parser")
5705 (description "CXML implements a namespace-aware, validating XML 1.0
5706 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5707 offered, one SAX-like, the other similar to StAX.")
5708 (home-page "https://common-lisp.net/project/cxml/")
5709 (license license:llgpl))))
5710
5711 (define-public cl-cxml
5712 (sbcl-package->cl-source-package sbcl-cxml))
5713
5714 (define-public ecl-cxml
5715 (sbcl-package->ecl-package sbcl-cxml))
5716
5717 (define-public sbcl-cl-reexport
5718 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5719 (revision "1"))
5720 (package
5721 (name "sbcl-cl-reexport")
5722 (build-system asdf-build-system/sbcl)
5723 (version (git-version "0.1" revision commit))
5724 (home-page "https://github.com/takagi/cl-reexport")
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url home-page)
5730 (commit commit)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32
5734 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5735 (inputs
5736 `(("alexandria" ,sbcl-alexandria)))
5737 (arguments
5738 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5739 `(#:tests? #f))
5740 (synopsis "HTTP cookie manager for Common Lisp")
5741 (description "cl-cookie is a Common Lisp library featuring parsing of
5742 cookie headers, cookie creation, cookie jar creation and more.")
5743 (license license:llgpl))))
5744
5745 (define-public cl-reexport
5746 (sbcl-package->cl-source-package sbcl-cl-reexport))
5747
5748 (define-public ecl-cl-reexport
5749 (sbcl-package->ecl-package sbcl-cl-reexport))
5750
5751 (define-public sbcl-cl-cookie
5752 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5753 (revision "1"))
5754 (package
5755 (name "sbcl-cl-cookie")
5756 (build-system asdf-build-system/sbcl)
5757 (version (git-version "0.9.10" revision commit))
5758 (home-page "https://github.com/fukamachi/cl-cookie")
5759 (source
5760 (origin
5761 (method git-fetch)
5762 (uri (git-reference
5763 (url home-page)
5764 (commit commit)))
5765 (file-name (git-file-name name version))
5766 (sha256
5767 (base32
5768 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5769 (inputs
5770 `(("proc-parse" ,sbcl-proc-parse)
5771 ("alexandria" ,sbcl-alexandria)
5772 ("quri" ,sbcl-quri)
5773 ("cl-ppcre" ,sbcl-cl-ppcre)
5774 ("local-time" ,sbcl-local-time)))
5775 (native-inputs
5776 `(("prove" ,sbcl-prove)))
5777 (arguments
5778 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5779 `(#:tests? #f))
5780 (synopsis "HTTP cookie manager for Common Lisp")
5781 (description "cl-cookie is a Common Lisp library featuring parsing of
5782 cookie headers, cookie creation, cookie jar creation and more.")
5783 (license license:bsd-2))))
5784
5785 (define-public cl-cookie
5786 (sbcl-package->cl-source-package sbcl-cl-cookie))
5787
5788 (define-public ecl-cl-cookie
5789 (sbcl-package->ecl-package sbcl-cl-cookie))
5790
5791 (define-public sbcl-dexador
5792 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5793 (revision "1"))
5794 (package
5795 (name "sbcl-dexador")
5796 (build-system asdf-build-system/sbcl)
5797 (version "0.9.14" )
5798 (home-page "https://github.com/fukamachi/dexador")
5799 (source
5800 (origin
5801 (method git-fetch)
5802 (uri (git-reference
5803 (url home-page)
5804 (commit commit)))
5805 (file-name (git-file-name name version))
5806 (sha256
5807 (base32
5808 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5809 (inputs
5810 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5811 ("babel" ,sbcl-babel)
5812 ("usocket" ,sbcl-usocket)
5813 ("fast-http" ,sbcl-fast-http)
5814 ("quri" ,sbcl-quri)
5815 ("fast-io" ,sbcl-fast-io)
5816 ("chunga" ,sbcl-chunga)
5817 ("cl-ppcre" ,sbcl-cl-ppcre)
5818 ("cl-cookie" ,sbcl-cl-cookie)
5819 ("trivial-mimes" ,sbcl-trivial-mimes)
5820 ("chipz" ,sbcl-chipz)
5821 ("cl-base64" ,sbcl-cl-base64)
5822 ("cl-reexport" ,sbcl-cl-reexport)
5823 ("cl+ssl" ,sbcl-cl+ssl)
5824 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5825 ("alexandria" ,sbcl-alexandria)))
5826 (native-inputs
5827 `(("prove" ,sbcl-prove)
5828 ("lack" ,sbcl-lack)
5829 ("clack" ,sbcl-clack)
5830 ("babel" ,sbcl-babel)
5831 ("alexandria" ,sbcl-alexandria)
5832 ("cl-ppcre" ,sbcl-cl-ppcre)
5833 ("local-time" ,sbcl-local-time)
5834 ("trivial-features" ,sbcl-trivial-features)))
5835 (arguments
5836 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5837 `(#:tests? #f
5838 #:phases
5839 (modify-phases %standard-phases
5840 (add-after 'unpack 'fix-permissions
5841 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5842 (synopsis "Yet another HTTP client for Common Lisp")
5843 (description "Dexador is yet another HTTP client for Common Lisp with
5844 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5845 (license license:expat))))
5846
5847 (define-public cl-dexador
5848 (package
5849 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5850 (arguments
5851 `(#:phases
5852 ;; asdf-build-system/source has its own phases and does not inherit
5853 ;; from asdf-build-system/sbcl phases.
5854 (modify-phases %standard-phases/source
5855 ;; Already done in SBCL package.
5856 (delete 'reset-gzip-timestamps))))))
5857
5858 (define-public ecl-dexador
5859 (sbcl-package->ecl-package sbcl-dexador))
5860
5861 (define-public sbcl-lisp-namespace
5862 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5863 (revision "1"))
5864 (package
5865 (name "sbcl-lisp-namespace")
5866 (build-system asdf-build-system/sbcl)
5867 (version (git-version "0.1" revision commit))
5868 (home-page "https://github.com/guicho271828/lisp-namespace")
5869 (source
5870 (origin
5871 (method git-fetch)
5872 (uri (git-reference
5873 (url home-page)
5874 (commit commit)))
5875 (file-name (git-file-name name version))
5876 (sha256
5877 (base32
5878 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5879 (inputs
5880 `(("alexandria" ,sbcl-alexandria)))
5881 (native-inputs
5882 `(("fiveam" ,sbcl-fiveam)))
5883 (arguments
5884 `(#:test-asd-file "lisp-namespace.test.asd"
5885 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5886 #:tests? #f))
5887 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5888 (description "Common Lisp already has major 2 namespaces, function
5889 namespace and value namespace (or variable namespace), but there are actually
5890 more — e.g., class namespace.
5891 This library offers macros to deal with symbols from any namespace.")
5892 (license license:llgpl))))
5893
5894 (define-public cl-lisp-namespace
5895 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5896
5897 (define-public ecl-lisp-namespace
5898 (sbcl-package->ecl-package sbcl-lisp-namespace))
5899
5900 (define-public sbcl-trivial-cltl2
5901 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5902 (revision "2"))
5903 (package
5904 (name "sbcl-trivial-cltl2")
5905 (build-system asdf-build-system/sbcl)
5906 (version (git-version "0.1.1" revision commit))
5907 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5908 (source
5909 (origin
5910 (method git-fetch)
5911 (uri (git-reference
5912 (url home-page)
5913 (commit commit)))
5914 (file-name (git-file-name name version))
5915 (sha256
5916 (base32
5917 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5918 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5919 (description "This library is a portable compatibility layer around
5920 \"Common Lisp the Language, 2nd
5921 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5922 and it exports symbols from implementation-specific packages.")
5923 (license license:llgpl))))
5924
5925 (define-public cl-trivial-cltl2
5926 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5927
5928 (define-public ecl-trivial-cltl2
5929 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5930
5931 (define-public sbcl-introspect-environment
5932 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5933 (revision "1"))
5934 (package
5935 (name "sbcl-introspect-environment")
5936 (build-system asdf-build-system/sbcl)
5937 (version (git-version "0.1" revision commit))
5938 (home-page "https://github.com/Bike/introspect-environment")
5939 (source
5940 (origin
5941 (method git-fetch)
5942 (uri (git-reference
5943 (url home-page)
5944 (commit commit)))
5945 (file-name (git-file-name name version))
5946 (sha256
5947 (base32
5948 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5949 (native-inputs
5950 `(("fiveam" ,sbcl-fiveam)))
5951 (synopsis "Common Lisp environment introspection portability layer")
5952 (description "This library is a small interface to portable but
5953 nonstandard introspection of Common Lisp environments. It is intended to
5954 allow a bit more compile-time introspection of environments in Common Lisp.
5955
5956 Quite a bit of information is available at the time a macro or compiler-macro
5957 runs; inlining info, type declarations, that sort of thing. This information
5958 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5959 such.
5960
5961 This info ought to be accessible through the standard @code{&environment}
5962 parameters, but it is not. Several implementations keep the information for
5963 their own purposes but do not make it available to user programs, because
5964 there is no standard mechanism to do so.
5965
5966 This library uses implementation-specific hooks to make information available
5967 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5968 implementations have implementations of the functions that do as much as they
5969 can and/or provide reasonable defaults.")
5970 (license license:wtfpl2))))
5971
5972 (define-public cl-introspect-environment
5973 (sbcl-package->cl-source-package sbcl-introspect-environment))
5974
5975 (define-public ecl-introspect-environment
5976 (sbcl-package->ecl-package sbcl-introspect-environment))
5977
5978 (define-public sbcl-type-i
5979 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5980 (revision "2"))
5981 (package
5982 (name "sbcl-type-i")
5983 (build-system asdf-build-system/sbcl)
5984 (version (git-version "0.1" revision commit))
5985 (home-page "https://github.com/guicho271828/type-i")
5986 (source
5987 (origin
5988 (method git-fetch)
5989 (uri (git-reference
5990 (url home-page)
5991 (commit commit)))
5992 (file-name (git-file-name name version))
5993 (sha256
5994 (base32
5995 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5996 (inputs
5997 `(("alexandria" ,sbcl-alexandria)
5998 ("introspect-environment" ,sbcl-introspect-environment)
5999 ("trivia.trivial" ,sbcl-trivia.trivial)))
6000 (native-inputs
6001 `(("fiveam" ,sbcl-fiveam)))
6002 (arguments
6003 `(#:test-asd-file "type-i.test.asd"))
6004 (synopsis "Type inference utility on unary predicates for Common Lisp")
6005 (description "This library tries to provide a way to detect what kind of
6006 type the given predicate is trying to check. This is different from inferring
6007 the return type of a function.")
6008 (license license:llgpl))))
6009
6010 (define-public cl-type-i
6011 (sbcl-package->cl-source-package sbcl-type-i))
6012
6013 (define-public ecl-type-i
6014 (package
6015 (inherit (sbcl-package->ecl-package sbcl-type-i))
6016 (arguments
6017 ;; The tests get stuck indefinitly
6018 '(#:tests? #f))))
6019
6020 (define-public sbcl-optima
6021 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6022 (revision "1"))
6023 (package
6024 (name "sbcl-optima")
6025 (build-system asdf-build-system/sbcl)
6026 (version (git-version "1.0" revision commit))
6027 (home-page "https://github.com/m2ym/optima")
6028 (source
6029 (origin
6030 (method git-fetch)
6031 (uri (git-reference
6032 (url home-page)
6033 (commit commit)))
6034 (file-name (git-file-name name version))
6035 (sha256
6036 (base32
6037 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6038 (inputs
6039 `(("alexandria" ,sbcl-alexandria)
6040 ("closer-mop" ,sbcl-closer-mop)))
6041 (native-inputs
6042 `(("eos" ,sbcl-eos)))
6043 (arguments
6044 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6045 `(#:tests? #f
6046 #:test-asd-file "optima.test.asd"))
6047 (synopsis "Optimized pattern matching library for Common Lisp")
6048 (description "Optima is a fast pattern matching library which uses
6049 optimizing techniques widely used in the functional programming world.")
6050 (license license:expat))))
6051
6052 (define-public cl-optima
6053 (sbcl-package->cl-source-package sbcl-optima))
6054
6055 (define-public ecl-optima
6056 (sbcl-package->ecl-package sbcl-optima))
6057
6058 (define-public sbcl-fare-quasiquote
6059 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6060 (revision "1"))
6061 (package
6062 (name "sbcl-fare-quasiquote")
6063 (build-system asdf-build-system/sbcl)
6064 (version (git-version "1.0.1" revision commit))
6065 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6066 (source
6067 (origin
6068 (method git-fetch)
6069 (uri (git-reference
6070 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6071 "fare-quasiquote.git"))
6072 (commit commit)))
6073 (file-name (git-file-name name version))
6074 (sha256
6075 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6076 (inputs
6077 `(("fare-utils" ,sbcl-fare-utils)
6078 ("named-readtables" ,sbcl-named-readtables)
6079 ("optima" ,sbcl-optima)))
6080 (arguments
6081 ;; XXX: Circular dependencies: Tests depend on subsystems,
6082 ;; which depend on the main systems.
6083 `(#:tests? #f
6084 #:asd-systems '("fare-quasiquote"
6085 "fare-quasiquote-extras")
6086 #:phases
6087 (modify-phases %standard-phases
6088 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6089 ;; commits after 1.0.0.5, but ASDF fails to read the
6090 ;; "-REVISION-COMMIT" part generated by Guix.
6091 (add-after 'unpack 'patch-requirement
6092 (lambda _
6093 (substitute* "fare-quasiquote.asd"
6094 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6095 "\"fare-utils\""))
6096 (substitute* "fare-quasiquote-optima.asd"
6097 (("\\(:version \"optima\" \"1\\.0\"\\)")
6098 "\"optima\""))
6099 #t)))))
6100 (synopsis "Pattern-matching friendly implementation of quasiquote")
6101 (description "The main purpose of this n+2nd reimplementation of
6102 quasiquote is enable matching of quasiquoted patterns, using Optima or
6103 Trivia.")
6104 (license license:expat))))
6105
6106 (define-public cl-fare-quasiquote
6107 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6108
6109 (define-public ecl-fare-quasiquote
6110 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6111
6112 ;;; Split the trivia package in two to work around the circular dependency
6113 ;;; between guicho271828/trivia and guicho271828/type-i.
6114 (define-public sbcl-trivia.trivial
6115 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6116 (revision "3"))
6117 (package
6118 (name "sbcl-trivia.trivial")
6119 (version (git-version "0.0.0" revision commit))
6120 (source
6121 (origin
6122 (method git-fetch)
6123 (uri (git-reference
6124 (url "https://github.com/guicho271828/trivia")
6125 (commit commit)))
6126 (file-name (git-file-name "trivia" version))
6127 (sha256
6128 (base32
6129 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6130 (build-system asdf-build-system/sbcl)
6131 (inputs
6132 `(("alexandria" ,sbcl-alexandria)
6133 ("closer-mop" ,sbcl-closer-mop)
6134 ("lisp-namespace" ,sbcl-lisp-namespace)
6135 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6136 (arguments
6137 '(#:phases
6138 (modify-phases %standard-phases
6139 (add-after 'unpack 'fix-build
6140 (lambda _
6141 (for-each delete-file
6142 '("trivia.balland2006.asd"
6143 "trivia.ppcre.asd"
6144 "trivia.quasiquote.asd"
6145 "trivia.cffi.asd"
6146 "trivia.asd"
6147 "trivia.test.asd"))
6148 #t)))))
6149 (synopsis "Pattern matching in Common Lisp")
6150 (description "Trivia is a pattern matching compiler that is compatible
6151 with Optima, another pattern matching library for Common Lisp. It is meant to
6152 be faster and more extensible than Optima.")
6153 (home-page "https://github.com/guicho271828/trivia")
6154 (license license:llgpl))))
6155
6156 (define-public cl-trivia.trivial
6157 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6158
6159 (define-public ecl-trivia.trivial
6160 (sbcl-package->ecl-package sbcl-trivia.trivial))
6161
6162 (define-public sbcl-trivia
6163 (package
6164 (inherit sbcl-trivia.trivial)
6165 (name "sbcl-trivia")
6166 (native-inputs
6167 `(("fiveam" ,sbcl-fiveam)
6168 ("optima" ,sbcl-optima)))
6169 (inputs
6170 `(("alexandria" ,sbcl-alexandria)
6171 ("cffi" ,sbcl-cffi)
6172 ("cl-ppcre" ,sbcl-cl-ppcre)
6173 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6174 ("iterate" ,sbcl-iterate)
6175 ("trivia.trivial" ,sbcl-trivia.trivial)
6176 ("type-i" ,sbcl-type-i)))
6177 (arguments
6178 '(#:asd-systems '("trivia"
6179 "trivia.ppcre"
6180 "trivia.quasiquote"
6181 "trivia.cffi")
6182 #:test-asd-file "trivia.test.asd"
6183 #:phases
6184 (modify-phases %standard-phases
6185 (add-after 'unpack 'fix-build
6186 (lambda _
6187 (for-each delete-file
6188 '("trivia.level0.asd"
6189 "trivia.level1.asd"
6190 "trivia.level2.asd"
6191 "trivia.trivial.asd"))
6192 #t)))))))
6193
6194 (define-public cl-trivia
6195 (sbcl-package->cl-source-package sbcl-trivia))
6196
6197 (define-public ecl-trivia
6198 (sbcl-package->ecl-package sbcl-trivia))
6199
6200 (define-public sbcl-mk-string-metrics
6201 (package
6202 (name "sbcl-mk-string-metrics")
6203 (version "0.1.2")
6204 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6205 (source (origin
6206 (method git-fetch)
6207 (uri (git-reference
6208 (url home-page)
6209 (commit version)))
6210 (sha256
6211 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6212 (file-name (git-file-name name version))))
6213 (build-system asdf-build-system/sbcl)
6214 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6215 (description "This library implements efficient algorithms that calculate
6216 various string metrics in Common Lisp:
6217
6218 @itemize
6219 @item Damerau-Levenshtein distance
6220 @item Hamming distance
6221 @item Jaccard similarity coefficient
6222 @item Jaro distance
6223 @item Jaro-Winkler distance
6224 @item Levenshtein distance
6225 @item Normalized Damerau-Levenshtein distance
6226 @item Normalized Levenshtein distance
6227 @item Overlap coefficient
6228 @end itemize\n")
6229 (license license:x11)))
6230
6231 (define-public cl-mk-string-metrics
6232 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6233
6234 (define-public ecl-mk-string-metrics
6235 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6236
6237 (define-public sbcl-cl-str
6238 (package
6239 (name "sbcl-cl-str")
6240 (version "0.19")
6241 (home-page "https://github.com/vindarel/cl-str")
6242 (source (origin
6243 (method git-fetch)
6244 (uri (git-reference
6245 (url home-page)
6246 (commit version)))
6247 (sha256
6248 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6249 (file-name (git-file-name name version))))
6250 (build-system asdf-build-system/sbcl)
6251 (inputs
6252 `(("cl-ppcre" ,sbcl-cl-ppcre)
6253 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6254 ("cl-change-case" ,sbcl-cl-change-case)))
6255 (native-inputs
6256 `(("prove" ,sbcl-prove)))
6257 (arguments
6258 `(#:asd-systems '("str")
6259 #:test-asd-file "str.test.asd"))
6260 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6261 (description "A modern and consistent Common Lisp string manipulation
6262 library that focuses on modernity, simplicity and discoverability:
6263 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6264 @code{str:concat strings} instead of an unusual format construct; one
6265 discoverable library instead of many; consistency and composability, where
6266 @code{s} is always the last argument, which makes it easier to feed pipes and
6267 arrows.")
6268 (license license:expat)))
6269
6270 (define-public cl-str
6271 (sbcl-package->cl-source-package sbcl-cl-str))
6272
6273 (define-public ecl-cl-str
6274 (sbcl-package->ecl-package sbcl-cl-str))
6275
6276 (define-public sbcl-cl-xmlspam
6277 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6278 (package
6279 (name "sbcl-cl-xmlspam")
6280 (build-system asdf-build-system/sbcl)
6281 (version (git-version "0.0.0" "1" commit))
6282 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6283 (source
6284 (origin
6285 (method git-fetch)
6286 (uri (git-reference
6287 (url home-page)
6288 (commit commit)))
6289 (file-name (string-append name "-" version))
6290 (sha256
6291 (base32
6292 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6293 (inputs
6294 `(("cxml" ,sbcl-cxml)
6295 ("cl-ppcre" ,sbcl-cl-ppcre)))
6296 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6297 (description "CXML does an excellent job at parsing XML elements, but what
6298 do you do when you have a XML file that's larger than you want to fit in
6299 memory, and you want to extract some information from it? Writing code to deal
6300 with SAX events, or even using Klacks, quickly becomes tedious.
6301 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6302 to write code that mirrors the structure of the XML that it's parsing. It
6303 also makes it easy to shift paradigms when necessary - the usual Lisp control
6304 constructs can be used interchangeably with pattern matching, and the full
6305 power of CXML is available when necessary.")
6306 (license license:bsd-3))))
6307
6308 (define-public cl-xmlspam
6309 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6310
6311 (define-public ecl-cl-xmlspam
6312 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6313
6314 (define-public sbcl-dbus
6315 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6316 (revision "1"))
6317 (package
6318 (name "sbcl-dbus")
6319 (version (git-version "20190408" revision commit))
6320 (home-page "https://github.com/death/dbus")
6321 (source
6322 (origin
6323 (method git-fetch)
6324 (uri (git-reference
6325 (url home-page)
6326 (commit commit)))
6327 (file-name (git-file-name name version))
6328 (sha256
6329 (base32
6330 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6331 (build-system asdf-build-system/sbcl)
6332 (inputs
6333 `(("alexandria" ,sbcl-alexandria)
6334 ("trivial-garbage" ,sbcl-trivial-garbage)
6335 ("babel" ,sbcl-babel)
6336 ("iolib" ,sbcl-iolib)
6337 ("ieee-floats" ,sbcl-ieee-floats)
6338 ("flexi-streams" ,sbcl-flexi-streams)
6339 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6340 ("ironclad" ,sbcl-ironclad)))
6341 (synopsis "D-Bus client library for Common Lisp")
6342 (description "This is a Common Lisp library that publishes D-Bus
6343 objects as well as send and notify other objects connected to a bus.")
6344 (license license:bsd-2))))
6345
6346 (define-public cl-dbus
6347 (sbcl-package->cl-source-package sbcl-dbus))
6348
6349 (define-public ecl-dbus
6350 (sbcl-package->ecl-package sbcl-dbus))
6351
6352 (define-public sbcl-cl-hooks
6353 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6354 (revision "1"))
6355 (package
6356 (name "sbcl-cl-hooks")
6357 (build-system asdf-build-system/sbcl)
6358 (version (git-version "0.2.1" revision commit))
6359 (home-page "https://github.com/scymtym/architecture.hooks")
6360 (source
6361 (origin
6362 (method git-fetch)
6363 (uri (git-reference
6364 (url home-page)
6365 (commit commit)))
6366 (file-name (git-file-name name version))
6367 (sha256
6368 (base32
6369 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6370 (inputs
6371 `(("alexandria" ,sbcl-alexandria)
6372 ("let-plus" ,sbcl-let-plus)
6373 ("trivial-garbage" ,sbcl-trivial-garbage)
6374 ("closer-mop" ,sbcl-closer-mop)))
6375 (native-inputs
6376 `(("fiveam" ,sbcl-fiveam)))
6377 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6378 (description "A hook, in the present context, is a certain kind of
6379 extension point in a program that allows interleaving the execution of
6380 arbitrary code with the execution of a the program without introducing any
6381 coupling between the two. Hooks are used extensively in the extensible editor
6382 Emacs.
6383
6384 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6385 possible using the flexible multi-method dispatch mechanism. It may even seem
6386 that the concept of hooks does not provide any benefits over the possibilities
6387 of CLOS. However, there are some differences:
6388
6389 @itemize
6390
6391 @item There can be only one method for each combination of specializers and
6392 qualifiers. As a result this kind of extension point cannot be used by
6393 multiple extensions independently.
6394 @item Removing code previously attached via a @code{:before}, @code{:after} or
6395 @code{:around} method can be cumbersome.
6396 @item There could be other or even multiple extension points besides @code{:before}
6397 and @code{:after} in a single method.
6398 @item Attaching codes to individual objects using eql specializers can be
6399 cumbersome.
6400 @item Introspection of code attached a particular extension point is
6401 cumbersome since this requires enumerating and inspecting the methods of a
6402 generic function.
6403 @end itemize
6404
6405 This library tries to complement some of these weaknesses of method-based
6406 extension-points via the concept of hooks.")
6407 (license license:llgpl))))
6408
6409 (define-public cl-hooks
6410 (sbcl-package->cl-source-package sbcl-cl-hooks))
6411
6412 (define-public ecl-cl-hooks
6413 (sbcl-package->ecl-package sbcl-cl-hooks))
6414
6415 (define-public sbcl-cl-autowrap
6416 (let ((revision "1")
6417 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6418 ;; no taged branches
6419 (package
6420 (name "sbcl-cl-autowrap")
6421 (version (git-version "1.0" revision commit))
6422 (source
6423 (origin
6424 (method git-fetch)
6425 (uri (git-reference
6426 (url "https://github.com/rpav/cl-autowrap")
6427 (commit commit)))
6428 (file-name (git-file-name name version))
6429 (sha256
6430 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6431 (build-system asdf-build-system/sbcl)
6432 (inputs
6433 `(("alexandria" ,sbcl-alexandria)
6434 ("cffi" ,sbcl-cffi)
6435 ("cl-json" ,sbcl-cl-json)
6436 ("cl-ppcre" ,sbcl-cl-ppcre)
6437 ("defpackage-plus" ,sbcl-defpackage-plus)
6438 ("trivial-features" ,sbcl-trivial-features)))
6439 (home-page "https://github.com/rpav/cl-autowrap")
6440 (synopsis "FFI wrapper generator for Common Lisp")
6441 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6442 (license license:bsd-2))))
6443
6444 (define-public cl-autowrap
6445 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6446
6447 (define-public ecl-cl-autowrap
6448 (sbcl-package->ecl-package sbcl-cl-autowrap))
6449
6450 (define-public sbcl-s-sysdeps
6451 ;; No release since 2013.
6452 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6453 (revision "2"))
6454 (package
6455 (name "sbcl-s-sysdeps")
6456 (build-system asdf-build-system/sbcl)
6457 (version (git-version "1" revision commit))
6458 (home-page "https://github.com/svenvc/s-sysdeps")
6459 (source
6460 (origin
6461 (method git-fetch)
6462 (uri (git-reference
6463 (url home-page)
6464 (commit commit)))
6465 (file-name (git-file-name name version))
6466 (sha256
6467 (base32
6468 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6469 (inputs
6470 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6471 ("usocket" ,sbcl-usocket)))
6472 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6473 (description "@code{s-sysdeps} is an abstraction layer over platform
6474 dependent functionality. This simple package is used as a building block in a
6475 number of other open source projects.
6476
6477 @code{s-sysdeps} abstracts:
6478
6479 @itemize
6480 @item managing processes,
6481 @item implementing a standard TCP/IP server,
6482 @item opening a client TCP/IP socket stream,
6483 @item working with process locks.
6484 @end itemize\n")
6485 (license license:llgpl))))
6486
6487 (define-public cl-s-sysdeps
6488 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6489
6490 (define-public ecl-s-sysdeps
6491 (sbcl-package->ecl-package sbcl-s-sysdeps))
6492
6493 (define-public sbcl-cl-prevalence
6494 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6495 (revision "4"))
6496 (package
6497 (name "sbcl-cl-prevalence")
6498 (build-system asdf-build-system/sbcl)
6499 (version (git-version "5" revision commit))
6500 (home-page "https://github.com/40ants/cl-prevalence")
6501 (source
6502 (origin
6503 (method git-fetch)
6504 (uri (git-reference
6505 (url home-page)
6506 (commit commit)))
6507 (file-name (git-file-name name version))
6508 (sha256
6509 (base32
6510 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6511 (inputs
6512 `(("s-sysdeps" ,sbcl-s-sysdeps)
6513 ("s-xml" ,sbcl-s-xml)))
6514 (native-inputs
6515 `(("fiveam" ,sbcl-fiveam)))
6516 (synopsis "Implementation of object prevalence for Common Lisp")
6517 (description "This Common Lisp library implements object prevalence (see
6518 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6519 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6520 classes and cyclic data structures are supported.")
6521 (license license:llgpl))))
6522
6523 (define-public cl-prevalence
6524 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6525
6526 (define-public ecl-cl-prevalence
6527 (sbcl-package->ecl-package sbcl-cl-prevalence))
6528
6529 (define-public sbcl-series
6530 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6531 (revision "1"))
6532 (package
6533 (name "sbcl-series")
6534 (version (git-version "2.2.11" revision commit))
6535 (source
6536 (origin
6537 (method git-fetch)
6538 (uri (git-reference
6539 (url "git://git.code.sf.net/p/series/series")
6540 (commit commit)))
6541 (file-name (git-file-name name version))
6542 (sha256
6543 (base32
6544 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6545 (build-system asdf-build-system/sbcl)
6546 (arguments
6547 ;; Disable the tests, they are apparently buggy and I didn't find
6548 ;; a simple way to make them run and pass.
6549 '(#:tests? #f))
6550 (synopsis "Series data structure for Common Lisp")
6551 (description
6552 "This Common Lisp library provides a series data structure much like
6553 a sequence, with similar kinds of operations. The difference is that in many
6554 situations, operations on series may be composed functionally and yet execute
6555 iteratively, without the need to construct intermediate series values
6556 explicitly. In this manner, series provide both the clarity of a functional
6557 programming style and the efficiency of an iterative programming style.")
6558 (home-page "http://series.sourceforge.net/")
6559 (license license:expat))))
6560
6561 (define-public cl-series
6562 (sbcl-package->cl-source-package sbcl-series))
6563
6564 (define-public ecl-series
6565 (sbcl-package->ecl-package sbcl-series))
6566
6567 (define-public sbcl-periods
6568 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6569 (revision "2"))
6570 (package
6571 (name "sbcl-periods")
6572 (version (git-version "0.0.2" revision commit))
6573 (source
6574 (origin
6575 (method git-fetch)
6576 (uri (git-reference
6577 (url "https://github.com/jwiegley/periods")
6578 (commit commit)))
6579 (file-name (git-file-name name version))
6580 (sha256
6581 (base32
6582 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6583 (build-system asdf-build-system/sbcl)
6584 (inputs
6585 `(("local-time" ,sbcl-local-time)
6586 ("series" ,sbcl-series)))
6587 (arguments
6588 '(#:asd-systems '("periods"
6589 "periods-series")))
6590 (synopsis "Common Lisp library for manipulating date/time objects")
6591 (description
6592 "Periods is a Common Lisp library providing a set of utilities for
6593 manipulating times, distances between times, and both contiguous and
6594 discontiguous ranges of time.")
6595 (home-page "https://github.com/jwiegley/periods")
6596 (license license:bsd-3))))
6597
6598 (define-public cl-periods
6599 (sbcl-package->cl-source-package sbcl-periods))
6600
6601 (define-public ecl-periods
6602 (sbcl-package->ecl-package sbcl-periods))
6603
6604 (define-public sbcl-metatilities-base
6605 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6606 (revision "1"))
6607 (package
6608 (name "sbcl-metatilities-base")
6609 (version (git-version "0.6.6" revision commit))
6610 (source
6611 (origin
6612 (method git-fetch)
6613 (uri (git-reference
6614 (url "https://github.com/gwkkwg/metatilities-base")
6615 (commit commit)))
6616 (file-name (git-file-name name version))
6617 (sha256
6618 (base32
6619 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6620 (build-system asdf-build-system/sbcl)
6621 (native-inputs
6622 `(("lift" ,sbcl-lift)))
6623 (synopsis "Core of the metatilities Common Lisp library")
6624 (description
6625 "Metatilities-base is the core of the metatilities Common Lisp library
6626 which implements a set of utilities.")
6627 (home-page "https://common-lisp.net/project/metatilities-base/")
6628 (license license:expat))))
6629
6630 (define-public cl-metatilities-base
6631 (sbcl-package->cl-source-package sbcl-metatilities-base))
6632
6633 (define-public ecl-metatilities-base
6634 (sbcl-package->ecl-package sbcl-metatilities-base))
6635
6636 (define-public sbcl-cl-containers
6637 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6638 (revision "3"))
6639 (package
6640 (name "sbcl-cl-containers")
6641 (version (git-version "0.12.1" revision commit))
6642 (source
6643 (origin
6644 (method git-fetch)
6645 (uri (git-reference
6646 (url "https://github.com/gwkkwg/cl-containers")
6647 (commit commit)))
6648 (file-name (git-file-name name version))
6649 (sha256
6650 (base32
6651 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6652 (build-system asdf-build-system/sbcl)
6653 (native-inputs
6654 `(("lift" ,sbcl-lift)))
6655 (inputs
6656 `(("metatilities-base" ,sbcl-metatilities-base)))
6657 (arguments
6658 '(#:asd-files '("cl-containers.asd")
6659 #:phases
6660 (modify-phases %standard-phases
6661 (add-after 'unpack 'relax-version-checks
6662 (lambda _
6663 (substitute* "cl-containers.asd"
6664 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6665 "\"metatilities-base\""))
6666 (substitute* "cl-containers-test.asd"
6667 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6668 "\"lift\""))
6669 #t)))))
6670 (synopsis "Container library for Common Lisp")
6671 (description
6672 "Common Lisp ships with a set of powerful built in data structures
6673 including the venerable list, full featured arrays, and hash-tables.
6674 CL-containers enhances and builds on these structures by adding containers
6675 that are not available in native Lisp (for example: binary search trees,
6676 red-black trees, sparse arrays and so on), and by providing a standard
6677 interface so that they are simpler to use and so that changing design
6678 decisions becomes significantly easier.")
6679 (home-page "https://common-lisp.net/project/cl-containers/")
6680 (license license:expat))))
6681
6682 (define-public cl-containers
6683 (sbcl-package->cl-source-package sbcl-cl-containers))
6684
6685 (define-public ecl-cl-containers
6686 (sbcl-package->ecl-package sbcl-cl-containers))
6687
6688 (define-public sbcl-xlunit
6689 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6690 (revision "1"))
6691 (package
6692 (name "sbcl-xlunit")
6693 (version (git-version "0.6.3" revision commit))
6694 (source
6695 (origin
6696 (method git-fetch)
6697 (uri (git-reference
6698 (url "http://git.kpe.io/xlunit.git")
6699 (commit commit)))
6700 (file-name (git-file-name name version))
6701 (sha256
6702 (base32
6703 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6704 (build-system asdf-build-system/sbcl)
6705 (arguments
6706 '(#:phases
6707 (modify-phases %standard-phases
6708 (add-after 'unpack 'fix-tests
6709 (lambda _
6710 (substitute* "xlunit.asd"
6711 ((" :force t") ""))
6712 #t)))))
6713 (synopsis "Unit testing package for Common Lisp")
6714 (description
6715 "The XLUnit package is a toolkit for building test suites. It is based
6716 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6717 (home-page "http://quickdocs.org/xlunit/")
6718 (license license:bsd-3))))
6719
6720 (define-public cl-xlunit
6721 (sbcl-package->cl-source-package sbcl-xlunit))
6722
6723 (define-public ecl-xlunit
6724 (sbcl-package->ecl-package sbcl-xlunit))
6725
6726 (define-public sbcl-cambl
6727 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6728 (revision "1"))
6729 (package
6730 (name "sbcl-cambl")
6731 (version (git-version "4.0.0" revision commit))
6732 (source
6733 (origin
6734 (method git-fetch)
6735 (uri (git-reference
6736 (url "https://github.com/jwiegley/cambl")
6737 (commit commit)))
6738 (file-name (git-file-name "cambl" version))
6739 (sha256
6740 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6741 (build-system asdf-build-system/sbcl)
6742 (native-inputs
6743 `(("xlunit" ,sbcl-xlunit)))
6744 (inputs
6745 `(("alexandria" ,sbcl-alexandria)
6746 ("cl-containers" ,sbcl-cl-containers)
6747 ("local-time" ,sbcl-local-time)
6748 ("periods" ,sbcl-periods)))
6749 (arguments
6750 '(#:asd-files '("fprog.asd"
6751 "cambl.asd")))
6752 (synopsis "Commoditized amounts and balances for Common Lisp")
6753 (description
6754 "CAMBL is a Common Lisp library providing a convenient facility for
6755 working with commoditized values. It does not allow compound units (and so is
6756 not suited for scientific operations) but does work rather nicely for the
6757 purpose of financial calculations.")
6758 (home-page "https://github.com/jwiegley/cambl")
6759 (license license:bsd-3))))
6760
6761 (define-public cl-cambl
6762 (sbcl-package->cl-source-package sbcl-cambl))
6763
6764 (define-public ecl-cambl
6765 (sbcl-package->ecl-package sbcl-cambl))
6766
6767 (define-public sbcl-cl-ledger
6768 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6769 (revision "1"))
6770 (package
6771 (name "sbcl-cl-ledger")
6772 (version (git-version "4.0.0" revision commit))
6773 (source
6774 (origin
6775 (method git-fetch)
6776 (uri (git-reference
6777 (url "https://github.com/ledger/cl-ledger")
6778 (commit commit)))
6779 (file-name (git-file-name name version))
6780 (sha256
6781 (base32
6782 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6783 (build-system asdf-build-system/sbcl)
6784 (inputs
6785 `(("cambl" ,sbcl-cambl)
6786 ("cl-ppcre" ,sbcl-cl-ppcre)
6787 ("local-time" ,sbcl-local-time)
6788 ("periods" ,sbcl-periods)))
6789 (arguments
6790 '(#:phases
6791 (modify-phases %standard-phases
6792 (add-after 'unpack 'fix-system-definition
6793 (lambda _
6794 (substitute* "cl-ledger.asd"
6795 ((" :build-operation program-op") "")
6796 ((" :build-pathname \"cl-ledger\"") "")
6797 ((" :entry-point \"ledger::main\"") ""))
6798 #t)))))
6799 (synopsis "Common Lisp port of the Ledger accounting system")
6800 (description
6801 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6802 system.")
6803 (home-page "https://github.com/ledger/cl-ledger")
6804 (license license:bsd-3))))
6805
6806 (define-public cl-ledger
6807 (sbcl-package->cl-source-package sbcl-cl-ledger))
6808
6809 (define-public ecl-cl-ledger
6810 (sbcl-package->ecl-package sbcl-cl-ledger))
6811
6812 (define-public sbcl-bst
6813 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6814 (revision "0"))
6815 (package
6816 (name "sbcl-bst")
6817 (version (git-version "2.0" revision commit))
6818 (source
6819 (origin
6820 (method git-fetch)
6821 (uri (git-reference
6822 (url "https://github.com/glv2/bst")
6823 (commit commit)))
6824 (file-name (git-file-name name version))
6825 (sha256
6826 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6827 (build-system asdf-build-system/sbcl)
6828 (native-inputs
6829 `(("alexandria" ,sbcl-alexandria)
6830 ("fiveam" ,sbcl-fiveam)))
6831 (synopsis "Binary search tree for Common Lisp")
6832 (description
6833 "BST is a Common Lisp library for working with binary search trees that
6834 can contain any kind of values.")
6835 (home-page "https://github.com/glv2/bst")
6836 (license license:gpl3))))
6837
6838 (define-public cl-bst
6839 (sbcl-package->cl-source-package sbcl-bst))
6840
6841 (define-public ecl-bst
6842 (sbcl-package->ecl-package sbcl-bst))
6843
6844 (define-public sbcl-cl-octet-streams
6845 (package
6846 (name "sbcl-cl-octet-streams")
6847 (version "1.2")
6848 (source
6849 (origin
6850 (method git-fetch)
6851 (uri (git-reference
6852 (url "https://github.com/glv2/cl-octet-streams")
6853 (commit (string-append "v" version))))
6854 (file-name (git-file-name name version))
6855 (sha256
6856 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6857 (build-system asdf-build-system/sbcl)
6858 (native-inputs
6859 `(("fiveam" ,sbcl-fiveam)))
6860 (inputs
6861 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6862 (synopsis "In-memory octet streams for Common Lisp")
6863 (description
6864 "CL-octet-streams is a library implementing in-memory octet
6865 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6866 cl-plumbing libraries.")
6867 (home-page "https://github.com/glv2/cl-octet-streams")
6868 (license license:gpl3+)))
6869
6870 (define-public cl-octet-streams
6871 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6872
6873 (define-public ecl-cl-octet-streams
6874 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6875
6876 (define-public sbcl-lzlib
6877 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6878 (revision "2"))
6879 (package
6880 (name "sbcl-lzlib")
6881 (version (git-version "1.1" revision commit))
6882 (source
6883 (origin
6884 (method git-fetch)
6885 (uri (git-reference
6886 (url "https://github.com/glv2/cl-lzlib")
6887 (commit commit)))
6888 (file-name (git-file-name name version))
6889 (sha256
6890 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6891 (build-system asdf-build-system/sbcl)
6892 (native-inputs
6893 `(("fiveam" ,sbcl-fiveam)))
6894 (inputs
6895 `(("cffi" ,sbcl-cffi)
6896 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6897 ("lparallel" ,sbcl-lparallel)
6898 ("lzlib" ,lzlib)))
6899 (arguments
6900 '(#:phases
6901 (modify-phases %standard-phases
6902 (add-after 'unpack 'fix-paths
6903 (lambda* (#:key inputs #:allow-other-keys)
6904 (substitute* "src/lzlib.lisp"
6905 (("liblz\\.so")
6906 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6907 #t)))))
6908 (synopsis "Common Lisp library for lzip (de)compression")
6909 (description
6910 "This Common Lisp library provides functions for lzip (LZMA)
6911 compression/decompression using bindings to the lzlib C library.")
6912 (home-page "https://github.com/glv2/cl-lzlib")
6913 (license license:gpl3+))))
6914
6915 (define-public cl-lzlib
6916 (sbcl-package->cl-source-package sbcl-lzlib))
6917
6918 (define-public ecl-lzlib
6919 (sbcl-package->ecl-package sbcl-lzlib))
6920
6921 (define-public sbcl-chanl
6922 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6923 (revision "1"))
6924 (package
6925 (name "sbcl-chanl")
6926 (version (git-version "0.4.1" revision commit))
6927 (source
6928 (origin
6929 (method git-fetch)
6930 (uri (git-reference
6931 (url "https://github.com/zkat/chanl")
6932 (commit commit)))
6933 (file-name (git-file-name name version))
6934 (sha256
6935 (base32
6936 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6937 (build-system asdf-build-system/sbcl)
6938 (native-inputs
6939 `(("fiveam" ,sbcl-fiveam)))
6940 (inputs
6941 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6942 (synopsis "Portable channel-based concurrency for Common Lisp")
6943 (description "Common Lisp library for channel-based concurrency. In
6944 a nutshell, you create various threads sequentially executing tasks you need
6945 done, and use channel objects to communicate and synchronize the state of these
6946 threads.")
6947 (home-page "https://github.com/zkat/chanl")
6948 (license (list license:expat license:bsd-3)))))
6949
6950 (define-public cl-chanl
6951 (sbcl-package->cl-source-package sbcl-chanl))
6952
6953 (define-public ecl-chanl
6954 (sbcl-package->ecl-package sbcl-chanl))
6955
6956 (define-public sbcl-cl-store
6957 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6958 (revision "1"))
6959 (package
6960 (name "sbcl-cl-store")
6961 (version (git-version "0.8.11" revision commit))
6962 (source
6963 (origin
6964 (method git-fetch)
6965 (uri (git-reference
6966 (url "https://github.com/skypher/cl-store")
6967 (commit commit)))
6968 (file-name (git-file-name name version))
6969 (sha256
6970 (base32
6971 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6972 (build-system asdf-build-system/sbcl)
6973 (native-inputs
6974 `(("rt" ,sbcl-rt)))
6975 (synopsis "Common Lisp library to serialize data")
6976 (description
6977 "CL-STORE is a portable serialization package which should give you the
6978 ability to store all Common Lisp data types into streams.")
6979 (home-page "https://www.common-lisp.net/project/cl-store/")
6980 (license license:expat))))
6981
6982 (define-public cl-store
6983 (sbcl-package->cl-source-package sbcl-cl-store))
6984
6985 (define-public ecl-cl-store
6986 (sbcl-package->ecl-package sbcl-cl-store))
6987
6988 (define-public sbcl-specialization-store
6989 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6990 (revision "1"))
6991 (package
6992 (name "sbcl-specialization-store")
6993 (version (git-version "0.0.5" revision commit))
6994 (source
6995 (origin
6996 (method git-fetch)
6997 (uri (git-reference
6998 (url "https://github.com/markcox80/specialization-store")
6999 (commit commit)))
7000 (file-name (git-file-name "specialization-store" version))
7001 (sha256
7002 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7003 (build-system asdf-build-system/sbcl)
7004 (native-inputs
7005 `(("fiveam" ,sbcl-fiveam)))
7006 (inputs
7007 `(("alexandria" ,sbcl-alexandria)
7008 ("introspect-environment" ,sbcl-introspect-environment)))
7009 (home-page "https://github.com/markcox80/specialization-store")
7010 (synopsis "Different type of generic function for Common Lisp")
7011 (description
7012 "SPECIALIZATION-STORE system provides a new kind of function, called
7013 a store function, whose behavior depends on the types of objects passed to the
7014 function.")
7015 (license license:bsd-2))))
7016
7017 (define-public ecl-specialization-store
7018 (package
7019 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7020 (arguments
7021 ;; TODO: Find why the tests get stuck forever; disable them for now.
7022 `(#:tests? #f))))
7023
7024 (define-public cl-specialization-store
7025 (sbcl-package->cl-source-package sbcl-specialization-store))
7026
7027 (define-public sbcl-cl-gobject-introspection
7028 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7029 (revision "1"))
7030 (package
7031 (name "sbcl-cl-gobject-introspection")
7032 (version (git-version "0.3" revision commit))
7033 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7034 (source
7035 (origin
7036 (method git-fetch)
7037 (uri (git-reference
7038 (url home-page)
7039 (commit commit)))
7040 (file-name (git-file-name name version))
7041 (sha256
7042 (base32
7043 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7044 (build-system asdf-build-system/sbcl)
7045 (inputs
7046 `(("alexandria" ,sbcl-alexandria)
7047 ("cffi" ,sbcl-cffi)
7048 ("iterate" ,sbcl-iterate)
7049 ("trivial-garbage" ,sbcl-trivial-garbage)
7050 ("glib" ,glib)
7051 ("gobject-introspection" ,gobject-introspection)))
7052 (native-inputs
7053 `(("fiveam" ,sbcl-fiveam)))
7054 (arguments
7055 '(#:phases
7056 (modify-phases %standard-phases
7057 (add-after 'unpack 'fix-paths
7058 (lambda* (#:key inputs #:allow-other-keys)
7059 (substitute* "src/init.lisp"
7060 (("libgobject-2\\.0\\.so")
7061 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7062 (("libgirepository-1\\.0\\.so")
7063 (string-append (assoc-ref inputs "gobject-introspection")
7064 "/lib/libgirepository-1.0.so")))
7065 #t)))))
7066 (synopsis "Common Lisp bindings to GObject Introspection")
7067 (description
7068 "This library is a bridge between Common Lisp and GObject
7069 Introspection, which enables Common Lisp programs to access the full interface
7070 of C+GObject libraries without the need of writing dedicated bindings.")
7071 (license (list license:bsd-3
7072 ;; Tests are under a different license.
7073 license:llgpl)))))
7074
7075 (define-public cl-gobject-introspection
7076 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7077
7078 (define-public ecl-cl-gobject-introspection
7079 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7080
7081 (define-public sbcl-cl-slug
7082 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7083 (revision "1"))
7084 (package
7085 (name "sbcl-cl-slug")
7086 (version (git-version "0.4.1" revision commit))
7087 (source
7088 (origin
7089 (method git-fetch)
7090 (uri (git-reference
7091 (url "https://github.com/EuAndreh/cl-slug")
7092 (commit commit)))
7093 (file-name (git-file-name "cl-slug" version))
7094 (sha256
7095 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7096 (build-system asdf-build-system/sbcl)
7097 (arguments
7098 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7099 #:asd-systems '("cl-slug-test" "cl-slug")))
7100 (native-inputs
7101 `(("prove" ,sbcl-prove)))
7102 (inputs
7103 `(("ppcre" ,sbcl-cl-ppcre)))
7104 (home-page "https://github.com/EuAndreh/cl-slug")
7105 (synopsis "Multi-language slug formater")
7106 (description
7107 "This is a small Common Lisp library to make slugs, mainly for URIs,
7108 from english and beyond.")
7109 (license license:llgpl))))
7110
7111 (define-public ecl-cl-slug
7112 (sbcl-package->ecl-package sbcl-cl-slug))
7113
7114 (define-public cl-slug
7115 (sbcl-package->cl-source-package sbcl-cl-slug))
7116
7117 (define-public sbcl-string-case
7118 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7119 (revision "0"))
7120 (package
7121 (name "sbcl-string-case")
7122 (version (git-version "0.0.2" revision commit))
7123 (home-page "https://github.com/pkhuong/string-case")
7124 (source
7125 (origin
7126 (method git-fetch)
7127 (uri (git-reference
7128 (url home-page)
7129 (commit commit)))
7130 (file-name (git-file-name name version))
7131 (sha256
7132 (base32
7133 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7134 (build-system asdf-build-system/sbcl)
7135 (synopsis "Efficient string= case in Common Lisp")
7136 (description
7137 "@code{string-case} is a Common Lisp macro that generates specialised decision
7138 trees to dispatch on string equality.")
7139 (license license:bsd-3))))
7140
7141 (define-public cl-string-case
7142 (sbcl-package->cl-source-package sbcl-string-case))
7143
7144 (define-public ecl-string-case
7145 (sbcl-package->ecl-package sbcl-string-case))
7146
7147 (define-public sbcl-garbage-pools
7148 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7149 (revision "1"))
7150 (package
7151 (name "sbcl-garbage-pools")
7152 (version (git-version "0.1.2" revision commit))
7153 (source
7154 (origin
7155 (method git-fetch)
7156 (uri (git-reference
7157 (url "https://github.com/archimag/garbage-pools")
7158 (commit commit)))
7159 (file-name (git-file-name name version))
7160 (sha256
7161 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7162 (build-system asdf-build-system/sbcl)
7163 (home-page "https://github.com/archimag/garbage-pools")
7164 (synopsis "Resource management pools for Common Lisp")
7165 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7166 Pools for resource management.")
7167 (license license:expat))))
7168
7169 (define-public ecl-garbage-pools
7170 (sbcl-package->ecl-package sbcl-garbage-pools))
7171
7172 (define-public cl-garbage-pools
7173 (sbcl-package->cl-source-package sbcl-garbage-pools))
7174
7175 (define-public sbcl-global-vars
7176 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7177 (revision "0"))
7178 (package
7179 (name "sbcl-global-vars")
7180 (version (git-version "1.0.0" revision commit))
7181 (home-page "https://github.com/lmj/global-vars")
7182 (source
7183 (origin
7184 (method git-fetch)
7185 (uri (git-reference
7186 (url home-page)
7187 (commit commit)))
7188 (file-name (git-file-name name version))
7189 (sha256
7190 (base32
7191 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7192 (build-system asdf-build-system/sbcl)
7193 (synopsis "Efficient global variables in Common Lisp")
7194 (description
7195 "In Common Lisp, a special variable that is never dynamically bound
7196 typically serves as a stand-in for a global variable. The @code{global-vars}
7197 library provides true global variables that are implemented by some compilers.
7198 An attempt to rebind a global variable properly results in a compiler error.
7199 That is, a global variable cannot be dynamically bound.
7200
7201 Global variables therefore allow us to communicate an intended usage that
7202 differs from special variables. Global variables are also more efficient than
7203 special variables, especially in the presence of threads.")
7204 (license license:expat))))
7205
7206 (define-public cl-global-vars
7207 (sbcl-package->cl-source-package sbcl-global-vars))
7208
7209 (define-public ecl-global-vars
7210 (sbcl-package->ecl-package sbcl-global-vars))
7211
7212 (define-public sbcl-trivial-file-size
7213 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7214 (revision "0"))
7215 (package
7216 (name "sbcl-trivial-file-size")
7217 (version (git-version "0.0.0" revision commit))
7218 (home-page "https://github.com/ruricolist/trivial-file-size")
7219 (source
7220 (origin
7221 (method git-fetch)
7222 (uri (git-reference
7223 (url home-page)
7224 (commit commit)))
7225 (file-name (git-file-name name version))
7226 (sha256
7227 (base32
7228 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7229 (build-system asdf-build-system/sbcl)
7230 (native-inputs
7231 `(("fiveam" ,sbcl-fiveam)))
7232 (synopsis "Size of a file in bytes in Common Lisp")
7233 (description
7234 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7235 is to open the file with an element type of (unsigned-byte 8) and then
7236 calculate the length of the stream. This is less than ideal. In most cases
7237 it is better to get the size of the file from its metadata, using a system
7238 call.
7239
7240 This library exports a single function, file-size-in-octets. It returns the
7241 size of a file in bytes, using system calls when possible.")
7242 (license license:expat))))
7243
7244 (define-public cl-trivial-file-size
7245 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7246
7247 (define-public ecl-trivial-file-size
7248 (sbcl-package->ecl-package sbcl-trivial-file-size))
7249
7250 (define-public sbcl-trivial-macroexpand-all
7251 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7252 (revision "0"))
7253 (package
7254 (name "sbcl-trivial-macroexpand-all")
7255 (version (git-version "0.0.0" revision commit))
7256 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7257 (source
7258 (origin
7259 (method git-fetch)
7260 (uri (git-reference
7261 (url home-page)
7262 (commit commit)))
7263 (file-name (git-file-name name version))
7264 (sha256
7265 (base32
7266 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7267 (build-system asdf-build-system/sbcl)
7268 (native-inputs
7269 `(("fiveam" ,sbcl-fiveam)))
7270 (synopsis "Portable macroexpand-all for Common Lisp")
7271 (description
7272 "This library provides a macroexpand-all function that calls the
7273 implementation specific equivalent.")
7274 (license license:unlicense))))
7275
7276 (define-public cl-trivial-macroexpand-all
7277 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7278
7279 (define-public ecl-trivial-macroexpand-all
7280 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7281
7282 (define-public sbcl-serapeum
7283 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7284 (revision "4"))
7285 (package
7286 (name "sbcl-serapeum")
7287 (version (git-version "0.0.0" revision commit))
7288 (home-page "https://github.com/ruricolist/serapeum")
7289 (source
7290 (origin
7291 (method git-fetch)
7292 (uri (git-reference
7293 (url home-page)
7294 (commit commit)))
7295 (file-name (git-file-name name version))
7296 (sha256
7297 (base32
7298 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7299 (build-system asdf-build-system/sbcl)
7300 (inputs
7301 `(("alexandria" ,sbcl-alexandria)
7302 ("trivia" ,sbcl-trivia)
7303 ("split-sequence" ,sbcl-split-sequence)
7304 ("string-case" ,sbcl-string-case)
7305 ("parse-number" ,sbcl-parse-number)
7306 ("trivial-garbage" ,sbcl-trivial-garbage)
7307 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7308 ("named-readtables" ,sbcl-named-readtables)
7309 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7310 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7311 ("global-vars" ,sbcl-global-vars)
7312 ("trivial-file-size" ,sbcl-trivial-file-size)
7313 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7314 (native-inputs
7315 `(("fiveam" ,sbcl-fiveam)
7316 ("local-time" ,sbcl-local-time)))
7317 (arguments
7318 '(#:phases
7319 (modify-phases %standard-phases
7320 (add-after 'unpack 'disable-failing-tests
7321 (lambda* (#:key inputs #:allow-other-keys)
7322 (substitute* "serapeum.asd"
7323 ;; Guix does not have Quicklisp, and probably never will.
7324 (("\\(:file \"quicklisp\"\\)") ""))
7325 #t)))))
7326 (synopsis "Common Lisp utility library beyond Alexandria")
7327 (description
7328 "Serapeum is a conservative library of Common Lisp utilities. It is a
7329 supplement, not a competitor, to Alexandria.")
7330 (license license:expat))))
7331
7332 (define-public cl-serapeum
7333 (sbcl-package->cl-source-package sbcl-serapeum))
7334
7335 (define-public ecl-serapeum
7336 (sbcl-package->ecl-package sbcl-serapeum))
7337
7338 (define-public sbcl-arrows
7339 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7340 (revision "0"))
7341 (package
7342 (name "sbcl-arrows")
7343 (version (git-version "0.2.0" revision commit))
7344 (source
7345 (origin
7346 (method git-fetch)
7347 (uri (git-reference
7348 (url "https://gitlab.com/Harleqin/arrows.git")
7349 (commit commit)))
7350 (file-name (git-file-name name version))
7351 (sha256
7352 (base32
7353 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7354 (build-system asdf-build-system/sbcl)
7355 (native-inputs
7356 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7357 (synopsis "Clojure-like arrow macros for Common Lisp")
7358 (description
7359 "This library implements the @code{->} and @code{->>} macros from
7360 Clojure, as well as several expansions on the idea.")
7361 (home-page "https://gitlab.com/Harleqin/arrows")
7362 (license license:public-domain))))
7363
7364 (define-public cl-arrows
7365 (sbcl-package->cl-source-package sbcl-arrows))
7366
7367 (define-public ecl-arrows
7368 (sbcl-package->ecl-package sbcl-arrows))
7369
7370 (define-public sbcl-simple-parallel-tasks
7371 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7372 (revision "1"))
7373 (package
7374 (name "sbcl-simple-parallel-tasks")
7375 (version (git-version "1.0" revision commit))
7376 (source
7377 (origin
7378 (method git-fetch)
7379 (uri (git-reference
7380 (url "https://github.com/glv2/simple-parallel-tasks")
7381 (commit commit)))
7382 (file-name (git-file-name name version))
7383 (sha256
7384 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7385 (build-system asdf-build-system/sbcl)
7386 (native-inputs
7387 `(("fiveam" ,sbcl-fiveam)))
7388 (inputs
7389 `(("chanl" ,sbcl-chanl)))
7390 (synopsis "Common Lisp library to evaluate some forms in parallel")
7391 (description "This is a simple Common Lisp library to evaluate some
7392 forms in parallel.")
7393 (home-page "https://github.com/glv2/simple-parallel-tasks")
7394 (license license:gpl3))))
7395
7396 (define-public cl-simple-parallel-tasks
7397 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7398
7399 (define-public ecl-simple-parallel-tasks
7400 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7401
7402 (define-public sbcl-cl-heap
7403 (package
7404 (name "sbcl-cl-heap")
7405 (version "0.1.6")
7406 (source
7407 (origin
7408 (method url-fetch)
7409 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7410 "cl-heap_" version ".tar.gz"))
7411 (sha256
7412 (base32
7413 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7414 (build-system asdf-build-system/sbcl)
7415 (native-inputs
7416 `(("xlunit" ,sbcl-xlunit)))
7417 (arguments
7418 `(#:test-asd-file "cl-heap-tests.asd"))
7419 (synopsis "Heap and priority queue data structures for Common Lisp")
7420 (description
7421 "CL-HEAP provides various implementations of heap data structures (a
7422 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7423 (home-page "https://common-lisp.net/project/cl-heap/")
7424 (license license:gpl3+)))
7425
7426 (define-public cl-heap
7427 (sbcl-package->cl-source-package sbcl-cl-heap))
7428
7429 (define-public ecl-cl-heap
7430 (sbcl-package->ecl-package sbcl-cl-heap))
7431
7432 (define-public sbcl-curry-compose-reader-macros
7433 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7434 (revision "0"))
7435 (package
7436 (name "sbcl-curry-compose-reader-macros")
7437 (version (git-version "1.0.0" revision commit))
7438 (source
7439 (origin
7440 (method git-fetch)
7441 (uri
7442 (git-reference
7443 (url "https://github.com/eschulte/curry-compose-reader-macros")
7444 (commit commit)))
7445 (file-name (git-file-name name version))
7446 (sha256
7447 (base32
7448 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7449 (build-system asdf-build-system/sbcl)
7450 (inputs
7451 `(("alexandria" ,sbcl-alexandria)
7452 ("named-readtables" ,sbcl-named-readtables)))
7453 (synopsis "Reader macros for partial application and composition")
7454 (description
7455 "This Common Lisp library provides reader macros for concise expression
7456 of function partial application and composition.")
7457 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7458 (license license:public-domain))))
7459
7460 (define-public cl-curry-compose-reader-macros
7461 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7462
7463 (define-public ecl-curry-compose-reader-macros
7464 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7465
7466 (define-public sbcl-yason
7467 (package
7468 (name "sbcl-yason")
7469 (version "0.7.7")
7470 (source
7471 (origin
7472 (method git-fetch)
7473 (uri (git-reference
7474 (url "https://github.com/phmarek/yason")
7475 (commit (string-append "v" version))))
7476 (file-name (git-file-name name version))
7477 (sha256
7478 (base32
7479 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7480 (build-system asdf-build-system/sbcl)
7481 (inputs
7482 `(("alexandria" ,sbcl-alexandria)
7483 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7484 (synopsis "Common Lisp JSON parser/encoder")
7485 (description
7486 "YASON is a Common Lisp library for encoding and decoding data in the
7487 JSON interchange format.")
7488 (home-page "https://github.com/phmarek/yason")
7489 (license license:bsd-3)))
7490
7491 (define-public cl-yason
7492 (sbcl-package->cl-source-package sbcl-yason))
7493
7494 (define-public ecl-yason
7495 (sbcl-package->ecl-package sbcl-yason))
7496
7497 (define-public sbcl-stefil
7498 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7499 (revision "0"))
7500 (package
7501 (name "sbcl-stefil")
7502 (version (git-version "0.1" revision commit))
7503 (source
7504 (origin
7505 (method git-fetch)
7506 (uri (git-reference
7507 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7508 (commit commit)))
7509 (file-name (git-file-name name version))
7510 (sha256
7511 (base32
7512 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7513 (build-system asdf-build-system/sbcl)
7514 (inputs
7515 `(("alexandria" ,sbcl-alexandria)
7516 ("iterate" ,sbcl-iterate)
7517 ("metabang-bind" ,sbcl-metabang-bind)
7518 ("swank" ,sbcl-slime-swank)))
7519 (arguments
7520 '(#:phases
7521 (modify-phases %standard-phases
7522 (add-after 'unpack 'drop-unnecessary-dependency
7523 (lambda _
7524 (substitute* "package.lisp"
7525 ((":stefil-system") ""))
7526 #t)))))
7527 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7528 (synopsis "Simple test framework")
7529 (description
7530 "Stefil is a simple test framework for Common Lisp, with a focus on
7531 interactive development.")
7532 (license license:public-domain))))
7533
7534 (define-public cl-stefil
7535 (sbcl-package->cl-source-package sbcl-stefil))
7536
7537 (define-public ecl-stefil
7538 (sbcl-package->ecl-package sbcl-stefil))
7539
7540 (define-public sbcl-graph
7541 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7542 (revision "0"))
7543 (package
7544 (name "sbcl-graph")
7545 (version (git-version "0.0.0" revision commit))
7546 (source
7547 (origin
7548 (method git-fetch)
7549 (uri
7550 (git-reference
7551 (url "https://github.com/eschulte/graph")
7552 (commit commit)))
7553 (file-name (git-file-name name version))
7554 (sha256
7555 (base32
7556 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7557 (build-system asdf-build-system/sbcl)
7558 (native-inputs
7559 `(("stefil" ,sbcl-stefil)))
7560 (inputs
7561 `(("alexandria" ,sbcl-alexandria)
7562 ("cl-heap" ,sbcl-cl-heap)
7563 ("cl-ppcre" ,sbcl-cl-ppcre)
7564 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7565 ("metabang-bind" ,sbcl-metabang-bind)
7566 ("named-readtables" ,sbcl-named-readtables)
7567 ("yason" ,sbcl-yason)))
7568 (arguments
7569 '(#:asd-systems '("graph"
7570 "graph/dot"
7571 "graph/json")))
7572 (synopsis "Graph data structure and algorithms for Common Lisp")
7573 (description
7574 "The GRAPH Common Lisp library provides a data structures to represent
7575 graphs, as well as some graph manipulation and analysis algorithms (shortest
7576 path, maximum flow, minimum spanning tree, etc.).")
7577 (home-page "https://eschulte.github.io/graph/")
7578 (license license:gpl3+))))
7579
7580 (define-public cl-graph
7581 (sbcl-package->cl-source-package sbcl-graph))
7582
7583 (define-public ecl-graph
7584 (sbcl-package->ecl-package sbcl-graph))
7585
7586 (define-public sbcl-trivial-indent
7587 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7588 (revision "0"))
7589 (package
7590 (name "sbcl-trivial-indent")
7591 (version (git-version "1.0.0" revision commit))
7592 (source
7593 (origin
7594 (method git-fetch)
7595 (uri
7596 (git-reference
7597 (url "https://github.com/Shinmera/trivial-indent")
7598 (commit commit)))
7599 (file-name (git-file-name name version))
7600 (sha256
7601 (base32
7602 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7603 (build-system asdf-build-system/sbcl)
7604 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7605 (description
7606 "This library allows you to define custom indentation hints for your
7607 macros if the one recognised by SLIME automatically produces unwanted
7608 results.")
7609 (home-page "https://shinmera.github.io/trivial-indent/")
7610 (license license:zlib))))
7611
7612 (define-public cl-trivial-indent
7613 (sbcl-package->cl-source-package sbcl-trivial-indent))
7614
7615 (define-public ecl-trivial-indent
7616 (sbcl-package->ecl-package sbcl-trivial-indent))
7617
7618 (define-public sbcl-documentation-utils
7619 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7620 (revision "0"))
7621 (package
7622 (name "sbcl-documentation-utils")
7623 (version (git-version "1.2.0" revision commit))
7624 (source
7625 (origin
7626 (method git-fetch)
7627 (uri
7628 (git-reference
7629 (url "https://github.com/Shinmera/documentation-utils")
7630 (commit commit)))
7631 (file-name (git-file-name name version))
7632 (sha256
7633 (base32
7634 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7635 (build-system asdf-build-system/sbcl)
7636 (inputs
7637 `(("trivial-indent" ,sbcl-trivial-indent)))
7638 (synopsis "Few simple tools to document Common Lisp libraries")
7639 (description
7640 "This is a small library to help you with managing the Common Lisp
7641 docstrings for your library.")
7642 (home-page "https://shinmera.github.io/documentation-utils/")
7643 (license license:zlib))))
7644
7645 (define-public cl-documentation-utils
7646 (sbcl-package->cl-source-package sbcl-documentation-utils))
7647
7648 (define-public ecl-documentation-utils
7649 (sbcl-package->ecl-package sbcl-documentation-utils))
7650
7651 (define-public sbcl-documentation-utils-extensions
7652 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7653 (package
7654 (name "sbcl-documentation-utils-extensions")
7655 (version (git-version "0.0.0" "1" commit))
7656 (source
7657 (origin
7658 (method git-fetch)
7659 (uri
7660 (git-reference
7661 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7662 (commit commit)))
7663 (file-name (git-file-name name version))
7664 (sha256
7665 (base32
7666 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7667 (build-system asdf-build-system/sbcl)
7668 (inputs
7669 `(("documentation-utils" ,sbcl-documentation-utils)))
7670 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7671 (synopsis "Set of extensions for documentation-utils")
7672 (description
7673 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7674 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7675 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7676 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7677 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7678 gathered documentation with find-documentation function. Execute code stored
7679 in documentation with @code{execute-documentation}. See the examples in the
7680 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7681 for more information.")
7682 (license license:expat))))
7683
7684 (define-public cl-documentation-utils-extensions
7685 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7686
7687 (define-public ecl-documentation-utils-extensions
7688 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7689
7690 (define-public sbcl-form-fiddle
7691 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7692 (revision "0"))
7693 (package
7694 (name "sbcl-form-fiddle")
7695 (version (git-version "1.1.0" revision commit))
7696 (source
7697 (origin
7698 (method git-fetch)
7699 (uri
7700 (git-reference
7701 (url "https://github.com/Shinmera/form-fiddle")
7702 (commit commit)))
7703 (file-name (git-file-name name version))
7704 (sha256
7705 (base32
7706 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7707 (build-system asdf-build-system/sbcl)
7708 (inputs
7709 `(("documentation-utils" ,sbcl-documentation-utils)))
7710 (synopsis "Utilities to destructure Common Lisp lambda forms")
7711 (description
7712 "Often times we need to destructure a form definition in a Common Lisp
7713 macro. This library provides a set of simple utilities to help with that.")
7714 (home-page "https://shinmera.github.io/form-fiddle/")
7715 (license license:zlib))))
7716
7717 (define-public cl-form-fiddle
7718 (sbcl-package->cl-source-package sbcl-form-fiddle))
7719
7720 (define-public ecl-form-fiddle
7721 (sbcl-package->ecl-package sbcl-form-fiddle))
7722
7723 (define-public sbcl-parachute
7724 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7725 (revision "0"))
7726 (package
7727 (name "sbcl-parachute")
7728 (version (git-version "1.1.1" revision commit))
7729 (source
7730 (origin
7731 (method git-fetch)
7732 (uri
7733 (git-reference
7734 (url "https://github.com/Shinmera/parachute")
7735 (commit commit)))
7736 (file-name (git-file-name name version))
7737 (sha256
7738 (base32
7739 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7740 (build-system asdf-build-system/sbcl)
7741 (inputs
7742 `(("documentation-utils" ,sbcl-documentation-utils)
7743 ("form-fiddle" ,sbcl-form-fiddle)))
7744 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7745 (description
7746 "Parachute is a simple-to-use and extensible testing framework.
7747 In Parachute, things are organised as a bunch of named tests within a package.
7748 Each test can contain a bunch of test forms that make up its body.")
7749 (home-page "https://shinmera.github.io/parachute/")
7750 (license license:zlib))))
7751
7752 (define-public cl-parachute
7753 (sbcl-package->cl-source-package sbcl-parachute))
7754
7755 (define-public ecl-parachute
7756 (sbcl-package->ecl-package sbcl-parachute))
7757
7758 (define-public sbcl-array-utils
7759 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7760 (revision "0"))
7761 (package
7762 (name "sbcl-array-utils")
7763 (version (git-version "1.1.1" revision commit))
7764 (source
7765 (origin
7766 (method git-fetch)
7767 (uri
7768 (git-reference
7769 (url "https://github.com/Shinmera/array-utils")
7770 (commit commit)))
7771 (file-name (git-file-name name version))
7772 (sha256
7773 (base32
7774 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7775 (build-system asdf-build-system/sbcl)
7776 (native-inputs
7777 `(("parachute" ,sbcl-parachute)))
7778 (inputs
7779 `(("documentation-utils" ,sbcl-documentation-utils)))
7780 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7781 (description
7782 "A miniature toolkit that contains some useful shifting/popping/pushing
7783 functions for arrays and vectors. Originally from Plump.")
7784 (home-page "https://shinmera.github.io/array-utils/")
7785 (license license:zlib))))
7786
7787 (define-public cl-array-utils
7788 (sbcl-package->cl-source-package sbcl-array-utils))
7789
7790 (define-public ecl-array-utils
7791 (sbcl-package->ecl-package sbcl-array-utils))
7792
7793 (define-public sbcl-plump
7794 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7795 (revision "1"))
7796 (package
7797 (name "sbcl-plump")
7798 (version (git-version "2.0.0" revision commit))
7799 (source
7800 (origin
7801 (method git-fetch)
7802 (uri
7803 (git-reference
7804 (url "https://github.com/Shinmera/plump")
7805 (commit commit)))
7806 (file-name (git-file-name name version))
7807 (sha256
7808 (base32
7809 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7810 (build-system asdf-build-system/sbcl)
7811 (inputs
7812 `(("array-utils" ,sbcl-array-utils)
7813 ("documentation-utils" ,sbcl-documentation-utils)))
7814 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7815 (description
7816 "Plump is a parser for HTML/XML-like documents, focusing on being
7817 lenient towards invalid markup. It can handle things like invalid attributes,
7818 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7819 tags and so on. It parses documents to a class representation and offers a
7820 small set of DOM functions to manipulate it. It can be extended to parse to
7821 your own classes.")
7822 (home-page "https://shinmera.github.io/plump/")
7823 (license license:zlib))))
7824
7825 (define-public cl-plump
7826 (sbcl-package->cl-source-package sbcl-plump))
7827
7828 (define-public ecl-plump
7829 (sbcl-package->ecl-package sbcl-plump))
7830
7831 ;;; Split the antik package in two to work around the circular dependency
7832 ;;; between antik/antik and antik/gsll.
7833 (define-public sbcl-antik-base
7834 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7835 (revision "1"))
7836 (package
7837 (name "sbcl-antik-base")
7838 (version (git-version "0.0.0" revision commit))
7839 (source
7840 (origin
7841 (method git-fetch)
7842 (uri (git-reference
7843 (url "https://gitlab.common-lisp.net/antik/antik.git")
7844 (commit commit)))
7845 (file-name (git-file-name name version))
7846 (sha256
7847 (base32
7848 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7849 (build-system asdf-build-system/sbcl)
7850 (inputs
7851 `(("alexandria" ,sbcl-alexandria)
7852 ("cffi" ,sbcl-cffi)
7853 ("cl-ppcre" ,sbcl-cl-ppcre)
7854 ("drakma" ,sbcl-drakma)
7855 ("fare-utils" ,sbcl-fare-utils)
7856 ("iterate" ,sbcl-iterate)
7857 ("metabang-bind" ,sbcl-metabang-bind)
7858 ("named-readtables" ,sbcl-named-readtables)
7859 ("split-sequence" ,sbcl-split-sequence)
7860 ("static-vectors" ,sbcl-static-vectors)
7861 ("trivial-garbage" ,sbcl-trivial-garbage)
7862 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7863 (native-inputs
7864 `(("lisp-unit" ,sbcl-lisp-unit)))
7865 (arguments
7866 '(#:asd-systems '("antik-base"
7867 "foreign-array")
7868 #:phases
7869 (modify-phases %standard-phases
7870 (add-after 'unpack 'fix-build
7871 (lambda _
7872 (for-each delete-file
7873 '("antik.asd"
7874 "physical-dimension.asd"
7875 "science-data.asd"))
7876 #t)))))
7877 (synopsis "Scientific and engineering computation in Common Lisp")
7878 (description
7879 "Antik provides a foundation for scientific and engineering
7880 computation in Common Lisp. It is designed not only to facilitate
7881 numerical computations, but to permit the use of numerical computation
7882 libraries and the interchange of data and procedures, whether
7883 foreign (non-Lisp) or Lisp libraries. It is named after the
7884 Antikythera mechanism, one of the oldest examples of a scientific
7885 computer known.")
7886 (home-page "https://common-lisp.net/project/antik/")
7887 (license license:gpl3))))
7888
7889 (define-public cl-antik-base
7890 (sbcl-package->cl-source-package sbcl-antik-base))
7891
7892 (define-public ecl-antik-base
7893 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7894 (package
7895 (inherit pkg)
7896 (arguments
7897 (substitute-keyword-arguments (package-arguments pkg)
7898 ((#:phases phases)
7899 `(modify-phases ,phases
7900 (add-after 'unpack 'fix-readtable
7901 (lambda _
7902 (substitute* "input-output/readtable.lisp"
7903 (("#-ccl")
7904 "#-(or ccl ecl)"))
7905 #t)))))))))
7906
7907 (define-public sbcl-gsll
7908 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7909 (revision "1"))
7910 (package
7911 (name "sbcl-gsll")
7912 (version (git-version "0.0.0" revision commit))
7913 (source
7914 (origin
7915 (method git-fetch)
7916 (uri (git-reference
7917 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7918 (commit commit)))
7919 (file-name (git-file-name name version))
7920 (sha256
7921 (base32
7922 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7923 (build-system asdf-build-system/sbcl)
7924 (native-inputs
7925 `(("lisp-unit" ,sbcl-lisp-unit)))
7926 (inputs
7927 `(("alexandria" ,sbcl-alexandria)
7928 ("antik-base" ,sbcl-antik-base)
7929 ("cffi" ,sbcl-cffi)
7930 ("gsl" ,gsl)
7931 ("metabang-bind" ,sbcl-metabang-bind)
7932 ("trivial-features" ,sbcl-trivial-features)
7933 ("trivial-garbage" ,sbcl-trivial-garbage)))
7934 (arguments
7935 `(#:tests? #f
7936 #:phases
7937 (modify-phases %standard-phases
7938 (add-after 'unpack 'fix-cffi-paths
7939 (lambda* (#:key inputs #:allow-other-keys)
7940 (substitute* "gsll.asd"
7941 ((":depends-on \\(#:foreign-array")
7942 ":depends-on (#:foreign-array #:cffi-libffi"))
7943 (substitute* "init/init.lisp"
7944 (("libgslcblas.so" all)
7945 (string-append
7946 (assoc-ref inputs "gsl") "/lib/" all)))
7947 (substitute* "init/init.lisp"
7948 (("libgsl.so" all)
7949 (string-append
7950 (assoc-ref inputs "gsl") "/lib/" all))))))))
7951 (synopsis "GNU Scientific Library for Lisp")
7952 (description
7953 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7954 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7955 full range of common mathematical operations useful to scientific and
7956 engineering applications. The design of the GSLL interface is such
7957 that access to most of the GSL library is possible in a Lisp-natural
7958 way; the intent is that the user not be hampered by the restrictions
7959 of the C language in which GSL has been written. GSLL thus provides
7960 interactive use of GSL for getting quick answers, even for someone not
7961 intending to program in Lisp.")
7962 (home-page "https://common-lisp.net/project/gsll/")
7963 (license license:gpl3))))
7964
7965 (define-public cl-gsll
7966 (sbcl-package->cl-source-package sbcl-gsll))
7967
7968 (define-public ecl-gsll
7969 (sbcl-package->ecl-package sbcl-gsll))
7970
7971 (define-public sbcl-antik
7972 (package
7973 (inherit sbcl-antik-base)
7974 (name "sbcl-antik")
7975 (inputs
7976 `(("antik-base" ,sbcl-antik-base)
7977 ("gsll" ,sbcl-gsll)))
7978 (arguments
7979 '(#:asd-systems '("antik"
7980 "science-data")
7981 #:phases
7982 (modify-phases %standard-phases
7983 (add-after 'unpack 'fix-build
7984 (lambda _
7985 (for-each delete-file
7986 '("antik-base.asd"
7987 "foreign-array.asd"))
7988 #t)))))))
7989
7990 (define-public cl-antik
7991 (sbcl-package->cl-source-package sbcl-antik))
7992
7993 (define-public sbcl-cl-interpol
7994 (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa")
7995 (revision "1"))
7996 (package
7997 (name "sbcl-cl-interpol")
7998 (version (git-version "0.2.7" revision commit))
7999 (source
8000 (origin
8001 (method git-fetch)
8002 (uri (git-reference
8003 (url "https://github.com/edicl/cl-interpol")
8004 (commit commit)))
8005 (file-name (git-file-name "cl-interpol" version))
8006 (sha256
8007 (base32
8008 "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490"))))
8009 (build-system asdf-build-system/sbcl)
8010 (inputs
8011 `(("cl-unicode" ,sbcl-cl-unicode)
8012 ("named-readtables" ,sbcl-named-readtables)))
8013 (native-inputs
8014 `(("flexi-streams" ,sbcl-flexi-streams)))
8015 (synopsis "String interpolation for Common Lisp")
8016 (description
8017 "CL-INTERPOL is a library for Common Lisp which modifies the
8018 reader so that you can have interpolation within strings similar to
8019 Perl or Unix Shell scripts. It also provides various ways to insert
8020 arbitrary characters into literal strings even if your editor/IDE
8021 doesn't support them.")
8022 (home-page "https://edicl.github.io/cl-interpol/")
8023 (license license:bsd-3))))
8024
8025 (define-public cl-interpol
8026 (sbcl-package->cl-source-package sbcl-cl-interpol))
8027
8028 (define-public ecl-cl-interpol
8029 (sbcl-package->ecl-package sbcl-cl-interpol))
8030
8031 (define-public sbcl-symbol-munger
8032 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8033 (revision "1"))
8034 (package
8035 (name "sbcl-symbol-munger")
8036 (version (git-version "0.0.1" revision commit))
8037 (source
8038 (origin
8039 (method git-fetch)
8040 (uri (git-reference
8041 (url "https://github.com/AccelerationNet/symbol-munger")
8042 (commit commit)))
8043 (file-name (git-file-name name version))
8044 (sha256
8045 (base32
8046 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8047 (build-system asdf-build-system/sbcl)
8048 (inputs
8049 `(("alexandria" ,sbcl-alexandria)
8050 ("iterate" ,sbcl-iterate)))
8051 (arguments
8052 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8053 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8054 '(#:tests? #f))
8055 (synopsis
8056 "Capitalization and spacing conversion functions for Common Lisp")
8057 (description
8058 "This is a Common Lisp library to change the capitalization and spacing
8059 of a string or a symbol. It can convert to and from Lisp, english, underscore
8060 and camel-case rules.")
8061 (home-page "https://github.com/AccelerationNet/symbol-munger")
8062 ;; The package declares a BSD license, but all of the license
8063 ;; text is MIT.
8064 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8065 (license license:expat))))
8066
8067 (define-public cl-symbol-munger
8068 (sbcl-package->cl-source-package sbcl-symbol-munger))
8069
8070 (define-public ecl-symbol-munger
8071 (sbcl-package->ecl-package sbcl-symbol-munger))
8072
8073 (define-public sbcl-lisp-unit2
8074 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8075 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8076 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8077 (revision "1"))
8078 (package
8079 (name "sbcl-lisp-unit2")
8080 (version (git-version "0.2.0" revision commit))
8081 (source
8082 (origin
8083 (method git-fetch)
8084 (uri (git-reference
8085 (url "https://github.com/AccelerationNet/lisp-unit2")
8086 (commit commit)))
8087 (file-name (git-file-name name version))
8088 (sha256
8089 (base32
8090 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8091 (build-system asdf-build-system/sbcl)
8092 (inputs
8093 `(("alexandria" ,sbcl-alexandria)
8094 ("cl-interpol" ,sbcl-cl-interpol)
8095 ("iterate" ,sbcl-iterate)
8096 ("symbol-munger" ,sbcl-symbol-munger)))
8097 (synopsis "Test Framework for Common Lisp")
8098 (description
8099 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8100 style of JUnit for Java. It is a new version of the lisp-unit library written
8101 by Chris Riesbeck.")
8102 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8103 (license license:expat))))
8104
8105 (define-public cl-lisp-unit2
8106 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8107
8108 (define-public ecl-lisp-unit2
8109 (sbcl-package->ecl-package sbcl-lisp-unit2))
8110
8111 (define-public sbcl-cl-csv
8112 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8113 (revision "2"))
8114 (package
8115 (name "sbcl-cl-csv")
8116 (version (git-version "1.0.6" revision commit))
8117 (source
8118 (origin
8119 (method git-fetch)
8120 (uri (git-reference
8121 (url "https://github.com/AccelerationNet/cl-csv")
8122 (commit commit)))
8123 (file-name (git-file-name name version))
8124 (sha256
8125 (base32
8126 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8127 (build-system asdf-build-system/sbcl)
8128 (arguments
8129 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8130 `(#:tests? #f))
8131 (inputs
8132 `(("alexandria" ,sbcl-alexandria)
8133 ("cl-interpol" ,sbcl-cl-interpol)
8134 ("iterate" ,sbcl-iterate)))
8135 (native-inputs
8136 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8137 (synopsis "Common lisp library for comma-separated values")
8138 (description
8139 "This is a Common Lisp library providing functions to read/write CSV
8140 from/to strings, streams and files.")
8141 (home-page "https://github.com/AccelerationNet/cl-csv")
8142 (license license:bsd-3))))
8143
8144 (define-public cl-csv
8145 (sbcl-package->cl-source-package sbcl-cl-csv))
8146
8147 (define-public ecl-cl-csv
8148 (sbcl-package->ecl-package sbcl-cl-csv))
8149
8150 (define-public sbcl-external-program
8151 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8152 (revision "1"))
8153 (package
8154 (name "sbcl-external-program")
8155 (version (git-version "0.0.6" revision commit))
8156 (source
8157 (origin
8158 (method git-fetch)
8159 (uri (git-reference
8160 (url "https://github.com/sellout/external-program")
8161 (commit commit)))
8162 (file-name (git-file-name name version))
8163 (sha256
8164 (base32
8165 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8166 (build-system asdf-build-system/sbcl)
8167 (inputs
8168 `(("trivial-features" ,sbcl-trivial-features)))
8169 (native-inputs
8170 `(("fiveam" ,sbcl-fiveam)))
8171 (synopsis "Common Lisp library for running external programs")
8172 (description
8173 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8174 process. It is an attempt to make the RUN-PROGRAM functionality in
8175 implementations like SBCL and CCL as portable as possible without
8176 sacrificing much in the way of power.")
8177 (home-page "https://github.com/sellout/external-program")
8178 (license license:llgpl))))
8179
8180 (define-public cl-external-program
8181 (sbcl-package->cl-source-package sbcl-external-program))
8182
8183 (define-public ecl-external-program
8184 (sbcl-package->ecl-package sbcl-external-program))
8185
8186 (define-public sbcl-cl-ana
8187 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8188 (revision "1"))
8189 (package
8190 (name "sbcl-cl-ana")
8191 (version (git-version "0.0.0" revision commit))
8192 (source
8193 (origin
8194 (method git-fetch)
8195 (uri (git-reference
8196 (url "https://github.com/ghollisjr/cl-ana")
8197 (commit commit)))
8198 (file-name (git-file-name name version))
8199 (sha256
8200 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8201 (build-system asdf-build-system/sbcl)
8202 (native-inputs
8203 `(("cl-fad" ,sbcl-cl-fad)))
8204 (inputs
8205 `(("alexandria" ,sbcl-alexandria)
8206 ("antik" ,sbcl-antik)
8207 ("cffi" ,sbcl-cffi)
8208 ("cl-csv" ,sbcl-cl-csv)
8209 ("closer-mop" ,sbcl-closer-mop)
8210 ("external-program" ,sbcl-external-program)
8211 ("gsl" ,gsl)
8212 ("gsll" ,sbcl-gsll)
8213 ("hdf5" ,hdf5-parallel-openmpi)
8214 ("iterate" ,sbcl-iterate)
8215 ("libffi" ,libffi)
8216 ("split-sequence" ,sbcl-split-sequence)))
8217 (arguments
8218 `(#:phases
8219 (modify-phases %standard-phases
8220 (add-after 'unpack 'fix-paths
8221 (lambda* (#:key inputs #:allow-other-keys)
8222 (substitute* "hdf-cffi/hdf-cffi.lisp"
8223 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8224 (string-append (assoc-ref inputs "hdf5")
8225 "/lib/libhdf5.so")))
8226 (substitute* "gsl-cffi/gsl-cffi.lisp"
8227 (("define-foreign-library gsl-cffi" all)
8228 (string-append all " (:unix "
8229 (assoc-ref inputs "gsl")
8230 "/lib/libgsl.so)")))
8231 #t)))))
8232 (synopsis "Common Lisp data analysis library")
8233 (description
8234 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8235 binned data analysis along with nonlinear least squares fitting and
8236 visualization.")
8237 (home-page "https://github.com/ghollisjr/cl-ana")
8238 (license license:gpl3))))
8239
8240 (define-public cl-ana
8241 (sbcl-package->cl-source-package sbcl-cl-ana))
8242
8243 (define-public sbcl-archive
8244 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8245 (revision "1"))
8246 (package
8247 (name "sbcl-archive")
8248 (version (git-version "0.9" revision commit))
8249 (source (origin
8250 (method git-fetch)
8251 (uri (git-reference
8252 (url "https://github.com/sharplispers/archive")
8253 (commit commit)))
8254 (file-name (git-file-name name version))
8255 (sha256
8256 (base32
8257 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8258 (build-system asdf-build-system/sbcl)
8259 (inputs
8260 `(("cl-fad" ,sbcl-cl-fad)
8261 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8262 (synopsis "Common Lisp library for tar and cpio archives")
8263 (description
8264 "This is a Common Lisp library to read and write disk-based file
8265 archives such as those generated by the tar and cpio programs on Unix.")
8266 (home-page "https://github.com/sharplispers/archive")
8267 (license license:bsd-3))))
8268
8269 (define-public cl-archive
8270 (sbcl-package->cl-source-package sbcl-archive))
8271
8272 (define-public ecl-archive
8273 (sbcl-package->ecl-package sbcl-archive))
8274
8275 (define-public sbcl-misc-extensions
8276 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8277 (revision "1"))
8278 (package
8279 (name "sbcl-misc-extensions")
8280 (version (git-version "3.3" revision commit))
8281 (source
8282 (origin
8283 (method git-fetch)
8284 (uri (git-reference
8285 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8286 (commit commit)))
8287 (file-name (git-file-name name version))
8288 (sha256
8289 (base32
8290 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8291 (build-system asdf-build-system/sbcl)
8292 (synopsis "Collection of small macros and extensions for Common Lisp")
8293 (description
8294 "This project is intended as a catchall for small, general-purpose
8295 extensions to Common Lisp. It contains:
8296
8297 @itemize
8298 @item @code{new-let}, a macro that combines and generalizes @code{let},
8299 @code{let*} and @code{multiple-value-bind},
8300 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8301 @end itemize\n")
8302 (home-page "https://common-lisp.net/project/misc-extensions/")
8303 (license license:public-domain))))
8304
8305 (define-public cl-misc-extensions
8306 (sbcl-package->cl-source-package sbcl-misc-extensions))
8307
8308 (define-public ecl-misc-extensions
8309 (sbcl-package->ecl-package sbcl-misc-extensions))
8310
8311 (define-public sbcl-mt19937
8312 (package
8313 (name "sbcl-mt19937")
8314 (version "1.1")
8315 (source
8316 (origin
8317 (method url-fetch)
8318 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8319 "mt19937-latest.tar.gz"))
8320 (sha256
8321 (base32
8322 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8323 (build-system asdf-build-system/sbcl)
8324 (synopsis "Mersenne Twister pseudo-random number generator")
8325 (description
8326 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8327 for Common Lisp.")
8328 (home-page "https://www.cliki.net/mt19937")
8329 (license license:public-domain)))
8330
8331 (define-public cl-mt19937
8332 (sbcl-package->cl-source-package sbcl-mt19937))
8333
8334 (define-public ecl-mt19937
8335 (sbcl-package->ecl-package sbcl-mt19937))
8336
8337 (define-public sbcl-fset
8338 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8339 (revision "1"))
8340 (package
8341 (name "sbcl-fset")
8342 (version (git-version "1.3.2" revision commit))
8343 (source
8344 (origin
8345 (method git-fetch)
8346 (uri (git-reference
8347 (url "https://github.com/slburson/fset")
8348 (commit commit)))
8349 (file-name (git-file-name name version))
8350 (sha256
8351 (base32
8352 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8353 (snippet '(begin
8354 ;; Remove obsolete copy of system definition.
8355 (delete-file "Code/fset.asd")
8356 #t))))
8357 (build-system asdf-build-system/sbcl)
8358 (inputs
8359 `(("misc-extensions" ,sbcl-misc-extensions)
8360 ("mt19937" ,sbcl-mt19937)
8361 ("named-readtables" ,sbcl-named-readtables)))
8362 (synopsis "Functional set-theoretic collections library")
8363 (description
8364 "FSet is a functional set-theoretic collections library for Common Lisp.
8365 Functional means that all update operations return a new collection rather than
8366 modifying an existing one in place. Set-theoretic means that collections may
8367 be nested arbitrarily with no additional programmer effort; for instance, sets
8368 may contain sets, maps may be keyed by sets, etc.")
8369 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8370 (license license:llgpl))))
8371
8372 (define-public cl-fset
8373 (sbcl-package->cl-source-package sbcl-fset))
8374
8375 (define-public ecl-fset
8376 (package
8377 (inherit (sbcl-package->ecl-package sbcl-fset))
8378 (arguments
8379 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8380 '(#:tests? #f))))
8381
8382 (define-public sbcl-cl-cont
8383 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8384 (revision "1"))
8385 (package
8386 (name "sbcl-cl-cont")
8387 (version (git-version "0.3.8" revision commit))
8388 (source
8389 (origin
8390 (method git-fetch)
8391 (uri (git-reference
8392 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8393 (commit commit)))
8394 (file-name (git-file-name name version))
8395 (sha256
8396 (base32
8397 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8398 (build-system asdf-build-system/sbcl)
8399 (inputs
8400 `(("alexandria" ,sbcl-alexandria)
8401 ("closer-mop" ,sbcl-closer-mop)))
8402 (native-inputs
8403 `(("rt" ,sbcl-rt)))
8404 (synopsis "Delimited continuations for Common Lisp")
8405 (description
8406 "This is a library that implements delimited continuations by
8407 transforming Common Lisp code to continuation passing style.")
8408 (home-page "https://common-lisp.net/project/cl-cont/")
8409 (license license:llgpl))))
8410
8411 (define-public cl-cont
8412 (sbcl-package->cl-source-package sbcl-cl-cont))
8413
8414 (define-public ecl-cl-cont
8415 (sbcl-package->ecl-package sbcl-cl-cont))
8416
8417 (define-public sbcl-cl-coroutine
8418 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8419 (revision "1"))
8420 (package
8421 (name "sbcl-cl-coroutine")
8422 (version (git-version "0.1" revision commit))
8423 (source
8424 (origin
8425 (method git-fetch)
8426 (uri (git-reference
8427 (url "https://github.com/takagi/cl-coroutine")
8428 (commit commit)))
8429 (file-name (git-file-name name version))
8430 (sha256
8431 (base32
8432 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8433 (build-system asdf-build-system/sbcl)
8434 (inputs
8435 `(("alexandria" ,sbcl-alexandria)
8436 ("cl-cont" ,sbcl-cl-cont)))
8437 (native-inputs
8438 `(("prove" ,sbcl-prove)))
8439 (arguments
8440 `(;; TODO: Fix the tests. They fail with:
8441 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8442 #:tests? #f
8443 #:phases
8444 (modify-phases %standard-phases
8445 (add-after 'unpack 'fix-tests
8446 (lambda _
8447 (substitute* "cl-coroutine-test.asd"
8448 (("cl-test-more")
8449 "prove"))
8450 #t)))))
8451 (synopsis "Coroutine library for Common Lisp")
8452 (description
8453 "This is a coroutine library for Common Lisp implemented using the
8454 continuations of the @code{cl-cont} library.")
8455 (home-page "https://github.com/takagi/cl-coroutine")
8456 (license license:llgpl))))
8457
8458 (define-public cl-coroutine
8459 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8460
8461 (define-public ecl-cl-coroutine
8462 (sbcl-package->ecl-package sbcl-cl-coroutine))
8463
8464 (define-public sbcl-vas-string-metrics
8465 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8466 (revision "1"))
8467 (package
8468 (name "sbcl-vas-string-metrics")
8469 (version (git-version "0.0.0" revision commit))
8470 (source
8471 (origin
8472 (method git-fetch)
8473 (uri (git-reference
8474 (url "https://github.com/vsedach/vas-string-metrics")
8475 (commit commit)))
8476 (file-name (git-file-name "vas-string-metrics" version))
8477 (sha256
8478 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8479 (build-system asdf-build-system/sbcl)
8480 (arguments
8481 `(#:test-asd-file "test.vas-string-metrics.asd"))
8482 (home-page "https://github.com/vsedach/vas-string-metrics")
8483 (synopsis "String distance algorithms for Common Lisp")
8484 (description
8485 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8486 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8487 algorithms.")
8488 (license license:lgpl3+))))
8489
8490 (define-public ecl-vas-string-metrics
8491 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8492
8493 (define-public cl-vas-string-metrics
8494 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8495
8496 (define-public sbcl-vom
8497 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8498 (revision "1"))
8499 (package
8500 (name "sbcl-vom")
8501 (version (git-version "0.1.4" revision commit))
8502 (source
8503 (origin
8504 (method git-fetch)
8505 (uri (git-reference
8506 (url "https://github.com/orthecreedence/vom")
8507 (commit commit)))
8508 (file-name (git-file-name name version))
8509 (sha256
8510 (base32
8511 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8512 (build-system asdf-build-system/sbcl)
8513 (synopsis "Tiny logging utility for Common Lisp")
8514 (description
8515 "Vom is a logging library for Common Lisp. It's goal is to be useful
8516 and small. It does not provide a lot of features as other loggers do, but
8517 has a small codebase that's easy to understand and use.")
8518 (home-page "https://github.com/orthecreedence/vom")
8519 (license license:expat))))
8520
8521 (define-public cl-vom
8522 (sbcl-package->cl-source-package sbcl-vom))
8523
8524 (define-public ecl-vom
8525 (sbcl-package->ecl-package sbcl-vom))
8526
8527 (define-public sbcl-cl-libuv
8528 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8529 (revision "1"))
8530 (package
8531 (name "sbcl-cl-libuv")
8532 (version (git-version "0.1.6" revision commit))
8533 (source
8534 (origin
8535 (method git-fetch)
8536 (uri (git-reference
8537 (url "https://github.com/orthecreedence/cl-libuv")
8538 (commit commit)))
8539 (file-name (git-file-name name version))
8540 (sha256
8541 (base32
8542 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8543 (build-system asdf-build-system/sbcl)
8544 (inputs
8545 `(("alexandria" ,sbcl-alexandria)
8546 ("cffi" ,sbcl-cffi)
8547 ("libuv" ,libuv)))
8548 (arguments
8549 `(#:phases
8550 (modify-phases %standard-phases
8551 (add-after 'unpack 'fix-paths
8552 (lambda* (#:key inputs #:allow-other-keys)
8553 (substitute* "lib.lisp"
8554 (("/usr/lib/libuv.so")
8555 (string-append (assoc-ref inputs "libuv")
8556 "/lib/libuv.so")))
8557 #t))
8558 (add-after 'fix-paths 'fix-system-definition
8559 (lambda _
8560 (substitute* "cl-libuv.asd"
8561 (("#:cffi #:alexandria")
8562 "#:cffi #:cffi-grovel #:alexandria"))
8563 #t)))))
8564 (synopsis "Common Lisp bindings to libuv")
8565 (description
8566 "This library provides low-level libuv bindings for Common Lisp.")
8567 (home-page "https://github.com/orthecreedence/cl-libuv")
8568 (license license:expat))))
8569
8570 (define-public cl-libuv
8571 (sbcl-package->cl-source-package sbcl-cl-libuv))
8572
8573 (define-public ecl-cl-libuv
8574 (sbcl-package->ecl-package sbcl-cl-libuv))
8575
8576 (define-public sbcl-cl-async
8577 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8578 (revision "1"))
8579 (package
8580 (name "sbcl-cl-async")
8581 (version (git-version "0.6.1" revision commit))
8582 (source
8583 (origin
8584 (method git-fetch)
8585 (uri (git-reference
8586 (url "https://github.com/orthecreedence/cl-async")
8587 (commit commit)))
8588 (file-name (git-file-name name version))
8589 (sha256
8590 (base32
8591 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8592 (build-system asdf-build-system/sbcl)
8593 (inputs
8594 `(("babel" ,sbcl-babel)
8595 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8596 ("cffi" ,sbcl-cffi)
8597 ("cl-libuv" ,sbcl-cl-libuv)
8598 ("cl-ppcre" ,sbcl-cl-ppcre)
8599 ("fast-io" ,sbcl-fast-io)
8600 ("openssl" ,openssl)
8601 ("static-vectors" ,sbcl-static-vectors)
8602 ("trivial-features" ,sbcl-trivial-features)
8603 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8604 ("vom" ,sbcl-vom)))
8605 (arguments
8606 `(#:asd-systems '("cl-async"
8607 "cl-async-repl"
8608 "cl-async-ssl")
8609 #:phases
8610 (modify-phases %standard-phases
8611 (add-after 'unpack 'fix-paths
8612 (lambda* (#:key inputs #:allow-other-keys)
8613 (substitute* "src/ssl/package.lisp"
8614 (("libcrypto\\.so")
8615 (string-append (assoc-ref inputs "openssl")
8616 "/lib/libcrypto.so"))
8617 (("libssl\\.so")
8618 (string-append (assoc-ref inputs "openssl")
8619 "/lib/libssl.so")))
8620 #t)))))
8621 (synopsis "Asynchronous operations for Common Lisp")
8622 (description
8623 "Cl-async is a library for general purpose, non-blocking programming in
8624 Common Lisp. It uses the libuv library as backend.")
8625 (home-page "https://orthecreedence.github.io/cl-async/")
8626 (license license:expat))))
8627
8628 (define-public cl-async
8629 (sbcl-package->cl-source-package sbcl-cl-async))
8630
8631 (define-public ecl-cl-async
8632 (sbcl-package->ecl-package sbcl-cl-async))
8633
8634 (define-public sbcl-blackbird
8635 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8636 (revision "1"))
8637 (package
8638 (name "sbcl-blackbird")
8639 (version (git-version "0.5.2" revision commit))
8640 (source
8641 (origin
8642 (method git-fetch)
8643 (uri (git-reference
8644 (url "https://github.com/orthecreedence/blackbird")
8645 (commit commit)))
8646 (file-name (git-file-name name version))
8647 (sha256
8648 (base32
8649 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8650 (build-system asdf-build-system/sbcl)
8651 (inputs
8652 `(("vom" ,sbcl-vom)))
8653 (native-inputs
8654 `(("cl-async" ,sbcl-cl-async)
8655 ("fiveam" ,sbcl-fiveam)))
8656 (synopsis "Promise implementation for Common Lisp")
8657 (description
8658 "This is a standalone promise implementation for Common Lisp. It is
8659 the successor to the now-deprecated cl-async-future project.")
8660 (home-page "https://orthecreedence.github.io/blackbird/")
8661 (license license:expat))))
8662
8663 (define-public cl-blackbird
8664 (sbcl-package->cl-source-package sbcl-blackbird))
8665
8666 (define-public ecl-blackbird
8667 (sbcl-package->ecl-package sbcl-blackbird))
8668
8669 (define-public sbcl-cl-async-future
8670 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8671 (revision "1"))
8672 (package
8673 (name "sbcl-cl-async-future")
8674 (version (git-version "0.4.4.1" revision commit))
8675 (source
8676 (origin
8677 (method git-fetch)
8678 (uri (git-reference
8679 (url "https://github.com/orthecreedence/cl-async-future")
8680 (commit commit)))
8681 (file-name (git-file-name name version))
8682 (sha256
8683 (base32
8684 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8685 (build-system asdf-build-system/sbcl)
8686 (inputs
8687 `(("blackbird" ,sbcl-blackbird)))
8688 (native-inputs
8689 `(("cl-async" ,sbcl-cl-async)
8690 ("eos" ,sbcl-eos)))
8691 (synopsis "Futures implementation for Common Lisp")
8692 (description
8693 "This is futures implementation for Common Lisp. It plugs in nicely
8694 to cl-async.")
8695 (home-page "https://orthecreedence.github.io/cl-async/future")
8696 (license license:expat))))
8697
8698 (define-public cl-async-future
8699 (sbcl-package->cl-source-package sbcl-cl-async-future))
8700
8701 (define-public ecl-cl-async-future
8702 (sbcl-package->ecl-package sbcl-cl-async-future))
8703
8704 (define-public sbcl-green-threads
8705 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8706 (revision "1"))
8707 (package
8708 (name "sbcl-green-threads")
8709 (version (git-version "0.3" revision commit))
8710 (source
8711 (origin
8712 (method git-fetch)
8713 (uri (git-reference
8714 (url "https://github.com/thezerobit/green-threads")
8715 (commit commit)))
8716 (file-name (git-file-name name version))
8717 (sha256
8718 (base32
8719 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8720 (build-system asdf-build-system/sbcl)
8721 (inputs
8722 `(("cl-async-future" ,sbcl-cl-async-future)
8723 ("cl-cont" ,sbcl-cl-cont)))
8724 (native-inputs
8725 `(("prove" ,sbcl-prove)))
8726 (arguments
8727 `(;; TODO: Fix the tests. They fail with:
8728 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8729 #:tests? #f
8730 #:phases
8731 (modify-phases %standard-phases
8732 (add-after 'unpack 'fix-tests
8733 (lambda _
8734 (substitute* "green-threads-test.asd"
8735 (("cl-test-more")
8736 "prove"))
8737 #t)))))
8738 (synopsis "Cooperative multitasking library for Common Lisp")
8739 (description
8740 "This library allows for cooperative multitasking with help of cl-cont
8741 for continuations. It tries to mimic the API of bordeaux-threads as much as
8742 possible.")
8743 (home-page "https://github.com/thezerobit/green-threads")
8744 (license license:bsd-3))))
8745
8746 (define-public cl-green-threads
8747 (sbcl-package->cl-source-package sbcl-green-threads))
8748
8749 (define-public ecl-green-threads
8750 (sbcl-package->ecl-package sbcl-green-threads))
8751
8752 (define-public sbcl-cl-base32
8753 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8754 (revision "1"))
8755 (package
8756 (name "sbcl-cl-base32")
8757 (version (git-version "0.1" revision commit))
8758 (source
8759 (origin
8760 (method git-fetch)
8761 (uri (git-reference
8762 (url "https://github.com/hargettp/cl-base32")
8763 (commit commit)))
8764 (file-name (git-file-name name version))
8765 (sha256
8766 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8767 (build-system asdf-build-system/sbcl)
8768 (native-inputs
8769 `(("lisp-unit" ,sbcl-lisp-unit)))
8770 (synopsis "Common Lisp library for base32 encoding and decoding")
8771 (description
8772 "This package provides functions for base32 encoding and decoding as
8773 defined in RFC4648.")
8774 (home-page "https://github.com/hargettp/cl-base32")
8775 (license license:expat))))
8776
8777 (define-public cl-base32
8778 (sbcl-package->cl-source-package sbcl-cl-base32))
8779
8780 (define-public ecl-cl-base32
8781 (sbcl-package->ecl-package sbcl-cl-base32))
8782
8783 (define-public sbcl-cl-z85
8784 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8785 (revision "1"))
8786 (package
8787 (name "sbcl-cl-z85")
8788 (version (git-version "1.0" revision commit))
8789 (source
8790 (origin
8791 (method git-fetch)
8792 (uri (git-reference
8793 (url "https://github.com/glv2/cl-z85")
8794 (commit commit)))
8795 (file-name (git-file-name name version))
8796 (sha256
8797 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8798 (build-system asdf-build-system/sbcl)
8799 (native-inputs
8800 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8801 ("fiveam" ,sbcl-fiveam)))
8802 (synopsis "Common Lisp library for Z85 encoding and decoding")
8803 (description
8804 "This package provides functions to encode or decode byte vectors or
8805 byte streams using the Z85 format, which is a base-85 encoding used by
8806 ZeroMQ.")
8807 (home-page "https://github.com/glv2/cl-z85")
8808 (license license:gpl3+))))
8809
8810 (define-public cl-z85
8811 (sbcl-package->cl-source-package sbcl-cl-z85))
8812
8813 (define-public ecl-cl-z85
8814 (sbcl-package->ecl-package sbcl-cl-z85))
8815
8816 (define-public sbcl-ltk
8817 (package
8818 (name "sbcl-ltk")
8819 (version "0.992")
8820 (source
8821 (origin
8822 (method git-fetch)
8823 (uri (git-reference
8824 (url "https://github.com/herth/ltk")
8825 (commit version)))
8826 (file-name (git-file-name name version))
8827 (sha256
8828 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8829 (build-system asdf-build-system/sbcl)
8830 (inputs
8831 `(("imagemagick" ,imagemagick)
8832 ("tk" ,tk)))
8833 (arguments
8834 `(#:asd-systems '("ltk"
8835 "ltk-mw"
8836 "ltk-remote")
8837 #:tests? #f
8838 #:phases
8839 (modify-phases %standard-phases
8840 (add-after 'unpack 'fix-paths
8841 (lambda* (#:key inputs #:allow-other-keys)
8842 (substitute* "ltk/ltk.lisp"
8843 (("#-freebsd \"wish\"")
8844 (string-append "#-freebsd \""
8845 (assoc-ref inputs "tk")
8846 "/bin/wish\""))
8847 (("do-execute \"convert\"")
8848 (string-append "do-execute \""
8849 (assoc-ref inputs "imagemagick")
8850 "/bin/convert\"")))
8851 #t))
8852 (add-after 'unpack 'fix-build
8853 (lambda _
8854 (substitute* "ltk/ltk-remote.lisp"
8855 (("\\(:export")
8856 "(:shadow #:raise) (:export"))
8857 #t)))))
8858 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8859 (description
8860 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8861 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8862 (home-page "http://www.peter-herth.de/ltk/")
8863 (license license:llgpl)))
8864
8865 (define-public cl-ltk
8866 (sbcl-package->cl-source-package sbcl-ltk))
8867
8868 (define-public ecl-ltk
8869 (sbcl-package->ecl-package sbcl-ltk))
8870
8871 (define-public sbcl-cl-lex
8872 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8873 (revision "1"))
8874 (package
8875 (name "sbcl-cl-lex")
8876 (version (git-version "1.1.3" revision commit))
8877 (source
8878 (origin
8879 (method git-fetch)
8880 (uri (git-reference
8881 (url "https://github.com/djr7C4/cl-lex")
8882 (commit commit)))
8883 (file-name (git-file-name name version))
8884 (sha256
8885 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8886 (build-system asdf-build-system/sbcl)
8887 (inputs
8888 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8889 (synopsis "Common Lisp macros for generating lexical analyzers")
8890 (description
8891 "This is a Common Lisp library providing a set of macros for generating
8892 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8893 be used with @code{cl-yacc}.")
8894 (home-page "https://github.com/djr7C4/cl-lex")
8895 (license license:gpl3))))
8896
8897 (define-public cl-lex
8898 (sbcl-package->cl-source-package sbcl-cl-lex))
8899
8900 (define-public ecl-cl-lex
8901 (sbcl-package->ecl-package sbcl-cl-lex))
8902
8903 (define-public sbcl-clunit2
8904 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8905 (revision "1"))
8906 (package
8907 (name "sbcl-clunit2")
8908 (version (git-version "0.2.4" revision commit))
8909 (source
8910 (origin
8911 (method git-fetch)
8912 (uri (git-reference
8913 (url "https://notabug.org/cage/clunit2.git")
8914 (commit commit)))
8915 (file-name (git-file-name name version))
8916 (sha256
8917 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8918 (build-system asdf-build-system/sbcl)
8919 (synopsis "Unit testing framework for Common Lisp")
8920 (description
8921 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8922 easy to use so that you can quickly start testing.")
8923 (home-page "https://notabug.org/cage/clunit2")
8924 (license license:expat))))
8925
8926 (define-public cl-clunit2
8927 (sbcl-package->cl-source-package sbcl-clunit2))
8928
8929 (define-public ecl-clunit2
8930 (sbcl-package->ecl-package sbcl-clunit2))
8931
8932 (define-public sbcl-cl-colors2
8933 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8934 (revision "1"))
8935 (package
8936 (name "sbcl-cl-colors2")
8937 (version (git-version "0.2.1" revision commit))
8938 (source
8939 (origin
8940 (method git-fetch)
8941 (uri (git-reference
8942 (url "https://notabug.org/cage/cl-colors2.git")
8943 (commit commit)))
8944 (file-name (git-file-name name version))
8945 (sha256
8946 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8947 (build-system asdf-build-system/sbcl)
8948 (native-inputs
8949 `(("clunit2" ,sbcl-clunit2)))
8950 (inputs
8951 `(("alexandria" ,sbcl-alexandria)
8952 ("cl-ppcre" ,sbcl-cl-ppcre)))
8953 (synopsis "Color library for Common Lisp")
8954 (description
8955 "This is a very simple color library for Common Lisp, providing:
8956
8957 @itemize
8958 @item Types for representing colors in HSV and RGB spaces.
8959 @item Simple conversion functions between the above types (and also
8960 hexadecimal representation for RGB).
8961 @item Some predefined colors (currently X11 color names -- of course
8962 the library does not depend on X11).
8963 @end itemize\n")
8964 (home-page "https://notabug.org/cage/cl-colors2")
8965 (license license:boost1.0))))
8966
8967 (define-public cl-colors2
8968 (sbcl-package->cl-source-package sbcl-cl-colors2))
8969
8970 (define-public ecl-cl-colors2
8971 (sbcl-package->ecl-package sbcl-cl-colors2))
8972
8973 (define-public sbcl-cl-jpeg
8974 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8975 (revision "1"))
8976 (package
8977 (name "sbcl-cl-jpeg")
8978 (version (git-version "2.8" revision commit))
8979 (source
8980 (origin
8981 (method git-fetch)
8982 (uri (git-reference
8983 (url "https://github.com/sharplispers/cl-jpeg")
8984 (commit commit)))
8985 (file-name (git-file-name name version))
8986 (sha256
8987 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8988 (build-system asdf-build-system/sbcl)
8989 (synopsis "JPEG image library for Common Lisp")
8990 (description
8991 "This is a baseline JPEG codec written in Common Lisp. It can be used
8992 for reading and writing JPEG image files.")
8993 (home-page "https://github.com/sharplispers/cl-jpeg")
8994 (license license:bsd-3))))
8995
8996 (define-public cl-jpeg
8997 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8998
8999 (define-public ecl-cl-jpeg
9000 (sbcl-package->ecl-package sbcl-cl-jpeg))
9001
9002 (define-public sbcl-nodgui
9003 (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
9004 (revision "1"))
9005 (package
9006 (name "sbcl-nodgui")
9007 (version (git-version "0.1.1" revision commit))
9008 (source
9009 (origin
9010 (method git-fetch)
9011 (uri (git-reference
9012 (url "https://notabug.org/cage/nodgui.git")
9013 (commit commit)))
9014 (file-name (git-file-name "nodgui" version))
9015 (sha256
9016 (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib"))))
9017 (build-system asdf-build-system/sbcl)
9018 (inputs
9019 `(("alexandria" ,sbcl-alexandria)
9020 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9021 ("cl-colors2" ,sbcl-cl-colors2)
9022 ("cl-jpeg" ,sbcl-cl-jpeg)
9023 ("cl-lex" ,sbcl-cl-lex)
9024 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9025 ("cl-unicode" ,sbcl-cl-unicode)
9026 ("cl-yacc" ,sbcl-cl-yacc)
9027 ("clunit2" ,sbcl-clunit2)
9028 ("named-readtables" ,sbcl-named-readtables)
9029 ("parse-number" ,sbcl-parse-number)
9030 ("tk" ,tk)))
9031 (arguments
9032 `(#:phases (modify-phases %standard-phases
9033 (add-after 'unpack 'fix-paths
9034 (lambda* (#:key inputs #:allow-other-keys)
9035 (substitute* "src/wish-communication.lisp"
9036 (("#-freebsd \"wish\"")
9037 (string-append "#-freebsd \""
9038 (assoc-ref inputs "tk")
9039 "/bin/wish\"")))
9040 #t)))))
9041 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9042 (description
9043 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9044 toolkit. It also provides a few additional widgets more than the standard Tk
9045 ones.")
9046 (home-page "https://www.autistici.org/interzona/nodgui.html")
9047 (license license:llgpl))))
9048
9049 (define-public cl-nodgui
9050 (sbcl-package->cl-source-package sbcl-nodgui))
9051
9052 (define-public ecl-nodgui
9053 (sbcl-package->ecl-package sbcl-nodgui))
9054
9055 (define-public sbcl-salza2
9056 (package
9057 (name "sbcl-salza2")
9058 (version "2.0.9")
9059 (source
9060 (origin
9061 (method git-fetch)
9062 (uri (git-reference
9063 (url "https://github.com/xach/salza2")
9064 (commit (string-append "release-" version))))
9065 (file-name (git-file-name name version))
9066 (sha256
9067 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9068 (build-system asdf-build-system/sbcl)
9069 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9070 (description
9071 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9072 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9073 respectively.")
9074 (home-page "https://www.xach.com/lisp/salza2/")
9075 (license license:bsd-2)))
9076
9077 (define-public cl-salza2
9078 (sbcl-package->cl-source-package sbcl-salza2))
9079
9080 (define-public ecl-salza2
9081 (sbcl-package->ecl-package sbcl-salza2))
9082
9083 (define-public sbcl-origin
9084 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9085 (revision "1"))
9086 (package
9087 (name "sbcl-origin")
9088 (version (git-version "2.0.0" revision commit))
9089 (source
9090 (origin
9091 (method git-fetch)
9092 (uri (git-reference
9093 (url "https://git.mfiano.net/mfiano/origin")
9094 (commit commit)))
9095 (file-name (git-file-name "origin" version))
9096 (sha256
9097 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9098 (build-system asdf-build-system/sbcl)
9099 (native-inputs
9100 `(("parachute" ,sbcl-parachute)))
9101 (inputs
9102 `(("golden-utils" ,sbcl-golden-utils)
9103 ("specialization-store" ,sbcl-specialization-store)))
9104 (home-page "https://git.mfiano.net/mfiano/origin")
9105 (synopsis "Common Lisp graphics math library")
9106 (description
9107 "This is a native Common Lisp graphics math library with an emphasis on
9108 performance and correctness.")
9109 (license license:expat))))
9110
9111 (define-public ecl-origin
9112 (sbcl-package->ecl-package sbcl-origin))
9113
9114 (define-public cl-origin
9115 (sbcl-package->cl-source-package sbcl-origin))
9116
9117 (define-public sbcl-png-read
9118 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9119 (revision "1"))
9120 (package
9121 (name "sbcl-png-read")
9122 (version (git-version "0.3.1" revision commit))
9123 (source
9124 (origin
9125 (method git-fetch)
9126 (uri (git-reference
9127 (url "https://github.com/Ramarren/png-read")
9128 (commit commit)))
9129 (file-name (git-file-name name version))
9130 (sha256
9131 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9132 (build-system asdf-build-system/sbcl)
9133 (inputs
9134 `(("babel" ,sbcl-babel)
9135 ("chipz" ,sbcl-chipz)
9136 ("iterate" ,sbcl-iterate)))
9137 (synopsis "PNG decoder for Common Lisp")
9138 (description "This is a Common Lisp library for reading PNG images.")
9139 (home-page "https://github.com/Ramarren/png-read")
9140 (license license:bsd-3))))
9141
9142 (define-public cl-png-read
9143 (sbcl-package->cl-source-package sbcl-png-read))
9144
9145 (define-public ecl-png-read
9146 (sbcl-package->ecl-package sbcl-png-read))
9147
9148 (define-public sbcl-3b-bmfont
9149 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9150 (revision "1"))
9151 (package
9152 (name "sbcl-3b-bmfont")
9153 (version (git-version "0.0.1" revision commit))
9154 (source
9155 (origin
9156 (method git-fetch)
9157 (uri (git-reference
9158 (url "https://github.com/3b/3b-bmfont/")
9159 (commit commit)))
9160 (file-name (git-file-name "3b-bmfont" version))
9161 (sha256
9162 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9163 (build-system asdf-build-system/sbcl)
9164 (arguments
9165 `(#:asd-systems
9166 '("3b-bmfont"
9167 "3b-bmfont/text"
9168 "3b-bmfont/common"
9169 "3b-bmfont/xml"
9170 "3b-bmfont/json")))
9171 (inputs
9172 `(("alexandria" ,sbcl-alexandria)
9173 ("cxml" ,sbcl-cxml)
9174 ("flexi-streams" ,sbcl-flexi-streams)
9175 ("jsown" ,sbcl-jsown)
9176 ("split-sequence" ,sbcl-split-sequence)))
9177 (home-page "https://github.com/3b/3b-bmfont/")
9178 (synopsis "Read/write bmfont metadata files")
9179 (description
9180 "This is a Common Lisp library which provides functionality to
9181 read/write Bit Map Font (BMF) into text, JSON and XML.")
9182 (license license:expat))))
9183
9184 (define-public ecl-3b-bmfont
9185 (sbcl-package->ecl-package sbcl-3b-bmfont))
9186
9187 (define-public cl-3b-bmfont
9188 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9189
9190 (define-public sbcl-zpng
9191 (package
9192 (name "sbcl-zpng")
9193 (version "1.2.2")
9194 (source
9195 (origin
9196 (method git-fetch)
9197 (uri (git-reference
9198 (url "https://github.com/xach/zpng")
9199 (commit (string-append "release-" version))))
9200 (file-name (git-file-name name version))
9201 (sha256
9202 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9203 (build-system asdf-build-system/sbcl)
9204 (inputs
9205 `(("salza2" ,sbcl-salza2)))
9206 (synopsis "PNG encoder for Common Lisp")
9207 (description "This is a Common Lisp library for creating PNG images.")
9208 (home-page "https://www.xach.com/lisp/zpng/")
9209 (license license:bsd-2)))
9210
9211 (define-public cl-zpng
9212 (sbcl-package->cl-source-package sbcl-zpng))
9213
9214 (define-public ecl-zpng
9215 (sbcl-package->ecl-package sbcl-zpng))
9216
9217 (define-public sbcl-cl-qrencode
9218 (package
9219 (name "sbcl-cl-qrencode")
9220 (version "0.1.2")
9221 (source
9222 (origin
9223 (method git-fetch)
9224 (uri (git-reference
9225 (url "https://github.com/jnjcc/cl-qrencode")
9226 (commit (string-append "v" version))))
9227 (file-name (git-file-name name version))
9228 (sha256
9229 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9230 (build-system asdf-build-system/sbcl)
9231 (native-inputs
9232 `(("lisp-unit" ,sbcl-lisp-unit)))
9233 (inputs
9234 `(("zpng" ,sbcl-zpng)))
9235 (synopsis "QR code encoder for Common Lisp")
9236 (description
9237 "This Common Lisp library provides function to make QR codes and to save
9238 them as PNG files.")
9239 (home-page "https://github.com/jnjcc/cl-qrencode")
9240 (license license:gpl2+)))
9241
9242 (define-public cl-qrencode
9243 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9244
9245 (define-public ecl-cl-qrencode
9246 (sbcl-package->ecl-package sbcl-cl-qrencode))
9247
9248 (define-public sbcl-hdf5-cffi
9249 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9250 (revision "1"))
9251 (package
9252 (name "sbcl-hdf5-cffi")
9253 (version (git-version "1.8.18" revision commit))
9254 (source
9255 (origin
9256 (method git-fetch)
9257 (uri (git-reference
9258 (url "https://github.com/hdfgroup/hdf5-cffi")
9259 (commit commit)))
9260 (file-name (git-file-name name version))
9261 (sha256
9262 (base32
9263 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9264 (build-system asdf-build-system/sbcl)
9265 (synopsis "Common Lisp bindings for the HDF5 library")
9266 (description
9267 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9268 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9269 (license (license:non-copyleft
9270 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9271 commit
9272 "/LICENSE")))
9273 (inputs
9274 `(("cffi" ,sbcl-cffi)
9275 ("hdf5" ,hdf5-1.10)))
9276 (native-inputs
9277 `(("fiveam" ,sbcl-fiveam)))
9278 (arguments
9279 `(#:test-asd-file "hdf5-cffi.test.asd"
9280 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9281 ;; I don't know if there is a way to tell asdf-build-system to load
9282 ;; an additional system first, so tests are disabled.
9283 #:tests? #f
9284 #:phases
9285 (modify-phases %standard-phases
9286 (add-after 'unpack 'fix-paths
9287 (lambda* (#:key inputs #:allow-other-keys)
9288 (substitute* "src/library.lisp"
9289 (("libhdf5.so")
9290 (string-append
9291 (assoc-ref inputs "hdf5")
9292 "/lib/libhdf5.so")))))
9293 (add-after 'unpack 'fix-dependencies
9294 (lambda* (#:key inputs #:allow-other-keys)
9295 (substitute* "hdf5-cffi.asd"
9296 ((":depends-on \\(:cffi\\)")
9297 ":depends-on (:cffi :cffi-grovel)"))
9298 (substitute* "hdf5-cffi.test.asd"
9299 ((":depends-on \\(:cffi :hdf5-cffi")
9300 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9301
9302 (define-public cl-hdf5-cffi
9303 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9304
9305 (define-public ecl-hdf5-cffi
9306 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9307
9308 (define-public sbcl-cl-randist
9309 (package
9310 (name "sbcl-cl-randist")
9311 (version "0.4.2")
9312 (source
9313 (origin
9314 (method git-fetch)
9315 (uri (git-reference
9316 (url "https://github.com/lvaruzza/cl-randist")
9317 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9318 (file-name (git-file-name name version))
9319 (sha256
9320 (base32
9321 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9322 (build-system asdf-build-system/sbcl)
9323 (synopsis "Random distributions for Common Lisp")
9324 (description
9325 "Manual translation from C to Common Lisp of some random number
9326 generation functions from the GSL library.")
9327 (home-page "https://github.com/lvaruzza/cl-randist")
9328 (license license:bsd-2)
9329 (arguments
9330 `(#:tests? #f))))
9331
9332 (define-public cl-randist
9333 (sbcl-package->cl-source-package sbcl-cl-randist))
9334
9335 (define-public ecl-cl-randist
9336 (sbcl-package->ecl-package sbcl-cl-randist))
9337
9338 (define-public sbcl-float-features
9339 (package
9340 (name "sbcl-float-features")
9341 (version "1.0.0")
9342 (source
9343 (origin
9344 (method git-fetch)
9345 (uri (git-reference
9346 (url "https://github.com/Shinmera/float-features")
9347 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9348 (file-name (git-file-name name version))
9349 (sha256
9350 (base32
9351 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9352 (build-system asdf-build-system/sbcl)
9353 (synopsis "Common Lisp IEEE float portability library")
9354 (description
9355 "Portability library for IEEE float features that are not
9356 covered by the Common Lisp standard.")
9357 (home-page "https://github.com/Shinmera/float-features")
9358 (license license:zlib)
9359 (inputs
9360 `(("documentation-utils" ,sbcl-documentation-utils)))
9361 (arguments
9362 `(#:tests? #f))))
9363
9364 (define-public cl-float-features
9365 (sbcl-package->cl-source-package sbcl-float-features))
9366
9367 (define-public ecl-float-features
9368 (sbcl-package->ecl-package sbcl-float-features))
9369
9370 (define-public sbcl-function-cache
9371 (package
9372 (name "sbcl-function-cache")
9373 (version "1.0.3")
9374 (source
9375 (origin
9376 (method git-fetch)
9377 (uri (git-reference
9378 (url "https://github.com/AccelerationNet/function-cache")
9379 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9380 (file-name (git-file-name name version))
9381 (sha256
9382 (base32
9383 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9384 (build-system asdf-build-system/sbcl)
9385 (synopsis "Function caching / memoization library for Common Lisp")
9386 (description
9387 "A common lisp library that provides extensible function result
9388 caching based on arguments (an expanded form of memoization).")
9389 (home-page "https://github.com/AccelerationNet/function-cache")
9390 (license
9391 (license:non-copyleft
9392 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9393 (inputs
9394 `(("alexandria" ,sbcl-alexandria)
9395 ("cl-interpol" ,sbcl-cl-interpol)
9396 ("iterate" ,sbcl-iterate)
9397 ("symbol-munger" ,sbcl-symbol-munger)
9398 ("closer-mop" ,sbcl-closer-mop)))
9399 (arguments
9400 `(#:tests? #f))))
9401
9402 (define-public cl-function-cache
9403 (sbcl-package->cl-source-package sbcl-function-cache))
9404
9405 (define-public ecl-function-cache
9406 (sbcl-package->ecl-package sbcl-function-cache))
9407
9408 (define-public sbcl-type-r
9409 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9410 (revision "1"))
9411 (package
9412 (name "sbcl-type-r")
9413 (version (git-version "0.0.0" revision commit))
9414 (source
9415 (origin
9416 (method git-fetch)
9417 (uri (git-reference
9418 (url "https://github.com/guicho271828/type-r")
9419 (commit commit)))
9420 (file-name (git-file-name name version))
9421 (sha256
9422 (base32
9423 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9424 (build-system asdf-build-system/sbcl)
9425 (synopsis "Parser interface for Common Lisp built-in compound types")
9426 (description
9427 "Collections of accessor functions and patterns to access
9428 the elements in compound type specifier, e.g. @code{dimensions} in
9429 @code{(array element-type dimensions)}")
9430 (home-page "https://github.com/guicho271828/type-r")
9431 (license license:lgpl3+)
9432 (inputs
9433 `(("trivia" ,sbcl-trivia)
9434 ("alexandria" ,sbcl-alexandria)))
9435 (native-inputs
9436 `(("fiveam" ,sbcl-fiveam)))
9437 (arguments
9438 `(#:test-asd-file "type-r.test.asd")))))
9439
9440 (define-public cl-type-r
9441 (sbcl-package->cl-source-package sbcl-type-r))
9442
9443 (define-public ecl-type-r
9444 (sbcl-package->ecl-package sbcl-type-r))
9445
9446 (define-public sbcl-trivialib-type-unify
9447 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9448 (revision "1"))
9449 (package
9450 (name "sbcl-trivialib-type-unify")
9451 (version (git-version "0.1" revision commit))
9452 (source
9453 (origin
9454 (method git-fetch)
9455 (uri (git-reference
9456 (url "https://github.com/guicho271828/trivialib.type-unify")
9457 (commit commit)))
9458 (file-name (git-file-name name version))
9459 (sha256
9460 (base32
9461 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9462 (build-system asdf-build-system/sbcl)
9463 (synopsis "Common Lisp type unification")
9464 (description
9465 "Unifies a parametrized type specifier against an actual type specifier.
9466 Importantly, it handles complicated array-subtypes and number-related types
9467 correctly.")
9468 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9469 (license license:lgpl3+)
9470 (inputs
9471 `(("alexandria" ,sbcl-alexandria)
9472 ("trivia" ,sbcl-trivia)
9473 ("introspect-environment" ,sbcl-introspect-environment)
9474 ("type-r" ,sbcl-type-r)))
9475 (native-inputs
9476 `(("fiveam" ,sbcl-fiveam)))
9477 (arguments
9478 `(#:asd-systems '("trivialib.type-unify")
9479 #:test-asd-file "trivialib.type-unify.test.asd")))))
9480
9481 (define-public cl-trivialib-type-unify
9482 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9483
9484 (define-public ecl-trivialib-type-unify
9485 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9486
9487 (define-public sbcl-specialized-function
9488 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9489 (revision "2"))
9490 (package
9491 (name "sbcl-specialized-function")
9492 (version (git-version "0.0.0" revision commit))
9493 (source
9494 (origin
9495 (method git-fetch)
9496 (uri (git-reference
9497 (url "https://github.com/numcl/specialized-function")
9498 (commit commit)))
9499 (file-name (git-file-name name version))
9500 (sha256
9501 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9502 (build-system asdf-build-system/sbcl)
9503 (synopsis "Julia-like dispatch for Common Lisp")
9504 (description
9505 "This library is part of NUMCL. It provides a macro
9506 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9507 lazily compiling a type-specific version of the function from the same
9508 code. The main target of this macro is speed.")
9509 (home-page "https://github.com/numcl/specialized-function")
9510 (license license:lgpl3+)
9511 (inputs
9512 `(("trivia" ,sbcl-trivia)
9513 ("alexandria" ,sbcl-alexandria)
9514 ("iterate" ,sbcl-iterate)
9515 ("lisp-namespace" ,sbcl-lisp-namespace)
9516 ("type-r" ,sbcl-type-r)
9517 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9518 (native-inputs
9519 `(("fiveam" ,sbcl-fiveam)))
9520 (arguments
9521 `(#:asd-files '("specialized-function.asd")
9522 #:test-asd-file "specialized-function.test.asd"
9523 ;; Tests fail because they try to use an internal symbol of SBCL
9524 ;; that does not exists in recent versions:
9525 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9526 #:tests? #f)))))
9527
9528 (define-public cl-specialized-function
9529 (sbcl-package->cl-source-package sbcl-specialized-function))
9530
9531 (define-public ecl-specialized-function
9532 (sbcl-package->ecl-package sbcl-specialized-function))
9533
9534 (define-public sbcl-constantfold
9535 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9536 (revision "1"))
9537 (package
9538 (name "sbcl-constantfold")
9539 (version (git-version "0.1" revision commit))
9540 (source
9541 (origin
9542 (method git-fetch)
9543 (uri (git-reference
9544 (url "https://github.com/numcl/constantfold")
9545 (commit commit)))
9546 (file-name (git-file-name name version))
9547 (sha256
9548 (base32
9549 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9550 (build-system asdf-build-system/sbcl)
9551 (synopsis "Support library for numcl")
9552 (description
9553 "Support library for numcl. Registers a function as an
9554 additional form that is considered as a candidate for a constant.")
9555 (home-page "https://github.com/numcl/constantfold")
9556 (license license:lgpl3+)
9557 (inputs
9558 `(("trivia" ,sbcl-trivia)
9559 ("alexandria" ,sbcl-alexandria)
9560 ("iterate" ,sbcl-iterate)
9561 ("lisp-namespace" ,sbcl-lisp-namespace)))
9562 (native-inputs
9563 `(("fiveam" ,sbcl-fiveam)))
9564 (arguments
9565 `(#:asd-files '("constantfold.asd")
9566 #:test-asd-file "constantfold.test.asd")))))
9567
9568 (define-public cl-constantfold
9569 (sbcl-package->cl-source-package sbcl-constantfold))
9570
9571 (define-public ecl-constantfold
9572 (sbcl-package->ecl-package sbcl-constantfold))
9573
9574 (define-public sbcl-gtype
9575 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9576 (revision "2"))
9577 (package
9578 (name "sbcl-gtype")
9579 (version (git-version "0.1" revision commit))
9580 (source
9581 (origin
9582 (method git-fetch)
9583 (uri (git-reference
9584 (url "https://github.com/numcl/gtype")
9585 (commit commit)))
9586 (file-name (git-file-name name version))
9587 (sha256
9588 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9589 (build-system asdf-build-system/sbcl)
9590 (synopsis "C++/Julia-like parametric types in Common Lisp")
9591 (description
9592 "Support library for numcl that provides Julia-like runtime parametric
9593 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9594 (home-page "https://github.com/numcl/gtype")
9595 (license license:lgpl3+)
9596 (inputs
9597 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9598 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9599 ("trivia" ,sbcl-trivia)
9600 ("alexandria" ,sbcl-alexandria)
9601 ("iterate" ,sbcl-iterate)
9602 ("type-r" ,sbcl-type-r)))
9603 (native-inputs
9604 `(("fiveam" ,sbcl-fiveam)))
9605 (arguments
9606 `(#:asd-files '("gtype.asd")
9607 #:test-asd-file "gtype.test.asd")))))
9608
9609 (define-public cl-gtype
9610 (sbcl-package->cl-source-package sbcl-gtype))
9611
9612 (define-public ecl-gtype
9613 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9614 (package
9615 (inherit pkg)
9616 (arguments
9617 (substitute-keyword-arguments (package-arguments pkg)
9618 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9619 ((#:tests? _ #f) #f))))))
9620
9621 (define-public sbcl-numcl
9622 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9623 (revision "1"))
9624 (package
9625 (name "sbcl-numcl")
9626 (version (git-version "0.2.0" revision commit))
9627 (source
9628 (origin
9629 (method git-fetch)
9630 (uri (git-reference
9631 (url "https://github.com/numcl/numcl")
9632 (commit commit)))
9633 (file-name (git-file-name "numcl" version))
9634 (sha256
9635 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9636 (build-system asdf-build-system/sbcl)
9637 (arguments
9638 `(#:test-asd-file "numcl.test.asd"
9639 #:asd-files '("numcl.asd")))
9640 (native-inputs
9641 `(("fiveam" ,sbcl-fiveam)))
9642 (inputs
9643 `(("alexandria" ,sbcl-alexandria)
9644 ("cl-randist" ,sbcl-cl-randist)
9645 ("constantfold" ,sbcl-constantfold)
9646 ("float-features" ,sbcl-float-features)
9647 ("function-cache" ,sbcl-function-cache)
9648 ("gtype" ,sbcl-gtype)
9649 ("iterate" ,sbcl-iterate)
9650 ("lisp-namespace" ,sbcl-lisp-namespace)
9651 ("specialized-function" ,sbcl-specialized-function)
9652 ("trivia" ,sbcl-trivia)
9653 ("type-r" ,sbcl-type-r)))
9654 (home-page "https://numcl.github.io/numcl/")
9655 (synopsis "Numpy clone in Common Lisp")
9656 (description
9657 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9658 (license license:lgpl3+))))
9659
9660 (define-public cl-numcl
9661 (sbcl-package->cl-source-package sbcl-numcl))
9662
9663 (define-public ecl-numcl
9664 (sbcl-package->ecl-package sbcl-numcl))
9665
9666 (define-public sbcl-pzmq
9667 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9668 (revision "1"))
9669 (package
9670 (name "sbcl-pzmq")
9671 (version (git-version "0.0.0" revision commit))
9672 (source
9673 (origin
9674 (method git-fetch)
9675 (uri (git-reference
9676 (url "https://github.com/orivej/pzmq")
9677 (commit commit)))
9678 (file-name (git-file-name name version))
9679 (sha256
9680 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9681 (build-system asdf-build-system/sbcl)
9682 (native-inputs
9683 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9684 ("fiveam" ,sbcl-fiveam)
9685 ("let-plus" ,sbcl-let-plus)))
9686 (inputs
9687 `(("cffi" ,sbcl-cffi)
9688 ("zeromq" ,zeromq)))
9689 (arguments
9690 `(#:phases (modify-phases %standard-phases
9691 (add-after 'unpack 'fix-paths
9692 (lambda* (#:key inputs #:allow-other-keys)
9693 (substitute* "c-api.lisp"
9694 (("\"libzmq")
9695 (string-append "\""
9696 (assoc-ref inputs "zeromq")
9697 "/lib/libzmq")))
9698 #t)))))
9699 (synopsis "Common Lisp bindings for the ZeroMQ library")
9700 (description "This Common Lisp library provides bindings for the ZeroMQ
9701 lightweight messaging kernel.")
9702 (home-page "https://github.com/orivej/pzmq")
9703 (license license:unlicense))))
9704
9705 (define-public cl-pzmq
9706 (sbcl-package->cl-source-package sbcl-pzmq))
9707
9708 (define-public ecl-pzmq
9709 (sbcl-package->ecl-package sbcl-pzmq))
9710
9711 (define-public sbcl-clss
9712 (let ((revision "1")
9713 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9714 (package
9715 (name "sbcl-clss")
9716 (version (git-version "0.3.1" revision commit))
9717 (source
9718 (origin
9719 (method git-fetch)
9720 (uri
9721 (git-reference
9722 (url "https://github.com/Shinmera/clss")
9723 (commit commit)))
9724 (sha256
9725 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9726 (file-name (git-file-name name version))))
9727 (inputs
9728 `(("array-utils" ,sbcl-array-utils)
9729 ("plump" ,sbcl-plump)))
9730 (build-system asdf-build-system/sbcl)
9731 (synopsis "DOM tree searching engine based on CSS selectors")
9732 (description "CLSS is a DOM traversal engine based on CSS
9733 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9734 (home-page "https://github.com/Shinmera/clss")
9735 (license license:zlib))))
9736
9737 (define-public cl-clss
9738 (sbcl-package->cl-source-package sbcl-clss))
9739
9740 (define-public ecl-clss
9741 (sbcl-package->ecl-package sbcl-clss))
9742
9743 (define-public sbcl-lquery
9744 (let ((revision "1")
9745 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9746 (package
9747 (name "sbcl-lquery")
9748 (version (git-version "3.2.1" revision commit))
9749 (source
9750 (origin
9751 (method git-fetch)
9752 (uri
9753 (git-reference
9754 (url "https://github.com/Shinmera/lquery")
9755 (commit commit)))
9756 (sha256
9757 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9758 (file-name (git-file-name name version))))
9759 (native-inputs
9760 `(("fiveam" ,sbcl-fiveam)))
9761 (inputs
9762 `(("array-utils" ,sbcl-array-utils)
9763 ("form-fiddle" ,sbcl-form-fiddle)
9764 ("plump" ,sbcl-plump)
9765 ("clss" ,sbcl-clss)))
9766 (build-system asdf-build-system/sbcl)
9767 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9768 (description "@code{lQuery} is a DOM manipulation library written in
9769 Common Lisp, inspired by and based on the jQuery syntax and
9770 functions. It uses Plump and CLSS as DOM and selector engines. The
9771 main idea behind lQuery is to provide a simple interface for crawling
9772 and modifying HTML sites, as well as to allow for an alternative
9773 approach to templating.")
9774 (home-page "https://github.com/Shinmera/lquery")
9775 (license license:zlib))))
9776
9777 (define-public cl-lquery
9778 (sbcl-package->cl-source-package sbcl-lquery))
9779
9780 (define-public ecl-lquery
9781 (sbcl-package->ecl-package sbcl-lquery))
9782
9783 (define-public sbcl-cl-mysql
9784 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9785 (revision "1"))
9786 (package
9787 (name "sbcl-cl-mysql")
9788 (version (git-version "0.1" revision commit))
9789 (source
9790 (origin
9791 (method git-fetch)
9792 (uri (git-reference
9793 (url "https://github.com/hackinghat/cl-mysql")
9794 (commit commit)))
9795 (file-name (git-file-name name version))
9796 (sha256
9797 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9798 (build-system asdf-build-system/sbcl)
9799 (native-inputs
9800 `(("stefil" ,sbcl-stefil)))
9801 (inputs
9802 `(("cffi" ,sbcl-cffi)
9803 ("mariadb-lib" ,mariadb "lib")))
9804 (arguments
9805 `(#:tests? #f ; TODO: Tests require a running server
9806 #:phases
9807 (modify-phases %standard-phases
9808 (add-after 'unpack 'fix-paths
9809 (lambda* (#:key inputs #:allow-other-keys)
9810 (substitute* "system.lisp"
9811 (("libmysqlclient_r" all)
9812 (string-append (assoc-ref inputs "mariadb-lib")
9813 "/lib/"
9814 all)))
9815 #t)))))
9816 (synopsis "Common Lisp wrapper for MySQL")
9817 (description
9818 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9819 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9820 (license license:expat))))
9821
9822 (define-public cl-mysql
9823 (sbcl-package->cl-source-package sbcl-cl-mysql))
9824
9825 (define-public ecl-cl-mysql
9826 (sbcl-package->ecl-package sbcl-cl-mysql))
9827
9828 (define-public sbcl-postmodern
9829 (package
9830 (name "sbcl-postmodern")
9831 (version "1.32.8")
9832 (source
9833 (origin
9834 (method git-fetch)
9835 (uri (git-reference
9836 (url "https://github.com/marijnh/Postmodern")
9837 (commit (string-append "v" version))))
9838 (file-name (git-file-name name version))
9839 (sha256
9840 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9841 (build-system asdf-build-system/sbcl)
9842 (native-inputs
9843 `(("fiveam" ,sbcl-fiveam)))
9844 (inputs
9845 `(("alexandria" ,sbcl-alexandria)
9846 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9847 ("cl-base64" ,sbcl-cl-base64)
9848 ("cl-unicode" ,sbcl-cl-unicode)
9849 ("closer-mop" ,sbcl-closer-mop)
9850 ("global-vars" ,sbcl-global-vars)
9851 ("ironclad" ,sbcl-ironclad)
9852 ("local-time" ,sbcl-local-time)
9853 ("md5" ,sbcl-md5)
9854 ("split-sequence" ,sbcl-split-sequence)
9855 ("uax-15" ,sbcl-uax-15)
9856 ("usocket" ,sbcl-usocket)))
9857 (arguments
9858 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9859 ;; step, some functionality in `local-time' prevents passing tests.
9860 ;; Error:
9861 ;;
9862 ;; Can't create directory
9863 ;; /gnu/store
9864 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9865 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9866 ;;
9867 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9868 ;; issue is resolved but it required live test database to connect to now.
9869 ;; Keep tests switched off.
9870 `(#:tests? #f
9871 #:asd-systems '("cl-postgres"
9872 "s-sql"
9873 "postmodern"
9874 "simple-date"
9875 "simple-date/postgres-glue")))
9876 (synopsis "Common Lisp library for interacting with PostgreSQL")
9877 (description
9878 "@code{postmodern} is a Common Lisp library for interacting with
9879 PostgreSQL databases. It provides the following features:
9880
9881 @itemize
9882 @item Efficient communication with the database server without need for
9883 foreign libraries.
9884 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9885 @item A syntax for mixing SQL and Lisp code.
9886 @item Convenient support for prepared statements and stored procedures.
9887 @item A metaclass for simple database-access objects.
9888 @end itemize\n
9889
9890 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9891
9892 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9893 to support storing and retrieving time-related SQL types. It is not loaded by
9894 default and you can use local-time (which has support for timezones) instead.
9895
9896 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9897 any Lisp values inside, and doing as much as possible of the work at compile
9898 time.
9899
9900 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9901 server over a socket.
9902
9903 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9904 level functions, a very simple data access object that can be mapped directly to
9905 database tables and some convient utilities. It then tries to put all these
9906 things together into a convenient programming interface")
9907 (home-page "https://marijnhaverbeke.nl/postmodern/")
9908 (license license:zlib)))
9909
9910 (define-public cl-postmodern
9911 (sbcl-package->cl-source-package sbcl-postmodern))
9912
9913 (define-public ecl-postmodern
9914 (package
9915 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9916 (arguments
9917 `(#:tests? #f
9918 #:asd-systems '("cl-postgres"
9919 "s-sql"
9920 "postmodern"
9921 "simple-date"
9922 "simple-date/postgres-glue")
9923 #:phases
9924 (modify-phases %standard-phases
9925 (add-after 'unpack 'fix-build
9926 (lambda _
9927 (substitute* "cl-postgres.asd"
9928 ((":or :sbcl :allegro :ccl :clisp" all)
9929 (string-append all " :ecl")))
9930 #t)))))))
9931
9932 (define-public sbcl-db3
9933 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9934 (revision "1"))
9935 (package
9936 (name "sbcl-db3")
9937 (version (git-version "0.0.0" revision commit))
9938 (source
9939 (origin
9940 (method git-fetch)
9941 (uri (git-reference
9942 (url "https://github.com/dimitri/cl-db3")
9943 (commit commit)))
9944 (file-name (git-file-name "cl-db3" version))
9945 (sha256
9946 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9947 (build-system asdf-build-system/sbcl)
9948 (home-page "https://github.com/dimitri/cl-db3")
9949 (synopsis "Common Lisp library to read dBase III database files")
9950 (description
9951 "This is a Common Lisp library for processing data found in dBase III
9952 database files (dbf and db3 files).")
9953 (license license:public-domain))))
9954
9955 (define-public ecl-db3
9956 (sbcl-package->ecl-package sbcl-db3))
9957
9958 (define-public cl-db3
9959 (sbcl-package->cl-source-package sbcl-db3))
9960
9961 (define-public sbcl-dbi
9962 ;; Master includes a breaking change which other packages depend on since
9963 ;; Quicklisp decided to follow it:
9964 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9965 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9966 (package
9967 (name "sbcl-dbi")
9968 (version (git-version "0.9.4" "1" commit))
9969 (source
9970 (origin
9971 (method git-fetch)
9972 (uri (git-reference
9973 (url "https://github.com/fukamachi/cl-dbi")
9974 (commit commit)))
9975 (file-name (git-file-name name version))
9976 (sha256
9977 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9978 (build-system asdf-build-system/sbcl)
9979 (native-inputs
9980 `(("rove" ,sbcl-rove)
9981 ("trivial-types" ,sbcl-trivial-types)))
9982 (inputs
9983 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9984 ("cl-mysql" ,sbcl-cl-mysql)
9985 ("cl-sqlite" ,sbcl-cl-sqlite)
9986 ("closer-mop" ,sbcl-closer-mop)
9987 ("postmodern" ,sbcl-postmodern)
9988 ("split-sequence" ,sbcl-split-sequence)
9989 ("trivial-garbage" ,sbcl-trivial-garbage)))
9990 (arguments
9991 `(#:asd-systems '("dbi"
9992 "dbd-mysql"
9993 "dbd-postgres"
9994 "dbd-sqlite3")))
9995 (synopsis "Database independent interface for Common Lisp")
9996 (description
9997 "@code{dbi} is a Common Lisp library providing a database independent
9998 interface for MySQL, PostgreSQL and SQLite.")
9999 (home-page "https://github.com/fukamachi/cl-dbi")
10000 (license license:llgpl))))
10001
10002 (define-public cl-dbi
10003 (sbcl-package->cl-source-package sbcl-dbi))
10004
10005 (define-public ecl-dbi
10006 (sbcl-package->ecl-package sbcl-dbi))
10007
10008 (define-public sbcl-uffi
10009 (package
10010 (name "sbcl-uffi")
10011 (version "2.1.2")
10012 (source
10013 (origin
10014 (method git-fetch)
10015 (uri (git-reference
10016 (url "http://git.kpe.io/uffi.git")
10017 (commit (string-append "v" version))))
10018 (file-name (git-file-name name version))
10019 (sha256
10020 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10021 (build-system asdf-build-system/sbcl)
10022 (arguments
10023 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10024 #:asd-files '("uffi.asd")
10025 #:phases
10026 (modify-phases %standard-phases
10027 (add-after 'unpack 'fix-permissions
10028 (lambda _
10029 (make-file-writable "doc/html.tar.gz")
10030 #t)))))
10031 (synopsis "Universal foreign function library for Common Lisp")
10032 (description
10033 "UFFI provides a universal foreign function interface (FFI)
10034 for Common Lisp.")
10035 (home-page "http://quickdocs.org/uffi/")
10036 (license license:llgpl)))
10037
10038 (define-public cl-uffi
10039 (package
10040 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10041 (arguments
10042 `(#:phases
10043 ;; asdf-build-system/source has its own phases and does not inherit
10044 ;; from asdf-build-system/sbcl phases.
10045 (modify-phases %standard-phases/source
10046 ;; Already done in SBCL package.
10047 (delete 'reset-gzip-timestamps))))))
10048
10049 (define-public sbcl-clsql
10050 (package
10051 (name "sbcl-clsql")
10052 (version "6.7.0")
10053 (source
10054 (origin
10055 (method git-fetch)
10056 (uri (git-reference
10057 (url "http://git.kpe.io/clsql.git")
10058 (commit (string-append "v" version))))
10059 (file-name (git-file-name name version))
10060 (sha256
10061 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10062 (snippet
10063 '(begin
10064 ;; Remove precompiled libraries.
10065 (delete-file "db-mysql/clsql_mysql.dll")
10066 (delete-file "uffi/clsql_uffi.dll")
10067 (delete-file "uffi/clsql_uffi.lib")
10068 #t))))
10069 (build-system asdf-build-system/sbcl)
10070 (native-inputs
10071 `(("rt" ,sbcl-rt)))
10072 (inputs
10073 `(("cffi" ,sbcl-cffi)
10074 ("md5" ,sbcl-md5)
10075 ("mysql" ,mysql)
10076 ("postgresql" ,postgresql)
10077 ("postmodern" ,sbcl-postmodern)
10078 ("sqlite" ,sqlite)
10079 ("uffi" ,sbcl-uffi)
10080 ("zlib" ,zlib)))
10081 (arguments
10082 `(#:asd-files '("clsql.asd"
10083 "clsql-uffi.asd"
10084 "clsql-sqlite3.asd"
10085 "clsql-postgresql.asd"
10086 "clsql-postgresql-socket3.asd"
10087 "clsql-mysql.asd")
10088 #:asd-systems '("clsql"
10089 "clsql-sqlite3"
10090 "clsql-postgresql"
10091 "clsql-postgresql-socket3"
10092 "clsql-mysql")
10093 #:phases
10094 (modify-phases %standard-phases
10095 (add-after 'unpack 'fix-permissions
10096 (lambda _
10097 (make-file-writable "doc/html.tar.gz")
10098 #t))
10099 (add-after 'unpack 'fix-build
10100 (lambda _
10101 (substitute* "clsql-uffi.asd"
10102 (("\\(:version uffi \"2.0\"\\)")
10103 "uffi"))
10104 (substitute* "db-postgresql/postgresql-api.lisp"
10105 (("\\(data :cstring\\)")
10106 "(data :string)"))
10107 #t))
10108 (add-after 'unpack 'fix-paths
10109 (lambda* (#:key inputs outputs #:allow-other-keys)
10110 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10111 (("libsqlite3")
10112 (string-append (assoc-ref inputs "sqlite")
10113 "/lib/libsqlite3")))
10114 (substitute* "db-postgresql/postgresql-loader.lisp"
10115 (("libpq")
10116 (string-append (assoc-ref inputs "postgresql")
10117 "/lib/libpq")))
10118 (let ((lib (string-append "#p\""
10119 (assoc-ref outputs "out")
10120 "/lib/\"")))
10121 (substitute* "clsql-mysql.asd"
10122 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10123 lib))
10124 (substitute* "db-mysql/mysql-loader.lisp"
10125 (("libmysqlclient" all)
10126 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10127 (("clsql-mysql-system::\\*library-file-dir\\*")
10128 lib)))
10129 #t))
10130 (add-before 'build 'build-helper-library
10131 (lambda* (#:key inputs outputs #:allow-other-keys)
10132 (let* ((mysql (assoc-ref inputs "mysql"))
10133 (inc-dir (string-append mysql "/include/mysql"))
10134 (lib-dir (string-append mysql "/lib"))
10135 (shared-lib-dir (string-append (assoc-ref outputs "out")
10136 "/lib"))
10137 (shared-lib (string-append shared-lib-dir
10138 "/clsql_mysql.so")))
10139 (mkdir-p shared-lib-dir)
10140 (invoke "gcc" "-fPIC" "-shared"
10141 "-I" inc-dir
10142 "db-mysql/clsql_mysql.c"
10143 "-Wl,-soname=clsql_mysql"
10144 "-L" lib-dir "-lmysqlclient" "-lz"
10145 "-o" shared-lib)
10146 #t)))
10147 (add-after 'unpack 'fix-tests
10148 (lambda _
10149 (substitute* "clsql.asd"
10150 (("clsql-tests :force t")
10151 "clsql-tests"))
10152 #t)))))
10153 (synopsis "Common Lisp SQL Interface library")
10154 (description
10155 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10156 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10157 interfaces as well as a functional and an object oriented interface.")
10158 (home-page "http://clsql.kpe.io/")
10159 (license license:llgpl)))
10160
10161 (define-public cl-clsql
10162 (package
10163 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10164 (native-inputs
10165 `(("rt" ,cl-rt)))
10166 (inputs
10167 `(("mysql" ,mysql)
10168 ("postgresql" ,postgresql)
10169 ("sqlite" ,sqlite)
10170 ("zlib" ,zlib)))
10171 (propagated-inputs
10172 `(("cffi" ,cl-cffi)
10173 ("md5" ,cl-md5)
10174 ("postmodern" ,cl-postmodern)
10175 ("uffi" ,cl-uffi)))
10176 (arguments
10177 `(#:phases
10178 ;; asdf-build-system/source has its own phases and does not inherit
10179 ;; from asdf-build-system/sbcl phases.
10180 (modify-phases %standard-phases/source
10181 (add-after 'unpack 'fix-permissions
10182 (lambda _
10183 (make-file-writable "doc/html.tar.gz")
10184 #t)))))))
10185
10186 (define-public ecl-clsql
10187 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10188 (package
10189 (inherit pkg)
10190 (inputs
10191 (alist-delete "uffi" (package-inputs pkg)))
10192 (arguments
10193 (substitute-keyword-arguments (package-arguments pkg)
10194 ((#:asd-files asd-files '())
10195 `(cons "clsql-cffi.asd" ,asd-files)))))))
10196
10197 (define-public sbcl-sycamore
10198 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10199 (package
10200 (name "sbcl-sycamore")
10201 (version "0.0.20120604")
10202 (source
10203 (origin
10204 (method git-fetch)
10205 (uri (git-reference
10206 (url "https://github.com/ndantam/sycamore/")
10207 (commit commit)))
10208 (file-name (git-file-name name version))
10209 (sha256
10210 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10211 (build-system asdf-build-system/sbcl)
10212 (inputs
10213 `(("alexandria" ,sbcl-alexandria)
10214 ("cl-ppcre" ,sbcl-cl-ppcre)))
10215 (synopsis "Purely functional data structure library in Common Lisp")
10216 (description
10217 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10218 If features:
10219
10220 @itemize
10221 @item Fast, purely functional weight-balanced binary trees.
10222 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10223 @item Interfaces for tree Sets and Maps (dictionaries).
10224 @item Ropes.
10225 @item Purely functional pairing heaps.
10226 @item Purely functional amortized queue.
10227 @end itemize\n")
10228 (home-page "http://ndantam.github.io/sycamore/")
10229 (license license:bsd-3))))
10230
10231 (define-public cl-sycamore
10232 (sbcl-package->cl-source-package sbcl-sycamore))
10233
10234 (define-public ecl-sycamore
10235 (sbcl-package->ecl-package sbcl-sycamore))
10236
10237 (define-public sbcl-trivial-package-local-nicknames
10238 (package
10239 (name "sbcl-trivial-package-local-nicknames")
10240 (version "0.2")
10241 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10242 (source
10243 (origin
10244 (method git-fetch)
10245 (uri (git-reference
10246 (url home-page)
10247 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10248 (file-name (git-file-name name version))
10249 (sha256
10250 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10251 (build-system asdf-build-system/sbcl)
10252 (synopsis "Common Lisp compatibility library for package local nicknames")
10253 (description
10254 "This library is a portable compatibility layer around package local nicknames (PLN).
10255 This was done so there is a portability library for the PLN API not included
10256 in DEFPACKAGE.")
10257 (license license:unlicense)))
10258
10259 (define-public cl-trivial-package-local-nicknames
10260 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10261
10262 (define-public ecl-trivial-package-local-nicknames
10263 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10264
10265 (define-public sbcl-enchant
10266 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10267 (package
10268 (name "sbcl-enchant")
10269 (version (git-version "0.0.0" "1" commit))
10270 (home-page "https://github.com/tlikonen/cl-enchant")
10271 (source
10272 (origin
10273 (method git-fetch)
10274 (uri (git-reference
10275 (url home-page)
10276 (commit commit)))
10277 (file-name (git-file-name name version))
10278 (sha256
10279 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10280 (build-system asdf-build-system/sbcl)
10281 (inputs
10282 `(("enchant" ,enchant)
10283 ("cffi" ,sbcl-cffi)))
10284 (arguments
10285 `(#:phases
10286 (modify-phases %standard-phases
10287 (add-after 'unpack 'fix-paths
10288 (lambda* (#:key inputs #:allow-other-keys)
10289 (substitute* "load-enchant.lisp"
10290 (("libenchant")
10291 (string-append
10292 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10293 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10294 (description
10295 "Enchant is a Common Lisp interface for the Enchant spell-checker
10296 library. The Enchant library is a generic spell-checker library which uses
10297 other spell-checkers transparently as back-end. The library supports the
10298 multiple checkers, including Aspell and Hunspell.")
10299 (license license:public-domain))))
10300
10301 (define-public cl-enchant
10302 (sbcl-package->cl-source-package sbcl-enchant))
10303
10304 (define-public ecl-enchant
10305 (sbcl-package->ecl-package sbcl-enchant))
10306
10307 (define-public sbcl-cl-change-case
10308 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10309 (revision "1"))
10310 (package
10311 (name "sbcl-cl-change-case")
10312 (version (git-version "0.2.0" revision commit))
10313 (home-page "https://github.com/rudolfochrist/cl-change-case")
10314 (source
10315 (origin
10316 (method git-fetch)
10317 (uri (git-reference
10318 (url home-page)
10319 (commit commit)))
10320 (file-name (git-file-name "cl-change-case" version))
10321 (sha256
10322 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10323 (build-system asdf-build-system/sbcl)
10324 (inputs
10325 `(("cl-ppcre" ,sbcl-cl-ppcre)
10326 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10327 (native-inputs
10328 `(("fiveam" ,sbcl-fiveam)))
10329 (synopsis
10330 "Convert Common Lisp strings between camelCase, PascalCase and more")
10331 (description
10332 "@code{cl-change-case} is a library to convert strings between
10333 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10334 (license license:llgpl))))
10335
10336 (define-public cl-change-case
10337 (sbcl-package->cl-source-package sbcl-cl-change-case))
10338
10339 (define-public ecl-cl-change-case
10340 (sbcl-package->ecl-package sbcl-cl-change-case))
10341
10342 (define-public sbcl-modularize
10343 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10344 (revision "1"))
10345 (package
10346 (name "sbcl-modularize")
10347 (version (git-version "1.0.0" revision commit))
10348 (source
10349 (origin
10350 (method git-fetch)
10351 (uri (git-reference
10352 (url "https://github.com/Shinmera/modularize")
10353 (commit commit)))
10354 (file-name (git-file-name name version))
10355 (sha256
10356 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10357 (build-system asdf-build-system/sbcl)
10358 (arguments
10359 `(#:test-asd-file "modularize-test-module.asd"
10360 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10361 #:asd-systems '("modularize" "modularize-test-module")))
10362 (inputs
10363 `(("documentation-utils" ,sbcl-documentation-utils)
10364 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10365 (home-page "https://shinmera.github.io/modularize/")
10366 (synopsis "Common Lisp modularization framework")
10367 (description
10368 "@code{MODULARIZE} is an attempt at providing a common interface to
10369 segregate major application components. This is achieved by adding special
10370 treatment to packages. Each module is a package that is specially registered,
10371 which allows it to interact and co-exist with other modules in better ways. For
10372 instance, by adding module definition options you can introduce mechanisms to
10373 tie modules together in functionality, hook into each other and so on.")
10374 (license license:zlib))))
10375
10376 (define-public ecl-modularize
10377 (sbcl-package->ecl-package sbcl-modularize))
10378
10379 (define-public cl-modularize
10380 (sbcl-package->cl-source-package sbcl-modularize))
10381
10382 (define-public sbcl-modularize-hooks
10383 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10384 (revision "1"))
10385 (package
10386 (name "sbcl-modularize-hooks")
10387 (version (git-version "1.0.2" revision commit))
10388 (source
10389 (origin
10390 (method git-fetch)
10391 (uri (git-reference
10392 (url "https://github.com/Shinmera/modularize-hooks")
10393 (commit commit)))
10394 (file-name (git-file-name "modularize-hooks" version))
10395 (sha256
10396 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10397 (build-system asdf-build-system/sbcl)
10398 (inputs
10399 `(("closer-mop" ,sbcl-closer-mop)
10400 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10401 ("modularize" ,sbcl-modularize)
10402 ("trivial-arguments" ,sbcl-trivial-arguments)))
10403 (home-page "https://shinmera.github.io/modularize-hooks/")
10404 (synopsis "Generic hooks and triggers extension for Modularize")
10405 (description
10406 "This is a simple extension to @code{MODULARIZE} that allows modules to
10407 define and trigger hooks, which other modules can hook on to.")
10408 (license license:zlib))))
10409
10410 (define-public ecl-modularize-hooks
10411 (sbcl-package->ecl-package sbcl-modularize-hooks))
10412
10413 (define-public cl-modularize-hooks
10414 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10415
10416 (define-public sbcl-modularize-interfaces
10417 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10418 (revision "1"))
10419 (package
10420 (name "sbcl-modularize-interfaces")
10421 (version (git-version "0.9.3" revision commit))
10422 (source
10423 (origin
10424 (method git-fetch)
10425 (uri (git-reference
10426 (url "https://github.com/Shinmera/modularize-interfaces")
10427 (commit commit)))
10428 (file-name (git-file-name "modularize-interfaces" version))
10429 (sha256
10430 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10431 (build-system asdf-build-system/sbcl)
10432 (inputs
10433 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10434 ("modularize" ,sbcl-modularize)
10435 ("trivial-arguments" ,sbcl-trivial-arguments)
10436 ("trivial-indent" ,sbcl-trivial-indent)))
10437 (home-page "https://shinmera.github.io/modularize-interfaces/")
10438 (synopsis "Programmatical interfaces extension for Modularize")
10439 (description
10440 "This is an extension to @code{MODULARIZE} that allows your application
10441 to define interfaces in-code that serve both as a primary documentation and as
10442 compliance control.")
10443 (license license:zlib))))
10444
10445 (define-public ecl-modularize-interfaces
10446 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10447
10448 (define-public cl-modularize-interfaces
10449 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10450
10451 (define-public sbcl-moptilities
10452 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10453 (package
10454 (name "sbcl-moptilities")
10455 (version (git-version "0.3.13" "1" commit))
10456 (home-page "https://github.com/gwkkwg/moptilities/")
10457 (source
10458 (origin
10459 (method git-fetch)
10460 (uri (git-reference
10461 (url home-page)
10462 (commit commit)))
10463 (file-name (git-file-name name version))
10464 (sha256
10465 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10466 (build-system asdf-build-system/sbcl)
10467 (inputs
10468 `(("closer-mop" ,sbcl-closer-mop)))
10469 (native-inputs
10470 `(("lift" ,sbcl-lift)))
10471 (arguments
10472 `(#:phases
10473 (modify-phases %standard-phases
10474 (add-after 'unpack 'fix-tests
10475 (lambda _
10476 (substitute* "lift-standard.config"
10477 ((":relative-to lift-test")
10478 ":relative-to moptilities-test"))
10479 #t)))))
10480 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10481 (description
10482 "MOP utilities provide a common interface between Lisps and make the
10483 MOP easier to use.")
10484 (license license:expat))))
10485
10486 (define-public cl-moptilities
10487 (sbcl-package->cl-source-package sbcl-moptilities))
10488
10489 (define-public sbcl-osicat
10490 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10491 (package
10492 (name "sbcl-osicat")
10493 (version (git-version "0.7.0" "1" commit))
10494 (home-page "http://www.common-lisp.net/project/osicat/")
10495 (source
10496 (origin
10497 (method git-fetch)
10498 (uri (git-reference
10499 (url "https://github.com/osicat/osicat")
10500 (commit commit)))
10501 (file-name (git-file-name name version))
10502 (sha256
10503 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10504 (build-system asdf-build-system/sbcl)
10505 (inputs
10506 `(("alexandria" ,sbcl-alexandria)
10507 ("cffi" ,sbcl-cffi)
10508 ("trivial-features" ,sbcl-trivial-features)))
10509 (native-inputs
10510 `(("rt" ,sbcl-rt)))
10511 (synopsis "Operating system interface for Common Lisp")
10512 (description
10513 "Osicat is a lightweight operating system interface for Common Lisp on
10514 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10515 accompaniment to the standard ANSI facilities.")
10516 (license license:expat))))
10517
10518 (define-public cl-osicat
10519 (sbcl-package->cl-source-package sbcl-osicat))
10520
10521 (define-public ecl-osicat
10522 (sbcl-package->ecl-package sbcl-osicat))
10523
10524 (define-public sbcl-clx-xembed
10525 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10526 (revision "1"))
10527 (package
10528 (name "sbcl-clx-xembed")
10529 (version (git-version "0.1" revision commit))
10530 (home-page "https://github.com/laynor/clx-xembed")
10531 (source
10532 (origin
10533 (method git-fetch)
10534 (uri (git-reference
10535 (url "https://github.com/laynor/clx-xembed")
10536 (commit commit)))
10537 (file-name (git-file-name name version))
10538 (sha256
10539 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10540 (build-system asdf-build-system/sbcl)
10541 (arguments
10542 `(#:asd-systems '("xembed")))
10543 (inputs
10544 `(("sbcl-clx" ,sbcl-clx)))
10545 (synopsis "CL(x) xembed protocol implementation ")
10546 (description "CL(x) xembed protocol implementation")
10547 ;; MIT License
10548 (license license:expat))))
10549
10550 (define-public cl-clx-xembed
10551 (sbcl-package->cl-source-package sbcl-clx-xembed))
10552
10553 (define-public ecl-clx-xembed
10554 (sbcl-package->ecl-package sbcl-clx-xembed))
10555
10556 (define-public sbcl-quantile-estimator
10557 (package
10558 (name "sbcl-quantile-estimator")
10559 (version "0.0.1")
10560 (source
10561 (origin
10562 (method git-fetch)
10563 (uri (git-reference
10564 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10565 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10566 (file-name (git-file-name name version))
10567 (sha256
10568 (base32
10569 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10570 (build-system asdf-build-system/sbcl)
10571 (arguments
10572 '(#:asd-files '("quantile-estimator.asd")))
10573 (inputs
10574 `(("alexandria" ,sbcl-alexandria)))
10575 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10576 (synopsis
10577 "Effective computation of biased quantiles over data streams")
10578 (description
10579 "Common Lisp implementation of Graham Cormode and S.
10580 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10581 Streams in ICDE’05.")
10582 (license license:expat)))
10583
10584 (define-public cl-quantile-estimator
10585 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10586
10587 (define-public ecl-quantile-estimator
10588 (sbcl-package->ecl-package sbcl-quantile-estimator))
10589
10590 (define-public sbcl-prometheus
10591 (package
10592 (name "sbcl-prometheus")
10593 (version "0.4.1")
10594 (source
10595 (origin
10596 (method git-fetch)
10597 (uri (git-reference
10598 (url "https://github.com/deadtrickster/prometheus.cl")
10599 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10600 (file-name (git-file-name name version))
10601 (sha256
10602 (base32
10603 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10604 (build-system asdf-build-system/sbcl)
10605 (inputs
10606 `(("alexandria" ,sbcl-alexandria)
10607 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10608 ("cffi" ,sbcl-cffi)
10609 ("cl-fad" ,sbcl-cl-fad)
10610 ("cl-ppcre" ,sbcl-cl-ppcre)
10611 ("drakma" ,sbcl-drakma)
10612 ("hunchentoot" ,sbcl-hunchentoot)
10613 ("local-time" ,sbcl-local-time)
10614 ("quantile-estimator" ,sbcl-quantile-estimator)
10615 ("salza2" ,sbcl-salza2)
10616 ("split-sequence" ,sbcl-split-sequence)
10617 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10618 (arguments
10619 '(#:asd-files '("prometheus.asd"
10620 "prometheus.collectors.sbcl.asd"
10621 "prometheus.collectors.process.asd"
10622 "prometheus.formats.text.asd"
10623 "prometheus.exposers.hunchentoot.asd"
10624 "prometheus.pushgateway.asd")
10625 #:asd-systems '("prometheus"
10626 "prometheus.collectors.sbcl"
10627 "prometheus.collectors.process"
10628 "prometheus.formats.text"
10629 "prometheus.exposers.hunchentoot"
10630 "prometheus.pushgateway")))
10631 (home-page "https://github.com/deadtrickster/prometheus.cl")
10632 (synopsis "Prometheus.io Common Lisp client")
10633 (description "Prometheus.io Common Lisp client.")
10634 (license license:expat)))
10635
10636 (define-public cl-prometheus
10637 (sbcl-package->cl-source-package sbcl-prometheus))
10638
10639 (define-public ecl-prometheus
10640 (sbcl-package->ecl-package sbcl-prometheus))
10641
10642 (define-public sbcl-uuid
10643 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10644 (package
10645 (name "sbcl-uuid")
10646 (version (git-version "2012.12.26" "1" commit))
10647 (source
10648 (origin
10649 (method git-fetch)
10650 (uri (git-reference
10651 (url "https://github.com/dardoria/uuid")
10652 (commit commit)))
10653 (file-name (git-file-name name version))
10654 (sha256
10655 (base32
10656 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10657 (build-system asdf-build-system/sbcl)
10658 (inputs
10659 `(("ironclad" ,sbcl-ironclad)
10660 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10661 (home-page "https://github.com/dardoria/uuid")
10662 (synopsis
10663 "Common Lisp implementation of UUIDs according to RFC4122")
10664 (description
10665 "Common Lisp implementation of UUIDs according to RFC4122.")
10666 (license license:llgpl))))
10667
10668 (define-public cl-uuid
10669 (sbcl-package->cl-source-package sbcl-uuid))
10670
10671 (define-public ecl-uuid
10672 (sbcl-package->ecl-package sbcl-uuid))
10673
10674 (define-public sbcl-dissect
10675 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10676 (package
10677 (name "sbcl-dissect")
10678 (version (git-version "1.0.0" "1" commit))
10679 (source
10680 (origin
10681 (method git-fetch)
10682 (uri (git-reference
10683 (url "https://github.com/Shinmera/dissect")
10684 (commit commit)))
10685 (file-name (git-file-name name version))
10686 (sha256
10687 (base32
10688 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10689 (build-system asdf-build-system/sbcl)
10690 (inputs
10691 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10692 (home-page "https://shinmera.github.io/dissect/")
10693 (synopsis
10694 "Introspection library for the call stack and restarts")
10695 (description
10696 "Dissect is a small Common Lisp library for introspecting the call stack
10697 and active restarts.")
10698 (license license:zlib))))
10699
10700 (define-public cl-dissect
10701 (sbcl-package->cl-source-package sbcl-dissect))
10702
10703 (define-public ecl-dissect
10704 (sbcl-package->ecl-package sbcl-dissect))
10705
10706 (define-public sbcl-rove
10707 (package
10708 (name "sbcl-rove")
10709 (version "0.9.6")
10710 (source
10711 (origin
10712 (method git-fetch)
10713 (uri (git-reference
10714 (url "https://github.com/fukamachi/rove")
10715 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10716 (file-name (git-file-name name version))
10717 (sha256
10718 (base32
10719 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10720 (build-system asdf-build-system/sbcl)
10721 (inputs
10722 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10723 ("dissect" ,sbcl-dissect)
10724 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10725 (home-page "https://github.com/fukamachi/rove")
10726 (synopsis
10727 "Yet another common lisp testing library")
10728 (description
10729 "Rove is a unit testing framework for Common Lisp applications.
10730 This is intended to be a successor of Prove.")
10731 (license license:bsd-3)))
10732
10733 (define-public cl-rove
10734 (sbcl-package->cl-source-package sbcl-rove))
10735
10736 (define-public ecl-rove
10737 (sbcl-package->ecl-package sbcl-rove))
10738
10739 (define-public sbcl-exponential-backoff
10740 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10741 (package
10742 (name "sbcl-exponential-backoff")
10743 (version (git-version "0" "1" commit))
10744 (source
10745 (origin
10746 (method git-fetch)
10747 (uri (git-reference
10748 (url "https://github.com/death/exponential-backoff")
10749 (commit commit)))
10750 (file-name (git-file-name name version))
10751 (sha256
10752 (base32
10753 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10754 (build-system asdf-build-system/sbcl)
10755 (home-page "https://github.com/death/exponential-backoff")
10756 (synopsis "Exponential backoff algorithm in Common Lisp")
10757 (description
10758 "An implementation of the exponential backoff algorithm in Common Lisp.
10759 Inspired by the implementation found in Chromium. Read the header file to
10760 learn about each of the parameters.")
10761 (license license:expat))))
10762
10763 (define-public cl-exponential-backoff
10764 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10765
10766 (define-public ecl-exponential-backoff
10767 (sbcl-package->ecl-package sbcl-exponential-backoff))
10768
10769 (define-public sbcl-sxql
10770 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10771 (package
10772 (name "sbcl-sxql")
10773 (version (git-version "0.1.0" "1" commit))
10774 (source
10775 (origin
10776 (method git-fetch)
10777 (uri (git-reference
10778 (url "https://github.com/fukamachi/sxql")
10779 (commit commit)))
10780 (file-name (git-file-name name version))
10781 (sha256
10782 (base32
10783 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10784 (build-system asdf-build-system/sbcl)
10785 (arguments
10786 `(#:test-asd-file "sxql-test.asd"))
10787 (inputs
10788 `(("alexandria" ,sbcl-alexandria)
10789 ("cl-syntax" ,sbcl-cl-syntax)
10790 ("iterate" ,sbcl-iterate)
10791 ("optima" ,sbcl-optima)
10792 ("split-sequence" ,sbcl-split-sequence)
10793 ("trivial-types" ,sbcl-trivial-types)))
10794 (native-inputs
10795 `(("prove" ,sbcl-prove)))
10796 (home-page "https://github.com/fukamachi/sxql")
10797 (synopsis "SQL generator for Common Lisp")
10798 (description "SQL generator for Common Lisp.")
10799 (license license:bsd-3))))
10800
10801 (define-public cl-sxql
10802 (sbcl-package->cl-source-package sbcl-sxql))
10803
10804 (define-public ecl-sxql
10805 (sbcl-package->ecl-package sbcl-sxql))
10806
10807 (define-public sbcl-1am
10808 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10809 (package
10810 (name "sbcl-1am")
10811 (version (git-version "0.0" "1" commit))
10812 (source
10813 (origin
10814 (method git-fetch)
10815 (uri (git-reference
10816 (url "https://github.com/lmj/1am")
10817 (commit commit)))
10818 (file-name (git-file-name name version))
10819 (sha256
10820 (base32
10821 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10822 (build-system asdf-build-system/sbcl)
10823 (arguments
10824 `(#:asd-systems '("1am")))
10825 (home-page "https://github.com/lmj/1am")
10826 (synopsis "Minimal testing framework for Common Lisp")
10827 (description "A minimal testing framework for Common Lisp.")
10828 (license license:expat))))
10829
10830 (define-public cl-1am
10831 (sbcl-package->cl-source-package sbcl-1am))
10832
10833 (define-public ecl-1am
10834 (sbcl-package->ecl-package sbcl-1am))
10835
10836 (define-public sbcl-cl-ascii-table
10837 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10838 (revision "1"))
10839 (package
10840 (name "sbcl-cl-ascii-table")
10841 (version (git-version "0.0.0" revision commit))
10842 (source
10843 (origin
10844 (method git-fetch)
10845 (uri (git-reference
10846 (url "https://github.com/telephil/cl-ascii-table")
10847 (commit commit)))
10848 (file-name (git-file-name name version))
10849 (sha256
10850 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10851 (build-system asdf-build-system/sbcl)
10852 (synopsis "Library to make ascii-art tables")
10853 (description
10854 "This is a Common Lisp library to present tabular data in ascii-art
10855 tables.")
10856 (home-page "https://github.com/telephil/cl-ascii-table")
10857 (license license:expat))))
10858
10859 (define-public cl-ascii-table
10860 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10861
10862 (define-public ecl-cl-ascii-table
10863 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10864
10865 (define-public sbcl-cl-rdkafka
10866 (package
10867 (name "sbcl-cl-rdkafka")
10868 (version "1.1.0")
10869 (source
10870 (origin
10871 (method git-fetch)
10872 (uri (git-reference
10873 (url "https://github.com/SahilKang/cl-rdkafka")
10874 (commit (string-append "v" version))))
10875 (file-name (git-file-name name version))
10876 (sha256
10877 (base32
10878 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10879 (build-system asdf-build-system/sbcl)
10880 (arguments
10881 `(#:tests? #f ; Attempts to connect to locally running Kafka
10882 #:phases
10883 (modify-phases %standard-phases
10884 (add-after 'unpack 'fix-paths
10885 (lambda* (#:key inputs #:allow-other-keys)
10886 (substitute* "src/low-level/librdkafka-bindings.lisp"
10887 (("librdkafka" all)
10888 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10889 all))))))))
10890 (inputs
10891 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10892 ("cffi" ,sbcl-cffi)
10893 ("librdkafka" ,librdkafka)
10894 ("lparallel" ,sbcl-lparallel)
10895 ("trivial-garbage" ,sbcl-trivial-garbage)))
10896 (home-page "https://github.com/SahilKang/cl-rdkafka")
10897 (synopsis "Common Lisp client library for Apache Kafka")
10898 (description "A Common Lisp client library for Apache Kafka.")
10899 (license license:gpl3)))
10900
10901 (define-public cl-rdkafka
10902 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10903
10904 (define-public ecl-cl-rdkafka
10905 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10906
10907 (define-public sbcl-acclimation
10908 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10909 (package
10910 (name "sbcl-acclimation")
10911 (version (git-version "0.0.0" "1" commit))
10912 (source
10913 (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url "https://github.com/robert-strandh/Acclimation")
10917 (commit commit)))
10918 (file-name (git-file-name name version))
10919 (sha256
10920 (base32
10921 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10922 (build-system asdf-build-system/sbcl)
10923 (home-page "https://github.com/robert-strandh/Acclimation")
10924 (synopsis "Internationalization library for Common Lisp")
10925 (description "This project is meant to provide tools for
10926 internationalizing Common Lisp programs.
10927
10928 One important aspect of internationalization is of course the language used in
10929 error messages, documentation strings, etc. But with this project we provide
10930 tools for all other aspects of internationalization as well, including dates,
10931 weight, temperature, names of physical quantitites, etc.")
10932 (license license:bsd-2))))
10933
10934 (define-public cl-acclimation
10935 (sbcl-package->cl-source-package sbcl-acclimation))
10936
10937 (define-public ecl-acclimation
10938 (sbcl-package->ecl-package sbcl-acclimation))
10939
10940 (define-public sbcl-clump
10941 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10942 (package
10943 (name "sbcl-clump")
10944 (version (git-version "0.0.0" "1" commit))
10945 (source
10946 (origin
10947 (method git-fetch)
10948 (uri (git-reference
10949 (url "https://github.com/robert-strandh/Clump")
10950 (commit commit)))
10951 (file-name (git-file-name name version))
10952 (sha256
10953 (base32
10954 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10955 (inputs
10956 `(("acclimation" ,sbcl-acclimation)))
10957 (build-system asdf-build-system/sbcl)
10958 (home-page "https://github.com/robert-strandh/Clump")
10959 (synopsis "Collection of tree implementations for Common Lisp")
10960 (description "The purpose of this library is to provide a collection of
10961 implementations of trees.
10962
10963 In contrast to existing libraries such as cl-containers, it does not impose a
10964 particular use for the trees. Instead, it aims for a stratified design,
10965 allowing client code to choose between different levels of abstraction.
10966
10967 As a consequence of this policy, low-level interfaces are provided where
10968 the concrete representation is exposed, but also high level interfaces
10969 where the trees can be used as search trees or as trees that represent
10970 sequences of objects.")
10971 (license license:bsd-2))))
10972
10973 (define-public cl-clump
10974 (sbcl-package->cl-source-package sbcl-clump))
10975
10976 (define-public ecl-clump
10977 (sbcl-package->ecl-package sbcl-clump))
10978
10979 (define-public sbcl-cluffer
10980 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10981 (package
10982 (name "sbcl-cluffer")
10983 (version (git-version "0.0.0" "1" commit))
10984 (source
10985 (origin
10986 (method git-fetch)
10987 (uri (git-reference
10988 (url "https://github.com/robert-strandh/cluffer")
10989 (commit commit)))
10990 (file-name (git-file-name name version))
10991 (sha256
10992 (base32
10993 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10994 (build-system asdf-build-system/sbcl)
10995 (inputs
10996 `(("acclimation" ,sbcl-acclimation)
10997 ("clump" ,sbcl-clump)))
10998 (home-page "https://github.com/robert-strandh/cluffer")
10999 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
11000 (description "Cluffer is a library for representing the buffer of a text
11001 editor. As such, it defines a set of CLOS protocols for client code to
11002 interact with the buffer contents in various ways, and it supplies different
11003 implementations of those protocols for different purposes.")
11004 (license license:bsd-2))))
11005
11006 (define-public cl-cluffer
11007 (sbcl-package->cl-source-package sbcl-cluffer))
11008
11009 (define-public ecl-cluffer
11010 (sbcl-package->ecl-package sbcl-cluffer))
11011
11012 (define-public sbcl-cl-libsvm-format
11013 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11014 (revision "0"))
11015 (package
11016 (name "sbcl-cl-libsvm-format")
11017 (version (git-version "0.1.0" revision commit))
11018 (source
11019 (origin
11020 (method git-fetch)
11021 (uri (git-reference
11022 (url "https://github.com/masatoi/cl-libsvm-format")
11023 (commit commit)))
11024 (file-name (git-file-name name version))
11025 (sha256
11026 (base32
11027 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11028 (build-system asdf-build-system/sbcl)
11029 (native-inputs
11030 `(("prove" ,sbcl-prove)))
11031 (inputs
11032 `(("alexandria" ,sbcl-alexandria)))
11033 (synopsis "LibSVM data format reader for Common Lisp")
11034 (description
11035 "This Common Lisp library provides a fast reader for data in LibSVM
11036 format.")
11037 (home-page "https://github.com/masatoi/cl-libsvm-format")
11038 (license license:expat))))
11039
11040 (define-public cl-libsvm-format
11041 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11042
11043 (define-public ecl-cl-libsvm-format
11044 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11045
11046 (define-public sbcl-cl-online-learning
11047 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11048 (revision "1"))
11049 (package
11050 (name "sbcl-cl-online-learning")
11051 (version (git-version "0.5" revision commit))
11052 (source
11053 (origin
11054 (method git-fetch)
11055 (uri (git-reference
11056 (url "https://github.com/masatoi/cl-online-learning")
11057 (commit commit)))
11058 (file-name (git-file-name "cl-online-learning" version))
11059 (sha256
11060 (base32
11061 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11062 (build-system asdf-build-system/sbcl)
11063 (native-inputs
11064 `(("prove" ,sbcl-prove)))
11065 (inputs
11066 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11067 ("cl-store" ,sbcl-cl-store)))
11068 (arguments
11069 `(#:test-asd-file "cl-online-learning-test.asd"
11070 #:asd-systems '("cl-online-learning-test"
11071 "cl-online-learning")))
11072 (home-page "https://github.com/masatoi/cl-online-learning")
11073 (synopsis "Online Machine Learning for Common Lisp")
11074 (description
11075 "This library contains a collection of machine learning algorithms for
11076 online linear classification written in Common Lisp.")
11077 (license license:expat))))
11078
11079 (define-public cl-online-learning
11080 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11081
11082 (define-public ecl-cl-online-learning
11083 (sbcl-package->ecl-package sbcl-cl-online-learning))
11084
11085 (define-public sbcl-cl-mpg123
11086 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11087 (revision "1"))
11088 (package
11089 (name "sbcl-cl-mpg123")
11090 (version (git-version "1.0.0" revision commit))
11091 (source
11092 (origin
11093 (method git-fetch)
11094 (uri (git-reference
11095 (url "https://github.com/Shirakumo/cl-mpg123")
11096 (commit commit)))
11097 (file-name (git-file-name "cl-mpg123" version))
11098 (sha256
11099 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11100 (modules '((guix build utils)))
11101 (snippet
11102 '(begin
11103 ;; Remove bundled pre-compiled libraries.
11104 (delete-file-recursively "static")
11105 #t))))
11106 (build-system asdf-build-system/sbcl)
11107 (arguments
11108 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11109 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11110 #:phases
11111 (modify-phases %standard-phases
11112 (add-after 'unpack 'fix-paths
11113 (lambda* (#:key inputs #:allow-other-keys)
11114 (substitute* "low-level.lisp"
11115 (("libmpg123.so" all)
11116 (string-append (assoc-ref inputs "libmpg123")
11117 "/lib/" all))))))))
11118 (inputs
11119 `(("cffi" ,sbcl-cffi)
11120 ("cl-out123" ,sbcl-cl-out123)
11121 ("documentation-utils" ,sbcl-documentation-utils)
11122 ("libmpg123" ,mpg123)
11123 ("trivial-features" ,sbcl-trivial-features)
11124 ("trivial-garbage" ,sbcl-trivial-garbage)
11125 ("verbose" ,sbcl-verbose)))
11126 (home-page "https://shirakumo.github.io/cl-mpg123/")
11127 (synopsis "Common Lisp bindings to libmpg123")
11128 (description
11129 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11130 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11131 files.")
11132 (license license:zlib))))
11133
11134 (define-public ecl-cl-mpg123
11135 (sbcl-package->ecl-package sbcl-cl-mpg123))
11136
11137 (define-public cl-mpg123
11138 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11139
11140 (define-public sbcl-cl-out123
11141 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11142 (revision "1"))
11143 (package
11144 (name "sbcl-cl-out123")
11145 (version (git-version "1.0.0" revision commit))
11146 (source
11147 (origin
11148 (method git-fetch)
11149 (uri (git-reference
11150 (url "https://github.com/Shirakumo/cl-out123")
11151 (commit commit)))
11152 (file-name (git-file-name "cl-out123" version))
11153 (sha256
11154 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11155 (modules '((guix build utils)))
11156 (snippet
11157 '(begin
11158 ;; Remove bundled pre-compiled libraries.
11159 (delete-file-recursively "static")
11160 #t))))
11161 (build-system asdf-build-system/sbcl)
11162 (arguments
11163 `(#:phases
11164 (modify-phases %standard-phases
11165 (add-after 'unpack 'fix-paths
11166 (lambda* (#:key inputs #:allow-other-keys)
11167 (substitute* "low-level.lisp"
11168 (("libout123.so" all)
11169 (string-append (assoc-ref inputs "libout123")
11170 "/lib/" all)))))
11171 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11172 ;; exported macro `without-interrupts' it's moved to `mp' package
11173 ;; https://github.com/Shirakumo/cl-out123/issues/2
11174 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11175 (add-after 'unpack 'fix-ecl-package-name
11176 (lambda _
11177 (substitute* "wrapper.lisp"
11178 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11179 #t)))))
11180 (inputs
11181 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11182 ("cffi" ,sbcl-cffi)
11183 ("documentation-utils" ,sbcl-documentation-utils)
11184 ("libout123" ,mpg123)
11185 ("trivial-features" ,sbcl-trivial-features)
11186 ("trivial-garbage" ,sbcl-trivial-garbage)))
11187 (home-page "https://shirakumo.github.io/cl-out123/")
11188 (synopsis "Common Lisp bindings to libout123")
11189 (description
11190 "This is a bindings library to @code{libout123} which allows easy
11191 cross-platform audio playback.")
11192 (license license:zlib))))
11193
11194 (define-public ecl-cl-out123
11195 (sbcl-package->ecl-package sbcl-cl-out123))
11196
11197 (define-public cl-out123
11198 (sbcl-package->cl-source-package sbcl-cl-out123))
11199
11200 (define-public sbcl-cl-random-forest
11201 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11202 (revision "1"))
11203 (package
11204 (name "sbcl-cl-random-forest")
11205 (version (git-version "0.1" revision commit))
11206 (source
11207 (origin
11208 (method git-fetch)
11209 (uri (git-reference
11210 (url "https://github.com/masatoi/cl-random-forest")
11211 (commit commit)))
11212 (file-name (git-file-name name version))
11213 (sha256
11214 (base32
11215 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11216 (build-system asdf-build-system/sbcl)
11217 (native-inputs
11218 `(("prove" ,sbcl-prove)
11219 ("trivial-garbage" ,sbcl-trivial-garbage)))
11220 (inputs
11221 `(("alexandria" ,sbcl-alexandria)
11222 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11223 ("cl-online-learning" ,sbcl-cl-online-learning)
11224 ("lparallel" ,sbcl-lparallel)))
11225 (arguments
11226 `(#:tests? #f)) ; The tests download data from the Internet
11227 (synopsis "Random Forest and Global Refinement for Common Lisp")
11228 (description
11229 "CL-random-forest is an implementation of Random Forest for multiclass
11230 classification and univariate regression written in Common Lisp. It also
11231 includes an implementation of Global Refinement of Random Forest.")
11232 (home-page "https://github.com/masatoi/cl-random-forest")
11233 (license license:expat))))
11234
11235 (define-public cl-random-forest
11236 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11237
11238 (define-public ecl-cl-random-forest
11239 (sbcl-package->ecl-package sbcl-cl-random-forest))
11240
11241 (define-public sbcl-bordeaux-fft
11242 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11243 (revision "0"))
11244 (package
11245 (name "sbcl-bordeaux-fft")
11246 (version (git-version "1.0.1" revision commit))
11247 (source
11248 (origin
11249 (method git-fetch)
11250 (uri (git-reference
11251 (url "https://github.com/ahefner/bordeaux-fft")
11252 (commit commit)))
11253 (file-name (git-file-name name version))
11254 (sha256
11255 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11256 (build-system asdf-build-system/sbcl)
11257 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11258 (synopsis "Fast Fourier Transform for Common Lisp")
11259 (description
11260 "The Bordeaux-FFT library provides a reasonably efficient implementation
11261 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11262 portable Common Lisp.")
11263 (license license:gpl2+))))
11264
11265 (define-public cl-bordeaux-fft
11266 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11267
11268 (define-public ecl-bordeaux-fft
11269 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11270
11271 (define-public sbcl-napa-fft3
11272 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11273 (revision "0"))
11274 (package
11275 (name "sbcl-napa-fft3")
11276 (version (git-version "0.0.1" revision commit))
11277 (source
11278 (origin
11279 (method git-fetch)
11280 (uri (git-reference
11281 (url "https://github.com/pkhuong/Napa-FFT3")
11282 (commit commit)))
11283 (file-name (git-file-name name version))
11284 (sha256
11285 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11286 (build-system asdf-build-system/sbcl)
11287 (home-page "https://github.com/pkhuong/Napa-FFT3")
11288 (synopsis "Fast Fourier Transform routines in Common Lisp")
11289 (description
11290 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11291 buildings blocks to express common operations that involve DFTs: filtering,
11292 convolutions, etc.")
11293 (license license:bsd-3))))
11294
11295 (define-public cl-napa-fft3
11296 (sbcl-package->cl-source-package sbcl-napa-fft3))
11297
11298 (define-public sbcl-cl-tga
11299 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11300 (revision "0"))
11301 (package
11302 (name "sbcl-cl-tga")
11303 (version (git-version "0.0.0" revision commit))
11304 (source
11305 (origin
11306 (method git-fetch)
11307 (uri (git-reference
11308 (url "https://github.com/fisxoj/cl-tga")
11309 (commit commit)))
11310 (file-name (git-file-name name version))
11311 (sha256
11312 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11313 (build-system asdf-build-system/sbcl)
11314 (home-page "https://github.com/fisxoj/cl-tga")
11315 (synopsis "TGA file loader for Common Lisp")
11316 (description
11317 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11318 programs. It's a very simple library, and, at the moment, only supports
11319 non-RLE encoded forms of the files.")
11320 (license license:expat))))
11321
11322 (define-public cl-tga
11323 (sbcl-package->cl-source-package sbcl-cl-tga))
11324
11325 (define-public ecl-cl-tga
11326 (sbcl-package->ecl-package sbcl-cl-tga))
11327
11328 (define-public sbcl-com.gigamonkeys.binary-data
11329 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11330 (revision "0"))
11331 (package
11332 (name "sbcl-com.gigamonkeys.binary-data")
11333 (version (git-version "0.0.0" revision commit))
11334 (source
11335 (origin
11336 (method git-fetch)
11337 (uri (git-reference
11338 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11339 (commit commit)))
11340 (file-name (git-file-name name version))
11341 (sha256
11342 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11343 (build-system asdf-build-system/sbcl)
11344 (inputs
11345 `(("alexandria" ,sbcl-alexandria)))
11346 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11347 (synopsis "Common Lisp library for reading and writing binary data")
11348 (description
11349 "This a Common Lisp library for reading and writing binary data. It is
11350 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11351 (license license:bsd-3))))
11352
11353 (define-public cl-com.gigamonkeys.binary-data
11354 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11355
11356 (define-public ecl-com.gigamonkeys.binary-data
11357 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11358
11359 (define-public sbcl-deflate
11360 (package
11361 (name "sbcl-deflate")
11362 (version "1.0.3")
11363 (source
11364 (origin
11365 (method git-fetch)
11366 (uri (git-reference
11367 (url "https://github.com/pmai/Deflate")
11368 (commit (string-append "release-" version))))
11369 (file-name (git-file-name name version))
11370 (sha256
11371 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11372 (build-system asdf-build-system/sbcl)
11373 (home-page "https://github.com/pmai/Deflate")
11374 (synopsis "Native deflate decompression for Common Lisp")
11375 (description
11376 "This library is an implementation of Deflate (RFC 1951) decompression,
11377 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11378 wrappers of deflate streams. It currently does not handle compression.")
11379 (license license:expat)))
11380
11381 (define-public cl-deflate
11382 (sbcl-package->cl-source-package sbcl-deflate))
11383
11384 (define-public ecl-deflate
11385 (sbcl-package->ecl-package sbcl-deflate))
11386
11387 (define-public sbcl-skippy
11388 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11389 (revision "0"))
11390 (package
11391 (name "sbcl-skippy")
11392 (version (git-version "1.3.12" revision commit))
11393 (source
11394 (origin
11395 (method git-fetch)
11396 (uri (git-reference
11397 (url "https://github.com/xach/skippy")
11398 (commit commit)))
11399 (file-name (git-file-name name version))
11400 (sha256
11401 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11402 (build-system asdf-build-system/sbcl)
11403 (home-page "https://xach.com/lisp/skippy/")
11404 (synopsis "Common Lisp library for GIF images")
11405 (description
11406 "Skippy is a Common Lisp library to read and write GIF image files.")
11407 (license license:bsd-2))))
11408
11409 (define-public cl-skippy
11410 (sbcl-package->cl-source-package sbcl-skippy))
11411
11412 (define-public ecl-skippy
11413 (sbcl-package->ecl-package sbcl-skippy))
11414
11415 (define-public sbcl-cl-freetype2
11416 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11417 (revision "0"))
11418 (package
11419 (name "sbcl-cl-freetype2")
11420 (version (git-version "1.1" revision commit))
11421 (source
11422 (origin
11423 (method git-fetch)
11424 (uri (git-reference
11425 (url "https://github.com/rpav/cl-freetype2")
11426 (commit commit)))
11427 (file-name (git-file-name name version))
11428 (sha256
11429 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11430 (build-system asdf-build-system/sbcl)
11431 (native-inputs
11432 `(("fiveam" ,sbcl-fiveam)))
11433 (inputs
11434 `(("alexandria" ,sbcl-alexandria)
11435 ("cffi" ,sbcl-cffi)
11436 ("freetype" ,freetype)
11437 ("trivial-garbage" ,sbcl-trivial-garbage)))
11438 (arguments
11439 `(#:phases
11440 (modify-phases %standard-phases
11441 (add-after 'unpack 'fix-paths
11442 (lambda* (#:key inputs #:allow-other-keys)
11443 (substitute* "src/ffi/ft2-lib.lisp"
11444 (("\"libfreetype\"")
11445 (string-append "\"" (assoc-ref inputs "freetype")
11446 "/lib/libfreetype\"")))
11447 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11448 (("-I/usr/include/freetype")
11449 (string-append "-I" (assoc-ref inputs "freetype")
11450 "/include/freetype")))
11451 #t)))))
11452 (home-page "https://github.com/rpav/cl-freetype2")
11453 (synopsis "Common Lisp bindings for Freetype 2")
11454 (description
11455 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11456 geared toward both using Freetype directly by providing a simplified API, as
11457 well as providing access to the underlying C structures and functions for use
11458 with other libraries which may also use Freetype.")
11459 (license license:bsd-3))))
11460
11461 (define-public cl-freetype2
11462 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11463
11464 (define-public ecl-cl-freetype2
11465 (sbcl-package->ecl-package sbcl-cl-freetype2))
11466
11467 (define-public sbcl-opticl-core
11468 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11469 (revision "0"))
11470 (package
11471 (name "sbcl-opticl-core")
11472 (version (git-version "0.0.0" revision commit))
11473 (source
11474 (origin
11475 (method git-fetch)
11476 (uri (git-reference
11477 (url "https://github.com/slyrus/opticl-core")
11478 (commit commit)))
11479 (file-name (git-file-name name version))
11480 (sha256
11481 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11482 (build-system asdf-build-system/sbcl)
11483 (inputs
11484 `(("alexandria" ,sbcl-alexandria)))
11485 (home-page "https://github.com/slyrus/opticl-core")
11486 (synopsis "Core classes and pixel access macros for Opticl")
11487 (description
11488 "This Common Lisp library contains the core classes and pixel access
11489 macros for the Opticl image processing library.")
11490 (license license:bsd-2))))
11491
11492 (define-public cl-opticl-core
11493 (sbcl-package->cl-source-package sbcl-opticl-core))
11494
11495 (define-public ecl-opticl-core
11496 (sbcl-package->ecl-package sbcl-opticl-core))
11497
11498 (define-public sbcl-retrospectiff
11499 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11500 (revision "0"))
11501 (package
11502 (name "sbcl-retrospectiff")
11503 (version (git-version "0.2" revision commit))
11504 (source
11505 (origin
11506 (method git-fetch)
11507 (uri (git-reference
11508 (url "https://github.com/slyrus/retrospectiff")
11509 (commit commit)))
11510 (file-name (git-file-name name version))
11511 (sha256
11512 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11513 (build-system asdf-build-system/sbcl)
11514 (native-inputs
11515 `(("fiveam" ,sbcl-fiveam)))
11516 (inputs
11517 `(("cl-jpeg" ,sbcl-cl-jpeg)
11518 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11519 ("deflate" ,sbcl-deflate)
11520 ("flexi-streams" ,sbcl-flexi-streams)
11521 ("ieee-floats" ,sbcl-ieee-floats)
11522 ("opticl-core" ,sbcl-opticl-core)))
11523 (home-page "https://github.com/slyrus/retrospectiff")
11524 (synopsis "Common Lisp library for TIFF images")
11525 (description
11526 "Retrospectiff is a common lisp library for reading and writing images
11527 in the TIFF (Tagged Image File Format) format.")
11528 (license license:bsd-2))))
11529
11530 (define-public cl-retrospectif
11531 (sbcl-package->cl-source-package sbcl-retrospectiff))
11532
11533 (define-public ecl-retrospectiff
11534 (sbcl-package->ecl-package sbcl-retrospectiff))
11535
11536 (define-public sbcl-mmap
11537 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11538 (revision "0"))
11539 (package
11540 (name "sbcl-mmap")
11541 (version (git-version "1.0.0" revision commit))
11542 (source
11543 (origin
11544 (method git-fetch)
11545 (uri (git-reference
11546 (url "https://github.com/Shinmera/mmap")
11547 (commit commit)))
11548 (file-name (git-file-name name version))
11549 (sha256
11550 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11551 (build-system asdf-build-system/sbcl)
11552 (native-inputs
11553 `(("alexandria" ,sbcl-alexandria)
11554 ("cffi" ,sbcl-cffi)
11555 ("parachute" ,sbcl-parachute)
11556 ("trivial-features" ,sbcl-trivial-features)))
11557 (inputs
11558 `(("cffi" ,sbcl-cffi)
11559 ("documentation-utils" ,sbcl-documentation-utils)))
11560 (home-page "https://shinmera.github.io/mmap/")
11561 (synopsis "File memory mapping for Common Lisp")
11562 (description
11563 "This is a utility library providing access to the @emph{mmap} family of
11564 functions in a portable way. It allows you to directly map a file into the
11565 address space of your process without having to manually read it into memory
11566 sequentially. Typically this is much more efficient for files that are larger
11567 than a few Kb.")
11568 (license license:zlib))))
11569
11570 (define-public cl-mmap
11571 (sbcl-package->cl-source-package sbcl-mmap))
11572
11573 (define-public ecl-mmap
11574 (sbcl-package->ecl-package sbcl-mmap))
11575
11576 (define-public sbcl-3bz
11577 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11578 (revision "1"))
11579 (package
11580 (name "sbcl-3bz")
11581 (version (git-version "0.0.0" revision commit))
11582 (source
11583 (origin
11584 (method git-fetch)
11585 (uri (git-reference
11586 (url "https://github.com/3b/3bz")
11587 (commit commit)))
11588 (file-name (git-file-name name version))
11589 (sha256
11590 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11591 (build-system asdf-build-system/sbcl)
11592 (inputs
11593 `(("alexandria" ,sbcl-alexandria)
11594 ("babel" ,sbcl-babel)
11595 ("cffi" ,sbcl-cffi)
11596 ("mmap" ,sbcl-mmap)
11597 ("nibbles" ,sbcl-nibbles)
11598 ("trivial-features" ,sbcl-trivial-features)))
11599 (arguments
11600 ;; FIXME: #41437 - Build fails when package name starts from a digit
11601 `(#:asd-systems '("3bz")))
11602 (home-page "https://github.com/3b/3bz")
11603 (synopsis "Deflate decompression for Common Lisp")
11604 (description
11605 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11606 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11607 foreign pointers (for use with mmap and similar, etc), and from CL octet
11608 vectors and streams.")
11609 (license license:expat))))
11610
11611 (define-public cl-3bz
11612 (sbcl-package->cl-source-package sbcl-3bz))
11613
11614 (define-public ecl-3bz
11615 (sbcl-package->ecl-package sbcl-3bz))
11616
11617 (define-public sbcl-zpb-exif
11618 (package
11619 (name "sbcl-zpb-exif")
11620 (version "1.2.4")
11621 (source
11622 (origin
11623 (method git-fetch)
11624 (uri (git-reference
11625 (url "https://github.com/xach/zpb-exif")
11626 (commit (string-append "release-" version))))
11627 (file-name (git-file-name name version))
11628 (sha256
11629 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11630 (build-system asdf-build-system/sbcl)
11631 (home-page "https://xach.com/lisp/zpb-exif/")
11632 (synopsis "EXIF information extractor for Common Lisp")
11633 (description
11634 "This is a Common Lisp library to extract EXIF information from image
11635 files.")
11636 (license license:bsd-2)))
11637
11638 (define-public cl-zpb-exif
11639 (sbcl-package->cl-source-package sbcl-zpb-exif))
11640
11641 (define-public ecl-zpb-exif
11642 (sbcl-package->ecl-package sbcl-zpb-exif))
11643
11644 (define-public sbcl-pngload
11645 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11646 (revision "2"))
11647 (package
11648 (name "sbcl-pngload")
11649 (version (git-version "2.0.0" revision commit))
11650 (source
11651 (origin
11652 (method git-fetch)
11653 (uri (git-reference
11654 (url "https://git.mfiano.net/mfiano/pngload.git")
11655 (commit commit)))
11656 (file-name (git-file-name "pngload" version))
11657 (sha256
11658 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11659 (build-system asdf-build-system/sbcl)
11660 (inputs
11661 `(("3bz" ,sbcl-3bz)
11662 ("alexandria" ,sbcl-alexandria)
11663 ("cffi" ,sbcl-cffi)
11664 ("mmap" ,sbcl-mmap)
11665 ("parse-float" ,sbcl-parse-float)
11666 ("static-vectors" ,sbcl-static-vectors)
11667 ("swap-bytes" ,sbcl-swap-bytes)
11668 ("zpb-exif" ,sbcl-zpb-exif)))
11669 (arguments
11670 ;; Test suite disabled because of a dependency cycle.
11671 ;; pngload tests depend on opticl which depends on pngload.
11672 '(#:tests? #f))
11673 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11674 (synopsis "PNG image decoder for Common Lisp")
11675 (description
11676 "This is a Common Lisp library to load images in the PNG image format,
11677 both from files on disk, or streams in memory.")
11678 (license license:expat))))
11679
11680 (define-public cl-pngload
11681 (sbcl-package->cl-source-package sbcl-pngload))
11682
11683 (define-public ecl-pngload
11684 (sbcl-package->ecl-package sbcl-pngload))
11685
11686 (define-public sbcl-opticl
11687 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11688 (revision "0"))
11689 (package
11690 (name "sbcl-opticl")
11691 (version (git-version "0.0.0" revision commit))
11692 (source
11693 (origin
11694 (method git-fetch)
11695 (uri (git-reference
11696 (url "https://github.com/slyrus/opticl")
11697 (commit commit)))
11698 (file-name (git-file-name name version))
11699 (sha256
11700 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11701 (build-system asdf-build-system/sbcl)
11702 (native-inputs
11703 `(("fiveam" ,sbcl-fiveam)))
11704 (inputs
11705 `(("alexandria" ,sbcl-alexandria)
11706 ("cl-jpeg" ,sbcl-cl-jpeg)
11707 ("cl-tga" ,sbcl-cl-tga)
11708 ("png-read" ,sbcl-png-read)
11709 ("pngload" ,sbcl-pngload)
11710 ("retrospectiff" ,sbcl-retrospectiff)
11711 ("skippy" ,sbcl-skippy)
11712 ("zpng" ,sbcl-zpng)))
11713 (arguments
11714 '(#:asd-files '("opticl.asd")))
11715 (home-page "https://github.com/slyrus/opticl")
11716 (synopsis "Image processing library for Common Lisp")
11717 (description
11718 "Opticl is a Common Lisp library for representing, processing, loading,
11719 and saving 2-dimensional pixel-based images.")
11720 (license license:bsd-2))))
11721
11722 (define-public cl-opticl
11723 (sbcl-package->cl-source-package sbcl-opticl))
11724
11725 (define-public ecl-opticl
11726 (sbcl-package->ecl-package sbcl-opticl))
11727
11728 (define-public sbcl-mcclim
11729 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11730 (revision "1"))
11731 (package
11732 (name "sbcl-mcclim")
11733 (version (git-version "0.9.7" revision commit))
11734 (source
11735 (origin
11736 (method git-fetch)
11737 (uri (git-reference
11738 (url "https://github.com/mcclim/mcclim")
11739 (commit commit)))
11740 (file-name (git-file-name name version))
11741 (sha256
11742 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11743 (build-system asdf-build-system/sbcl)
11744 (native-inputs
11745 `(("fiveam" ,sbcl-fiveam)
11746 ("pkg-config" ,pkg-config)))
11747 (inputs
11748 `(("alexandria" ,sbcl-alexandria)
11749 ("babel" ,sbcl-babel)
11750 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11751 ("cl-freetype2" ,sbcl-cl-freetype2)
11752 ("cl-pdf" ,sbcl-cl-pdf)
11753 ("cffi" ,sbcl-cffi)
11754 ("cl-unicode" ,sbcl-cl-unicode)
11755 ("cl-vectors" ,sbcl-cl-vectors)
11756 ("closer-mop" ,sbcl-closer-mop)
11757 ("clx" ,sbcl-clx)
11758 ("flexi-streams" ,sbcl-flexi-streams)
11759 ("flexichain" ,sbcl-flexichain)
11760 ("font-dejavu" ,font-dejavu)
11761 ("fontconfig" ,fontconfig)
11762 ("freetype" ,freetype)
11763 ("harfbuzz" ,harfbuzz)
11764 ("log4cl" ,sbcl-log4cl)
11765 ("opticl" ,sbcl-opticl)
11766 ("spatial-trees" ,sbcl-spatial-trees)
11767 ("swank" ,sbcl-slime-swank)
11768 ("trivial-features" ,sbcl-trivial-features)
11769 ("trivial-garbage" ,sbcl-trivial-garbage)
11770 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11771 ("zpb-ttf" ,sbcl-zpb-ttf)))
11772 (arguments
11773 '(#:asd-systems '("mcclim"
11774 "clim-examples")
11775 #:phases
11776 (modify-phases %standard-phases
11777 (add-after 'unpack 'fix-paths
11778 (lambda* (#:key inputs #:allow-other-keys)
11779 ;; mcclim-truetype uses DejaVu as default font and
11780 ;; sets the path at build time.
11781 (substitute* "Extensions/fonts/fontconfig.lisp"
11782 (("/usr/share/fonts/truetype/dejavu/")
11783 (string-append (assoc-ref inputs "font-dejavu")
11784 "/share/fonts/truetype/")))
11785 (substitute* "Extensions/fontconfig/src/functions.lisp"
11786 (("libfontconfig\\.so")
11787 (string-append (assoc-ref inputs "fontconfig")
11788 "/lib/libfontconfig.so")))
11789 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11790 (("libharfbuzz\\.so")
11791 (string-append (assoc-ref inputs "harfbuzz")
11792 "/lib/libharfbuzz.so")))
11793 #t))
11794 (add-after 'unpack 'fix-build
11795 (lambda _
11796 ;; The cffi-grovel system does not get loaded automatically,
11797 ;; so we load it explicitly.
11798 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11799 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11800 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11801 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11802 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11803 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11804 #t)))))
11805 (home-page "https://common-lisp.net/project/mcclim/")
11806 (synopsis "Common Lisp GUI toolkit")
11807 (description
11808 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11809 specification}, a toolkit for writing GUIs in Common Lisp.")
11810 (license license:lgpl2.1+))))
11811
11812 (define-public cl-mcclim
11813 (sbcl-package->cl-source-package sbcl-mcclim))
11814
11815 (define-public ecl-mcclim
11816 (sbcl-package->ecl-package sbcl-mcclim))
11817
11818 (define-public sbcl-cl-inflector
11819 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11820 (revision "1"))
11821 (package
11822 (name "sbcl-cl-inflector")
11823 (version (git-version "0.2" revision commit))
11824 (source
11825 (origin
11826 (method git-fetch)
11827 (uri (git-reference
11828 (url "https://github.com/AccelerationNet/cl-inflector")
11829 (commit commit)))
11830 (file-name (git-file-name name version))
11831 (sha256
11832 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11833 (build-system asdf-build-system/sbcl)
11834 (native-inputs
11835 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11836 (inputs
11837 `(("alexandria" ,sbcl-alexandria)
11838 ("cl-ppcre" ,sbcl-cl-ppcre)))
11839 (home-page "https://github.com/AccelerationNet/cl-inflector")
11840 (synopsis "Library to pluralize/singularize English and Portuguese words")
11841 (description
11842 "This is a common lisp library to easily pluralize and singularize
11843 English and Portuguese words. This is a port of the ruby ActiveSupport
11844 Inflector module.")
11845 (license license:expat))))
11846
11847 (define-public cl-inflector
11848 (sbcl-package->cl-source-package sbcl-cl-inflector))
11849
11850 (define-public ecl-cl-inflector
11851 (sbcl-package->ecl-package sbcl-cl-inflector))
11852
11853 (define-public sbcl-ixf
11854 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11855 (revision "1"))
11856 (package
11857 (name "sbcl-ixf")
11858 (version (git-version "0.1.0" revision commit))
11859 (source
11860 (origin
11861 (method git-fetch)
11862 (uri (git-reference
11863 (url "https://github.com/dimitri/cl-ixf")
11864 (commit commit)))
11865 (file-name (git-file-name "cl-ixf" version))
11866 (sha256
11867 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11868 (build-system asdf-build-system/sbcl)
11869 (inputs
11870 `(("alexandria" ,sbcl-alexandria)
11871 ("babel" ,sbcl-babel)
11872 ("cl-ppcre" ,sbcl-cl-ppcre)
11873 ("ieee-floats" ,sbcl-ieee-floats)
11874 ("local-time" ,sbcl-local-time)
11875 ("md5" ,sbcl-md5)
11876 ("split-sequence" ,sbcl-split-sequence)))
11877 (home-page "https://github.com/dimitri/cl-ixf")
11878 (synopsis "Parse IBM IXF file format")
11879 (description
11880 "This is a Common Lisp library to handle the IBM PC version of the IXF
11881 (Integration Exchange Format) file format.")
11882 (license license:public-domain))))
11883
11884 (define-public ecl-ixf
11885 (sbcl-package->ecl-package sbcl-ixf))
11886
11887 (define-public cl-ixf
11888 (sbcl-package->cl-source-package sbcl-ixf))
11889
11890 (define-public sbcl-qbase64
11891 (package
11892 (name "sbcl-qbase64")
11893 (version "0.3.0")
11894 (source
11895 (origin
11896 (method git-fetch)
11897 (uri (git-reference
11898 (url "https://github.com/chaitanyagupta/qbase64")
11899 (commit version)))
11900 (file-name (git-file-name name version))
11901 (sha256
11902 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11903 (build-system asdf-build-system/sbcl)
11904 (inputs
11905 `(("metabang-bind" ,sbcl-metabang-bind)
11906 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11907 (native-inputs
11908 `(("fiveam" ,sbcl-fiveam)))
11909 (home-page "https://github.com/chaitanyagupta/qbase64")
11910 (synopsis "Base64 encoder and decoder for Common Lisp")
11911 (description "@code{qbase64} provides a fast and flexible base64 encoder
11912 and decoder for Common Lisp.")
11913 (license license:bsd-3)))
11914
11915 (define-public cl-qbase64
11916 (sbcl-package->cl-source-package sbcl-qbase64))
11917
11918 (define-public ecl-qbase64
11919 (sbcl-package->ecl-package sbcl-qbase64))
11920
11921 (define-public sbcl-lw-compat
11922 ;; No release since 2013.
11923 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11924 (package
11925 (name "sbcl-lw-compat")
11926 (version (git-version "1.0.0" "1" commit))
11927 (source
11928 (origin
11929 (method git-fetch)
11930 (uri (git-reference
11931 (url "https://github.com/pcostanza/lw-compat/")
11932 (commit commit)))
11933 (file-name (git-file-name name version))
11934 (sha256
11935 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11936 (build-system asdf-build-system/sbcl)
11937 (home-page "https://github.com/pcostanza/lw-compat/")
11938 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11939 (description "This package contains a few utility functions from the
11940 LispWorks library that are used in software such as ContextL.")
11941 (license license:expat))))
11942
11943 (define-public cl-lw-compat
11944 (sbcl-package->cl-source-package sbcl-lw-compat))
11945
11946 (define-public ecl-lw-compat
11947 (sbcl-package->ecl-package sbcl-lw-compat))
11948
11949 (define-public sbcl-contextl
11950 ;; No release since 2013.
11951 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11952 (package
11953 (name "sbcl-contextl")
11954 (version (git-version "1.0.0" "1" commit))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/pcostanza/contextl/")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11964 (build-system asdf-build-system/sbcl)
11965 (inputs
11966 `(("closer-mop" ,sbcl-closer-mop)
11967 ("lw-compat" ,sbcl-lw-compat)))
11968 (home-page "https://github.com/pcostanza/contextl")
11969 (synopsis "Context-oriented programming for Common Lisp")
11970 (description "ContextL is a CLOS extension for Context-Oriented
11971 Programming (COP).
11972
11973 Find overview of ContextL's features in an overview paper:
11974 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11975 overview article about COP which also contains some ContextL examples:
11976 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11977 (license license:expat))))
11978
11979 (define-public cl-contextl
11980 (sbcl-package->cl-source-package sbcl-contextl))
11981
11982 (define-public ecl-contextl
11983 (sbcl-package->ecl-package sbcl-contextl))
11984
11985 (define-public sbcl-hu.dwim.common-lisp
11986 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
11987 (package
11988 (name "sbcl-hu.dwim.common-lisp")
11989 (version "2021-01-27")
11990 (source
11991 (origin
11992 (method git-fetch)
11993 (uri (git-reference
11994 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
11995 (commit commit)))
11996 (file-name (git-file-name name version))
11997 (sha256
11998 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
11999 (build-system asdf-build-system/sbcl)
12000 (native-inputs
12001 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12002 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12003 (synopsis "Redefine some standard Common Lisp names")
12004 (description "This library is a redefinition of the standard Common Lisp
12005 package that includes a number of renames and shadows. ")
12006 (license license:public-domain))))
12007
12008 (define-public cl-hu.dwim.common-lisp
12009 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12010
12011 (define-public ecl-hu.dwim.common-lisp
12012 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12013
12014 (define-public sbcl-hu.dwim.common
12015 (package
12016 (name "sbcl-hu.dwim.common")
12017 (version "2015-07-09")
12018 (source
12019 (origin
12020 (method url-fetch)
12021 (uri (string-append
12022 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12023 version "/hu.dwim.common-"
12024 (string-replace-substring version "-" "")
12025 "-darcs.tgz"))
12026 (sha256
12027 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12028 (build-system asdf-build-system/sbcl)
12029 (native-inputs
12030 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12031 (inputs
12032 `(("alexandria" ,sbcl-alexandria)
12033 ("anaphora" ,sbcl-anaphora)
12034 ("closer-mop" ,sbcl-closer-mop)
12035 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12036 ("iterate" ,sbcl-iterate)
12037 ("metabang-bind" ,sbcl-metabang-bind)))
12038 (home-page "http://dwim.hu/")
12039 (synopsis "Common Lisp library shared by other hu.dwim systems")
12040 (description "This package contains a support library for other
12041 hu.dwim systems.")
12042 (license license:public-domain)))
12043
12044 (define-public cl-hu.dwim.common
12045 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12046
12047 (define-public ecl-hu.dwim.common
12048 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12049
12050 (define-public sbcl-hu.dwim.defclass-star
12051 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
12052 (package
12053 (name "sbcl-hu.dwim.defclass-star")
12054 ;; We used to set version from the date when it was a darcs repo, so we
12055 ;; keep the year so that package gets updated on previous installs.
12056 (version (git-version "2021" "1" commit))
12057 (source
12058 (origin
12059 (method git-fetch)
12060 (uri (git-reference
12061 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12062 (commit commit)))
12063 (file-name (git-file-name name version))
12064 (sha256
12065 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
12066 (build-system asdf-build-system/sbcl)
12067 (native-inputs
12068 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12069 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12070 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12071 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12072 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12073 (arguments
12074 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12075 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12076 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12077 #:tests? #f))
12078 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12079 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12080 (description "@code{defclass-star} provides defclass* and defcondition* to
12081 simplify class and condition declarations. Features include:
12082
12083 @itemize
12084 @item Automatically export all or select slots at compile time.
12085 @item Define the @code{:initarg} and @code{:accessor} automatically.
12086 @item Specify a name transformer for both the @code{:initarg} and
12087 @code{:accessor}, etc.
12088 @item Specify the @code{:initform} as second slot value.
12089 @end itemize
12090
12091 See
12092 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12093 for an example.")
12094 (license license:public-domain))))
12095
12096 (define-public cl-hu.dwim.defclass-star
12097 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12098
12099 (define-public ecl-hu.dwim.defclass-star
12100 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12101
12102 (define-public sbcl-livesupport
12103 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12104 (revision "1"))
12105 (package
12106 (name "sbcl-livesupport")
12107 (version (git-version "0.0.0" revision commit))
12108 (source
12109 (origin
12110 (method git-fetch)
12111 (uri (git-reference
12112 (url "https://github.com/cbaggers/livesupport")
12113 (commit commit)))
12114 (file-name (git-file-name name version))
12115 (sha256
12116 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12117 (build-system asdf-build-system/sbcl)
12118 (home-page "https://github.com/cbaggers/livesupport")
12119 (synopsis "Some helpers that make livecoding a little easier")
12120 (description "This package provides a macro commonly used in livecoding to
12121 enable continuing when errors are raised. Simply wrap around a chunk of code
12122 and it provides a restart called @code{continue} which ignores the error and
12123 carrys on from the end of the body.")
12124 (license license:bsd-2))))
12125
12126 (define-public cl-livesupport
12127 (sbcl-package->cl-source-package sbcl-livesupport))
12128
12129 (define-public ecl-livesupport
12130 (sbcl-package->ecl-package sbcl-livesupport))
12131
12132 (define-public sbcl-envy
12133 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12134 (revision "1"))
12135 (package
12136 (name "sbcl-envy")
12137 (version (git-version "0.1" revision commit))
12138 (home-page "https://github.com/fukamachi/envy")
12139 (source
12140 (origin
12141 (method git-fetch)
12142 (uri (git-reference
12143 (url home-page)
12144 (commit commit)))
12145 (file-name (git-file-name name version))
12146 (sha256
12147 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12148 (build-system asdf-build-system/sbcl)
12149 ;; (native-inputs ; Only for tests.
12150 ;; `(("prove" ,sbcl-prove)
12151 ;; ("osicat" ,sbcl-osicat)))
12152 (arguments
12153 '(#:phases
12154 (modify-phases %standard-phases
12155 (add-after 'unpack 'fix-tests
12156 (lambda _
12157 (substitute* "envy-test.asd"
12158 (("cl-test-more") "prove"))
12159 #t)))
12160 ;; Tests fail with
12161 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12162 ;; like xsubseq. Why?
12163 #:tests? #f))
12164 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12165 (description "Envy is a configuration manager for various applications.
12166 Envy uses an environment variable to determine a configuration to use. This
12167 can separate configuration system from an implementation.")
12168 (license license:bsd-2))))
12169
12170 (define-public cl-envy
12171 (sbcl-package->cl-source-package sbcl-envy))
12172
12173 (define-public ecl-envy
12174 (sbcl-package->ecl-package sbcl-envy))
12175
12176 (define-public sbcl-mito
12177 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12178 (revision "1"))
12179 (package
12180 (name "sbcl-mito")
12181 (version (git-version "0.1" revision commit))
12182 (home-page "https://github.com/fukamachi/mito")
12183 (source
12184 (origin
12185 (method git-fetch)
12186 (uri (git-reference
12187 (url home-page)
12188 (commit commit)))
12189 (file-name (git-file-name name version))
12190 (sha256
12191 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12192 (build-system asdf-build-system/sbcl)
12193 (native-inputs
12194 `(("prove" ,sbcl-prove)))
12195 (inputs
12196 `(("alexandria" ,sbcl-alexandria)
12197 ("cl-ppcre" ,sbcl-cl-ppcre)
12198 ("cl-reexport" ,sbcl-cl-reexport)
12199 ("closer-mop" ,sbcl-closer-mop)
12200 ("dbi" ,sbcl-dbi)
12201 ("dissect" ,sbcl-dissect)
12202 ("esrap" ,sbcl-esrap)
12203 ("local-time" ,sbcl-local-time)
12204 ("optima" ,sbcl-optima)
12205 ("sxql" ,sbcl-sxql)
12206 ("uuid" ,sbcl-uuid)))
12207 (arguments
12208 '(#:phases
12209 (modify-phases %standard-phases
12210 (add-after 'unpack 'remove-non-functional-tests
12211 (lambda _
12212 (substitute* "mito-test.asd"
12213 (("\\(:test-file \"db/mysql\"\\)") "")
12214 (("\\(:test-file \"db/postgres\"\\)") "")
12215 (("\\(:test-file \"dao\"\\)") "")
12216 ;; TODO: migration/sqlite3 should work, re-enable once
12217 ;; upstream has fixed it:
12218 ;; https://github.com/fukamachi/mito/issues/70
12219 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12220 (("\\(:test-file \"migration/mysql\"\\)") "")
12221 (("\\(:test-file \"migration/postgres\"\\)") "")
12222 (("\\(:test-file \"postgres-types\"\\)") "")
12223 (("\\(:test-file \"mixin\"\\)") ""))
12224 #t)))
12225 ;; TODO: While all enabled tests pass, the phase fails with:
12226 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12227 #:tests? #f))
12228 (synopsis "ORM for Common Lisp with migrations and relationships support")
12229 (description "Mito is yet another object relational mapper, and it aims
12230 to be a successor of Integral.
12231
12232 @itemize
12233 @item Support MySQL, PostgreSQL and SQLite3.
12234 @item Add id (serial/uuid primary key), created_at and updated_at by default
12235 like Ruby's ActiveRecord.
12236 @item Migrations.
12237 @item Database schema versioning.
12238 @end itemize\n")
12239 (license license:llgpl))))
12240
12241 (define-public cl-mito
12242 (sbcl-package->cl-source-package sbcl-mito))
12243
12244 (define-public ecl-mito
12245 (sbcl-package->ecl-package sbcl-mito))
12246
12247 (define-public sbcl-kebab
12248 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12249 (revision "1"))
12250 (package
12251 (name "sbcl-kebab")
12252 (version (git-version "0.1" revision commit))
12253 (home-page "https://github.com/pocket7878/kebab")
12254 (source
12255 (origin
12256 (method git-fetch)
12257 (uri (git-reference
12258 (url home-page)
12259 (commit commit)))
12260 (file-name (git-file-name name version))
12261 (sha256
12262 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12263 (build-system asdf-build-system/sbcl)
12264 (inputs
12265 `(("cl-ppcre" ,sbcl-cl-ppcre)
12266 ("alexandria" ,sbcl-alexandria)
12267 ("cl-interpol" ,sbcl-cl-interpol)
12268 ("split-sequence" ,sbcl-split-sequence)))
12269 (native-inputs
12270 `(("prove" ,sbcl-prove)))
12271 (arguments
12272 ;; Tests passes but the phase fails with
12273 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12274 `(#:tests? #f))
12275 (synopsis "Common Lisp case converter")
12276 (description "This Common Lisp library converts strings, symbols and
12277 keywords between any of the following typographical cases: PascalCase,
12278 camelCase, snake_case, kebab-case (lisp-case).")
12279 (license license:llgpl))))
12280
12281 (define-public cl-kebab
12282 (sbcl-package->cl-source-package sbcl-kebab))
12283
12284 (define-public ecl-kebab
12285 (sbcl-package->ecl-package sbcl-kebab))
12286
12287 (define-public sbcl-datafly
12288 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12289 (revision "1"))
12290 (package
12291 (name "sbcl-datafly")
12292 (version (git-version "0.1" revision commit))
12293 (home-page "https://github.com/fukamachi/datafly")
12294 (source
12295 (origin
12296 (method git-fetch)
12297 (uri (git-reference
12298 (url home-page)
12299 (commit commit)))
12300 (file-name (git-file-name name version))
12301 (sha256
12302 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12303 (build-system asdf-build-system/sbcl)
12304 (inputs
12305 `(("alexandria" ,sbcl-alexandria)
12306 ("iterate" ,sbcl-iterate)
12307 ("optima" ,sbcl-optima)
12308 ("trivial-types" ,sbcl-trivial-types)
12309 ("closer-mop" ,sbcl-closer-mop)
12310 ("cl-syntax" ,sbcl-cl-syntax)
12311 ("sxql" ,sbcl-sxql)
12312 ("dbi" ,sbcl-dbi)
12313 ("babel" ,sbcl-babel)
12314 ("local-time" ,sbcl-local-time)
12315 ("function-cache" ,sbcl-function-cache)
12316 ("jonathan" ,sbcl-jonathan)
12317 ("kebab" ,sbcl-kebab)
12318 ("log4cl" ,sbcl-log4cl)))
12319 (native-inputs
12320 `(("prove" ,sbcl-prove)))
12321 (arguments
12322 ;; TODO: Tests fail with
12323 ;; While evaluating the form starting at line 22, column 0
12324 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12325 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12326 ;; {10009F8083}>:
12327 ;; Error when binding parameter 1 to value NIL.
12328 ;; Code RANGE: column index out of range.
12329 `(#:tests? #f))
12330 (synopsis "Lightweight database library for Common Lisp")
12331 (description "Datafly is a lightweight database library for Common Lisp.")
12332 (license license:bsd-3))))
12333
12334 (define-public cl-datafly
12335 (sbcl-package->cl-source-package sbcl-datafly))
12336
12337 (define-public ecl-datafly
12338 (sbcl-package->ecl-package sbcl-datafly))
12339
12340 (define-public sbcl-do-urlencode
12341 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12342 (revision "1"))
12343 (package
12344 (name "sbcl-do-urlencode")
12345 (version (git-version "0.0.0" revision commit))
12346 (home-page "https://github.com/drdo/do-urlencode")
12347 (source
12348 (origin
12349 (method git-fetch)
12350 (uri (git-reference
12351 (url home-page)
12352 (commit commit)))
12353 (file-name (git-file-name name version))
12354 (sha256
12355 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12356 (build-system asdf-build-system/sbcl)
12357 (inputs
12358 `(("alexandria" ,sbcl-alexandria)
12359 ("babel" ,sbcl-babel)))
12360 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12361 (description "This library provides trivial percent encoding and
12362 decoding functions for URLs.")
12363 (license license:isc))))
12364
12365 (define-public cl-do-urlencode
12366 (sbcl-package->cl-source-package sbcl-do-urlencode))
12367
12368 (define-public ecl-do-urlencode
12369 (sbcl-package->ecl-package sbcl-do-urlencode))
12370
12371 (define-public sbcl-cl-emb
12372 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12373 (revision "1"))
12374 (package
12375 (name "sbcl-cl-emb")
12376 (version (git-version "0.4.3" revision commit))
12377 (home-page "https://common-lisp.net/project/cl-emb/")
12378 (source
12379 (origin
12380 (method git-fetch)
12381 (uri (git-reference
12382 (url "https://github.com/38a938c2/cl-emb")
12383 (commit commit)))
12384 (file-name (git-file-name name version))
12385 (sha256
12386 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12387 (build-system asdf-build-system/sbcl)
12388 (inputs
12389 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12390 (synopsis "Templating system for Common Lisp")
12391 (description "A mixture of features from eRuby and HTML::Template. You
12392 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12393 that and not limited to a certain server or text format.")
12394 (license license:llgpl))))
12395
12396 (define-public cl-emb
12397 (sbcl-package->cl-source-package sbcl-cl-emb))
12398
12399 (define-public ecl-cl-emb
12400 (sbcl-package->ecl-package sbcl-cl-emb))
12401
12402 (define-public sbcl-cl-project
12403 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12404 (revision "1"))
12405 (package
12406 (name "sbcl-cl-project")
12407 (version (git-version "0.3.1" revision commit))
12408 (home-page "https://github.com/fukamachi/cl-project")
12409 (source
12410 (origin
12411 (method git-fetch)
12412 (uri (git-reference
12413 (url home-page)
12414 (commit commit)))
12415 (file-name (git-file-name name version))
12416 (sha256
12417 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12418 (build-system asdf-build-system/sbcl)
12419 (inputs
12420 `(("cl-emb" ,sbcl-cl-emb)
12421 ("cl-ppcre" ,sbcl-cl-ppcre)
12422 ("local-time" ,sbcl-local-time)
12423 ("prove" ,sbcl-prove)))
12424 (arguments
12425 ;; Tests depend on caveman, which in turns depends on cl-project.
12426 '(#:tests? #f
12427 #:asd-files '("cl-project.asd")))
12428 (synopsis "Generate a skeleton for modern Common Lisp projects")
12429 (description "This library provides a modern project skeleton generator.
12430 In contract with other generators, CL-Project generates one package per file
12431 and encourages unit testing by generating a system for unit testing, so you
12432 can begin writing unit tests as soon as the project is generated.")
12433 (license license:llgpl))))
12434
12435 (define-public cl-project
12436 (sbcl-package->cl-source-package sbcl-cl-project))
12437
12438 (define-public ecl-cl-project
12439 (sbcl-package->ecl-package sbcl-cl-project))
12440
12441 (define-public sbcl-caveman
12442 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12443 (revision "1"))
12444 (package
12445 (name "sbcl-caveman")
12446 (version (git-version "2.4.0" revision commit))
12447 (home-page "http://8arrow.org/caveman/")
12448 (source
12449 (origin
12450 (method git-fetch)
12451 (uri (git-reference
12452 (url "https://github.com/fukamachi/caveman/")
12453 (commit commit)))
12454 (file-name (git-file-name name version))
12455 (sha256
12456 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12457 (build-system asdf-build-system/sbcl)
12458 (inputs
12459 `(("ningle" ,cl-ningle)
12460 ("lack" ,sbcl-lack)
12461 ("cl-project" ,sbcl-cl-project)
12462 ("dbi" ,sbcl-dbi)
12463 ("cl-syntax" ,sbcl-cl-syntax)
12464 ("myway" ,sbcl-myway)
12465 ("quri" ,sbcl-quri)))
12466 (native-inputs
12467 `(("usocket" ,sbcl-usocket)
12468 ("dexador" ,sbcl-dexador)))
12469 (arguments
12470 `(#:asd-files '("caveman2.asd")
12471 #:asd-systems '("caveman2")
12472 #:phases
12473 (modify-phases %standard-phases
12474 (add-after 'unpack 'remove-v1
12475 (lambda _
12476 (delete-file-recursively "v1")
12477 (for-each delete-file
12478 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12479 ;; TODO: Tests fail with:
12480 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12481 ;; While evaluating the form starting at line 38, column 0
12482 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12483 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12484 ;; {10009F8083}>:
12485 ;; Component "myapp573" not found
12486 #:tests? #f))
12487 (synopsis "Lightweight web application framework in Common Lisp")
12488 (description "Caveman is intended to be a collection of common parts for
12489 web applications. Caveman2 has three design goals:
12490
12491 @itemize
12492 @item Be extensible.
12493 @item Be practical.
12494 @item Don't force anything.
12495 @end itemize\n")
12496 (license license:llgpl))))
12497
12498 (define-public cl-caveman
12499 (package
12500 (inherit
12501 (sbcl-package->cl-source-package sbcl-caveman))
12502 (propagated-inputs
12503 `(("ningle" ,cl-ningle)))))
12504
12505 (define-public ecl-caveman
12506 (sbcl-package->ecl-package sbcl-caveman))
12507
12508 (define-public sbcl-lambda-fiddle
12509 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12510 (revision "1"))
12511 (package
12512 (name "sbcl-lambda-fiddle")
12513 (version (git-version "1.0.0" revision commit))
12514 (source
12515 (origin
12516 (method git-fetch)
12517 (uri (git-reference
12518 (url "https://github.com/Shinmera/lambda-fiddle")
12519 (commit commit)))
12520 (file-name (git-file-name name version))
12521 (sha256
12522 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12523 (build-system asdf-build-system/sbcl)
12524 (home-page "https://github.com/Shinmera/lambda-fiddle")
12525 (synopsis "Collection of utilities to process lambda-lists")
12526 (description "This collection of utilities is useful in contexts where
12527 you want a macro that uses lambda-lists in some fashion but need more precise
12528 processing.")
12529 (license license:zlib))))
12530
12531 (define-public cl-lambda-fiddle
12532 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12533
12534 (define-public ecl-lambda-fiddle
12535 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12536
12537 (define-public sbcl-xmls
12538 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12539 (revision "1"))
12540 (package
12541 (name "sbcl-xmls")
12542 (version (git-version "3.0.2" revision commit))
12543 (source
12544 (origin
12545 (method git-fetch)
12546 (uri (git-reference
12547 (url "https://github.com/rpgoldman/xmls")
12548 (commit commit)))
12549 (file-name (git-file-name name version))
12550 (sha256
12551 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12552 (native-inputs
12553 `(("fiveam" ,sbcl-fiveam)))
12554 (build-system asdf-build-system/sbcl)
12555 (home-page "https://github.com/rpgoldman/xmls")
12556 (synopsis "Non-validating XML parser for Common Lisp")
12557 (description "Xmls is a self-contained, easily embedded parser that
12558 recognizes a useful subset of the XML spec. It provides a simple mapping from
12559 XML to Lisp structures or s-expressions and back.")
12560 (license license:bsd-2))))
12561
12562 (define-public cl-xmls
12563 (sbcl-package->cl-source-package sbcl-xmls))
12564
12565 (define-public ecl-xmls
12566 (sbcl-package->ecl-package sbcl-xmls))
12567
12568 (define-public sbcl-geco
12569 (package
12570 (name "sbcl-geco")
12571 (version "2.1.1")
12572 (source
12573 (origin
12574 (method git-fetch)
12575 (uri (git-reference
12576 (url "https://github.com/gpwwjr/GECO")
12577 (commit (string-append "v" version))))
12578 (file-name (git-file-name "geco" version))
12579 (sha256
12580 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12581 (build-system asdf-build-system/sbcl)
12582 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12583 (synopsis "Genetic algorithm toolkit for Common Lisp")
12584 (description
12585 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12586 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12587 (license license:lgpl2.1+)))
12588
12589 (define-public cl-geco
12590 (sbcl-package->cl-source-package sbcl-geco))
12591
12592 (define-public ecl-geco
12593 (sbcl-package->ecl-package sbcl-geco))
12594
12595 (define-public sbcl-html-entities
12596 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12597 (package
12598 (name "sbcl-html-entities")
12599 (version (git-version "0.02" "1" commit))
12600 (source
12601 (origin
12602 (method git-fetch)
12603 (uri (git-reference
12604 (url "https://github.com/BnMcGn/html-entities/")
12605 (commit commit)))
12606 (file-name (git-file-name name version))
12607 (sha256
12608 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12609 (build-system asdf-build-system/sbcl)
12610 (inputs
12611 `(("ppcre" ,sbcl-cl-ppcre)))
12612 (native-inputs
12613 `(("fiveam" ,sbcl-fiveam)))
12614 (home-page "https://github.com/BnMcGn/html-entities/")
12615 (synopsis "Encode and decode entities in HTML with Common Lisp")
12616 (description "Html-entities is a Common Lisp library that lets you
12617 encode and decode entities in HTML.")
12618 (license license:expat))))
12619
12620 (define-public cl-html-entities
12621 (sbcl-package->cl-source-package sbcl-html-entities))
12622
12623 (define-public ecl-html-entities
12624 (sbcl-package->ecl-package sbcl-html-entities))
12625
12626 (define-public sbcl-quicksearch
12627 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12628 (package
12629 (name "sbcl-quicksearch")
12630 (version (git-version "0.01.04" "1" commit))
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url "https://github.com/tkych/quicksearch/")
12636 (commit commit)))
12637 (file-name (git-file-name name version))
12638 (sha256
12639 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12640 (build-system asdf-build-system/sbcl)
12641 (inputs
12642 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12643 ("iterate" ,sbcl-iterate)
12644 ("alexandria" ,sbcl-alexandria)
12645 ("anaphora" ,sbcl-anaphora)
12646 ("ppcre" ,sbcl-cl-ppcre)
12647 ("drakma" ,sbcl-drakma)
12648 ("html-entities" ,sbcl-html-entities)
12649 ("yason" ,sbcl-yason)
12650 ("flexi-streams" ,sbcl-flexi-streams)
12651 ("do-urlencode" ,sbcl-do-urlencode)))
12652 (home-page "https://github.com/tkych/quicksearch/")
12653 (synopsis "Search Engine Interface for Common Lisp packages")
12654 (description "Quicksearch is a search-engine-interface for Common Lisp.
12655 The goal of Quicksearch is to find the Common Lisp library quickly. For
12656 example, if you will find the library about json, just type @code{(qs:?
12657 'json)} at REPL.
12658
12659 The function @code{quicksearch} searches for Common Lisp projects in
12660 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12661 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12662 (license license:expat))))
12663
12664 (define-public cl-quicksearch
12665 (sbcl-package->cl-source-package sbcl-quicksearch))
12666
12667 (define-public ecl-quicksearch
12668 (sbcl-package->ecl-package sbcl-quicksearch))
12669
12670 (define-public sbcl-agutil
12671 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12672 (package
12673 (name "sbcl-agutil")
12674 (version (git-version "0.0.1" "1" commit))
12675 (source
12676 (origin
12677 (method git-fetch)
12678 (uri (git-reference
12679 (url "https://github.com/alex-gutev/agutil/")
12680 (commit commit)))
12681 (file-name (git-file-name name version))
12682 (sha256
12683 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12684 (build-system asdf-build-system/sbcl)
12685 (inputs
12686 `(("alexandria" ,sbcl-alexandria)
12687 ("trivia" ,sbcl-trivia)))
12688 (home-page "https://github.com/alex-gutev/agutil/")
12689 (synopsis "Collection of Common Lisp utilities")
12690 (description "A collection of Common Lisp utility functions and macros
12691 mostly not found in other utility packages.")
12692 (license license:expat))))
12693
12694 (define-public cl-agutil
12695 (sbcl-package->cl-source-package sbcl-agutil))
12696
12697 (define-public ecl-agutil
12698 (sbcl-package->ecl-package sbcl-agutil))
12699
12700 (define-public sbcl-custom-hash-table
12701 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12702 (package
12703 (name "sbcl-custom-hash-table")
12704 (version (git-version "0.3" "1" commit))
12705 (source
12706 (origin
12707 (method git-fetch)
12708 (uri (git-reference
12709 (url "https://github.com/metawilm/cl-custom-hash-table")
12710 (commit commit)))
12711 (file-name (git-file-name name version))
12712 (sha256
12713 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12714 (build-system asdf-build-system/sbcl)
12715 (arguments
12716 '(#:asd-files '("cl-custom-hash-table.asd")
12717 #:asd-systems '("cl-custom-hash-table")))
12718 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12719 (synopsis "Custom hash tables for Common Lisp")
12720 (description "This library allows creation of hash tables with arbitrary
12721 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12722 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12723 @code{EQUALP}), even in implementations that don't support this functionality
12724 directly.")
12725 (license license:expat))))
12726
12727 (define-public cl-custom-hash-table
12728 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12729
12730 (define-public ecl-custom-hash-table
12731 (sbcl-package->ecl-package sbcl-custom-hash-table))
12732
12733 (define-public sbcl-collectors
12734 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12735 (package
12736 (name "sbcl-collectors")
12737 (version (git-version "0.1" "1" commit))
12738 (source
12739 (origin
12740 (method git-fetch)
12741 (uri (git-reference
12742 (url "https://github.com/AccelerationNet/collectors")
12743 (commit commit)))
12744 (file-name (git-file-name name version))
12745 (sha256
12746 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12747 (build-system asdf-build-system/sbcl)
12748 (inputs
12749 `(("alexandria" ,sbcl-alexandria)
12750 ("closer-mop" ,sbcl-closer-mop)
12751 ("symbol-munger" ,sbcl-symbol-munger)))
12752 (native-inputs
12753 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12754 (home-page "https://github.com/AccelerationNet/collectors/")
12755 (synopsis "Common lisp library providing collector macros")
12756 (description "A small collection of common lisp macros to make
12757 collecting values easier.")
12758 (license license:bsd-3))))
12759
12760 (define-public cl-collectors
12761 (sbcl-package->cl-source-package sbcl-collectors))
12762
12763 (define-public ecl-collectors
12764 (sbcl-package->ecl-package sbcl-collectors))
12765
12766 (define-public sbcl-cl-environments
12767 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12768 (package
12769 (name "sbcl-cl-environments")
12770 (version (git-version "0.2.3" "1" commit))
12771 (source
12772 (origin
12773 (method git-fetch)
12774 (uri (git-reference
12775 (url "https://github.com/alex-gutev/cl-environments")
12776 (commit commit)))
12777 (file-name (git-file-name name version))
12778 (sha256
12779 (base32
12780 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12781 (build-system asdf-build-system/sbcl)
12782 (inputs
12783 `(("alexandria" ,sbcl-alexandria)
12784 ("anaphora" ,sbcl-anaphora)
12785 ("collectors" ,sbcl-collectors)
12786 ("optima" ,sbcl-optima)))
12787 (native-inputs
12788 `(("prove" ,sbcl-prove)))
12789 (home-page "https://github.com/alex-gutev/cl-environments")
12790 (synopsis "Implements the Common Lisp standard environment access API")
12791 (description "This library provides a uniform API, as specified in Common
12792 Lisp the Language 2, for accessing information about variable and function
12793 bindings from implementation-defined lexical environment objects. All major
12794 Common Lisp implementations are supported, even those which don't support the
12795 CLTL2 environment access API.")
12796 (license license:expat))))
12797
12798 (define-public cl-environments
12799 (sbcl-package->cl-source-package sbcl-cl-environments))
12800
12801 (define-public ecl-environments
12802 (sbcl-package->ecl-package sbcl-cl-environments))
12803
12804 (define-public sbcl-static-dispatch
12805 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12806 (revision "1"))
12807 (package
12808 (name "sbcl-static-dispatch")
12809 (version (git-version "0.3" revision commit))
12810 (source
12811 (origin
12812 (method git-fetch)
12813 (uri (git-reference
12814 (url "https://github.com/alex-gutev/static-dispatch")
12815 (commit commit)))
12816 (file-name (git-file-name "static-dispatch" version))
12817 (sha256
12818 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12819 (build-system asdf-build-system/sbcl)
12820 (native-inputs
12821 `(("prove" ,sbcl-prove)))
12822 (inputs
12823 `(("agutil" ,sbcl-agutil)
12824 ("alexandria" ,sbcl-alexandria)
12825 ("anaphora" ,sbcl-anaphora)
12826 ("arrows" ,sbcl-arrows)
12827 ("cl-environments" ,sbcl-cl-environments)
12828 ("closer-mop" ,sbcl-closer-mop)
12829 ("iterate" ,sbcl-iterate)
12830 ("trivia" ,sbcl-trivia)))
12831 (home-page "https://github.com/alex-gutev/static-dispatch")
12832 (synopsis "Static generic function dispatch for Common Lisp")
12833 (description "Static dispatch is a Common Lisp library, inspired by
12834 @code{inlined-generic-function}, which allows standard Common Lisp generic
12835 function dispatch to be performed statically (at compile time) rather than
12836 dynamically (runtime). This is similar to what is known as \"overloading\" in
12837 languages such as C++ and Java.
12838
12839 The purpose of static dispatch is to provide an optimization in cases where
12840 the usual dynamic dispatch is too slow, and the dynamic features of generic
12841 functions, such as adding/removing methods at runtime are not required. An
12842 example of such a case is a generic equality comparison function. Currently
12843 generic functions are considered far too slow to implement generic arithmetic
12844 and comparison operations when used heavily in numeric code.")
12845 (license license:expat))))
12846
12847 (define-public cl-static-dispatch
12848 (sbcl-package->cl-source-package sbcl-static-dispatch))
12849
12850 (define-public ecl-static-dispatch
12851 (sbcl-package->ecl-package sbcl-static-dispatch))
12852
12853 (define-public sbcl-generic-cl
12854 ;; Latest commit includes a necessary fix for our Guix build.
12855 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12856 (package
12857 (name "sbcl-generic-cl")
12858 (version (git-version "0.7.1" "1" commit))
12859 (source
12860 (origin
12861 (method git-fetch)
12862 (uri (git-reference
12863 (url "https://github.com/alex-gutev/generic-cl")
12864 (commit commit)))
12865 (file-name (git-file-name name version))
12866 (sha256
12867 (base32
12868 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12869 (build-system asdf-build-system/sbcl)
12870 (inputs
12871 `(("agutil" ,sbcl-agutil)
12872 ("alexandria" ,sbcl-alexandria)
12873 ("anaphora" ,sbcl-anaphora)
12874 ("arrows" ,sbcl-arrows)
12875 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12876 ("static-dispatch" ,sbcl-static-dispatch)
12877 ("trivia" ,sbcl-trivia)))
12878 (native-inputs
12879 `(("prove" ,sbcl-prove)))
12880 (arguments
12881 ;; Tests fail because SBCL head size is not high enough.
12882 ;; https://github.com/alex-gutev/generic-cl/issues/6
12883 `(#:tests? #f))
12884 (home-page "https://alex-gutev.github.io/generic-cl/")
12885 (synopsis "Generic function interface to standard Common Lisp functions")
12886 (description "@code{generic-cl} provides a generic function wrapper over
12887 various functions in the Common Lisp standard, such as equality predicates and
12888 sequence operations. The goal of this wrapper is to provide a standard
12889 interface to common operations, such as testing for the equality of two
12890 objects, which is extensible to user-defined types.")
12891 (license license:expat))))
12892
12893 (define-public cl-generic-cl
12894 (sbcl-package->cl-source-package sbcl-generic-cl))
12895
12896 (define-public ecl-generic-cl
12897 (sbcl-package->ecl-package sbcl-generic-cl))
12898
12899 (define-public sbcl-defpackage-plus
12900 (let ((revision "0")
12901 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12902 (package
12903 (name "sbcl-defpackage-plus")
12904 (version (git-version "1.0" revision commit))
12905 (source
12906 (origin
12907 (method git-fetch)
12908 (uri (git-reference
12909 (url "https://github.com/rpav/defpackage-plus")
12910 (commit commit)))
12911 (file-name (git-file-name name version))
12912 (sha256
12913 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12914 (build-system asdf-build-system/sbcl)
12915 (inputs
12916 `(("alexandria" ,sbcl-alexandria)))
12917 (home-page "https://github.com/rpav/defpackage-plus")
12918 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12919 (description
12920 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12921 predictable cross-platform behavior and some utilities useful for versioning.")
12922 (license license:bsd-2))))
12923
12924 (define-public cl-defpackage-plus
12925 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12926
12927 (define-public ecl-defpackage-plus
12928 (sbcl-package->ecl-package sbcl-defpackage-plus))
12929
12930 (define-public sbcl-deploy
12931 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12932 (revision "2"))
12933 (package
12934 (name "sbcl-deploy")
12935 (version (git-version "1.0.0" revision commit))
12936 (source
12937 (origin
12938 (method git-fetch)
12939 (uri (git-reference
12940 (url "https://github.com/Shinmera/deploy")
12941 (commit commit)))
12942 (file-name (git-file-name "deploy" version))
12943 (sha256
12944 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12945 (build-system asdf-build-system/sbcl)
12946 (arguments
12947 `(#:test-asd-file "deploy-test.asd"
12948 #:asd-files '("deploy.asd"
12949 "deploy-test.asd")))
12950 (native-inputs
12951 `(("cl-mpg123" ,sbcl-cl-mpg123)
12952 ("cl-out123" ,sbcl-cl-out123)))
12953 (inputs
12954 `(("cffi" ,sbcl-cffi)
12955 ("documentation-utils" ,sbcl-documentation-utils)
12956 ("trivial-features" ,sbcl-trivial-features)))
12957 (home-page "https://shinmera.github.io/deploy/")
12958 (synopsis "Deployment tools for standalone Common Lisp application")
12959 (description
12960 "This is a system to help you easily and quickly deploy standalone
12961 common lisp applications as binaries. Specifically it is geared towards
12962 applications with foreign library dependencies that run some kind of GUI.")
12963 (license license:artistic2.0))))
12964
12965 (define-public cl-deploy
12966 (sbcl-package->cl-source-package sbcl-deploy))
12967
12968 (define-public ecl-deploy
12969 (sbcl-package->ecl-package sbcl-deploy))
12970
12971 (define-public sbcl-deeds
12972 ;; taged branch is outdated
12973 (let ((revision "1")
12974 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12975 (package
12976 (name "sbcl-deeds")
12977 (version (git-version "1.1.1" revision commit))
12978 (source
12979 (origin
12980 (method git-fetch)
12981 (uri (git-reference
12982 (url "https://github.com/Shinmera/deeds")
12983 (commit commit)))
12984 (file-name (git-file-name name version))
12985 (sha256
12986 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12987 (build-system asdf-build-system/sbcl)
12988 (inputs
12989 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12990 ("closer-mop" ,sbcl-closer-mop)
12991 ("form-fiddle" ,sbcl-form-fiddle)
12992 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12993 (home-page "https://github.com/Shinmera/deeds")
12994 (synopsis "Extensible Event Delivery System")
12995 (description
12996 "@code{deeds} allows for efficient event delivery to multiple handlers
12997 with a complex event filtering system.")
12998 (license license:zlib))))
12999
13000 (define-public cl-deeds
13001 (sbcl-package->cl-source-package sbcl-deeds))
13002
13003 (define-public ecl-deeds
13004 (sbcl-package->ecl-package sbcl-deeds))
13005
13006 (define-public sbcl-make-hash
13007 ;; no tagged branch
13008 (let ((revision "1")
13009 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13010 (package
13011 (name "sbcl-make-hash")
13012 (version (git-version "1.0.2" revision commit))
13013 (source
13014 (origin
13015 (method git-fetch)
13016 (uri (git-reference
13017 (url "https://github.com/genovese/make-hash")
13018 (commit commit)))
13019 (file-name (git-file-name name version))
13020 (sha256
13021 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13022 (build-system asdf-build-system/sbcl)
13023 (home-page "https://github.com/genovese/make-hash")
13024 (synopsis "Common Lisp package for flexible hash table creation")
13025 (description
13026 "This is a Common Lisp package for hash table creation with flexible,
13027 extensible initializers.")
13028 (license license:bsd-3))))
13029
13030 (define-public cl-make-hash
13031 (sbcl-package->cl-source-package sbcl-make-hash))
13032
13033 (define-public ecl-make-hash
13034 (sbcl-package->ecl-package sbcl-make-hash))
13035
13036 (define-public sbcl-claw-support
13037 (package
13038 (name "sbcl-claw-support")
13039 (version "1.0.0")
13040 (source
13041 (origin
13042 (method git-fetch)
13043 (uri (git-reference
13044 (url "https://github.com/borodust/claw-support")
13045 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13046 (file-name (git-file-name name version))
13047 (sha256
13048 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13049 (build-system asdf-build-system/sbcl)
13050 (home-page "https://github.com/borodust/claw-support")
13051 (synopsis "Support routines for claw")
13052 (description
13053 "This package provides support routines for the @code{claw} Common Lisp
13054 package.")
13055 (license license:expat)))
13056
13057 (define-public cl-claw-support
13058 (sbcl-package->cl-source-package sbcl-claw-support))
13059
13060 (define-public ecl-claw-support
13061 (sbcl-package->ecl-package sbcl-claw-support))
13062
13063 (define-public sbcl-claw
13064 (let ((revision "0")
13065 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13066 (package
13067 (name "sbcl-claw")
13068 (version (git-version "1.0" revision commit))
13069 (source
13070 (origin
13071 (method git-fetch)
13072 (uri (git-reference
13073 (url "https://github.com/borodust/claw")
13074 (commit commit)))
13075 (file-name (git-file-name "claw" version))
13076 (sha256
13077 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13078 (build-system asdf-build-system/sbcl)
13079 (inputs
13080 `(("alexandria" ,sbcl-alexandria)
13081 ("cffi" ,sbcl-cffi)
13082 ("cl-json" ,sbcl-cl-json)
13083 ("cl-ppcre" ,sbcl-cl-ppcre)
13084 ("claw-support" ,sbcl-claw-support)
13085 ("local-time" ,sbcl-local-time)
13086 ("trivial-features" ,sbcl-trivial-features)))
13087 (home-page "https://github.com/borodust/claw")
13088 (synopsis "Autowrapper for Common Lisp")
13089 (description
13090 "This is a Common Lisp autowrapping facility for quickly creating clean
13091 and lean bindings to C libraries.")
13092 (license license:bsd-2))))
13093
13094 (define-public cl-claw
13095 (sbcl-package->cl-source-package sbcl-claw))
13096
13097 (define-public ecl-claw
13098 (sbcl-package->ecl-package sbcl-claw))
13099
13100 (define-public sbcl-claw-utils
13101 (let ((revision "0")
13102 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13103 (package
13104 (name "sbcl-claw-utils")
13105 ;; version is not specified
13106 (version (git-version "0.0.0" revision commit))
13107 (source
13108 (origin
13109 (method git-fetch)
13110 (uri (git-reference
13111 (url "https://github.com/borodust/claw-utils")
13112 (commit commit)))
13113 (file-name (git-file-name "claw-utils" version))
13114 (sha256
13115 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13116 (build-system asdf-build-system/sbcl)
13117 (inputs
13118 `(("alexandria" ,sbcl-alexandria)
13119 ("cffi" ,sbcl-cffi)
13120 ("claw" ,sbcl-claw)))
13121 (home-page "https://github.com/borodust/claw-utils")
13122 (synopsis "Utilities for easier autowrapping")
13123 (description
13124 "This Common Lisp library contains various handy utilties to help
13125 autowrapping with @code{claw}.")
13126 (license license:expat))))
13127
13128 (define-public cl-claw-utils
13129 (sbcl-package->cl-source-package sbcl-claw-utils))
13130
13131 (define-public ecl-claw-utils
13132 (sbcl-package->ecl-package sbcl-claw-utils))
13133
13134 (define-public sbcl-array-operations
13135 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13136 (revision "0"))
13137 (package
13138 (name "sbcl-array-operations")
13139 (version (git-version "0.0.0" revision commit))
13140 (source
13141 (origin
13142 (method git-fetch)
13143 (uri (git-reference
13144 (url "https://github.com/bendudson/array-operations")
13145 (commit commit)))
13146 (file-name (git-file-name "array-operations" version))
13147 (sha256
13148 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13149 (build-system asdf-build-system/sbcl)
13150 (native-inputs
13151 `(("alexandria" ,sbcl-alexandria)
13152 ("clunit2" ,sbcl-clunit2)))
13153 (inputs
13154 `(("let-plus" ,sbcl-let-plus)))
13155 (synopsis "Simple array operations library for Common Lisp")
13156 (description
13157 "This library is a collection of functions and macros for manipulating
13158 Common Lisp arrays and performing numerical calculations with them.")
13159 (home-page "https://github.com/bendudson/array-operations")
13160 (license license:expat))))
13161
13162 (define-public cl-array-operations
13163 (sbcl-package->cl-source-package sbcl-array-operations))
13164
13165 (define-public ecl-array-operations
13166 (sbcl-package->ecl-package sbcl-array-operations))
13167
13168 (define-public sbcl-clml
13169 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13170 (revision "0"))
13171 (package
13172 (name "sbcl-clml")
13173 (version (git-version "0.0.0" revision commit))
13174 (source
13175 (origin
13176 (method git-fetch)
13177 (uri (git-reference
13178 (url "https://github.com/mmaul/clml")
13179 (commit commit)))
13180 (file-name (git-file-name "clml" version))
13181 (sha256
13182 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13183 ;; TODO: Remove this when the patch has been merged upstream.
13184 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13185 (build-system asdf-build-system/sbcl)
13186 (inputs
13187 `(("alexandia" ,sbcl-alexandria)
13188 ("array-operations" ,sbcl-array-operations)
13189 ("cl-fad" ,sbcl-cl-fad)
13190 ("cl-ppcre" ,sbcl-cl-ppcre)
13191 ("drakma" ,sbcl-drakma)
13192 ("introspect-environment" ,sbcl-introspect-environment)
13193 ("iterate" ,sbcl-iterate)
13194 ("lparallel" ,sbcl-lparallel)
13195 ("parse-number" ,sbcl-parse-number)
13196 ("split-sequence" ,sbcl-split-sequence)
13197 ("trivial-garbage" ,sbcl-trivial-garbage)))
13198 (synopsis "Common Lisp machine learning library")
13199 (description
13200 "CLML (Common Lisp Machine Learning) is a high performance and large
13201 scale statistical machine learning package")
13202 (home-page "https://mmaul.github.io/clml/")
13203 (license license:llgpl))))
13204
13205 (define-public cl-clml
13206 (sbcl-package->cl-source-package sbcl-clml))
13207
13208 (define-public sbcl-utm-ups
13209 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13210 (revision "0"))
13211 (package
13212 (name "sbcl-utm-ups")
13213 (version (git-version "1.1" revision commit))
13214 (source
13215 (origin
13216 (method git-fetch)
13217 (uri (git-reference
13218 (url "https://github.com/glv2/utm-ups")
13219 (commit commit)))
13220 (file-name (git-file-name "utm-ups" version))
13221 (sha256
13222 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13223 (build-system asdf-build-system/sbcl)
13224 (native-inputs
13225 `(("fiveam" ,sbcl-fiveam)))
13226 (synopsis
13227 "Convert coordinates between latitude/longitude and UTM or UPS")
13228 (description
13229 "This a Common Lisp library to convert geographic coordinates between
13230 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13231 Polar Stereographic).")
13232 (home-page "https://github.com/glv2/utm-ups")
13233 (license license:gpl3+))))
13234
13235 (define-public cl-utm-ups
13236 (sbcl-package->cl-source-package sbcl-utm-ups))
13237
13238 (define-public ecl-utm-ups
13239 (sbcl-package->ecl-package sbcl-utm-ups))
13240
13241 (define-public sbcl-mgrs
13242 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13243 (revision "0"))
13244 (package
13245 (name "sbcl-mgrs")
13246 (version (git-version "1.0" revision commit))
13247 (source
13248 (origin
13249 (method git-fetch)
13250 (uri (git-reference
13251 (url "https://github.com/glv2/mgrs")
13252 (commit commit)))
13253 (file-name (git-file-name "mgrs" version))
13254 (sha256
13255 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13256 (build-system asdf-build-system/sbcl)
13257 (native-inputs
13258 `(("fiveam" ,sbcl-fiveam)))
13259 (inputs
13260 `(("utm-ups" ,sbcl-utm-ups)))
13261 (synopsis
13262 "Convert coordinates between latitude/longitude and MGRS")
13263 (description
13264 "This a Common Lisp library to convert geographic coordinates between
13265 latitude/longitude and MGRS.")
13266 (home-page "https://github.com/glv2/mgrs")
13267 (license license:gpl3+))))
13268
13269 (define-public cl-mgrs
13270 (sbcl-package->cl-source-package sbcl-mgrs))
13271
13272 (define-public ecl-mgrs
13273 (sbcl-package->ecl-package sbcl-mgrs))
13274
13275 (define-public sbcl-maidenhead
13276 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13277 (revision "0"))
13278 (package
13279 (name "sbcl-maidenhead")
13280 (version (git-version "1.0" revision commit))
13281 (source
13282 (origin
13283 (method git-fetch)
13284 (uri (git-reference
13285 (url "https://github.com/glv2/maidenhead")
13286 (commit commit)))
13287 (file-name (git-file-name "maidenhead" version))
13288 (sha256
13289 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13290 (build-system asdf-build-system/sbcl)
13291 (native-inputs
13292 `(("fiveam" ,sbcl-fiveam)))
13293 (synopsis
13294 "Convert coordinates between latitude/longitude and Maidenhead")
13295 (description
13296 "This a Common Lisp library to convert geographic coordinates between
13297 latitude/longitude and Maidenhead locator system.")
13298 (home-page "https://github.com/glv2/maidenhead")
13299 (license license:gpl3+))))
13300
13301 (define-public cl-maidenhead
13302 (sbcl-package->cl-source-package sbcl-maidenhead))
13303
13304 (define-public ecl-maidenhead
13305 (sbcl-package->ecl-package sbcl-maidenhead))
13306
13307 (define-public sbcl-olc
13308 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13309 (revision "0"))
13310 (package
13311 (name "sbcl-olc")
13312 (version (git-version "1.0" revision commit))
13313 (source
13314 (origin
13315 (method git-fetch)
13316 (uri (git-reference
13317 (url "https://github.com/glv2/olc")
13318 (commit commit)))
13319 (file-name (git-file-name "olc" version))
13320 (sha256
13321 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13322 (build-system asdf-build-system/sbcl)
13323 (native-inputs
13324 `(("fiveam" ,sbcl-fiveam)))
13325 (synopsis
13326 "Convert coordinates between latitude/longitude and Open Location Code")
13327 (description
13328 "This a Common Lisp library to convert geographic coordinates between
13329 latitude/longitude and Open Location Code.")
13330 (home-page "https://github.com/glv2/olc")
13331 (license license:gpl3+))))
13332
13333 (define-public cl-olc
13334 (sbcl-package->cl-source-package sbcl-olc))
13335
13336 (define-public ecl-olc
13337 (sbcl-package->ecl-package sbcl-olc))
13338
13339 (define-public sbcl-regex
13340 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13341 (package
13342 (name "sbcl-regex")
13343 (version (git-version "1" "1" commit))
13344 (source
13345 (origin
13346 (method git-fetch)
13347 (uri (git-reference
13348 (url "https://github.com/michaelw/regex/")
13349 (commit commit)))
13350 (file-name (git-file-name name version))
13351 (sha256
13352 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13353 (build-system asdf-build-system/sbcl)
13354 (home-page "https://github.com/michaelw/regex/")
13355 (synopsis "Regular expression engine for Common Lisp")
13356 (description
13357 "This Common Lisp package provides a regular expression engine.")
13358 (license license:bsd-2))))
13359
13360 (define-public cl-regex
13361 (sbcl-package->cl-source-package sbcl-regex))
13362
13363 (define-public ecl-regex
13364 (sbcl-package->ecl-package sbcl-regex))
13365
13366 (define-public sbcl-clawk
13367 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13368 (package
13369 (name "sbcl-clawk")
13370 (version (git-version "4" "1" commit))
13371 (source
13372 (origin
13373 (method git-fetch)
13374 (uri (git-reference
13375 (url "https://github.com/sharplispers/clawk")
13376 (commit commit)))
13377 (file-name (git-file-name name version))
13378 (sha256
13379 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13380 (build-system asdf-build-system/sbcl)
13381 (inputs
13382 `(("sbcl-regex" ,sbcl-regex)))
13383 (home-page "https://github.com/sharplispers/clawk")
13384 (synopsis "Common Lisp AWK")
13385 (description
13386 "CLAWK is an AWK implementation embedded into Common Lisp.")
13387 (license license:bsd-2))))
13388
13389 (define-public cl-clawk
13390 (sbcl-package->cl-source-package sbcl-clawk))
13391
13392 (define-public ecl-clawk
13393 (sbcl-package->ecl-package sbcl-clawk))
13394
13395 (define-public sbcl-check-it
13396 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13397 (package
13398 (name "sbcl-check-it")
13399 (version (git-version "0.1.0" "1" commit))
13400 (source
13401 (origin
13402 (method git-fetch)
13403 (uri (git-reference
13404 (url "https://github.com/DalekBaldwin/check-it/")
13405 (commit commit)))
13406 (file-name (git-file-name name version))
13407 (sha256
13408 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13409 (build-system asdf-build-system/sbcl)
13410 (inputs
13411 `(("alexandria" ,sbcl-alexandria)
13412 ("closer-mop" ,sbcl-closer-mop)
13413 ("optima" ,sbcl-optima)))
13414 (native-inputs
13415 `(("stefil" ,sbcl-stefil)))
13416 (home-page "https://github.com/arclanguage/Clamp")
13417 (synopsis "Randomized specification-based testing for Common Lisp")
13418 (description
13419 "This is a randomized property-based testing library for Common Lisp.
13420 Rather than being a full-fledged general test framework in its own right, it's
13421 designed to embed randomized tests in whatever framework you like.")
13422 (license license:llgpl))))
13423
13424 (define-public cl-check-it
13425 (sbcl-package->cl-source-package sbcl-check-it))
13426
13427 (define-public ecl-check-it
13428 (sbcl-package->ecl-package sbcl-check-it))
13429
13430 (define-public sbcl-clamp
13431 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13432 (package
13433 (name "sbcl-clamp")
13434 (version (git-version "0.3" "1" commit))
13435 (source
13436 (origin
13437 (method git-fetch)
13438 (uri (git-reference
13439 (url "https://github.com/arclanguage/Clamp")
13440 (commit commit)))
13441 (file-name (git-file-name name version))
13442 (sha256
13443 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13444 (build-system asdf-build-system/sbcl)
13445 (inputs
13446 `(("iterate" ,sbcl-iterate)
13447 ("cl-syntax" ,sbcl-cl-syntax)))
13448 (native-inputs
13449 `(("cl-unit" ,sbcl-clunit)
13450 ("check-it" ,sbcl-check-it)))
13451 (arguments
13452 `(#:phases
13453 (modify-phases %standard-phases
13454 (add-after 'unpack 'fix-build
13455 (lambda _
13456 (substitute* "clamp.asd"
13457 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13458 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13459 #t)))))
13460 (home-page "https://github.com/arclanguage/Clamp")
13461 (synopsis "Common Lisp with Arc macros and procedures")
13462 (description
13463 "Clamp is an attempt to bring the powerful, but verbose, language of
13464 Common Lisp up to the terseness of Arc.
13465
13466 There are two parts to Clamp. There is the core of Clamp, which implements
13467 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13468 other part is the \"experimental\" part. It contains features of Arc that are
13469 not so easy to copy (ssyntax, argument destructuring, etc.).")
13470 (license license:artistic2.0))))
13471
13472 (define-public cl-clamp
13473 (sbcl-package->cl-source-package sbcl-clamp))
13474
13475 (define-public ecl-clamp
13476 (sbcl-package->ecl-package sbcl-clamp))
13477
13478 (define-public sbcl-trivial-shell
13479 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13480 (package
13481 (name "sbcl-trivial-shell")
13482 (version (git-version "0.2.0" "1" commit))
13483 (source
13484 (origin
13485 (method git-fetch)
13486 (uri (git-reference
13487 (url "https://github.com/gwkkwg/trivial-shell")
13488 (commit commit)))
13489 (file-name (git-file-name name version))
13490 (sha256
13491 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13492 (build-system asdf-build-system/sbcl)
13493 (native-inputs
13494 `(("lift" ,sbcl-lift)))
13495 (home-page "http://common-lisp.net/project/trivial-shell/")
13496 (synopsis "Common Lisp access to the shell")
13497 (description
13498 "A simple Common-Lisp interface to the underlying operating system.
13499 It's independent of the implementation and operating system.")
13500 (license license:expat))))
13501
13502 (define-public cl-trivial-shell
13503 (sbcl-package->cl-source-package sbcl-trivial-shell))
13504
13505 (define-public ecl-trivial-shell
13506 (sbcl-package->ecl-package sbcl-trivial-shell))
13507
13508 (define-public sbcl-clesh
13509 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13510 (package
13511 (name "sbcl-clesh")
13512 (version (git-version "0.0.0" "1" commit))
13513 (source
13514 (origin
13515 (method git-fetch)
13516 (uri (git-reference
13517 (url "https://github.com/Neronus/Clesh")
13518 (commit commit)))
13519 (file-name (git-file-name name version))
13520 (sha256
13521 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13522 (build-system asdf-build-system/sbcl)
13523 (inputs
13524 `(("trivial-shell" ,sbcl-trivial-shell)
13525 ("named-readtables" ,sbcl-named-readtables)))
13526 (home-page "https://github.com/Neronus/Clesh")
13527 (synopsis "Embed shell code in Common Lisp")
13528 (description
13529 "This is a very short and simple program, written in Common Lisp, that
13530 extends Common Lisp to embed shell code in a manner similar to Perl's
13531 backtick. It has been forked from SHELISP.")
13532 (license license:bsd-2))))
13533
13534 (define-public cl-clesh
13535 (sbcl-package->cl-source-package sbcl-clesh))
13536
13537 (define-public ecl-clesh
13538 (sbcl-package->ecl-package sbcl-clesh))
13539
13540 (define-public sbcl-trivial-channels
13541 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13542 (revision "1"))
13543 (package
13544 (name "sbcl-trivial-channels")
13545 (version (git-version "1.0" revision commit))
13546 (source
13547 (origin
13548 (method git-fetch)
13549 (uri (git-reference
13550 (url "https://github.com/rpav/trivial-channels")
13551 (commit commit)))
13552 (file-name (git-file-name "trivial-channels" version))
13553 (sha256
13554 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13555 (build-system asdf-build-system/sbcl)
13556 (inputs
13557 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13558 ("trivial-timeout" ,sbcl-trivial-timeout)))
13559 (home-page "https://github.com/rpav/trivial-channels")
13560 (synopsis "Common Lisp simple thread-safe channels with timeout")
13561 (description
13562 "It's very basic implementation of channels and queue for Common Lisp.")
13563 (license license:bsd-2))))
13564
13565 (define-public ecl-trivial-channels
13566 (sbcl-package->ecl-package sbcl-trivial-channels))
13567
13568 (define-public cl-trivial-channels
13569 (sbcl-package->cl-source-package sbcl-trivial-channels))
13570
13571 (define-public sbcl-trivial-download
13572 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13573 (package
13574 (name "sbcl-trivial-download")
13575 (version (git-version "0.3" "1" commit))
13576 (source
13577 (origin
13578 (method git-fetch)
13579 (uri (git-reference
13580 (url "https://github.com/eudoxia0/trivial-download/")
13581 (commit commit)))
13582 (file-name (git-file-name name version))
13583 (sha256
13584 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13585 (build-system asdf-build-system/sbcl)
13586 (inputs
13587 `(("drakma" ,sbcl-drakma)))
13588 (home-page "https://github.com/eudoxia0/trivial-download/")
13589 (synopsis "Download files from Common Lisp")
13590 (description
13591 "@code{trivial-download} allows you to download files from the Internet
13592 from Common Lisp. It provides a progress bar.")
13593 (license license:bsd-2))))
13594
13595 (define-public cl-trivial-download
13596 (sbcl-package->cl-source-package sbcl-trivial-download))
13597
13598 (define-public ecl-trivial-download
13599 (sbcl-package->ecl-package sbcl-trivial-download))
13600
13601 (define-public sbcl-gtwiwtg
13602 (package
13603 (name "sbcl-gtwiwtg")
13604 (version "0.1.1")
13605 (source
13606 (origin
13607 (method git-fetch)
13608 (uri (git-reference
13609 (url "https://github.com/cbeo/gtwiwtg/")
13610 (commit version)))
13611 (file-name (git-file-name name version))
13612 (sha256
13613 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13614 (build-system asdf-build-system/sbcl)
13615 (native-inputs
13616 `(("osicat" ,sbcl-osicat)
13617 ("prove" ,sbcl-prove)))
13618 (home-page "https://github.com/cbeo/gtwiwtg/")
13619 (synopsis "Naive generators for Common Lisp")
13620 (description
13621 "The GTWIWTG library (Generators The Way I Want Them Generated --
13622 technically not generators, but iterators) is meant to be small, explorable,
13623 and understandable.")
13624 (license license:gpl3)))
13625
13626 (define-public cl-gtwiwtg
13627 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13628
13629 (define-public ecl-gtwiwtg
13630 (sbcl-package->ecl-package sbcl-gtwiwtg))
13631
13632 (define-public sbcl-cl-progress-bar
13633 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13634 (package
13635 (name "sbcl-cl-progress-bar")
13636 (version (git-version "0.0.0" "1" commit))
13637 (source
13638 (origin
13639 (method git-fetch)
13640 (uri (git-reference
13641 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13642 (commit commit)))
13643 (file-name (git-file-name name version))
13644 (sha256
13645 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13646 (build-system asdf-build-system/sbcl)
13647 (inputs
13648 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13649 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13650 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13651 (synopsis "Progress bars in Common Lisp")
13652 (description
13653 "This library provides almost the same code as used inside Quicklisp
13654 for drawning progress bars")
13655 (license license:expat))))
13656
13657 (define-public cl-progress-bar
13658 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13659
13660 (define-public ecl-cl-progress-bar
13661 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13662
13663 (define-public sbcl-repl-utilities
13664 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13665 (package
13666 (name "sbcl-repl-utilities")
13667 (version (git-version "0.0.0" "1" commit))
13668 (source
13669 (origin
13670 (method git-fetch)
13671 (uri (git-reference
13672 (url "https://github.com/m-n/repl-utilities/")
13673 (commit commit)))
13674 (file-name (git-file-name name version))
13675 (sha256
13676 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13677 (build-system asdf-build-system/sbcl)
13678 (home-page "https://github.com/m-n/repl-utilities")
13679 (synopsis "Ease common tasks at the Common Lisp REPL")
13680 (description
13681 "@code{repl-utilities} is a set of utilities which ease life at the
13682 REPL. It includes three sorts of features: introspective procedures,
13683 miscellaneous utility functions, and, pulling them together, methods to
13684 conveniently keep these symbols and optionally additional symbols available in
13685 whichever package you switch to.")
13686 (license license:bsd-2))))
13687
13688 (define-public cl-repl-utilities
13689 (sbcl-package->cl-source-package sbcl-repl-utilities))
13690
13691 (define-public ecl-repl-utilities
13692 (sbcl-package->ecl-package sbcl-repl-utilities))
13693
13694 (define-public sbcl-supertrace
13695 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13696 (package
13697 (name "sbcl-supertrace")
13698 (version (git-version "0.1.0" "1" commit))
13699 (source
13700 (origin
13701 (method git-fetch)
13702 (uri (git-reference
13703 (url "https://github.com/fukamachi/supertrace")
13704 (commit commit)))
13705 (file-name (git-file-name name version))
13706 (sha256
13707 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13708 (build-system asdf-build-system/sbcl)
13709 (native-inputs
13710 `(("cffi-grovel" ,sbcl-cffi)
13711 ("rove" ,sbcl-rove)
13712 ("cl-ppcre" ,sbcl-cl-ppcre)
13713 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13714 (inputs
13715 `(("cffi" ,sbcl-cffi)))
13716 (home-page "https://github.com/fukamachi/supertrace")
13717 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13718 (description
13719 "Supertrace provides a superior Common Lisp @code{trace} functionality
13720 for debugging and profiling real world applications.")
13721 (license license:bsd-2))))
13722
13723 (define-public cl-supertrace
13724 (sbcl-package->cl-source-package sbcl-supertrace))
13725
13726 (define-public ecl-supertrace
13727 (sbcl-package->ecl-package sbcl-supertrace))
13728
13729 (define-public sbcl-trivial-benchmark
13730 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13731 (package
13732 (name "sbcl-trivial-benchmark")
13733 (version (git-version "2.0.0" "1" commit))
13734 (source
13735 (origin
13736 (method git-fetch)
13737 (uri (git-reference
13738 (url "https://github.com/Shinmera/trivial-benchmark/")
13739 (commit commit)))
13740 (file-name (git-file-name name version))
13741 (sha256
13742 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13743 (build-system asdf-build-system/sbcl)
13744 (inputs
13745 `(("alexandria" ,sbcl-alexandria)))
13746 (home-page "http://shinmera.github.io/trivial-benchmark/")
13747 (synopsis "Easy to use benchmarking system for Common Lisp")
13748 (description
13749 "Trivial-Benchmark runs a block of code many times and outputs some
13750 statistical data for it. On SBCL this includes the data from @code{time}, for
13751 all other implementations just the @code{real-time} and @code{run-time} data.
13752 However, you can extend the system by adding your own @code{metrics} to it, or
13753 even by adding additional statistical @code{compute}ations. ")
13754 (license license:zlib))))
13755
13756 (define-public cl-trivial-benchmark
13757 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13758
13759 (define-public ecl-trivial-benchmark
13760 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13761
13762 (define-public sbcl-glyphs
13763 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13764 (package
13765 (name "sbcl-glyphs")
13766 (version (git-version "0.0.0" "1" commit))
13767 (source
13768 (origin
13769 (method git-fetch)
13770 (uri (git-reference
13771 (url "https://github.com/ahungry/glyphs/")
13772 (commit commit)))
13773 (file-name (git-file-name name version))
13774 (sha256
13775 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13776 (build-system asdf-build-system/sbcl)
13777 (inputs
13778 `(("cl-ppcre" ,sbcl-cl-ppcre)
13779 ("parenscript" ,sbcl-parenscript)
13780 ("named-readtables" ,sbcl-named-readtables)))
13781 (home-page "https://github.com/ahungry/glyphs/")
13782 (synopsis "Reduce Common Lisp verbosity")
13783 (description
13784 "This library is a little experiment in reducing verbosity in Common
13785 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13786 (license license:gpl3))))
13787
13788 (define-public cl-glyphs
13789 (sbcl-package->cl-source-package sbcl-glyphs))
13790
13791 (define-public ecl-glyphs
13792 (sbcl-package->ecl-package sbcl-glyphs))
13793
13794 (define-public sbcl-zs3
13795 (package
13796 (name "sbcl-zs3")
13797 (version "1.3.3")
13798 (source
13799 (origin
13800 (method git-fetch)
13801 (uri
13802 (git-reference
13803 (url "https://github.com/xach/zs3")
13804 (commit (string-append "release-" version))))
13805 (file-name (git-file-name "zs3" version))
13806 (sha256
13807 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13808 (build-system asdf-build-system/sbcl)
13809 (inputs
13810 `(("drakma" ,sbcl-drakma)
13811 ("alexandria" ,sbcl-alexandria)
13812 ("cxml" ,sbcl-cxml)
13813 ("ironclad" ,sbcl-ironclad)
13814 ("puri" ,sbcl-puri)
13815 ("cl-base64" ,sbcl-cl-base64)))
13816 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13817 (description "This is ZS3, a library for working with Amazon's Simple Storage
13818 Service (S3) and CloudFront service from Common Lisp.")
13819 (home-page "https://github.com/xach/zs3")
13820 (license license:bsd-2)))
13821
13822 (define-public cl-zs3
13823 (sbcl-package->cl-source-package sbcl-zs3))
13824
13825 (define-public ecl-zs3
13826 (sbcl-package->ecl-package sbcl-zs3))
13827
13828 (define-public sbcl-simple-neural-network
13829 (package
13830 (name "sbcl-simple-neural-network")
13831 (version "3.1")
13832 (source
13833 (origin
13834 (method git-fetch)
13835 (uri (git-reference
13836 (url "https://github.com/glv2/simple-neural-network")
13837 (commit (string-append "v" version))))
13838 (file-name (git-file-name "simple-neural-network" version))
13839 (sha256
13840 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13841 (build-system asdf-build-system/sbcl)
13842 (native-inputs
13843 `(("chipz" ,sbcl-chipz)
13844 ("fiveam" ,sbcl-fiveam)))
13845 (inputs
13846 `(("cl-store" ,sbcl-cl-store)
13847 ("lparallel" ,sbcl-lparallel)))
13848 (arguments
13849 `(#:phases
13850 (modify-phases %standard-phases
13851 (add-after 'check 'remove-test-data
13852 (lambda* (#:key outputs #:allow-other-keys)
13853 (let ((out (assoc-ref outputs "out")))
13854 (for-each delete-file (find-files out "\\.gz$"))))))))
13855 (synopsis "Simple neural network in Common Lisp")
13856 (description
13857 "@code{simple-neural-network} is a Common Lisp library for creating,
13858 training and using basic neural networks. The networks created by this
13859 library are feedforward neural networks trained using backpropagation.")
13860 (home-page "https://github.com/glv2/simple-neural-network")
13861 (license license:gpl3+)))
13862
13863 (define-public cl-simple-neural-network
13864 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13865
13866 (define-public ecl-simple-neural-network
13867 (sbcl-package->ecl-package sbcl-simple-neural-network))
13868
13869 (define-public sbcl-zstd
13870 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13871 (revision "1"))
13872 (package
13873 (name "sbcl-zstd")
13874 (version (git-version "1.0" revision commit))
13875 (source
13876 (origin
13877 (method git-fetch)
13878 (uri (git-reference
13879 (url "https://github.com/glv2/cl-zstd")
13880 (commit commit)))
13881 (file-name (git-file-name "cl-zstd" version))
13882 (sha256
13883 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13884 (build-system asdf-build-system/sbcl)
13885 (native-inputs
13886 `(("fiveam" ,sbcl-fiveam)))
13887 (inputs
13888 `(("cffi" ,sbcl-cffi)
13889 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13890 ("zstd-lib" ,zstd "lib")))
13891 (arguments
13892 '(#:phases
13893 (modify-phases %standard-phases
13894 (add-after 'unpack 'fix-paths
13895 (lambda* (#:key inputs #:allow-other-keys)
13896 (substitute* "src/libzstd.lisp"
13897 (("libzstd\\.so")
13898 (string-append (assoc-ref inputs "zstd-lib")
13899 "/lib/libzstd.so")))
13900 #t)))))
13901 (synopsis "Common Lisp library for Zstandard (de)compression")
13902 (description
13903 "This Common Lisp library provides functions for Zstandard
13904 compression/decompression using bindings to the libzstd C library.")
13905 (home-page "https://github.com/glv2/cl-zstd")
13906 (license license:gpl3+))))
13907
13908 (define-public cl-zstd
13909 (sbcl-package->cl-source-package sbcl-zstd))
13910
13911 (define-public ecl-zstd
13912 (sbcl-package->ecl-package sbcl-zstd))
13913
13914 (define-public sbcl-agnostic-lizard
13915 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13916 (revision "1"))
13917 (package
13918 (name "sbcl-agnostic-lizard")
13919 (version (git-version "0.0.0" revision commit))
13920 (source
13921 (origin
13922 (method git-fetch)
13923 (uri (git-reference
13924 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13925 (commit commit)))
13926 (file-name (git-file-name name version))
13927 (sha256
13928 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13929 (build-system asdf-build-system/sbcl)
13930 (synopsis "Almost correct portable code walker for Common Lisp")
13931 (description
13932 "Agnostic Lizard is a portable implementation of a code walker and in
13933 particular of the macroexpand-all function (and macro) that makes a best
13934 effort to be correct while not expecting much beyond what the Common Lisp
13935 standard requires.
13936
13937 It aims to be implementation-agnostic and to climb the syntax trees.")
13938 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13939 (license license:gpl3+))))
13940
13941 (define-public cl-agnostic-lizard
13942 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13943
13944 (define-public ecl-agnostic-lizard
13945 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13946
13947 (define-public sbcl-dynamic-classes
13948 (package
13949 (name "sbcl-dynamic-classes")
13950 (version "1.0.2")
13951 (source
13952 (origin
13953 (method git-fetch)
13954 (uri (git-reference
13955 (url "https://github.com/gwkkwg/dynamic-classes")
13956 (commit (string-append "version-" version))))
13957 (file-name (git-file-name "dynamic-classes" version))
13958 (sha256
13959 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13960 (build-system asdf-build-system/sbcl)
13961 (inputs
13962 `(("metatilities-base" ,sbcl-metatilities-base)))
13963 (arguments
13964 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13965 ;; test suites. lift-standard.config contains referances to deprecated
13966 ;; functionality.
13967 `(#:tests? #f))
13968 (home-page "https://common-lisp.net/project/dynamic-classes/")
13969 (synopsis "Dynamic class definition for Common Lisp")
13970 (description "Dynamic-Classes helps to ease the prototyping process by
13971 bringing dynamism to class definition.")
13972 (license license:expat)))
13973
13974 (define-public ecl-dynamic-classes
13975 (sbcl-package->ecl-package sbcl-dynamic-classes))
13976
13977 (define-public cl-dynamic-classes
13978 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13979
13980 (define-public sbcl-cl-markdown
13981 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13982 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13983 ;; #:container-dynamic-classes
13984 (package
13985 (name "sbcl-cl-markdown")
13986 (version "0.10.4")
13987 (source
13988 (origin
13989 (method git-fetch)
13990 (uri (git-reference
13991 (url "https://github.com/gwkkwg/cl-markdown")
13992 (commit (string-append "version-" version))))
13993 (file-name (git-file-name "cl-markdown" version))
13994 (sha256
13995 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13996 (build-system asdf-build-system/sbcl)
13997 (inputs
13998 `(("anaphora" ,sbcl-anaphora)
13999 ("cl-containers" ,sbcl-cl-containers)
14000 ("cl-ppcre" ,sbcl-cl-ppcre)
14001 ("dynamic-classes" ,sbcl-dynamic-classes)
14002 ("metabang-bind" ,sbcl-metabang-bind)
14003 ("metatilities-base" ,sbcl-metatilities-base)))
14004 (arguments
14005 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14006 ;; available systems, which themself are abandoned.
14007 `(#:tests? #f))
14008 (home-page "https://common-lisp.net/project/cl-markdown/")
14009 (synopsis "Common Lisp rewrite of Markdown")
14010 (description
14011 "This is an implementation of a Markdown parser in Common Lisp.")
14012 (license license:expat)))
14013
14014 (define-public ecl-cl-markdown
14015 (sbcl-package->ecl-package sbcl-cl-markdown))
14016
14017 (define-public cl-markdown
14018 (sbcl-package->cl-source-package sbcl-cl-markdown))
14019
14020 (define-public sbcl-magicffi
14021 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14022 (package
14023 (name "sbcl-magicffi")
14024 (version (git-version "0.0.0" "1" commit))
14025 (source
14026 (origin
14027 (method git-fetch)
14028 (uri (git-reference
14029 (url "https://github.com/dochang/magicffi/")
14030 (commit commit)))
14031 (file-name (git-file-name name version))
14032 (sha256
14033 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14034 (build-system asdf-build-system/sbcl)
14035 (native-inputs
14036 `(("alexandria" ,sbcl-alexandria)))
14037 (inputs
14038 `(("cffi" ,sbcl-cffi)
14039 ("ppcre" ,sbcl-cl-ppcre)
14040 ("libmagic" ,file)))
14041 (arguments
14042 `(#:phases
14043 (modify-phases %standard-phases
14044 (add-after 'unpack 'fix-paths
14045 (lambda* (#:key inputs #:allow-other-keys)
14046 (let ((magic (assoc-ref inputs "libmagic")))
14047 (substitute* "grovel.lisp"
14048 (("/usr/include/magic.h")
14049 (string-append magic "/include/magic.h")))
14050 (substitute* "api.lisp"
14051 ((":default \"libmagic\"" all)
14052 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14053 (home-page "https://common-lisp.net/project/magicffi/")
14054 (synopsis "Common Lisp interface to libmagic based on CFFI")
14055 (description
14056 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14057 determination library using @emph{magic} numbers.")
14058 (license license:bsd-2))))
14059
14060 (define-public ecl-magicffi
14061 (sbcl-package->ecl-package sbcl-magicffi))
14062
14063 (define-public cl-magicffi
14064 (sbcl-package->cl-source-package sbcl-magicffi))
14065
14066 (define-public sbcl-shlex
14067 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14068 (package
14069 (name "sbcl-shlex")
14070 (version (git-version "0.0.0" "1" commit))
14071 (source
14072 (origin
14073 (method git-fetch)
14074 (uri (git-reference
14075 (url "https://github.com/ruricolist/cl-shlex")
14076 (commit commit)))
14077 (file-name (git-file-name name version))
14078 (sha256
14079 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14080 (build-system asdf-build-system/sbcl)
14081 (inputs
14082 `(("alexandria" ,sbcl-alexandria)
14083 ("serapeum" ,sbcl-serapeum)
14084 ("ppcre" ,sbcl-cl-ppcre)
14085 ("unicode" ,sbcl-cl-unicode)))
14086 (home-page "https://github.com/ruricolist/cl-shlex")
14087 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14088 (description
14089 "This library contains a lexer for syntaxes that use shell-like rules
14090 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14091 standard library.")
14092 (license license:expat))))
14093
14094 (define-public ecl-shlex
14095 (sbcl-package->ecl-package sbcl-shlex))
14096
14097 (define-public cl-shlex
14098 (sbcl-package->cl-source-package sbcl-shlex))
14099
14100 (define-public sbcl-cmd
14101 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14102 (package
14103 (name "sbcl-cmd")
14104 (version (git-version "0.0.1" "3" commit))
14105 (source
14106 (origin
14107 (method git-fetch)
14108 (uri (git-reference
14109 (url "https://github.com/ruricolist/cmd/")
14110 (commit commit)))
14111 (file-name (git-file-name name version))
14112 (sha256
14113 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14114 (build-system asdf-build-system/sbcl)
14115 (inputs
14116 `(("alexandria" ,sbcl-alexandria)
14117 ("coreutils" ,coreutils)
14118 ("procps" ,procps)
14119 ("serapeum" ,sbcl-serapeum)
14120 ("shlex" ,sbcl-shlex)
14121 ("trivia" ,sbcl-trivia)))
14122 (arguments
14123 `(#:phases
14124 (modify-phases %standard-phases
14125 (add-after 'unpack 'fix-paths
14126 (lambda* (#:key inputs #:allow-other-keys)
14127 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14128 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14129 (substitute* "cmd.lisp"
14130 (("\\(def \\+env\\+ \"env\"\\)")
14131 (format #f "(def +env+ \"~a/env\")" bin))
14132 (("\\(def \\+kill\\+ \"kill\"\\)")
14133 (format #f "(def +kill+ \"~a/kill\")" bin))
14134 (("\\(def \\+ps\\+ \"ps\"\\)")
14135 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14136 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14137 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14138 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14139 (format #f "(def +sh+ \"~a\")" (which "sh")))
14140 (("\\(def \\+tr\\+ \"tr\"\\)")
14141 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14142 (home-page "https://github.com/ruricolist/cmd")
14143 (synopsis "Conveniently run external programs from Common Lisp")
14144 (description
14145 "A utility for running external programs, built on UIOP.
14146 Cmd is designed to be natural to use, protect against shell interpolation and
14147 be usable from multi-threaded programs.")
14148 (license license:expat))))
14149
14150 (define-public ecl-cmd
14151 (sbcl-package->ecl-package sbcl-cmd))
14152
14153 (define-public cl-cmd
14154 (sbcl-package->cl-source-package sbcl-cmd))
14155
14156 (define-public sbcl-ppath
14157 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14158 (package
14159 (name "sbcl-ppath")
14160 (version (git-version "0.1" "1" commit))
14161 (source
14162 (origin
14163 (method git-fetch)
14164 (uri (git-reference
14165 (url "https://github.com/fourier/ppath/")
14166 (commit commit)))
14167 (file-name (git-file-name name commit))
14168 (sha256
14169 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14170 (build-system asdf-build-system/sbcl)
14171 (inputs
14172 `(("alexandria" ,sbcl-alexandria)
14173 ("cffi" ,sbcl-cffi)
14174 ("osicat" ,sbcl-osicat)
14175 ("ppcre" ,sbcl-cl-ppcre)
14176 ("split-sequence" ,sbcl-split-sequence)
14177 ("trivial-features" ,sbcl-trivial-features)))
14178 (native-inputs
14179 `(("cl-fad" ,sbcl-cl-fad)
14180 ("prove" ,sbcl-prove)))
14181 (home-page "https://github.com/fourier/ppath")
14182 (synopsis "Common Lisp's implementation of the Python's os.path module")
14183 (description
14184 "This library is a path strings manipulation library inspired by
14185 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14186 major operation systems.
14187
14188 The philosophy behind is to use simple strings and \"dumb\" string
14189 manipulation functions to handle paths and filenames. Where possible the
14190 corresponding OS system functions are called.")
14191 (license license:bsd-2))))
14192
14193 (define-public ecl-ppath
14194 (sbcl-package->ecl-package sbcl-ppath))
14195
14196 (define-public cl-ppath
14197 (sbcl-package->cl-source-package sbcl-ppath))
14198
14199 (define-public sbcl-trivial-escapes
14200 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14201 (package
14202 (name "sbcl-trivial-escapes")
14203 (version (git-version "1.2.0" "1" commit))
14204 (source
14205 (origin
14206 (method git-fetch)
14207 (uri (git-reference
14208 (url "https://github.com/williamyaoh/trivial-escapes")
14209 (commit commit)))
14210 (file-name (git-file-name name commit))
14211 (sha256
14212 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14213 (build-system asdf-build-system/sbcl)
14214 (inputs
14215 `(("named-readtables" ,sbcl-named-readtables)))
14216 (native-inputs
14217 `(("fiveam" ,sbcl-fiveam)))
14218 (home-page "https://github.com/williamyaoh/trivial-escapes")
14219 (synopsis "C-style escape directives for Common Lisp")
14220 (description
14221 "This Common Lisp library interprets escape characters the same way that
14222 most other programming language do.
14223 It provides four readtables. The default one lets you write strings like this:
14224 @code{#\"This string has\na newline in it!\"}.")
14225 (license license:public-domain))))
14226
14227 (define-public ecl-trivial-escapes
14228 (sbcl-package->ecl-package sbcl-trivial-escapes))
14229
14230 (define-public cl-trivial-escapes
14231 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14232
14233 (define-public sbcl-cl-indentify
14234 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14235 (package
14236 (name "sbcl-cl-indentify")
14237 (version (git-version "0.1" "1" commit))
14238 (source
14239 (origin
14240 (method git-fetch)
14241 (uri (git-reference
14242 (url "https://github.com/yitzchak/cl-indentify")
14243 (commit commit)))
14244 (file-name (git-file-name name commit))
14245 (sha256
14246 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14247 (build-system asdf-build-system/sbcl)
14248 (inputs
14249 `(("alexandria" ,sbcl-alexandria)
14250 ("command-line-arguments" ,sbcl-command-line-arguments)
14251 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14252 (native-inputs
14253 `(("trivial-escapes" ,sbcl-trivial-escapes)
14254 ("rove" ,sbcl-rove)))
14255 (home-page "https://github.com/yitzchak/cl-indentify")
14256 (synopsis "Code beautifier for Common Lisp")
14257 (description
14258 "A library and command line utility to automatically indent Common Lisp
14259 source files.")
14260 (license license:expat))))
14261
14262 (define-public ecl-cl-indentify
14263 (sbcl-package->ecl-package sbcl-cl-indentify))
14264
14265 (define-public cl-indentify
14266 (sbcl-package->cl-source-package sbcl-cl-indentify))
14267
14268 (define-public sbcl-concrete-syntax-tree
14269 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14270 (package
14271 (name "sbcl-concrete-syntax-tree")
14272 (version (git-version "0.0.0" "1" commit))
14273 (source
14274 (origin
14275 (method git-fetch)
14276 (uri (git-reference
14277 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14278 (commit commit)))
14279 (file-name (git-file-name name commit))
14280 (sha256
14281 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14282 (build-system asdf-build-system/sbcl)
14283 (inputs
14284 `(("acclimation" ,sbcl-acclimation)))
14285 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14286 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14287 (description
14288 "This library is intended to solve the problem of source tracking for
14289 Common Lisp code.
14290
14291 By \"source tracking\", it is meant that code elements that have a known
14292 origin in the form of a position in a file or in an editor buffer are
14293 associated with some kind of information about this origin.
14294
14295 Since the exact nature of such origin information depends on the Common Lisp
14296 implementation and the purpose of wanting to track that origin, the library
14297 does not impose a particular structure of this information. Instead, it
14298 provides utilities for manipulating source code in the form of what is called
14299 concrete syntax trees (CSTs for short) that preserve this information about
14300 the origin.")
14301 (license license:bsd-2))))
14302
14303 (define-public ecl-concrete-syntax-tree
14304 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14305
14306 (define-public cl-concrete-syntax-tree
14307 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14308
14309 (define-public sbcl-eclector
14310 (package
14311 (name "sbcl-eclector")
14312 (version "0.5.0")
14313 (source
14314 (origin
14315 (method git-fetch)
14316 (uri (git-reference
14317 (url "https://github.com/s-expressionists/Eclector")
14318 (commit version)))
14319 (file-name (git-file-name name version))
14320 (sha256
14321 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14322 (build-system asdf-build-system/sbcl)
14323 (inputs
14324 `(("acclimation" ,sbcl-acclimation)
14325 ("alexandria" ,sbcl-alexandria)
14326 ("closer-mop" ,sbcl-closer-mop)
14327 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14328 (native-inputs
14329 `(("fiveam" ,sbcl-fiveam)))
14330 (arguments
14331 '(#:asd-systems '("eclector"
14332 "eclector-concrete-syntax-tree")))
14333 (home-page "https://s-expressionists.github.io/Eclector/")
14334 (synopsis "Highly customizable, portable Common Lisp reader")
14335 (description
14336 "Eclector is a portable Common Lisp reader that is highly customizable,
14337 can recover from errors and can return concrete syntax trees.
14338
14339 In contrast to many other reader implementations, eclector can recover from
14340 most errors in the input supplied to it and continue reading. This capability
14341 is realized as a restart.
14342
14343 It can also produce instances of the concrete syntax tree classes provided by
14344 the concrete syntax tree library.")
14345 (license license:bsd-2)))
14346
14347 (define-public ecl-eclector
14348 (sbcl-package->ecl-package sbcl-eclector))
14349
14350 (define-public cl-eclector
14351 (sbcl-package->cl-source-package sbcl-eclector))
14352
14353 (define-public sbcl-jsown
14354 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14355 (package
14356 (name "sbcl-jsown")
14357 (version (git-version "1.0.1" "1" commit))
14358 (source
14359 (origin
14360 (method git-fetch)
14361 (uri (git-reference
14362 (url "https://github.com/madnificent/jsown")
14363 (commit commit)))
14364 (file-name (git-file-name name commit))
14365 (sha256
14366 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14367 (build-system asdf-build-system/sbcl)
14368 (home-page "https://github.com/madnificent/jsown")
14369 (synopsis "Fast JSON reader / writer library for Common Lisp")
14370 (description
14371 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14372 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14373 functions and macros have been added to ease the burden of writing and editing
14374 @code{jsown} objects.
14375
14376 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14377 list and write them back. If you only need partial retrieval of objects,
14378 @code{jsown} allows you to select the keys which you would like to see parsed.
14379 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14380 objects themselves.")
14381 (license license:expat))))
14382
14383 (define-public ecl-jsown
14384 (sbcl-package->ecl-package sbcl-jsown))
14385
14386 (define-public cl-jsown
14387 (sbcl-package->cl-source-package sbcl-jsown))
14388
14389 (define-public sbcl-system-locale
14390 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14391 (package
14392 (name "sbcl-system-locale")
14393 (version (git-version "1.0.0" "1" commit))
14394 (source
14395 (origin
14396 (method git-fetch)
14397 (uri (git-reference
14398 (url "https://github.com/Shinmera/system-locale/")
14399 (commit commit)))
14400 (file-name (git-file-name name commit))
14401 (sha256
14402 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14403 (build-system asdf-build-system/sbcl)
14404 (inputs
14405 `(("documentation-utils" ,sbcl-documentation-utils)))
14406 (home-page "https://shinmera.github.io/system-locale/")
14407 (synopsis "Get the system's locale and language settings in Common Lisp")
14408 (description
14409 "This library retrieves locale information configured on the
14410 system. This is helpful if you want to write applications and libraries that
14411 display messages in the user's native language.")
14412 (license license:zlib))))
14413
14414 (define-public ecl-system-locale
14415 (sbcl-package->ecl-package sbcl-system-locale))
14416
14417 (define-public cl-system-locale
14418 (sbcl-package->cl-source-package sbcl-system-locale))
14419
14420 (define-public sbcl-language-codes
14421 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14422 (package
14423 (name "sbcl-language-codes")
14424 (version (git-version "1.0.0" "1" commit))
14425 (source
14426 (origin
14427 (method git-fetch)
14428 (uri (git-reference
14429 (url "https://github.com/Shinmera/language-codes")
14430 (commit commit)))
14431 (file-name (git-file-name name commit))
14432 (sha256
14433 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14434 (build-system asdf-build-system/sbcl)
14435 (inputs
14436 `(("documentation-utils" ,sbcl-documentation-utils)))
14437 (home-page "https://shinmera.github.io/language-codes/")
14438 (synopsis "Map ISO language codes to language names in Common Lisp")
14439 (description
14440 "This is a small library providing the ISO-639 language code to
14441 language name mapping.")
14442 (license license:zlib))))
14443
14444 (define-public ecl-language-codes
14445 (sbcl-package->ecl-package sbcl-language-codes))
14446
14447 (define-public cl-language-codes
14448 (sbcl-package->cl-source-package sbcl-language-codes))
14449
14450 (define-public sbcl-multilang-documentation
14451 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14452 (package
14453 (name "sbcl-multilang-documentation")
14454 (version (git-version "1.0.0" "1" commit))
14455 (source
14456 (origin
14457 (method git-fetch)
14458 (uri (git-reference
14459 (url "https://github.com/Shinmera/multilang-documentation")
14460 (commit commit)))
14461 (file-name (git-file-name name commit))
14462 (sha256
14463 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14464 (build-system asdf-build-system/sbcl)
14465 (inputs
14466 `(("documentation-utils" ,sbcl-documentation-utils)
14467 ("language-codes" ,sbcl-language-codes)
14468 ("system-locale" ,sbcl-system-locale)))
14469 (home-page "https://shinmera.github.io/multilang-documentation/")
14470 (synopsis "Add multiple languages support to Common Lisp documentation")
14471 (description
14472 "This library provides a drop-in replacement function for
14473 cl:documentation that supports multiple docstrings per-language, allowing you
14474 to write documentation that can be internationalised.")
14475 (license license:zlib))))
14476
14477 (define-public ecl-multilang-documentation
14478 (sbcl-package->ecl-package sbcl-multilang-documentation))
14479
14480 (define-public cl-multilang-documentation
14481 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14482
14483 (define-public sbcl-trivial-do
14484 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14485 (package
14486 (name "sbcl-trivial-do")
14487 (version (git-version "0.1" "1" commit))
14488 (source
14489 (origin
14490 (method git-fetch)
14491 (uri (git-reference
14492 (url "https://github.com/yitzchak/trivial-do")
14493 (commit commit)))
14494 (file-name (git-file-name name commit))
14495 (sha256
14496 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14497 (build-system asdf-build-system/sbcl)
14498 (home-page "https://github.com/yitzchak/trivial-do")
14499 (synopsis "Additional dolist style macros for Common Lisp")
14500 (description
14501 "Additional dolist style macros for Common Lisp, such as
14502 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14503 and @code{doseq*}.")
14504 (license license:zlib))))
14505
14506 (define-public ecl-trivial-do
14507 (sbcl-package->ecl-package sbcl-trivial-do))
14508
14509 (define-public cl-trivial-do
14510 (sbcl-package->cl-source-package sbcl-trivial-do))
14511
14512 (define-public sbcl-common-lisp-jupyter
14513 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14514 (package
14515 (name "sbcl-common-lisp-jupyter")
14516 (version (git-version "0.1" "2" commit))
14517 (source
14518 (origin
14519 (method git-fetch)
14520 (uri (git-reference
14521 (url "https://github.com/yitzchak/common-lisp-jupyter")
14522 (commit commit)))
14523 (file-name (git-file-name name commit))
14524 (sha256
14525 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14526 (build-system asdf-build-system/sbcl)
14527 (inputs
14528 `(("alexandria" ,sbcl-alexandria)
14529 ("babel" ,sbcl-babel)
14530 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14531 ("cl-base64" ,sbcl-cl-base64)
14532 ("cl-indentify" ,sbcl-cl-indentify)
14533 ("closer-mop" ,sbcl-closer-mop)
14534 ("eclector" ,sbcl-eclector)
14535 ("ironclad" ,sbcl-ironclad)
14536 ("iterate" ,sbcl-iterate)
14537 ("jsown" ,sbcl-jsown)
14538 ("multilang-documentation" ,sbcl-multilang-documentation)
14539 ("pzmq" ,sbcl-pzmq)
14540 ("puri" ,sbcl-puri)
14541 ("static-vectors" ,sbcl-static-vectors)
14542 ("trivial-do" ,sbcl-trivial-do)
14543 ("trivial-garbage" ,sbcl-trivial-garbage)
14544 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14545 ("trivial-mimes" ,sbcl-trivial-mimes)))
14546 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14547 (synopsis "Common Lisp kernel for Jupyter")
14548 (description
14549 "This is a Common Lisp kernel for Jupyter along with a library for
14550 building Jupyter kernels, based on Maxima-Jupyter which was based on
14551 @code{cl-jupyter}.")
14552 (license license:zlib))))
14553
14554 (define-public ecl-common-lisp-jupyter
14555 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14556
14557 (define-public cl-common-lisp-jupyter
14558 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14559
14560 (define-public sbcl-radiance
14561 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14562 (revision "1"))
14563 (package
14564 (name "sbcl-radiance")
14565 (version (git-version "2.1.2" revision commit))
14566 (source
14567 (origin
14568 (method git-fetch)
14569 (uri (git-reference
14570 (url "https://github.com/Shirakumo/radiance")
14571 (commit commit)))
14572 (file-name (git-file-name "radiance" version))
14573 (sha256
14574 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14575 (build-system asdf-build-system/sbcl)
14576 (arguments
14577 `(#:tests? #f ; TODO: The tests require some configuration.
14578 #:phases
14579 (modify-phases %standard-phases
14580 (add-after 'unpack 'disable-quicklisp
14581 (lambda _
14582 ;; Disable the automatic installation of systems by Quicklisp.
14583 ;; (Maybe there would be a way to package Quicklisp and make it
14584 ;; install things in the user's directory instead of
14585 ;; /gnu/store/...).
14586 (substitute* "interfaces.lisp"
14587 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14588 all)
14589 (string-append "#+quicklisp " all))))))))
14590 (native-inputs
14591 `(("alexandria" ,sbcl-alexandria)
14592 ("dexador" ,sbcl-dexador)
14593 ("parachute" ,sbcl-parachute)
14594 ("verbose" ,sbcl-verbose)))
14595 (inputs
14596 `(("babel" ,sbcl-babel)
14597 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14598 ("cl-ppcre" ,sbcl-cl-ppcre)
14599 ("closer-mop" ,sbcl-closer-mop)
14600 ("documentation-utils" ,sbcl-documentation-utils)
14601 ("deploy" ,sbcl-deploy)
14602 ("form-fiddle" ,sbcl-form-fiddle)
14603 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14604 ("local-time" ,sbcl-local-time)
14605 ("modularize-hooks" ,sbcl-modularize-hooks)
14606 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14607 ("puri" ,sbcl-puri)
14608 ("trivial-indent" ,sbcl-trivial-indent)
14609 ("trivial-mimes" ,sbcl-trivial-mimes)
14610 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14611 (home-page "https://shirakumo.github.io/radiance/")
14612 (synopsis "Common Lisp web application environment")
14613 (description
14614 "Radiance is a web application environment, which is sort of like a web
14615 framework, but more general, more flexible. It should let you write personal
14616 websites and generally deployable applications easily and in such a way that
14617 they can be used on practically any setup without having to undergo special
14618 adaptations.")
14619 (license license:zlib))))
14620
14621 (define-public ecl-radiance
14622 (sbcl-package->ecl-package sbcl-radiance))
14623
14624 (define-public cl-radiance
14625 (sbcl-package->cl-source-package sbcl-radiance))
14626
14627 (define-public sbcl-daemon
14628 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14629 (revision "1"))
14630 (package
14631 (name "sbcl-daemon")
14632 (version (git-version "0.0.4" revision commit))
14633 (source
14634 (origin
14635 (method git-fetch)
14636 (uri (git-reference
14637 (url "https://github.com/snmsts/daemon")
14638 (commit commit)))
14639 (file-name (git-file-name "daemon" version))
14640 (sha256
14641 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14642 (build-system asdf-build-system/sbcl)
14643 (inputs
14644 `(("trivial-features" ,sbcl-trivial-features)))
14645 (home-page "https://github.com/snmsts/daemon")
14646 (synopsis "Daemonize Common Lisp processes")
14647 (description
14648 "DAEMON provides the functionality of daemonizing Common Lisp processes
14649 on UNIX like platforms.")
14650 (license license:expat))))
14651
14652 (define-public ecl-daemon
14653 (sbcl-package->ecl-package sbcl-daemon))
14654
14655 (define-public cl-daemon
14656 (sbcl-package->cl-source-package sbcl-daemon))
14657
14658 (define-public sbcl-file-attributes
14659 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14660 (package
14661 (name "sbcl-file-attributes")
14662 (version (git-version "1.0.0" "2" commit))
14663 (source
14664 (origin
14665 (method git-fetch)
14666 (uri (git-reference
14667 (url "https://github.com/Shinmera/file-attributes/")
14668 (commit commit)))
14669 (file-name (git-file-name name version))
14670 (sha256
14671 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14672 (build-system asdf-build-system/sbcl)
14673 (inputs
14674 `(("cffi" ,sbcl-cffi)
14675 ("documentation-utils" ,sbcl-documentation-utils)
14676 ("trivial-features" ,sbcl-trivial-features)))
14677 (home-page "https://shinmera.github.io/file-attributes/")
14678 (synopsis "Access to common file attributes in Common Lisp")
14679 (description
14680 "This is a small OS portability library to retrieve and set file
14681 attributes not supported by the Common Lisp standard functions.")
14682 (license license:zlib))))
14683
14684 (define-public ecl-file-attributes
14685 (sbcl-package->ecl-package sbcl-file-attributes))
14686
14687 (define-public cl-file-attributes
14688 (sbcl-package->cl-source-package sbcl-file-attributes))
14689
14690 (define-public sbcl-cl-difflib
14691 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14692 (revision "0"))
14693 (package
14694 (name "sbcl-cl-difflib")
14695 (version (git-version "0.2" revision commit))
14696 (source
14697 (origin
14698 (method git-fetch)
14699 (uri (git-reference
14700 (url "https://github.com/wiseman/cl-difflib")
14701 (commit commit)))
14702 (file-name
14703 (git-file-name name version))
14704 (sha256
14705 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14706 (build-system asdf-build-system/sbcl)
14707 ;; Due to the age of this library tests use some deprecated
14708 ;; functionality and keep failing.
14709 (arguments
14710 '(#:tests? #f
14711 #:asd-files '("cl-difflib.asd")))
14712 (home-page "https://github.com/wiseman/cl-difflib")
14713 (synopsis "Compute differences between pairs of sequences")
14714 (description
14715 "A Common Lisp library for computing differences between
14716 sequences based on the Python difflib module.")
14717 (license license:expat))))
14718
14719 (define-public ecl-cl-difflib
14720 (sbcl-package->ecl-package sbcl-cl-difflib))
14721
14722 (define-public cl-difflib
14723 (sbcl-package->cl-source-package sbcl-cl-difflib))
14724
14725 (define-public sbcl-cl-html-diff
14726 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14727 (revision "0"))
14728 (package
14729 (name "sbcl-cl-html-diff")
14730 (version (git-version "0.1" revision commit))
14731 (source
14732 (origin
14733 (method git-fetch)
14734 (uri (git-reference
14735 (url "https://github.com/wiseman/cl-html-diff")
14736 (commit commit)))
14737 (file-name
14738 (git-file-name name version))
14739 (sha256
14740 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14741 (build-system asdf-build-system/sbcl)
14742 (inputs
14743 `(("cl-difflib" ,sbcl-cl-difflib)))
14744 (home-page "https://github.com/wiseman/cl-html-diff")
14745 (synopsis "Generate a human-readable diff of two HTML documents")
14746 (description
14747 "A Common Lisp library for generating a human-readable diff of two
14748 HTML documents.")
14749 (license license:expat))))
14750
14751 (define-public ecl-cl-html-diff
14752 (sbcl-package->ecl-package sbcl-cl-html-diff))
14753
14754 (define-public cl-html-diff
14755 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14756
14757 (define-public sbcl-tooter
14758 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14759 (revision "1"))
14760 (package
14761 (name "sbcl-tooter")
14762 (version (git-version "1.0.0" revision commit))
14763 (source
14764 (origin
14765 (method git-fetch)
14766 (uri (git-reference
14767 (url "https://github.com/Shinmera/tooter")
14768 (commit commit)))
14769 (file-name (git-file-name "tooter" version))
14770 (sha256
14771 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14772 (build-system asdf-build-system/sbcl)
14773 (inputs
14774 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
14775 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
14776 ("sbcl-drakma" ,sbcl-drakma)
14777 ("sbcl-yason" ,sbcl-yason)))
14778 (synopsis "Common Lisp client library for Mastodon instances")
14779 (description
14780 "This is a Common Lisp library implementing the full v1 REST API
14781 protocol for Mastodon.")
14782 (home-page "https://shinmera.github.io/tooter/")
14783 (license license:zlib))))
14784
14785 (define-public ecl-tooter
14786 (sbcl-package->ecl-package sbcl-tooter))
14787
14788 (define-public cl-tooter
14789 (sbcl-package->cl-source-package sbcl-tooter))
14790
14791 (define-public sbcl-croatoan
14792 (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
14793 (revision "1"))
14794 (package
14795 (name "sbcl-croatoan")
14796 (version (git-version "0.0.1" revision commit))
14797 (source
14798 (origin
14799 (method git-fetch)
14800 (uri (git-reference
14801 (url "https://github.com/McParen/croatoan")
14802 (commit commit)))
14803 (file-name (git-file-name "croatoan" version))
14804 (sha256
14805 (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
14806 (build-system asdf-build-system/sbcl)
14807 (arguments
14808 '(#:phases
14809 (modify-phases %standard-phases
14810 (add-after 'unpack 'fix-paths
14811 (lambda* (#:key inputs #:allow-other-keys)
14812 (substitute* "ncurses/ncurses.lisp"
14813 (("libncursesw" all)
14814 (string-append (assoc-ref inputs "ncurses")
14815 "/lib/"
14816 all))))))))
14817 (inputs
14818 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14819 ("cffi" ,sbcl-cffi)
14820 ("ncurses" ,ncurses)
14821 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14822 (synopsis "Common Lisp bindings for the ncurses terminal library")
14823 (description "Croatoan provides high-level Common Lisp CLOS bindings for
14824 the ncurses terminal library.")
14825 (home-page "https://github.com/McParen/croatoan")
14826 (license license:expat))))
14827
14828 (define-public ecl-croatoan
14829 (sbcl-package->ecl-package sbcl-croatoan))
14830
14831 (define-public cl-croatoan
14832 (sbcl-package->cl-source-package sbcl-croatoan))
14833
14834 (define-public sbcl-cl-spark
14835 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
14836 (revision "1"))
14837 (package
14838 (name "sbcl-cl-spark")
14839 (version (git-version "0.1.13" revision commit))
14840 (source
14841 (origin
14842 (method git-fetch)
14843 (uri (git-reference
14844 (url "https://github.com/tkych/cl-spark")
14845 (commit commit)))
14846 (file-name (git-file-name "cl-spark" version))
14847 (sha256
14848 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
14849 (build-system asdf-build-system/sbcl)
14850 (native-inputs
14851 `(("fiveam" ,sbcl-fiveam)))
14852 (synopsis "Common Lisp library to make histograms")
14853 (description "This is a Common Lisp library to make histograms using
14854 UTF-8 block characters.")
14855 (home-page "https://github.com/tkych/cl-spark")
14856 (license license:expat))))
14857
14858 (define-public ecl-cl-spark
14859 (sbcl-package->ecl-package sbcl-cl-spark))
14860
14861 (define-public cl-spark
14862 (sbcl-package->cl-source-package sbcl-cl-spark))
14863
14864 (define-public sbcl-access
14865 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
14866 (revision "1"))
14867 (package
14868 (name "sbcl-access")
14869 (version (git-version "1.5.0" revision commit))
14870 (source
14871 (origin
14872 (method git-fetch)
14873 (uri (git-reference
14874 (url "https://github.com/sharplispers/access")
14875 (commit commit)))
14876 (file-name (git-file-name "access" version))
14877 (sha256
14878 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
14879 (build-system asdf-build-system/sbcl)
14880 (native-inputs
14881 `(("lisp-unit2" ,sbcl-lisp-unit2)))
14882 (inputs
14883 `(("alexandria" ,sbcl-alexandria)
14884 ("anaphora" ,sbcl-anaphora)
14885 ("closer-mop" ,sbcl-closer-mop)
14886 ("interpol" ,sbcl-cl-interpol)
14887 ("iterate" ,sbcl-iterate)))
14888 (synopsis
14889 "Common lisp library to unify access to dictionary-like structures")
14890 (description
14891 "This is a Common lisp library to unify access to the most common
14892 dictionary-like data structures.")
14893 (home-page "https://github.com/sharplispers/access")
14894 (license license:bsd-3))))
14895
14896 (define-public ecl-access
14897 (sbcl-package->ecl-package sbcl-access))
14898
14899 (define-public cl-access
14900 (sbcl-package->cl-source-package sbcl-access))
14901
14902 (define-public sbcl-sxql-composer
14903 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
14904 (revision "1"))
14905 (package
14906 (name "sbcl-sxql-composer")
14907 (version (git-version "0.1" revision commit))
14908 (source
14909 (origin
14910 (method git-fetch)
14911 (uri (git-reference
14912 (url "https://github.com/mmontone/sxql-composer")
14913 (commit commit)))
14914 (file-name (git-file-name "sxql-composer" version))
14915 (sha256
14916 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
14917 (build-system asdf-build-system/sbcl)
14918 (inputs
14919 `(("sxql" ,sbcl-sxql)))
14920 (synopsis "Build and compose SXQL queries dynamically")
14921 (description
14922 "This is a Common Lisp library to build and compose SXQL queries
14923 dynamically.")
14924 (home-page "https://github.com/mmontone/sxql-composer")
14925 (license license:expat))))
14926
14927 (define-public ecl-sxql-composer
14928 (sbcl-package->ecl-package sbcl-sxql-composer))
14929
14930 (define-public cl-sxql-composer
14931 (sbcl-package->cl-source-package sbcl-sxql-composer))
14932
14933 (define-public sbcl-cl-i18n
14934 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
14935 (revision "1"))
14936 (package
14937 (name "sbcl-cl-i18n")
14938 (version (git-version "0.5.0" revision commit))
14939 (source
14940 (origin
14941 (method git-fetch)
14942 (uri (git-reference
14943 (url "https://notabug.org/cage/cl-i18n")
14944 (commit commit)))
14945 (file-name (git-file-name "cl-i18n" version))
14946 (sha256
14947 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
14948 (build-system asdf-build-system/sbcl)
14949 (inputs
14950 `(("alexandria" ,sbcl-alexandria)
14951 ("babel" ,sbcl-babel)
14952 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
14953 (synopsis "Internationalisation framework for Common Lisp")
14954 (description
14955 "This is a Gettext-style internationalisation framework for Common
14956 Lisp.")
14957 (home-page "https://notabug.org/cage/cl-i18n")
14958 (license license:llgpl))))
14959
14960 (define-public ecl-cl-i18n
14961 (sbcl-package->ecl-package sbcl-cl-i18n))
14962
14963 (define-public cl-i18n
14964 (sbcl-package->cl-source-package sbcl-cl-i18n))
14965
14966 (define-public sbcl-crypto-shortcuts
14967 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
14968 (revision "1"))
14969 (package
14970 (name "sbcl-crypto-shortcuts")
14971 (version (git-version "2.0.0" revision commit))
14972 (source
14973 (origin
14974 (method git-fetch)
14975 (uri (git-reference
14976 (url "https://github.com/Shinmera/crypto-shortcuts")
14977 (commit commit)))
14978 (file-name (git-file-name "crypto-shortcuts" version))
14979 (sha256
14980 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
14981 (build-system asdf-build-system/sbcl)
14982 (inputs
14983 `(("cl-base64" ,sbcl-cl-base64)
14984 ("flexi-stream" ,sbcl-flexi-streams)
14985 ("ironclad" ,sbcl-ironclad)))
14986 (synopsis "Collection of common cryptography functions")
14987 (description
14988 "This is a collection of common cryptography functions for Common
14989 Lisp.")
14990 (home-page "https://shinmera.github.io/crypto-shortcuts/")
14991 (license license:zlib))))
14992
14993 (define-public ecl-crypto-shortcuts
14994 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
14995
14996 (define-public cl-crypto-shortcuts
14997 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
14998
14999 (define-public sbcl-cl-html5-parser
15000 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
15001 (revision "1"))
15002 (package
15003 (name "sbcl-cl-html5-parser")
15004 (version (git-version "0.0.0" revision commit))
15005 (source
15006 (origin
15007 (method git-fetch)
15008 (uri (git-reference
15009 (url "https://github.com/rotatef/cl-html5-parser")
15010 (commit commit)))
15011 (file-name (git-file-name "cl-html5-parser" version))
15012 (sha256
15013 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15014 (build-system asdf-build-system/sbcl)
15015 (arguments
15016 '(#:tests? #f
15017 #:asd-systems '("cl-html5-parser")))
15018 (inputs
15019 `(("cl-ppcre" ,sbcl-cl-ppcre)
15020 ("flexi-stream" ,sbcl-flexi-streams)
15021 ("string-case" ,sbcl-string-case)))
15022 (synopsis "HTML5 parser for Common Lisp")
15023 (description "This a Common Lisp library to parse HTML5 documents.")
15024 (home-page "https://github.com/rotatef/cl-html5-parser")
15025 (license license:lgpl3+))))
15026
15027 (define-public ecl-cl-html5-parser
15028 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15029
15030 (define-public cl-html5-parser
15031 (sbcl-package->cl-source-package sbcl-cl-html5-parser))
15032
15033 (define-public sbcl-percent-encoding
15034 (let ((commit "c1224e22bc8048fbd3ebbc9329715a0c1b673170")
15035 (revision "1"))
15036 (package
15037 (name "sbcl-percent-encoding")
15038 (version (git-version "0.1" revision commit))
15039 (source
15040 (origin
15041 (method git-fetch)
15042 (uri (git-reference
15043 (url "https://github.com/llibra/percent-encoding")
15044 (commit commit)))
15045 (file-name (git-file-name "percent-encoding" version))
15046 (sha256
15047 (base32 "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h"))))
15048 (build-system asdf-build-system/sbcl)
15049 (native-inputs
15050 `(("fiveam" ,sbcl-fiveam)))
15051 (inputs
15052 `(("anaphora" ,sbcl-anaphora)
15053 ("babel" ,sbcl-babel)))
15054 (synopsis "RFC 3986 percent-encoding library")
15055 (description
15056 "This is a Common Lisp library providing RFC 3986 percent-encoding.")
15057 (home-page "https://github.com/llibra/percent-encoding")
15058 (license license:expat))))
15059
15060 (define-public ecl-percent-encoding
15061 (sbcl-package->ecl-package sbcl-percent-encoding))
15062
15063 (define-public cl-percent-encoding
15064 (sbcl-package->cl-source-package sbcl-percent-encoding))
15065
15066 (define-public sbcl-cl-mount-info
15067 (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b")
15068 (revision "1"))
15069 (package
15070 (name "sbcl-cl-mount-info")
15071 (version (git-version "0.0.1" revision commit))
15072 (source
15073 (origin
15074 (method git-fetch)
15075 (uri (git-reference
15076 (url "https://notabug.org/cage/cl-mount-info.git")
15077 (commit commit)))
15078 (file-name (git-file-name "cl-mount-info" version))
15079 (sha256
15080 (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x"))))
15081 (build-system asdf-build-system/sbcl)
15082 (inputs
15083 `(("alexandria" ,sbcl-alexandria)
15084 ("cffi" ,sbcl-cffi)
15085 ("cl-ppcre" ,sbcl-cl-ppcre)))
15086 (home-page "https://notabug.org/cage/cl-mount-info.git")
15087 (synopsis "Library to get information about mounted filesystems")
15088 (description
15089 "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and
15090 related C functions to get information about the mounted file system.")
15091 (license license:lgpl3))))
15092
15093 (define-public ecl-cl-mount-info
15094 (sbcl-package->ecl-package sbcl-cl-mount-info))
15095
15096 (define-public cl-mount-info
15097 (sbcl-package->cl-source-package sbcl-cl-mount-info))
15098
15099 (define-public sbcl-cl-diskspace
15100 (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55")
15101 (revision "1"))
15102 (package
15103 (name "sbcl-cl-diskspace")
15104 (version (git-version "0.3.1" revision commit))
15105 (source
15106 (origin
15107 (method git-fetch)
15108 (uri (git-reference
15109 (url "https://github.com/muyinliu/cl-diskspace")
15110 (commit commit)))
15111 (file-name (git-file-name "cl-diskspace" version))
15112 (sha256
15113 (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7"))))
15114 (build-system asdf-build-system/sbcl)
15115 (arguments
15116 `(#:phases
15117 (modify-phases %standard-phases
15118 (add-after 'unpack 'fix-paths
15119 (lambda* (#:key inputs #:allow-other-keys)
15120 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15121 (("grep")
15122 (string-append (assoc-ref inputs "grep") "/bin/grep")))
15123 (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp"
15124 (("/bin/df")
15125 (which "df")))
15126 #t)))))
15127 (inputs
15128 `(("cl-ppcre" ,sbcl-cl-ppcre)
15129 ("cffi" ,sbcl-cffi)
15130 ("grep" ,grep)))
15131 (home-page "https://github.com/muyinliu/cl-diskspace")
15132 (synopsis "Disk space information library for Common Lisp")
15133 (description
15134 "CL-DISKSPACE is a Common Lisp library to list disks with the command
15135 line tool @code{df} and get disk space information using @code{statvfs}.")
15136 (license license:isc))))
15137
15138 (define-public ecl-cl-diskspace
15139 (sbcl-package->ecl-package sbcl-cl-diskspace))
15140
15141 (define-public cl-diskspace
15142 (sbcl-package->cl-source-package sbcl-cl-diskspace))