gnu: Add cl-html5-parser.
[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 "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1679 (package
1680 (name "sbcl-esrap")
1681 (version (git-version "0.0.0" "1" commit))
1682 (source
1683 (origin
1684 (method git-fetch)
1685 (uri (git-reference
1686 (url "https://github.com/nikodemus/esrap")
1687 (commit commit)))
1688 (sha256
1689 (base32
1690 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1691 (file-name (git-file-name "esrap" version))))
1692 (build-system asdf-build-system/sbcl)
1693 (native-inputs
1694 `(("eos" ,sbcl-eos))) ;For testing only.
1695 (inputs
1696 `(("alexandria" ,sbcl-alexandria)))
1697 (synopsis "Common Lisp packrat parser")
1698 (description
1699 "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 @end itemize\n")
1708 (home-page "https://nikodemus.github.io/esrap/")
1709 (license license:expat))))
1710
1711 (define-public cl-esrap
1712 (sbcl-package->cl-source-package sbcl-esrap))
1713
1714 (define-public ecl-esrap
1715 (sbcl-package->ecl-package sbcl-esrap))
1716
1717 (define-public sbcl-split-sequence
1718 (package
1719 (name "sbcl-split-sequence")
1720 (version "2.0.0")
1721 (source
1722 (origin
1723 (method git-fetch)
1724 (uri (git-reference
1725 (url "https://github.com/sharplispers/split-sequence")
1726 (commit (string-append "v" version))))
1727 (sha256
1728 (base32
1729 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1730 (file-name (git-file-name "split-sequence" version))))
1731 (build-system asdf-build-system/sbcl)
1732 (native-inputs
1733 `(("fiveam" ,sbcl-fiveam)))
1734 (synopsis "Member of the Common Lisp Utilities family of programs")
1735 (description
1736 "Splits sequence into a list of subsequences delimited by objects
1737 satisfying the test.")
1738 (home-page "https://cliki.net/split-sequence")
1739 (license license:expat)))
1740
1741 (define-public cl-split-sequence
1742 (sbcl-package->cl-source-package sbcl-split-sequence))
1743
1744 (define-public ecl-split-sequence
1745 (sbcl-package->ecl-package sbcl-split-sequence))
1746
1747 (define-public sbcl-html-encode
1748 (package
1749 (name "sbcl-html-encode")
1750 (version "1.2")
1751 (source
1752 (origin
1753 (method url-fetch)
1754 (uri (string-append
1755 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1756 version ".tgz"))
1757 (sha256
1758 (base32
1759 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1760 (file-name (string-append "colorize" version "-checkout"))))
1761 (build-system asdf-build-system/sbcl)
1762 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1763 (description
1764 "A library for encoding text in various web-savvy encodings.")
1765 (home-page "http://quickdocs.org/html-encode/")
1766 (license license:expat)))
1767
1768 (define-public cl-html-encode
1769 (sbcl-package->cl-source-package sbcl-html-encode))
1770
1771 (define-public ecl-html-encode
1772 (sbcl-package->ecl-package sbcl-html-encode))
1773
1774 (define-public sbcl-colorize
1775 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1776 (package
1777 (name "sbcl-colorize")
1778 (version (git-version "0.0.0" "1" commit))
1779 (source
1780 (origin
1781 (method git-fetch)
1782 (uri (git-reference
1783 (url "https://github.com/kingcons/colorize")
1784 (commit commit)))
1785 (sha256
1786 (base32
1787 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1788 (file-name (git-file-name "colorize" version))))
1789 (build-system asdf-build-system/sbcl)
1790 (inputs
1791 `(("alexandria" ,sbcl-alexandria)
1792 ("split-sequence" ,sbcl-split-sequence)
1793 ("html-encode" ,sbcl-html-encode)))
1794 (synopsis "Common Lisp for syntax highlighting")
1795 (description
1796 "@command{colorize} is a Lisp library for syntax highlighting
1797 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1798 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1799 (home-page "https://github.com/kingcons/colorize")
1800 ;; TODO: Missing license?
1801 (license license:expat))))
1802
1803 (define-public cl-colorize
1804 (sbcl-package->cl-source-package sbcl-colorize))
1805
1806 (define-public ecl-colorize
1807 (sbcl-package->ecl-package sbcl-colorize))
1808
1809 (define-public sbcl-3bmd
1810 (let ((commit "6fc5759448f6f6df6f6df556e020a289a2643288")
1811 (revision "2"))
1812 (package
1813 (name "sbcl-3bmd")
1814 (version (git-version "0.0.0" revision commit))
1815 (source
1816 (origin
1817 (method git-fetch)
1818 (uri (git-reference
1819 (url "https://github.com/3b/3bmd")
1820 (commit commit)))
1821 (sha256
1822 (base32 "1avmbp8xdjlbqpqk7p3vmj7abiw5p3vb5mrxp4wlvgql4sf6z3p4"))
1823 (file-name (git-file-name "3bmd" version))))
1824 (build-system asdf-build-system/sbcl)
1825 (arguments
1826 ;; FIXME: #41437 - Build fails when package name starts from a digit
1827 `(#:asd-systems
1828 '("3bmd"
1829 "3bmd-ext-definition-lists"
1830 "3bmd-ext-math"
1831 "3bmd-ext-tables"
1832 "3bmd-ext-wiki-links"
1833 "3bmd-youtube"
1834 "3bmd-ext-code-blocks")))
1835 (inputs
1836 `(("alexandria" ,sbcl-alexandria)
1837 ("colorize" ,sbcl-colorize)
1838 ("esrap" ,sbcl-esrap)
1839 ("split-sequence" ,sbcl-split-sequence)))
1840 (home-page "https://github.com/3b/3bmd")
1841 (synopsis "Markdown processor in Command Lisp using esrap parser")
1842 (description
1843 "This is a Common Lisp Markdown to HTML converter, using @command{esrap}
1844 for parsing, and grammar based on @command{peg-markdown}.")
1845 (license license:expat))))
1846
1847 (define-public cl-3bmd
1848 (sbcl-package->cl-source-package sbcl-3bmd))
1849
1850 (define-public ecl-3bmd
1851 (sbcl-package->ecl-package sbcl-3bmd))
1852
1853 (define-public sbcl-cl-fad
1854 (package
1855 (name "sbcl-cl-fad")
1856 (version "0.7.6")
1857 (source
1858 (origin
1859 (method git-fetch)
1860 (uri (git-reference
1861 (url "https://github.com/edicl/cl-fad/")
1862 (commit (string-append "v" version))))
1863 (sha256
1864 (base32
1865 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1866 (file-name (string-append "cl-fad" version "-checkout"))))
1867 (build-system asdf-build-system/sbcl)
1868 (inputs
1869 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1870 (synopsis "Portable pathname library for Common Lisp")
1871 (description
1872 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1873 Lisp's standard pathname functions. It is intended to provide some
1874 unification between current CL implementations on Windows, OS X, Linux, and
1875 Unix. Most of the code was written by Peter Seibel for his book Practical
1876 Common Lisp.")
1877 (home-page "https://edicl.github.io/cl-fad/")
1878 (license license:bsd-2)))
1879
1880 (define-public cl-fad
1881 (sbcl-package->cl-source-package sbcl-cl-fad))
1882
1883 (define-public ecl-cl-fad
1884 (sbcl-package->ecl-package sbcl-cl-fad))
1885
1886 (define-public sbcl-fn
1887 (let ((commit "8d8587d03a7b5e26b306fc90018e385d9e5acc2c")
1888 (revision "1"))
1889 (package
1890 (name "sbcl-fn")
1891 (version (git-version "0.0.0" revision commit))
1892 (source
1893 (origin
1894 (method git-fetch)
1895 (uri (git-reference
1896 (url "https://github.com/cbaggers/fn")
1897 (commit commit)))
1898 (file-name (git-file-name "fn" version))
1899 (sha256
1900 (base32 "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752"))))
1901 (build-system asdf-build-system/sbcl)
1902 (inputs
1903 `(("named-readtables" ,sbcl-named-readtables)))
1904 (home-page "https://github.com/cbaggers/fn")
1905 (synopsis "Macros for lambda brevity")
1906 (description
1907 "This is a Common Lisp library providing lambda shorthand macros aiming
1908 to be used in cases where the word @emph{lambda} and the arguments are longer
1909 than the body of the lambda.")
1910 (license license:public-domain))))
1911
1912 (define-public ecl-fn
1913 (sbcl-package->ecl-package sbcl-fn))
1914
1915 (define-public cl-fn
1916 (sbcl-package->cl-source-package sbcl-fn))
1917
1918 (define-public sbcl-rt
1919 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1920 (revision "1"))
1921 (package
1922 (name "sbcl-rt")
1923 (version (git-version "1990.12.19" revision commit))
1924 (source
1925 (origin
1926 (method git-fetch)
1927 (uri (git-reference
1928 (url "http://git.kpe.io/rt.git")
1929 (commit commit)))
1930 (file-name (git-file-name name version))
1931 (sha256
1932 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1933 (build-system asdf-build-system/sbcl)
1934 (synopsis "MIT Regression Tester")
1935 (description
1936 "RT provides a framework for writing regression test suites.")
1937 (home-page "https://www.cliki.net/rt")
1938 (license license:expat))))
1939
1940 (define-public cl-rt
1941 (sbcl-package->cl-source-package sbcl-rt))
1942
1943 (define-public ecl-rt
1944 (sbcl-package->ecl-package sbcl-rt))
1945
1946 (define-public sbcl-nibbles
1947 ;; No tagged release since 2018.
1948 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1949 (revision "1"))
1950 (package
1951 (name "sbcl-nibbles")
1952 (version (git-version "0.14" revision commit))
1953 (source
1954 (origin
1955 (method git-fetch)
1956 (uri (git-reference
1957 (url "https://github.com/sharplispers/nibbles/")
1958 (commit commit)))
1959 (sha256
1960 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1961 (file-name (git-file-name "nibbles" version))))
1962 (build-system asdf-build-system/sbcl)
1963 (native-inputs
1964 ;; Tests only.
1965 `(("rt" ,sbcl-rt)))
1966 (synopsis
1967 "Common Lisp library for accessing octet-addressed blocks of data")
1968 (description
1969 "When dealing with network protocols and file formats, it's common to
1970 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1971 flavors. Common Lisp sort of supports this by specifying :element-type for
1972 streams, but that facility is underspecified and there's nothing similar for
1973 read/write from octet vectors. What most people wind up doing is rolling their
1974 own small facility for their particular needs and calling it a day.
1975
1976 This library attempts to be comprehensive and centralize such
1977 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1978 vectors in signed or unsigned flavors are provided; these functions are also
1979 SETFable. Since it's sometimes desirable to read/write directly from streams,
1980 functions for doing so are also provided. On some implementations,
1981 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1982 also be supported.")
1983 (home-page "https://github.com/sharplispers/nibbles")
1984 (license license:bsd-3))))
1985
1986 (define-public cl-nibbles
1987 (sbcl-package->cl-source-package sbcl-nibbles))
1988
1989 (define-public ecl-nibbles
1990 (sbcl-package->ecl-package sbcl-nibbles))
1991
1992 (define-public sbcl-ironclad
1993 (package
1994 (name "sbcl-ironclad")
1995 (version "0.54")
1996 (source
1997 (origin
1998 (method git-fetch)
1999 (uri (git-reference
2000 (url "https://github.com/sharplispers/ironclad/")
2001 (commit (string-append "v" version))))
2002 (sha256
2003 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
2004 (file-name (git-file-name name version))))
2005 (build-system asdf-build-system/sbcl)
2006 (native-inputs
2007 ;; Tests only.
2008 `(("rt" ,sbcl-rt)))
2009 (inputs
2010 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2011 ("flexi-streams" ,sbcl-flexi-streams)))
2012 (synopsis "Cryptographic toolkit written in Common Lisp")
2013 (description
2014 "Ironclad is a cryptography library written entirely in Common Lisp.
2015 It includes support for several popular ciphers, digests, MACs and public key
2016 cryptography algorithms. For several implementations that support Gray
2017 streams, support is included for convenient stream wrappers.")
2018 (home-page "https://github.com/sharplispers/ironclad")
2019 (license license:bsd-3)))
2020
2021 (define-public cl-ironclad
2022 (sbcl-package->cl-source-package sbcl-ironclad))
2023
2024 (define-public ecl-ironclad
2025 (sbcl-package->ecl-package sbcl-ironclad))
2026
2027 (define-public sbcl-named-readtables
2028 (let ((commit "585a28eee8b1b1999279b48cb7e9731187e14b66")
2029 (revision "3"))
2030 (package
2031 (name "sbcl-named-readtables")
2032 (version (git-version "0.9" revision commit))
2033 (source
2034 (origin
2035 (method git-fetch)
2036 (uri (git-reference
2037 (url "https://github.com/melisgl/named-readtables")
2038 (commit commit)))
2039 (sha256
2040 (base32 "072p5djqq9pliw9r20rmpz5r5q5yn6rhbp98vkkp7gfcnp5ppj51"))
2041 (file-name (git-file-name "named-readtables" version))))
2042 (build-system asdf-build-system/sbcl)
2043 (home-page "https://github.com/melisgl/named-readtables/")
2044 (synopsis "Library that creates a namespace for named readtables")
2045 (description
2046 "Named readtables is a library that creates a namespace for named
2047 readtables, which is akin to package namespacing in Common Lisp.")
2048 (license license:bsd-3))))
2049
2050 (define-public cl-named-readtables
2051 (sbcl-package->cl-source-package sbcl-named-readtables))
2052
2053 (define-public ecl-named-readtables
2054 (sbcl-package->ecl-package sbcl-named-readtables))
2055
2056 (define-public sbcl-py-configparser
2057 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
2058 ;; time 8y ago, it looks like abandoned. VCS of the project:
2059 ;; https://svn.common-lisp.net/py-configparser/trunk
2060 (package
2061 (name "sbcl-py-configparser")
2062 (version "1.0.3")
2063 (source
2064 (origin
2065 (method url-fetch)
2066 (uri (string-append
2067 "https://common-lisp.net/project/py-configparser/releases/"
2068 "py-configparser-" version ".tar.gz"))
2069 (sha256
2070 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
2071 (build-system asdf-build-system/sbcl)
2072 (inputs
2073 `(("parse-number" ,sbcl-parse-number)))
2074 (home-page "http://common-lisp.net/project/py-configparser/")
2075 (synopsis "ConfigParser Python module functionality for Common Lisp")
2076 (description "The py-configparser package implements the ConfigParser
2077 Python module functionality in Common Lisp. In short, it implements reading
2078 and writing of .INI-file style configuration files with sections containing
2079 key/value pairs of configuration options. In line with the functionalities in
2080 the python module, does this package implement basic interpolation of option
2081 values in other options.")
2082 (license license:expat)))
2083
2084 (define-public cl-py-configparser
2085 (sbcl-package->cl-source-package sbcl-py-configparser))
2086
2087 (define-public ecl-py-configparser
2088 (sbcl-package->ecl-package sbcl-py-configparser))
2089
2090 (define-public sbcl-pythonic-string-reader
2091 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
2092 (package
2093 (name "sbcl-pythonic-string-reader")
2094 (version (git-version "0.0.0" "1" commit))
2095 (source
2096 (origin
2097 (method git-fetch)
2098 (uri (git-reference
2099 (url "https://github.com/smithzvk/pythonic-string-reader/")
2100 (commit commit)))
2101 (sha256
2102 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
2103 (file-name (git-file-name "pythonic-string-reader" version))))
2104 (build-system asdf-build-system/sbcl)
2105 (inputs
2106 `(("named-readtables" ,sbcl-named-readtables)))
2107 (home-page "https://github.com/smithzvk/pythonic-string-reader")
2108 (synopsis "Read table modification inspired by Python's three quote strings")
2109 (description "This piece of code sets up some reader macros that make it
2110 simpler to input string literals which contain backslashes and double quotes
2111 This is very useful for writing complicated docstrings and, as it turns out,
2112 writing code that contains string literals that contain code themselves.")
2113 (license license:bsd-3))))
2114
2115 (define-public cl-pythonic-string-reader
2116 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
2117
2118 (define-public ecl-pythonic-string-reader
2119 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
2120
2121 (define-public sbcl-slime-swank
2122 (package
2123 (name "sbcl-slime-swank")
2124 (version "2.26")
2125 (source
2126 (origin
2127 (file-name (git-file-name "slime-swank" version))
2128 (method git-fetch)
2129 (uri (git-reference
2130 (url "https://github.com/slime/slime/")
2131 (commit (string-append "v" version))))
2132 (sha256
2133 (base32
2134 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
2135 (build-system asdf-build-system/sbcl)
2136 (arguments
2137 '(#:asd-systems '("swank")))
2138 (home-page "https://github.com/slime/slime")
2139 (synopsis "Common Lisp Swank server")
2140 (description
2141 "This is only useful if you want to start a Swank server in a Lisp
2142 processes that doesn't run under Emacs. Lisp processes created by
2143 @command{M-x slime} automatically start the server.")
2144 (license (list license:gpl2+ license:public-domain))))
2145
2146 (define-public cl-slime-swank
2147 (sbcl-package->cl-source-package sbcl-slime-swank))
2148
2149 (define-public ecl-slime-swank
2150 (sbcl-package->ecl-package sbcl-slime-swank))
2151
2152 (define-public sbcl-mgl-pax
2153 (let ((commit "4ada6eb26364e71addb169ce58e4ba83bc7a8eaa")
2154 (revision "2"))
2155 (package
2156 (name "sbcl-mgl-pax")
2157 (version (git-version "0.0.3" revision commit))
2158 (source
2159 (origin
2160 (method git-fetch)
2161 (uri (git-reference
2162 (url "https://github.com/melisgl/mgl-pax")
2163 (commit commit)))
2164 (sha256
2165 (base32 "1s38crgvmd9hgqwsscqpj6m6c10a074zjgg8k5sl15yih1wkpssm"))
2166 (file-name (git-file-name "mgl-pax" version))))
2167 (build-system asdf-build-system/sbcl)
2168 (inputs
2169 `(("3bmd" ,sbcl-3bmd)
2170 ("babel" ,sbcl-babel)
2171 ("cl-fad" ,sbcl-cl-fad)
2172 ("ironclad" ,sbcl-ironclad)
2173 ("named-readtables" ,sbcl-named-readtables)
2174 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
2175 ("swank" ,sbcl-slime-swank)))
2176 (synopsis "Exploratory programming environment and documentation generator")
2177 (description
2178 "PAX provides an extremely poor man's Explorable Programming
2179 environment. Narrative primarily lives in so called sections that mix markdown
2180 docstrings with references to functions, variables, etc, all of which should
2181 probably have their own docstrings.
2182
2183 The primary focus is on making code easily explorable by using SLIME's
2184 @command{M-.} (@command{slime-edit-definition}). See how to enable some
2185 fanciness in Emacs Integration. Generating documentation from sections and all
2186 the referenced items in Markdown or HTML format is also implemented.
2187
2188 With the simplistic tools provided, one may accomplish similar effects as with
2189 Literate Programming, but documentation is generated from code, not vice versa
2190 and there is no support for chunking yet. Code is first, code must look
2191 pretty, documentation is code.")
2192 (home-page "http://quotenil.com/")
2193 (license license:expat))))
2194
2195 (define-public cl-mgl-pax
2196 (sbcl-package->cl-source-package sbcl-mgl-pax))
2197
2198 (define-public ecl-mgl-pax
2199 (sbcl-package->ecl-package sbcl-mgl-pax))
2200
2201 (define-public sbcl-mssql
2202 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
2203 (revision "1"))
2204 (package
2205 (name "sbcl-mssql")
2206 (version (git-version "0.0.3" revision commit))
2207 (source
2208 (origin
2209 (method git-fetch)
2210 (uri (git-reference
2211 (url "https://github.com/archimag/cl-mssql")
2212 (commit commit)))
2213 (file-name (git-file-name "cl-mssql" version))
2214 (sha256
2215 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
2216 (build-system asdf-build-system/sbcl)
2217 (inputs
2218 `(("cffi" ,sbcl-cffi)
2219 ("freetds" ,freetds)
2220 ("garbage-pools" ,sbcl-garbage-pools)
2221 ("iterate" ,sbcl-iterate)
2222 ("parse-number" ,sbcl-parse-number)))
2223 (arguments
2224 `(#:phases
2225 (modify-phases %standard-phases
2226 (add-after 'unpack 'fix-paths
2227 (lambda* (#:key inputs #:allow-other-keys)
2228 (substitute* "src/mssql.lisp"
2229 (("libsybdb" all)
2230 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
2231 #t)))))
2232 (home-page "https://github.com/archimag/cl-mssql")
2233 (synopsis "Common Lisp library to interact with MS SQL Server databases")
2234 (description
2235 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
2236 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
2237 project.")
2238 (license license:llgpl))))
2239
2240 (define-public ecl-mssql
2241 (sbcl-package->ecl-package sbcl-mssql))
2242
2243 (define-public cl-mssql
2244 (sbcl-package->cl-source-package sbcl-mssql))
2245
2246 (define-public sbcl-lisp-unit
2247 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
2248 (package
2249 (name "sbcl-lisp-unit")
2250 (version (git-version "0.0.0" "1" commit))
2251 (source
2252 (origin
2253 (method git-fetch)
2254 (uri (git-reference
2255 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2256 (commit commit)))
2257 (sha256
2258 (base32
2259 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2260 (file-name (git-file-name "lisp-unit" version))))
2261 (build-system asdf-build-system/sbcl)
2262 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2263 (description
2264 "@command{lisp-unit} is a Common Lisp library that supports unit
2265 testing. It is an extension of the library written by Chris Riesbeck.")
2266 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2267 (license license:expat))))
2268
2269 (define-public cl-lisp-unit
2270 (sbcl-package->cl-source-package sbcl-lisp-unit))
2271
2272 (define-public ecl-lisp-unit
2273 (sbcl-package->ecl-package sbcl-lisp-unit))
2274
2275 (define-public sbcl-anaphora
2276 (package
2277 (name "sbcl-anaphora")
2278 (version "0.9.6")
2279 (source
2280 (origin
2281 (method git-fetch)
2282 (uri (git-reference
2283 (url "https://github.com/tokenrove/anaphora")
2284 (commit version)))
2285 (sha256
2286 (base32
2287 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2288 (file-name (git-file-name "anaphora" version))))
2289 (build-system asdf-build-system/sbcl)
2290 (native-inputs
2291 `(("rt" ,sbcl-rt)))
2292 (synopsis "The anaphoric macro collection from Hell")
2293 (description
2294 "Anaphora is the anaphoric macro collection from Hell: it includes many
2295 new fiends in addition to old friends like @command{aif} and
2296 @command{awhen}.")
2297 (home-page "https://github.com/tokenrove/anaphora")
2298 (license license:public-domain)))
2299
2300 (define-public cl-anaphora
2301 (sbcl-package->cl-source-package sbcl-anaphora))
2302
2303 (define-public ecl-anaphora
2304 (sbcl-package->ecl-package sbcl-anaphora))
2305
2306 (define-public sbcl-lift
2307 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
2308 (revision "2"))
2309 (package
2310 (name "sbcl-lift")
2311 (version (git-version "1.7.1" revision commit))
2312 (source
2313 (origin
2314 (method git-fetch)
2315 (uri (git-reference
2316 (url "https://github.com/gwkkwg/lift")
2317 (commit commit)))
2318 (sha256
2319 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
2320 (file-name (git-file-name "lift" version))
2321 (modules '((guix build utils)))
2322 (snippet
2323 ;; Don't keep the bundled website
2324 `(begin
2325 (delete-file-recursively "website")
2326 #t))))
2327 (build-system asdf-build-system/sbcl)
2328 (arguments
2329 ;; The tests require a debugger, but we run with the debugger disabled.
2330 '(#:tests? #f))
2331 (synopsis "LIsp Framework for Testing")
2332 (description
2333 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2334 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2335 testcases are organized into hierarchical testsuites each of which can have
2336 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2337 supports randomized testing, benchmarking, profiling, and reporting.")
2338 (home-page "https://github.com/gwkkwg/lift")
2339 (license license:expat))))
2340
2341 (define-public cl-lift
2342 (sbcl-package->cl-source-package sbcl-lift))
2343
2344 (define-public ecl-lift
2345 (sbcl-package->ecl-package sbcl-lift))
2346
2347 (define-public sbcl-let-plus
2348 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2349 (package
2350 (name "sbcl-let-plus")
2351 (version (git-version "0.0.0" "1" commit))
2352 (source
2353 (origin
2354 (method git-fetch)
2355 (uri (git-reference
2356 (url "https://github.com/sharplispers/let-plus")
2357 (commit commit)))
2358 (sha256
2359 (base32
2360 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2361 (file-name (git-file-name "let-plus" version))))
2362 (build-system asdf-build-system/sbcl)
2363 (inputs
2364 `(("alexandria" ,sbcl-alexandria)
2365 ("anaphora" ,sbcl-anaphora)))
2366 (native-inputs
2367 `(("lift" ,sbcl-lift)))
2368 (synopsis "Destructuring extension of let*")
2369 (description
2370 "This library implements the let+ macro, which is a dectructuring
2371 extension of let*. It features:
2372
2373 @itemize
2374 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2375 not counting tests)
2376 @item Placeholder macros allow editor hints and syntax highlighting
2377 @item @command{&ign} for ignored values (in forms where that makes sense)
2378 @item Very easy to extend
2379 @end itemize\n")
2380 (home-page "https://github.com/sharplispers/let-plus")
2381 (license license:boost1.0))))
2382
2383 (define-public cl-let-plus
2384 (sbcl-package->cl-source-package sbcl-let-plus))
2385
2386 (define-public ecl-let-plus
2387 (sbcl-package->ecl-package sbcl-let-plus))
2388
2389 (define-public sbcl-cl-colors
2390 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2391 (package
2392 (name "sbcl-cl-colors")
2393 (version (git-version "0.0.0" "1" commit))
2394 (source
2395 (origin
2396 (method git-fetch)
2397 (uri (git-reference
2398 (url "https://github.com/tpapp/cl-colors")
2399 (commit commit)))
2400 (sha256
2401 (base32
2402 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2403 (file-name (git-file-name "cl-colors" version))))
2404 (build-system asdf-build-system/sbcl)
2405 (inputs
2406 `(("alexandria" ,sbcl-alexandria)
2407 ("let-plus" ,sbcl-let-plus)))
2408 (synopsis "Simple color library for Common Lisp")
2409 (description
2410 "This is a very simple color library for Common Lisp, providing
2411
2412 @itemize
2413 @item Types for representing colors in HSV and RGB spaces.
2414 @item Simple conversion functions between the above types (and also
2415 hexadecimal representation for RGB).
2416 @item Some predefined colors (currently X11 color names – of course the
2417 library does not depend on X11).Because color in your terminal is nice.
2418 @end itemize
2419
2420 This library is no longer supported by its author.")
2421 (home-page "https://github.com/tpapp/cl-colors")
2422 (license license:boost1.0))))
2423
2424 (define-public cl-colors
2425 (sbcl-package->cl-source-package sbcl-cl-colors))
2426
2427 (define-public ecl-cl-colors
2428 (sbcl-package->ecl-package sbcl-cl-colors))
2429
2430 (define-public sbcl-cl-ansi-text
2431 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2432 (package
2433 (name "sbcl-cl-ansi-text")
2434 (version (git-version "1.0.0" "1" commit))
2435 (source
2436 (origin
2437 (method git-fetch)
2438 (uri (git-reference
2439 (url "https://github.com/pnathan/cl-ansi-text")
2440 (commit commit)))
2441 (sha256
2442 (base32
2443 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2444 (file-name (git-file-name "cl-ansi-text" version))))
2445 (build-system asdf-build-system/sbcl)
2446 (inputs
2447 `(("alexandria" ,sbcl-alexandria)
2448 ("cl-colors" ,sbcl-cl-colors)))
2449 (native-inputs
2450 `(("fiveam" ,sbcl-fiveam)))
2451 (synopsis "ANSI terminal color implementation for Common Lisp")
2452 (description
2453 "@command{cl-ansi-text} provides utilities which enable printing to an
2454 ANSI terminal with colored text. It provides the macro @command{with-color}
2455 which causes everything printed in the body to be displayed with the provided
2456 color. It further provides functions which will print the argument with the
2457 named color.")
2458 (home-page "https://github.com/pnathan/cl-ansi-text")
2459 (license license:llgpl))))
2460
2461 (define-public cl-ansi-text
2462 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2463
2464 (define-public ecl-cl-ansi-text
2465 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2466
2467 (define-public sbcl-prove
2468 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2469 (package
2470 (name "sbcl-prove")
2471 (version (git-version "1.0.0" "1" commit))
2472 (source
2473 (origin
2474 (method git-fetch)
2475 (uri (git-reference
2476 (url "https://github.com/fukamachi/prove")
2477 (commit commit)))
2478 (sha256
2479 (base32
2480 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2481 (file-name (git-file-name "prove" version))))
2482 (build-system asdf-build-system/sbcl)
2483 (inputs
2484 `(("alexandria" ,sbcl-alexandria)
2485 ("cl-ppcre" ,sbcl-cl-ppcre)
2486 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2487 (synopsis "Yet another unit testing framework for Common Lisp")
2488 (description
2489 "This project was originally called @command{cl-test-more}.
2490 @command{prove} is yet another unit testing framework for Common Lisp. The
2491 advantages of @command{prove} are:
2492
2493 @itemize
2494 @item Various simple functions for testing and informative error messages
2495 @item ASDF integration
2496 @item Extensible test reporters
2497 @item Colorizes the report if it's available (note for SLIME)
2498 @item Reports test durations
2499 @end itemize\n")
2500 (home-page "https://github.com/fukamachi/prove")
2501 (license license:expat))))
2502
2503 (define-public cl-prove
2504 (sbcl-package->cl-source-package sbcl-prove))
2505
2506 (define-public ecl-prove
2507 (sbcl-package->ecl-package sbcl-prove))
2508
2509 (define-public sbcl-proc-parse
2510 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2511 (package
2512 (name "sbcl-proc-parse")
2513 (version (git-version "0.0.0" "1" commit))
2514 (source
2515 (origin
2516 (method git-fetch)
2517 (uri (git-reference
2518 (url "https://github.com/fukamachi/proc-parse")
2519 (commit commit)))
2520 (sha256
2521 (base32
2522 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2523 (file-name (git-file-name "proc-parse" version))))
2524 (build-system asdf-build-system/sbcl)
2525 (inputs
2526 `(("alexandria" ,sbcl-alexandria)
2527 ("babel" ,sbcl-babel)))
2528 (native-inputs
2529 `(("prove" ,sbcl-prove)))
2530 (arguments
2531 ;; TODO: Tests don't find "proc-parse-test", why?
2532 `(#:tests? #f))
2533 (synopsis "Procedural vector parser")
2534 (description
2535 "This is a string/octets parser library for Common Lisp with speed and
2536 readability in mind. Unlike other libraries, the code is not a
2537 pattern-matching-like, but a char-by-char procedural parser.")
2538 (home-page "https://github.com/fukamachi/proc-parse")
2539 (license license:bsd-2))))
2540
2541 (define-public cl-proc-parse
2542 (sbcl-package->cl-source-package sbcl-proc-parse))
2543
2544 (define-public ecl-proc-parse
2545 (sbcl-package->ecl-package sbcl-proc-parse))
2546
2547 (define-public sbcl-parse-float
2548 (let ((commit "3074765101e41222b6b624a66aaf1e6416379f9c")
2549 (revision "2"))
2550 (package
2551 (name "sbcl-parse-float")
2552 (version (git-version "0.0.0" revision commit))
2553 (source
2554 (origin
2555 (method git-fetch)
2556 (uri (git-reference
2557 (url "https://github.com/soemraws/parse-float")
2558 (commit commit)))
2559 (sha256
2560 (base32 "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr"))
2561 (file-name (git-file-name "proc-parse" version))))
2562 (build-system asdf-build-system/sbcl)
2563 (arguments
2564 ;; FIXME: https://github.com/soemraws/parse-float/issues/12
2565 `(#:asd-systems '("parse-float" "parse-float-tests")))
2566 (native-inputs
2567 `(("lisp-unit" ,sbcl-lisp-unit)))
2568 (inputs
2569 `(("alexandria" ,sbcl-alexandria)))
2570 (home-page "https://github.com/soemraws/parse-float")
2571 (synopsis "Parse a floating point value from a string in Common Lisp")
2572 (description
2573 "This package exports the following function to parse floating-point
2574 values from a string in Common Lisp.")
2575 (license license:public-domain))))
2576
2577 (define-public cl-parse-float
2578 (sbcl-package->cl-source-package sbcl-parse-float))
2579
2580 (define-public ecl-parse-float
2581 (sbcl-package->ecl-package sbcl-parse-float))
2582
2583 (define-public sbcl-cl-string-match
2584 (let ((revision "1")
2585 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2586 (package
2587 (name "sbcl-cl-string-match")
2588 (version (git-version "0" revision changeset))
2589 (source
2590 (origin
2591 (method hg-fetch)
2592 (uri (hg-reference
2593 (url "https://bitbucket.org/vityok/cl-string-match/")
2594 (changeset changeset)))
2595 (sha256
2596 (base32
2597 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2598 (file-name (git-file-name "cl-string-match" version))))
2599 (build-system asdf-build-system/sbcl)
2600 (inputs
2601 `(("alexandria" ,sbcl-alexandria)
2602 ("babel" ,sbcl-babel)
2603 ("iterate" ,sbcl-iterate)
2604 ("jpl-queues" ,sbcl-jpl-queues)
2605 ("jpl-util" ,sbcl-jpl-util)
2606 ("mgl-pax" ,sbcl-mgl-pax)
2607 ("parse-float" ,sbcl-parse-float)
2608 ("proc-parse" ,sbcl-proc-parse)
2609 ("yacc" ,sbcl-cl-yacc)))
2610 ;; TODO: Tests are not evaluated properly.
2611 (native-inputs
2612 ;; For testing:
2613 `(("lisp-unit" ,sbcl-lisp-unit)))
2614 (arguments
2615 `(#:tests? #f))
2616 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2617 (description
2618 "@command{cl-strings} is a small, portable, dependency-free set of
2619 utilities that make it even easier to manipulate text in Common Lisp. It has
2620 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2621 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2622 (license license:bsd-3))))
2623
2624 (define-public cl-string-match
2625 (sbcl-package->cl-source-package sbcl-cl-string-match))
2626
2627 (define-public ecl-cl-string-match
2628 (sbcl-package->ecl-package sbcl-cl-string-match))
2629
2630 (define-public sbcl-ptester
2631 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2632 (revision "1"))
2633 (package
2634 (name "sbcl-ptester")
2635 (version (git-version "2.1.3" revision commit))
2636 (source
2637 (origin
2638 (method git-fetch)
2639 (uri (git-reference
2640 (url "http://git.kpe.io/ptester.git")
2641 (commit commit)))
2642 (file-name (git-file-name name version))
2643 (sha256
2644 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2645 (build-system asdf-build-system/sbcl)
2646 (home-page "http://quickdocs.org/ptester/")
2647 (synopsis "Portable test harness package")
2648 (description
2649 "@command{ptester} is a portable testing framework based on Franz's
2650 tester module.")
2651 (license license:llgpl))))
2652
2653 (define-public cl-ptester
2654 (sbcl-package->cl-source-package sbcl-ptester))
2655
2656 (define-public ecl-ptester
2657 (sbcl-package->ecl-package sbcl-ptester))
2658
2659 (define-public sbcl-puri
2660 (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b")
2661 (revision "2"))
2662 (package
2663 (name "sbcl-puri")
2664 (version (git-version "1.5.7" revision commit))
2665 (source
2666 (origin
2667 (method git-fetch)
2668 (uri (git-reference
2669 (url "http://git.kpe.io/puri.git")
2670 (commit commit)))
2671 (file-name (git-file-name "puri" version))
2672 (sha256
2673 (base32 "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd"))))
2674 (build-system asdf-build-system/sbcl)
2675 (native-inputs
2676 `(("ptester" ,sbcl-ptester)))
2677 (home-page "http://puri.kpe.io/")
2678 (synopsis "Portable URI Library")
2679 (description
2680 "This is a portable Universal Resource Identifier library for Common
2681 Lisp programs. It parses URI according to the RFC 2396 specification.")
2682 (license license:llgpl))))
2683
2684 (define-public cl-puri
2685 (sbcl-package->cl-source-package sbcl-puri))
2686
2687 (define-public ecl-puri
2688 (sbcl-package->ecl-package sbcl-puri))
2689
2690 (define-public sbcl-qmynd
2691 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2692 (revision "1"))
2693 (package
2694 (name "sbcl-qmynd")
2695 (version (git-version "1.0.0" revision commit))
2696 (source
2697 (origin
2698 (method git-fetch)
2699 (uri (git-reference
2700 (url "https://github.com/qitab/qmynd")
2701 (commit commit)))
2702 (file-name (git-file-name name version))
2703 (sha256
2704 (base32
2705 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2706 (build-system asdf-build-system/sbcl)
2707 (inputs
2708 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2709 ("babel" ,sbcl-babel)
2710 ("chipz" ,sbcl-chipz)
2711 ("cl+ssl" ,sbcl-cl+ssl)
2712 ("flexi-streams" ,sbcl-flexi-streams)
2713 ("ironclad" ,sbcl-ironclad)
2714 ("salza2" ,sbcl-salza2)
2715 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2716 ("usocket" ,sbcl-usocket)))
2717 (home-page "https://github.com/qitab/qmynd")
2718 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2719 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2720 library that directly talks to a MySQL server in its native network protocol.
2721
2722 It's a part of QITAB umbrella project.")
2723 (license license:expat))))
2724
2725 (define-public ecl-qmynd
2726 (sbcl-package->ecl-package sbcl-qmynd))
2727
2728 (define-public cl-qmynd
2729 (sbcl-package->cl-source-package sbcl-qmynd))
2730
2731 (define-public sbcl-queues
2732 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2733 (package
2734 (name "sbcl-queues")
2735 (version (git-version "0.0.0" "1" commit))
2736 (source
2737 (origin
2738 (method git-fetch)
2739 (uri (git-reference
2740 (url "https://github.com/oconnore/queues")
2741 (commit commit)))
2742 (file-name (git-file-name "queues" version))
2743 (sha256
2744 (base32
2745 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2746 (build-system asdf-build-system/sbcl)
2747 (inputs
2748 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2749 (arguments
2750 '(#:asd-systems '("queues"
2751 "queues.simple-queue"
2752 "queues.simple-cqueue"
2753 "queues.priority-queue"
2754 "queues.priority-cqueue")))
2755 (home-page "https://github.com/oconnore/queues")
2756 (synopsis "Common Lisp queue library")
2757 (description
2758 "This is a simple queue library for Common Lisp with features such as
2759 non-consing thread safe queues and fibonacci priority queues.")
2760 (license license:expat))))
2761
2762 (define-public cl-queues
2763 (sbcl-package->cl-source-package sbcl-queues))
2764
2765 (define-public ecl-queues
2766 (sbcl-package->ecl-package sbcl-queues))
2767
2768 (define-public sbcl-glsl-packing
2769 (let ((commit "03628159468a8e5b7f2a1d5e78b77053e136794a")
2770 (revision "1"))
2771 (package
2772 (name "sbcl-glsl-packing")
2773 (version (git-version "0.0.0" revision commit))
2774 (source
2775 (origin
2776 (method git-fetch)
2777 (uri (git-reference
2778 (url "https://github.com/3b/glsl-packing/")
2779 (commit commit)))
2780 (file-name (git-file-name "glsl-packing" version))
2781 (sha256
2782 (base32 "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80"))))
2783 (build-system asdf-build-system/sbcl)
2784 (inputs
2785 `(("alexandria" ,sbcl-alexandria)))
2786 (home-page "https://github.com/3b/glsl-packing/")
2787 (synopsis "Common Lisp utilities to calculate OpenGL layouts")
2788 (description
2789 "This is a Common Lisp library to calculate std140 or std430 layouts for
2790 a glsl UBO/SSBO.")
2791 (license license:expat))))
2792
2793 (define-public ecl-glsl-packing
2794 (sbcl-package->ecl-package sbcl-glsl-packing))
2795
2796 (define-public cl-glsl-packing
2797 (sbcl-package->cl-source-package sbcl-glsl-packing))
2798
2799 (define-public sbcl-glsl-spec
2800 (let ((commit "f04476f7da89355ae6856b33283c60ba95c6555d")
2801 (revision "1"))
2802 (package
2803 (name "sbcl-glsl-spec")
2804 (version (git-version "0.0.0" revision commit))
2805 (source
2806 (origin
2807 (method git-fetch)
2808 (uri (git-reference
2809 (url "https://github.com/cbaggers/glsl-spec")
2810 (commit commit)))
2811 (file-name (git-file-name "glsl-spec" version))
2812 (sha256
2813 (base32 "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c"))))
2814 (build-system asdf-build-system/sbcl)
2815 (arguments
2816 `(#:asd-systems '("glsl-spec" "glsl-symbols" "glsl-docs")))
2817 (home-page "https://github.com/cbaggers/glsl-spec")
2818 (synopsis "Common Lisp GLSL specification as a datastructure")
2819 (description
2820 "This package contains the specification of all functions and variables
2821 from GLSL as data.")
2822 (license license:unlicense))))
2823
2824 (define-public ecl-glsl-spec
2825 (sbcl-package->ecl-package sbcl-glsl-spec))
2826
2827 (define-public cl-glsl-spec
2828 (sbcl-package->cl-source-package sbcl-glsl-spec))
2829
2830 (define-public sbcl-varjo
2831 (let ((commit "9e77f30220053155d2ef8870ceba157f75e538d4")
2832 (revision "1"))
2833 (package
2834 (name "sbcl-varjo")
2835 (version (git-version "0.0.0" revision commit))
2836 (source
2837 (origin
2838 (method git-fetch)
2839 (uri (git-reference
2840 (url "https://github.com/cbaggers/varjo")
2841 (commit commit)))
2842 (file-name (git-file-name "varjo" version))
2843 (sha256
2844 (base32 "1p9x1wj576x5d31yvls9r1avkjkyhri7kyxbjfkg9z93a1w18j9z"))))
2845 (build-system asdf-build-system/sbcl)
2846 (native-inputs
2847 `(("fiveam" ,sbcl-fiveam)))
2848 (inputs
2849 `(("alexandria" ,sbcl-alexandria)
2850 ("cl-ppcre" ,sbcl-cl-ppcre)
2851 ("documentation-utils" ,sbcl-documentation-utils)
2852 ("fn" ,sbcl-fn)
2853 ("glsl-spec" ,sbcl-glsl-spec)
2854 ("named-readtables" ,sbcl-named-readtables)
2855 ("parse-float" ,sbcl-parse-float)
2856 ("vas-string-metrics" ,sbcl-vas-string-metrics)))
2857 (home-page "https://github.com/cbaggers/varjo")
2858 (synopsis "Lisp to GLSL Language Translator")
2859 (description
2860 "Varjo is a Lisp to GLSL compiler. Vari is the dialect of lisp Varjo
2861 compiles. It aims to be as close to Common Lisp as possible, but naturally it
2862 is statically typed so there are differences.")
2863 (license license:bsd-2))))
2864
2865 (define-public ecl-varjo
2866 (sbcl-package->ecl-package sbcl-varjo))
2867
2868 (define-public cl-varjo
2869 (sbcl-package->cl-source-package sbcl-varjo))
2870
2871 (define-public sbcl-cffi
2872 (package
2873 (name "sbcl-cffi")
2874 (version "0.23.0")
2875 (source
2876 (origin
2877 (method git-fetch)
2878 (uri (git-reference
2879 (url "https://github.com/cffi/cffi")
2880 (commit (string-append "v" version))))
2881 (file-name (git-file-name "cffi-bootstrap" version))
2882 (sha256
2883 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2884 (build-system asdf-build-system/sbcl)
2885 (inputs
2886 `(("alexandria" ,sbcl-alexandria)
2887 ("babel" ,sbcl-babel)
2888 ("libffi" ,libffi)
2889 ("trivial-features" ,sbcl-trivial-features)))
2890 (native-inputs
2891 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2892 ("pkg-config" ,pkg-config)
2893 ("rt" ,sbcl-rt)))
2894 (arguments
2895 '(#:phases
2896 (modify-phases %standard-phases
2897 (add-after 'unpack 'fix-arm-support
2898 (lambda _
2899 ;; This is apparently deprecated since libffi-3.3.
2900 (substitute* "libffi/libffi-types.lisp"
2901 (("\\\(\\\(:unix64.*") ")\n"))
2902 #t))
2903 (add-after 'unpack 'fix-paths
2904 (lambda* (#:key inputs #:allow-other-keys)
2905 (substitute* "libffi/libffi.lisp"
2906 (("libffi.so.7" all) (string-append
2907 (assoc-ref inputs "libffi")
2908 "/lib/" all)))
2909 (substitute* "toolchain/c-toolchain.lisp"
2910 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2911 (add-after 'build 'install-headers
2912 (lambda* (#:key outputs #:allow-other-keys)
2913 (install-file "grovel/common.h"
2914 (string-append
2915 (assoc-ref outputs "out")
2916 "/include/grovel")))))
2917 #:asd-files '("cffi.asd"
2918 "cffi-toolchain.asd"
2919 "cffi-grovel.asd"
2920 "cffi-libffi.asd"
2921 "cffi-uffi-compat.asd")
2922 #:asd-systems '("cffi"
2923 "cffi-libffi"
2924 "cffi-uffi-compat")))
2925 (home-page "https://common-lisp.net/project/cffi/")
2926 (synopsis "Common Foreign Function Interface for Common Lisp")
2927 (description "The Common Foreign Function Interface (CFFI)
2928 purports to be a portable foreign function interface for Common Lisp.
2929 The CFFI library is composed of a Lisp-implementation-specific backend
2930 in the CFFI-SYS package, and a portable frontend in the CFFI
2931 package.")
2932 (license license:expat)))
2933
2934 (define-public cl-cffi
2935 (sbcl-package->cl-source-package sbcl-cffi))
2936
2937 (define-public ecl-cffi
2938 (sbcl-package->ecl-package sbcl-cffi))
2939
2940 (define-public sbcl-cffi-c-ref
2941 (let ((commit "8123cbb6034c5f7921a0766107cfb8c4e8efd5ce")
2942 (revision "0"))
2943 (package
2944 (name "sbcl-cffi-c-ref")
2945 (version (git-version "1.0" revision commit))
2946 (source
2947 (origin
2948 (method git-fetch)
2949 (uri (git-reference
2950 (url "https://github.com/borodust/cffi-c-ref")
2951 (commit commit)))
2952 (sha256
2953 (base32 "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z"))
2954 (file-name (git-file-name "cffi-c-ref" version))))
2955 (build-system asdf-build-system/sbcl)
2956 (inputs
2957 `(("alexandria" ,sbcl-alexandria)
2958 ("cffi" ,sbcl-cffi)))
2959 (synopsis "Streamlined access to foreign memory")
2960 (description
2961 "This Common Lisp library provides macros to access foreign memory.")
2962 (home-page "https://github.com/borodust/cffi-c-ref")
2963 (license license:expat))))
2964
2965 (define-public cl-cffi-c-ref
2966 (sbcl-package->cl-source-package sbcl-cffi-c-ref))
2967
2968 (define-public ecl-cffi-c-ref
2969 (sbcl-package->ecl-package sbcl-cffi-c-ref))
2970
2971 (define-public sbcl-cl-sqlite
2972 (package
2973 (name "sbcl-cl-sqlite")
2974 (version "0.2.1")
2975 (source
2976 (origin
2977 (method git-fetch)
2978 (uri (git-reference
2979 (url "https://github.com/dmitryvk/cl-sqlite")
2980 (commit version)))
2981 (file-name (git-file-name "cl-sqlite" version))
2982 (sha256
2983 (base32
2984 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2985 (build-system asdf-build-system/sbcl)
2986 (inputs
2987 `(("iterate" ,sbcl-iterate)
2988 ("cffi" ,sbcl-cffi)
2989 ("sqlite" ,sqlite)))
2990 (native-inputs
2991 `(("fiveam" ,sbcl-fiveam)
2992 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2993 (arguments
2994 `(#:asd-systems '("sqlite")
2995 #:phases
2996 (modify-phases %standard-phases
2997 (add-after 'unpack 'fix-paths
2998 (lambda* (#:key inputs #:allow-other-keys)
2999 (substitute* "sqlite-ffi.lisp"
3000 (("libsqlite3" all) (string-append
3001 (assoc-ref inputs "sqlite")"/lib/" all))))))))
3002 (home-page "https://common-lisp.net/project/cl-sqlite/")
3003 (synopsis "Common Lisp binding for SQLite")
3004 (description
3005 "The @command{cl-sqlite} package is an interface to the SQLite embedded
3006 relational database engine.")
3007 (license license:public-domain)))
3008
3009 (define-public cl-sqlite
3010 (sbcl-package->cl-source-package sbcl-cl-sqlite))
3011
3012 (define-public ecl-cl-sqlite
3013 (sbcl-package->ecl-package sbcl-cl-sqlite))
3014
3015 (define-public sbcl-parenscript
3016 ;; Source archives are overwritten on every release, we use the Git repo instead.
3017 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
3018 (package
3019 (name "sbcl-parenscript")
3020 (version (git-version "2.7.1" "1" commit))
3021 (source
3022 (origin
3023 (method git-fetch)
3024 (uri (git-reference
3025 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
3026 (commit commit)))
3027 (file-name (git-file-name "parenscript" version))
3028 (sha256
3029 (base32
3030 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
3031 (build-system asdf-build-system/sbcl)
3032 (inputs
3033 `(("cl-ppcre" ,sbcl-cl-ppcre)
3034 ("anaphora" ,sbcl-anaphora)
3035 ("named-readtables" ,sbcl-named-readtables)))
3036 (home-page "https://common-lisp.net/project/parenscript/")
3037 (synopsis "Translator from a subset of Common Lisp to JavaScript")
3038 (description
3039 "Parenscript is a translator from an extended subset of Common Lisp to
3040 JavaScript. Parenscript code can run almost identically on both the
3041 browser (as JavaScript) and server (as Common Lisp).
3042
3043 Parenscript code is treated the same way as Common Lisp code, making the full
3044 power of Lisp macros available for JavaScript. This provides a web
3045 development environment that is unmatched in its ability to reduce code
3046 duplication and provide advanced meta-programming facilities to web
3047 developers.
3048
3049 At the same time, Parenscript is different from almost all other \"language
3050 X\" to JavaScript translators in that it imposes almost no overhead:
3051
3052 @itemize
3053 @item No run-time dependencies: Any piece of Parenscript code is runnable
3054 as-is. There are no JavaScript files to include.
3055 @item Native types: Parenscript works entirely with native JavaScript data
3056 types. There are no new types introduced, and object prototypes are not
3057 touched.
3058 @item Native calling convention: Any JavaScript code can be called without the
3059 need for bindings. Likewise, Parenscript can be used to make efficient,
3060 self-contained JavaScript libraries.
3061 @item Readable code: Parenscript generates concise, formatted, idiomatic
3062 JavaScript code. Identifier names are preserved. This enables seamless
3063 debugging in tools like Firebug.
3064 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
3065 Lisp features. The generated code is almost as fast as hand-written
3066 JavaScript.
3067 @end itemize\n")
3068 (license license:bsd-3))))
3069
3070 (define-public cl-parenscript
3071 (sbcl-package->cl-source-package sbcl-parenscript))
3072
3073 (define-public ecl-parenscript
3074 (sbcl-package->ecl-package sbcl-parenscript))
3075
3076 (define-public sbcl-cl-json
3077 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
3078 (package
3079 (name "sbcl-cl-json")
3080 (version (git-version "0.5" "1" commit))
3081 (source
3082 (origin
3083 (method git-fetch)
3084 (uri (git-reference
3085 (url "https://github.com/hankhero/cl-json")
3086 (commit commit)))
3087 (file-name (git-file-name "cl-json" version))
3088 (sha256
3089 (base32
3090 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
3091 (build-system asdf-build-system/sbcl)
3092 (native-inputs
3093 `(("fiveam" ,sbcl-fiveam)))
3094 (home-page "https://github.com/hankhero/cl-json")
3095 (synopsis "JSON encoder and decoder for Common-Lisp")
3096 (description
3097 "@command{cl-json} provides an encoder of Lisp objects to JSON format
3098 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
3099 and the decoder are highly customizable; at the same time, the default
3100 settings ensure a very simple mode of operation, similar to that provided by
3101 @command{yason} or @command{st-json}.")
3102 (license license:expat))))
3103
3104 (define-public cl-json
3105 (sbcl-package->cl-source-package sbcl-cl-json))
3106
3107 (define-public ecl-cl-json
3108 (sbcl-package->ecl-package sbcl-cl-json))
3109
3110 (define-public sbcl-unix-opts
3111 (package
3112 (name "sbcl-unix-opts")
3113 (version "0.1.7")
3114 (source
3115 (origin
3116 (method git-fetch)
3117 (uri (git-reference
3118 (url "https://github.com/libre-man/unix-opts")
3119 (commit version)))
3120 (file-name (git-file-name "unix-opts" version))
3121 (sha256
3122 (base32
3123 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
3124 (build-system asdf-build-system/sbcl)
3125 (home-page "https://github.com/hankhero/cl-json")
3126 (synopsis "Unix-style command line options parser")
3127 (description
3128 "This is a minimalistic parser of command line options. The main
3129 advantage of the library is the ability to concisely define command line
3130 options once and then use this definition for parsing and extraction of
3131 command line arguments, as well as printing description of command line
3132 options (you get --help for free). This way you don't need to repeat
3133 yourself. Also, @command{unix-opts} doesn't depend on anything and
3134 precisely controls the behavior of the parser via Common Lisp restarts.")
3135 (license license:expat)))
3136
3137 (define-public cl-unix-opts
3138 (sbcl-package->cl-source-package sbcl-unix-opts))
3139
3140 (define-public ecl-unix-opts
3141 (sbcl-package->ecl-package sbcl-unix-opts))
3142
3143 (define-public sbcl-trivial-garbage
3144 (package
3145 (name "sbcl-trivial-garbage")
3146 (version "0.21")
3147 (source
3148 (origin
3149 (method git-fetch)
3150 (uri (git-reference
3151 (url "https://github.com/trivial-garbage/trivial-garbage")
3152 (commit (string-append "v" version))))
3153 (file-name (git-file-name "trivial-garbage" version))
3154 (sha256
3155 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
3156 (build-system asdf-build-system/sbcl)
3157 (native-inputs
3158 `(("rt" ,sbcl-rt)))
3159 (home-page "https://common-lisp.net/project/trivial-garbage/")
3160 (synopsis "Portable GC-related APIs for Common Lisp")
3161 (description "@command{trivial-garbage} provides a portable API to
3162 finalizers, weak hash-tables and weak pointers on all major implementations of
3163 the Common Lisp programming language.")
3164 (license license:public-domain)))
3165
3166 (define-public cl-trivial-garbage
3167 (sbcl-package->cl-source-package sbcl-trivial-garbage))
3168
3169 (define-public ecl-trivial-garbage
3170 (sbcl-package->ecl-package sbcl-trivial-garbage))
3171
3172 (define-public sbcl-closer-mop
3173 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
3174 (package
3175 (name "sbcl-closer-mop")
3176 (version (git-version "1.0.0" "2" commit))
3177 (source
3178 (origin
3179 (method git-fetch)
3180 (uri (git-reference
3181 (url "https://github.com/pcostanza/closer-mop")
3182 (commit commit)))
3183 (sha256
3184 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
3185 (file-name (git-file-name "closer-mop" version ))))
3186 (build-system asdf-build-system/sbcl)
3187 (home-page "https://github.com/pcostanza/closer-mop")
3188 (synopsis "Rectifies absent or incorrect CLOS MOP features")
3189 (description "Closer to MOP is a compatibility layer that rectifies many
3190 of the absent or incorrect CLOS MOP features across a broad range of Common
3191 Lisp implementations.")
3192 (license license:expat))))
3193
3194 (define-public cl-closer-mop
3195 (sbcl-package->cl-source-package sbcl-closer-mop))
3196
3197 (define-public ecl-closer-mop
3198 (sbcl-package->ecl-package sbcl-closer-mop))
3199
3200 (define-public sbcl-cl-cffi-gtk
3201 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
3202 (package
3203 (name "sbcl-cl-cffi-gtk")
3204 (version (git-version "0.11.2" "2" commit))
3205 (source
3206 (origin
3207 (method git-fetch)
3208 (uri (git-reference
3209 (url "https://github.com/Ferada/cl-cffi-gtk/")
3210 (commit commit)))
3211 (file-name (git-file-name "cl-cffi-gtk" version))
3212 (sha256
3213 (base32
3214 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
3215 (build-system asdf-build-system/sbcl)
3216 (native-inputs
3217 `(("fiveam" ,sbcl-fiveam)))
3218 (inputs
3219 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3220 ("cairo" ,cairo)
3221 ("cffi" ,sbcl-cffi)
3222 ("closer-mop" ,sbcl-closer-mop)
3223 ("gdk-pixbuf" ,gdk-pixbuf)
3224 ("glib" ,glib)
3225 ("gtk" ,gtk+)
3226 ("iterate" ,sbcl-iterate)
3227 ("pango" ,pango)
3228 ("trivial-features" ,sbcl-trivial-features)
3229 ("trivial-garbage" ,sbcl-trivial-garbage)))
3230 (arguments
3231 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
3232 "glib/cl-cffi-gtk-glib.asd"
3233 "gobject/cl-cffi-gtk-gobject.asd"
3234 "gio/cl-cffi-gtk-gio.asd"
3235 "cairo/cl-cffi-gtk-cairo.asd"
3236 "pango/cl-cffi-gtk-pango.asd"
3237 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3238 "gdk/cl-cffi-gtk-gdk.asd")
3239 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3240 ;; TODO: Tests fail with memory fault.
3241 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3242 #:tests? #f
3243 #:phases
3244 (modify-phases %standard-phases
3245 (add-after 'unpack 'fix-paths
3246 (lambda* (#:key inputs #:allow-other-keys)
3247 (substitute* "glib/glib.init.lisp"
3248 (("libglib|libgthread" all)
3249 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3250 (substitute* "gobject/gobject.init.lisp"
3251 (("libgobject" all)
3252 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3253 (substitute* "gio/gio.init.lisp"
3254 (("libgio" all)
3255 (string-append (assoc-ref inputs "glib") "/lib/" all)))
3256 (substitute* "cairo/cairo.init.lisp"
3257 (("libcairo" all)
3258 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
3259 (substitute* "pango/pango.init.lisp"
3260 (("libpango" all)
3261 (string-append (assoc-ref inputs "pango") "/lib/" all)))
3262 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3263 (("libgdk_pixbuf" all)
3264 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
3265 (substitute* "gdk/gdk.init.lisp"
3266 (("libgdk" all)
3267 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
3268 (substitute* "gdk/gdk.package.lisp"
3269 (("libgtk" all)
3270 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
3271 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
3272 (synopsis "Common Lisp binding for GTK+3")
3273 (description
3274 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
3275 is a library for creating graphical user interfaces.")
3276 (license license:lgpl3))))
3277
3278 (define-public cl-cffi-gtk
3279 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3280
3281 (define-public ecl-cl-cffi-gtk
3282 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
3283
3284 (define-public sbcl-cl-webkit
3285 (let ((commit "0bc05cc73257670ab241853b9cc9ccb68940fe44"))
3286 (package
3287 (name "sbcl-cl-webkit")
3288 (version (git-version "2.4" "10" commit))
3289 (source
3290 (origin
3291 (method git-fetch)
3292 (uri (git-reference
3293 (url "https://github.com/joachifm/cl-webkit")
3294 (commit commit)))
3295 (file-name (git-file-name "cl-webkit" version))
3296 (sha256
3297 (base32
3298 "1kg6illspvb5647pm0x819ag2n7njnqvrm18jzgd28vk6nlkrcmq"))))
3299 (build-system asdf-build-system/sbcl)
3300 (inputs
3301 `(("cffi" ,sbcl-cffi)
3302 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3303 ("webkitgtk" ,webkitgtk)))
3304 (arguments
3305 `(#:asd-systems '("cl-webkit2")
3306 #:phases
3307 (modify-phases %standard-phases
3308 (add-after 'unpack 'fix-paths
3309 (lambda* (#:key inputs #:allow-other-keys)
3310 (substitute* "webkit2/webkit2.init.lisp"
3311 (("libwebkit2gtk" all)
3312 (string-append
3313 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3314 (home-page "https://github.com/joachifm/cl-webkit")
3315 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3316 (description
3317 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3318 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3319 browsing capabilities to an application, leveraging the full power of the
3320 WebKit browsing engine.")
3321 (license license:expat))))
3322
3323 (define-public cl-webkit
3324 (sbcl-package->cl-source-package sbcl-cl-webkit))
3325
3326 (define-public ecl-cl-webkit
3327 (sbcl-package->ecl-package sbcl-cl-webkit))
3328
3329 (define-public sbcl-lparallel
3330 (package
3331 (name "sbcl-lparallel")
3332 (version "2.8.4")
3333 (source
3334 (origin
3335 (method git-fetch)
3336 (uri (git-reference
3337 (url "https://github.com/lmj/lparallel/")
3338 (commit (string-append "lparallel-" version))))
3339 (file-name (git-file-name "lparallel" version))
3340 (sha256
3341 (base32
3342 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3343 (build-system asdf-build-system/sbcl)
3344 (inputs
3345 `(("alexandria" ,sbcl-alexandria)
3346 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3347 ("trivial-garbage" ,sbcl-trivial-garbage)))
3348 (arguments
3349 `(#:phases
3350 (modify-phases %standard-phases
3351 (add-after 'unpack 'fix-dependency
3352 ;; lparallel loads a SBCL specific system in its asd file. This is
3353 ;; not carried over into the fasl which is generated. In order for
3354 ;; it to be carried over, it needs to be listed as a dependency.
3355 (lambda _
3356 (substitute* "lparallel.asd"
3357 ((":depends-on \\(:alexandria" all)
3358 (string-append all " #+sbcl :sb-cltl2"))))))))
3359 (home-page "https://lparallel.org/")
3360 (synopsis "Parallelism for Common Lisp")
3361 (description
3362 "@command{lparallel} is a library for parallel programming in Common
3363 Lisp, featuring:
3364
3365 @itemize
3366 @item a simple model of task submission with receiving queue,
3367 @item constructs for expressing fine-grained parallelism,
3368 @item asynchronous condition handling across thread boundaries,
3369 @item parallel versions of map, reduce, sort, remove, and many others,
3370 @item promises, futures, and delayed evaluation constructs,
3371 @item computation trees for parallelizing interconnected tasks,
3372 @item bounded and unbounded FIFO queues,
3373 @item high and low priority tasks,
3374 @item task killing by category,
3375 @item integrated timeouts.
3376 @end itemize\n")
3377 (license license:expat)))
3378
3379 (define-public cl-lparallel
3380 (sbcl-package->cl-source-package sbcl-lparallel))
3381
3382 (define-public ecl-lparallel
3383 (package
3384 (inherit (sbcl-package->ecl-package sbcl-lparallel))
3385 (arguments
3386 ;; TODO: Find why the tests get stuck forever; disable them for now.
3387 `(#:tests? #f))))
3388
3389 (define-public sbcl-cl-markup
3390 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3391 (package
3392 (name "sbcl-cl-markup")
3393 (version (git-version "0.1" "1" commit))
3394 (source
3395 (origin
3396 (method git-fetch)
3397 (uri (git-reference
3398 (url "https://github.com/arielnetworks/cl-markup/")
3399 (commit commit)))
3400 (file-name (git-file-name "cl-markup" version))
3401 (sha256
3402 (base32
3403 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3404 (build-system asdf-build-system/sbcl)
3405 (home-page "https://github.com/arielnetworks/cl-markup/")
3406 (synopsis "Markup generation library for Common Lisp")
3407 (description
3408 "A modern markup generation library for Common Lisp that features:
3409
3410 @itemize
3411 @item Fast (even faster through compiling the code)
3412 @item Safety
3413 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3414 @item Output with doctype
3415 @item Direct output to stream
3416 @end itemize\n")
3417 (license license:lgpl3+))))
3418
3419 (define-public cl-markup
3420 (sbcl-package->cl-source-package sbcl-cl-markup))
3421
3422 (define-public ecl-cl-markup
3423 (sbcl-package->ecl-package sbcl-cl-markup))
3424
3425 (define-public sbcl-cl-mustache
3426 (package
3427 (name "sbcl-cl-mustache")
3428 (version "0.12.1")
3429 (source
3430 (origin
3431 (method git-fetch)
3432 (uri (git-reference
3433 (url "https://github.com/kanru/cl-mustache")
3434 (commit (string-append "v" version))))
3435 (file-name (git-file-name "cl-mustache" version))
3436 (sha256
3437 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3438 (build-system asdf-build-system/sbcl)
3439 (home-page "https://github.com/kanru/cl-mustache")
3440 (synopsis "Common Lisp Mustache template renderer")
3441 (description "This is a Common Lisp implementation for the Mustache
3442 template system. More details on the standard are available at
3443 @url{https://mustache.github.io}.")
3444 (license license:expat)))
3445
3446 (define-public cl-mustache
3447 (sbcl-package->cl-source-package sbcl-cl-mustache))
3448
3449 (define-public ecl-cl-mustache
3450 (sbcl-package->ecl-package sbcl-cl-mustache))
3451
3452 (define-public sbcl-cl-css
3453 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3454 (package
3455 (name "sbcl-cl-css")
3456 (version (git-version "0.1" "1" commit))
3457 (source
3458 (origin
3459 (method git-fetch)
3460 (uri (git-reference
3461 (url "https://github.com/inaimathi/cl-css/")
3462 (commit commit)))
3463 (file-name (git-file-name "cl-css" version))
3464 (sha256
3465 (base32
3466 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3467 (build-system asdf-build-system/sbcl)
3468 (home-page "https://github.com/inaimathi/cl-css/")
3469 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3470 (description
3471 "This is a dead-simple, non validating, inline CSS generator for Common
3472 Lisp. Its goals are axiomatic syntax, simple implementation to support
3473 portability, and boilerplate reduction in CSS.")
3474 (license license:expat))))
3475
3476 (define-public cl-css
3477 (sbcl-package->cl-source-package sbcl-cl-css))
3478
3479 (define-public ecl-cl-css
3480 (sbcl-package->ecl-package sbcl-cl-css))
3481
3482 (define-public sbcl-portable-threads
3483 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3484 (package
3485 (name "sbcl-portable-threads")
3486 (version (git-version "2.3" "2" commit))
3487 (source
3488 (origin
3489 (method git-fetch)
3490 (uri (git-reference
3491 (url "https://github.com/binghe/portable-threads/")
3492 (commit commit)))
3493 (file-name (git-file-name "portable-threads" version))
3494 (sha256
3495 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3496 (build-system asdf-build-system/sbcl)
3497 (arguments
3498 `(;; Tests seem broken.
3499 #:tests? #f))
3500 (home-page "https://github.com/binghe/portable-threads")
3501 (synopsis "Portable threads API for Common Lisp")
3502 (description
3503 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3504 Lisp (from GBBopen project).")
3505 (license license:asl2.0))))
3506
3507 (define-public cl-portable-threads
3508 (sbcl-package->cl-source-package sbcl-portable-threads))
3509
3510 (define-public ecl-portable-threads
3511 (sbcl-package->ecl-package sbcl-portable-threads))
3512
3513 (define-public sbcl-usocket
3514 (package
3515 (name "sbcl-usocket")
3516 (version "0.8.3")
3517 (source
3518 (origin
3519 (method git-fetch)
3520 (uri (git-reference
3521 (url "https://github.com/usocket/usocket/")
3522 (commit (string-append "v" version))))
3523 (file-name (git-file-name "usocket" version))
3524 (sha256
3525 (base32
3526 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3527 (build-system asdf-build-system/sbcl)
3528 (native-inputs
3529 `(("rt" ,sbcl-rt)))
3530 (inputs
3531 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3532 ("split-sequence" ,sbcl-split-sequence)))
3533 (arguments
3534 `(#:tests? #f ; FIXME: Tests need network access?
3535 #:asd-systems '("usocket"
3536 "usocket-server")))
3537 (home-page "https://common-lisp.net/project/usocket/")
3538 (synopsis "Universal socket library for Common Lisp")
3539 (description
3540 "This library strives to provide a portable TCP/IP and UDP/IP socket
3541 interface for as many Common Lisp implementations as possible, while keeping
3542 the abstraction and portability layer as thin as possible.")
3543 (license license:expat)))
3544
3545 (define-public cl-usocket
3546 (sbcl-package->cl-source-package sbcl-usocket))
3547
3548 (define-public ecl-usocket
3549 (sbcl-package->ecl-package sbcl-usocket))
3550
3551 (define-public sbcl-s-xml
3552 (package
3553 (name "sbcl-s-xml")
3554 (version "3")
3555 (source
3556 (origin
3557 (method url-fetch)
3558 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3559 (sha256
3560 (base32
3561 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3562 (build-system asdf-build-system/sbcl)
3563 (home-page "https://common-lisp.net/project/s-xml/")
3564 (synopsis "Simple XML parser implemented in Common Lisp")
3565 (description
3566 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3567 parser implementation has the following features:
3568
3569 @itemize
3570 @item It works (handling many common XML usages).
3571 @item It is very small (the core is about 700 lines of code, including
3572 comments and whitespace).
3573 @item It has a core API that is simple, efficient and pure functional, much
3574 like that from SSAX (see also http://ssax.sourceforge.net).
3575 @item It supports different DOM models: an XSML-based one, an LXML-based one
3576 and a classic xml-element struct based one.
3577 @item It is reasonably time and space efficient (internally avoiding garbage
3578 generatation as much as possible).
3579 @item It does support CDATA.
3580 @item It should support the same character sets as your Common Lisp
3581 implementation.
3582 @item It does support XML name spaces.
3583 @end itemize
3584
3585 This XML parser implementation has the following limitations:
3586
3587 @itemize
3588 @item It does not support any special tags (like processing instructions).
3589 @item It is not validating, even skips DTD's all together.
3590 @end itemize\n")
3591 (license license:lgpl3+)))
3592
3593 (define-public cl-s-xml
3594 (sbcl-package->cl-source-package sbcl-s-xml))
3595
3596 (define-public ecl-s-xml
3597 (sbcl-package->ecl-package sbcl-s-xml))
3598
3599 (define-public sbcl-s-xml-rpc
3600 (package
3601 (name "sbcl-s-xml-rpc")
3602 (version "7")
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3607 (sha256
3608 (base32
3609 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3610 (build-system asdf-build-system/sbcl)
3611 (inputs
3612 `(("s-xml" ,sbcl-s-xml)))
3613 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3614 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3615 (description
3616 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3617 client and server.")
3618 (license license:lgpl3+)))
3619
3620 (define-public cl-s-xml-rpc
3621 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3622
3623 (define-public ecl-s-xml-rpc
3624 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3625
3626 (define-public sbcl-trivial-arguments
3627 (let ((commit "ecd84ed9cf9ef8f1e873d7409e6bd04979372aa7")
3628 (revision "1"))
3629 (package
3630 (name "sbcl-trivial-arguments")
3631 (version (git-version "1.1.0" revision commit))
3632 (source
3633 (origin
3634 (method git-fetch)
3635 (uri (git-reference
3636 (url "https://github.com/Shinmera/trivial-arguments")
3637 (commit commit)))
3638 (file-name (git-file-name "trivial-arguments" version))
3639 (sha256
3640 (base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
3641 (build-system asdf-build-system/sbcl)
3642 (home-page "https://github.com/Shinmera/trivial-arguments")
3643 (synopsis "Common Lisp library to retrieve a function's lambda-list")
3644 (description
3645 "This is a simple library to retrieve the argument list of a function.")
3646 (license license:zlib))))
3647
3648 (define-public ecl-trivial-arguments
3649 (sbcl-package->ecl-package sbcl-trivial-arguments))
3650
3651 (define-public cl-trivial-arguments
3652 (sbcl-package->cl-source-package sbcl-trivial-arguments))
3653
3654 (define-public sbcl-trivial-clipboard
3655 (let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
3656 (package
3657 (name "sbcl-trivial-clipboard")
3658 (version (git-version "0.0.0.0" "4" commit))
3659 (source
3660 (origin
3661 (method git-fetch)
3662 (uri (git-reference
3663 (url "https://github.com/snmsts/trivial-clipboard")
3664 (commit commit)))
3665 (file-name (git-file-name "trivial-clipboard" version))
3666 (sha256
3667 (base32
3668 "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
3669 (build-system asdf-build-system/sbcl)
3670 (inputs
3671 `(("xclip" ,xclip)))
3672 (native-inputs
3673 `(("fiveam" ,sbcl-fiveam)))
3674 (arguments
3675 `(#:phases
3676 (modify-phases %standard-phases
3677 (add-after 'unpack 'fix-paths
3678 (lambda* (#:key inputs #:allow-other-keys)
3679 (substitute* "src/text.lisp"
3680 (("\"xclip\"")
3681 (string-append "\"" (assoc-ref inputs "xclip") "/bin/xclip\""))))))))
3682 (home-page "https://github.com/snmsts/trivial-clipboard")
3683 (synopsis "Access system clipboard in Common Lisp")
3684 (description
3685 "@command{trivial-clipboard} gives access to the system clipboard.")
3686 (license license:expat))))
3687
3688 (define-public cl-trivial-clipboard
3689 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3690
3691 (define-public ecl-trivial-clipboard
3692 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3693
3694 (define-public sbcl-trivial-backtrace
3695 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3696 (revision "1"))
3697 (package
3698 (name "sbcl-trivial-backtrace")
3699 (version (git-version "0.0.0" revision commit))
3700 (source
3701 (origin
3702 (method git-fetch)
3703 (uri (git-reference
3704 (url "https://github.com/gwkkwg/trivial-backtrace")
3705 (commit commit)))
3706 (file-name (git-file-name "trivial-backtrace" version))
3707 (sha256
3708 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3709 (build-system asdf-build-system/sbcl)
3710 (inputs
3711 `(("sbcl-lift" ,sbcl-lift)))
3712 (arguments
3713 `(#:phases
3714 (modify-phases %standard-phases
3715 (add-after 'check 'delete-test-results
3716 (lambda* (#:key outputs #:allow-other-keys)
3717 (let ((test-results (string-append (assoc-ref outputs "out")
3718 "/share/common-lisp/"
3719 (%lisp-type)
3720 "/trivial-backtrace"
3721 "/test-results")))
3722 (when (file-exists? test-results)
3723 (delete-file-recursively test-results)))
3724 #t)))))
3725 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3726 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3727 (description
3728 "One of the many things that didn't quite get into the Common Lisp
3729 standard was how to get a Lisp to output its call stack when something has
3730 gone wrong. As such, each Lisp has developed its own notion of what to
3731 display, how to display it, and what sort of arguments can be used to
3732 customize it. @code{trivial-backtrace} is a simple solution to generating a
3733 backtrace portably.")
3734 (license license:expat))))
3735
3736 (define-public cl-trivial-backtrace
3737 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3738
3739 (define-public ecl-trivial-backtrace
3740 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3741
3742 (define-public sbcl-rfc2388
3743 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3744 (revision "1"))
3745 (package
3746 (name "sbcl-rfc2388")
3747 (version (git-version "0.0.0" revision commit))
3748 (source
3749 (origin
3750 (method git-fetch)
3751 (uri (git-reference
3752 (url "https://github.com/jdz/rfc2388")
3753 (commit commit)))
3754 (file-name (git-file-name "rfc2388" version))
3755 (sha256
3756 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3757 (build-system asdf-build-system/sbcl)
3758 (home-page "https://github.com/jdz/rfc2388/")
3759 (synopsis "An implementation of RFC 2388 in Common Lisp")
3760 (description
3761 "This package contains an implementation of RFC 2388, which is used to
3762 process form data posted with HTTP POST method using enctype
3763 \"multipart/form-data\".")
3764 (license license:bsd-2))))
3765
3766 (define-public cl-rfc2388
3767 (sbcl-package->cl-source-package sbcl-rfc2388))
3768
3769 (define-public ecl-rfc2388
3770 (sbcl-package->ecl-package sbcl-rfc2388))
3771
3772 (define-public sbcl-md5
3773 (package
3774 (name "sbcl-md5")
3775 (version "2.0.4")
3776 (source
3777 (origin
3778 (method git-fetch)
3779 (uri (git-reference
3780 (url "https://github.com/pmai/md5")
3781 (commit (string-append "release-" version))))
3782 (file-name (git-file-name "md5" version))
3783 (sha256
3784 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3785 (build-system asdf-build-system/sbcl)
3786 (home-page "https://github.com/pmai/md5")
3787 (synopsis
3788 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3789 (description
3790 "This package implements The MD5 Message-Digest Algorithm, as defined in
3791 RFC 1321 by R. Rivest, published April 1992.")
3792 (license license:public-domain)))
3793
3794 (define-public cl-md5
3795 (sbcl-package->cl-source-package sbcl-md5))
3796
3797 (define-public ecl-md5
3798 (package
3799 (inherit (sbcl-package->ecl-package sbcl-md5))
3800 (inputs
3801 `(("flexi-streams" ,ecl-flexi-streams)))))
3802
3803 (define-public sbcl-cl+ssl
3804 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3805 (revision "1"))
3806 (package
3807 (name "sbcl-cl+ssl")
3808 (version (git-version "0.0.0" revision commit))
3809 (source
3810 (origin
3811 (method git-fetch)
3812 (uri (git-reference
3813 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3814 (commit commit)))
3815 (file-name (git-file-name "cl+ssl" version))
3816 (sha256
3817 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3818 (build-system asdf-build-system/sbcl)
3819 (arguments
3820 '(#:phases
3821 (modify-phases %standard-phases
3822 (add-after 'unpack 'fix-paths
3823 (lambda* (#:key inputs #:allow-other-keys)
3824 (substitute* "src/reload.lisp"
3825 (("libssl.so" all)
3826 (string-append
3827 (assoc-ref inputs "openssl") "/lib/" all))))))))
3828 (inputs
3829 `(("openssl" ,openssl)
3830 ("sbcl-cffi" ,sbcl-cffi)
3831 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3832 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3833 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3834 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3835 ("sbcl-alexandria" ,sbcl-alexandria)
3836 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3837 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3838 (synopsis "Common Lisp bindings to OpenSSL")
3839 (description
3840 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3841 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3842 Development into CL+SSL was done by David Lichteblau.")
3843 (license license:expat))))
3844
3845 (define-public cl-cl+ssl
3846 (sbcl-package->cl-source-package sbcl-cl+ssl))
3847
3848 (define-public ecl-cl+ssl
3849 (sbcl-package->ecl-package sbcl-cl+ssl))
3850
3851 (define-public sbcl-kmrcl
3852 (let ((version "1.111")
3853 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3854 (revision "1"))
3855 (package
3856 (name "sbcl-kmrcl")
3857 (version (git-version version revision commit))
3858 (source
3859 (origin
3860 (method git-fetch)
3861 (uri (git-reference
3862 (url "http://git.kpe.io/kmrcl.git/")
3863 (commit commit)))
3864 (file-name (git-file-name name version))
3865 (sha256
3866 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3867 (build-system asdf-build-system/sbcl)
3868 (inputs
3869 `(("sbcl-rt" ,sbcl-rt)))
3870 (home-page "http://files.kpe.io/kmrcl/")
3871 (synopsis "General utilities for Common Lisp programs")
3872 (description
3873 "KMRCL is a collection of utilities used by a number of Kevin
3874 Rosenberg's Common Lisp packages.")
3875 (license license:llgpl))))
3876
3877 (define-public cl-kmrcl
3878 (sbcl-package->cl-source-package sbcl-kmrcl))
3879
3880 (define-public ecl-kmrcl
3881 (sbcl-package->ecl-package sbcl-kmrcl))
3882
3883 (define-public sbcl-cl-base64
3884 ;; 3.3.4 tests are broken, upstream fixes them.
3885 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3886 (package
3887 (name "sbcl-cl-base64")
3888 (version (git-version "3.3.4" "1" commit))
3889 (source
3890 (origin
3891 (method git-fetch)
3892 (uri (git-reference
3893 (url "http://git.kpe.io/cl-base64.git/")
3894 (commit commit)))
3895 (file-name (git-file-name name version))
3896 (sha256
3897 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3898 (build-system asdf-build-system/sbcl)
3899 (native-inputs ; For tests.
3900 `(("sbcl-ptester" ,sbcl-ptester)
3901 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3902 (home-page "http://files.kpe.io/cl-base64/")
3903 (synopsis
3904 "Common Lisp package to encode and decode base64 with URI support")
3905 (description
3906 "This package provides highly optimized base64 encoding and decoding.
3907 Besides conversion to and from strings, integer conversions are supported.
3908 Encoding with Uniform Resource Identifiers is supported by using a modified
3909 encoding table that uses only URI-compatible characters.")
3910 (license license:bsd-3))))
3911
3912 (define-public cl-base64
3913 (sbcl-package->cl-source-package sbcl-cl-base64))
3914
3915 (define-public ecl-cl-base64
3916 (sbcl-package->ecl-package sbcl-cl-base64))
3917
3918 (define-public sbcl-chunga
3919 (package
3920 (name "sbcl-chunga")
3921 (version "1.1.7")
3922 (source
3923 (origin
3924 (method git-fetch)
3925 (uri (git-reference
3926 (url "https://github.com/edicl/chunga")
3927 (commit (string-append "v" version))))
3928 (file-name (git-file-name name version))
3929 (sha256
3930 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3931 (build-system asdf-build-system/sbcl)
3932 (inputs
3933 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3934 (home-page "https://edicl.github.io/chunga/")
3935 (synopsis "Portable chunked streams for Common Lisp")
3936 (description
3937 "Chunga implements streams capable of chunked encoding on demand as
3938 defined in RFC 2616.")
3939 (license license:bsd-2)))
3940
3941 (define-public cl-chunga
3942 (sbcl-package->cl-source-package sbcl-chunga))
3943
3944 (define-public ecl-chunga
3945 (sbcl-package->ecl-package sbcl-chunga))
3946
3947 (define-public sbcl-cl-who
3948 (let ((version "1.1.4")
3949 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3950 (revision "1"))
3951 (package
3952 (name "sbcl-cl-who")
3953 (version (git-version version revision commit))
3954 (source
3955 (origin
3956 (method git-fetch)
3957 (uri (git-reference
3958 (url "https://github.com/edicl/cl-who")
3959 (commit commit)))
3960 (file-name (git-file-name name version))
3961 (sha256
3962 (base32
3963 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3964 (build-system asdf-build-system/sbcl)
3965 (native-inputs
3966 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3967 (home-page "https://edicl.github.io/cl-who/")
3968 (synopsis "Yet another Lisp markup language")
3969 (description
3970 "There are plenty of Lisp Markup Languages out there - every Lisp
3971 programmer seems to write at least one during his career - and CL-WHO (where
3972 WHO means \"with-html-output\" for want of a better acronym) is probably just
3973 as good or bad as the next one.")
3974 (license license:bsd-2))))
3975
3976 (define-public cl-who
3977 (sbcl-package->cl-source-package sbcl-cl-who))
3978
3979 (define-public ecl-cl-who
3980 (sbcl-package->ecl-package sbcl-cl-who))
3981
3982 (define-public sbcl-chipz
3983 (let ((version "0.8")
3984 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3985 (revision "1"))
3986 (package
3987 (name "sbcl-chipz")
3988 (version (git-version version revision commit))
3989 (source
3990 (origin
3991 (method git-fetch)
3992 (uri (git-reference
3993 (url "https://github.com/froydnj/chipz")
3994 (commit commit)))
3995 (file-name (git-file-name name version))
3996 (sha256
3997 (base32
3998 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3999 (build-system asdf-build-system/sbcl)
4000 (native-inputs
4001 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4002 (home-page "http://method-combination.net/lisp/chipz/")
4003 (synopsis
4004 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
4005 data")
4006 (description
4007 "DEFLATE data, defined in RFC1951, forms the core of popular
4008 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
4009 Chipz also provides for decompressing data in those formats as well. BZIP2 is
4010 the format used by the popular compression tool bzip2.")
4011 ;; The author describes it as "MIT-like"
4012 (license license:expat))))
4013
4014 (define-public cl-chipz
4015 (sbcl-package->cl-source-package sbcl-chipz))
4016
4017 (define-public ecl-chipz
4018 (sbcl-package->ecl-package sbcl-chipz))
4019
4020 (define-public sbcl-drakma
4021 (package
4022 (name "sbcl-drakma")
4023 (version "2.0.7")
4024 (source
4025 (origin
4026 (method git-fetch)
4027 (uri (git-reference
4028 (url "https://github.com/edicl/drakma")
4029 (commit (string-append "v" version))))
4030 (file-name (git-file-name name version))
4031 (sha256
4032 (base32
4033 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
4034 (build-system asdf-build-system/sbcl)
4035 (inputs
4036 `(("sbcl-puri" ,sbcl-puri)
4037 ("sbcl-cl-base64" ,sbcl-cl-base64)
4038 ("sbcl-chunga" ,sbcl-chunga)
4039 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4040 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4041 ("sbcl-chipz" ,sbcl-chipz)
4042 ("sbcl-usocket" ,sbcl-usocket)
4043 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
4044 (native-inputs
4045 `(("sbcl-fiveam" ,sbcl-fiveam)))
4046 (home-page "https://edicl.github.io/drakma/")
4047 (synopsis "HTTP client written in Common Lisp")
4048 (description
4049 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
4050 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
4051 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
4052 (license license:bsd-2)))
4053
4054 (define-public cl-drakma
4055 (sbcl-package->cl-source-package sbcl-drakma))
4056
4057 (define-public ecl-drakma
4058 (sbcl-package->ecl-package sbcl-drakma))
4059
4060 (define-public sbcl-hunchentoot
4061 (package
4062 (name "sbcl-hunchentoot")
4063 (version "1.2.38")
4064 (source
4065 (origin
4066 (method git-fetch)
4067 (uri (git-reference
4068 (url "https://github.com/edicl/hunchentoot")
4069 (commit (string-append "v" version))))
4070 (file-name (git-file-name "hunchentoot" version))
4071 (sha256
4072 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
4073 (build-system asdf-build-system/sbcl)
4074 (native-inputs
4075 `(("sbcl-cl-who" ,sbcl-cl-who)
4076 ("sbcl-drakma" ,sbcl-drakma)))
4077 (inputs
4078 `(("sbcl-chunga" ,sbcl-chunga)
4079 ("sbcl-cl-base64" ,sbcl-cl-base64)
4080 ("sbcl-cl-fad" ,sbcl-cl-fad)
4081 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4082 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
4083 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
4084 ("sbcl-md5" ,sbcl-md5)
4085 ("sbcl-rfc2388" ,sbcl-rfc2388)
4086 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
4087 ("sbcl-usocket" ,sbcl-usocket)))
4088 (home-page "https://edicl.github.io/hunchentoot/")
4089 (synopsis "Web server written in Common Lisp")
4090 (description
4091 "Hunchentoot is a web server written in Common Lisp and at the same
4092 time a toolkit for building dynamic websites. As a stand-alone web server,
4093 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
4094 connections (keep-alive), and SSL.")
4095 (license license:bsd-2)))
4096
4097 (define-public cl-hunchentoot
4098 (sbcl-package->cl-source-package sbcl-hunchentoot))
4099
4100 (define-public ecl-hunchentoot
4101 (package
4102 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
4103 (arguments
4104 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
4105 '(#:tests? #f))))
4106
4107 (define-public sbcl-trivial-types
4108 (package
4109 (name "sbcl-trivial-types")
4110 (version "0.0.1")
4111 (source
4112 (origin
4113 (method git-fetch)
4114 (uri (git-reference
4115 (url "https://github.com/m2ym/trivial-types")
4116 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
4117 (file-name (git-file-name name version))
4118 (sha256
4119 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
4120 (build-system asdf-build-system/sbcl)
4121 (home-page "https://github.com/m2ym/trivial-types")
4122 (synopsis "Trivial type definitions for Common Lisp")
4123 (description
4124 "TRIVIAL-TYPES provides missing but important type definitions such as
4125 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
4126 (license license:llgpl)))
4127
4128 (define-public cl-trivial-types
4129 (sbcl-package->cl-source-package sbcl-trivial-types))
4130
4131 (define-public ecl-trivial-types
4132 (sbcl-package->ecl-package sbcl-trivial-types))
4133
4134 (define-public sbcl-cl-annot
4135 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
4136 (revision "1"))
4137 (package
4138 (name "sbcl-cl-annot")
4139 (version (git-version "0.0.0" revision commit))
4140 (source
4141 (origin
4142 (method git-fetch)
4143 (uri (git-reference
4144 (url "https://github.com/m2ym/cl-annot")
4145 (commit commit)))
4146 (file-name (git-file-name name version))
4147 (sha256
4148 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
4149 (build-system asdf-build-system/sbcl)
4150 (inputs
4151 `(("sbcl-alexandria" ,sbcl-alexandria)))
4152 (home-page "https://github.com/m2ym/cl-annot")
4153 (synopsis "Python-like Annotation Syntax for Common Lisp.")
4154 (description
4155 "@code{cl-annot} is an general annotation library for Common Lisp.")
4156 (license license:llgpl))))
4157
4158 (define-public cl-annot
4159 (sbcl-package->cl-source-package sbcl-cl-annot))
4160
4161 (define-public ecl-cl-annot
4162 (sbcl-package->ecl-package sbcl-cl-annot))
4163
4164 (define-public sbcl-cl-syntax
4165 (package
4166 (name "sbcl-cl-syntax")
4167 (version "0.0.3")
4168 (source
4169 (origin
4170 (method git-fetch)
4171 (uri (git-reference
4172 (url "https://github.com/m2ym/cl-syntax")
4173 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
4174 (file-name (git-file-name "cl-syntax" version))
4175 (sha256
4176 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
4177 (build-system asdf-build-system/sbcl)
4178 (inputs
4179 `(("cl-annot" ,sbcl-cl-annot)
4180 ("cl-interpol" ,sbcl-cl-interpol)
4181 ("named-readtables" ,sbcl-named-readtables)
4182 ("trivial-types" ,sbcl-trivial-types)))
4183 (arguments
4184 '(#:asd-systems '("cl-syntax"
4185 "cl-syntax-annot"
4186 "cl-syntax-interpol")))
4187 (home-page "https://github.com/m2ym/cl-syntax")
4188 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
4189 (description
4190 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
4191 (license license:llgpl)))
4192
4193 (define-public cl-syntax
4194 (sbcl-package->cl-source-package sbcl-cl-syntax))
4195
4196 (define-public ecl-cl-syntax
4197 (sbcl-package->ecl-package sbcl-cl-syntax))
4198
4199 (define-public sbcl-cl-utilities
4200 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4201 (revision "1"))
4202 (package
4203 (name "sbcl-cl-utilities")
4204 (version (git-version "0.0.0" revision commit))
4205 (source
4206 (origin
4207 (method url-fetch)
4208 (uri
4209 (string-append
4210 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4211 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4212 (sha256
4213 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4214 (build-system asdf-build-system/sbcl)
4215 (arguments
4216 '(#:phases
4217 (modify-phases %standard-phases
4218 (add-after 'unpack 'fix-paths
4219 (lambda* (#:key inputs #:allow-other-keys)
4220 (substitute* "rotate-byte.lisp"
4221 (("in-package :cl-utilities)" all)
4222 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4223 (home-page "http://common-lisp.net/project/cl-utilities")
4224 (synopsis "A collection of semi-standard utilities")
4225 (description
4226 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4227 is a collection of Common Lisp Utilities, things that everybody writes since
4228 they're not part of the official standard. There are some very useful things
4229 there; the only problems are that they aren't implemented as well as you'd
4230 like (some aren't implemented at all) and they aren't conveniently packaged
4231 and maintained. It takes quite a bit of work to carefully implement utilities
4232 for common use, commented and documented, with error checking placed
4233 everywhere some dumb user might make a mistake.")
4234 (license license:public-domain))))
4235
4236 (define-public cl-utilities
4237 (sbcl-package->cl-source-package sbcl-cl-utilities))
4238
4239 (define-public ecl-cl-utilities
4240 (sbcl-package->ecl-package sbcl-cl-utilities))
4241
4242 (define-public sbcl-map-set
4243 (let ((commit "7b4b545b68b8")
4244 (revision "1"))
4245 (package
4246 (name "sbcl-map-set")
4247 (version (git-version "0.0.0" revision commit))
4248 (source
4249 (origin
4250 (method url-fetch)
4251 (uri (string-append
4252 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4253 commit ".tar.gz"))
4254 (sha256
4255 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4256 (build-system asdf-build-system/sbcl)
4257 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4258 (synopsis "Set-like data structure")
4259 (description
4260 "Implementation of a set-like data structure with constant time
4261 addition, removal, and random selection.")
4262 (license license:bsd-3))))
4263
4264 (define-public cl-map-set
4265 (sbcl-package->cl-source-package sbcl-map-set))
4266
4267 (define-public ecl-map-set
4268 (sbcl-package->ecl-package sbcl-map-set))
4269
4270 (define-public sbcl-quri
4271 (let ((commit "d7f2720568146c6674187f625f115925e6364a7f")
4272 (revision "4"))
4273 (package
4274 (name "sbcl-quri")
4275 (version (git-version "0.1.0" revision commit))
4276 (source
4277 (origin
4278 (method git-fetch)
4279 (uri (git-reference
4280 (url "https://github.com/fukamachi/quri")
4281 (commit commit)))
4282 (file-name (git-file-name name version))
4283 (sha256
4284 (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w"))))
4285 (build-system asdf-build-system/sbcl)
4286 (arguments
4287 ;; Test system must be loaded before, otherwise tests fail with:
4288 ;; Component QURI-ASD::QURI-TEST not found, required by #<SYSTEM
4289 ;; "quri">.
4290 '(#:asd-systems '("quri-test"
4291 "quri")))
4292 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
4293 (inputs `(("sbcl-babel" ,sbcl-babel)
4294 ("sbcl-split-sequence" ,sbcl-split-sequence)
4295 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4296 ("sbcl-alexandria" ,sbcl-alexandria)))
4297 (home-page "https://github.com/fukamachi/quri")
4298 (synopsis "Yet another URI library for Common Lisp")
4299 (description
4300 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4301 Lisp. It is intended to be a replacement of PURI.")
4302 (license license:bsd-3))))
4303
4304 (define-public cl-quri
4305 (sbcl-package->cl-source-package sbcl-quri))
4306
4307 (define-public ecl-quri
4308 (sbcl-package->ecl-package sbcl-quri))
4309
4310 (define-public sbcl-myway
4311 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4312 (revision "1"))
4313 (package
4314 (name "sbcl-myway")
4315 (version (git-version "0.1.0" revision commit))
4316 (source
4317 (origin
4318 (method git-fetch)
4319 (uri (git-reference
4320 (url "https://github.com/fukamachi/myway")
4321 (commit commit)))
4322 (file-name (git-file-name "myway" version))
4323 (sha256
4324 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4325 (build-system asdf-build-system/sbcl)
4326 (arguments
4327 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4328 ;; by #<SYSTEM "myway">. Why?
4329 '(#:tests? #f))
4330 (native-inputs
4331 `(("sbcl-prove" ,sbcl-prove)))
4332 (inputs
4333 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4334 ("sbcl-quri" ,sbcl-quri)
4335 ("sbcl-map-set" ,sbcl-map-set)))
4336 (home-page "https://github.com/fukamachi/myway")
4337 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4338 (description "My Way is a Sinatra-compatible URL routing library.")
4339 (license license:llgpl))))
4340
4341 (define-public cl-myway
4342 (sbcl-package->cl-source-package sbcl-myway))
4343
4344 (define-public ecl-myway
4345 (sbcl-package->ecl-package sbcl-myway))
4346
4347 (define-public sbcl-xsubseq
4348 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4349 (revision "1"))
4350 (package
4351 (name "sbcl-xsubseq")
4352 (version (git-version "0.0.1" revision commit))
4353 (source
4354 (origin
4355 (method git-fetch)
4356 (uri (git-reference
4357 (url "https://github.com/fukamachi/xsubseq")
4358 (commit commit)))
4359 (file-name (git-file-name name version))
4360 (sha256
4361 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4362 (build-system asdf-build-system/sbcl)
4363 (arguments
4364 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4365 ;; required by #<SYSTEM "xsubseq">. Why?
4366 '(#:tests? #f))
4367 (native-inputs
4368 `(("sbcl-prove" ,sbcl-prove)))
4369 (home-page "https://github.com/fukamachi/xsubseq")
4370 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4371 (description
4372 "XSubseq provides functions to be able to handle \"subseq\"s more
4373 effieiently.")
4374 (license license:bsd-2))))
4375
4376 (define-public cl-xsubseq
4377 (sbcl-package->cl-source-package sbcl-xsubseq))
4378
4379 (define-public ecl-xsubseq
4380 (sbcl-package->ecl-package sbcl-xsubseq))
4381
4382 (define-public sbcl-smart-buffer
4383 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4384 (revision "1"))
4385 (package
4386 (name "sbcl-smart-buffer")
4387 (version (git-version "0.0.1" revision commit))
4388 (source
4389 (origin
4390 (method git-fetch)
4391 (uri (git-reference
4392 (url "https://github.com/fukamachi/smart-buffer")
4393 (commit commit)))
4394 (file-name (git-file-name name version))
4395 (sha256
4396 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4397 (build-system asdf-build-system/sbcl)
4398 (arguments
4399 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4400 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4401 `(#:tests? #f))
4402 (native-inputs
4403 `(("sbcl-prove" ,sbcl-prove)))
4404 (inputs
4405 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4406 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4407 (home-page "https://github.com/fukamachi/smart-buffer")
4408 (synopsis "Smart octets buffer")
4409 (description
4410 "Smart-buffer provides an output buffer which changes the destination
4411 depending on content size.")
4412 (license license:bsd-3))))
4413
4414 (define-public cl-smart-buffer
4415 (sbcl-package->cl-source-package sbcl-smart-buffer))
4416
4417 (define-public ecl-smart-buffer
4418 (sbcl-package->ecl-package sbcl-smart-buffer))
4419
4420 (define-public sbcl-fast-http
4421 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4422 (revision "2"))
4423 (package
4424 (name "sbcl-fast-http")
4425 (version (git-version "0.2.0" revision commit))
4426 (source
4427 (origin
4428 (method git-fetch)
4429 (uri (git-reference
4430 (url "https://github.com/fukamachi/fast-http")
4431 (commit commit)))
4432 (file-name (git-file-name name version))
4433 (sha256
4434 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4435 (build-system asdf-build-system/sbcl)
4436 (arguments
4437 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4438 ;; required by #<SYSTEM "fast-http">. Why?
4439 `(#:tests? #f))
4440 (native-inputs
4441 `(("sbcl-prove" ,sbcl-prove)
4442 ("cl-syntax" ,sbcl-cl-syntax)))
4443 (inputs
4444 `(("sbcl-alexandria" ,sbcl-alexandria)
4445 ("sbcl-proc-parse" ,sbcl-proc-parse)
4446 ("sbcl-xsubseq" ,sbcl-xsubseq)
4447 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4448 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4449 (home-page "https://github.com/fukamachi/fast-http")
4450 (synopsis "HTTP request/response parser for Common Lisp")
4451 (description
4452 "@code{fast-http} is a HTTP request/response protocol parser for Common
4453 Lisp.")
4454 ;; Author specified the MIT license
4455 (license license:expat))))
4456
4457 (define-public cl-fast-http
4458 (sbcl-package->cl-source-package sbcl-fast-http))
4459
4460 (define-public ecl-fast-http
4461 (sbcl-package->ecl-package sbcl-fast-http))
4462
4463 (define-public sbcl-static-vectors
4464 (package
4465 (name "sbcl-static-vectors")
4466 (version "1.8.6")
4467 (source
4468 (origin
4469 (method git-fetch)
4470 (uri (git-reference
4471 (url "https://github.com/sionescu/static-vectors")
4472 (commit (string-append "v" version))))
4473 (file-name (git-file-name name version))
4474 (sha256
4475 (base32 "01hwxzhyjkhsd3949g70120g7msw01byf0ia0pbj319q1a3cq7j9"))))
4476 (native-inputs
4477 `(("sbcl-fiveam" ,sbcl-fiveam)))
4478 (inputs
4479 `(("sbcl-alexandria" ,sbcl-alexandria)
4480 ("sbcl-cffi" ,sbcl-cffi)))
4481 (build-system asdf-build-system/sbcl)
4482 (home-page "https://github.com/sionescu/static-vectors")
4483 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4484 (description
4485 "With @code{static-vectors}, you can create vectors allocated in static
4486 memory.")
4487 (license license:expat)))
4488
4489 (define-public cl-static-vectors
4490 (sbcl-package->cl-source-package sbcl-static-vectors))
4491
4492 (define-public ecl-static-vectors
4493 (sbcl-package->ecl-package sbcl-static-vectors))
4494
4495 (define-public sbcl-marshal
4496 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4497 (revision "1"))
4498 (package
4499 (name "sbcl-marshal")
4500 (version (git-version "1.3.0" revision commit))
4501 (source
4502 (origin
4503 (method git-fetch)
4504 (uri (git-reference
4505 (url "https://github.com/wlbr/cl-marshal")
4506 (commit commit)))
4507 (file-name (git-file-name name version))
4508 (sha256
4509 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4510 (build-system asdf-build-system/sbcl)
4511 (home-page "https://github.com/wlbr/cl-marshal")
4512 (synopsis "Simple (de)serialization of Lisp datastructures")
4513 (description
4514 "Simple and fast marshalling of Lisp datastructures. Convert any object
4515 into a string representation, put it on a stream an revive it from there.
4516 Only minimal changes required to make your CLOS objects serializable.")
4517 (license license:expat))))
4518
4519 (define-public cl-marshal
4520 (sbcl-package->cl-source-package sbcl-marshal))
4521
4522 (define-public ecl-marshal
4523 (sbcl-package->ecl-package sbcl-marshal))
4524
4525 (define-public sbcl-checkl
4526 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4527 (revision "1"))
4528 (package
4529 (name "sbcl-checkl")
4530 (version (git-version "0.0.0" revision commit))
4531 (source
4532 (origin
4533 (method git-fetch)
4534 (uri (git-reference
4535 (url "https://github.com/rpav/CheckL")
4536 (commit commit)))
4537 (file-name (git-file-name name version))
4538 (sha256
4539 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4540 (build-system asdf-build-system/sbcl)
4541 (arguments
4542 ;; Error while trying to load definition for system checkl-test from
4543 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4544 ;; is undefined.
4545 '(#:asd-files '("checkl.asd")
4546 #:tests? #f))
4547 (native-inputs
4548 `(("sbcl-fiveam" ,sbcl-fiveam)))
4549 (inputs
4550 `(("sbcl-marshal" ,sbcl-marshal)))
4551 (home-page "https://github.com/rpav/CheckL/")
4552 (synopsis "Dynamic testing for Common Lisp")
4553 (description
4554 "CheckL lets you write tests dynamically, it checks resulting values
4555 against the last run.")
4556 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4557 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4558 ;; stronger of the two and so I think only listing this should suffice.
4559 (license license:llgpl))))
4560
4561 (define-public cl-checkl
4562 (sbcl-package->cl-source-package sbcl-checkl))
4563
4564 (define-public ecl-checkl
4565 (sbcl-package->ecl-package sbcl-checkl))
4566
4567 (define-public sbcl-fast-io
4568 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4569 (revision "2"))
4570 (package
4571 (name "sbcl-fast-io")
4572 (version (git-version "1.0.0" revision commit))
4573 (source
4574 (origin
4575 (method git-fetch)
4576 (uri (git-reference
4577 (url "https://github.com/rpav/fast-io")
4578 (commit commit)))
4579 (file-name (git-file-name name version))
4580 (sha256
4581 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4582 (build-system asdf-build-system/sbcl)
4583 (arguments
4584 ;; Error while trying to load definition for system fast-io-test from
4585 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4586 ;; is undefined.
4587 '(#:tests? #f
4588 #:asd-files '("fast-io.asd")))
4589 (native-inputs
4590 `(("sbcl-fiveam" ,sbcl-fiveam)
4591 ("sbcl-checkl" ,sbcl-checkl)))
4592 (inputs
4593 `(("sbcl-alexandria" ,sbcl-alexandria)
4594 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4595 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4596 (home-page "https://github.com/rpav/fast-io")
4597 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4598 (description
4599 "Fast-io is about improving performance to octet-vectors and octet
4600 streams (though primarily the former, while wrapping the latter).")
4601 ;; Author specifies this as NewBSD which is an alias
4602 (license license:bsd-3))))
4603
4604 (define-public cl-fast-io
4605 (sbcl-package->cl-source-package sbcl-fast-io))
4606
4607 (define-public ecl-fast-io
4608 (sbcl-package->ecl-package sbcl-fast-io))
4609
4610 (define-public sbcl-jonathan
4611 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4612 (revision "1"))
4613 (package
4614 (name "sbcl-jonathan")
4615 (version (git-version "0.1.0" revision commit))
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/Rudolph-Miller/jonathan")
4621 (commit commit)))
4622 (file-name (git-file-name name version))
4623 (sha256
4624 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4625 (build-system asdf-build-system/sbcl)
4626 (arguments
4627 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4628 ;; required by #<SYSTEM "jonathan">. Why?
4629 `(#:tests? #f))
4630 (native-inputs
4631 `(("sbcl-prove" ,sbcl-prove)))
4632 (inputs
4633 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4634 ("sbcl-fast-io" ,sbcl-fast-io)
4635 ("sbcl-proc-parse" ,sbcl-proc-parse)
4636 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4637 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4638 (synopsis "JSON encoder and decoder")
4639 (description
4640 "High performance JSON encoder and decoder. Currently support: SBCL,
4641 CCL.")
4642 ;; Author specifies the MIT license
4643 (license license:expat))))
4644
4645 (define-public cl-jonathan
4646 (sbcl-package->cl-source-package sbcl-jonathan))
4647
4648 (define-public ecl-jonathan
4649 (sbcl-package->ecl-package sbcl-jonathan))
4650
4651 (define-public sbcl-http-body
4652 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4653 (revision "1"))
4654 (package
4655 (name "sbcl-http-body")
4656 (version (git-version "0.1.0" revision commit))
4657 (source
4658 (origin
4659 (method git-fetch)
4660 (uri (git-reference
4661 (url "https://github.com/fukamachi/http-body")
4662 (commit commit)))
4663 (file-name (git-file-name name version))
4664 (sha256
4665 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4666 (build-system asdf-build-system/sbcl)
4667 (arguments
4668 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4669 ;; found, required by #<SYSTEM "http-body">. Why?
4670 `(#:tests? #f))
4671 (native-inputs
4672 `(("sbcl-prove" ,sbcl-prove)))
4673 (inputs
4674 `(("sbcl-fast-http" ,sbcl-fast-http)
4675 ("sbcl-jonathan" ,sbcl-jonathan)
4676 ("sbcl-quri" ,sbcl-quri)))
4677 (home-page "https://github.com/fukamachi/http-body")
4678 (synopsis "HTTP POST data parser")
4679 (description
4680 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4681 supports application/x-www-form-urlencoded, application/json, and
4682 multipart/form-data.")
4683 (license license:bsd-2))))
4684
4685 (define-public cl-http-body
4686 (sbcl-package->cl-source-package sbcl-http-body))
4687
4688 (define-public ecl-http-body
4689 (sbcl-package->ecl-package sbcl-http-body))
4690
4691 (define-public sbcl-circular-streams
4692 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4693 (revision "1"))
4694 (package
4695 (name "sbcl-circular-streams")
4696 (version (git-version "0.1.0" revision commit))
4697 (source
4698 (origin
4699 (method git-fetch)
4700 (uri (git-reference
4701 (url "https://github.com/fukamachi/circular-streams")
4702 (commit commit)))
4703 (file-name (git-file-name name version))
4704 (sha256
4705 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4706 (build-system asdf-build-system/sbcl)
4707 (arguments
4708 ;; The tests depend on cl-test-more which is now prove. Prove
4709 ;; tests aren't working for some reason.
4710 `(#:tests? #f))
4711 (inputs
4712 `(("sbcl-fast-io" ,sbcl-fast-io)
4713 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4714 (home-page "https://github.com/fukamachi/circular-streams")
4715 (synopsis "Circularly readable streams for Common Lisp")
4716 (description
4717 "Circular-Streams allows you to read streams circularly by wrapping real
4718 streams. Once you reach end-of-file of a stream, it's file position will be
4719 reset to 0 and you're able to read it again.")
4720 (license license:llgpl))))
4721
4722 (define-public cl-circular-streams
4723 (sbcl-package->cl-source-package sbcl-circular-streams))
4724
4725 (define-public ecl-circular-streams
4726 (sbcl-package->ecl-package sbcl-circular-streams))
4727
4728 (define-public sbcl-lack
4729 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4730 (revision "1"))
4731 (package
4732 (name "sbcl-lack")
4733 (version (git-version "0.1.0" revision commit))
4734 (source
4735 (origin
4736 (method git-fetch)
4737 (uri (git-reference
4738 (url "https://github.com/fukamachi/lack")
4739 (commit commit)))
4740 (file-name (git-file-name "lack" version))
4741 (sha256
4742 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4743 (build-system asdf-build-system/sbcl)
4744 (native-inputs
4745 `(("prove" ,sbcl-prove)))
4746 (inputs
4747 `(("circular-streams" ,sbcl-circular-streams)
4748 ("http-body" ,sbcl-http-body)
4749 ("ironclad" ,sbcl-ironclad)
4750 ("local-time" ,sbcl-local-time)
4751 ("quri" ,sbcl-quri)
4752 ("trivial-mimes" ,sbcl-trivial-mimes)))
4753 (arguments
4754 '(#:asd-systems '("lack"
4755 "lack-request"
4756 "lack-response"
4757 "lack-component"
4758 "lack-util"
4759 "lack-middleware-backtrace"
4760 "lack-middleware-static")
4761 #:test-asd-file "t-lack.asd"
4762 ;; XXX: Component :CLACK not found
4763 #:tests? #f))
4764 (home-page "https://github.com/fukamachi/lack")
4765 (synopsis "Lack, the core of Clack")
4766 (description
4767 "Lack is a Common Lisp library which allows web applications to be
4768 constructed of modular components. It was originally a part of Clack, however
4769 it's going to be rewritten as an individual project since Clack v2 with
4770 performance and simplicity in mind.")
4771 (license license:llgpl))))
4772
4773 (define-public cl-lack
4774 (sbcl-package->cl-source-package sbcl-lack))
4775
4776 (define-public ecl-lack
4777 (sbcl-package->ecl-package sbcl-lack))
4778
4779 (define-public sbcl-local-time
4780 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4781 (revision "2"))
4782 (package
4783 (name "sbcl-local-time")
4784 (version (git-version "1.0.6" revision commit))
4785 (source
4786 (origin
4787 (method git-fetch)
4788 (uri (git-reference
4789 (url "https://github.com/dlowe-net/local-time")
4790 (commit commit)))
4791 (file-name (git-file-name name version))
4792 (sha256
4793 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4794 (build-system asdf-build-system/sbcl)
4795 (native-inputs
4796 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4797 (home-page "https://common-lisp.net/project/local-time/")
4798 (synopsis "Time manipulation library for Common Lisp")
4799 (description
4800 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4801 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4802 Long Painful History of Time\".")
4803 (license license:expat))))
4804
4805 (define-public cl-local-time
4806 (sbcl-package->cl-source-package sbcl-local-time))
4807
4808 (define-public ecl-local-time
4809 (sbcl-package->ecl-package sbcl-local-time))
4810
4811 (define-public sbcl-trivial-mimes
4812 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4813 (revision "2"))
4814 (package
4815 (name "sbcl-trivial-mimes")
4816 (version (git-version "1.1.0" revision commit))
4817 (source
4818 (origin
4819 (method git-fetch)
4820 (uri (git-reference
4821 (url "https://github.com/Shinmera/trivial-mimes")
4822 (commit commit)))
4823 (file-name (git-file-name name version))
4824 (sha256
4825 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4826 (build-system asdf-build-system/sbcl)
4827 (native-inputs
4828 `(("stefil" ,sbcl-hu.dwim.stefil)))
4829 (inputs
4830 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4831 (home-page "https://shinmera.github.io/trivial-mimes/")
4832 (synopsis "Tiny Common Lisp library to detect mime types in files")
4833 (description
4834 "This is a teensy library that provides some functions to determine the
4835 mime-type of a file.")
4836 (license license:zlib))))
4837
4838 (define-public cl-trivial-mimes
4839 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4840
4841 (define-public ecl-trivial-mimes
4842 (sbcl-package->ecl-package sbcl-trivial-mimes))
4843
4844 (define-public sbcl-ningle
4845 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4846 (revision "1"))
4847 (package
4848 (name "sbcl-ningle")
4849 (version (git-version "0.3.0" revision commit))
4850 (source
4851 (origin
4852 (method git-fetch)
4853 (uri (git-reference
4854 (url "https://github.com/fukamachi/ningle")
4855 (commit commit)))
4856 (file-name (git-file-name name version))
4857 (sha256
4858 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4859 (build-system asdf-build-system/sbcl)
4860 (arguments
4861 ;; TODO: pull in clack-test
4862 '(#:tests? #f
4863 #:phases
4864 (modify-phases %standard-phases
4865 (delete 'cleanup-files)
4866 (delete 'cleanup)
4867 (add-before 'cleanup 'combine-fasls
4868 (lambda* (#:key outputs #:allow-other-keys)
4869 (let* ((out (assoc-ref outputs "out"))
4870 (lib (string-append out "/lib/sbcl"))
4871 (ningle-path (string-append lib "/ningle"))
4872 (fasl-files (find-files out "\\.fasl$")))
4873 (mkdir-p ningle-path)
4874 (let ((fasl-path (lambda (name)
4875 (string-append ningle-path
4876 "/"
4877 (basename name)
4878 "--system.fasl"))))
4879 (for-each (lambda (file)
4880 (rename-file file
4881 (fasl-path
4882 (basename file ".fasl"))))
4883 fasl-files))
4884 fasl-files)
4885 #t)))))
4886 (native-inputs
4887 `(("sbcl-prove" ,sbcl-prove)))
4888 (inputs
4889 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4890 ("sbcl-myway" ,sbcl-myway)
4891 ("sbcl-lack" ,sbcl-lack)
4892 ("sbcl-alexandria" ,sbcl-alexandria)
4893 ("sbcl-babel" ,sbcl-babel)))
4894 (home-page "https://8arrow.org/ningle/")
4895 (synopsis "Super micro framework for Common Lisp")
4896 (description
4897 "Ningle is a lightweight web application framework for Common Lisp.")
4898 (license license:llgpl))))
4899
4900 (define-public cl-ningle
4901 (sbcl-package->cl-source-package sbcl-ningle))
4902
4903 (define-public ecl-ningle
4904 (sbcl-package->ecl-package sbcl-ningle))
4905
4906 (define-public sbcl-cl-fastcgi
4907 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4908 (revision "2"))
4909 (package
4910 (name "sbcl-cl-fastcgi")
4911 (version (git-version "0.2" revision commit))
4912 (source
4913 (origin
4914 (method git-fetch)
4915 (uri (git-reference
4916 (url "https://github.com/KDr2/cl-fastcgi/")
4917 (commit commit)))
4918 (file-name (git-file-name name version))
4919 (sha256
4920 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4921 (build-system asdf-build-system/sbcl)
4922 (inputs
4923 `(("usocket" ,sbcl-usocket)
4924 ("cffi" ,sbcl-cffi)
4925 ("fcgi" ,fcgi)))
4926 (arguments
4927 `(#:phases
4928 (modify-phases %standard-phases
4929 (add-after 'unpack 'fix-paths
4930 (lambda* (#:key inputs #:allow-other-keys)
4931 (substitute* "cl-fastcgi.lisp"
4932 (("\"libfcgi.so\"")
4933 (string-append
4934 "\""
4935 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4936 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4937 (synopsis "FastCGI wrapper for Common Lisp")
4938 (description
4939 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4940 mostly Common Lisp implementation.")
4941 (license license:bsd-2))))
4942
4943 (define-public cl-fastcgi
4944 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4945
4946 (define-public ecl-cl-fastcgi
4947 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4948
4949 (define-public sbcl-clack
4950 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4951 (revision "1"))
4952 (package
4953 (name "sbcl-clack")
4954 (version (git-version "2.0.0" revision commit))
4955 (source
4956 (origin
4957 (method git-fetch)
4958 (uri (git-reference
4959 (url "https://github.com/fukamachi/clack")
4960 (commit commit)))
4961 (file-name (git-file-name name version))
4962 (sha256
4963 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4964 (build-system asdf-build-system/sbcl)
4965 (inputs
4966 `(("alexandria" ,sbcl-alexandria)
4967 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4968 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4969 ("flexi-streams" ,sbcl-flexi-streams)
4970 ("hunchentoot" ,sbcl-hunchentoot)
4971 ("lack" ,sbcl-lack)
4972 ("split-sequence" ,sbcl-split-sequence)
4973 ("usocket" ,sbcl-usocket)
4974 ("quri" ,sbcl-quri)))
4975 (arguments
4976 '(#:asd-systems '("clack"
4977 "clack-handler-fcgi"
4978 "clack-socket"
4979 "clack-handler-hunchentoot")))
4980 (home-page "https://github.com/fukamachi/clack")
4981 (synopsis "Web Application Environment for Common Lisp")
4982 (description
4983 "Clack is a web application environment for Common Lisp inspired by
4984 Python's WSGI and Ruby's Rack.")
4985 (license license:llgpl))))
4986
4987 (define-public cl-clack
4988 (sbcl-package->cl-source-package sbcl-clack))
4989
4990 (define-public ecl-clack
4991 (sbcl-package->ecl-package sbcl-clack))
4992
4993 (define-public sbcl-cl-log
4994 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4995 (revision "1"))
4996 (package
4997 (name "sbcl-cl-log")
4998 (version "1.0.1")
4999 (source
5000 (origin
5001 (method git-fetch)
5002 (uri (git-reference
5003 (url "https://github.com/nicklevine/cl-log")
5004 (commit commit)))
5005 (sha256
5006 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
5007 (file-name (git-file-name "cl-log" version))))
5008 (build-system asdf-build-system/sbcl)
5009 (synopsis "Common Lisp general purpose logging utility")
5010 (description "CL-LOG is a general purpose logging utility, loosely modelled
5011 in some respects after Gary King's Log5. Its features include: logging to
5012 several destinations at once, via \"messengers\", each messenger is tailored to
5013 accept some log messages and reject others, and this tailoring can be changed
5014 on-the-fly, very rapid processing of messages which are rejected by all
5015 messengers, fully independent use of the utility by several different
5016 sub-systems in an application, support for messengers which cl:format text to a
5017 stream, support for messengers which do not invoke cl:format, timestamps in
5018 theory accurate to internal-time-units-per-second.")
5019 (home-page "https://github.com/nicklevine/cl-log")
5020 (license license:expat))))
5021
5022 (define-public cl-log
5023 (sbcl-package->cl-source-package sbcl-cl-log))
5024
5025 (define-public ecl-cl-log
5026 (sbcl-package->ecl-package sbcl-cl-log))
5027
5028 (define-public sbcl-log4cl
5029 (let ((commit "8c48d6f41d3a1475d0a91eed0638b9eecc398e35")
5030 (revision "1"))
5031 (package
5032 (name "sbcl-log4cl")
5033 (version (git-version "1.1.3" revision commit))
5034 (source
5035 (origin
5036 (method git-fetch)
5037 (uri (git-reference
5038 (url "https://github.com/sharplispers/log4cl")
5039 (commit commit)))
5040 (file-name (git-file-name "log4cl" version))
5041 (sha256
5042 (base32 "0166d9aip366pbpdk5gsi2f6xad6q61lssxgbrypa8zslwjn8736"))))
5043 (build-system asdf-build-system/sbcl)
5044 (native-inputs
5045 `(("stefil" ,sbcl-stefil)))
5046 (inputs
5047 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5048 (home-page "https://github.com/7max/log4cl")
5049 (synopsis "Common Lisp logging framework, modeled after Log4J")
5050 (description
5051 "This is a Common Lisp logging framework that can log at various levels
5052 and mix text with expressions.")
5053 (license license:asl2.0))))
5054
5055 (define-public cl-log4cl
5056 (sbcl-package->cl-source-package sbcl-log4cl))
5057
5058 (define-public ecl-log4cl
5059 (sbcl-package->ecl-package sbcl-log4cl))
5060
5061 (define-public sbcl-printv
5062 (let ((commit "646d31978dbbb460fffb160fd65bb2be9a5a434e")
5063 (revision "1"))
5064 (package
5065 (name "sbcl-printv")
5066 (version (git-version "0.1.0" revision commit))
5067 (source
5068 (origin
5069 (method git-fetch)
5070 (uri (git-reference
5071 (url "https://github.com/danlentz/printv")
5072 (commit commit)))
5073 (file-name (git-file-name "printv" version))
5074 (sha256
5075 (base32 "08jvy82abm7qi3wrxh6gvmwg9gy0zzhg4cfqajdwrggbah8mj5a6"))))
5076 (build-system asdf-build-system/sbcl)
5077 (home-page "https://github.com/danlentz/printv")
5078 (synopsis "Common Lisp tracing and debug-logging macro")
5079 (description
5080 "@code{PRINTV} is a \"batteries-included\" tracing and debug-logging
5081 macro for Common Lisp.")
5082 (license license:asl2.0))))
5083
5084 (define-public ecl-printv
5085 (sbcl-package->ecl-package sbcl-printv))
5086
5087 (define-public cl-printv
5088 (sbcl-package->cl-source-package sbcl-printv))
5089
5090 (define-public sbcl-verbose
5091 (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174")
5092 (revision "1"))
5093 (package
5094 (name "sbcl-verbose")
5095 (version (git-version "2.0.0" revision commit))
5096 (source
5097 (origin
5098 (method git-fetch)
5099 (uri (git-reference
5100 (url "https://github.com/Shinmera/verbose/")
5101 (commit commit)))
5102 (file-name (git-file-name "verbose" version))
5103 (sha256
5104 (base32 "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6"))))
5105 (build-system asdf-build-system/sbcl)
5106 (inputs
5107 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5108 ("dissect" ,sbcl-dissect)
5109 ("documentation-utils" ,sbcl-documentation-utils)
5110 ("local-time" ,sbcl-local-time)
5111 ("piping" ,sbcl-piping)))
5112 (home-page "https://shinmera.github.io/verbose/")
5113 (synopsis "Logging framework using the piping library")
5114 (description
5115 "This is a Common Lisp library providing logging faciltiy similar to
5116 @code{CL-LOG} and @code{LOG4CL}.")
5117 (license license:zlib))))
5118
5119 (define-public ecl-verbose
5120 (sbcl-package->ecl-package sbcl-verbose))
5121
5122 (define-public cl-verbose
5123 (sbcl-package->cl-source-package sbcl-verbose))
5124
5125 (define-public sbcl-find-port
5126 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5127 (revision "1"))
5128 (package
5129 (name "sbcl-find-port")
5130 (build-system asdf-build-system/sbcl)
5131 (version "0.1")
5132 (home-page "https://github.com/eudoxia0/find-port")
5133 (source
5134 (origin
5135 (method git-fetch)
5136 (uri (git-reference
5137 (url home-page)
5138 (commit commit)))
5139 (file-name (git-file-name name version))
5140 (sha256
5141 (base32
5142 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5143 (native-inputs
5144 `(("fiveam" ,sbcl-fiveam)))
5145 (inputs
5146 `(("sbcl-usocket" ,sbcl-usocket)))
5147 (synopsis "Find open ports programmatically in Common Lisp")
5148 (description "This is a small Common Lisp library that finds an open
5149 port within a range.")
5150 (license license:expat))))
5151
5152 (define-public cl-find-port
5153 (sbcl-package->cl-source-package sbcl-find-port))
5154
5155 (define-public ecl-find-port
5156 (sbcl-package->ecl-package sbcl-find-port))
5157
5158 (define-public sbcl-clunit
5159 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5160 (revision "1"))
5161 (package
5162 (name "sbcl-clunit")
5163 (version (git-version "0.2.3" revision commit))
5164 (source
5165 (origin
5166 (method git-fetch)
5167 (uri (git-reference
5168 (url "https://github.com/tgutu/clunit")
5169 (commit commit)))
5170 (file-name (git-file-name name version))
5171 (sha256
5172 (base32
5173 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5174 (build-system asdf-build-system/sbcl)
5175 (synopsis "CLUnit is a Common Lisp unit testing framework")
5176 (description
5177 "CLUnit is a Common Lisp unit testing framework. It is designed
5178 to be easy to use so that you can quickly start testing. CLUnit
5179 provides a rich set of features aimed at improving your unit testing
5180 experience.")
5181 (home-page "https://tgutu.github.io/clunit/")
5182 ;; MIT License
5183 (license license:expat))))
5184
5185 (define-public cl-clunit
5186 (sbcl-package->cl-source-package sbcl-clunit))
5187
5188 (define-public ecl-clunit
5189 (sbcl-package->ecl-package sbcl-clunit))
5190
5191 (define-public sbcl-py4cl
5192 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5193 (revision "1"))
5194 (package
5195 (name "sbcl-py4cl")
5196 (version (git-version "0.0.0" revision commit))
5197 (source
5198 (origin
5199 (method git-fetch)
5200 (uri (git-reference
5201 (url "https://github.com/bendudson/py4cl")
5202 (commit commit)))
5203 (file-name (git-file-name name version))
5204 (sha256
5205 (base32
5206 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5207 (modules '((guix build utils)))))
5208 (build-system asdf-build-system/sbcl)
5209 (native-inputs
5210 `(("sbcl-clunit" ,sbcl-clunit)))
5211 (inputs
5212 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5213 (propagated-inputs
5214 ;; This package doesn't do anything without python available
5215 `(("python" ,python)
5216 ;; For multi-dimensional array support
5217 ("python-numpy" ,python-numpy)))
5218 (arguments
5219 '(#:phases
5220 (modify-phases %standard-phases
5221 (add-after 'unpack 'replace-*base-directory*-var
5222 (lambda* (#:key outputs #:allow-other-keys)
5223 ;; In the ASD, the author makes an attempt to
5224 ;; programatically determine the location of the
5225 ;; source-code so lisp can call into "py4cl.py". We can
5226 ;; hard-code this since we know where this file will
5227 ;; reside.
5228 (substitute* "src/callpython.lisp"
5229 (("py4cl/config:\\*base-directory\\*")
5230 (string-append
5231 "\""
5232 (assoc-ref outputs "out")
5233 "/share/common-lisp/sbcl-source/py4cl/"
5234 "\""))))))))
5235 (synopsis "Call python from Common Lisp")
5236 (description
5237 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5238 Lisp to interact with Python code. It uses streams to communicate with a
5239 separate python process, the approach taken by cl4py. This is different to
5240 the CFFI approach used by burgled-batteries, but has the same goal.")
5241 (home-page "https://github.com/bendudson/py4cl")
5242 ;; MIT License
5243 (license license:expat))))
5244
5245 (define-public cl-py4cl
5246 (sbcl-package->cl-source-package sbcl-py4cl))
5247
5248 (define-public ecl-py4cl
5249 (sbcl-package->ecl-package sbcl-py4cl))
5250
5251 (define-public sbcl-parse-declarations
5252 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5253 (revision "1"))
5254 (package
5255 (name "sbcl-parse-declarations")
5256 (version (git-version "1.0.0" revision commit))
5257 (source
5258 (origin
5259 (method git-fetch)
5260 (uri (git-reference
5261 (url (string-append
5262 "https://gitlab.common-lisp.net/parse-declarations/"
5263 "parse-declarations.git"))
5264 (commit commit)))
5265 (file-name (git-file-name name version))
5266 (sha256
5267 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5268 (build-system asdf-build-system/sbcl)
5269 (arguments
5270 `(#:asd-systems '("parse-declarations-1.0")))
5271 (home-page "https://common-lisp.net/project/parse-declarations/")
5272 (synopsis "Parse, filter, and build declarations")
5273 (description
5274 "Parse-Declarations is a Common Lisp library to help writing
5275 macros which establish bindings. To be semantically correct, such
5276 macros must take user declarations into account, as these may affect
5277 the bindings they establish. Yet the ANSI standard of Common Lisp does
5278 not provide any operators to work with declarations in a convenient,
5279 high-level way. This library provides such operators.")
5280 ;; MIT License
5281 (license license:expat))))
5282
5283 (define-public cl-parse-declarations
5284 (sbcl-package->cl-source-package sbcl-parse-declarations))
5285
5286 (define-public ecl-parse-declarations
5287 (sbcl-package->ecl-package sbcl-parse-declarations))
5288
5289 (define-public sbcl-cl-quickcheck
5290 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5291 (revision "1"))
5292 (package
5293 (name "sbcl-cl-quickcheck")
5294 (version (git-version "0.0.4" revision commit))
5295 (source
5296 (origin
5297 (method git-fetch)
5298 (uri (git-reference
5299 (url "https://github.com/mcandre/cl-quickcheck")
5300 (commit commit)))
5301 (file-name (git-file-name name version))
5302 (sha256
5303 (base32
5304 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5305 (build-system asdf-build-system/sbcl)
5306 (synopsis
5307 "Common Lisp port of the QuickCheck unit test framework")
5308 (description
5309 "Common Lisp port of the QuickCheck unit test framework")
5310 (home-page "https://github.com/mcandre/cl-quickcheck")
5311 ;; MIT
5312 (license license:expat))))
5313
5314 (define-public cl-quickcheck
5315 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5316
5317 (define-public ecl-cl-quickcheck
5318 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5319
5320 (define-public sbcl-burgled-batteries3
5321 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5322 (revision "2"))
5323 (package
5324 (name "sbcl-burgled-batteries3")
5325 (version (git-version "0.0.0" revision commit))
5326 (source
5327 (origin
5328 (method git-fetch)
5329 (uri (git-reference
5330 (url "https://github.com/snmsts/burgled-batteries3")
5331 (commit commit)))
5332 (file-name (git-file-name name version))
5333 (sha256
5334 (base32
5335 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5336 (build-system asdf-build-system/sbcl)
5337 (arguments
5338 `(#:tests? #f
5339 #:modules (((guix build python-build-system) #:select (python-version))
5340 ,@%asdf-build-system-modules)
5341 #:imported-modules ((guix build python-build-system)
5342 ,@%asdf-build-system-modules)
5343 #:phases
5344 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5345 (add-after 'unpack 'set-*cpython-include-dir*-var
5346 (lambda* (#:key inputs #:allow-other-keys)
5347 (let ((python (assoc-ref inputs "python")))
5348 (setenv "BB_PYTHON3_INCLUDE_DIR"
5349 (string-append python "/include/python"
5350 (python-version python)))
5351 (setenv "BB_PYTHON3_DYLIB"
5352 (string-append python "/lib/libpython3.so"))
5353 #t)))
5354 (add-after 'unpack 'adjust-for-python-3.8
5355 (lambda _
5356 ;; This method is no longer part of the public API.
5357 (substitute* "ffi-interface.lisp"
5358 ((".*PyEval_ReInitThreads.*")
5359 ""))
5360 #t)))))
5361 (native-inputs
5362 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5363 ("sbcl-lift" ,sbcl-lift)
5364 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5365 (inputs
5366 `(("python" ,python)
5367 ("sbcl-cffi" ,sbcl-cffi)
5368 ("sbcl-alexandria" , sbcl-alexandria)
5369 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5370 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5371 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5372 (description
5373 "This package provides a shim between Python3 (specifically, the
5374 CPython implementation of Python) and Common Lisp.")
5375 (home-page "https://github.com/snmsts/burgled-batteries3")
5376 (license license:expat))))
5377
5378 (define-public cl-burgled-batteries3
5379 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5380
5381 (define-public ecl-burgled-batteries3
5382 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5383
5384 (define-public sbcl-metabang-bind
5385 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5386 (revision "1"))
5387 (package
5388 (name "sbcl-metabang-bind")
5389 (version (git-version "0.8.0" revision commit))
5390 (source
5391 (origin
5392 (method git-fetch)
5393 (uri (git-reference
5394 (url "https://github.com/gwkkwg/metabang-bind")
5395 (commit commit)))
5396 (file-name (git-file-name name version))
5397 (sha256
5398 (base32
5399 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5400 (build-system asdf-build-system/sbcl)
5401 (native-inputs
5402 `(("sbcl-lift" ,sbcl-lift)))
5403 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5404 (description
5405 "Bind extends the idea of of let and destructing to provide a uniform
5406 syntax for all your accessor needs. It combines @code{let},
5407 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5408 editing, property or association-lists, and @code{multiple-value-bind} and a
5409 whole lot more into a single form.")
5410 (home-page "https://common-lisp.net/project/metabang-bind/")
5411 ;; MIT License
5412 (license license:expat))))
5413
5414 (define-public cl-metabang-bind
5415 (sbcl-package->cl-source-package sbcl-metabang-bind))
5416
5417 (define-public ecl-metabang-bind
5418 (sbcl-package->ecl-package sbcl-metabang-bind))
5419
5420 (define-public sbcl-fare-utils
5421 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5422 (revision "1"))
5423 (package
5424 (name "sbcl-fare-utils")
5425 (version (git-version "1.0.0.5" revision commit))
5426 (source
5427 (origin
5428 (method git-fetch)
5429 (uri
5430 (git-reference
5431 (url
5432 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5433 (commit commit)))
5434 (file-name (git-file-name name version))
5435 (sha256
5436 (base32
5437 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5438 (build-system asdf-build-system/sbcl)
5439 (arguments
5440 `(#:test-asd-file "test/fare-utils-test.asd"))
5441 (native-inputs
5442 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5443 (synopsis "Collection of utilities and data structures")
5444 (description
5445 "fare-utils is a small collection of utilities. It contains a lot of
5446 basic everyday functions and macros.")
5447 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5448 ;; MIT License
5449 (license license:expat))))
5450
5451 (define-public cl-fare-utils
5452 (sbcl-package->cl-source-package sbcl-fare-utils))
5453
5454 (define-public ecl-fare-utils
5455 (sbcl-package->ecl-package sbcl-fare-utils))
5456
5457 (define-public sbcl-trivial-utf-8
5458 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5459 (revision "1"))
5460 (package
5461 (name "sbcl-trivial-utf-8")
5462 (version (git-version "0.0.0" revision commit))
5463 (source
5464 (origin
5465 (method git-fetch)
5466 (uri
5467 (git-reference
5468 (url (string-append "https://gitlab.common-lisp.net/"
5469 "trivial-utf-8/trivial-utf-8.git"))
5470 (commit commit)))
5471 (file-name (git-file-name name version))
5472 (sha256
5473 (base32
5474 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5475 (arguments
5476 ;; Guix incorrectly assumes the "8" is part of the version
5477 ;; number and lobs it off.
5478 `(#:asd-systems '("trivial-utf-8")))
5479 (build-system asdf-build-system/sbcl)
5480 (synopsis "UTF-8 input/output library")
5481 (description
5482 "The Babel library solves a similar problem while understanding more
5483 encodings. Trivial UTF-8 was written before Babel existed, but for new
5484 projects you might be better off going with Babel. The one plus that Trivial
5485 UTF-8 has is that it doesn't depend on any other libraries.")
5486 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5487 (license license:bsd-3))))
5488
5489 (define-public cl-trivial-utf-8
5490 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5491
5492 (define-public ecl-trivial-utf-8
5493 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5494
5495 (define-public sbcl-idna
5496 (package
5497 (name "sbcl-idna")
5498 (build-system asdf-build-system/sbcl)
5499 (version "0.2.2")
5500 (home-page "https://github.com/antifuchs/idna")
5501 (source
5502 (origin
5503 (method git-fetch)
5504 (uri (git-reference
5505 (url home-page)
5506 (commit version)))
5507 (file-name (git-file-name name version))
5508 (sha256
5509 (base32
5510 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5511 (inputs
5512 `(("split-sequence" ,sbcl-split-sequence)))
5513 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5514 (description "This Common Lisp library provides string encoding and
5515 decoding routines for IDNA, the International Domain Names in Applications.")
5516 (license license:expat)))
5517
5518 (define-public cl-idna
5519 (sbcl-package->cl-source-package sbcl-idna))
5520
5521 (define-public ecl-idna
5522 (sbcl-package->ecl-package sbcl-idna))
5523
5524 (define-public sbcl-swap-bytes
5525 (package
5526 (name "sbcl-swap-bytes")
5527 (build-system asdf-build-system/sbcl)
5528 (version "1.2")
5529 (home-page "https://github.com/sionescu/swap-bytes")
5530 (source
5531 (origin
5532 (method git-fetch)
5533 (uri (git-reference
5534 (url home-page)
5535 (commit (string-append "v" version))))
5536 (file-name (git-file-name name version))
5537 (sha256
5538 (base32
5539 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5540 (inputs
5541 `(("trivial-features" ,sbcl-trivial-features)))
5542 (native-inputs
5543 `(("fiveam" ,sbcl-fiveam)))
5544 (synopsis "Efficient endianness conversion for Common Lisp")
5545 (description "This Common Lisp library provides optimized byte-swapping
5546 primitives. The library can change endianness of unsigned integers of length
5547 1/2/4/8. Very useful in implementing various network protocols and file
5548 formats.")
5549 (license license:expat)))
5550
5551 (define-public cl-swap-bytes
5552 (sbcl-package->cl-source-package sbcl-swap-bytes))
5553
5554 (define-public ecl-swap-bytes
5555 (sbcl-package->ecl-package sbcl-swap-bytes))
5556
5557 (define-public sbcl-iolib
5558 ;; Latest release is from June 2017.
5559 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5560 (revision "2"))
5561 (package
5562 (name "sbcl-iolib")
5563 (version (git-version "0.8.3" revision commit))
5564 (home-page "https://github.com/sionescu/iolib")
5565 (source
5566 (origin
5567 (method git-fetch)
5568 (uri (git-reference
5569 (url home-page)
5570 (commit commit)))
5571 (file-name (git-file-name name version))
5572 (sha256
5573 (base32
5574 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5575 (build-system asdf-build-system/sbcl)
5576 (inputs
5577 `(("alexandria" ,sbcl-alexandria)
5578 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5579 ("cffi" ,sbcl-cffi)
5580 ("idna" ,sbcl-idna)
5581 ("libfixposix" ,libfixposix)
5582 ("split-sequence" ,sbcl-split-sequence)
5583 ("swap-bytes" ,sbcl-swap-bytes)))
5584 (arguments
5585 '(#:asd-files '("iolib.asdf.asd"
5586 "iolib.conf.asd"
5587 "iolib.common-lisp.asd"
5588 "iolib.base.asd"
5589 "iolib.asd")
5590 #:phases
5591 (modify-phases %standard-phases
5592 (add-after 'unpack 'fix-paths
5593 (lambda* (#:key inputs #:allow-other-keys)
5594 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5595 (("\\(:default \"libfixposix\"\\)")
5596 (string-append
5597 "(:default \""
5598 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5599 ;; Socket tests need Internet access, disable them.
5600 (substitute* "iolib.asd"
5601 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5602 "")))))))
5603 (synopsis "Common Lisp I/O library")
5604 (description "IOlib is to be a better and more modern I/O library than
5605 the standard Common Lisp library. It contains a socket library, a DNS
5606 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5607 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5608 (license license:expat))))
5609
5610 (define-public cl-iolib
5611 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5612 (package
5613 (inherit parent)
5614 (propagated-inputs
5615 ;; Need header to compile.
5616 `(("libfixposix" ,libfixposix)
5617 ,@(package-propagated-inputs parent))))))
5618
5619 (define-public ecl-iolib
5620 (sbcl-package->ecl-package sbcl-iolib))
5621
5622 (define-public sbcl-ieee-floats
5623 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5624 (revision "1"))
5625 (package
5626 (name "sbcl-ieee-floats")
5627 (build-system asdf-build-system/sbcl)
5628 (version (git-version "20170924" revision commit))
5629 (home-page "https://github.com/marijnh/ieee-floats/")
5630 (source
5631 (origin
5632 (method git-fetch)
5633 (uri (git-reference
5634 (url home-page)
5635 (commit commit)))
5636 (file-name (git-file-name name version))
5637 (sha256
5638 (base32
5639 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5640 (native-inputs
5641 `(("fiveam" ,sbcl-fiveam)))
5642 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5643 (description "This is a Common Lisp library that converts
5644 floating point values to IEEE 754 binary representation.")
5645 (license license:bsd-3))))
5646
5647 (define-public cl-ieee-floats
5648 (sbcl-package->cl-source-package sbcl-ieee-floats))
5649
5650 (define-public ecl-ieee-floats
5651 (sbcl-package->ecl-package sbcl-ieee-floats))
5652
5653 (define sbcl-closure-common
5654 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5655 (revision "1"))
5656 (package
5657 (name "sbcl-closure-common")
5658 (build-system asdf-build-system/sbcl)
5659 (version (git-version "20101006" revision commit))
5660 (home-page "https://common-lisp.net/project/cxml/")
5661 (source
5662 (origin
5663 (method git-fetch)
5664 (uri (git-reference
5665 (url "https://github.com/sharplispers/closure-common")
5666 (commit commit)))
5667 (file-name (git-file-name name version))
5668 (sha256
5669 (base32
5670 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5671 (inputs
5672 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5673 ("babel" ,sbcl-babel)))
5674 (synopsis "Support Common Lisp library for CXML")
5675 (description "Closure-common is an internal helper library. The name
5676 Closure is a reference to the web browser it was originally written for.")
5677 ;; TODO: License?
5678 (license #f))))
5679
5680 (define-public sbcl-cxml
5681 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5682 (revision "1"))
5683 (package
5684 (name "sbcl-cxml")
5685 (version (git-version "0.0.0" revision commit))
5686 (source
5687 (origin
5688 (method git-fetch)
5689 (uri (git-reference
5690 (url "https://github.com/sharplispers/cxml")
5691 (commit commit)))
5692 (file-name (git-file-name name version))
5693 (sha256
5694 (base32
5695 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5696 (build-system asdf-build-system/sbcl)
5697 (inputs
5698 `(("closure-common" ,sbcl-closure-common)
5699 ("puri" ,sbcl-puri)
5700 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5701 (synopsis "Common Lisp XML parser")
5702 (description "CXML implements a namespace-aware, validating XML 1.0
5703 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5704 offered, one SAX-like, the other similar to StAX.")
5705 (home-page "https://common-lisp.net/project/cxml/")
5706 (license license:llgpl))))
5707
5708 (define-public cl-cxml
5709 (sbcl-package->cl-source-package sbcl-cxml))
5710
5711 (define-public ecl-cxml
5712 (sbcl-package->ecl-package sbcl-cxml))
5713
5714 (define-public sbcl-cl-reexport
5715 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5716 (revision "1"))
5717 (package
5718 (name "sbcl-cl-reexport")
5719 (build-system asdf-build-system/sbcl)
5720 (version (git-version "0.1" revision commit))
5721 (home-page "https://github.com/takagi/cl-reexport")
5722 (source
5723 (origin
5724 (method git-fetch)
5725 (uri (git-reference
5726 (url home-page)
5727 (commit commit)))
5728 (file-name (git-file-name name version))
5729 (sha256
5730 (base32
5731 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5732 (inputs
5733 `(("alexandria" ,sbcl-alexandria)))
5734 (arguments
5735 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5736 `(#:tests? #f))
5737 (synopsis "HTTP cookie manager for Common Lisp")
5738 (description "cl-cookie is a Common Lisp library featuring parsing of
5739 cookie headers, cookie creation, cookie jar creation and more.")
5740 (license license:llgpl))))
5741
5742 (define-public cl-reexport
5743 (sbcl-package->cl-source-package sbcl-cl-reexport))
5744
5745 (define-public ecl-cl-reexport
5746 (sbcl-package->ecl-package sbcl-cl-reexport))
5747
5748 (define-public sbcl-cl-cookie
5749 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5750 (revision "1"))
5751 (package
5752 (name "sbcl-cl-cookie")
5753 (build-system asdf-build-system/sbcl)
5754 (version (git-version "0.9.10" revision commit))
5755 (home-page "https://github.com/fukamachi/cl-cookie")
5756 (source
5757 (origin
5758 (method git-fetch)
5759 (uri (git-reference
5760 (url home-page)
5761 (commit commit)))
5762 (file-name (git-file-name name version))
5763 (sha256
5764 (base32
5765 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5766 (inputs
5767 `(("proc-parse" ,sbcl-proc-parse)
5768 ("alexandria" ,sbcl-alexandria)
5769 ("quri" ,sbcl-quri)
5770 ("cl-ppcre" ,sbcl-cl-ppcre)
5771 ("local-time" ,sbcl-local-time)))
5772 (native-inputs
5773 `(("prove" ,sbcl-prove)))
5774 (arguments
5775 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5776 `(#:tests? #f))
5777 (synopsis "HTTP cookie manager for Common Lisp")
5778 (description "cl-cookie is a Common Lisp library featuring parsing of
5779 cookie headers, cookie creation, cookie jar creation and more.")
5780 (license license:bsd-2))))
5781
5782 (define-public cl-cookie
5783 (sbcl-package->cl-source-package sbcl-cl-cookie))
5784
5785 (define-public ecl-cl-cookie
5786 (sbcl-package->ecl-package sbcl-cl-cookie))
5787
5788 (define-public sbcl-dexador
5789 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5790 (revision "1"))
5791 (package
5792 (name "sbcl-dexador")
5793 (build-system asdf-build-system/sbcl)
5794 (version "0.9.14" )
5795 (home-page "https://github.com/fukamachi/dexador")
5796 (source
5797 (origin
5798 (method git-fetch)
5799 (uri (git-reference
5800 (url home-page)
5801 (commit commit)))
5802 (file-name (git-file-name name version))
5803 (sha256
5804 (base32
5805 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5806 (inputs
5807 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5808 ("babel" ,sbcl-babel)
5809 ("usocket" ,sbcl-usocket)
5810 ("fast-http" ,sbcl-fast-http)
5811 ("quri" ,sbcl-quri)
5812 ("fast-io" ,sbcl-fast-io)
5813 ("chunga" ,sbcl-chunga)
5814 ("cl-ppcre" ,sbcl-cl-ppcre)
5815 ("cl-cookie" ,sbcl-cl-cookie)
5816 ("trivial-mimes" ,sbcl-trivial-mimes)
5817 ("chipz" ,sbcl-chipz)
5818 ("cl-base64" ,sbcl-cl-base64)
5819 ("cl-reexport" ,sbcl-cl-reexport)
5820 ("cl+ssl" ,sbcl-cl+ssl)
5821 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5822 ("alexandria" ,sbcl-alexandria)))
5823 (native-inputs
5824 `(("prove" ,sbcl-prove)
5825 ("lack" ,sbcl-lack)
5826 ("clack" ,sbcl-clack)
5827 ("babel" ,sbcl-babel)
5828 ("alexandria" ,sbcl-alexandria)
5829 ("cl-ppcre" ,sbcl-cl-ppcre)
5830 ("local-time" ,sbcl-local-time)
5831 ("trivial-features" ,sbcl-trivial-features)))
5832 (arguments
5833 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5834 `(#:tests? #f
5835 #:phases
5836 (modify-phases %standard-phases
5837 (add-after 'unpack 'fix-permissions
5838 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5839 (synopsis "Yet another HTTP client for Common Lisp")
5840 (description "Dexador is yet another HTTP client for Common Lisp with
5841 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5842 (license license:expat))))
5843
5844 (define-public cl-dexador
5845 (package
5846 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5847 (arguments
5848 `(#:phases
5849 ;; asdf-build-system/source has its own phases and does not inherit
5850 ;; from asdf-build-system/sbcl phases.
5851 (modify-phases %standard-phases/source
5852 ;; Already done in SBCL package.
5853 (delete 'reset-gzip-timestamps))))))
5854
5855 (define-public ecl-dexador
5856 (sbcl-package->ecl-package sbcl-dexador))
5857
5858 (define-public sbcl-lisp-namespace
5859 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5860 (revision "1"))
5861 (package
5862 (name "sbcl-lisp-namespace")
5863 (build-system asdf-build-system/sbcl)
5864 (version (git-version "0.1" revision commit))
5865 (home-page "https://github.com/guicho271828/lisp-namespace")
5866 (source
5867 (origin
5868 (method git-fetch)
5869 (uri (git-reference
5870 (url home-page)
5871 (commit commit)))
5872 (file-name (git-file-name name version))
5873 (sha256
5874 (base32
5875 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5876 (inputs
5877 `(("alexandria" ,sbcl-alexandria)))
5878 (native-inputs
5879 `(("fiveam" ,sbcl-fiveam)))
5880 (arguments
5881 `(#:test-asd-file "lisp-namespace.test.asd"
5882 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5883 #:tests? #f))
5884 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5885 (description "Common Lisp already has major 2 namespaces, function
5886 namespace and value namespace (or variable namespace), but there are actually
5887 more — e.g., class namespace.
5888 This library offers macros to deal with symbols from any namespace.")
5889 (license license:llgpl))))
5890
5891 (define-public cl-lisp-namespace
5892 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5893
5894 (define-public ecl-lisp-namespace
5895 (sbcl-package->ecl-package sbcl-lisp-namespace))
5896
5897 (define-public sbcl-trivial-cltl2
5898 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5899 (revision "2"))
5900 (package
5901 (name "sbcl-trivial-cltl2")
5902 (build-system asdf-build-system/sbcl)
5903 (version (git-version "0.1.1" revision commit))
5904 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5905 (source
5906 (origin
5907 (method git-fetch)
5908 (uri (git-reference
5909 (url home-page)
5910 (commit commit)))
5911 (file-name (git-file-name name version))
5912 (sha256
5913 (base32
5914 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5915 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5916 (description "This library is a portable compatibility layer around
5917 \"Common Lisp the Language, 2nd
5918 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5919 and it exports symbols from implementation-specific packages.")
5920 (license license:llgpl))))
5921
5922 (define-public cl-trivial-cltl2
5923 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5924
5925 (define-public ecl-trivial-cltl2
5926 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5927
5928 (define-public sbcl-introspect-environment
5929 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5930 (revision "1"))
5931 (package
5932 (name "sbcl-introspect-environment")
5933 (build-system asdf-build-system/sbcl)
5934 (version (git-version "0.1" revision commit))
5935 (home-page "https://github.com/Bike/introspect-environment")
5936 (source
5937 (origin
5938 (method git-fetch)
5939 (uri (git-reference
5940 (url home-page)
5941 (commit commit)))
5942 (file-name (git-file-name name version))
5943 (sha256
5944 (base32
5945 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5946 (native-inputs
5947 `(("fiveam" ,sbcl-fiveam)))
5948 (synopsis "Common Lisp environment introspection portability layer")
5949 (description "This library is a small interface to portable but
5950 nonstandard introspection of Common Lisp environments. It is intended to
5951 allow a bit more compile-time introspection of environments in Common Lisp.
5952
5953 Quite a bit of information is available at the time a macro or compiler-macro
5954 runs; inlining info, type declarations, that sort of thing. This information
5955 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5956 such.
5957
5958 This info ought to be accessible through the standard @code{&environment}
5959 parameters, but it is not. Several implementations keep the information for
5960 their own purposes but do not make it available to user programs, because
5961 there is no standard mechanism to do so.
5962
5963 This library uses implementation-specific hooks to make information available
5964 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5965 implementations have implementations of the functions that do as much as they
5966 can and/or provide reasonable defaults.")
5967 (license license:wtfpl2))))
5968
5969 (define-public cl-introspect-environment
5970 (sbcl-package->cl-source-package sbcl-introspect-environment))
5971
5972 (define-public ecl-introspect-environment
5973 (sbcl-package->ecl-package sbcl-introspect-environment))
5974
5975 (define-public sbcl-type-i
5976 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5977 (revision "2"))
5978 (package
5979 (name "sbcl-type-i")
5980 (build-system asdf-build-system/sbcl)
5981 (version (git-version "0.1" revision commit))
5982 (home-page "https://github.com/guicho271828/type-i")
5983 (source
5984 (origin
5985 (method git-fetch)
5986 (uri (git-reference
5987 (url home-page)
5988 (commit commit)))
5989 (file-name (git-file-name name version))
5990 (sha256
5991 (base32
5992 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5993 (inputs
5994 `(("alexandria" ,sbcl-alexandria)
5995 ("introspect-environment" ,sbcl-introspect-environment)
5996 ("trivia.trivial" ,sbcl-trivia.trivial)))
5997 (native-inputs
5998 `(("fiveam" ,sbcl-fiveam)))
5999 (arguments
6000 `(#:test-asd-file "type-i.test.asd"))
6001 (synopsis "Type inference utility on unary predicates for Common Lisp")
6002 (description "This library tries to provide a way to detect what kind of
6003 type the given predicate is trying to check. This is different from inferring
6004 the return type of a function.")
6005 (license license:llgpl))))
6006
6007 (define-public cl-type-i
6008 (sbcl-package->cl-source-package sbcl-type-i))
6009
6010 (define-public ecl-type-i
6011 (package
6012 (inherit (sbcl-package->ecl-package sbcl-type-i))
6013 (arguments
6014 ;; The tests get stuck indefinitly
6015 '(#:tests? #f))))
6016
6017 (define-public sbcl-optima
6018 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6019 (revision "1"))
6020 (package
6021 (name "sbcl-optima")
6022 (build-system asdf-build-system/sbcl)
6023 (version (git-version "1.0" revision commit))
6024 (home-page "https://github.com/m2ym/optima")
6025 (source
6026 (origin
6027 (method git-fetch)
6028 (uri (git-reference
6029 (url home-page)
6030 (commit commit)))
6031 (file-name (git-file-name name version))
6032 (sha256
6033 (base32
6034 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6035 (inputs
6036 `(("alexandria" ,sbcl-alexandria)
6037 ("closer-mop" ,sbcl-closer-mop)))
6038 (native-inputs
6039 `(("eos" ,sbcl-eos)))
6040 (arguments
6041 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6042 `(#:tests? #f
6043 #:test-asd-file "optima.test.asd"))
6044 (synopsis "Optimized pattern matching library for Common Lisp")
6045 (description "Optima is a fast pattern matching library which uses
6046 optimizing techniques widely used in the functional programming world.")
6047 (license license:expat))))
6048
6049 (define-public cl-optima
6050 (sbcl-package->cl-source-package sbcl-optima))
6051
6052 (define-public ecl-optima
6053 (sbcl-package->ecl-package sbcl-optima))
6054
6055 (define-public sbcl-fare-quasiquote
6056 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6057 (revision "1"))
6058 (package
6059 (name "sbcl-fare-quasiquote")
6060 (build-system asdf-build-system/sbcl)
6061 (version (git-version "1.0.1" revision commit))
6062 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6063 (source
6064 (origin
6065 (method git-fetch)
6066 (uri (git-reference
6067 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6068 "fare-quasiquote.git"))
6069 (commit commit)))
6070 (file-name (git-file-name name version))
6071 (sha256
6072 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6073 (inputs
6074 `(("fare-utils" ,sbcl-fare-utils)
6075 ("named-readtables" ,sbcl-named-readtables)
6076 ("optima" ,sbcl-optima)))
6077 (arguments
6078 ;; XXX: Circular dependencies: Tests depend on subsystems,
6079 ;; which depend on the main systems.
6080 `(#:tests? #f
6081 #:asd-systems '("fare-quasiquote"
6082 "fare-quasiquote-extras")
6083 #:phases
6084 (modify-phases %standard-phases
6085 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6086 ;; commits after 1.0.0.5, but ASDF fails to read the
6087 ;; "-REVISION-COMMIT" part generated by Guix.
6088 (add-after 'unpack 'patch-requirement
6089 (lambda _
6090 (substitute* "fare-quasiquote.asd"
6091 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6092 "\"fare-utils\""))
6093 (substitute* "fare-quasiquote-optima.asd"
6094 (("\\(:version \"optima\" \"1\\.0\"\\)")
6095 "\"optima\""))
6096 #t)))))
6097 (synopsis "Pattern-matching friendly implementation of quasiquote")
6098 (description "The main purpose of this n+2nd reimplementation of
6099 quasiquote is enable matching of quasiquoted patterns, using Optima or
6100 Trivia.")
6101 (license license:expat))))
6102
6103 (define-public cl-fare-quasiquote
6104 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6105
6106 (define-public ecl-fare-quasiquote
6107 (sbcl-package->ecl-package sbcl-fare-quasiquote))
6108
6109 ;;; Split the trivia package in two to work around the circular dependency
6110 ;;; between guicho271828/trivia and guicho271828/type-i.
6111 (define-public sbcl-trivia.trivial
6112 (let ((commit "7286d5d2a4f685f1cac8370816f95276c0851111")
6113 (revision "3"))
6114 (package
6115 (name "sbcl-trivia.trivial")
6116 (version (git-version "0.0.0" revision commit))
6117 (source
6118 (origin
6119 (method git-fetch)
6120 (uri (git-reference
6121 (url "https://github.com/guicho271828/trivia")
6122 (commit commit)))
6123 (file-name (git-file-name "trivia" version))
6124 (sha256
6125 (base32
6126 "0ln0sj3jry7kzbmxhnin66kpbqan1wp8wwgdbw4k29afbdblkcca"))))
6127 (build-system asdf-build-system/sbcl)
6128 (inputs
6129 `(("alexandria" ,sbcl-alexandria)
6130 ("closer-mop" ,sbcl-closer-mop)
6131 ("lisp-namespace" ,sbcl-lisp-namespace)
6132 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
6133 (arguments
6134 '(#:phases
6135 (modify-phases %standard-phases
6136 (add-after 'unpack 'fix-build
6137 (lambda _
6138 (for-each delete-file
6139 '("trivia.balland2006.asd"
6140 "trivia.ppcre.asd"
6141 "trivia.quasiquote.asd"
6142 "trivia.cffi.asd"
6143 "trivia.asd"
6144 "trivia.test.asd"))
6145 #t)))))
6146 (synopsis "Pattern matching in Common Lisp")
6147 (description "Trivia is a pattern matching compiler that is compatible
6148 with Optima, another pattern matching library for Common Lisp. It is meant to
6149 be faster and more extensible than Optima.")
6150 (home-page "https://github.com/guicho271828/trivia")
6151 (license license:llgpl))))
6152
6153 (define-public cl-trivia.trivial
6154 (sbcl-package->cl-source-package sbcl-trivia.trivial))
6155
6156 (define-public ecl-trivia.trivial
6157 (sbcl-package->ecl-package sbcl-trivia.trivial))
6158
6159 (define-public sbcl-trivia
6160 (package
6161 (inherit sbcl-trivia.trivial)
6162 (name "sbcl-trivia")
6163 (native-inputs
6164 `(("fiveam" ,sbcl-fiveam)
6165 ("optima" ,sbcl-optima)))
6166 (inputs
6167 `(("alexandria" ,sbcl-alexandria)
6168 ("cffi" ,sbcl-cffi)
6169 ("cl-ppcre" ,sbcl-cl-ppcre)
6170 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6171 ("iterate" ,sbcl-iterate)
6172 ("trivia.trivial" ,sbcl-trivia.trivial)
6173 ("type-i" ,sbcl-type-i)))
6174 (arguments
6175 '(#:asd-systems '("trivia"
6176 "trivia.ppcre"
6177 "trivia.quasiquote"
6178 "trivia.cffi")
6179 #:test-asd-file "trivia.test.asd"
6180 #:phases
6181 (modify-phases %standard-phases
6182 (add-after 'unpack 'fix-build
6183 (lambda _
6184 (for-each delete-file
6185 '("trivia.level0.asd"
6186 "trivia.level1.asd"
6187 "trivia.level2.asd"
6188 "trivia.trivial.asd"))
6189 #t)))))))
6190
6191 (define-public cl-trivia
6192 (sbcl-package->cl-source-package sbcl-trivia))
6193
6194 (define-public ecl-trivia
6195 (sbcl-package->ecl-package sbcl-trivia))
6196
6197 (define-public sbcl-mk-string-metrics
6198 (package
6199 (name "sbcl-mk-string-metrics")
6200 (version "0.1.2")
6201 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6202 (source (origin
6203 (method git-fetch)
6204 (uri (git-reference
6205 (url home-page)
6206 (commit version)))
6207 (sha256
6208 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6209 (file-name (git-file-name name version))))
6210 (build-system asdf-build-system/sbcl)
6211 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6212 (description "This library implements efficient algorithms that calculate
6213 various string metrics in Common Lisp:
6214
6215 @itemize
6216 @item Damerau-Levenshtein distance
6217 @item Hamming distance
6218 @item Jaccard similarity coefficient
6219 @item Jaro distance
6220 @item Jaro-Winkler distance
6221 @item Levenshtein distance
6222 @item Normalized Damerau-Levenshtein distance
6223 @item Normalized Levenshtein distance
6224 @item Overlap coefficient
6225 @end itemize\n")
6226 (license license:x11)))
6227
6228 (define-public cl-mk-string-metrics
6229 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6230
6231 (define-public ecl-mk-string-metrics
6232 (sbcl-package->ecl-package sbcl-mk-string-metrics))
6233
6234 (define-public sbcl-cl-str
6235 (package
6236 (name "sbcl-cl-str")
6237 (version "0.19")
6238 (home-page "https://github.com/vindarel/cl-str")
6239 (source (origin
6240 (method git-fetch)
6241 (uri (git-reference
6242 (url home-page)
6243 (commit version)))
6244 (sha256
6245 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
6246 (file-name (git-file-name name version))))
6247 (build-system asdf-build-system/sbcl)
6248 (inputs
6249 `(("cl-ppcre" ,sbcl-cl-ppcre)
6250 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6251 ("cl-change-case" ,sbcl-cl-change-case)))
6252 (native-inputs
6253 `(("prove" ,sbcl-prove)))
6254 (arguments
6255 `(#:asd-systems '("str")
6256 #:test-asd-file "str.test.asd"))
6257 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6258 (description "A modern and consistent Common Lisp string manipulation
6259 library that focuses on modernity, simplicity and discoverability:
6260 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6261 @code{str:concat strings} instead of an unusual format construct; one
6262 discoverable library instead of many; consistency and composability, where
6263 @code{s} is always the last argument, which makes it easier to feed pipes and
6264 arrows.")
6265 (license license:expat)))
6266
6267 (define-public cl-str
6268 (sbcl-package->cl-source-package sbcl-cl-str))
6269
6270 (define-public ecl-cl-str
6271 (sbcl-package->ecl-package sbcl-cl-str))
6272
6273 (define-public sbcl-cl-xmlspam
6274 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6275 (package
6276 (name "sbcl-cl-xmlspam")
6277 (build-system asdf-build-system/sbcl)
6278 (version (git-version "0.0.0" "1" commit))
6279 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6280 (source
6281 (origin
6282 (method git-fetch)
6283 (uri (git-reference
6284 (url home-page)
6285 (commit commit)))
6286 (file-name (string-append name "-" version))
6287 (sha256
6288 (base32
6289 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6290 (inputs
6291 `(("cxml" ,sbcl-cxml)
6292 ("cl-ppcre" ,sbcl-cl-ppcre)))
6293 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6294 (description "CXML does an excellent job at parsing XML elements, but what
6295 do you do when you have a XML file that's larger than you want to fit in
6296 memory, and you want to extract some information from it? Writing code to deal
6297 with SAX events, or even using Klacks, quickly becomes tedious.
6298 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6299 to write code that mirrors the structure of the XML that it's parsing. It
6300 also makes it easy to shift paradigms when necessary - the usual Lisp control
6301 constructs can be used interchangeably with pattern matching, and the full
6302 power of CXML is available when necessary.")
6303 (license license:bsd-3))))
6304
6305 (define-public cl-xmlspam
6306 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
6307
6308 (define-public ecl-cl-xmlspam
6309 (sbcl-package->ecl-package sbcl-cl-xmlspam))
6310
6311 (define-public sbcl-dbus
6312 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6313 (revision "1"))
6314 (package
6315 (name "sbcl-dbus")
6316 (version (git-version "20190408" revision commit))
6317 (home-page "https://github.com/death/dbus")
6318 (source
6319 (origin
6320 (method git-fetch)
6321 (uri (git-reference
6322 (url home-page)
6323 (commit commit)))
6324 (file-name (git-file-name name version))
6325 (sha256
6326 (base32
6327 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6328 (build-system asdf-build-system/sbcl)
6329 (inputs
6330 `(("alexandria" ,sbcl-alexandria)
6331 ("trivial-garbage" ,sbcl-trivial-garbage)
6332 ("babel" ,sbcl-babel)
6333 ("iolib" ,sbcl-iolib)
6334 ("ieee-floats" ,sbcl-ieee-floats)
6335 ("flexi-streams" ,sbcl-flexi-streams)
6336 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6337 ("ironclad" ,sbcl-ironclad)))
6338 (synopsis "D-Bus client library for Common Lisp")
6339 (description "This is a Common Lisp library that publishes D-Bus
6340 objects as well as send and notify other objects connected to a bus.")
6341 (license license:bsd-2))))
6342
6343 (define-public cl-dbus
6344 (sbcl-package->cl-source-package sbcl-dbus))
6345
6346 (define-public ecl-dbus
6347 (sbcl-package->ecl-package sbcl-dbus))
6348
6349 (define-public sbcl-cl-hooks
6350 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6351 (revision "1"))
6352 (package
6353 (name "sbcl-cl-hooks")
6354 (build-system asdf-build-system/sbcl)
6355 (version (git-version "0.2.1" revision commit))
6356 (home-page "https://github.com/scymtym/architecture.hooks")
6357 (source
6358 (origin
6359 (method git-fetch)
6360 (uri (git-reference
6361 (url home-page)
6362 (commit commit)))
6363 (file-name (git-file-name name version))
6364 (sha256
6365 (base32
6366 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6367 (inputs
6368 `(("alexandria" ,sbcl-alexandria)
6369 ("let-plus" ,sbcl-let-plus)
6370 ("trivial-garbage" ,sbcl-trivial-garbage)
6371 ("closer-mop" ,sbcl-closer-mop)))
6372 (native-inputs
6373 `(("fiveam" ,sbcl-fiveam)))
6374 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6375 (description "A hook, in the present context, is a certain kind of
6376 extension point in a program that allows interleaving the execution of
6377 arbitrary code with the execution of a the program without introducing any
6378 coupling between the two. Hooks are used extensively in the extensible editor
6379 Emacs.
6380
6381 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6382 possible using the flexible multi-method dispatch mechanism. It may even seem
6383 that the concept of hooks does not provide any benefits over the possibilities
6384 of CLOS. However, there are some differences:
6385
6386 @itemize
6387
6388 @item There can be only one method for each combination of specializers and
6389 qualifiers. As a result this kind of extension point cannot be used by
6390 multiple extensions independently.
6391 @item Removing code previously attached via a @code{:before}, @code{:after} or
6392 @code{:around} method can be cumbersome.
6393 @item There could be other or even multiple extension points besides @code{:before}
6394 and @code{:after} in a single method.
6395 @item Attaching codes to individual objects using eql specializers can be
6396 cumbersome.
6397 @item Introspection of code attached a particular extension point is
6398 cumbersome since this requires enumerating and inspecting the methods of a
6399 generic function.
6400 @end itemize
6401
6402 This library tries to complement some of these weaknesses of method-based
6403 extension-points via the concept of hooks.")
6404 (license license:llgpl))))
6405
6406 (define-public cl-hooks
6407 (sbcl-package->cl-source-package sbcl-cl-hooks))
6408
6409 (define-public ecl-cl-hooks
6410 (sbcl-package->ecl-package sbcl-cl-hooks))
6411
6412 (define-public sbcl-cl-autowrap
6413 (let ((revision "1")
6414 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
6415 ;; no taged branches
6416 (package
6417 (name "sbcl-cl-autowrap")
6418 (version (git-version "1.0" revision commit))
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url "https://github.com/rpav/cl-autowrap")
6424 (commit commit)))
6425 (file-name (git-file-name name version))
6426 (sha256
6427 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
6428 (build-system asdf-build-system/sbcl)
6429 (inputs
6430 `(("alexandria" ,sbcl-alexandria)
6431 ("cffi" ,sbcl-cffi)
6432 ("cl-json" ,sbcl-cl-json)
6433 ("cl-ppcre" ,sbcl-cl-ppcre)
6434 ("defpackage-plus" ,sbcl-defpackage-plus)
6435 ("trivial-features" ,sbcl-trivial-features)))
6436 (home-page "https://github.com/rpav/cl-autowrap")
6437 (synopsis "FFI wrapper generator for Common Lisp")
6438 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
6439 (license license:bsd-2))))
6440
6441 (define-public cl-autowrap
6442 (sbcl-package->cl-source-package sbcl-cl-autowrap))
6443
6444 (define-public ecl-cl-autowrap
6445 (sbcl-package->ecl-package sbcl-cl-autowrap))
6446
6447 (define-public sbcl-s-sysdeps
6448 ;; No release since 2013.
6449 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6450 (revision "2"))
6451 (package
6452 (name "sbcl-s-sysdeps")
6453 (build-system asdf-build-system/sbcl)
6454 (version (git-version "1" revision commit))
6455 (home-page "https://github.com/svenvc/s-sysdeps")
6456 (source
6457 (origin
6458 (method git-fetch)
6459 (uri (git-reference
6460 (url home-page)
6461 (commit commit)))
6462 (file-name (git-file-name name version))
6463 (sha256
6464 (base32
6465 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6466 (inputs
6467 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6468 ("usocket" ,sbcl-usocket)))
6469 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6470 (description "@code{s-sysdeps} is an abstraction layer over platform
6471 dependent functionality. This simple package is used as a building block in a
6472 number of other open source projects.
6473
6474 @code{s-sysdeps} abstracts:
6475
6476 @itemize
6477 @item managing processes,
6478 @item implementing a standard TCP/IP server,
6479 @item opening a client TCP/IP socket stream,
6480 @item working with process locks.
6481 @end itemize\n")
6482 (license license:llgpl))))
6483
6484 (define-public cl-s-sysdeps
6485 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6486
6487 (define-public ecl-s-sysdeps
6488 (sbcl-package->ecl-package sbcl-s-sysdeps))
6489
6490 (define-public sbcl-cl-prevalence
6491 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6492 (revision "4"))
6493 (package
6494 (name "sbcl-cl-prevalence")
6495 (build-system asdf-build-system/sbcl)
6496 (version (git-version "5" revision commit))
6497 (home-page "https://github.com/40ants/cl-prevalence")
6498 (source
6499 (origin
6500 (method git-fetch)
6501 (uri (git-reference
6502 (url home-page)
6503 (commit commit)))
6504 (file-name (git-file-name name version))
6505 (sha256
6506 (base32
6507 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6508 (inputs
6509 `(("s-sysdeps" ,sbcl-s-sysdeps)
6510 ("s-xml" ,sbcl-s-xml)))
6511 (native-inputs
6512 `(("fiveam" ,sbcl-fiveam)))
6513 (synopsis "Implementation of object prevalence for Common Lisp")
6514 (description "This Common Lisp library implements object prevalence (see
6515 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6516 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6517 classes and cyclic data structures are supported.")
6518 (license license:llgpl))))
6519
6520 (define-public cl-prevalence
6521 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6522
6523 (define-public ecl-cl-prevalence
6524 (sbcl-package->ecl-package sbcl-cl-prevalence))
6525
6526 (define-public sbcl-series
6527 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6528 (revision "1"))
6529 (package
6530 (name "sbcl-series")
6531 (version (git-version "2.2.11" revision commit))
6532 (source
6533 (origin
6534 (method git-fetch)
6535 (uri (git-reference
6536 (url "git://git.code.sf.net/p/series/series")
6537 (commit commit)))
6538 (file-name (git-file-name name version))
6539 (sha256
6540 (base32
6541 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6542 (build-system asdf-build-system/sbcl)
6543 (arguments
6544 ;; Disable the tests, they are apparently buggy and I didn't find
6545 ;; a simple way to make them run and pass.
6546 '(#:tests? #f))
6547 (synopsis "Series data structure for Common Lisp")
6548 (description
6549 "This Common Lisp library provides a series data structure much like
6550 a sequence, with similar kinds of operations. The difference is that in many
6551 situations, operations on series may be composed functionally and yet execute
6552 iteratively, without the need to construct intermediate series values
6553 explicitly. In this manner, series provide both the clarity of a functional
6554 programming style and the efficiency of an iterative programming style.")
6555 (home-page "http://series.sourceforge.net/")
6556 (license license:expat))))
6557
6558 (define-public cl-series
6559 (sbcl-package->cl-source-package sbcl-series))
6560
6561 (define-public ecl-series
6562 (sbcl-package->ecl-package sbcl-series))
6563
6564 (define-public sbcl-periods
6565 (let ((commit "60383dcef88a1ac11f82804ae7a33c361dcd2949")
6566 (revision "2"))
6567 (package
6568 (name "sbcl-periods")
6569 (version (git-version "0.0.2" revision commit))
6570 (source
6571 (origin
6572 (method git-fetch)
6573 (uri (git-reference
6574 (url "https://github.com/jwiegley/periods")
6575 (commit commit)))
6576 (file-name (git-file-name name version))
6577 (sha256
6578 (base32
6579 "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk"))))
6580 (build-system asdf-build-system/sbcl)
6581 (inputs
6582 `(("local-time" ,sbcl-local-time)
6583 ("series" ,sbcl-series)))
6584 (arguments
6585 '(#:asd-systems '("periods"
6586 "periods-series")))
6587 (synopsis "Common Lisp library for manipulating date/time objects")
6588 (description
6589 "Periods is a Common Lisp library providing a set of utilities for
6590 manipulating times, distances between times, and both contiguous and
6591 discontiguous ranges of time.")
6592 (home-page "https://github.com/jwiegley/periods")
6593 (license license:bsd-3))))
6594
6595 (define-public cl-periods
6596 (sbcl-package->cl-source-package sbcl-periods))
6597
6598 (define-public ecl-periods
6599 (sbcl-package->ecl-package sbcl-periods))
6600
6601 (define-public sbcl-metatilities-base
6602 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6603 (revision "1"))
6604 (package
6605 (name "sbcl-metatilities-base")
6606 (version (git-version "0.6.6" revision commit))
6607 (source
6608 (origin
6609 (method git-fetch)
6610 (uri (git-reference
6611 (url "https://github.com/gwkkwg/metatilities-base")
6612 (commit commit)))
6613 (file-name (git-file-name name version))
6614 (sha256
6615 (base32
6616 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6617 (build-system asdf-build-system/sbcl)
6618 (native-inputs
6619 `(("lift" ,sbcl-lift)))
6620 (synopsis "Core of the metatilities Common Lisp library")
6621 (description
6622 "Metatilities-base is the core of the metatilities Common Lisp library
6623 which implements a set of utilities.")
6624 (home-page "https://common-lisp.net/project/metatilities-base/")
6625 (license license:expat))))
6626
6627 (define-public cl-metatilities-base
6628 (sbcl-package->cl-source-package sbcl-metatilities-base))
6629
6630 (define-public ecl-metatilities-base
6631 (sbcl-package->ecl-package sbcl-metatilities-base))
6632
6633 (define-public sbcl-cl-containers
6634 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6635 (revision "3"))
6636 (package
6637 (name "sbcl-cl-containers")
6638 (version (git-version "0.12.1" revision commit))
6639 (source
6640 (origin
6641 (method git-fetch)
6642 (uri (git-reference
6643 (url "https://github.com/gwkkwg/cl-containers")
6644 (commit commit)))
6645 (file-name (git-file-name name version))
6646 (sha256
6647 (base32
6648 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6649 (build-system asdf-build-system/sbcl)
6650 (native-inputs
6651 `(("lift" ,sbcl-lift)))
6652 (inputs
6653 `(("metatilities-base" ,sbcl-metatilities-base)))
6654 (arguments
6655 '(#:asd-files '("cl-containers.asd")
6656 #:phases
6657 (modify-phases %standard-phases
6658 (add-after 'unpack 'relax-version-checks
6659 (lambda _
6660 (substitute* "cl-containers.asd"
6661 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6662 "\"metatilities-base\""))
6663 (substitute* "cl-containers-test.asd"
6664 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6665 "\"lift\""))
6666 #t)))))
6667 (synopsis "Container library for Common Lisp")
6668 (description
6669 "Common Lisp ships with a set of powerful built in data structures
6670 including the venerable list, full featured arrays, and hash-tables.
6671 CL-containers enhances and builds on these structures by adding containers
6672 that are not available in native Lisp (for example: binary search trees,
6673 red-black trees, sparse arrays and so on), and by providing a standard
6674 interface so that they are simpler to use and so that changing design
6675 decisions becomes significantly easier.")
6676 (home-page "https://common-lisp.net/project/cl-containers/")
6677 (license license:expat))))
6678
6679 (define-public cl-containers
6680 (sbcl-package->cl-source-package sbcl-cl-containers))
6681
6682 (define-public ecl-cl-containers
6683 (sbcl-package->ecl-package sbcl-cl-containers))
6684
6685 (define-public sbcl-xlunit
6686 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6687 (revision "1"))
6688 (package
6689 (name "sbcl-xlunit")
6690 (version (git-version "0.6.3" revision commit))
6691 (source
6692 (origin
6693 (method git-fetch)
6694 (uri (git-reference
6695 (url "http://git.kpe.io/xlunit.git")
6696 (commit commit)))
6697 (file-name (git-file-name name version))
6698 (sha256
6699 (base32
6700 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6701 (build-system asdf-build-system/sbcl)
6702 (arguments
6703 '(#:phases
6704 (modify-phases %standard-phases
6705 (add-after 'unpack 'fix-tests
6706 (lambda _
6707 (substitute* "xlunit.asd"
6708 ((" :force t") ""))
6709 #t)))))
6710 (synopsis "Unit testing package for Common Lisp")
6711 (description
6712 "The XLUnit package is a toolkit for building test suites. It is based
6713 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6714 (home-page "http://quickdocs.org/xlunit/")
6715 (license license:bsd-3))))
6716
6717 (define-public cl-xlunit
6718 (sbcl-package->cl-source-package sbcl-xlunit))
6719
6720 (define-public ecl-xlunit
6721 (sbcl-package->ecl-package sbcl-xlunit))
6722
6723 (define-public sbcl-cambl
6724 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6725 (revision "1"))
6726 (package
6727 (name "sbcl-cambl")
6728 (version (git-version "4.0.0" revision commit))
6729 (source
6730 (origin
6731 (method git-fetch)
6732 (uri (git-reference
6733 (url "https://github.com/jwiegley/cambl")
6734 (commit commit)))
6735 (file-name (git-file-name "cambl" version))
6736 (sha256
6737 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6738 (build-system asdf-build-system/sbcl)
6739 (native-inputs
6740 `(("xlunit" ,sbcl-xlunit)))
6741 (inputs
6742 `(("alexandria" ,sbcl-alexandria)
6743 ("cl-containers" ,sbcl-cl-containers)
6744 ("local-time" ,sbcl-local-time)
6745 ("periods" ,sbcl-periods)))
6746 (arguments
6747 '(#:asd-files '("fprog.asd"
6748 "cambl.asd")))
6749 (synopsis "Commoditized amounts and balances for Common Lisp")
6750 (description
6751 "CAMBL is a Common Lisp library providing a convenient facility for
6752 working with commoditized values. It does not allow compound units (and so is
6753 not suited for scientific operations) but does work rather nicely for the
6754 purpose of financial calculations.")
6755 (home-page "https://github.com/jwiegley/cambl")
6756 (license license:bsd-3))))
6757
6758 (define-public cl-cambl
6759 (sbcl-package->cl-source-package sbcl-cambl))
6760
6761 (define-public ecl-cambl
6762 (sbcl-package->ecl-package sbcl-cambl))
6763
6764 (define-public sbcl-cl-ledger
6765 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6766 (revision "1"))
6767 (package
6768 (name "sbcl-cl-ledger")
6769 (version (git-version "4.0.0" revision commit))
6770 (source
6771 (origin
6772 (method git-fetch)
6773 (uri (git-reference
6774 (url "https://github.com/ledger/cl-ledger")
6775 (commit commit)))
6776 (file-name (git-file-name name version))
6777 (sha256
6778 (base32
6779 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6780 (build-system asdf-build-system/sbcl)
6781 (inputs
6782 `(("cambl" ,sbcl-cambl)
6783 ("cl-ppcre" ,sbcl-cl-ppcre)
6784 ("local-time" ,sbcl-local-time)
6785 ("periods" ,sbcl-periods)))
6786 (arguments
6787 '(#:phases
6788 (modify-phases %standard-phases
6789 (add-after 'unpack 'fix-system-definition
6790 (lambda _
6791 (substitute* "cl-ledger.asd"
6792 ((" :build-operation program-op") "")
6793 ((" :build-pathname \"cl-ledger\"") "")
6794 ((" :entry-point \"ledger::main\"") ""))
6795 #t)))))
6796 (synopsis "Common Lisp port of the Ledger accounting system")
6797 (description
6798 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6799 system.")
6800 (home-page "https://github.com/ledger/cl-ledger")
6801 (license license:bsd-3))))
6802
6803 (define-public cl-ledger
6804 (sbcl-package->cl-source-package sbcl-cl-ledger))
6805
6806 (define-public ecl-cl-ledger
6807 (sbcl-package->ecl-package sbcl-cl-ledger))
6808
6809 (define-public sbcl-bst
6810 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6811 (revision "0"))
6812 (package
6813 (name "sbcl-bst")
6814 (version (git-version "2.0" revision commit))
6815 (source
6816 (origin
6817 (method git-fetch)
6818 (uri (git-reference
6819 (url "https://github.com/glv2/bst")
6820 (commit commit)))
6821 (file-name (git-file-name name version))
6822 (sha256
6823 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6824 (build-system asdf-build-system/sbcl)
6825 (native-inputs
6826 `(("alexandria" ,sbcl-alexandria)
6827 ("fiveam" ,sbcl-fiveam)))
6828 (synopsis "Binary search tree for Common Lisp")
6829 (description
6830 "BST is a Common Lisp library for working with binary search trees that
6831 can contain any kind of values.")
6832 (home-page "https://github.com/glv2/bst")
6833 (license license:gpl3))))
6834
6835 (define-public cl-bst
6836 (sbcl-package->cl-source-package sbcl-bst))
6837
6838 (define-public ecl-bst
6839 (sbcl-package->ecl-package sbcl-bst))
6840
6841 (define-public sbcl-cl-octet-streams
6842 (package
6843 (name "sbcl-cl-octet-streams")
6844 (version "1.2")
6845 (source
6846 (origin
6847 (method git-fetch)
6848 (uri (git-reference
6849 (url "https://github.com/glv2/cl-octet-streams")
6850 (commit (string-append "v" version))))
6851 (file-name (git-file-name name version))
6852 (sha256
6853 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6854 (build-system asdf-build-system/sbcl)
6855 (native-inputs
6856 `(("fiveam" ,sbcl-fiveam)))
6857 (inputs
6858 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6859 (synopsis "In-memory octet streams for Common Lisp")
6860 (description
6861 "CL-octet-streams is a library implementing in-memory octet
6862 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6863 cl-plumbing libraries.")
6864 (home-page "https://github.com/glv2/cl-octet-streams")
6865 (license license:gpl3+)))
6866
6867 (define-public cl-octet-streams
6868 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6869
6870 (define-public ecl-cl-octet-streams
6871 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6872
6873 (define-public sbcl-lzlib
6874 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6875 (revision "2"))
6876 (package
6877 (name "sbcl-lzlib")
6878 (version (git-version "1.1" revision commit))
6879 (source
6880 (origin
6881 (method git-fetch)
6882 (uri (git-reference
6883 (url "https://github.com/glv2/cl-lzlib")
6884 (commit commit)))
6885 (file-name (git-file-name name version))
6886 (sha256
6887 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6888 (build-system asdf-build-system/sbcl)
6889 (native-inputs
6890 `(("fiveam" ,sbcl-fiveam)))
6891 (inputs
6892 `(("cffi" ,sbcl-cffi)
6893 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6894 ("lparallel" ,sbcl-lparallel)
6895 ("lzlib" ,lzlib)))
6896 (arguments
6897 '(#:phases
6898 (modify-phases %standard-phases
6899 (add-after 'unpack 'fix-paths
6900 (lambda* (#:key inputs #:allow-other-keys)
6901 (substitute* "src/lzlib.lisp"
6902 (("liblz\\.so")
6903 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6904 #t)))))
6905 (synopsis "Common Lisp library for lzip (de)compression")
6906 (description
6907 "This Common Lisp library provides functions for lzip (LZMA)
6908 compression/decompression using bindings to the lzlib C library.")
6909 (home-page "https://github.com/glv2/cl-lzlib")
6910 (license license:gpl3+))))
6911
6912 (define-public cl-lzlib
6913 (sbcl-package->cl-source-package sbcl-lzlib))
6914
6915 (define-public ecl-lzlib
6916 (sbcl-package->ecl-package sbcl-lzlib))
6917
6918 (define-public sbcl-chanl
6919 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6920 (revision "1"))
6921 (package
6922 (name "sbcl-chanl")
6923 (version (git-version "0.4.1" revision commit))
6924 (source
6925 (origin
6926 (method git-fetch)
6927 (uri (git-reference
6928 (url "https://github.com/zkat/chanl")
6929 (commit commit)))
6930 (file-name (git-file-name name version))
6931 (sha256
6932 (base32
6933 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6934 (build-system asdf-build-system/sbcl)
6935 (native-inputs
6936 `(("fiveam" ,sbcl-fiveam)))
6937 (inputs
6938 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6939 (synopsis "Portable channel-based concurrency for Common Lisp")
6940 (description "Common Lisp library for channel-based concurrency. In
6941 a nutshell, you create various threads sequentially executing tasks you need
6942 done, and use channel objects to communicate and synchronize the state of these
6943 threads.")
6944 (home-page "https://github.com/zkat/chanl")
6945 (license (list license:expat license:bsd-3)))))
6946
6947 (define-public cl-chanl
6948 (sbcl-package->cl-source-package sbcl-chanl))
6949
6950 (define-public ecl-chanl
6951 (sbcl-package->ecl-package sbcl-chanl))
6952
6953 (define-public sbcl-cl-store
6954 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6955 (revision "1"))
6956 (package
6957 (name "sbcl-cl-store")
6958 (version (git-version "0.8.11" revision commit))
6959 (source
6960 (origin
6961 (method git-fetch)
6962 (uri (git-reference
6963 (url "https://github.com/skypher/cl-store")
6964 (commit commit)))
6965 (file-name (git-file-name name version))
6966 (sha256
6967 (base32
6968 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6969 (build-system asdf-build-system/sbcl)
6970 (native-inputs
6971 `(("rt" ,sbcl-rt)))
6972 (synopsis "Common Lisp library to serialize data")
6973 (description
6974 "CL-STORE is a portable serialization package which should give you the
6975 ability to store all Common Lisp data types into streams.")
6976 (home-page "https://www.common-lisp.net/project/cl-store/")
6977 (license license:expat))))
6978
6979 (define-public cl-store
6980 (sbcl-package->cl-source-package sbcl-cl-store))
6981
6982 (define-public ecl-cl-store
6983 (sbcl-package->ecl-package sbcl-cl-store))
6984
6985 (define-public sbcl-specialization-store
6986 (let ((commit "8d39a866a6f24986aad3cc52349e9cb2653496f3")
6987 (revision "1"))
6988 (package
6989 (name "sbcl-specialization-store")
6990 (version (git-version "0.0.5" revision commit))
6991 (source
6992 (origin
6993 (method git-fetch)
6994 (uri (git-reference
6995 (url "https://github.com/markcox80/specialization-store")
6996 (commit commit)))
6997 (file-name (git-file-name "specialization-store" version))
6998 (sha256
6999 (base32 "0r0bgb46q4gy72l78s7djkxq8ibb4bb3yh9brsry5lih7br8lhi0"))))
7000 (build-system asdf-build-system/sbcl)
7001 (native-inputs
7002 `(("fiveam" ,sbcl-fiveam)))
7003 (inputs
7004 `(("alexandria" ,sbcl-alexandria)
7005 ("introspect-environment" ,sbcl-introspect-environment)))
7006 (home-page "https://github.com/markcox80/specialization-store")
7007 (synopsis "Different type of generic function for Common Lisp")
7008 (description
7009 "SPECIALIZATION-STORE system provides a new kind of function, called
7010 a store function, whose behavior depends on the types of objects passed to the
7011 function.")
7012 (license license:bsd-2))))
7013
7014 (define-public ecl-specialization-store
7015 (package
7016 (inherit (sbcl-package->ecl-package sbcl-specialization-store))
7017 (arguments
7018 ;; TODO: Find why the tests get stuck forever; disable them for now.
7019 `(#:tests? #f))))
7020
7021 (define-public cl-specialization-store
7022 (sbcl-package->cl-source-package sbcl-specialization-store))
7023
7024 (define-public sbcl-cl-gobject-introspection
7025 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
7026 (revision "1"))
7027 (package
7028 (name "sbcl-cl-gobject-introspection")
7029 (version (git-version "0.3" revision commit))
7030 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7031 (source
7032 (origin
7033 (method git-fetch)
7034 (uri (git-reference
7035 (url home-page)
7036 (commit commit)))
7037 (file-name (git-file-name name version))
7038 (sha256
7039 (base32
7040 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
7041 (build-system asdf-build-system/sbcl)
7042 (inputs
7043 `(("alexandria" ,sbcl-alexandria)
7044 ("cffi" ,sbcl-cffi)
7045 ("iterate" ,sbcl-iterate)
7046 ("trivial-garbage" ,sbcl-trivial-garbage)
7047 ("glib" ,glib)
7048 ("gobject-introspection" ,gobject-introspection)))
7049 (native-inputs
7050 `(("fiveam" ,sbcl-fiveam)))
7051 (arguments
7052 '(#:phases
7053 (modify-phases %standard-phases
7054 (add-after 'unpack 'fix-paths
7055 (lambda* (#:key inputs #:allow-other-keys)
7056 (substitute* "src/init.lisp"
7057 (("libgobject-2\\.0\\.so")
7058 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7059 (("libgirepository-1\\.0\\.so")
7060 (string-append (assoc-ref inputs "gobject-introspection")
7061 "/lib/libgirepository-1.0.so")))
7062 #t)))))
7063 (synopsis "Common Lisp bindings to GObject Introspection")
7064 (description
7065 "This library is a bridge between Common Lisp and GObject
7066 Introspection, which enables Common Lisp programs to access the full interface
7067 of C+GObject libraries without the need of writing dedicated bindings.")
7068 (license (list license:bsd-3
7069 ;; Tests are under a different license.
7070 license:llgpl)))))
7071
7072 (define-public cl-gobject-introspection
7073 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7074
7075 (define-public ecl-cl-gobject-introspection
7076 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
7077
7078 (define-public sbcl-cl-slug
7079 (let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
7080 (revision "1"))
7081 (package
7082 (name "sbcl-cl-slug")
7083 (version (git-version "0.4.1" revision commit))
7084 (source
7085 (origin
7086 (method git-fetch)
7087 (uri (git-reference
7088 (url "https://github.com/EuAndreh/cl-slug")
7089 (commit commit)))
7090 (file-name (git-file-name "cl-slug" version))
7091 (sha256
7092 (base32 "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx"))))
7093 (build-system asdf-build-system/sbcl)
7094 (arguments
7095 `(#:asd-files '("cl-slug-test.asd" "cl-slug.asd")
7096 #:asd-systems '("cl-slug-test" "cl-slug")))
7097 (native-inputs
7098 `(("prove" ,sbcl-prove)))
7099 (inputs
7100 `(("ppcre" ,sbcl-cl-ppcre)))
7101 (home-page "https://github.com/EuAndreh/cl-slug")
7102 (synopsis "Multi-language slug formater")
7103 (description
7104 "This is a small Common Lisp library to make slugs, mainly for URIs,
7105 from english and beyond.")
7106 (license license:llgpl))))
7107
7108 (define-public ecl-cl-slug
7109 (sbcl-package->ecl-package sbcl-cl-slug))
7110
7111 (define-public cl-slug
7112 (sbcl-package->cl-source-package sbcl-cl-slug))
7113
7114 (define-public sbcl-string-case
7115 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7116 (revision "0"))
7117 (package
7118 (name "sbcl-string-case")
7119 (version (git-version "0.0.2" revision commit))
7120 (home-page "https://github.com/pkhuong/string-case")
7121 (source
7122 (origin
7123 (method git-fetch)
7124 (uri (git-reference
7125 (url home-page)
7126 (commit commit)))
7127 (file-name (git-file-name name version))
7128 (sha256
7129 (base32
7130 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7131 (build-system asdf-build-system/sbcl)
7132 (synopsis "Efficient string= case in Common Lisp")
7133 (description
7134 "@code{string-case} is a Common Lisp macro that generates specialised decision
7135 trees to dispatch on string equality.")
7136 (license license:bsd-3))))
7137
7138 (define-public cl-string-case
7139 (sbcl-package->cl-source-package sbcl-string-case))
7140
7141 (define-public ecl-string-case
7142 (sbcl-package->ecl-package sbcl-string-case))
7143
7144 (define-public sbcl-garbage-pools
7145 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
7146 (revision "1"))
7147 (package
7148 (name "sbcl-garbage-pools")
7149 (version (git-version "0.1.2" revision commit))
7150 (source
7151 (origin
7152 (method git-fetch)
7153 (uri (git-reference
7154 (url "https://github.com/archimag/garbage-pools")
7155 (commit commit)))
7156 (file-name (git-file-name name version))
7157 (sha256
7158 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
7159 (build-system asdf-build-system/sbcl)
7160 (home-page "https://github.com/archimag/garbage-pools")
7161 (synopsis "Resource management pools for Common Lisp")
7162 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
7163 Pools for resource management.")
7164 (license license:expat))))
7165
7166 (define-public ecl-garbage-pools
7167 (sbcl-package->ecl-package sbcl-garbage-pools))
7168
7169 (define-public cl-garbage-pools
7170 (sbcl-package->cl-source-package sbcl-garbage-pools))
7171
7172 (define-public sbcl-global-vars
7173 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7174 (revision "0"))
7175 (package
7176 (name "sbcl-global-vars")
7177 (version (git-version "1.0.0" revision commit))
7178 (home-page "https://github.com/lmj/global-vars")
7179 (source
7180 (origin
7181 (method git-fetch)
7182 (uri (git-reference
7183 (url home-page)
7184 (commit commit)))
7185 (file-name (git-file-name name version))
7186 (sha256
7187 (base32
7188 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7189 (build-system asdf-build-system/sbcl)
7190 (synopsis "Efficient global variables in Common Lisp")
7191 (description
7192 "In Common Lisp, a special variable that is never dynamically bound
7193 typically serves as a stand-in for a global variable. The @code{global-vars}
7194 library provides true global variables that are implemented by some compilers.
7195 An attempt to rebind a global variable properly results in a compiler error.
7196 That is, a global variable cannot be dynamically bound.
7197
7198 Global variables therefore allow us to communicate an intended usage that
7199 differs from special variables. Global variables are also more efficient than
7200 special variables, especially in the presence of threads.")
7201 (license license:expat))))
7202
7203 (define-public cl-global-vars
7204 (sbcl-package->cl-source-package sbcl-global-vars))
7205
7206 (define-public ecl-global-vars
7207 (sbcl-package->ecl-package sbcl-global-vars))
7208
7209 (define-public sbcl-trivial-file-size
7210 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7211 (revision "0"))
7212 (package
7213 (name "sbcl-trivial-file-size")
7214 (version (git-version "0.0.0" revision commit))
7215 (home-page "https://github.com/ruricolist/trivial-file-size")
7216 (source
7217 (origin
7218 (method git-fetch)
7219 (uri (git-reference
7220 (url home-page)
7221 (commit commit)))
7222 (file-name (git-file-name name version))
7223 (sha256
7224 (base32
7225 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7226 (build-system asdf-build-system/sbcl)
7227 (native-inputs
7228 `(("fiveam" ,sbcl-fiveam)))
7229 (synopsis "Size of a file in bytes in Common Lisp")
7230 (description
7231 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7232 is to open the file with an element type of (unsigned-byte 8) and then
7233 calculate the length of the stream. This is less than ideal. In most cases
7234 it is better to get the size of the file from its metadata, using a system
7235 call.
7236
7237 This library exports a single function, file-size-in-octets. It returns the
7238 size of a file in bytes, using system calls when possible.")
7239 (license license:expat))))
7240
7241 (define-public cl-trivial-file-size
7242 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7243
7244 (define-public ecl-trivial-file-size
7245 (sbcl-package->ecl-package sbcl-trivial-file-size))
7246
7247 (define-public sbcl-trivial-macroexpand-all
7248 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7249 (revision "0"))
7250 (package
7251 (name "sbcl-trivial-macroexpand-all")
7252 (version (git-version "0.0.0" revision commit))
7253 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7254 (source
7255 (origin
7256 (method git-fetch)
7257 (uri (git-reference
7258 (url home-page)
7259 (commit commit)))
7260 (file-name (git-file-name name version))
7261 (sha256
7262 (base32
7263 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7264 (build-system asdf-build-system/sbcl)
7265 (native-inputs
7266 `(("fiveam" ,sbcl-fiveam)))
7267 (synopsis "Portable macroexpand-all for Common Lisp")
7268 (description
7269 "This library provides a macroexpand-all function that calls the
7270 implementation specific equivalent.")
7271 (license license:unlicense))))
7272
7273 (define-public cl-trivial-macroexpand-all
7274 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7275
7276 (define-public ecl-trivial-macroexpand-all
7277 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7278
7279 (define-public sbcl-serapeum
7280 (let ((commit "263f415a350736b44e3878524ff3997e656fca32")
7281 (revision "4"))
7282 (package
7283 (name "sbcl-serapeum")
7284 (version (git-version "0.0.0" revision commit))
7285 (home-page "https://github.com/ruricolist/serapeum")
7286 (source
7287 (origin
7288 (method git-fetch)
7289 (uri (git-reference
7290 (url home-page)
7291 (commit commit)))
7292 (file-name (git-file-name name version))
7293 (sha256
7294 (base32
7295 "1669yidvxq41s3g6hb2jk21bcb5s2bnfsacpyd5b0hdxbmc7knq3"))))
7296 (build-system asdf-build-system/sbcl)
7297 (inputs
7298 `(("alexandria" ,sbcl-alexandria)
7299 ("trivia" ,sbcl-trivia)
7300 ("split-sequence" ,sbcl-split-sequence)
7301 ("string-case" ,sbcl-string-case)
7302 ("parse-number" ,sbcl-parse-number)
7303 ("trivial-garbage" ,sbcl-trivial-garbage)
7304 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7305 ("named-readtables" ,sbcl-named-readtables)
7306 ("fare-quasiquote" ,sbcl-fare-quasiquote)
7307 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7308 ("global-vars" ,sbcl-global-vars)
7309 ("trivial-file-size" ,sbcl-trivial-file-size)
7310 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7311 (native-inputs
7312 `(("fiveam" ,sbcl-fiveam)
7313 ("local-time" ,sbcl-local-time)))
7314 (arguments
7315 '(#:phases
7316 (modify-phases %standard-phases
7317 (add-after 'unpack 'disable-failing-tests
7318 (lambda* (#:key inputs #:allow-other-keys)
7319 (substitute* "serapeum.asd"
7320 ;; Guix does not have Quicklisp, and probably never will.
7321 (("\\(:file \"quicklisp\"\\)") ""))
7322 #t)))))
7323 (synopsis "Common Lisp utility library beyond Alexandria")
7324 (description
7325 "Serapeum is a conservative library of Common Lisp utilities. It is a
7326 supplement, not a competitor, to Alexandria.")
7327 (license license:expat))))
7328
7329 (define-public cl-serapeum
7330 (sbcl-package->cl-source-package sbcl-serapeum))
7331
7332 (define-public ecl-serapeum
7333 (sbcl-package->ecl-package sbcl-serapeum))
7334
7335 (define-public sbcl-arrows
7336 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7337 (revision "0"))
7338 (package
7339 (name "sbcl-arrows")
7340 (version (git-version "0.2.0" revision commit))
7341 (source
7342 (origin
7343 (method git-fetch)
7344 (uri (git-reference
7345 (url "https://gitlab.com/Harleqin/arrows.git")
7346 (commit commit)))
7347 (file-name (git-file-name name version))
7348 (sha256
7349 (base32
7350 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7351 (build-system asdf-build-system/sbcl)
7352 (native-inputs
7353 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7354 (synopsis "Clojure-like arrow macros for Common Lisp")
7355 (description
7356 "This library implements the @code{->} and @code{->>} macros from
7357 Clojure, as well as several expansions on the idea.")
7358 (home-page "https://gitlab.com/Harleqin/arrows")
7359 (license license:public-domain))))
7360
7361 (define-public cl-arrows
7362 (sbcl-package->cl-source-package sbcl-arrows))
7363
7364 (define-public ecl-arrows
7365 (sbcl-package->ecl-package sbcl-arrows))
7366
7367 (define-public sbcl-simple-parallel-tasks
7368 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
7369 (revision "1"))
7370 (package
7371 (name "sbcl-simple-parallel-tasks")
7372 (version (git-version "1.0" revision commit))
7373 (source
7374 (origin
7375 (method git-fetch)
7376 (uri (git-reference
7377 (url "https://github.com/glv2/simple-parallel-tasks")
7378 (commit commit)))
7379 (file-name (git-file-name name version))
7380 (sha256
7381 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
7382 (build-system asdf-build-system/sbcl)
7383 (native-inputs
7384 `(("fiveam" ,sbcl-fiveam)))
7385 (inputs
7386 `(("chanl" ,sbcl-chanl)))
7387 (synopsis "Common Lisp library to evaluate some forms in parallel")
7388 (description "This is a simple Common Lisp library to evaluate some
7389 forms in parallel.")
7390 (home-page "https://github.com/glv2/simple-parallel-tasks")
7391 (license license:gpl3))))
7392
7393 (define-public cl-simple-parallel-tasks
7394 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7395
7396 (define-public ecl-simple-parallel-tasks
7397 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7398
7399 (define-public sbcl-cl-heap
7400 (package
7401 (name "sbcl-cl-heap")
7402 (version "0.1.6")
7403 (source
7404 (origin
7405 (method url-fetch)
7406 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7407 "cl-heap_" version ".tar.gz"))
7408 (sha256
7409 (base32
7410 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7411 (build-system asdf-build-system/sbcl)
7412 (native-inputs
7413 `(("xlunit" ,sbcl-xlunit)))
7414 (arguments
7415 `(#:test-asd-file "cl-heap-tests.asd"))
7416 (synopsis "Heap and priority queue data structures for Common Lisp")
7417 (description
7418 "CL-HEAP provides various implementations of heap data structures (a
7419 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7420 (home-page "https://common-lisp.net/project/cl-heap/")
7421 (license license:gpl3+)))
7422
7423 (define-public cl-heap
7424 (sbcl-package->cl-source-package sbcl-cl-heap))
7425
7426 (define-public ecl-cl-heap
7427 (sbcl-package->ecl-package sbcl-cl-heap))
7428
7429 (define-public sbcl-curry-compose-reader-macros
7430 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7431 (revision "0"))
7432 (package
7433 (name "sbcl-curry-compose-reader-macros")
7434 (version (git-version "1.0.0" revision commit))
7435 (source
7436 (origin
7437 (method git-fetch)
7438 (uri
7439 (git-reference
7440 (url "https://github.com/eschulte/curry-compose-reader-macros")
7441 (commit commit)))
7442 (file-name (git-file-name name version))
7443 (sha256
7444 (base32
7445 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7446 (build-system asdf-build-system/sbcl)
7447 (inputs
7448 `(("alexandria" ,sbcl-alexandria)
7449 ("named-readtables" ,sbcl-named-readtables)))
7450 (synopsis "Reader macros for partial application and composition")
7451 (description
7452 "This Common Lisp library provides reader macros for concise expression
7453 of function partial application and composition.")
7454 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7455 (license license:public-domain))))
7456
7457 (define-public cl-curry-compose-reader-macros
7458 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7459
7460 (define-public ecl-curry-compose-reader-macros
7461 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7462
7463 (define-public sbcl-yason
7464 (package
7465 (name "sbcl-yason")
7466 (version "0.7.7")
7467 (source
7468 (origin
7469 (method git-fetch)
7470 (uri (git-reference
7471 (url "https://github.com/phmarek/yason")
7472 (commit (string-append "v" version))))
7473 (file-name (git-file-name name version))
7474 (sha256
7475 (base32
7476 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7477 (build-system asdf-build-system/sbcl)
7478 (inputs
7479 `(("alexandria" ,sbcl-alexandria)
7480 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7481 (synopsis "Common Lisp JSON parser/encoder")
7482 (description
7483 "YASON is a Common Lisp library for encoding and decoding data in the
7484 JSON interchange format.")
7485 (home-page "https://github.com/phmarek/yason")
7486 (license license:bsd-3)))
7487
7488 (define-public cl-yason
7489 (sbcl-package->cl-source-package sbcl-yason))
7490
7491 (define-public ecl-yason
7492 (sbcl-package->ecl-package sbcl-yason))
7493
7494 (define-public sbcl-stefil
7495 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7496 (revision "0"))
7497 (package
7498 (name "sbcl-stefil")
7499 (version (git-version "0.1" revision commit))
7500 (source
7501 (origin
7502 (method git-fetch)
7503 (uri (git-reference
7504 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7505 (commit commit)))
7506 (file-name (git-file-name name version))
7507 (sha256
7508 (base32
7509 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7510 (build-system asdf-build-system/sbcl)
7511 (inputs
7512 `(("alexandria" ,sbcl-alexandria)
7513 ("iterate" ,sbcl-iterate)
7514 ("metabang-bind" ,sbcl-metabang-bind)
7515 ("swank" ,sbcl-slime-swank)))
7516 (arguments
7517 '(#:phases
7518 (modify-phases %standard-phases
7519 (add-after 'unpack 'drop-unnecessary-dependency
7520 (lambda _
7521 (substitute* "package.lisp"
7522 ((":stefil-system") ""))
7523 #t)))))
7524 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7525 (synopsis "Simple test framework")
7526 (description
7527 "Stefil is a simple test framework for Common Lisp, with a focus on
7528 interactive development.")
7529 (license license:public-domain))))
7530
7531 (define-public cl-stefil
7532 (sbcl-package->cl-source-package sbcl-stefil))
7533
7534 (define-public ecl-stefil
7535 (sbcl-package->ecl-package sbcl-stefil))
7536
7537 (define-public sbcl-graph
7538 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7539 (revision "0"))
7540 (package
7541 (name "sbcl-graph")
7542 (version (git-version "0.0.0" revision commit))
7543 (source
7544 (origin
7545 (method git-fetch)
7546 (uri
7547 (git-reference
7548 (url "https://github.com/eschulte/graph")
7549 (commit commit)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32
7553 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
7554 (build-system asdf-build-system/sbcl)
7555 (native-inputs
7556 `(("stefil" ,sbcl-stefil)))
7557 (inputs
7558 `(("alexandria" ,sbcl-alexandria)
7559 ("cl-heap" ,sbcl-cl-heap)
7560 ("cl-ppcre" ,sbcl-cl-ppcre)
7561 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7562 ("metabang-bind" ,sbcl-metabang-bind)
7563 ("named-readtables" ,sbcl-named-readtables)
7564 ("yason" ,sbcl-yason)))
7565 (arguments
7566 '(#:asd-systems '("graph"
7567 "graph/dot"
7568 "graph/json")))
7569 (synopsis "Graph data structure and algorithms for Common Lisp")
7570 (description
7571 "The GRAPH Common Lisp library provides a data structures to represent
7572 graphs, as well as some graph manipulation and analysis algorithms (shortest
7573 path, maximum flow, minimum spanning tree, etc.).")
7574 (home-page "https://eschulte.github.io/graph/")
7575 (license license:gpl3+))))
7576
7577 (define-public cl-graph
7578 (sbcl-package->cl-source-package sbcl-graph))
7579
7580 (define-public ecl-graph
7581 (sbcl-package->ecl-package sbcl-graph))
7582
7583 (define-public sbcl-trivial-indent
7584 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7585 (revision "0"))
7586 (package
7587 (name "sbcl-trivial-indent")
7588 (version (git-version "1.0.0" revision commit))
7589 (source
7590 (origin
7591 (method git-fetch)
7592 (uri
7593 (git-reference
7594 (url "https://github.com/Shinmera/trivial-indent")
7595 (commit commit)))
7596 (file-name (git-file-name name version))
7597 (sha256
7598 (base32
7599 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7600 (build-system asdf-build-system/sbcl)
7601 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7602 (description
7603 "This library allows you to define custom indentation hints for your
7604 macros if the one recognised by SLIME automatically produces unwanted
7605 results.")
7606 (home-page "https://shinmera.github.io/trivial-indent/")
7607 (license license:zlib))))
7608
7609 (define-public cl-trivial-indent
7610 (sbcl-package->cl-source-package sbcl-trivial-indent))
7611
7612 (define-public ecl-trivial-indent
7613 (sbcl-package->ecl-package sbcl-trivial-indent))
7614
7615 (define-public sbcl-documentation-utils
7616 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7617 (revision "0"))
7618 (package
7619 (name "sbcl-documentation-utils")
7620 (version (git-version "1.2.0" revision commit))
7621 (source
7622 (origin
7623 (method git-fetch)
7624 (uri
7625 (git-reference
7626 (url "https://github.com/Shinmera/documentation-utils")
7627 (commit commit)))
7628 (file-name (git-file-name name version))
7629 (sha256
7630 (base32
7631 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7632 (build-system asdf-build-system/sbcl)
7633 (inputs
7634 `(("trivial-indent" ,sbcl-trivial-indent)))
7635 (synopsis "Few simple tools to document Common Lisp libraries")
7636 (description
7637 "This is a small library to help you with managing the Common Lisp
7638 docstrings for your library.")
7639 (home-page "https://shinmera.github.io/documentation-utils/")
7640 (license license:zlib))))
7641
7642 (define-public cl-documentation-utils
7643 (sbcl-package->cl-source-package sbcl-documentation-utils))
7644
7645 (define-public ecl-documentation-utils
7646 (sbcl-package->ecl-package sbcl-documentation-utils))
7647
7648 (define-public sbcl-documentation-utils-extensions
7649 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7650 (package
7651 (name "sbcl-documentation-utils-extensions")
7652 (version (git-version "0.0.0" "1" commit))
7653 (source
7654 (origin
7655 (method git-fetch)
7656 (uri
7657 (git-reference
7658 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7659 (commit commit)))
7660 (file-name (git-file-name name version))
7661 (sha256
7662 (base32
7663 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7664 (build-system asdf-build-system/sbcl)
7665 (inputs
7666 `(("documentation-utils" ,sbcl-documentation-utils)))
7667 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7668 (synopsis "Set of extensions for documentation-utils")
7669 (description
7670 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7671 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7672 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7673 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7674 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7675 gathered documentation with find-documentation function. Execute code stored
7676 in documentation with @code{execute-documentation}. See the examples in the
7677 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7678 for more information.")
7679 (license license:expat))))
7680
7681 (define-public cl-documentation-utils-extensions
7682 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7683
7684 (define-public ecl-documentation-utils-extensions
7685 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7686
7687 (define-public sbcl-form-fiddle
7688 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7689 (revision "0"))
7690 (package
7691 (name "sbcl-form-fiddle")
7692 (version (git-version "1.1.0" revision commit))
7693 (source
7694 (origin
7695 (method git-fetch)
7696 (uri
7697 (git-reference
7698 (url "https://github.com/Shinmera/form-fiddle")
7699 (commit commit)))
7700 (file-name (git-file-name name version))
7701 (sha256
7702 (base32
7703 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7704 (build-system asdf-build-system/sbcl)
7705 (inputs
7706 `(("documentation-utils" ,sbcl-documentation-utils)))
7707 (synopsis "Utilities to destructure Common Lisp lambda forms")
7708 (description
7709 "Often times we need to destructure a form definition in a Common Lisp
7710 macro. This library provides a set of simple utilities to help with that.")
7711 (home-page "https://shinmera.github.io/form-fiddle/")
7712 (license license:zlib))))
7713
7714 (define-public cl-form-fiddle
7715 (sbcl-package->cl-source-package sbcl-form-fiddle))
7716
7717 (define-public ecl-form-fiddle
7718 (sbcl-package->ecl-package sbcl-form-fiddle))
7719
7720 (define-public sbcl-parachute
7721 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7722 (revision "0"))
7723 (package
7724 (name "sbcl-parachute")
7725 (version (git-version "1.1.1" revision commit))
7726 (source
7727 (origin
7728 (method git-fetch)
7729 (uri
7730 (git-reference
7731 (url "https://github.com/Shinmera/parachute")
7732 (commit commit)))
7733 (file-name (git-file-name name version))
7734 (sha256
7735 (base32
7736 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7737 (build-system asdf-build-system/sbcl)
7738 (inputs
7739 `(("documentation-utils" ,sbcl-documentation-utils)
7740 ("form-fiddle" ,sbcl-form-fiddle)))
7741 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7742 (description
7743 "Parachute is a simple-to-use and extensible testing framework.
7744 In Parachute, things are organised as a bunch of named tests within a package.
7745 Each test can contain a bunch of test forms that make up its body.")
7746 (home-page "https://shinmera.github.io/parachute/")
7747 (license license:zlib))))
7748
7749 (define-public cl-parachute
7750 (sbcl-package->cl-source-package sbcl-parachute))
7751
7752 (define-public ecl-parachute
7753 (sbcl-package->ecl-package sbcl-parachute))
7754
7755 (define-public sbcl-array-utils
7756 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7757 (revision "0"))
7758 (package
7759 (name "sbcl-array-utils")
7760 (version (git-version "1.1.1" revision commit))
7761 (source
7762 (origin
7763 (method git-fetch)
7764 (uri
7765 (git-reference
7766 (url "https://github.com/Shinmera/array-utils")
7767 (commit commit)))
7768 (file-name (git-file-name name version))
7769 (sha256
7770 (base32
7771 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7772 (build-system asdf-build-system/sbcl)
7773 (native-inputs
7774 `(("parachute" ,sbcl-parachute)))
7775 (inputs
7776 `(("documentation-utils" ,sbcl-documentation-utils)))
7777 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7778 (description
7779 "A miniature toolkit that contains some useful shifting/popping/pushing
7780 functions for arrays and vectors. Originally from Plump.")
7781 (home-page "https://shinmera.github.io/array-utils/")
7782 (license license:zlib))))
7783
7784 (define-public cl-array-utils
7785 (sbcl-package->cl-source-package sbcl-array-utils))
7786
7787 (define-public ecl-array-utils
7788 (sbcl-package->ecl-package sbcl-array-utils))
7789
7790 (define-public sbcl-plump
7791 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7792 (revision "1"))
7793 (package
7794 (name "sbcl-plump")
7795 (version (git-version "2.0.0" revision commit))
7796 (source
7797 (origin
7798 (method git-fetch)
7799 (uri
7800 (git-reference
7801 (url "https://github.com/Shinmera/plump")
7802 (commit commit)))
7803 (file-name (git-file-name name version))
7804 (sha256
7805 (base32
7806 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7807 (build-system asdf-build-system/sbcl)
7808 (inputs
7809 `(("array-utils" ,sbcl-array-utils)
7810 ("documentation-utils" ,sbcl-documentation-utils)))
7811 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7812 (description
7813 "Plump is a parser for HTML/XML-like documents, focusing on being
7814 lenient towards invalid markup. It can handle things like invalid attributes,
7815 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7816 tags and so on. It parses documents to a class representation and offers a
7817 small set of DOM functions to manipulate it. It can be extended to parse to
7818 your own classes.")
7819 (home-page "https://shinmera.github.io/plump/")
7820 (license license:zlib))))
7821
7822 (define-public cl-plump
7823 (sbcl-package->cl-source-package sbcl-plump))
7824
7825 (define-public ecl-plump
7826 (sbcl-package->ecl-package sbcl-plump))
7827
7828 ;;; Split the antik package in two to work around the circular dependency
7829 ;;; between antik/antik and antik/gsll.
7830 (define-public sbcl-antik-base
7831 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7832 (revision "1"))
7833 (package
7834 (name "sbcl-antik-base")
7835 (version (git-version "0.0.0" revision commit))
7836 (source
7837 (origin
7838 (method git-fetch)
7839 (uri (git-reference
7840 (url "https://gitlab.common-lisp.net/antik/antik.git")
7841 (commit commit)))
7842 (file-name (git-file-name name version))
7843 (sha256
7844 (base32
7845 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7846 (build-system asdf-build-system/sbcl)
7847 (inputs
7848 `(("alexandria" ,sbcl-alexandria)
7849 ("cffi" ,sbcl-cffi)
7850 ("cl-ppcre" ,sbcl-cl-ppcre)
7851 ("drakma" ,sbcl-drakma)
7852 ("fare-utils" ,sbcl-fare-utils)
7853 ("iterate" ,sbcl-iterate)
7854 ("metabang-bind" ,sbcl-metabang-bind)
7855 ("named-readtables" ,sbcl-named-readtables)
7856 ("split-sequence" ,sbcl-split-sequence)
7857 ("static-vectors" ,sbcl-static-vectors)
7858 ("trivial-garbage" ,sbcl-trivial-garbage)
7859 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7860 (native-inputs
7861 `(("lisp-unit" ,sbcl-lisp-unit)))
7862 (arguments
7863 '(#:asd-systems '("antik-base"
7864 "foreign-array")
7865 #:phases
7866 (modify-phases %standard-phases
7867 (add-after 'unpack 'fix-build
7868 (lambda _
7869 (for-each delete-file
7870 '("antik.asd"
7871 "physical-dimension.asd"
7872 "science-data.asd"))
7873 #t)))))
7874 (synopsis "Scientific and engineering computation in Common Lisp")
7875 (description
7876 "Antik provides a foundation for scientific and engineering
7877 computation in Common Lisp. It is designed not only to facilitate
7878 numerical computations, but to permit the use of numerical computation
7879 libraries and the interchange of data and procedures, whether
7880 foreign (non-Lisp) or Lisp libraries. It is named after the
7881 Antikythera mechanism, one of the oldest examples of a scientific
7882 computer known.")
7883 (home-page "https://common-lisp.net/project/antik/")
7884 (license license:gpl3))))
7885
7886 (define-public cl-antik-base
7887 (sbcl-package->cl-source-package sbcl-antik-base))
7888
7889 (define-public ecl-antik-base
7890 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7891 (package
7892 (inherit pkg)
7893 (arguments
7894 (substitute-keyword-arguments (package-arguments pkg)
7895 ((#:phases phases)
7896 `(modify-phases ,phases
7897 (add-after 'unpack 'fix-readtable
7898 (lambda _
7899 (substitute* "input-output/readtable.lisp"
7900 (("#-ccl")
7901 "#-(or ccl ecl)"))
7902 #t)))))))))
7903
7904 (define-public sbcl-gsll
7905 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7906 (revision "1"))
7907 (package
7908 (name "sbcl-gsll")
7909 (version (git-version "0.0.0" revision commit))
7910 (source
7911 (origin
7912 (method git-fetch)
7913 (uri (git-reference
7914 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7915 (commit commit)))
7916 (file-name (git-file-name name version))
7917 (sha256
7918 (base32
7919 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7920 (build-system asdf-build-system/sbcl)
7921 (native-inputs
7922 `(("lisp-unit" ,sbcl-lisp-unit)))
7923 (inputs
7924 `(("alexandria" ,sbcl-alexandria)
7925 ("antik-base" ,sbcl-antik-base)
7926 ("cffi" ,sbcl-cffi)
7927 ("gsl" ,gsl)
7928 ("metabang-bind" ,sbcl-metabang-bind)
7929 ("trivial-features" ,sbcl-trivial-features)
7930 ("trivial-garbage" ,sbcl-trivial-garbage)))
7931 (arguments
7932 `(#:tests? #f
7933 #:phases
7934 (modify-phases %standard-phases
7935 (add-after 'unpack 'fix-cffi-paths
7936 (lambda* (#:key inputs #:allow-other-keys)
7937 (substitute* "gsll.asd"
7938 ((":depends-on \\(#:foreign-array")
7939 ":depends-on (#:foreign-array #:cffi-libffi"))
7940 (substitute* "init/init.lisp"
7941 (("libgslcblas.so" all)
7942 (string-append
7943 (assoc-ref inputs "gsl") "/lib/" all)))
7944 (substitute* "init/init.lisp"
7945 (("libgsl.so" all)
7946 (string-append
7947 (assoc-ref inputs "gsl") "/lib/" all))))))))
7948 (synopsis "GNU Scientific Library for Lisp")
7949 (description
7950 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7951 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7952 full range of common mathematical operations useful to scientific and
7953 engineering applications. The design of the GSLL interface is such
7954 that access to most of the GSL library is possible in a Lisp-natural
7955 way; the intent is that the user not be hampered by the restrictions
7956 of the C language in which GSL has been written. GSLL thus provides
7957 interactive use of GSL for getting quick answers, even for someone not
7958 intending to program in Lisp.")
7959 (home-page "https://common-lisp.net/project/gsll/")
7960 (license license:gpl3))))
7961
7962 (define-public cl-gsll
7963 (sbcl-package->cl-source-package sbcl-gsll))
7964
7965 (define-public ecl-gsll
7966 (sbcl-package->ecl-package sbcl-gsll))
7967
7968 (define-public sbcl-antik
7969 (package
7970 (inherit sbcl-antik-base)
7971 (name "sbcl-antik")
7972 (inputs
7973 `(("antik-base" ,sbcl-antik-base)
7974 ("gsll" ,sbcl-gsll)))
7975 (arguments
7976 '(#:asd-systems '("antik"
7977 "science-data")
7978 #:phases
7979 (modify-phases %standard-phases
7980 (add-after 'unpack 'fix-build
7981 (lambda _
7982 (for-each delete-file
7983 '("antik-base.asd"
7984 "foreign-array.asd"))
7985 #t)))))))
7986
7987 (define-public cl-antik
7988 (sbcl-package->cl-source-package sbcl-antik))
7989
7990 (define-public sbcl-cl-interpol
7991 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7992 (revision "1"))
7993 (package
7994 (name "sbcl-cl-interpol")
7995 (version (git-version "0.2.6" revision commit))
7996 (source
7997 (origin
7998 (method git-fetch)
7999 (uri (git-reference
8000 (url "https://github.com/edicl/cl-interpol")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8006 (build-system asdf-build-system/sbcl)
8007 (inputs
8008 `(("cl-unicode" ,sbcl-cl-unicode)
8009 ("named-readtables" ,sbcl-named-readtables)))
8010 (native-inputs
8011 `(("flexi-streams" ,sbcl-flexi-streams)))
8012 (synopsis "String interpolation for Common Lisp")
8013 (description
8014 "CL-INTERPOL is a library for Common Lisp which modifies the
8015 reader so that you can have interpolation within strings similar to
8016 Perl or Unix Shell scripts. It also provides various ways to insert
8017 arbitrary characters into literal strings even if your editor/IDE
8018 doesn't support them.")
8019 (home-page "https://edicl.github.io/cl-interpol/")
8020 (license license:bsd-3))))
8021
8022 (define-public cl-interpol
8023 (sbcl-package->cl-source-package sbcl-cl-interpol))
8024
8025 (define-public ecl-cl-interpol
8026 (sbcl-package->ecl-package sbcl-cl-interpol))
8027
8028 (define-public sbcl-symbol-munger
8029 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8030 (revision "1"))
8031 (package
8032 (name "sbcl-symbol-munger")
8033 (version (git-version "0.0.1" revision commit))
8034 (source
8035 (origin
8036 (method git-fetch)
8037 (uri (git-reference
8038 (url "https://github.com/AccelerationNet/symbol-munger")
8039 (commit commit)))
8040 (file-name (git-file-name name version))
8041 (sha256
8042 (base32
8043 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8044 (build-system asdf-build-system/sbcl)
8045 (inputs
8046 `(("alexandria" ,sbcl-alexandria)
8047 ("iterate" ,sbcl-iterate)))
8048 (arguments
8049 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8050 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8051 '(#:tests? #f))
8052 (synopsis
8053 "Capitalization and spacing conversion functions for Common Lisp")
8054 (description
8055 "This is a Common Lisp library to change the capitalization and spacing
8056 of a string or a symbol. It can convert to and from Lisp, english, underscore
8057 and camel-case rules.")
8058 (home-page "https://github.com/AccelerationNet/symbol-munger")
8059 ;; The package declares a BSD license, but all of the license
8060 ;; text is MIT.
8061 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8062 (license license:expat))))
8063
8064 (define-public cl-symbol-munger
8065 (sbcl-package->cl-source-package sbcl-symbol-munger))
8066
8067 (define-public ecl-symbol-munger
8068 (sbcl-package->ecl-package sbcl-symbol-munger))
8069
8070 (define-public sbcl-lisp-unit2
8071 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8072 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8073 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8074 (revision "1"))
8075 (package
8076 (name "sbcl-lisp-unit2")
8077 (version (git-version "0.2.0" revision commit))
8078 (source
8079 (origin
8080 (method git-fetch)
8081 (uri (git-reference
8082 (url "https://github.com/AccelerationNet/lisp-unit2")
8083 (commit commit)))
8084 (file-name (git-file-name name version))
8085 (sha256
8086 (base32
8087 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8088 (build-system asdf-build-system/sbcl)
8089 (inputs
8090 `(("alexandria" ,sbcl-alexandria)
8091 ("cl-interpol" ,sbcl-cl-interpol)
8092 ("iterate" ,sbcl-iterate)
8093 ("symbol-munger" ,sbcl-symbol-munger)))
8094 (synopsis "Test Framework for Common Lisp")
8095 (description
8096 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8097 style of JUnit for Java. It is a new version of the lisp-unit library written
8098 by Chris Riesbeck.")
8099 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8100 (license license:expat))))
8101
8102 (define-public cl-lisp-unit2
8103 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8104
8105 (define-public ecl-lisp-unit2
8106 (sbcl-package->ecl-package sbcl-lisp-unit2))
8107
8108 (define-public sbcl-cl-csv
8109 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
8110 (revision "2"))
8111 (package
8112 (name "sbcl-cl-csv")
8113 (version (git-version "1.0.6" revision commit))
8114 (source
8115 (origin
8116 (method git-fetch)
8117 (uri (git-reference
8118 (url "https://github.com/AccelerationNet/cl-csv")
8119 (commit commit)))
8120 (file-name (git-file-name name version))
8121 (sha256
8122 (base32
8123 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
8124 (build-system asdf-build-system/sbcl)
8125 (arguments
8126 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8127 `(#:tests? #f))
8128 (inputs
8129 `(("alexandria" ,sbcl-alexandria)
8130 ("cl-interpol" ,sbcl-cl-interpol)
8131 ("iterate" ,sbcl-iterate)))
8132 (native-inputs
8133 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8134 (synopsis "Common lisp library for comma-separated values")
8135 (description
8136 "This is a Common Lisp library providing functions to read/write CSV
8137 from/to strings, streams and files.")
8138 (home-page "https://github.com/AccelerationNet/cl-csv")
8139 (license license:bsd-3))))
8140
8141 (define-public cl-csv
8142 (sbcl-package->cl-source-package sbcl-cl-csv))
8143
8144 (define-public ecl-cl-csv
8145 (sbcl-package->ecl-package sbcl-cl-csv))
8146
8147 (define-public sbcl-external-program
8148 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8149 (revision "1"))
8150 (package
8151 (name "sbcl-external-program")
8152 (version (git-version "0.0.6" revision commit))
8153 (source
8154 (origin
8155 (method git-fetch)
8156 (uri (git-reference
8157 (url "https://github.com/sellout/external-program")
8158 (commit commit)))
8159 (file-name (git-file-name name version))
8160 (sha256
8161 (base32
8162 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8163 (build-system asdf-build-system/sbcl)
8164 (inputs
8165 `(("trivial-features" ,sbcl-trivial-features)))
8166 (native-inputs
8167 `(("fiveam" ,sbcl-fiveam)))
8168 (synopsis "Common Lisp library for running external programs")
8169 (description
8170 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8171 process. It is an attempt to make the RUN-PROGRAM functionality in
8172 implementations like SBCL and CCL as portable as possible without
8173 sacrificing much in the way of power.")
8174 (home-page "https://github.com/sellout/external-program")
8175 (license license:llgpl))))
8176
8177 (define-public cl-external-program
8178 (sbcl-package->cl-source-package sbcl-external-program))
8179
8180 (define-public ecl-external-program
8181 (sbcl-package->ecl-package sbcl-external-program))
8182
8183 (define-public sbcl-cl-ana
8184 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8185 (revision "1"))
8186 (package
8187 (name "sbcl-cl-ana")
8188 (version (git-version "0.0.0" revision commit))
8189 (source
8190 (origin
8191 (method git-fetch)
8192 (uri (git-reference
8193 (url "https://github.com/ghollisjr/cl-ana")
8194 (commit commit)))
8195 (file-name (git-file-name name version))
8196 (sha256
8197 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8198 (build-system asdf-build-system/sbcl)
8199 (native-inputs
8200 `(("cl-fad" ,sbcl-cl-fad)))
8201 (inputs
8202 `(("alexandria" ,sbcl-alexandria)
8203 ("antik" ,sbcl-antik)
8204 ("cffi" ,sbcl-cffi)
8205 ("cl-csv" ,sbcl-cl-csv)
8206 ("closer-mop" ,sbcl-closer-mop)
8207 ("external-program" ,sbcl-external-program)
8208 ("gsl" ,gsl)
8209 ("gsll" ,sbcl-gsll)
8210 ("hdf5" ,hdf5-parallel-openmpi)
8211 ("iterate" ,sbcl-iterate)
8212 ("libffi" ,libffi)
8213 ("split-sequence" ,sbcl-split-sequence)))
8214 (arguments
8215 `(#:phases
8216 (modify-phases %standard-phases
8217 (add-after 'unpack 'fix-paths
8218 (lambda* (#:key inputs #:allow-other-keys)
8219 (substitute* "hdf-cffi/hdf-cffi.lisp"
8220 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8221 (string-append (assoc-ref inputs "hdf5")
8222 "/lib/libhdf5.so")))
8223 (substitute* "gsl-cffi/gsl-cffi.lisp"
8224 (("define-foreign-library gsl-cffi" all)
8225 (string-append all " (:unix "
8226 (assoc-ref inputs "gsl")
8227 "/lib/libgsl.so)")))
8228 #t)))))
8229 (synopsis "Common Lisp data analysis library")
8230 (description
8231 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8232 binned data analysis along with nonlinear least squares fitting and
8233 visualization.")
8234 (home-page "https://github.com/ghollisjr/cl-ana")
8235 (license license:gpl3))))
8236
8237 (define-public cl-ana
8238 (sbcl-package->cl-source-package sbcl-cl-ana))
8239
8240 (define-public sbcl-archive
8241 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
8242 (revision "1"))
8243 (package
8244 (name "sbcl-archive")
8245 (version (git-version "0.9" revision commit))
8246 (source (origin
8247 (method git-fetch)
8248 (uri (git-reference
8249 (url "https://github.com/sharplispers/archive")
8250 (commit commit)))
8251 (file-name (git-file-name name version))
8252 (sha256
8253 (base32
8254 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
8255 (build-system asdf-build-system/sbcl)
8256 (inputs
8257 `(("cl-fad" ,sbcl-cl-fad)
8258 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
8259 (synopsis "Common Lisp library for tar and cpio archives")
8260 (description
8261 "This is a Common Lisp library to read and write disk-based file
8262 archives such as those generated by the tar and cpio programs on Unix.")
8263 (home-page "https://github.com/sharplispers/archive")
8264 (license license:bsd-3))))
8265
8266 (define-public cl-archive
8267 (sbcl-package->cl-source-package sbcl-archive))
8268
8269 (define-public ecl-archive
8270 (sbcl-package->ecl-package sbcl-archive))
8271
8272 (define-public sbcl-misc-extensions
8273 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
8274 (revision "1"))
8275 (package
8276 (name "sbcl-misc-extensions")
8277 (version (git-version "3.3" revision commit))
8278 (source
8279 (origin
8280 (method git-fetch)
8281 (uri (git-reference
8282 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
8283 (commit commit)))
8284 (file-name (git-file-name name version))
8285 (sha256
8286 (base32
8287 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
8288 (build-system asdf-build-system/sbcl)
8289 (synopsis "Collection of small macros and extensions for Common Lisp")
8290 (description
8291 "This project is intended as a catchall for small, general-purpose
8292 extensions to Common Lisp. It contains:
8293
8294 @itemize
8295 @item @code{new-let}, a macro that combines and generalizes @code{let},
8296 @code{let*} and @code{multiple-value-bind},
8297 @item @code{gmap}, an iteration macro that generalizes @code{map}.
8298 @end itemize\n")
8299 (home-page "https://common-lisp.net/project/misc-extensions/")
8300 (license license:public-domain))))
8301
8302 (define-public cl-misc-extensions
8303 (sbcl-package->cl-source-package sbcl-misc-extensions))
8304
8305 (define-public ecl-misc-extensions
8306 (sbcl-package->ecl-package sbcl-misc-extensions))
8307
8308 (define-public sbcl-mt19937
8309 (package
8310 (name "sbcl-mt19937")
8311 (version "1.1")
8312 (source
8313 (origin
8314 (method url-fetch)
8315 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
8316 "mt19937-latest.tar.gz"))
8317 (sha256
8318 (base32
8319 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
8320 (build-system asdf-build-system/sbcl)
8321 (synopsis "Mersenne Twister pseudo-random number generator")
8322 (description
8323 "MT19937 is a portable Mersenne Twister pseudo-random number generator
8324 for Common Lisp.")
8325 (home-page "https://www.cliki.net/mt19937")
8326 (license license:public-domain)))
8327
8328 (define-public cl-mt19937
8329 (sbcl-package->cl-source-package sbcl-mt19937))
8330
8331 (define-public ecl-mt19937
8332 (sbcl-package->ecl-package sbcl-mt19937))
8333
8334 (define-public sbcl-fset
8335 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
8336 (revision "1"))
8337 (package
8338 (name "sbcl-fset")
8339 (version (git-version "1.3.2" revision commit))
8340 (source
8341 (origin
8342 (method git-fetch)
8343 (uri (git-reference
8344 (url "https://github.com/slburson/fset")
8345 (commit commit)))
8346 (file-name (git-file-name name version))
8347 (sha256
8348 (base32
8349 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
8350 (snippet '(begin
8351 ;; Remove obsolete copy of system definition.
8352 (delete-file "Code/fset.asd")
8353 #t))))
8354 (build-system asdf-build-system/sbcl)
8355 (inputs
8356 `(("misc-extensions" ,sbcl-misc-extensions)
8357 ("mt19937" ,sbcl-mt19937)
8358 ("named-readtables" ,sbcl-named-readtables)))
8359 (synopsis "Functional set-theoretic collections library")
8360 (description
8361 "FSet is a functional set-theoretic collections library for Common Lisp.
8362 Functional means that all update operations return a new collection rather than
8363 modifying an existing one in place. Set-theoretic means that collections may
8364 be nested arbitrarily with no additional programmer effort; for instance, sets
8365 may contain sets, maps may be keyed by sets, etc.")
8366 (home-page "https://common-lisp.net/project/fset/Site/index.html")
8367 (license license:llgpl))))
8368
8369 (define-public cl-fset
8370 (sbcl-package->cl-source-package sbcl-fset))
8371
8372 (define-public ecl-fset
8373 (package
8374 (inherit (sbcl-package->ecl-package sbcl-fset))
8375 (arguments
8376 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
8377 '(#:tests? #f))))
8378
8379 (define-public sbcl-cl-cont
8380 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
8381 (revision "1"))
8382 (package
8383 (name "sbcl-cl-cont")
8384 (version (git-version "0.3.8" revision commit))
8385 (source
8386 (origin
8387 (method git-fetch)
8388 (uri (git-reference
8389 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
8390 (commit commit)))
8391 (file-name (git-file-name name version))
8392 (sha256
8393 (base32
8394 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
8395 (build-system asdf-build-system/sbcl)
8396 (inputs
8397 `(("alexandria" ,sbcl-alexandria)
8398 ("closer-mop" ,sbcl-closer-mop)))
8399 (native-inputs
8400 `(("rt" ,sbcl-rt)))
8401 (synopsis "Delimited continuations for Common Lisp")
8402 (description
8403 "This is a library that implements delimited continuations by
8404 transforming Common Lisp code to continuation passing style.")
8405 (home-page "https://common-lisp.net/project/cl-cont/")
8406 (license license:llgpl))))
8407
8408 (define-public cl-cont
8409 (sbcl-package->cl-source-package sbcl-cl-cont))
8410
8411 (define-public ecl-cl-cont
8412 (sbcl-package->ecl-package sbcl-cl-cont))
8413
8414 (define-public sbcl-cl-coroutine
8415 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
8416 (revision "1"))
8417 (package
8418 (name "sbcl-cl-coroutine")
8419 (version (git-version "0.1" revision commit))
8420 (source
8421 (origin
8422 (method git-fetch)
8423 (uri (git-reference
8424 (url "https://github.com/takagi/cl-coroutine")
8425 (commit commit)))
8426 (file-name (git-file-name name version))
8427 (sha256
8428 (base32
8429 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
8430 (build-system asdf-build-system/sbcl)
8431 (inputs
8432 `(("alexandria" ,sbcl-alexandria)
8433 ("cl-cont" ,sbcl-cl-cont)))
8434 (native-inputs
8435 `(("prove" ,sbcl-prove)))
8436 (arguments
8437 `(;; TODO: Fix the tests. They fail with:
8438 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
8439 #:tests? #f
8440 #:phases
8441 (modify-phases %standard-phases
8442 (add-after 'unpack 'fix-tests
8443 (lambda _
8444 (substitute* "cl-coroutine-test.asd"
8445 (("cl-test-more")
8446 "prove"))
8447 #t)))))
8448 (synopsis "Coroutine library for Common Lisp")
8449 (description
8450 "This is a coroutine library for Common Lisp implemented using the
8451 continuations of the @code{cl-cont} library.")
8452 (home-page "https://github.com/takagi/cl-coroutine")
8453 (license license:llgpl))))
8454
8455 (define-public cl-coroutine
8456 (sbcl-package->cl-source-package sbcl-cl-coroutine))
8457
8458 (define-public ecl-cl-coroutine
8459 (sbcl-package->ecl-package sbcl-cl-coroutine))
8460
8461 (define-public sbcl-vas-string-metrics
8462 (let ((commit "f2e4500b180316123fbd549bd51c751ee2d6ba0f")
8463 (revision "1"))
8464 (package
8465 (name "sbcl-vas-string-metrics")
8466 (version (git-version "0.0.0" revision commit))
8467 (source
8468 (origin
8469 (method git-fetch)
8470 (uri (git-reference
8471 (url "https://github.com/vsedach/vas-string-metrics")
8472 (commit commit)))
8473 (file-name (git-file-name "vas-string-metrics" version))
8474 (sha256
8475 (base32 "11fcnd03ybzz37rkg3z0wsb727yqgcd9gn70sccfb34l89ia279k"))))
8476 (build-system asdf-build-system/sbcl)
8477 (arguments
8478 `(#:test-asd-file "test.vas-string-metrics.asd"))
8479 (home-page "https://github.com/vsedach/vas-string-metrics")
8480 (synopsis "String distance algorithms for Common Lisp")
8481 (description
8482 "VAS-STRING-METRICS provides the Jaro, Jaro-Winkler, Soerensen-Dice,
8483 Levenshtein, and normalized Levenshtein string distance/similarity metrics
8484 algorithms.")
8485 (license license:lgpl3+))))
8486
8487 (define-public ecl-vas-string-metrics
8488 (sbcl-package->ecl-package sbcl-vas-string-metrics))
8489
8490 (define-public cl-vas-string-metrics
8491 (sbcl-package->cl-source-package sbcl-vas-string-metrics))
8492
8493 (define-public sbcl-vom
8494 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
8495 (revision "1"))
8496 (package
8497 (name "sbcl-vom")
8498 (version (git-version "0.1.4" revision commit))
8499 (source
8500 (origin
8501 (method git-fetch)
8502 (uri (git-reference
8503 (url "https://github.com/orthecreedence/vom")
8504 (commit commit)))
8505 (file-name (git-file-name name version))
8506 (sha256
8507 (base32
8508 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
8509 (build-system asdf-build-system/sbcl)
8510 (synopsis "Tiny logging utility for Common Lisp")
8511 (description
8512 "Vom is a logging library for Common Lisp. It's goal is to be useful
8513 and small. It does not provide a lot of features as other loggers do, but
8514 has a small codebase that's easy to understand and use.")
8515 (home-page "https://github.com/orthecreedence/vom")
8516 (license license:expat))))
8517
8518 (define-public cl-vom
8519 (sbcl-package->cl-source-package sbcl-vom))
8520
8521 (define-public ecl-vom
8522 (sbcl-package->ecl-package sbcl-vom))
8523
8524 (define-public sbcl-cl-libuv
8525 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
8526 (revision "1"))
8527 (package
8528 (name "sbcl-cl-libuv")
8529 (version (git-version "0.1.6" revision commit))
8530 (source
8531 (origin
8532 (method git-fetch)
8533 (uri (git-reference
8534 (url "https://github.com/orthecreedence/cl-libuv")
8535 (commit commit)))
8536 (file-name (git-file-name name version))
8537 (sha256
8538 (base32
8539 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
8540 (build-system asdf-build-system/sbcl)
8541 (inputs
8542 `(("alexandria" ,sbcl-alexandria)
8543 ("cffi" ,sbcl-cffi)
8544 ("libuv" ,libuv)))
8545 (arguments
8546 `(#:phases
8547 (modify-phases %standard-phases
8548 (add-after 'unpack 'fix-paths
8549 (lambda* (#:key inputs #:allow-other-keys)
8550 (substitute* "lib.lisp"
8551 (("/usr/lib/libuv.so")
8552 (string-append (assoc-ref inputs "libuv")
8553 "/lib/libuv.so")))
8554 #t))
8555 (add-after 'fix-paths 'fix-system-definition
8556 (lambda _
8557 (substitute* "cl-libuv.asd"
8558 (("#:cffi #:alexandria")
8559 "#:cffi #:cffi-grovel #:alexandria"))
8560 #t)))))
8561 (synopsis "Common Lisp bindings to libuv")
8562 (description
8563 "This library provides low-level libuv bindings for Common Lisp.")
8564 (home-page "https://github.com/orthecreedence/cl-libuv")
8565 (license license:expat))))
8566
8567 (define-public cl-libuv
8568 (sbcl-package->cl-source-package sbcl-cl-libuv))
8569
8570 (define-public ecl-cl-libuv
8571 (sbcl-package->ecl-package sbcl-cl-libuv))
8572
8573 (define-public sbcl-cl-async
8574 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
8575 (revision "1"))
8576 (package
8577 (name "sbcl-cl-async")
8578 (version (git-version "0.6.1" revision commit))
8579 (source
8580 (origin
8581 (method git-fetch)
8582 (uri (git-reference
8583 (url "https://github.com/orthecreedence/cl-async")
8584 (commit commit)))
8585 (file-name (git-file-name name version))
8586 (sha256
8587 (base32
8588 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8589 (build-system asdf-build-system/sbcl)
8590 (inputs
8591 `(("babel" ,sbcl-babel)
8592 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8593 ("cffi" ,sbcl-cffi)
8594 ("cl-libuv" ,sbcl-cl-libuv)
8595 ("cl-ppcre" ,sbcl-cl-ppcre)
8596 ("fast-io" ,sbcl-fast-io)
8597 ("openssl" ,openssl)
8598 ("static-vectors" ,sbcl-static-vectors)
8599 ("trivial-features" ,sbcl-trivial-features)
8600 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8601 ("vom" ,sbcl-vom)))
8602 (arguments
8603 `(#:asd-systems '("cl-async"
8604 "cl-async-repl"
8605 "cl-async-ssl")
8606 #:phases
8607 (modify-phases %standard-phases
8608 (add-after 'unpack 'fix-paths
8609 (lambda* (#:key inputs #:allow-other-keys)
8610 (substitute* "src/ssl/package.lisp"
8611 (("libcrypto\\.so")
8612 (string-append (assoc-ref inputs "openssl")
8613 "/lib/libcrypto.so"))
8614 (("libssl\\.so")
8615 (string-append (assoc-ref inputs "openssl")
8616 "/lib/libssl.so")))
8617 #t)))))
8618 (synopsis "Asynchronous operations for Common Lisp")
8619 (description
8620 "Cl-async is a library for general purpose, non-blocking programming in
8621 Common Lisp. It uses the libuv library as backend.")
8622 (home-page "https://orthecreedence.github.io/cl-async/")
8623 (license license:expat))))
8624
8625 (define-public cl-async
8626 (sbcl-package->cl-source-package sbcl-cl-async))
8627
8628 (define-public ecl-cl-async
8629 (sbcl-package->ecl-package sbcl-cl-async))
8630
8631 (define-public sbcl-blackbird
8632 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8633 (revision "1"))
8634 (package
8635 (name "sbcl-blackbird")
8636 (version (git-version "0.5.2" revision commit))
8637 (source
8638 (origin
8639 (method git-fetch)
8640 (uri (git-reference
8641 (url "https://github.com/orthecreedence/blackbird")
8642 (commit commit)))
8643 (file-name (git-file-name name version))
8644 (sha256
8645 (base32
8646 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8647 (build-system asdf-build-system/sbcl)
8648 (inputs
8649 `(("vom" ,sbcl-vom)))
8650 (native-inputs
8651 `(("cl-async" ,sbcl-cl-async)
8652 ("fiveam" ,sbcl-fiveam)))
8653 (synopsis "Promise implementation for Common Lisp")
8654 (description
8655 "This is a standalone promise implementation for Common Lisp. It is
8656 the successor to the now-deprecated cl-async-future project.")
8657 (home-page "https://orthecreedence.github.io/blackbird/")
8658 (license license:expat))))
8659
8660 (define-public cl-blackbird
8661 (sbcl-package->cl-source-package sbcl-blackbird))
8662
8663 (define-public ecl-blackbird
8664 (sbcl-package->ecl-package sbcl-blackbird))
8665
8666 (define-public sbcl-cl-async-future
8667 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8668 (revision "1"))
8669 (package
8670 (name "sbcl-cl-async-future")
8671 (version (git-version "0.4.4.1" revision commit))
8672 (source
8673 (origin
8674 (method git-fetch)
8675 (uri (git-reference
8676 (url "https://github.com/orthecreedence/cl-async-future")
8677 (commit commit)))
8678 (file-name (git-file-name name version))
8679 (sha256
8680 (base32
8681 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8682 (build-system asdf-build-system/sbcl)
8683 (inputs
8684 `(("blackbird" ,sbcl-blackbird)))
8685 (native-inputs
8686 `(("cl-async" ,sbcl-cl-async)
8687 ("eos" ,sbcl-eos)))
8688 (synopsis "Futures implementation for Common Lisp")
8689 (description
8690 "This is futures implementation for Common Lisp. It plugs in nicely
8691 to cl-async.")
8692 (home-page "https://orthecreedence.github.io/cl-async/future")
8693 (license license:expat))))
8694
8695 (define-public cl-async-future
8696 (sbcl-package->cl-source-package sbcl-cl-async-future))
8697
8698 (define-public ecl-cl-async-future
8699 (sbcl-package->ecl-package sbcl-cl-async-future))
8700
8701 (define-public sbcl-green-threads
8702 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8703 (revision "1"))
8704 (package
8705 (name "sbcl-green-threads")
8706 (version (git-version "0.3" revision commit))
8707 (source
8708 (origin
8709 (method git-fetch)
8710 (uri (git-reference
8711 (url "https://github.com/thezerobit/green-threads")
8712 (commit commit)))
8713 (file-name (git-file-name name version))
8714 (sha256
8715 (base32
8716 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8717 (build-system asdf-build-system/sbcl)
8718 (inputs
8719 `(("cl-async-future" ,sbcl-cl-async-future)
8720 ("cl-cont" ,sbcl-cl-cont)))
8721 (native-inputs
8722 `(("prove" ,sbcl-prove)))
8723 (arguments
8724 `(;; TODO: Fix the tests. They fail with:
8725 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8726 #:tests? #f
8727 #:phases
8728 (modify-phases %standard-phases
8729 (add-after 'unpack 'fix-tests
8730 (lambda _
8731 (substitute* "green-threads-test.asd"
8732 (("cl-test-more")
8733 "prove"))
8734 #t)))))
8735 (synopsis "Cooperative multitasking library for Common Lisp")
8736 (description
8737 "This library allows for cooperative multitasking with help of cl-cont
8738 for continuations. It tries to mimic the API of bordeaux-threads as much as
8739 possible.")
8740 (home-page "https://github.com/thezerobit/green-threads")
8741 (license license:bsd-3))))
8742
8743 (define-public cl-green-threads
8744 (sbcl-package->cl-source-package sbcl-green-threads))
8745
8746 (define-public ecl-green-threads
8747 (sbcl-package->ecl-package sbcl-green-threads))
8748
8749 (define-public sbcl-cl-base32
8750 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8751 (revision "1"))
8752 (package
8753 (name "sbcl-cl-base32")
8754 (version (git-version "0.1" revision commit))
8755 (source
8756 (origin
8757 (method git-fetch)
8758 (uri (git-reference
8759 (url "https://github.com/hargettp/cl-base32")
8760 (commit commit)))
8761 (file-name (git-file-name name version))
8762 (sha256
8763 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8764 (build-system asdf-build-system/sbcl)
8765 (native-inputs
8766 `(("lisp-unit" ,sbcl-lisp-unit)))
8767 (synopsis "Common Lisp library for base32 encoding and decoding")
8768 (description
8769 "This package provides functions for base32 encoding and decoding as
8770 defined in RFC4648.")
8771 (home-page "https://github.com/hargettp/cl-base32")
8772 (license license:expat))))
8773
8774 (define-public cl-base32
8775 (sbcl-package->cl-source-package sbcl-cl-base32))
8776
8777 (define-public ecl-cl-base32
8778 (sbcl-package->ecl-package sbcl-cl-base32))
8779
8780 (define-public sbcl-cl-z85
8781 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8782 (revision "1"))
8783 (package
8784 (name "sbcl-cl-z85")
8785 (version (git-version "1.0" revision commit))
8786 (source
8787 (origin
8788 (method git-fetch)
8789 (uri (git-reference
8790 (url "https://github.com/glv2/cl-z85")
8791 (commit commit)))
8792 (file-name (git-file-name name version))
8793 (sha256
8794 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8795 (build-system asdf-build-system/sbcl)
8796 (native-inputs
8797 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8798 ("fiveam" ,sbcl-fiveam)))
8799 (synopsis "Common Lisp library for Z85 encoding and decoding")
8800 (description
8801 "This package provides functions to encode or decode byte vectors or
8802 byte streams using the Z85 format, which is a base-85 encoding used by
8803 ZeroMQ.")
8804 (home-page "https://github.com/glv2/cl-z85")
8805 (license license:gpl3+))))
8806
8807 (define-public cl-z85
8808 (sbcl-package->cl-source-package sbcl-cl-z85))
8809
8810 (define-public ecl-cl-z85
8811 (sbcl-package->ecl-package sbcl-cl-z85))
8812
8813 (define-public sbcl-ltk
8814 (package
8815 (name "sbcl-ltk")
8816 (version "0.992")
8817 (source
8818 (origin
8819 (method git-fetch)
8820 (uri (git-reference
8821 (url "https://github.com/herth/ltk")
8822 (commit version)))
8823 (file-name (git-file-name name version))
8824 (sha256
8825 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8826 (build-system asdf-build-system/sbcl)
8827 (inputs
8828 `(("imagemagick" ,imagemagick)
8829 ("tk" ,tk)))
8830 (arguments
8831 `(#:asd-systems '("ltk"
8832 "ltk-mw"
8833 "ltk-remote")
8834 #:tests? #f
8835 #:phases
8836 (modify-phases %standard-phases
8837 (add-after 'unpack 'fix-paths
8838 (lambda* (#:key inputs #:allow-other-keys)
8839 (substitute* "ltk/ltk.lisp"
8840 (("#-freebsd \"wish\"")
8841 (string-append "#-freebsd \""
8842 (assoc-ref inputs "tk")
8843 "/bin/wish\""))
8844 (("do-execute \"convert\"")
8845 (string-append "do-execute \""
8846 (assoc-ref inputs "imagemagick")
8847 "/bin/convert\"")))
8848 #t))
8849 (add-after 'unpack 'fix-build
8850 (lambda _
8851 (substitute* "ltk/ltk-remote.lisp"
8852 (("\\(:export")
8853 "(:shadow #:raise) (:export"))
8854 #t)))))
8855 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8856 (description
8857 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8858 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8859 (home-page "http://www.peter-herth.de/ltk/")
8860 (license license:llgpl)))
8861
8862 (define-public cl-ltk
8863 (sbcl-package->cl-source-package sbcl-ltk))
8864
8865 (define-public ecl-ltk
8866 (sbcl-package->ecl-package sbcl-ltk))
8867
8868 (define-public sbcl-cl-lex
8869 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8870 (revision "1"))
8871 (package
8872 (name "sbcl-cl-lex")
8873 (version (git-version "1.1.3" revision commit))
8874 (source
8875 (origin
8876 (method git-fetch)
8877 (uri (git-reference
8878 (url "https://github.com/djr7C4/cl-lex")
8879 (commit commit)))
8880 (file-name (git-file-name name version))
8881 (sha256
8882 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8883 (build-system asdf-build-system/sbcl)
8884 (inputs
8885 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8886 (synopsis "Common Lisp macros for generating lexical analyzers")
8887 (description
8888 "This is a Common Lisp library providing a set of macros for generating
8889 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8890 be used with @code{cl-yacc}.")
8891 (home-page "https://github.com/djr7C4/cl-lex")
8892 (license license:gpl3))))
8893
8894 (define-public cl-lex
8895 (sbcl-package->cl-source-package sbcl-cl-lex))
8896
8897 (define-public ecl-cl-lex
8898 (sbcl-package->ecl-package sbcl-cl-lex))
8899
8900 (define-public sbcl-clunit2
8901 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8902 (revision "1"))
8903 (package
8904 (name "sbcl-clunit2")
8905 (version (git-version "0.2.4" revision commit))
8906 (source
8907 (origin
8908 (method git-fetch)
8909 (uri (git-reference
8910 (url "https://notabug.org/cage/clunit2.git")
8911 (commit commit)))
8912 (file-name (git-file-name name version))
8913 (sha256
8914 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8915 (build-system asdf-build-system/sbcl)
8916 (synopsis "Unit testing framework for Common Lisp")
8917 (description
8918 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8919 easy to use so that you can quickly start testing.")
8920 (home-page "https://notabug.org/cage/clunit2")
8921 (license license:expat))))
8922
8923 (define-public cl-clunit2
8924 (sbcl-package->cl-source-package sbcl-clunit2))
8925
8926 (define-public ecl-clunit2
8927 (sbcl-package->ecl-package sbcl-clunit2))
8928
8929 (define-public sbcl-cl-colors2
8930 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8931 (revision "1"))
8932 (package
8933 (name "sbcl-cl-colors2")
8934 (version (git-version "0.2.1" revision commit))
8935 (source
8936 (origin
8937 (method git-fetch)
8938 (uri (git-reference
8939 (url "https://notabug.org/cage/cl-colors2.git")
8940 (commit commit)))
8941 (file-name (git-file-name name version))
8942 (sha256
8943 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8944 (build-system asdf-build-system/sbcl)
8945 (native-inputs
8946 `(("clunit2" ,sbcl-clunit2)))
8947 (inputs
8948 `(("alexandria" ,sbcl-alexandria)
8949 ("cl-ppcre" ,sbcl-cl-ppcre)))
8950 (synopsis "Color library for Common Lisp")
8951 (description
8952 "This is a very simple color library for Common Lisp, providing:
8953
8954 @itemize
8955 @item Types for representing colors in HSV and RGB spaces.
8956 @item Simple conversion functions between the above types (and also
8957 hexadecimal representation for RGB).
8958 @item Some predefined colors (currently X11 color names -- of course
8959 the library does not depend on X11).
8960 @end itemize\n")
8961 (home-page "https://notabug.org/cage/cl-colors2")
8962 (license license:boost1.0))))
8963
8964 (define-public cl-colors2
8965 (sbcl-package->cl-source-package sbcl-cl-colors2))
8966
8967 (define-public ecl-cl-colors2
8968 (sbcl-package->ecl-package sbcl-cl-colors2))
8969
8970 (define-public sbcl-cl-jpeg
8971 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8972 (revision "1"))
8973 (package
8974 (name "sbcl-cl-jpeg")
8975 (version (git-version "2.8" revision commit))
8976 (source
8977 (origin
8978 (method git-fetch)
8979 (uri (git-reference
8980 (url "https://github.com/sharplispers/cl-jpeg")
8981 (commit commit)))
8982 (file-name (git-file-name name version))
8983 (sha256
8984 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8985 (build-system asdf-build-system/sbcl)
8986 (synopsis "JPEG image library for Common Lisp")
8987 (description
8988 "This is a baseline JPEG codec written in Common Lisp. It can be used
8989 for reading and writing JPEG image files.")
8990 (home-page "https://github.com/sharplispers/cl-jpeg")
8991 (license license:bsd-3))))
8992
8993 (define-public cl-jpeg
8994 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8995
8996 (define-public ecl-cl-jpeg
8997 (sbcl-package->ecl-package sbcl-cl-jpeg))
8998
8999 (define-public sbcl-nodgui
9000 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
9001 (revision "1"))
9002 (package
9003 (name "sbcl-nodgui")
9004 (version (git-version "0.0.5" revision commit))
9005 (source
9006 (origin
9007 (method git-fetch)
9008 (uri (git-reference
9009 (url "https://notabug.org/cage/nodgui.git")
9010 (commit commit)))
9011 (file-name (git-file-name name version))
9012 (sha256
9013 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
9014 (build-system asdf-build-system/sbcl)
9015 (inputs
9016 `(("alexandria" ,sbcl-alexandria)
9017 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9018 ("cl-colors2" ,sbcl-cl-colors2)
9019 ("cl-jpeg" ,sbcl-cl-jpeg)
9020 ("cl-lex" ,sbcl-cl-lex)
9021 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
9022 ("cl-unicode" ,sbcl-cl-unicode)
9023 ("cl-yacc" ,sbcl-cl-yacc)
9024 ("clunit2" ,sbcl-clunit2)
9025 ("named-readtables" ,sbcl-named-readtables)
9026 ("parse-number" ,sbcl-parse-number)
9027 ("tk" ,tk)))
9028 (arguments
9029 `(#:phases (modify-phases %standard-phases
9030 (add-after 'unpack 'fix-paths
9031 (lambda* (#:key inputs #:allow-other-keys)
9032 (substitute* "src/wish-communication.lisp"
9033 (("#-freebsd \"wish\"")
9034 (string-append "#-freebsd \""
9035 (assoc-ref inputs "tk")
9036 "/bin/wish\"")))
9037 #t)))))
9038 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9039 (description
9040 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
9041 toolkit. It also provides a few additional widgets more than the standard Tk
9042 ones.")
9043 (home-page "https://www.autistici.org/interzona/nodgui.html")
9044 (license license:llgpl))))
9045
9046 (define-public cl-nodgui
9047 (sbcl-package->cl-source-package sbcl-nodgui))
9048
9049 (define-public ecl-nodgui
9050 (sbcl-package->ecl-package sbcl-nodgui))
9051
9052 (define-public sbcl-salza2
9053 (package
9054 (name "sbcl-salza2")
9055 (version "2.0.9")
9056 (source
9057 (origin
9058 (method git-fetch)
9059 (uri (git-reference
9060 (url "https://github.com/xach/salza2")
9061 (commit (string-append "release-" version))))
9062 (file-name (git-file-name name version))
9063 (sha256
9064 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
9065 (build-system asdf-build-system/sbcl)
9066 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
9067 (description
9068 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
9069 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
9070 respectively.")
9071 (home-page "https://www.xach.com/lisp/salza2/")
9072 (license license:bsd-2)))
9073
9074 (define-public cl-salza2
9075 (sbcl-package->cl-source-package sbcl-salza2))
9076
9077 (define-public ecl-salza2
9078 (sbcl-package->ecl-package sbcl-salza2))
9079
9080 (define-public sbcl-origin
9081 (let ((commit "d646134302456408d6d43580bb05299f1695ab8e")
9082 (revision "1"))
9083 (package
9084 (name "sbcl-origin")
9085 (version (git-version "2.0.0" revision commit))
9086 (source
9087 (origin
9088 (method git-fetch)
9089 (uri (git-reference
9090 (url "https://git.mfiano.net/mfiano/origin")
9091 (commit commit)))
9092 (file-name (git-file-name "origin" version))
9093 (sha256
9094 (base32 "1n9aszaif3yh8prs5r8v51fbj4r5jd1a048mivd5yij3hplkm82b"))))
9095 (build-system asdf-build-system/sbcl)
9096 (native-inputs
9097 `(("parachute" ,sbcl-parachute)))
9098 (inputs
9099 `(("golden-utils" ,sbcl-golden-utils)
9100 ("specialization-store" ,sbcl-specialization-store)))
9101 (home-page "https://git.mfiano.net/mfiano/origin")
9102 (synopsis "Common Lisp graphics math library")
9103 (description
9104 "This is a native Common Lisp graphics math library with an emphasis on
9105 performance and correctness.")
9106 (license license:expat))))
9107
9108 (define-public ecl-origin
9109 (sbcl-package->ecl-package sbcl-origin))
9110
9111 (define-public cl-origin
9112 (sbcl-package->cl-source-package sbcl-origin))
9113
9114 (define-public sbcl-png-read
9115 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
9116 (revision "1"))
9117 (package
9118 (name "sbcl-png-read")
9119 (version (git-version "0.3.1" revision commit))
9120 (source
9121 (origin
9122 (method git-fetch)
9123 (uri (git-reference
9124 (url "https://github.com/Ramarren/png-read")
9125 (commit commit)))
9126 (file-name (git-file-name name version))
9127 (sha256
9128 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
9129 (build-system asdf-build-system/sbcl)
9130 (inputs
9131 `(("babel" ,sbcl-babel)
9132 ("chipz" ,sbcl-chipz)
9133 ("iterate" ,sbcl-iterate)))
9134 (synopsis "PNG decoder for Common Lisp")
9135 (description "This is a Common Lisp library for reading PNG images.")
9136 (home-page "https://github.com/Ramarren/png-read")
9137 (license license:bsd-3))))
9138
9139 (define-public cl-png-read
9140 (sbcl-package->cl-source-package sbcl-png-read))
9141
9142 (define-public ecl-png-read
9143 (sbcl-package->ecl-package sbcl-png-read))
9144
9145 (define-public sbcl-3b-bmfont
9146 (let ((commit "d1b5bec0de580c2d08ec947a93c56b1400f2a37a")
9147 (revision "1"))
9148 (package
9149 (name "sbcl-3b-bmfont")
9150 (version (git-version "0.0.1" revision commit))
9151 (source
9152 (origin
9153 (method git-fetch)
9154 (uri (git-reference
9155 (url "https://github.com/3b/3b-bmfont/")
9156 (commit commit)))
9157 (file-name (git-file-name "3b-bmfont" version))
9158 (sha256
9159 (base32 "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc"))))
9160 (build-system asdf-build-system/sbcl)
9161 (arguments
9162 `(#:asd-systems
9163 '("3b-bmfont"
9164 "3b-bmfont/text"
9165 "3b-bmfont/common"
9166 "3b-bmfont/xml"
9167 "3b-bmfont/json")))
9168 (inputs
9169 `(("alexandria" ,sbcl-alexandria)
9170 ("cxml" ,sbcl-cxml)
9171 ("flexi-streams" ,sbcl-flexi-streams)
9172 ("jsown" ,sbcl-jsown)
9173 ("split-sequence" ,sbcl-split-sequence)))
9174 (home-page "https://github.com/3b/3b-bmfont/")
9175 (synopsis "Read/write bmfont metadata files")
9176 (description
9177 "This is a Common Lisp library which provides functionality to
9178 read/write Bit Map Font (BMF) into text, JSON and XML.")
9179 (license license:expat))))
9180
9181 (define-public ecl-3b-bmfont
9182 (sbcl-package->ecl-package sbcl-3b-bmfont))
9183
9184 (define-public cl-3b-bmfont
9185 (sbcl-package->cl-source-package sbcl-3b-bmfont))
9186
9187 (define-public sbcl-zpng
9188 (package
9189 (name "sbcl-zpng")
9190 (version "1.2.2")
9191 (source
9192 (origin
9193 (method git-fetch)
9194 (uri (git-reference
9195 (url "https://github.com/xach/zpng")
9196 (commit (string-append "release-" version))))
9197 (file-name (git-file-name name version))
9198 (sha256
9199 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
9200 (build-system asdf-build-system/sbcl)
9201 (inputs
9202 `(("salza2" ,sbcl-salza2)))
9203 (synopsis "PNG encoder for Common Lisp")
9204 (description "This is a Common Lisp library for creating PNG images.")
9205 (home-page "https://www.xach.com/lisp/zpng/")
9206 (license license:bsd-2)))
9207
9208 (define-public cl-zpng
9209 (sbcl-package->cl-source-package sbcl-zpng))
9210
9211 (define-public ecl-zpng
9212 (sbcl-package->ecl-package sbcl-zpng))
9213
9214 (define-public sbcl-cl-qrencode
9215 (package
9216 (name "sbcl-cl-qrencode")
9217 (version "0.1.2")
9218 (source
9219 (origin
9220 (method git-fetch)
9221 (uri (git-reference
9222 (url "https://github.com/jnjcc/cl-qrencode")
9223 (commit (string-append "v" version))))
9224 (file-name (git-file-name name version))
9225 (sha256
9226 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
9227 (build-system asdf-build-system/sbcl)
9228 (native-inputs
9229 `(("lisp-unit" ,sbcl-lisp-unit)))
9230 (inputs
9231 `(("zpng" ,sbcl-zpng)))
9232 (synopsis "QR code encoder for Common Lisp")
9233 (description
9234 "This Common Lisp library provides function to make QR codes and to save
9235 them as PNG files.")
9236 (home-page "https://github.com/jnjcc/cl-qrencode")
9237 (license license:gpl2+)))
9238
9239 (define-public cl-qrencode
9240 (sbcl-package->cl-source-package sbcl-cl-qrencode))
9241
9242 (define-public ecl-cl-qrencode
9243 (sbcl-package->ecl-package sbcl-cl-qrencode))
9244
9245 (define-public sbcl-hdf5-cffi
9246 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
9247 (revision "1"))
9248 (package
9249 (name "sbcl-hdf5-cffi")
9250 (version (git-version "1.8.18" revision commit))
9251 (source
9252 (origin
9253 (method git-fetch)
9254 (uri (git-reference
9255 (url "https://github.com/hdfgroup/hdf5-cffi")
9256 (commit commit)))
9257 (file-name (git-file-name name version))
9258 (sha256
9259 (base32
9260 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
9261 (build-system asdf-build-system/sbcl)
9262 (synopsis "Common Lisp bindings for the HDF5 library")
9263 (description
9264 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
9265 (home-page "https://github.com/hdfgroup/hdf5-cffi")
9266 (license (license:non-copyleft
9267 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
9268 commit
9269 "/LICENSE")))
9270 (inputs
9271 `(("cffi" ,sbcl-cffi)
9272 ("hdf5" ,hdf5-1.10)))
9273 (native-inputs
9274 `(("fiveam" ,sbcl-fiveam)))
9275 (arguments
9276 `(#:test-asd-file "hdf5-cffi.test.asd"
9277 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
9278 ;; I don't know if there is a way to tell asdf-build-system to load
9279 ;; an additional system first, so tests are disabled.
9280 #:tests? #f
9281 #:phases
9282 (modify-phases %standard-phases
9283 (add-after 'unpack 'fix-paths
9284 (lambda* (#:key inputs #:allow-other-keys)
9285 (substitute* "src/library.lisp"
9286 (("libhdf5.so")
9287 (string-append
9288 (assoc-ref inputs "hdf5")
9289 "/lib/libhdf5.so")))))
9290 (add-after 'unpack 'fix-dependencies
9291 (lambda* (#:key inputs #:allow-other-keys)
9292 (substitute* "hdf5-cffi.asd"
9293 ((":depends-on \\(:cffi\\)")
9294 ":depends-on (:cffi :cffi-grovel)"))
9295 (substitute* "hdf5-cffi.test.asd"
9296 ((":depends-on \\(:cffi :hdf5-cffi")
9297 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
9298
9299 (define-public cl-hdf5-cffi
9300 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
9301
9302 (define-public ecl-hdf5-cffi
9303 (sbcl-package->ecl-package sbcl-hdf5-cffi))
9304
9305 (define-public sbcl-cl-randist
9306 (package
9307 (name "sbcl-cl-randist")
9308 (version "0.4.2")
9309 (source
9310 (origin
9311 (method git-fetch)
9312 (uri (git-reference
9313 (url "https://github.com/lvaruzza/cl-randist")
9314 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
9315 (file-name (git-file-name name version))
9316 (sha256
9317 (base32
9318 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
9319 (build-system asdf-build-system/sbcl)
9320 (synopsis "Random distributions for Common Lisp")
9321 (description
9322 "Manual translation from C to Common Lisp of some random number
9323 generation functions from the GSL library.")
9324 (home-page "https://github.com/lvaruzza/cl-randist")
9325 (license license:bsd-2)
9326 (arguments
9327 `(#:tests? #f))))
9328
9329 (define-public cl-randist
9330 (sbcl-package->cl-source-package sbcl-cl-randist))
9331
9332 (define-public ecl-cl-randist
9333 (sbcl-package->ecl-package sbcl-cl-randist))
9334
9335 (define-public sbcl-float-features
9336 (package
9337 (name "sbcl-float-features")
9338 (version "1.0.0")
9339 (source
9340 (origin
9341 (method git-fetch)
9342 (uri (git-reference
9343 (url "https://github.com/Shinmera/float-features")
9344 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
9345 (file-name (git-file-name name version))
9346 (sha256
9347 (base32
9348 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
9349 (build-system asdf-build-system/sbcl)
9350 (synopsis "Common Lisp IEEE float portability library")
9351 (description
9352 "Portability library for IEEE float features that are not
9353 covered by the Common Lisp standard.")
9354 (home-page "https://github.com/Shinmera/float-features")
9355 (license license:zlib)
9356 (inputs
9357 `(("documentation-utils" ,sbcl-documentation-utils)))
9358 (arguments
9359 `(#:tests? #f))))
9360
9361 (define-public cl-float-features
9362 (sbcl-package->cl-source-package sbcl-float-features))
9363
9364 (define-public ecl-float-features
9365 (sbcl-package->ecl-package sbcl-float-features))
9366
9367 (define-public sbcl-function-cache
9368 (package
9369 (name "sbcl-function-cache")
9370 (version "1.0.3")
9371 (source
9372 (origin
9373 (method git-fetch)
9374 (uri (git-reference
9375 (url "https://github.com/AccelerationNet/function-cache")
9376 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
9377 (file-name (git-file-name name version))
9378 (sha256
9379 (base32
9380 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
9381 (build-system asdf-build-system/sbcl)
9382 (synopsis "Function caching / memoization library for Common Lisp")
9383 (description
9384 "A common lisp library that provides extensible function result
9385 caching based on arguments (an expanded form of memoization).")
9386 (home-page "https://github.com/AccelerationNet/function-cache")
9387 (license
9388 (license:non-copyleft
9389 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
9390 (inputs
9391 `(("alexandria" ,sbcl-alexandria)
9392 ("cl-interpol" ,sbcl-cl-interpol)
9393 ("iterate" ,sbcl-iterate)
9394 ("symbol-munger" ,sbcl-symbol-munger)
9395 ("closer-mop" ,sbcl-closer-mop)))
9396 (arguments
9397 `(#:tests? #f))))
9398
9399 (define-public cl-function-cache
9400 (sbcl-package->cl-source-package sbcl-function-cache))
9401
9402 (define-public ecl-function-cache
9403 (sbcl-package->ecl-package sbcl-function-cache))
9404
9405 (define-public sbcl-type-r
9406 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
9407 (revision "1"))
9408 (package
9409 (name "sbcl-type-r")
9410 (version (git-version "0.0.0" revision commit))
9411 (source
9412 (origin
9413 (method git-fetch)
9414 (uri (git-reference
9415 (url "https://github.com/guicho271828/type-r")
9416 (commit commit)))
9417 (file-name (git-file-name name version))
9418 (sha256
9419 (base32
9420 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
9421 (build-system asdf-build-system/sbcl)
9422 (synopsis "Parser interface for Common Lisp built-in compound types")
9423 (description
9424 "Collections of accessor functions and patterns to access
9425 the elements in compound type specifier, e.g. @code{dimensions} in
9426 @code{(array element-type dimensions)}")
9427 (home-page "https://github.com/guicho271828/type-r")
9428 (license license:lgpl3+)
9429 (inputs
9430 `(("trivia" ,sbcl-trivia)
9431 ("alexandria" ,sbcl-alexandria)))
9432 (native-inputs
9433 `(("fiveam" ,sbcl-fiveam)))
9434 (arguments
9435 `(#:test-asd-file "type-r.test.asd")))))
9436
9437 (define-public cl-type-r
9438 (sbcl-package->cl-source-package sbcl-type-r))
9439
9440 (define-public ecl-type-r
9441 (sbcl-package->ecl-package sbcl-type-r))
9442
9443 (define-public sbcl-trivialib-type-unify
9444 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
9445 (revision "1"))
9446 (package
9447 (name "sbcl-trivialib-type-unify")
9448 (version (git-version "0.1" revision commit))
9449 (source
9450 (origin
9451 (method git-fetch)
9452 (uri (git-reference
9453 (url "https://github.com/guicho271828/trivialib.type-unify")
9454 (commit commit)))
9455 (file-name (git-file-name name version))
9456 (sha256
9457 (base32
9458 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
9459 (build-system asdf-build-system/sbcl)
9460 (synopsis "Common Lisp type unification")
9461 (description
9462 "Unifies a parametrized type specifier against an actual type specifier.
9463 Importantly, it handles complicated array-subtypes and number-related types
9464 correctly.")
9465 (home-page "https://github.com/guicho271828/trivialib.type-unify")
9466 (license license:lgpl3+)
9467 (inputs
9468 `(("alexandria" ,sbcl-alexandria)
9469 ("trivia" ,sbcl-trivia)
9470 ("introspect-environment" ,sbcl-introspect-environment)
9471 ("type-r" ,sbcl-type-r)))
9472 (native-inputs
9473 `(("fiveam" ,sbcl-fiveam)))
9474 (arguments
9475 `(#:asd-systems '("trivialib.type-unify")
9476 #:test-asd-file "trivialib.type-unify.test.asd")))))
9477
9478 (define-public cl-trivialib-type-unify
9479 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
9480
9481 (define-public ecl-trivialib-type-unify
9482 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
9483
9484 (define-public sbcl-specialized-function
9485 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
9486 (revision "2"))
9487 (package
9488 (name "sbcl-specialized-function")
9489 (version (git-version "0.0.0" revision commit))
9490 (source
9491 (origin
9492 (method git-fetch)
9493 (uri (git-reference
9494 (url "https://github.com/numcl/specialized-function")
9495 (commit commit)))
9496 (file-name (git-file-name name version))
9497 (sha256
9498 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
9499 (build-system asdf-build-system/sbcl)
9500 (synopsis "Julia-like dispatch for Common Lisp")
9501 (description
9502 "This library is part of NUMCL. It provides a macro
9503 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
9504 lazily compiling a type-specific version of the function from the same
9505 code. The main target of this macro is speed.")
9506 (home-page "https://github.com/numcl/specialized-function")
9507 (license license:lgpl3+)
9508 (inputs
9509 `(("trivia" ,sbcl-trivia)
9510 ("alexandria" ,sbcl-alexandria)
9511 ("iterate" ,sbcl-iterate)
9512 ("lisp-namespace" ,sbcl-lisp-namespace)
9513 ("type-r" ,sbcl-type-r)
9514 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
9515 (native-inputs
9516 `(("fiveam" ,sbcl-fiveam)))
9517 (arguments
9518 `(#:asd-files '("specialized-function.asd")
9519 #:test-asd-file "specialized-function.test.asd"
9520 ;; Tests fail because they try to use an internal symbol of SBCL
9521 ;; that does not exists in recent versions:
9522 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
9523 #:tests? #f)))))
9524
9525 (define-public cl-specialized-function
9526 (sbcl-package->cl-source-package sbcl-specialized-function))
9527
9528 (define-public ecl-specialized-function
9529 (sbcl-package->ecl-package sbcl-specialized-function))
9530
9531 (define-public sbcl-constantfold
9532 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
9533 (revision "1"))
9534 (package
9535 (name "sbcl-constantfold")
9536 (version (git-version "0.1" revision commit))
9537 (source
9538 (origin
9539 (method git-fetch)
9540 (uri (git-reference
9541 (url "https://github.com/numcl/constantfold")
9542 (commit commit)))
9543 (file-name (git-file-name name version))
9544 (sha256
9545 (base32
9546 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
9547 (build-system asdf-build-system/sbcl)
9548 (synopsis "Support library for numcl")
9549 (description
9550 "Support library for numcl. Registers a function as an
9551 additional form that is considered as a candidate for a constant.")
9552 (home-page "https://github.com/numcl/constantfold")
9553 (license license:lgpl3+)
9554 (inputs
9555 `(("trivia" ,sbcl-trivia)
9556 ("alexandria" ,sbcl-alexandria)
9557 ("iterate" ,sbcl-iterate)
9558 ("lisp-namespace" ,sbcl-lisp-namespace)))
9559 (native-inputs
9560 `(("fiveam" ,sbcl-fiveam)))
9561 (arguments
9562 `(#:asd-files '("constantfold.asd")
9563 #:test-asd-file "constantfold.test.asd")))))
9564
9565 (define-public cl-constantfold
9566 (sbcl-package->cl-source-package sbcl-constantfold))
9567
9568 (define-public ecl-constantfold
9569 (sbcl-package->ecl-package sbcl-constantfold))
9570
9571 (define-public sbcl-gtype
9572 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
9573 (revision "2"))
9574 (package
9575 (name "sbcl-gtype")
9576 (version (git-version "0.1" revision commit))
9577 (source
9578 (origin
9579 (method git-fetch)
9580 (uri (git-reference
9581 (url "https://github.com/numcl/gtype")
9582 (commit commit)))
9583 (file-name (git-file-name name version))
9584 (sha256
9585 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
9586 (build-system asdf-build-system/sbcl)
9587 (synopsis "C++/Julia-like parametric types in Common Lisp")
9588 (description
9589 "Support library for numcl that provides Julia-like runtime parametric
9590 type correctness in Common Lisp. It is based on CLtL2 extensions.")
9591 (home-page "https://github.com/numcl/gtype")
9592 (license license:lgpl3+)
9593 (inputs
9594 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
9595 ("trivial-cltl2" ,sbcl-trivial-cltl2)
9596 ("trivia" ,sbcl-trivia)
9597 ("alexandria" ,sbcl-alexandria)
9598 ("iterate" ,sbcl-iterate)
9599 ("type-r" ,sbcl-type-r)))
9600 (native-inputs
9601 `(("fiveam" ,sbcl-fiveam)))
9602 (arguments
9603 `(#:asd-files '("gtype.asd")
9604 #:test-asd-file "gtype.test.asd")))))
9605
9606 (define-public cl-gtype
9607 (sbcl-package->cl-source-package sbcl-gtype))
9608
9609 (define-public ecl-gtype
9610 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
9611 (package
9612 (inherit pkg)
9613 (arguments
9614 (substitute-keyword-arguments (package-arguments pkg)
9615 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
9616 ((#:tests? _ #f) #f))))))
9617
9618 (define-public sbcl-numcl
9619 (let ((commit "d19f36356be900c600ef08560c9e1af441a166cb")
9620 (revision "1"))
9621 (package
9622 (name "sbcl-numcl")
9623 (version (git-version "0.2.0" revision commit))
9624 (source
9625 (origin
9626 (method git-fetch)
9627 (uri (git-reference
9628 (url "https://github.com/numcl/numcl")
9629 (commit commit)))
9630 (file-name (git-file-name "numcl" version))
9631 (sha256
9632 (base32 "0q4ylfr7hl0gz2ynr0c15h09dmnli2x6ndnm5wr58wfplf1wfj31"))))
9633 (build-system asdf-build-system/sbcl)
9634 (arguments
9635 `(#:test-asd-file "numcl.test.asd"
9636 #:asd-files '("numcl.asd")))
9637 (native-inputs
9638 `(("fiveam" ,sbcl-fiveam)))
9639 (inputs
9640 `(("alexandria" ,sbcl-alexandria)
9641 ("cl-randist" ,sbcl-cl-randist)
9642 ("constantfold" ,sbcl-constantfold)
9643 ("float-features" ,sbcl-float-features)
9644 ("function-cache" ,sbcl-function-cache)
9645 ("gtype" ,sbcl-gtype)
9646 ("iterate" ,sbcl-iterate)
9647 ("lisp-namespace" ,sbcl-lisp-namespace)
9648 ("specialized-function" ,sbcl-specialized-function)
9649 ("trivia" ,sbcl-trivia)
9650 ("type-r" ,sbcl-type-r)))
9651 (home-page "https://numcl.github.io/numcl/")
9652 (synopsis "Numpy clone in Common Lisp")
9653 (description
9654 "This package is a Python Numpy clone implemented in pure Common Lisp.")
9655 (license license:lgpl3+))))
9656
9657 (define-public cl-numcl
9658 (sbcl-package->cl-source-package sbcl-numcl))
9659
9660 (define-public ecl-numcl
9661 (sbcl-package->ecl-package sbcl-numcl))
9662
9663 (define-public sbcl-pzmq
9664 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9665 (revision "1"))
9666 (package
9667 (name "sbcl-pzmq")
9668 (version (git-version "0.0.0" revision commit))
9669 (source
9670 (origin
9671 (method git-fetch)
9672 (uri (git-reference
9673 (url "https://github.com/orivej/pzmq")
9674 (commit commit)))
9675 (file-name (git-file-name name version))
9676 (sha256
9677 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9678 (build-system asdf-build-system/sbcl)
9679 (native-inputs
9680 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9681 ("fiveam" ,sbcl-fiveam)
9682 ("let-plus" ,sbcl-let-plus)))
9683 (inputs
9684 `(("cffi" ,sbcl-cffi)
9685 ("zeromq" ,zeromq)))
9686 (arguments
9687 `(#:phases (modify-phases %standard-phases
9688 (add-after 'unpack 'fix-paths
9689 (lambda* (#:key inputs #:allow-other-keys)
9690 (substitute* "c-api.lisp"
9691 (("\"libzmq")
9692 (string-append "\""
9693 (assoc-ref inputs "zeromq")
9694 "/lib/libzmq")))
9695 #t)))))
9696 (synopsis "Common Lisp bindings for the ZeroMQ library")
9697 (description "This Common Lisp library provides bindings for the ZeroMQ
9698 lightweight messaging kernel.")
9699 (home-page "https://github.com/orivej/pzmq")
9700 (license license:unlicense))))
9701
9702 (define-public cl-pzmq
9703 (sbcl-package->cl-source-package sbcl-pzmq))
9704
9705 (define-public ecl-pzmq
9706 (sbcl-package->ecl-package sbcl-pzmq))
9707
9708 (define-public sbcl-clss
9709 (let ((revision "1")
9710 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9711 (package
9712 (name "sbcl-clss")
9713 (version (git-version "0.3.1" revision commit))
9714 (source
9715 (origin
9716 (method git-fetch)
9717 (uri
9718 (git-reference
9719 (url "https://github.com/Shinmera/clss")
9720 (commit commit)))
9721 (sha256
9722 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9723 (file-name (git-file-name name version))))
9724 (inputs
9725 `(("array-utils" ,sbcl-array-utils)
9726 ("plump" ,sbcl-plump)))
9727 (build-system asdf-build-system/sbcl)
9728 (synopsis "DOM tree searching engine based on CSS selectors")
9729 (description "CLSS is a DOM traversal engine based on CSS
9730 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9731 (home-page "https://github.com/Shinmera/clss")
9732 (license license:zlib))))
9733
9734 (define-public cl-clss
9735 (sbcl-package->cl-source-package sbcl-clss))
9736
9737 (define-public ecl-clss
9738 (sbcl-package->ecl-package sbcl-clss))
9739
9740 (define-public sbcl-lquery
9741 (let ((revision "1")
9742 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9743 (package
9744 (name "sbcl-lquery")
9745 (version (git-version "3.2.1" revision commit))
9746 (source
9747 (origin
9748 (method git-fetch)
9749 (uri
9750 (git-reference
9751 (url "https://github.com/Shinmera/lquery")
9752 (commit commit)))
9753 (sha256
9754 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9755 (file-name (git-file-name name version))))
9756 (native-inputs
9757 `(("fiveam" ,sbcl-fiveam)))
9758 (inputs
9759 `(("array-utils" ,sbcl-array-utils)
9760 ("form-fiddle" ,sbcl-form-fiddle)
9761 ("plump" ,sbcl-plump)
9762 ("clss" ,sbcl-clss)))
9763 (build-system asdf-build-system/sbcl)
9764 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9765 (description "@code{lQuery} is a DOM manipulation library written in
9766 Common Lisp, inspired by and based on the jQuery syntax and
9767 functions. It uses Plump and CLSS as DOM and selector engines. The
9768 main idea behind lQuery is to provide a simple interface for crawling
9769 and modifying HTML sites, as well as to allow for an alternative
9770 approach to templating.")
9771 (home-page "https://github.com/Shinmera/lquery")
9772 (license license:zlib))))
9773
9774 (define-public cl-lquery
9775 (sbcl-package->cl-source-package sbcl-lquery))
9776
9777 (define-public ecl-lquery
9778 (sbcl-package->ecl-package sbcl-lquery))
9779
9780 (define-public sbcl-cl-mysql
9781 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9782 (revision "1"))
9783 (package
9784 (name "sbcl-cl-mysql")
9785 (version (git-version "0.1" revision commit))
9786 (source
9787 (origin
9788 (method git-fetch)
9789 (uri (git-reference
9790 (url "https://github.com/hackinghat/cl-mysql")
9791 (commit commit)))
9792 (file-name (git-file-name name version))
9793 (sha256
9794 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9795 (build-system asdf-build-system/sbcl)
9796 (native-inputs
9797 `(("stefil" ,sbcl-stefil)))
9798 (inputs
9799 `(("cffi" ,sbcl-cffi)
9800 ("mariadb-lib" ,mariadb "lib")))
9801 (arguments
9802 `(#:tests? #f ; TODO: Tests require a running server
9803 #:phases
9804 (modify-phases %standard-phases
9805 (add-after 'unpack 'fix-paths
9806 (lambda* (#:key inputs #:allow-other-keys)
9807 (substitute* "system.lisp"
9808 (("libmysqlclient_r" all)
9809 (string-append (assoc-ref inputs "mariadb-lib")
9810 "/lib/"
9811 all)))
9812 #t)))))
9813 (synopsis "Common Lisp wrapper for MySQL")
9814 (description
9815 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9816 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9817 (license license:expat))))
9818
9819 (define-public cl-mysql
9820 (sbcl-package->cl-source-package sbcl-cl-mysql))
9821
9822 (define-public ecl-cl-mysql
9823 (sbcl-package->ecl-package sbcl-cl-mysql))
9824
9825 (define-public sbcl-postmodern
9826 (package
9827 (name "sbcl-postmodern")
9828 (version "1.32.8")
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
9833 (url "https://github.com/marijnh/Postmodern")
9834 (commit (string-append "v" version))))
9835 (file-name (git-file-name name version))
9836 (sha256
9837 (base32 "0vr5inbr8dldf6dsl0qj3h2yrnnsayzfwxfzwkn1pk7xbns2l78q"))))
9838 (build-system asdf-build-system/sbcl)
9839 (native-inputs
9840 `(("fiveam" ,sbcl-fiveam)))
9841 (inputs
9842 `(("alexandria" ,sbcl-alexandria)
9843 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9844 ("cl-base64" ,sbcl-cl-base64)
9845 ("cl-unicode" ,sbcl-cl-unicode)
9846 ("closer-mop" ,sbcl-closer-mop)
9847 ("global-vars" ,sbcl-global-vars)
9848 ("ironclad" ,sbcl-ironclad)
9849 ("local-time" ,sbcl-local-time)
9850 ("md5" ,sbcl-md5)
9851 ("split-sequence" ,sbcl-split-sequence)
9852 ("uax-15" ,sbcl-uax-15)
9853 ("usocket" ,sbcl-usocket)))
9854 (arguments
9855 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9856 ;; step, some functionality in `local-time' prevents passing tests.
9857 ;; Error:
9858 ;;
9859 ;; Can't create directory
9860 ;; /gnu/store
9861 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9862 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9863 ;;
9864 ;; NOTE: (Sharlatan-20210124T191940+0000): When set env HOME to /tmp above
9865 ;; issue is resolved but it required live test database to connect to now.
9866 ;; Keep tests switched off.
9867 `(#:tests? #f
9868 #:asd-systems '("cl-postgres"
9869 "s-sql"
9870 "postmodern"
9871 "simple-date"
9872 "simple-date/postgres-glue")))
9873 (synopsis "Common Lisp library for interacting with PostgreSQL")
9874 (description
9875 "@code{postmodern} is a Common Lisp library for interacting with
9876 PostgreSQL databases. It provides the following features:
9877
9878 @itemize
9879 @item Efficient communication with the database server without need for
9880 foreign libraries.
9881 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9882 @item A syntax for mixing SQL and Lisp code.
9883 @item Convenient support for prepared statements and stored procedures.
9884 @item A metaclass for simple database-access objects.
9885 @end itemize\n
9886
9887 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9888
9889 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9890 to support storing and retrieving time-related SQL types. It is not loaded by
9891 default and you can use local-time (which has support for timezones) instead.
9892
9893 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9894 any Lisp values inside, and doing as much as possible of the work at compile
9895 time.
9896
9897 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9898 server over a socket.
9899
9900 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9901 level functions, a very simple data access object that can be mapped directly to
9902 database tables and some convient utilities. It then tries to put all these
9903 things together into a convenient programming interface")
9904 (home-page "https://marijnhaverbeke.nl/postmodern/")
9905 (license license:zlib)))
9906
9907 (define-public cl-postmodern
9908 (sbcl-package->cl-source-package sbcl-postmodern))
9909
9910 (define-public ecl-postmodern
9911 (package
9912 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9913 (arguments
9914 `(#:tests? #f
9915 #:asd-systems '("cl-postgres"
9916 "s-sql"
9917 "postmodern"
9918 "simple-date"
9919 "simple-date/postgres-glue")
9920 #:phases
9921 (modify-phases %standard-phases
9922 (add-after 'unpack 'fix-build
9923 (lambda _
9924 (substitute* "cl-postgres.asd"
9925 ((":or :sbcl :allegro :ccl :clisp" all)
9926 (string-append all " :ecl")))
9927 #t)))))))
9928
9929 (define-public sbcl-db3
9930 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9931 (revision "1"))
9932 (package
9933 (name "sbcl-db3")
9934 (version (git-version "0.0.0" revision commit))
9935 (source
9936 (origin
9937 (method git-fetch)
9938 (uri (git-reference
9939 (url "https://github.com/dimitri/cl-db3")
9940 (commit commit)))
9941 (file-name (git-file-name "cl-db3" version))
9942 (sha256
9943 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9944 (build-system asdf-build-system/sbcl)
9945 (home-page "https://github.com/dimitri/cl-db3")
9946 (synopsis "Common Lisp library to read dBase III database files")
9947 (description
9948 "This is a Common Lisp library for processing data found in dBase III
9949 database files (dbf and db3 files).")
9950 (license license:public-domain))))
9951
9952 (define-public ecl-db3
9953 (sbcl-package->ecl-package sbcl-db3))
9954
9955 (define-public cl-db3
9956 (sbcl-package->cl-source-package sbcl-db3))
9957
9958 (define-public sbcl-dbi
9959 ;; Master includes a breaking change which other packages depend on since
9960 ;; Quicklisp decided to follow it:
9961 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9962 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9963 (package
9964 (name "sbcl-dbi")
9965 (version (git-version "0.9.4" "1" commit))
9966 (source
9967 (origin
9968 (method git-fetch)
9969 (uri (git-reference
9970 (url "https://github.com/fukamachi/cl-dbi")
9971 (commit commit)))
9972 (file-name (git-file-name name version))
9973 (sha256
9974 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9975 (build-system asdf-build-system/sbcl)
9976 (native-inputs
9977 `(("rove" ,sbcl-rove)
9978 ("trivial-types" ,sbcl-trivial-types)))
9979 (inputs
9980 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9981 ("cl-mysql" ,sbcl-cl-mysql)
9982 ("cl-sqlite" ,sbcl-cl-sqlite)
9983 ("closer-mop" ,sbcl-closer-mop)
9984 ("postmodern" ,sbcl-postmodern)
9985 ("split-sequence" ,sbcl-split-sequence)
9986 ("trivial-garbage" ,sbcl-trivial-garbage)))
9987 (arguments
9988 `(#:asd-systems '("dbi"
9989 "dbd-mysql"
9990 "dbd-postgres"
9991 "dbd-sqlite3")))
9992 (synopsis "Database independent interface for Common Lisp")
9993 (description
9994 "@code{dbi} is a Common Lisp library providing a database independent
9995 interface for MySQL, PostgreSQL and SQLite.")
9996 (home-page "https://github.com/fukamachi/cl-dbi")
9997 (license license:llgpl))))
9998
9999 (define-public cl-dbi
10000 (sbcl-package->cl-source-package sbcl-dbi))
10001
10002 (define-public ecl-dbi
10003 (sbcl-package->ecl-package sbcl-dbi))
10004
10005 (define-public sbcl-uffi
10006 (package
10007 (name "sbcl-uffi")
10008 (version "2.1.2")
10009 (source
10010 (origin
10011 (method git-fetch)
10012 (uri (git-reference
10013 (url "http://git.kpe.io/uffi.git")
10014 (commit (string-append "v" version))))
10015 (file-name (git-file-name name version))
10016 (sha256
10017 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10018 (build-system asdf-build-system/sbcl)
10019 (arguments
10020 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10021 #:asd-files '("uffi.asd")
10022 #:phases
10023 (modify-phases %standard-phases
10024 (add-after 'unpack 'fix-permissions
10025 (lambda _
10026 (make-file-writable "doc/html.tar.gz")
10027 #t)))))
10028 (synopsis "Universal foreign function library for Common Lisp")
10029 (description
10030 "UFFI provides a universal foreign function interface (FFI)
10031 for Common Lisp.")
10032 (home-page "http://quickdocs.org/uffi/")
10033 (license license:llgpl)))
10034
10035 (define-public cl-uffi
10036 (package
10037 (inherit (sbcl-package->cl-source-package sbcl-uffi))
10038 (arguments
10039 `(#:phases
10040 ;; asdf-build-system/source has its own phases and does not inherit
10041 ;; from asdf-build-system/sbcl phases.
10042 (modify-phases %standard-phases/source
10043 ;; Already done in SBCL package.
10044 (delete 'reset-gzip-timestamps))))))
10045
10046 (define-public sbcl-clsql
10047 (package
10048 (name "sbcl-clsql")
10049 (version "6.7.0")
10050 (source
10051 (origin
10052 (method git-fetch)
10053 (uri (git-reference
10054 (url "http://git.kpe.io/clsql.git")
10055 (commit (string-append "v" version))))
10056 (file-name (git-file-name name version))
10057 (sha256
10058 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
10059 (snippet
10060 '(begin
10061 ;; Remove precompiled libraries.
10062 (delete-file "db-mysql/clsql_mysql.dll")
10063 (delete-file "uffi/clsql_uffi.dll")
10064 (delete-file "uffi/clsql_uffi.lib")
10065 #t))))
10066 (build-system asdf-build-system/sbcl)
10067 (native-inputs
10068 `(("rt" ,sbcl-rt)))
10069 (inputs
10070 `(("cffi" ,sbcl-cffi)
10071 ("md5" ,sbcl-md5)
10072 ("mysql" ,mysql)
10073 ("postgresql" ,postgresql)
10074 ("postmodern" ,sbcl-postmodern)
10075 ("sqlite" ,sqlite)
10076 ("uffi" ,sbcl-uffi)
10077 ("zlib" ,zlib)))
10078 (arguments
10079 `(#:asd-files '("clsql.asd"
10080 "clsql-uffi.asd"
10081 "clsql-sqlite3.asd"
10082 "clsql-postgresql.asd"
10083 "clsql-postgresql-socket3.asd"
10084 "clsql-mysql.asd")
10085 #:asd-systems '("clsql"
10086 "clsql-sqlite3"
10087 "clsql-postgresql"
10088 "clsql-postgresql-socket3"
10089 "clsql-mysql")
10090 #:phases
10091 (modify-phases %standard-phases
10092 (add-after 'unpack 'fix-permissions
10093 (lambda _
10094 (make-file-writable "doc/html.tar.gz")
10095 #t))
10096 (add-after 'unpack 'fix-build
10097 (lambda _
10098 (substitute* "clsql-uffi.asd"
10099 (("\\(:version uffi \"2.0\"\\)")
10100 "uffi"))
10101 (substitute* "db-postgresql/postgresql-api.lisp"
10102 (("\\(data :cstring\\)")
10103 "(data :string)"))
10104 #t))
10105 (add-after 'unpack 'fix-paths
10106 (lambda* (#:key inputs outputs #:allow-other-keys)
10107 (substitute* "db-sqlite3/sqlite3-loader.lisp"
10108 (("libsqlite3")
10109 (string-append (assoc-ref inputs "sqlite")
10110 "/lib/libsqlite3")))
10111 (substitute* "db-postgresql/postgresql-loader.lisp"
10112 (("libpq")
10113 (string-append (assoc-ref inputs "postgresql")
10114 "/lib/libpq")))
10115 (let ((lib (string-append "#p\""
10116 (assoc-ref outputs "out")
10117 "/lib/\"")))
10118 (substitute* "clsql-mysql.asd"
10119 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
10120 lib))
10121 (substitute* "db-mysql/mysql-loader.lisp"
10122 (("libmysqlclient" all)
10123 (string-append (assoc-ref inputs "mysql") "/lib/" all))
10124 (("clsql-mysql-system::\\*library-file-dir\\*")
10125 lib)))
10126 #t))
10127 (add-before 'build 'build-helper-library
10128 (lambda* (#:key inputs outputs #:allow-other-keys)
10129 (let* ((mysql (assoc-ref inputs "mysql"))
10130 (inc-dir (string-append mysql "/include/mysql"))
10131 (lib-dir (string-append mysql "/lib"))
10132 (shared-lib-dir (string-append (assoc-ref outputs "out")
10133 "/lib"))
10134 (shared-lib (string-append shared-lib-dir
10135 "/clsql_mysql.so")))
10136 (mkdir-p shared-lib-dir)
10137 (invoke "gcc" "-fPIC" "-shared"
10138 "-I" inc-dir
10139 "db-mysql/clsql_mysql.c"
10140 "-Wl,-soname=clsql_mysql"
10141 "-L" lib-dir "-lmysqlclient" "-lz"
10142 "-o" shared-lib)
10143 #t)))
10144 (add-after 'unpack 'fix-tests
10145 (lambda _
10146 (substitute* "clsql.asd"
10147 (("clsql-tests :force t")
10148 "clsql-tests"))
10149 #t)))))
10150 (synopsis "Common Lisp SQL Interface library")
10151 (description
10152 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
10153 Xanalys CommonSQL interface for Lispworks. It provides low-level database
10154 interfaces as well as a functional and an object oriented interface.")
10155 (home-page "http://clsql.kpe.io/")
10156 (license license:llgpl)))
10157
10158 (define-public cl-clsql
10159 (package
10160 (inherit (sbcl-package->cl-source-package sbcl-clsql))
10161 (native-inputs
10162 `(("rt" ,cl-rt)))
10163 (inputs
10164 `(("mysql" ,mysql)
10165 ("postgresql" ,postgresql)
10166 ("sqlite" ,sqlite)
10167 ("zlib" ,zlib)))
10168 (propagated-inputs
10169 `(("cffi" ,cl-cffi)
10170 ("md5" ,cl-md5)
10171 ("postmodern" ,cl-postmodern)
10172 ("uffi" ,cl-uffi)))
10173 (arguments
10174 `(#:phases
10175 ;; asdf-build-system/source has its own phases and does not inherit
10176 ;; from asdf-build-system/sbcl phases.
10177 (modify-phases %standard-phases/source
10178 (add-after 'unpack 'fix-permissions
10179 (lambda _
10180 (make-file-writable "doc/html.tar.gz")
10181 #t)))))))
10182
10183 (define-public ecl-clsql
10184 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
10185 (package
10186 (inherit pkg)
10187 (inputs
10188 (alist-delete "uffi" (package-inputs pkg)))
10189 (arguments
10190 (substitute-keyword-arguments (package-arguments pkg)
10191 ((#:asd-files asd-files '())
10192 `(cons "clsql-cffi.asd" ,asd-files)))))))
10193
10194 (define-public sbcl-sycamore
10195 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
10196 (package
10197 (name "sbcl-sycamore")
10198 (version "0.0.20120604")
10199 (source
10200 (origin
10201 (method git-fetch)
10202 (uri (git-reference
10203 (url "https://github.com/ndantam/sycamore/")
10204 (commit commit)))
10205 (file-name (git-file-name name version))
10206 (sha256
10207 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
10208 (build-system asdf-build-system/sbcl)
10209 (inputs
10210 `(("alexandria" ,sbcl-alexandria)
10211 ("cl-ppcre" ,sbcl-cl-ppcre)))
10212 (synopsis "Purely functional data structure library in Common Lisp")
10213 (description
10214 "Sycamore is a fast, purely functional data structure library in Common Lisp.
10215 If features:
10216
10217 @itemize
10218 @item Fast, purely functional weight-balanced binary trees.
10219 @item Leaf nodes are simple-vectors, greatly reducing tree height.
10220 @item Interfaces for tree Sets and Maps (dictionaries).
10221 @item Ropes.
10222 @item Purely functional pairing heaps.
10223 @item Purely functional amortized queue.
10224 @end itemize\n")
10225 (home-page "http://ndantam.github.io/sycamore/")
10226 (license license:bsd-3))))
10227
10228 (define-public cl-sycamore
10229 (sbcl-package->cl-source-package sbcl-sycamore))
10230
10231 (define-public ecl-sycamore
10232 (sbcl-package->ecl-package sbcl-sycamore))
10233
10234 (define-public sbcl-trivial-package-local-nicknames
10235 (package
10236 (name "sbcl-trivial-package-local-nicknames")
10237 (version "0.2")
10238 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
10239 (source
10240 (origin
10241 (method git-fetch)
10242 (uri (git-reference
10243 (url home-page)
10244 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
10245 (file-name (git-file-name name version))
10246 (sha256
10247 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
10248 (build-system asdf-build-system/sbcl)
10249 (synopsis "Common Lisp compatibility library for package local nicknames")
10250 (description
10251 "This library is a portable compatibility layer around package local nicknames (PLN).
10252 This was done so there is a portability library for the PLN API not included
10253 in DEFPACKAGE.")
10254 (license license:unlicense)))
10255
10256 (define-public cl-trivial-package-local-nicknames
10257 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
10258
10259 (define-public ecl-trivial-package-local-nicknames
10260 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
10261
10262 (define-public sbcl-enchant
10263 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
10264 (package
10265 (name "sbcl-enchant")
10266 (version (git-version "0.0.0" "1" commit))
10267 (home-page "https://github.com/tlikonen/cl-enchant")
10268 (source
10269 (origin
10270 (method git-fetch)
10271 (uri (git-reference
10272 (url home-page)
10273 (commit commit)))
10274 (file-name (git-file-name name version))
10275 (sha256
10276 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
10277 (build-system asdf-build-system/sbcl)
10278 (inputs
10279 `(("enchant" ,enchant)
10280 ("cffi" ,sbcl-cffi)))
10281 (arguments
10282 `(#:phases
10283 (modify-phases %standard-phases
10284 (add-after 'unpack 'fix-paths
10285 (lambda* (#:key inputs #:allow-other-keys)
10286 (substitute* "load-enchant.lisp"
10287 (("libenchant")
10288 (string-append
10289 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
10290 (synopsis "Common Lisp interface for the Enchant spell-checker library")
10291 (description
10292 "Enchant is a Common Lisp interface for the Enchant spell-checker
10293 library. The Enchant library is a generic spell-checker library which uses
10294 other spell-checkers transparently as back-end. The library supports the
10295 multiple checkers, including Aspell and Hunspell.")
10296 (license license:public-domain))))
10297
10298 (define-public cl-enchant
10299 (sbcl-package->cl-source-package sbcl-enchant))
10300
10301 (define-public ecl-enchant
10302 (sbcl-package->ecl-package sbcl-enchant))
10303
10304 (define-public sbcl-cl-change-case
10305 (let ((commit "45c70b601125889689e0c1c37d7e727a3a0af022")
10306 (revision "1"))
10307 (package
10308 (name "sbcl-cl-change-case")
10309 (version (git-version "0.2.0" revision commit))
10310 (home-page "https://github.com/rudolfochrist/cl-change-case")
10311 (source
10312 (origin
10313 (method git-fetch)
10314 (uri (git-reference
10315 (url home-page)
10316 (commit commit)))
10317 (file-name (git-file-name "cl-change-case" version))
10318 (sha256
10319 (base32 "0qmk341zzcsbf8sq0w9ix3r080zg4ri6vzxym63lhdjfzwz3y8if"))))
10320 (build-system asdf-build-system/sbcl)
10321 (inputs
10322 `(("cl-ppcre" ,sbcl-cl-ppcre)
10323 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
10324 (native-inputs
10325 `(("fiveam" ,sbcl-fiveam)))
10326 (synopsis
10327 "Convert Common Lisp strings between camelCase, PascalCase and more")
10328 (description
10329 "@code{cl-change-case} is a library to convert strings between
10330 camelCase, PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
10331 (license license:llgpl))))
10332
10333 (define-public cl-change-case
10334 (sbcl-package->cl-source-package sbcl-cl-change-case))
10335
10336 (define-public ecl-cl-change-case
10337 (sbcl-package->ecl-package sbcl-cl-change-case))
10338
10339 (define-public sbcl-modularize
10340 (let ((commit "86c5d9a11fbd2df9f0f03ac10b5d71837c8934ba")
10341 (revision "1"))
10342 (package
10343 (name "sbcl-modularize")
10344 (version (git-version "1.0.0" revision commit))
10345 (source
10346 (origin
10347 (method git-fetch)
10348 (uri (git-reference
10349 (url "https://github.com/Shinmera/modularize")
10350 (commit commit)))
10351 (file-name (git-file-name name version))
10352 (sha256
10353 (base32 "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d"))))
10354 (build-system asdf-build-system/sbcl)
10355 (arguments
10356 `(#:test-asd-file "modularize-test-module.asd"
10357 #:asd-files '("modularize.asd" "modularize-test-module.asd")
10358 #:asd-systems '("modularize" "modularize-test-module")))
10359 (inputs
10360 `(("documentation-utils" ,sbcl-documentation-utils)
10361 ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)))
10362 (home-page "https://shinmera.github.io/modularize/")
10363 (synopsis "Common Lisp modularization framework")
10364 (description
10365 "@code{MODULARIZE} is an attempt at providing a common interface to
10366 segregate major application components. This is achieved by adding special
10367 treatment to packages. Each module is a package that is specially registered,
10368 which allows it to interact and co-exist with other modules in better ways. For
10369 instance, by adding module definition options you can introduce mechanisms to
10370 tie modules together in functionality, hook into each other and so on.")
10371 (license license:zlib))))
10372
10373 (define-public ecl-modularize
10374 (sbcl-package->ecl-package sbcl-modularize))
10375
10376 (define-public cl-modularize
10377 (sbcl-package->cl-source-package sbcl-modularize))
10378
10379 (define-public sbcl-modularize-hooks
10380 (let ((commit "e0348ed3ffd59a9ec31ca4ab28289e748bfbf96a")
10381 (revision "1"))
10382 (package
10383 (name "sbcl-modularize-hooks")
10384 (version (git-version "1.0.2" revision commit))
10385 (source
10386 (origin
10387 (method git-fetch)
10388 (uri (git-reference
10389 (url "https://github.com/Shinmera/modularize-hooks")
10390 (commit commit)))
10391 (file-name (git-file-name "modularize-hooks" version))
10392 (sha256
10393 (base32 "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7"))))
10394 (build-system asdf-build-system/sbcl)
10395 (inputs
10396 `(("closer-mop" ,sbcl-closer-mop)
10397 ("lambda-fiddle" ,sbcl-lambda-fiddle)
10398 ("modularize" ,sbcl-modularize)
10399 ("trivial-arguments" ,sbcl-trivial-arguments)))
10400 (home-page "https://shinmera.github.io/modularize-hooks/")
10401 (synopsis "Generic hooks and triggers extension for Modularize")
10402 (description
10403 "This is a simple extension to @code{MODULARIZE} that allows modules to
10404 define and trigger hooks, which other modules can hook on to.")
10405 (license license:zlib))))
10406
10407 (define-public ecl-modularize-hooks
10408 (sbcl-package->ecl-package sbcl-modularize-hooks))
10409
10410 (define-public cl-modularize-hooks
10411 (sbcl-package->cl-source-package sbcl-modularize-hooks))
10412
10413 (define-public sbcl-modularize-interfaces
10414 (let ((commit "96353657afb8c7aeba7ef5b51eb04c5ed3bcb6ef")
10415 (revision "1"))
10416 (package
10417 (name "sbcl-modularize-interfaces")
10418 (version (git-version "0.9.3" revision commit))
10419 (source
10420 (origin
10421 (method git-fetch)
10422 (uri (git-reference
10423 (url "https://github.com/Shinmera/modularize-interfaces")
10424 (commit commit)))
10425 (file-name (git-file-name "modularize-interfaces" version))
10426 (sha256
10427 (base32 "0bjf4wy39cwf75m7vh0r7mmcchs09yz2lrbyap98hnq8blq70fhc"))))
10428 (build-system asdf-build-system/sbcl)
10429 (inputs
10430 `(("lambda-fiddle" ,sbcl-lambda-fiddle)
10431 ("modularize" ,sbcl-modularize)
10432 ("trivial-arguments" ,sbcl-trivial-arguments)
10433 ("trivial-indent" ,sbcl-trivial-indent)))
10434 (home-page "https://shinmera.github.io/modularize-interfaces/")
10435 (synopsis "Programmatical interfaces extension for Modularize")
10436 (description
10437 "This is an extension to @code{MODULARIZE} that allows your application
10438 to define interfaces in-code that serve both as a primary documentation and as
10439 compliance control.")
10440 (license license:zlib))))
10441
10442 (define-public ecl-modularize-interfaces
10443 (sbcl-package->ecl-package sbcl-modularize-interfaces))
10444
10445 (define-public cl-modularize-interfaces
10446 (sbcl-package->cl-source-package sbcl-modularize-interfaces))
10447
10448 (define-public sbcl-moptilities
10449 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
10450 (package
10451 (name "sbcl-moptilities")
10452 (version (git-version "0.3.13" "1" commit))
10453 (home-page "https://github.com/gwkkwg/moptilities/")
10454 (source
10455 (origin
10456 (method git-fetch)
10457 (uri (git-reference
10458 (url home-page)
10459 (commit commit)))
10460 (file-name (git-file-name name version))
10461 (sha256
10462 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
10463 (build-system asdf-build-system/sbcl)
10464 (inputs
10465 `(("closer-mop" ,sbcl-closer-mop)))
10466 (native-inputs
10467 `(("lift" ,sbcl-lift)))
10468 (arguments
10469 `(#:phases
10470 (modify-phases %standard-phases
10471 (add-after 'unpack 'fix-tests
10472 (lambda _
10473 (substitute* "lift-standard.config"
10474 ((":relative-to lift-test")
10475 ":relative-to moptilities-test"))
10476 #t)))))
10477 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
10478 (description
10479 "MOP utilities provide a common interface between Lisps and make the
10480 MOP easier to use.")
10481 (license license:expat))))
10482
10483 (define-public cl-moptilities
10484 (sbcl-package->cl-source-package sbcl-moptilities))
10485
10486 (define-public sbcl-osicat
10487 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
10488 (package
10489 (name "sbcl-osicat")
10490 (version (git-version "0.7.0" "1" commit))
10491 (home-page "http://www.common-lisp.net/project/osicat/")
10492 (source
10493 (origin
10494 (method git-fetch)
10495 (uri (git-reference
10496 (url "https://github.com/osicat/osicat")
10497 (commit commit)))
10498 (file-name (git-file-name name version))
10499 (sha256
10500 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
10501 (build-system asdf-build-system/sbcl)
10502 (inputs
10503 `(("alexandria" ,sbcl-alexandria)
10504 ("cffi" ,sbcl-cffi)
10505 ("trivial-features" ,sbcl-trivial-features)))
10506 (native-inputs
10507 `(("rt" ,sbcl-rt)))
10508 (synopsis "Operating system interface for Common Lisp")
10509 (description
10510 "Osicat is a lightweight operating system interface for Common Lisp on
10511 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
10512 accompaniment to the standard ANSI facilities.")
10513 (license license:expat))))
10514
10515 (define-public cl-osicat
10516 (sbcl-package->cl-source-package sbcl-osicat))
10517
10518 (define-public ecl-osicat
10519 (sbcl-package->ecl-package sbcl-osicat))
10520
10521 (define-public sbcl-clx-xembed
10522 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
10523 (revision "1"))
10524 (package
10525 (name "sbcl-clx-xembed")
10526 (version (git-version "0.1" revision commit))
10527 (home-page "https://github.com/laynor/clx-xembed")
10528 (source
10529 (origin
10530 (method git-fetch)
10531 (uri (git-reference
10532 (url "https://github.com/laynor/clx-xembed")
10533 (commit commit)))
10534 (file-name (git-file-name name version))
10535 (sha256
10536 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
10537 (build-system asdf-build-system/sbcl)
10538 (arguments
10539 `(#:asd-systems '("xembed")))
10540 (inputs
10541 `(("sbcl-clx" ,sbcl-clx)))
10542 (synopsis "CL(x) xembed protocol implementation ")
10543 (description "CL(x) xembed protocol implementation")
10544 ;; MIT License
10545 (license license:expat))))
10546
10547 (define-public cl-clx-xembed
10548 (sbcl-package->cl-source-package sbcl-clx-xembed))
10549
10550 (define-public ecl-clx-xembed
10551 (sbcl-package->ecl-package sbcl-clx-xembed))
10552
10553 (define-public sbcl-quantile-estimator
10554 (package
10555 (name "sbcl-quantile-estimator")
10556 (version "0.0.1")
10557 (source
10558 (origin
10559 (method git-fetch)
10560 (uri (git-reference
10561 (url "https://github.com/deadtrickster/quantile-estimator.cl")
10562 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
10563 (file-name (git-file-name name version))
10564 (sha256
10565 (base32
10566 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
10567 (build-system asdf-build-system/sbcl)
10568 (arguments
10569 '(#:asd-files '("quantile-estimator.asd")))
10570 (inputs
10571 `(("alexandria" ,sbcl-alexandria)))
10572 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
10573 (synopsis
10574 "Effective computation of biased quantiles over data streams")
10575 (description
10576 "Common Lisp implementation of Graham Cormode and S.
10577 Muthukrishnan's Effective Computation of Biased Quantiles over Data
10578 Streams in ICDE’05.")
10579 (license license:expat)))
10580
10581 (define-public cl-quantile-estimator
10582 (sbcl-package->cl-source-package sbcl-quantile-estimator))
10583
10584 (define-public ecl-quantile-estimator
10585 (sbcl-package->ecl-package sbcl-quantile-estimator))
10586
10587 (define-public sbcl-prometheus
10588 (package
10589 (name "sbcl-prometheus")
10590 (version "0.4.1")
10591 (source
10592 (origin
10593 (method git-fetch)
10594 (uri (git-reference
10595 (url "https://github.com/deadtrickster/prometheus.cl")
10596 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
10597 (file-name (git-file-name name version))
10598 (sha256
10599 (base32
10600 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
10601 (build-system asdf-build-system/sbcl)
10602 (inputs
10603 `(("alexandria" ,sbcl-alexandria)
10604 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10605 ("cffi" ,sbcl-cffi)
10606 ("cl-fad" ,sbcl-cl-fad)
10607 ("cl-ppcre" ,sbcl-cl-ppcre)
10608 ("drakma" ,sbcl-drakma)
10609 ("hunchentoot" ,sbcl-hunchentoot)
10610 ("local-time" ,sbcl-local-time)
10611 ("quantile-estimator" ,sbcl-quantile-estimator)
10612 ("salza2" ,sbcl-salza2)
10613 ("split-sequence" ,sbcl-split-sequence)
10614 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10615 (arguments
10616 '(#:asd-files '("prometheus.asd"
10617 "prometheus.collectors.sbcl.asd"
10618 "prometheus.collectors.process.asd"
10619 "prometheus.formats.text.asd"
10620 "prometheus.exposers.hunchentoot.asd"
10621 "prometheus.pushgateway.asd")
10622 #:asd-systems '("prometheus"
10623 "prometheus.collectors.sbcl"
10624 "prometheus.collectors.process"
10625 "prometheus.formats.text"
10626 "prometheus.exposers.hunchentoot"
10627 "prometheus.pushgateway")))
10628 (home-page "https://github.com/deadtrickster/prometheus.cl")
10629 (synopsis "Prometheus.io Common Lisp client")
10630 (description "Prometheus.io Common Lisp client.")
10631 (license license:expat)))
10632
10633 (define-public cl-prometheus
10634 (sbcl-package->cl-source-package sbcl-prometheus))
10635
10636 (define-public ecl-prometheus
10637 (sbcl-package->ecl-package sbcl-prometheus))
10638
10639 (define-public sbcl-uuid
10640 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
10641 (package
10642 (name "sbcl-uuid")
10643 (version (git-version "2012.12.26" "1" commit))
10644 (source
10645 (origin
10646 (method git-fetch)
10647 (uri (git-reference
10648 (url "https://github.com/dardoria/uuid")
10649 (commit commit)))
10650 (file-name (git-file-name name version))
10651 (sha256
10652 (base32
10653 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
10654 (build-system asdf-build-system/sbcl)
10655 (inputs
10656 `(("ironclad" ,sbcl-ironclad)
10657 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
10658 (home-page "https://github.com/dardoria/uuid")
10659 (synopsis
10660 "Common Lisp implementation of UUIDs according to RFC4122")
10661 (description
10662 "Common Lisp implementation of UUIDs according to RFC4122.")
10663 (license license:llgpl))))
10664
10665 (define-public cl-uuid
10666 (sbcl-package->cl-source-package sbcl-uuid))
10667
10668 (define-public ecl-uuid
10669 (sbcl-package->ecl-package sbcl-uuid))
10670
10671 (define-public sbcl-dissect
10672 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
10673 (package
10674 (name "sbcl-dissect")
10675 (version (git-version "1.0.0" "1" commit))
10676 (source
10677 (origin
10678 (method git-fetch)
10679 (uri (git-reference
10680 (url "https://github.com/Shinmera/dissect")
10681 (commit commit)))
10682 (file-name (git-file-name name version))
10683 (sha256
10684 (base32
10685 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
10686 (build-system asdf-build-system/sbcl)
10687 (inputs
10688 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10689 (home-page "https://shinmera.github.io/dissect/")
10690 (synopsis
10691 "Introspection library for the call stack and restarts")
10692 (description
10693 "Dissect is a small Common Lisp library for introspecting the call stack
10694 and active restarts.")
10695 (license license:zlib))))
10696
10697 (define-public cl-dissect
10698 (sbcl-package->cl-source-package sbcl-dissect))
10699
10700 (define-public ecl-dissect
10701 (sbcl-package->ecl-package sbcl-dissect))
10702
10703 (define-public sbcl-rove
10704 (package
10705 (name "sbcl-rove")
10706 (version "0.9.6")
10707 (source
10708 (origin
10709 (method git-fetch)
10710 (uri (git-reference
10711 (url "https://github.com/fukamachi/rove")
10712 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
10713 (file-name (git-file-name name version))
10714 (sha256
10715 (base32
10716 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
10717 (build-system asdf-build-system/sbcl)
10718 (inputs
10719 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10720 ("dissect" ,sbcl-dissect)
10721 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
10722 (home-page "https://github.com/fukamachi/rove")
10723 (synopsis
10724 "Yet another common lisp testing library")
10725 (description
10726 "Rove is a unit testing framework for Common Lisp applications.
10727 This is intended to be a successor of Prove.")
10728 (license license:bsd-3)))
10729
10730 (define-public cl-rove
10731 (sbcl-package->cl-source-package sbcl-rove))
10732
10733 (define-public ecl-rove
10734 (sbcl-package->ecl-package sbcl-rove))
10735
10736 (define-public sbcl-exponential-backoff
10737 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
10738 (package
10739 (name "sbcl-exponential-backoff")
10740 (version (git-version "0" "1" commit))
10741 (source
10742 (origin
10743 (method git-fetch)
10744 (uri (git-reference
10745 (url "https://github.com/death/exponential-backoff")
10746 (commit commit)))
10747 (file-name (git-file-name name version))
10748 (sha256
10749 (base32
10750 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
10751 (build-system asdf-build-system/sbcl)
10752 (home-page "https://github.com/death/exponential-backoff")
10753 (synopsis "Exponential backoff algorithm in Common Lisp")
10754 (description
10755 "An implementation of the exponential backoff algorithm in Common Lisp.
10756 Inspired by the implementation found in Chromium. Read the header file to
10757 learn about each of the parameters.")
10758 (license license:expat))))
10759
10760 (define-public cl-exponential-backoff
10761 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10762
10763 (define-public ecl-exponential-backoff
10764 (sbcl-package->ecl-package sbcl-exponential-backoff))
10765
10766 (define-public sbcl-sxql
10767 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10768 (package
10769 (name "sbcl-sxql")
10770 (version (git-version "0.1.0" "1" commit))
10771 (source
10772 (origin
10773 (method git-fetch)
10774 (uri (git-reference
10775 (url "https://github.com/fukamachi/sxql")
10776 (commit commit)))
10777 (file-name (git-file-name name version))
10778 (sha256
10779 (base32
10780 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10781 (build-system asdf-build-system/sbcl)
10782 (arguments
10783 `(#:test-asd-file "sxql-test.asd"))
10784 (inputs
10785 `(("alexandria" ,sbcl-alexandria)
10786 ("cl-syntax" ,sbcl-cl-syntax)
10787 ("iterate" ,sbcl-iterate)
10788 ("optima" ,sbcl-optima)
10789 ("split-sequence" ,sbcl-split-sequence)
10790 ("trivial-types" ,sbcl-trivial-types)))
10791 (native-inputs
10792 `(("prove" ,sbcl-prove)))
10793 (home-page "https://github.com/fukamachi/sxql")
10794 (synopsis "SQL generator for Common Lisp")
10795 (description "SQL generator for Common Lisp.")
10796 (license license:bsd-3))))
10797
10798 (define-public cl-sxql
10799 (sbcl-package->cl-source-package sbcl-sxql))
10800
10801 (define-public ecl-sxql
10802 (sbcl-package->ecl-package sbcl-sxql))
10803
10804 (define-public sbcl-1am
10805 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10806 (package
10807 (name "sbcl-1am")
10808 (version (git-version "0.0" "1" commit))
10809 (source
10810 (origin
10811 (method git-fetch)
10812 (uri (git-reference
10813 (url "https://github.com/lmj/1am")
10814 (commit commit)))
10815 (file-name (git-file-name name version))
10816 (sha256
10817 (base32
10818 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10819 (build-system asdf-build-system/sbcl)
10820 (arguments
10821 `(#:asd-systems '("1am")))
10822 (home-page "https://github.com/lmj/1am")
10823 (synopsis "Minimal testing framework for Common Lisp")
10824 (description "A minimal testing framework for Common Lisp.")
10825 (license license:expat))))
10826
10827 (define-public cl-1am
10828 (sbcl-package->cl-source-package sbcl-1am))
10829
10830 (define-public ecl-1am
10831 (sbcl-package->ecl-package sbcl-1am))
10832
10833 (define-public sbcl-cl-ascii-table
10834 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10835 (revision "1"))
10836 (package
10837 (name "sbcl-cl-ascii-table")
10838 (version (git-version "0.0.0" revision commit))
10839 (source
10840 (origin
10841 (method git-fetch)
10842 (uri (git-reference
10843 (url "https://github.com/telephil/cl-ascii-table")
10844 (commit commit)))
10845 (file-name (git-file-name name version))
10846 (sha256
10847 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10848 (build-system asdf-build-system/sbcl)
10849 (synopsis "Library to make ascii-art tables")
10850 (description
10851 "This is a Common Lisp library to present tabular data in ascii-art
10852 tables.")
10853 (home-page "https://github.com/telephil/cl-ascii-table")
10854 (license license:expat))))
10855
10856 (define-public cl-ascii-table
10857 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10858
10859 (define-public ecl-cl-ascii-table
10860 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10861
10862 (define-public sbcl-cl-rdkafka
10863 (package
10864 (name "sbcl-cl-rdkafka")
10865 (version "1.1.0")
10866 (source
10867 (origin
10868 (method git-fetch)
10869 (uri (git-reference
10870 (url "https://github.com/SahilKang/cl-rdkafka")
10871 (commit (string-append "v" version))))
10872 (file-name (git-file-name name version))
10873 (sha256
10874 (base32
10875 "0z2g0k0xy8k1p9g93h8dy9wbygaq7ziwagm4yz93zk67mhc0b84v"))))
10876 (build-system asdf-build-system/sbcl)
10877 (arguments
10878 `(#:tests? #f ; Attempts to connect to locally running Kafka
10879 #:phases
10880 (modify-phases %standard-phases
10881 (add-after 'unpack 'fix-paths
10882 (lambda* (#:key inputs #:allow-other-keys)
10883 (substitute* "src/low-level/librdkafka-bindings.lisp"
10884 (("librdkafka" all)
10885 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10886 all))))))))
10887 (inputs
10888 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10889 ("cffi" ,sbcl-cffi)
10890 ("librdkafka" ,librdkafka)
10891 ("lparallel" ,sbcl-lparallel)
10892 ("trivial-garbage" ,sbcl-trivial-garbage)))
10893 (home-page "https://github.com/SahilKang/cl-rdkafka")
10894 (synopsis "Common Lisp client library for Apache Kafka")
10895 (description "A Common Lisp client library for Apache Kafka.")
10896 (license license:gpl3)))
10897
10898 (define-public cl-rdkafka
10899 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10900
10901 (define-public ecl-cl-rdkafka
10902 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10903
10904 (define-public sbcl-acclimation
10905 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10906 (package
10907 (name "sbcl-acclimation")
10908 (version (git-version "0.0.0" "1" commit))
10909 (source
10910 (origin
10911 (method git-fetch)
10912 (uri (git-reference
10913 (url "https://github.com/robert-strandh/Acclimation")
10914 (commit commit)))
10915 (file-name (git-file-name name version))
10916 (sha256
10917 (base32
10918 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10919 (build-system asdf-build-system/sbcl)
10920 (home-page "https://github.com/robert-strandh/Acclimation")
10921 (synopsis "Internationalization library for Common Lisp")
10922 (description "This project is meant to provide tools for
10923 internationalizing Common Lisp programs.
10924
10925 One important aspect of internationalization is of course the language used in
10926 error messages, documentation strings, etc. But with this project we provide
10927 tools for all other aspects of internationalization as well, including dates,
10928 weight, temperature, names of physical quantitites, etc.")
10929 (license license:bsd-2))))
10930
10931 (define-public cl-acclimation
10932 (sbcl-package->cl-source-package sbcl-acclimation))
10933
10934 (define-public ecl-acclimation
10935 (sbcl-package->ecl-package sbcl-acclimation))
10936
10937 (define-public sbcl-clump
10938 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10939 (package
10940 (name "sbcl-clump")
10941 (version (git-version "0.0.0" "1" commit))
10942 (source
10943 (origin
10944 (method git-fetch)
10945 (uri (git-reference
10946 (url "https://github.com/robert-strandh/Clump")
10947 (commit commit)))
10948 (file-name (git-file-name name version))
10949 (sha256
10950 (base32
10951 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10952 (inputs
10953 `(("acclimation" ,sbcl-acclimation)))
10954 (build-system asdf-build-system/sbcl)
10955 (home-page "https://github.com/robert-strandh/Clump")
10956 (synopsis "Collection of tree implementations for Common Lisp")
10957 (description "The purpose of this library is to provide a collection of
10958 implementations of trees.
10959
10960 In contrast to existing libraries such as cl-containers, it does not impose a
10961 particular use for the trees. Instead, it aims for a stratified design,
10962 allowing client code to choose between different levels of abstraction.
10963
10964 As a consequence of this policy, low-level interfaces are provided where
10965 the concrete representation is exposed, but also high level interfaces
10966 where the trees can be used as search trees or as trees that represent
10967 sequences of objects.")
10968 (license license:bsd-2))))
10969
10970 (define-public cl-clump
10971 (sbcl-package->cl-source-package sbcl-clump))
10972
10973 (define-public ecl-clump
10974 (sbcl-package->ecl-package sbcl-clump))
10975
10976 (define-public sbcl-cluffer
10977 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10978 (package
10979 (name "sbcl-cluffer")
10980 (version (git-version "0.0.0" "1" commit))
10981 (source
10982 (origin
10983 (method git-fetch)
10984 (uri (git-reference
10985 (url "https://github.com/robert-strandh/cluffer")
10986 (commit commit)))
10987 (file-name (git-file-name name version))
10988 (sha256
10989 (base32
10990 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10991 (build-system asdf-build-system/sbcl)
10992 (inputs
10993 `(("acclimation" ,sbcl-acclimation)
10994 ("clump" ,sbcl-clump)))
10995 (home-page "https://github.com/robert-strandh/cluffer")
10996 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10997 (description "Cluffer is a library for representing the buffer of a text
10998 editor. As such, it defines a set of CLOS protocols for client code to
10999 interact with the buffer contents in various ways, and it supplies different
11000 implementations of those protocols for different purposes.")
11001 (license license:bsd-2))))
11002
11003 (define-public cl-cluffer
11004 (sbcl-package->cl-source-package sbcl-cluffer))
11005
11006 (define-public ecl-cluffer
11007 (sbcl-package->ecl-package sbcl-cluffer))
11008
11009 (define-public sbcl-cl-libsvm-format
11010 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
11011 (revision "0"))
11012 (package
11013 (name "sbcl-cl-libsvm-format")
11014 (version (git-version "0.1.0" revision commit))
11015 (source
11016 (origin
11017 (method git-fetch)
11018 (uri (git-reference
11019 (url "https://github.com/masatoi/cl-libsvm-format")
11020 (commit commit)))
11021 (file-name (git-file-name name version))
11022 (sha256
11023 (base32
11024 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
11025 (build-system asdf-build-system/sbcl)
11026 (native-inputs
11027 `(("prove" ,sbcl-prove)))
11028 (inputs
11029 `(("alexandria" ,sbcl-alexandria)))
11030 (synopsis "LibSVM data format reader for Common Lisp")
11031 (description
11032 "This Common Lisp library provides a fast reader for data in LibSVM
11033 format.")
11034 (home-page "https://github.com/masatoi/cl-libsvm-format")
11035 (license license:expat))))
11036
11037 (define-public cl-libsvm-format
11038 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
11039
11040 (define-public ecl-cl-libsvm-format
11041 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
11042
11043 (define-public sbcl-cl-online-learning
11044 (let ((commit "87fbef8a340219e853adb3a5bf44a0470da76964")
11045 (revision "1"))
11046 (package
11047 (name "sbcl-cl-online-learning")
11048 (version (git-version "0.5" revision commit))
11049 (source
11050 (origin
11051 (method git-fetch)
11052 (uri (git-reference
11053 (url "https://github.com/masatoi/cl-online-learning")
11054 (commit commit)))
11055 (file-name (git-file-name "cl-online-learning" version))
11056 (sha256
11057 (base32
11058 "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9"))))
11059 (build-system asdf-build-system/sbcl)
11060 (native-inputs
11061 `(("prove" ,sbcl-prove)))
11062 (inputs
11063 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11064 ("cl-store" ,sbcl-cl-store)))
11065 (arguments
11066 `(#:test-asd-file "cl-online-learning-test.asd"
11067 #:asd-systems '("cl-online-learning-test"
11068 "cl-online-learning")))
11069 (home-page "https://github.com/masatoi/cl-online-learning")
11070 (synopsis "Online Machine Learning for Common Lisp")
11071 (description
11072 "This library contains a collection of machine learning algorithms for
11073 online linear classification written in Common Lisp.")
11074 (license license:expat))))
11075
11076 (define-public cl-online-learning
11077 (sbcl-package->cl-source-package sbcl-cl-online-learning))
11078
11079 (define-public ecl-cl-online-learning
11080 (sbcl-package->ecl-package sbcl-cl-online-learning))
11081
11082 (define-public sbcl-cl-mpg123
11083 (let ((commit "5f042c839d2ea4a2ff2a7b60c839d8633d64161d")
11084 (revision "1"))
11085 (package
11086 (name "sbcl-cl-mpg123")
11087 (version (git-version "1.0.0" revision commit))
11088 (source
11089 (origin
11090 (method git-fetch)
11091 (uri (git-reference
11092 (url "https://github.com/Shirakumo/cl-mpg123")
11093 (commit commit)))
11094 (file-name (git-file-name "cl-mpg123" version))
11095 (sha256
11096 (base32 "1hl721xaczxck008ax2y3jpkm509ry1sg3lklh2k76764m3ndrjf"))
11097 (modules '((guix build utils)))
11098 (snippet
11099 '(begin
11100 ;; Remove bundled pre-compiled libraries.
11101 (delete-file-recursively "static")
11102 #t))))
11103 (build-system asdf-build-system/sbcl)
11104 (arguments
11105 `(#:asd-files '("cl-mpg123.asd" "cl-mpg123-example.asd")
11106 #:asd-systems '("cl-mpg123" "cl-mpg123-example")
11107 #:phases
11108 (modify-phases %standard-phases
11109 (add-after 'unpack 'fix-paths
11110 (lambda* (#:key inputs #:allow-other-keys)
11111 (substitute* "low-level.lisp"
11112 (("libmpg123.so" all)
11113 (string-append (assoc-ref inputs "libmpg123")
11114 "/lib/" all))))))))
11115 (inputs
11116 `(("cffi" ,sbcl-cffi)
11117 ("cl-out123" ,sbcl-cl-out123)
11118 ("documentation-utils" ,sbcl-documentation-utils)
11119 ("libmpg123" ,mpg123)
11120 ("trivial-features" ,sbcl-trivial-features)
11121 ("trivial-garbage" ,sbcl-trivial-garbage)
11122 ("verbose" ,sbcl-verbose)))
11123 (home-page "https://shirakumo.github.io/cl-mpg123/")
11124 (synopsis "Common Lisp bindings to libmpg123")
11125 (description
11126 "This is a bindings and wrapper library to @code{libmpg123} allowing for
11127 convenient, extensive, and fast decoding of MPEG1/2/3 (most prominently mp3)
11128 files.")
11129 (license license:zlib))))
11130
11131 (define-public ecl-cl-mpg123
11132 (sbcl-package->ecl-package sbcl-cl-mpg123))
11133
11134 (define-public cl-mpg123
11135 (sbcl-package->cl-source-package sbcl-cl-mpg123))
11136
11137 (define-public sbcl-cl-out123
11138 (let ((commit "6b58d3f8c2a28ad09059ac4c60fb3c781b9b421b")
11139 (revision "1"))
11140 (package
11141 (name "sbcl-cl-out123")
11142 (version (git-version "1.0.0" revision commit))
11143 (source
11144 (origin
11145 (method git-fetch)
11146 (uri (git-reference
11147 (url "https://github.com/Shirakumo/cl-out123")
11148 (commit commit)))
11149 (file-name (git-file-name "cl-out123" version))
11150 (sha256
11151 (base32 "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1"))
11152 (modules '((guix build utils)))
11153 (snippet
11154 '(begin
11155 ;; Remove bundled pre-compiled libraries.
11156 (delete-file-recursively "static")
11157 #t))))
11158 (build-system asdf-build-system/sbcl)
11159 (arguments
11160 `(#:phases
11161 (modify-phases %standard-phases
11162 (add-after 'unpack 'fix-paths
11163 (lambda* (#:key inputs #:allow-other-keys)
11164 (substitute* "low-level.lisp"
11165 (("libout123.so" all)
11166 (string-append (assoc-ref inputs "libout123")
11167 "/lib/" all)))))
11168 ;; NOTE: (Sharlatan-20210129T134529+0000): ECL package `ext' has no
11169 ;; exported macro `without-interrupts' it's moved to `mp' package
11170 ;; https://github.com/Shirakumo/cl-out123/issues/2
11171 ;; https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/mp.lsp
11172 (add-after 'unpack 'fix-ecl-package-name
11173 (lambda _
11174 (substitute* "wrapper.lisp"
11175 (("ext:without-interrupts.*") "mp:without-interrupts\n"))
11176 #t)))))
11177 (inputs
11178 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11179 ("cffi" ,sbcl-cffi)
11180 ("documentation-utils" ,sbcl-documentation-utils)
11181 ("libout123" ,mpg123)
11182 ("trivial-features" ,sbcl-trivial-features)
11183 ("trivial-garbage" ,sbcl-trivial-garbage)))
11184 (home-page "https://shirakumo.github.io/cl-out123/")
11185 (synopsis "Common Lisp bindings to libout123")
11186 (description
11187 "This is a bindings library to @code{libout123} which allows easy
11188 cross-platform audio playback.")
11189 (license license:zlib))))
11190
11191 (define-public ecl-cl-out123
11192 (sbcl-package->ecl-package sbcl-cl-out123))
11193
11194 (define-public cl-out123
11195 (sbcl-package->cl-source-package sbcl-cl-out123))
11196
11197 (define-public sbcl-cl-random-forest
11198 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
11199 (revision "1"))
11200 (package
11201 (name "sbcl-cl-random-forest")
11202 (version (git-version "0.1" revision commit))
11203 (source
11204 (origin
11205 (method git-fetch)
11206 (uri (git-reference
11207 (url "https://github.com/masatoi/cl-random-forest")
11208 (commit commit)))
11209 (file-name (git-file-name name version))
11210 (sha256
11211 (base32
11212 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
11213 (build-system asdf-build-system/sbcl)
11214 (native-inputs
11215 `(("prove" ,sbcl-prove)
11216 ("trivial-garbage" ,sbcl-trivial-garbage)))
11217 (inputs
11218 `(("alexandria" ,sbcl-alexandria)
11219 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
11220 ("cl-online-learning" ,sbcl-cl-online-learning)
11221 ("lparallel" ,sbcl-lparallel)))
11222 (arguments
11223 `(#:tests? #f)) ; The tests download data from the Internet
11224 (synopsis "Random Forest and Global Refinement for Common Lisp")
11225 (description
11226 "CL-random-forest is an implementation of Random Forest for multiclass
11227 classification and univariate regression written in Common Lisp. It also
11228 includes an implementation of Global Refinement of Random Forest.")
11229 (home-page "https://github.com/masatoi/cl-random-forest")
11230 (license license:expat))))
11231
11232 (define-public cl-random-forest
11233 (sbcl-package->cl-source-package sbcl-cl-random-forest))
11234
11235 (define-public ecl-cl-random-forest
11236 (sbcl-package->ecl-package sbcl-cl-random-forest))
11237
11238 (define-public sbcl-bordeaux-fft
11239 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
11240 (revision "0"))
11241 (package
11242 (name "sbcl-bordeaux-fft")
11243 (version (git-version "1.0.1" revision commit))
11244 (source
11245 (origin
11246 (method git-fetch)
11247 (uri (git-reference
11248 (url "https://github.com/ahefner/bordeaux-fft")
11249 (commit commit)))
11250 (file-name (git-file-name name version))
11251 (sha256
11252 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
11253 (build-system asdf-build-system/sbcl)
11254 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
11255 (synopsis "Fast Fourier Transform for Common Lisp")
11256 (description
11257 "The Bordeaux-FFT library provides a reasonably efficient implementation
11258 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
11259 portable Common Lisp.")
11260 (license license:gpl2+))))
11261
11262 (define-public cl-bordeaux-fft
11263 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
11264
11265 (define-public ecl-bordeaux-fft
11266 (sbcl-package->ecl-package sbcl-bordeaux-fft))
11267
11268 (define-public sbcl-napa-fft3
11269 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
11270 (revision "0"))
11271 (package
11272 (name "sbcl-napa-fft3")
11273 (version (git-version "0.0.1" revision commit))
11274 (source
11275 (origin
11276 (method git-fetch)
11277 (uri (git-reference
11278 (url "https://github.com/pkhuong/Napa-FFT3")
11279 (commit commit)))
11280 (file-name (git-file-name name version))
11281 (sha256
11282 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
11283 (build-system asdf-build-system/sbcl)
11284 (home-page "https://github.com/pkhuong/Napa-FFT3")
11285 (synopsis "Fast Fourier Transform routines in Common Lisp")
11286 (description
11287 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
11288 buildings blocks to express common operations that involve DFTs: filtering,
11289 convolutions, etc.")
11290 (license license:bsd-3))))
11291
11292 (define-public cl-napa-fft3
11293 (sbcl-package->cl-source-package sbcl-napa-fft3))
11294
11295 (define-public sbcl-cl-tga
11296 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
11297 (revision "0"))
11298 (package
11299 (name "sbcl-cl-tga")
11300 (version (git-version "0.0.0" revision commit))
11301 (source
11302 (origin
11303 (method git-fetch)
11304 (uri (git-reference
11305 (url "https://github.com/fisxoj/cl-tga")
11306 (commit commit)))
11307 (file-name (git-file-name name version))
11308 (sha256
11309 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
11310 (build-system asdf-build-system/sbcl)
11311 (home-page "https://github.com/fisxoj/cl-tga")
11312 (synopsis "TGA file loader for Common Lisp")
11313 (description
11314 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
11315 programs. It's a very simple library, and, at the moment, only supports
11316 non-RLE encoded forms of the files.")
11317 (license license:expat))))
11318
11319 (define-public cl-tga
11320 (sbcl-package->cl-source-package sbcl-cl-tga))
11321
11322 (define-public ecl-cl-tga
11323 (sbcl-package->ecl-package sbcl-cl-tga))
11324
11325 (define-public sbcl-com.gigamonkeys.binary-data
11326 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
11327 (revision "0"))
11328 (package
11329 (name "sbcl-com.gigamonkeys.binary-data")
11330 (version (git-version "0.0.0" revision commit))
11331 (source
11332 (origin
11333 (method git-fetch)
11334 (uri (git-reference
11335 (url "https://github.com/gigamonkey/monkeylib-binary-data")
11336 (commit commit)))
11337 (file-name (git-file-name name version))
11338 (sha256
11339 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
11340 (build-system asdf-build-system/sbcl)
11341 (inputs
11342 `(("alexandria" ,sbcl-alexandria)))
11343 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
11344 (synopsis "Common Lisp library for reading and writing binary data")
11345 (description
11346 "This a Common Lisp library for reading and writing binary data. It is
11347 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
11348 (license license:bsd-3))))
11349
11350 (define-public cl-com.gigamonkeys.binary-data
11351 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
11352
11353 (define-public ecl-com.gigamonkeys.binary-data
11354 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
11355
11356 (define-public sbcl-deflate
11357 (package
11358 (name "sbcl-deflate")
11359 (version "1.0.3")
11360 (source
11361 (origin
11362 (method git-fetch)
11363 (uri (git-reference
11364 (url "https://github.com/pmai/Deflate")
11365 (commit (string-append "release-" version))))
11366 (file-name (git-file-name name version))
11367 (sha256
11368 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
11369 (build-system asdf-build-system/sbcl)
11370 (home-page "https://github.com/pmai/Deflate")
11371 (synopsis "Native deflate decompression for Common Lisp")
11372 (description
11373 "This library is an implementation of Deflate (RFC 1951) decompression,
11374 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
11375 wrappers of deflate streams. It currently does not handle compression.")
11376 (license license:expat)))
11377
11378 (define-public cl-deflate
11379 (sbcl-package->cl-source-package sbcl-deflate))
11380
11381 (define-public ecl-deflate
11382 (sbcl-package->ecl-package sbcl-deflate))
11383
11384 (define-public sbcl-skippy
11385 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
11386 (revision "0"))
11387 (package
11388 (name "sbcl-skippy")
11389 (version (git-version "1.3.12" revision commit))
11390 (source
11391 (origin
11392 (method git-fetch)
11393 (uri (git-reference
11394 (url "https://github.com/xach/skippy")
11395 (commit commit)))
11396 (file-name (git-file-name name version))
11397 (sha256
11398 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
11399 (build-system asdf-build-system/sbcl)
11400 (home-page "https://xach.com/lisp/skippy/")
11401 (synopsis "Common Lisp library for GIF images")
11402 (description
11403 "Skippy is a Common Lisp library to read and write GIF image files.")
11404 (license license:bsd-2))))
11405
11406 (define-public cl-skippy
11407 (sbcl-package->cl-source-package sbcl-skippy))
11408
11409 (define-public ecl-skippy
11410 (sbcl-package->ecl-package sbcl-skippy))
11411
11412 (define-public sbcl-cl-freetype2
11413 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
11414 (revision "0"))
11415 (package
11416 (name "sbcl-cl-freetype2")
11417 (version (git-version "1.1" revision commit))
11418 (source
11419 (origin
11420 (method git-fetch)
11421 (uri (git-reference
11422 (url "https://github.com/rpav/cl-freetype2")
11423 (commit commit)))
11424 (file-name (git-file-name name version))
11425 (sha256
11426 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
11427 (build-system asdf-build-system/sbcl)
11428 (native-inputs
11429 `(("fiveam" ,sbcl-fiveam)))
11430 (inputs
11431 `(("alexandria" ,sbcl-alexandria)
11432 ("cffi" ,sbcl-cffi)
11433 ("freetype" ,freetype)
11434 ("trivial-garbage" ,sbcl-trivial-garbage)))
11435 (arguments
11436 `(#:phases
11437 (modify-phases %standard-phases
11438 (add-after 'unpack 'fix-paths
11439 (lambda* (#:key inputs #:allow-other-keys)
11440 (substitute* "src/ffi/ft2-lib.lisp"
11441 (("\"libfreetype\"")
11442 (string-append "\"" (assoc-ref inputs "freetype")
11443 "/lib/libfreetype\"")))
11444 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
11445 (("-I/usr/include/freetype")
11446 (string-append "-I" (assoc-ref inputs "freetype")
11447 "/include/freetype")))
11448 #t)))))
11449 (home-page "https://github.com/rpav/cl-freetype2")
11450 (synopsis "Common Lisp bindings for Freetype 2")
11451 (description
11452 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
11453 geared toward both using Freetype directly by providing a simplified API, as
11454 well as providing access to the underlying C structures and functions for use
11455 with other libraries which may also use Freetype.")
11456 (license license:bsd-3))))
11457
11458 (define-public cl-freetype2
11459 (sbcl-package->cl-source-package sbcl-cl-freetype2))
11460
11461 (define-public ecl-cl-freetype2
11462 (sbcl-package->ecl-package sbcl-cl-freetype2))
11463
11464 (define-public sbcl-opticl-core
11465 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
11466 (revision "0"))
11467 (package
11468 (name "sbcl-opticl-core")
11469 (version (git-version "0.0.0" revision commit))
11470 (source
11471 (origin
11472 (method git-fetch)
11473 (uri (git-reference
11474 (url "https://github.com/slyrus/opticl-core")
11475 (commit commit)))
11476 (file-name (git-file-name name version))
11477 (sha256
11478 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
11479 (build-system asdf-build-system/sbcl)
11480 (inputs
11481 `(("alexandria" ,sbcl-alexandria)))
11482 (home-page "https://github.com/slyrus/opticl-core")
11483 (synopsis "Core classes and pixel access macros for Opticl")
11484 (description
11485 "This Common Lisp library contains the core classes and pixel access
11486 macros for the Opticl image processing library.")
11487 (license license:bsd-2))))
11488
11489 (define-public cl-opticl-core
11490 (sbcl-package->cl-source-package sbcl-opticl-core))
11491
11492 (define-public ecl-opticl-core
11493 (sbcl-package->ecl-package sbcl-opticl-core))
11494
11495 (define-public sbcl-retrospectiff
11496 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
11497 (revision "0"))
11498 (package
11499 (name "sbcl-retrospectiff")
11500 (version (git-version "0.2" revision commit))
11501 (source
11502 (origin
11503 (method git-fetch)
11504 (uri (git-reference
11505 (url "https://github.com/slyrus/retrospectiff")
11506 (commit commit)))
11507 (file-name (git-file-name name version))
11508 (sha256
11509 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
11510 (build-system asdf-build-system/sbcl)
11511 (native-inputs
11512 `(("fiveam" ,sbcl-fiveam)))
11513 (inputs
11514 `(("cl-jpeg" ,sbcl-cl-jpeg)
11515 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
11516 ("deflate" ,sbcl-deflate)
11517 ("flexi-streams" ,sbcl-flexi-streams)
11518 ("ieee-floats" ,sbcl-ieee-floats)
11519 ("opticl-core" ,sbcl-opticl-core)))
11520 (home-page "https://github.com/slyrus/retrospectiff")
11521 (synopsis "Common Lisp library for TIFF images")
11522 (description
11523 "Retrospectiff is a common lisp library for reading and writing images
11524 in the TIFF (Tagged Image File Format) format.")
11525 (license license:bsd-2))))
11526
11527 (define-public cl-retrospectif
11528 (sbcl-package->cl-source-package sbcl-retrospectiff))
11529
11530 (define-public ecl-retrospectiff
11531 (sbcl-package->ecl-package sbcl-retrospectiff))
11532
11533 (define-public sbcl-mmap
11534 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
11535 (revision "0"))
11536 (package
11537 (name "sbcl-mmap")
11538 (version (git-version "1.0.0" revision commit))
11539 (source
11540 (origin
11541 (method git-fetch)
11542 (uri (git-reference
11543 (url "https://github.com/Shinmera/mmap")
11544 (commit commit)))
11545 (file-name (git-file-name name version))
11546 (sha256
11547 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
11548 (build-system asdf-build-system/sbcl)
11549 (native-inputs
11550 `(("alexandria" ,sbcl-alexandria)
11551 ("cffi" ,sbcl-cffi)
11552 ("parachute" ,sbcl-parachute)
11553 ("trivial-features" ,sbcl-trivial-features)))
11554 (inputs
11555 `(("cffi" ,sbcl-cffi)
11556 ("documentation-utils" ,sbcl-documentation-utils)))
11557 (home-page "https://shinmera.github.io/mmap/")
11558 (synopsis "File memory mapping for Common Lisp")
11559 (description
11560 "This is a utility library providing access to the @emph{mmap} family of
11561 functions in a portable way. It allows you to directly map a file into the
11562 address space of your process without having to manually read it into memory
11563 sequentially. Typically this is much more efficient for files that are larger
11564 than a few Kb.")
11565 (license license:zlib))))
11566
11567 (define-public cl-mmap
11568 (sbcl-package->cl-source-package sbcl-mmap))
11569
11570 (define-public ecl-mmap
11571 (sbcl-package->ecl-package sbcl-mmap))
11572
11573 (define-public sbcl-3bz
11574 (let ((commit "569614c40408f3aefc77ba233e0e4bd66d3850ad")
11575 (revision "1"))
11576 (package
11577 (name "sbcl-3bz")
11578 (version (git-version "0.0.0" revision commit))
11579 (source
11580 (origin
11581 (method git-fetch)
11582 (uri (git-reference
11583 (url "https://github.com/3b/3bz")
11584 (commit commit)))
11585 (file-name (git-file-name name version))
11586 (sha256
11587 (base32 "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4"))))
11588 (build-system asdf-build-system/sbcl)
11589 (inputs
11590 `(("alexandria" ,sbcl-alexandria)
11591 ("babel" ,sbcl-babel)
11592 ("cffi" ,sbcl-cffi)
11593 ("mmap" ,sbcl-mmap)
11594 ("nibbles" ,sbcl-nibbles)
11595 ("trivial-features" ,sbcl-trivial-features)))
11596 (arguments
11597 ;; FIXME: #41437 - Build fails when package name starts from a digit
11598 `(#:asd-systems '("3bz")))
11599 (home-page "https://github.com/3b/3bz")
11600 (synopsis "Deflate decompression for Common Lisp")
11601 (description
11602 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
11603 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
11604 foreign pointers (for use with mmap and similar, etc), and from CL octet
11605 vectors and streams.")
11606 (license license:expat))))
11607
11608 (define-public cl-3bz
11609 (sbcl-package->cl-source-package sbcl-3bz))
11610
11611 (define-public ecl-3bz
11612 (sbcl-package->ecl-package sbcl-3bz))
11613
11614 (define-public sbcl-zpb-exif
11615 (package
11616 (name "sbcl-zpb-exif")
11617 (version "1.2.4")
11618 (source
11619 (origin
11620 (method git-fetch)
11621 (uri (git-reference
11622 (url "https://github.com/xach/zpb-exif")
11623 (commit (string-append "release-" version))))
11624 (file-name (git-file-name name version))
11625 (sha256
11626 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
11627 (build-system asdf-build-system/sbcl)
11628 (home-page "https://xach.com/lisp/zpb-exif/")
11629 (synopsis "EXIF information extractor for Common Lisp")
11630 (description
11631 "This is a Common Lisp library to extract EXIF information from image
11632 files.")
11633 (license license:bsd-2)))
11634
11635 (define-public cl-zpb-exif
11636 (sbcl-package->cl-source-package sbcl-zpb-exif))
11637
11638 (define-public ecl-zpb-exif
11639 (sbcl-package->ecl-package sbcl-zpb-exif))
11640
11641 (define-public sbcl-pngload
11642 (let ((commit "91f1d703c65bb6a94d6fee06ddbbbbbc5778b71f")
11643 (revision "2"))
11644 (package
11645 (name "sbcl-pngload")
11646 (version (git-version "2.0.0" revision commit))
11647 (source
11648 (origin
11649 (method git-fetch)
11650 (uri (git-reference
11651 (url "https://git.mfiano.net/mfiano/pngload.git")
11652 (commit commit)))
11653 (file-name (git-file-name "pngload" version))
11654 (sha256
11655 (base32 "0s94fdbrbqj12qvgyn2g4lfwvz7qhhzbclrpz5ni7adwxgrmvxl1"))))
11656 (build-system asdf-build-system/sbcl)
11657 (inputs
11658 `(("3bz" ,sbcl-3bz)
11659 ("alexandria" ,sbcl-alexandria)
11660 ("cffi" ,sbcl-cffi)
11661 ("mmap" ,sbcl-mmap)
11662 ("parse-float" ,sbcl-parse-float)
11663 ("static-vectors" ,sbcl-static-vectors)
11664 ("swap-bytes" ,sbcl-swap-bytes)
11665 ("zpb-exif" ,sbcl-zpb-exif)))
11666 (arguments
11667 ;; Test suite disabled because of a dependency cycle.
11668 ;; pngload tests depend on opticl which depends on pngload.
11669 '(#:tests? #f))
11670 (home-page "https://git.mfiano.net/mfiano/pngload.git")
11671 (synopsis "PNG image decoder for Common Lisp")
11672 (description
11673 "This is a Common Lisp library to load images in the PNG image format,
11674 both from files on disk, or streams in memory.")
11675 (license license:expat))))
11676
11677 (define-public cl-pngload
11678 (sbcl-package->cl-source-package sbcl-pngload))
11679
11680 (define-public ecl-pngload
11681 (sbcl-package->ecl-package sbcl-pngload))
11682
11683 (define-public sbcl-opticl
11684 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
11685 (revision "0"))
11686 (package
11687 (name "sbcl-opticl")
11688 (version (git-version "0.0.0" revision commit))
11689 (source
11690 (origin
11691 (method git-fetch)
11692 (uri (git-reference
11693 (url "https://github.com/slyrus/opticl")
11694 (commit commit)))
11695 (file-name (git-file-name name version))
11696 (sha256
11697 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
11698 (build-system asdf-build-system/sbcl)
11699 (native-inputs
11700 `(("fiveam" ,sbcl-fiveam)))
11701 (inputs
11702 `(("alexandria" ,sbcl-alexandria)
11703 ("cl-jpeg" ,sbcl-cl-jpeg)
11704 ("cl-tga" ,sbcl-cl-tga)
11705 ("png-read" ,sbcl-png-read)
11706 ("pngload" ,sbcl-pngload)
11707 ("retrospectiff" ,sbcl-retrospectiff)
11708 ("skippy" ,sbcl-skippy)
11709 ("zpng" ,sbcl-zpng)))
11710 (arguments
11711 '(#:asd-files '("opticl.asd")))
11712 (home-page "https://github.com/slyrus/opticl")
11713 (synopsis "Image processing library for Common Lisp")
11714 (description
11715 "Opticl is a Common Lisp library for representing, processing, loading,
11716 and saving 2-dimensional pixel-based images.")
11717 (license license:bsd-2))))
11718
11719 (define-public cl-opticl
11720 (sbcl-package->cl-source-package sbcl-opticl))
11721
11722 (define-public ecl-opticl
11723 (sbcl-package->ecl-package sbcl-opticl))
11724
11725 (define-public sbcl-mcclim
11726 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
11727 (revision "1"))
11728 (package
11729 (name "sbcl-mcclim")
11730 (version (git-version "0.9.7" revision commit))
11731 (source
11732 (origin
11733 (method git-fetch)
11734 (uri (git-reference
11735 (url "https://github.com/mcclim/mcclim")
11736 (commit commit)))
11737 (file-name (git-file-name name version))
11738 (sha256
11739 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
11740 (build-system asdf-build-system/sbcl)
11741 (native-inputs
11742 `(("fiveam" ,sbcl-fiveam)
11743 ("pkg-config" ,pkg-config)))
11744 (inputs
11745 `(("alexandria" ,sbcl-alexandria)
11746 ("babel" ,sbcl-babel)
11747 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11748 ("cl-freetype2" ,sbcl-cl-freetype2)
11749 ("cl-pdf" ,sbcl-cl-pdf)
11750 ("cffi" ,sbcl-cffi)
11751 ("cl-unicode" ,sbcl-cl-unicode)
11752 ("cl-vectors" ,sbcl-cl-vectors)
11753 ("closer-mop" ,sbcl-closer-mop)
11754 ("clx" ,sbcl-clx)
11755 ("flexi-streams" ,sbcl-flexi-streams)
11756 ("flexichain" ,sbcl-flexichain)
11757 ("font-dejavu" ,font-dejavu)
11758 ("fontconfig" ,fontconfig)
11759 ("freetype" ,freetype)
11760 ("harfbuzz" ,harfbuzz)
11761 ("log4cl" ,sbcl-log4cl)
11762 ("opticl" ,sbcl-opticl)
11763 ("spatial-trees" ,sbcl-spatial-trees)
11764 ("swank" ,sbcl-slime-swank)
11765 ("trivial-features" ,sbcl-trivial-features)
11766 ("trivial-garbage" ,sbcl-trivial-garbage)
11767 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
11768 ("zpb-ttf" ,sbcl-zpb-ttf)))
11769 (arguments
11770 '(#:asd-systems '("mcclim"
11771 "clim-examples")
11772 #:phases
11773 (modify-phases %standard-phases
11774 (add-after 'unpack 'fix-paths
11775 (lambda* (#:key inputs #:allow-other-keys)
11776 ;; mcclim-truetype uses DejaVu as default font and
11777 ;; sets the path at build time.
11778 (substitute* "Extensions/fonts/fontconfig.lisp"
11779 (("/usr/share/fonts/truetype/dejavu/")
11780 (string-append (assoc-ref inputs "font-dejavu")
11781 "/share/fonts/truetype/")))
11782 (substitute* "Extensions/fontconfig/src/functions.lisp"
11783 (("libfontconfig\\.so")
11784 (string-append (assoc-ref inputs "fontconfig")
11785 "/lib/libfontconfig.so")))
11786 (substitute* "Extensions/harfbuzz/src/functions.lisp"
11787 (("libharfbuzz\\.so")
11788 (string-append (assoc-ref inputs "harfbuzz")
11789 "/lib/libharfbuzz.so")))
11790 #t))
11791 (add-after 'unpack 'fix-build
11792 (lambda _
11793 ;; The cffi-grovel system does not get loaded automatically,
11794 ;; so we load it explicitly.
11795 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
11796 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
11797 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11798 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
11799 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
11800 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
11801 #t)))))
11802 (home-page "https://common-lisp.net/project/mcclim/")
11803 (synopsis "Common Lisp GUI toolkit")
11804 (description
11805 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
11806 specification}, a toolkit for writing GUIs in Common Lisp.")
11807 (license license:lgpl2.1+))))
11808
11809 (define-public cl-mcclim
11810 (sbcl-package->cl-source-package sbcl-mcclim))
11811
11812 (define-public ecl-mcclim
11813 (sbcl-package->ecl-package sbcl-mcclim))
11814
11815 (define-public sbcl-cl-inflector
11816 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
11817 (revision "1"))
11818 (package
11819 (name "sbcl-cl-inflector")
11820 (version (git-version "0.2" revision commit))
11821 (source
11822 (origin
11823 (method git-fetch)
11824 (uri (git-reference
11825 (url "https://github.com/AccelerationNet/cl-inflector")
11826 (commit commit)))
11827 (file-name (git-file-name name version))
11828 (sha256
11829 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
11830 (build-system asdf-build-system/sbcl)
11831 (native-inputs
11832 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11833 (inputs
11834 `(("alexandria" ,sbcl-alexandria)
11835 ("cl-ppcre" ,sbcl-cl-ppcre)))
11836 (home-page "https://github.com/AccelerationNet/cl-inflector")
11837 (synopsis "Library to pluralize/singularize English and Portuguese words")
11838 (description
11839 "This is a common lisp library to easily pluralize and singularize
11840 English and Portuguese words. This is a port of the ruby ActiveSupport
11841 Inflector module.")
11842 (license license:expat))))
11843
11844 (define-public cl-inflector
11845 (sbcl-package->cl-source-package sbcl-cl-inflector))
11846
11847 (define-public ecl-cl-inflector
11848 (sbcl-package->ecl-package sbcl-cl-inflector))
11849
11850 (define-public sbcl-ixf
11851 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
11852 (revision "1"))
11853 (package
11854 (name "sbcl-ixf")
11855 (version (git-version "0.1.0" revision commit))
11856 (source
11857 (origin
11858 (method git-fetch)
11859 (uri (git-reference
11860 (url "https://github.com/dimitri/cl-ixf")
11861 (commit commit)))
11862 (file-name (git-file-name "cl-ixf" version))
11863 (sha256
11864 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
11865 (build-system asdf-build-system/sbcl)
11866 (inputs
11867 `(("alexandria" ,sbcl-alexandria)
11868 ("babel" ,sbcl-babel)
11869 ("cl-ppcre" ,sbcl-cl-ppcre)
11870 ("ieee-floats" ,sbcl-ieee-floats)
11871 ("local-time" ,sbcl-local-time)
11872 ("md5" ,sbcl-md5)
11873 ("split-sequence" ,sbcl-split-sequence)))
11874 (home-page "https://github.com/dimitri/cl-ixf")
11875 (synopsis "Parse IBM IXF file format")
11876 (description
11877 "This is a Common Lisp library to handle the IBM PC version of the IXF
11878 (Integration Exchange Format) file format.")
11879 (license license:public-domain))))
11880
11881 (define-public ecl-ixf
11882 (sbcl-package->ecl-package sbcl-ixf))
11883
11884 (define-public cl-ixf
11885 (sbcl-package->cl-source-package sbcl-ixf))
11886
11887 (define-public sbcl-qbase64
11888 (package
11889 (name "sbcl-qbase64")
11890 (version "0.3.0")
11891 (source
11892 (origin
11893 (method git-fetch)
11894 (uri (git-reference
11895 (url "https://github.com/chaitanyagupta/qbase64")
11896 (commit version)))
11897 (file-name (git-file-name name version))
11898 (sha256
11899 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11900 (build-system asdf-build-system/sbcl)
11901 (inputs
11902 `(("metabang-bind" ,sbcl-metabang-bind)
11903 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11904 (native-inputs
11905 `(("fiveam" ,sbcl-fiveam)))
11906 (home-page "https://github.com/chaitanyagupta/qbase64")
11907 (synopsis "Base64 encoder and decoder for Common Lisp")
11908 (description "@code{qbase64} provides a fast and flexible base64 encoder
11909 and decoder for Common Lisp.")
11910 (license license:bsd-3)))
11911
11912 (define-public cl-qbase64
11913 (sbcl-package->cl-source-package sbcl-qbase64))
11914
11915 (define-public ecl-qbase64
11916 (sbcl-package->ecl-package sbcl-qbase64))
11917
11918 (define-public sbcl-lw-compat
11919 ;; No release since 2013.
11920 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11921 (package
11922 (name "sbcl-lw-compat")
11923 (version (git-version "1.0.0" "1" commit))
11924 (source
11925 (origin
11926 (method git-fetch)
11927 (uri (git-reference
11928 (url "https://github.com/pcostanza/lw-compat/")
11929 (commit commit)))
11930 (file-name (git-file-name name version))
11931 (sha256
11932 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11933 (build-system asdf-build-system/sbcl)
11934 (home-page "https://github.com/pcostanza/lw-compat/")
11935 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11936 (description "This package contains a few utility functions from the
11937 LispWorks library that are used in software such as ContextL.")
11938 (license license:expat))))
11939
11940 (define-public cl-lw-compat
11941 (sbcl-package->cl-source-package sbcl-lw-compat))
11942
11943 (define-public ecl-lw-compat
11944 (sbcl-package->ecl-package sbcl-lw-compat))
11945
11946 (define-public sbcl-contextl
11947 ;; No release since 2013.
11948 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11949 (package
11950 (name "sbcl-contextl")
11951 (version (git-version "1.0.0" "1" commit))
11952 (source
11953 (origin
11954 (method git-fetch)
11955 (uri (git-reference
11956 (url "https://github.com/pcostanza/contextl/")
11957 (commit commit)))
11958 (file-name (git-file-name name version))
11959 (sha256
11960 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11961 (build-system asdf-build-system/sbcl)
11962 (inputs
11963 `(("closer-mop" ,sbcl-closer-mop)
11964 ("lw-compat" ,sbcl-lw-compat)))
11965 (home-page "https://github.com/pcostanza/contextl")
11966 (synopsis "Context-oriented programming for Common Lisp")
11967 (description "ContextL is a CLOS extension for Context-Oriented
11968 Programming (COP).
11969
11970 Find overview of ContextL's features in an overview paper:
11971 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11972 overview article about COP which also contains some ContextL examples:
11973 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11974 (license license:expat))))
11975
11976 (define-public cl-contextl
11977 (sbcl-package->cl-source-package sbcl-contextl))
11978
11979 (define-public ecl-contextl
11980 (sbcl-package->ecl-package sbcl-contextl))
11981
11982 (define-public sbcl-hu.dwim.common-lisp
11983 (let ((commit "90558195773383142a57a16687d5e7f4adea6418"))
11984 (package
11985 (name "sbcl-hu.dwim.common-lisp")
11986 (version "2021-01-27")
11987 (source
11988 (origin
11989 (method git-fetch)
11990 (uri (git-reference
11991 (url "https://github.com/hu-dwim/hu.dwim.common-lisp/")
11992 (commit commit)))
11993 (file-name (git-file-name name version))
11994 (sha256
11995 (base32 "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk"))))
11996 (build-system asdf-build-system/sbcl)
11997 (native-inputs
11998 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11999 (home-page "http://dwim.hu/project/hu.dwim.common-lisp")
12000 (synopsis "Redefine some standard Common Lisp names")
12001 (description "This library is a redefinition of the standard Common Lisp
12002 package that includes a number of renames and shadows. ")
12003 (license license:public-domain))))
12004
12005 (define-public cl-hu.dwim.common-lisp
12006 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
12007
12008 (define-public ecl-hu.dwim.common-lisp
12009 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
12010
12011 (define-public sbcl-hu.dwim.common
12012 (package
12013 (name "sbcl-hu.dwim.common")
12014 (version "2015-07-09")
12015 (source
12016 (origin
12017 (method url-fetch)
12018 (uri (string-append
12019 "http://beta.quicklisp.org/archive/hu.dwim.common/"
12020 version "/hu.dwim.common-"
12021 (string-replace-substring version "-" "")
12022 "-darcs.tgz"))
12023 (sha256
12024 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
12025 (build-system asdf-build-system/sbcl)
12026 (native-inputs
12027 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12028 (inputs
12029 `(("alexandria" ,sbcl-alexandria)
12030 ("anaphora" ,sbcl-anaphora)
12031 ("closer-mop" ,sbcl-closer-mop)
12032 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
12033 ("iterate" ,sbcl-iterate)
12034 ("metabang-bind" ,sbcl-metabang-bind)))
12035 (home-page "http://dwim.hu/")
12036 (synopsis "Common Lisp library shared by other hu.dwim systems")
12037 (description "This package contains a support library for other
12038 hu.dwim systems.")
12039 (license license:public-domain)))
12040
12041 (define-public cl-hu.dwim.common
12042 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
12043
12044 (define-public ecl-hu.dwim.common
12045 (sbcl-package->ecl-package sbcl-hu.dwim.common))
12046
12047 (define-public sbcl-hu.dwim.defclass-star
12048 (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61"))
12049 (package
12050 (name "sbcl-hu.dwim.defclass-star")
12051 ;; We used to set version from the date when it was a darcs repo, so we
12052 ;; keep the year so that package gets updated on previous installs.
12053 (version (git-version "2021" "1" commit))
12054 (source
12055 (origin
12056 (method git-fetch)
12057 (uri (git-reference
12058 (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
12059 (commit commit)))
12060 (file-name (git-file-name name version))
12061 (sha256
12062 (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq"))))
12063 (build-system asdf-build-system/sbcl)
12064 (native-inputs
12065 `( ;; These 2 inputs are only needed tests which are disabled, see below.
12066 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
12067 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
12068 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
12069 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
12070 (arguments
12071 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
12072 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
12073 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
12074 #:tests? #f))
12075 (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
12076 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
12077 (description "@code{defclass-star} provides defclass* and defcondition* to
12078 simplify class and condition declarations. Features include:
12079
12080 @itemize
12081 @item Automatically export all or select slots at compile time.
12082 @item Define the @code{:initarg} and @code{:accessor} automatically.
12083 @item Specify a name transformer for both the @code{:initarg} and
12084 @code{:accessor}, etc.
12085 @item Specify the @code{:initform} as second slot value.
12086 @end itemize
12087
12088 See
12089 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
12090 for an example.")
12091 (license license:public-domain))))
12092
12093 (define-public cl-hu.dwim.defclass-star
12094 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
12095
12096 (define-public ecl-hu.dwim.defclass-star
12097 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
12098
12099 (define-public sbcl-livesupport
12100 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
12101 (revision "1"))
12102 (package
12103 (name "sbcl-livesupport")
12104 (version (git-version "0.0.0" revision commit))
12105 (source
12106 (origin
12107 (method git-fetch)
12108 (uri (git-reference
12109 (url "https://github.com/cbaggers/livesupport")
12110 (commit commit)))
12111 (file-name (git-file-name name version))
12112 (sha256
12113 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
12114 (build-system asdf-build-system/sbcl)
12115 (home-page "https://github.com/cbaggers/livesupport")
12116 (synopsis "Some helpers that make livecoding a little easier")
12117 (description "This package provides a macro commonly used in livecoding to
12118 enable continuing when errors are raised. Simply wrap around a chunk of code
12119 and it provides a restart called @code{continue} which ignores the error and
12120 carrys on from the end of the body.")
12121 (license license:bsd-2))))
12122
12123 (define-public cl-livesupport
12124 (sbcl-package->cl-source-package sbcl-livesupport))
12125
12126 (define-public ecl-livesupport
12127 (sbcl-package->ecl-package sbcl-livesupport))
12128
12129 (define-public sbcl-envy
12130 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
12131 (revision "1"))
12132 (package
12133 (name "sbcl-envy")
12134 (version (git-version "0.1" revision commit))
12135 (home-page "https://github.com/fukamachi/envy")
12136 (source
12137 (origin
12138 (method git-fetch)
12139 (uri (git-reference
12140 (url home-page)
12141 (commit commit)))
12142 (file-name (git-file-name name version))
12143 (sha256
12144 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
12145 (build-system asdf-build-system/sbcl)
12146 ;; (native-inputs ; Only for tests.
12147 ;; `(("prove" ,sbcl-prove)
12148 ;; ("osicat" ,sbcl-osicat)))
12149 (arguments
12150 '(#:phases
12151 (modify-phases %standard-phases
12152 (add-after 'unpack 'fix-tests
12153 (lambda _
12154 (substitute* "envy-test.asd"
12155 (("cl-test-more") "prove"))
12156 #t)))
12157 ;; Tests fail with
12158 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
12159 ;; like xsubseq. Why?
12160 #:tests? #f))
12161 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
12162 (description "Envy is a configuration manager for various applications.
12163 Envy uses an environment variable to determine a configuration to use. This
12164 can separate configuration system from an implementation.")
12165 (license license:bsd-2))))
12166
12167 (define-public cl-envy
12168 (sbcl-package->cl-source-package sbcl-envy))
12169
12170 (define-public ecl-envy
12171 (sbcl-package->ecl-package sbcl-envy))
12172
12173 (define-public sbcl-mito
12174 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
12175 (revision "1"))
12176 (package
12177 (name "sbcl-mito")
12178 (version (git-version "0.1" revision commit))
12179 (home-page "https://github.com/fukamachi/mito")
12180 (source
12181 (origin
12182 (method git-fetch)
12183 (uri (git-reference
12184 (url home-page)
12185 (commit commit)))
12186 (file-name (git-file-name name version))
12187 (sha256
12188 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
12189 (build-system asdf-build-system/sbcl)
12190 (native-inputs
12191 `(("prove" ,sbcl-prove)))
12192 (inputs
12193 `(("alexandria" ,sbcl-alexandria)
12194 ("cl-ppcre" ,sbcl-cl-ppcre)
12195 ("cl-reexport" ,sbcl-cl-reexport)
12196 ("closer-mop" ,sbcl-closer-mop)
12197 ("dbi" ,sbcl-dbi)
12198 ("dissect" ,sbcl-dissect)
12199 ("esrap" ,sbcl-esrap)
12200 ("local-time" ,sbcl-local-time)
12201 ("optima" ,sbcl-optima)
12202 ("sxql" ,sbcl-sxql)
12203 ("uuid" ,sbcl-uuid)))
12204 (arguments
12205 '(#:phases
12206 (modify-phases %standard-phases
12207 (add-after 'unpack 'remove-non-functional-tests
12208 (lambda _
12209 (substitute* "mito-test.asd"
12210 (("\\(:test-file \"db/mysql\"\\)") "")
12211 (("\\(:test-file \"db/postgres\"\\)") "")
12212 (("\\(:test-file \"dao\"\\)") "")
12213 ;; TODO: migration/sqlite3 should work, re-enable once
12214 ;; upstream has fixed it:
12215 ;; https://github.com/fukamachi/mito/issues/70
12216 (("\\(:test-file \"migration/sqlite3\"\\)") "")
12217 (("\\(:test-file \"migration/mysql\"\\)") "")
12218 (("\\(:test-file \"migration/postgres\"\\)") "")
12219 (("\\(:test-file \"postgres-types\"\\)") "")
12220 (("\\(:test-file \"mixin\"\\)") ""))
12221 #t)))
12222 ;; TODO: While all enabled tests pass, the phase fails with:
12223 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
12224 #:tests? #f))
12225 (synopsis "ORM for Common Lisp with migrations and relationships support")
12226 (description "Mito is yet another object relational mapper, and it aims
12227 to be a successor of Integral.
12228
12229 @itemize
12230 @item Support MySQL, PostgreSQL and SQLite3.
12231 @item Add id (serial/uuid primary key), created_at and updated_at by default
12232 like Ruby's ActiveRecord.
12233 @item Migrations.
12234 @item Database schema versioning.
12235 @end itemize\n")
12236 (license license:llgpl))))
12237
12238 (define-public cl-mito
12239 (sbcl-package->cl-source-package sbcl-mito))
12240
12241 (define-public ecl-mito
12242 (sbcl-package->ecl-package sbcl-mito))
12243
12244 (define-public sbcl-kebab
12245 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
12246 (revision "1"))
12247 (package
12248 (name "sbcl-kebab")
12249 (version (git-version "0.1" revision commit))
12250 (home-page "https://github.com/pocket7878/kebab")
12251 (source
12252 (origin
12253 (method git-fetch)
12254 (uri (git-reference
12255 (url home-page)
12256 (commit commit)))
12257 (file-name (git-file-name name version))
12258 (sha256
12259 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
12260 (build-system asdf-build-system/sbcl)
12261 (inputs
12262 `(("cl-ppcre" ,sbcl-cl-ppcre)
12263 ("alexandria" ,sbcl-alexandria)
12264 ("cl-interpol" ,sbcl-cl-interpol)
12265 ("split-sequence" ,sbcl-split-sequence)))
12266 (native-inputs
12267 `(("prove" ,sbcl-prove)))
12268 (arguments
12269 ;; Tests passes but the phase fails with
12270 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
12271 `(#:tests? #f))
12272 (synopsis "Common Lisp case converter")
12273 (description "This Common Lisp library converts strings, symbols and
12274 keywords between any of the following typographical cases: PascalCase,
12275 camelCase, snake_case, kebab-case (lisp-case).")
12276 (license license:llgpl))))
12277
12278 (define-public cl-kebab
12279 (sbcl-package->cl-source-package sbcl-kebab))
12280
12281 (define-public ecl-kebab
12282 (sbcl-package->ecl-package sbcl-kebab))
12283
12284 (define-public sbcl-datafly
12285 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
12286 (revision "1"))
12287 (package
12288 (name "sbcl-datafly")
12289 (version (git-version "0.1" revision commit))
12290 (home-page "https://github.com/fukamachi/datafly")
12291 (source
12292 (origin
12293 (method git-fetch)
12294 (uri (git-reference
12295 (url home-page)
12296 (commit commit)))
12297 (file-name (git-file-name name version))
12298 (sha256
12299 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
12300 (build-system asdf-build-system/sbcl)
12301 (inputs
12302 `(("alexandria" ,sbcl-alexandria)
12303 ("iterate" ,sbcl-iterate)
12304 ("optima" ,sbcl-optima)
12305 ("trivial-types" ,sbcl-trivial-types)
12306 ("closer-mop" ,sbcl-closer-mop)
12307 ("cl-syntax" ,sbcl-cl-syntax)
12308 ("sxql" ,sbcl-sxql)
12309 ("dbi" ,sbcl-dbi)
12310 ("babel" ,sbcl-babel)
12311 ("local-time" ,sbcl-local-time)
12312 ("function-cache" ,sbcl-function-cache)
12313 ("jonathan" ,sbcl-jonathan)
12314 ("kebab" ,sbcl-kebab)
12315 ("log4cl" ,sbcl-log4cl)))
12316 (native-inputs
12317 `(("prove" ,sbcl-prove)))
12318 (arguments
12319 ;; TODO: Tests fail with
12320 ;; While evaluating the form starting at line 22, column 0
12321 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
12322 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
12323 ;; {10009F8083}>:
12324 ;; Error when binding parameter 1 to value NIL.
12325 ;; Code RANGE: column index out of range.
12326 `(#:tests? #f))
12327 (synopsis "Lightweight database library for Common Lisp")
12328 (description "Datafly is a lightweight database library for Common Lisp.")
12329 (license license:bsd-3))))
12330
12331 (define-public cl-datafly
12332 (sbcl-package->cl-source-package sbcl-datafly))
12333
12334 (define-public ecl-datafly
12335 (sbcl-package->ecl-package sbcl-datafly))
12336
12337 (define-public sbcl-do-urlencode
12338 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
12339 (revision "1"))
12340 (package
12341 (name "sbcl-do-urlencode")
12342 (version (git-version "0.0.0" revision commit))
12343 (home-page "https://github.com/drdo/do-urlencode")
12344 (source
12345 (origin
12346 (method git-fetch)
12347 (uri (git-reference
12348 (url home-page)
12349 (commit commit)))
12350 (file-name (git-file-name name version))
12351 (sha256
12352 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
12353 (build-system asdf-build-system/sbcl)
12354 (inputs
12355 `(("alexandria" ,sbcl-alexandria)
12356 ("babel" ,sbcl-babel)))
12357 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
12358 (description "This library provides trivial percent encoding and
12359 decoding functions for URLs.")
12360 (license license:isc))))
12361
12362 (define-public cl-do-urlencode
12363 (sbcl-package->cl-source-package sbcl-do-urlencode))
12364
12365 (define-public ecl-do-urlencode
12366 (sbcl-package->ecl-package sbcl-do-urlencode))
12367
12368 (define-public sbcl-cl-emb
12369 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
12370 (revision "1"))
12371 (package
12372 (name "sbcl-cl-emb")
12373 (version (git-version "0.4.3" revision commit))
12374 (home-page "https://common-lisp.net/project/cl-emb/")
12375 (source
12376 (origin
12377 (method git-fetch)
12378 (uri (git-reference
12379 (url "https://github.com/38a938c2/cl-emb")
12380 (commit commit)))
12381 (file-name (git-file-name name version))
12382 (sha256
12383 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
12384 (build-system asdf-build-system/sbcl)
12385 (inputs
12386 `(("cl-ppcre" ,sbcl-cl-ppcre)))
12387 (synopsis "Templating system for Common Lisp")
12388 (description "A mixture of features from eRuby and HTML::Template. You
12389 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
12390 that and not limited to a certain server or text format.")
12391 (license license:llgpl))))
12392
12393 (define-public cl-emb
12394 (sbcl-package->cl-source-package sbcl-cl-emb))
12395
12396 (define-public ecl-cl-emb
12397 (sbcl-package->ecl-package sbcl-cl-emb))
12398
12399 (define-public sbcl-cl-project
12400 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
12401 (revision "1"))
12402 (package
12403 (name "sbcl-cl-project")
12404 (version (git-version "0.3.1" revision commit))
12405 (home-page "https://github.com/fukamachi/cl-project")
12406 (source
12407 (origin
12408 (method git-fetch)
12409 (uri (git-reference
12410 (url home-page)
12411 (commit commit)))
12412 (file-name (git-file-name name version))
12413 (sha256
12414 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
12415 (build-system asdf-build-system/sbcl)
12416 (inputs
12417 `(("cl-emb" ,sbcl-cl-emb)
12418 ("cl-ppcre" ,sbcl-cl-ppcre)
12419 ("local-time" ,sbcl-local-time)
12420 ("prove" ,sbcl-prove)))
12421 (arguments
12422 ;; Tests depend on caveman, which in turns depends on cl-project.
12423 '(#:tests? #f
12424 #:asd-files '("cl-project.asd")))
12425 (synopsis "Generate a skeleton for modern Common Lisp projects")
12426 (description "This library provides a modern project skeleton generator.
12427 In contract with other generators, CL-Project generates one package per file
12428 and encourages unit testing by generating a system for unit testing, so you
12429 can begin writing unit tests as soon as the project is generated.")
12430 (license license:llgpl))))
12431
12432 (define-public cl-project
12433 (sbcl-package->cl-source-package sbcl-cl-project))
12434
12435 (define-public ecl-cl-project
12436 (sbcl-package->ecl-package sbcl-cl-project))
12437
12438 (define-public sbcl-caveman
12439 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
12440 (revision "1"))
12441 (package
12442 (name "sbcl-caveman")
12443 (version (git-version "2.4.0" revision commit))
12444 (home-page "http://8arrow.org/caveman/")
12445 (source
12446 (origin
12447 (method git-fetch)
12448 (uri (git-reference
12449 (url "https://github.com/fukamachi/caveman/")
12450 (commit commit)))
12451 (file-name (git-file-name name version))
12452 (sha256
12453 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
12454 (build-system asdf-build-system/sbcl)
12455 (inputs
12456 `(("ningle" ,cl-ningle)
12457 ("lack" ,sbcl-lack)
12458 ("cl-project" ,sbcl-cl-project)
12459 ("dbi" ,sbcl-dbi)
12460 ("cl-syntax" ,sbcl-cl-syntax)
12461 ("myway" ,sbcl-myway)
12462 ("quri" ,sbcl-quri)))
12463 (native-inputs
12464 `(("usocket" ,sbcl-usocket)
12465 ("dexador" ,sbcl-dexador)))
12466 (arguments
12467 `(#:asd-files '("caveman2.asd")
12468 #:asd-systems '("caveman2")
12469 #:phases
12470 (modify-phases %standard-phases
12471 (add-after 'unpack 'remove-v1
12472 (lambda _
12473 (delete-file-recursively "v1")
12474 (for-each delete-file
12475 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
12476 ;; TODO: Tests fail with:
12477 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
12478 ;; While evaluating the form starting at line 38, column 0
12479 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
12480 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
12481 ;; {10009F8083}>:
12482 ;; Component "myapp573" not found
12483 #:tests? #f))
12484 (synopsis "Lightweight web application framework in Common Lisp")
12485 (description "Caveman is intended to be a collection of common parts for
12486 web applications. Caveman2 has three design goals:
12487
12488 @itemize
12489 @item Be extensible.
12490 @item Be practical.
12491 @item Don't force anything.
12492 @end itemize\n")
12493 (license license:llgpl))))
12494
12495 (define-public cl-caveman
12496 (package
12497 (inherit
12498 (sbcl-package->cl-source-package sbcl-caveman))
12499 (propagated-inputs
12500 `(("ningle" ,cl-ningle)))))
12501
12502 (define-public ecl-caveman
12503 (sbcl-package->ecl-package sbcl-caveman))
12504
12505 (define-public sbcl-lambda-fiddle
12506 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
12507 (revision "1"))
12508 (package
12509 (name "sbcl-lambda-fiddle")
12510 (version (git-version "1.0.0" revision commit))
12511 (source
12512 (origin
12513 (method git-fetch)
12514 (uri (git-reference
12515 (url "https://github.com/Shinmera/lambda-fiddle")
12516 (commit commit)))
12517 (file-name (git-file-name name version))
12518 (sha256
12519 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
12520 (build-system asdf-build-system/sbcl)
12521 (home-page "https://github.com/Shinmera/lambda-fiddle")
12522 (synopsis "Collection of utilities to process lambda-lists")
12523 (description "This collection of utilities is useful in contexts where
12524 you want a macro that uses lambda-lists in some fashion but need more precise
12525 processing.")
12526 (license license:zlib))))
12527
12528 (define-public cl-lambda-fiddle
12529 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
12530
12531 (define-public ecl-lambda-fiddle
12532 (sbcl-package->ecl-package sbcl-lambda-fiddle))
12533
12534 (define-public sbcl-xmls
12535 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
12536 (revision "1"))
12537 (package
12538 (name "sbcl-xmls")
12539 (version (git-version "3.0.2" revision commit))
12540 (source
12541 (origin
12542 (method git-fetch)
12543 (uri (git-reference
12544 (url "https://github.com/rpgoldman/xmls")
12545 (commit commit)))
12546 (file-name (git-file-name name version))
12547 (sha256
12548 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
12549 (native-inputs
12550 `(("fiveam" ,sbcl-fiveam)))
12551 (build-system asdf-build-system/sbcl)
12552 (home-page "https://github.com/rpgoldman/xmls")
12553 (synopsis "Non-validating XML parser for Common Lisp")
12554 (description "Xmls is a self-contained, easily embedded parser that
12555 recognizes a useful subset of the XML spec. It provides a simple mapping from
12556 XML to Lisp structures or s-expressions and back.")
12557 (license license:bsd-2))))
12558
12559 (define-public cl-xmls
12560 (sbcl-package->cl-source-package sbcl-xmls))
12561
12562 (define-public ecl-xmls
12563 (sbcl-package->ecl-package sbcl-xmls))
12564
12565 (define-public sbcl-geco
12566 (package
12567 (name "sbcl-geco")
12568 (version "2.1.1")
12569 (source
12570 (origin
12571 (method git-fetch)
12572 (uri (git-reference
12573 (url "https://github.com/gpwwjr/GECO")
12574 (commit (string-append "v" version))))
12575 (file-name (git-file-name "geco" version))
12576 (sha256
12577 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
12578 (build-system asdf-build-system/sbcl)
12579 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
12580 (synopsis "Genetic algorithm toolkit for Common Lisp")
12581 (description
12582 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
12583 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
12584 (license license:lgpl2.1+)))
12585
12586 (define-public cl-geco
12587 (sbcl-package->cl-source-package sbcl-geco))
12588
12589 (define-public ecl-geco
12590 (sbcl-package->ecl-package sbcl-geco))
12591
12592 (define-public sbcl-html-entities
12593 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
12594 (package
12595 (name "sbcl-html-entities")
12596 (version (git-version "0.02" "1" commit))
12597 (source
12598 (origin
12599 (method git-fetch)
12600 (uri (git-reference
12601 (url "https://github.com/BnMcGn/html-entities/")
12602 (commit commit)))
12603 (file-name (git-file-name name version))
12604 (sha256
12605 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
12606 (build-system asdf-build-system/sbcl)
12607 (inputs
12608 `(("ppcre" ,sbcl-cl-ppcre)))
12609 (native-inputs
12610 `(("fiveam" ,sbcl-fiveam)))
12611 (home-page "https://github.com/BnMcGn/html-entities/")
12612 (synopsis "Encode and decode entities in HTML with Common Lisp")
12613 (description "Html-entities is a Common Lisp library that lets you
12614 encode and decode entities in HTML.")
12615 (license license:expat))))
12616
12617 (define-public cl-html-entities
12618 (sbcl-package->cl-source-package sbcl-html-entities))
12619
12620 (define-public ecl-html-entities
12621 (sbcl-package->ecl-package sbcl-html-entities))
12622
12623 (define-public sbcl-quicksearch
12624 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
12625 (package
12626 (name "sbcl-quicksearch")
12627 (version (git-version "0.01.04" "1" commit))
12628 (source
12629 (origin
12630 (method git-fetch)
12631 (uri (git-reference
12632 (url "https://github.com/tkych/quicksearch/")
12633 (commit commit)))
12634 (file-name (git-file-name name version))
12635 (sha256
12636 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
12637 (build-system asdf-build-system/sbcl)
12638 (inputs
12639 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12640 ("iterate" ,sbcl-iterate)
12641 ("alexandria" ,sbcl-alexandria)
12642 ("anaphora" ,sbcl-anaphora)
12643 ("ppcre" ,sbcl-cl-ppcre)
12644 ("drakma" ,sbcl-drakma)
12645 ("html-entities" ,sbcl-html-entities)
12646 ("yason" ,sbcl-yason)
12647 ("flexi-streams" ,sbcl-flexi-streams)
12648 ("do-urlencode" ,sbcl-do-urlencode)))
12649 (home-page "https://github.com/tkych/quicksearch/")
12650 (synopsis "Search Engine Interface for Common Lisp packages")
12651 (description "Quicksearch is a search-engine-interface for Common Lisp.
12652 The goal of Quicksearch is to find the Common Lisp library quickly. For
12653 example, if you will find the library about json, just type @code{(qs:?
12654 'json)} at REPL.
12655
12656 The function @code{quicksearch} searches for Common Lisp projects in
12657 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
12658 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
12659 (license license:expat))))
12660
12661 (define-public cl-quicksearch
12662 (sbcl-package->cl-source-package sbcl-quicksearch))
12663
12664 (define-public ecl-quicksearch
12665 (sbcl-package->ecl-package sbcl-quicksearch))
12666
12667 (define-public sbcl-agutil
12668 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
12669 (package
12670 (name "sbcl-agutil")
12671 (version (git-version "0.0.1" "1" commit))
12672 (source
12673 (origin
12674 (method git-fetch)
12675 (uri (git-reference
12676 (url "https://github.com/alex-gutev/agutil/")
12677 (commit commit)))
12678 (file-name (git-file-name name version))
12679 (sha256
12680 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
12681 (build-system asdf-build-system/sbcl)
12682 (inputs
12683 `(("alexandria" ,sbcl-alexandria)
12684 ("trivia" ,sbcl-trivia)))
12685 (home-page "https://github.com/alex-gutev/agutil/")
12686 (synopsis "Collection of Common Lisp utilities")
12687 (description "A collection of Common Lisp utility functions and macros
12688 mostly not found in other utility packages.")
12689 (license license:expat))))
12690
12691 (define-public cl-agutil
12692 (sbcl-package->cl-source-package sbcl-agutil))
12693
12694 (define-public ecl-agutil
12695 (sbcl-package->ecl-package sbcl-agutil))
12696
12697 (define-public sbcl-custom-hash-table
12698 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
12699 (package
12700 (name "sbcl-custom-hash-table")
12701 (version (git-version "0.3" "1" commit))
12702 (source
12703 (origin
12704 (method git-fetch)
12705 (uri (git-reference
12706 (url "https://github.com/metawilm/cl-custom-hash-table")
12707 (commit commit)))
12708 (file-name (git-file-name name version))
12709 (sha256
12710 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
12711 (build-system asdf-build-system/sbcl)
12712 (arguments
12713 '(#:asd-files '("cl-custom-hash-table.asd")
12714 #:asd-systems '("cl-custom-hash-table")))
12715 (home-page "https://github.com/metawilm/cl-custom-hash-table")
12716 (synopsis "Custom hash tables for Common Lisp")
12717 (description "This library allows creation of hash tables with arbitrary
12718 @code{test}/@code{hash} functions, in addition to the @code{test} functions
12719 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
12720 @code{EQUALP}), even in implementations that don't support this functionality
12721 directly.")
12722 (license license:expat))))
12723
12724 (define-public cl-custom-hash-table
12725 (sbcl-package->cl-source-package sbcl-custom-hash-table))
12726
12727 (define-public ecl-custom-hash-table
12728 (sbcl-package->ecl-package sbcl-custom-hash-table))
12729
12730 (define-public sbcl-collectors
12731 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
12732 (package
12733 (name "sbcl-collectors")
12734 (version (git-version "0.1" "1" commit))
12735 (source
12736 (origin
12737 (method git-fetch)
12738 (uri (git-reference
12739 (url "https://github.com/AccelerationNet/collectors")
12740 (commit commit)))
12741 (file-name (git-file-name name version))
12742 (sha256
12743 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
12744 (build-system asdf-build-system/sbcl)
12745 (inputs
12746 `(("alexandria" ,sbcl-alexandria)
12747 ("closer-mop" ,sbcl-closer-mop)
12748 ("symbol-munger" ,sbcl-symbol-munger)))
12749 (native-inputs
12750 `(("lisp-unit2" ,sbcl-lisp-unit2)))
12751 (home-page "https://github.com/AccelerationNet/collectors/")
12752 (synopsis "Common lisp library providing collector macros")
12753 (description "A small collection of common lisp macros to make
12754 collecting values easier.")
12755 (license license:bsd-3))))
12756
12757 (define-public cl-collectors
12758 (sbcl-package->cl-source-package sbcl-collectors))
12759
12760 (define-public ecl-collectors
12761 (sbcl-package->ecl-package sbcl-collectors))
12762
12763 (define-public sbcl-cl-environments
12764 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
12765 (package
12766 (name "sbcl-cl-environments")
12767 (version (git-version "0.2.3" "1" commit))
12768 (source
12769 (origin
12770 (method git-fetch)
12771 (uri (git-reference
12772 (url "https://github.com/alex-gutev/cl-environments")
12773 (commit commit)))
12774 (file-name (git-file-name name version))
12775 (sha256
12776 (base32
12777 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
12778 (build-system asdf-build-system/sbcl)
12779 (inputs
12780 `(("alexandria" ,sbcl-alexandria)
12781 ("anaphora" ,sbcl-anaphora)
12782 ("collectors" ,sbcl-collectors)
12783 ("optima" ,sbcl-optima)))
12784 (native-inputs
12785 `(("prove" ,sbcl-prove)))
12786 (home-page "https://github.com/alex-gutev/cl-environments")
12787 (synopsis "Implements the Common Lisp standard environment access API")
12788 (description "This library provides a uniform API, as specified in Common
12789 Lisp the Language 2, for accessing information about variable and function
12790 bindings from implementation-defined lexical environment objects. All major
12791 Common Lisp implementations are supported, even those which don't support the
12792 CLTL2 environment access API.")
12793 (license license:expat))))
12794
12795 (define-public cl-environments
12796 (sbcl-package->cl-source-package sbcl-cl-environments))
12797
12798 (define-public ecl-environments
12799 (sbcl-package->ecl-package sbcl-cl-environments))
12800
12801 (define-public sbcl-static-dispatch
12802 (let ((commit "6243afcd152854c52ba33daef7394367b657d9c6")
12803 (revision "1"))
12804 (package
12805 (name "sbcl-static-dispatch")
12806 (version (git-version "0.3" revision commit))
12807 (source
12808 (origin
12809 (method git-fetch)
12810 (uri (git-reference
12811 (url "https://github.com/alex-gutev/static-dispatch")
12812 (commit commit)))
12813 (file-name (git-file-name "static-dispatch" version))
12814 (sha256
12815 (base32 "1lli9ar1xbnhkgb5d01rlw4pvfylg2arrw68np2c07fpkkafimg7"))))
12816 (build-system asdf-build-system/sbcl)
12817 (native-inputs
12818 `(("prove" ,sbcl-prove)))
12819 (inputs
12820 `(("agutil" ,sbcl-agutil)
12821 ("alexandria" ,sbcl-alexandria)
12822 ("anaphora" ,sbcl-anaphora)
12823 ("arrows" ,sbcl-arrows)
12824 ("cl-environments" ,sbcl-cl-environments)
12825 ("closer-mop" ,sbcl-closer-mop)
12826 ("iterate" ,sbcl-iterate)
12827 ("trivia" ,sbcl-trivia)))
12828 (home-page "https://github.com/alex-gutev/static-dispatch")
12829 (synopsis "Static generic function dispatch for Common Lisp")
12830 (description "Static dispatch is a Common Lisp library, inspired by
12831 @code{inlined-generic-function}, which allows standard Common Lisp generic
12832 function dispatch to be performed statically (at compile time) rather than
12833 dynamically (runtime). This is similar to what is known as \"overloading\" in
12834 languages such as C++ and Java.
12835
12836 The purpose of static dispatch is to provide an optimization in cases where
12837 the usual dynamic dispatch is too slow, and the dynamic features of generic
12838 functions, such as adding/removing methods at runtime are not required. An
12839 example of such a case is a generic equality comparison function. Currently
12840 generic functions are considered far too slow to implement generic arithmetic
12841 and comparison operations when used heavily in numeric code.")
12842 (license license:expat))))
12843
12844 (define-public cl-static-dispatch
12845 (sbcl-package->cl-source-package sbcl-static-dispatch))
12846
12847 (define-public ecl-static-dispatch
12848 (sbcl-package->ecl-package sbcl-static-dispatch))
12849
12850 (define-public sbcl-generic-cl
12851 ;; Latest commit includes a necessary fix for our Guix build.
12852 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
12853 (package
12854 (name "sbcl-generic-cl")
12855 (version (git-version "0.7.1" "1" commit))
12856 (source
12857 (origin
12858 (method git-fetch)
12859 (uri (git-reference
12860 (url "https://github.com/alex-gutev/generic-cl")
12861 (commit commit)))
12862 (file-name (git-file-name name version))
12863 (sha256
12864 (base32
12865 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12866 (build-system asdf-build-system/sbcl)
12867 (inputs
12868 `(("agutil" ,sbcl-agutil)
12869 ("alexandria" ,sbcl-alexandria)
12870 ("anaphora" ,sbcl-anaphora)
12871 ("arrows" ,sbcl-arrows)
12872 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12873 ("static-dispatch" ,sbcl-static-dispatch)
12874 ("trivia" ,sbcl-trivia)))
12875 (native-inputs
12876 `(("prove" ,sbcl-prove)))
12877 (arguments
12878 ;; Tests fail because SBCL head size is not high enough.
12879 ;; https://github.com/alex-gutev/generic-cl/issues/6
12880 `(#:tests? #f))
12881 (home-page "https://alex-gutev.github.io/generic-cl/")
12882 (synopsis "Generic function interface to standard Common Lisp functions")
12883 (description "@code{generic-cl} provides a generic function wrapper over
12884 various functions in the Common Lisp standard, such as equality predicates and
12885 sequence operations. The goal of this wrapper is to provide a standard
12886 interface to common operations, such as testing for the equality of two
12887 objects, which is extensible to user-defined types.")
12888 (license license:expat))))
12889
12890 (define-public cl-generic-cl
12891 (sbcl-package->cl-source-package sbcl-generic-cl))
12892
12893 (define-public ecl-generic-cl
12894 (sbcl-package->ecl-package sbcl-generic-cl))
12895
12896 (define-public sbcl-defpackage-plus
12897 (let ((revision "0")
12898 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12899 (package
12900 (name "sbcl-defpackage-plus")
12901 (version (git-version "1.0" revision commit))
12902 (source
12903 (origin
12904 (method git-fetch)
12905 (uri (git-reference
12906 (url "https://github.com/rpav/defpackage-plus")
12907 (commit commit)))
12908 (file-name (git-file-name name version))
12909 (sha256
12910 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12911 (build-system asdf-build-system/sbcl)
12912 (inputs
12913 `(("alexandria" ,sbcl-alexandria)))
12914 (home-page "https://github.com/rpav/defpackage-plus")
12915 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12916 (description
12917 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12918 predictable cross-platform behavior and some utilities useful for versioning.")
12919 (license license:bsd-2))))
12920
12921 (define-public cl-defpackage-plus
12922 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12923
12924 (define-public ecl-defpackage-plus
12925 (sbcl-package->ecl-package sbcl-defpackage-plus))
12926
12927 (define-public sbcl-deploy
12928 (let ((commit "9b20e64fe924b9e31832304d87a3a72c383dc6d8")
12929 (revision "2"))
12930 (package
12931 (name "sbcl-deploy")
12932 (version (git-version "1.0.0" revision commit))
12933 (source
12934 (origin
12935 (method git-fetch)
12936 (uri (git-reference
12937 (url "https://github.com/Shinmera/deploy")
12938 (commit commit)))
12939 (file-name (git-file-name "deploy" version))
12940 (sha256
12941 (base32 "07pfkibaridihg8lbq2czwa4iqifqk24n6rx7bfnv7i49p1ppja1"))))
12942 (build-system asdf-build-system/sbcl)
12943 (arguments
12944 `(#:test-asd-file "deploy-test.asd"
12945 #:asd-files '("deploy.asd"
12946 "deploy-test.asd")))
12947 (native-inputs
12948 `(("cl-mpg123" ,sbcl-cl-mpg123)
12949 ("cl-out123" ,sbcl-cl-out123)))
12950 (inputs
12951 `(("cffi" ,sbcl-cffi)
12952 ("documentation-utils" ,sbcl-documentation-utils)
12953 ("trivial-features" ,sbcl-trivial-features)))
12954 (home-page "https://shinmera.github.io/deploy/")
12955 (synopsis "Deployment tools for standalone Common Lisp application")
12956 (description
12957 "This is a system to help you easily and quickly deploy standalone
12958 common lisp applications as binaries. Specifically it is geared towards
12959 applications with foreign library dependencies that run some kind of GUI.")
12960 (license license:artistic2.0))))
12961
12962 (define-public cl-deploy
12963 (sbcl-package->cl-source-package sbcl-deploy))
12964
12965 (define-public ecl-deploy
12966 (sbcl-package->ecl-package sbcl-deploy))
12967
12968 (define-public sbcl-deeds
12969 ;; taged branch is outdated
12970 (let ((revision "1")
12971 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12972 (package
12973 (name "sbcl-deeds")
12974 (version (git-version "1.1.1" revision commit))
12975 (source
12976 (origin
12977 (method git-fetch)
12978 (uri (git-reference
12979 (url "https://github.com/Shinmera/deeds")
12980 (commit commit)))
12981 (file-name (git-file-name name version))
12982 (sha256
12983 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12984 (build-system asdf-build-system/sbcl)
12985 (inputs
12986 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12987 ("closer-mop" ,sbcl-closer-mop)
12988 ("form-fiddle" ,sbcl-form-fiddle)
12989 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12990 (home-page "https://github.com/Shinmera/deeds")
12991 (synopsis "Extensible Event Delivery System")
12992 (description
12993 "@code{deeds} allows for efficient event delivery to multiple handlers
12994 with a complex event filtering system.")
12995 (license license:zlib))))
12996
12997 (define-public cl-deeds
12998 (sbcl-package->cl-source-package sbcl-deeds))
12999
13000 (define-public ecl-deeds
13001 (sbcl-package->ecl-package sbcl-deeds))
13002
13003 (define-public sbcl-make-hash
13004 ;; no tagged branch
13005 (let ((revision "1")
13006 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
13007 (package
13008 (name "sbcl-make-hash")
13009 (version (git-version "1.0.2" revision commit))
13010 (source
13011 (origin
13012 (method git-fetch)
13013 (uri (git-reference
13014 (url "https://github.com/genovese/make-hash")
13015 (commit commit)))
13016 (file-name (git-file-name name version))
13017 (sha256
13018 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
13019 (build-system asdf-build-system/sbcl)
13020 (home-page "https://github.com/genovese/make-hash")
13021 (synopsis "Common Lisp package for flexible hash table creation")
13022 (description
13023 "This is a Common Lisp package for hash table creation with flexible,
13024 extensible initializers.")
13025 (license license:bsd-3))))
13026
13027 (define-public cl-make-hash
13028 (sbcl-package->cl-source-package sbcl-make-hash))
13029
13030 (define-public ecl-make-hash
13031 (sbcl-package->ecl-package sbcl-make-hash))
13032
13033 (define-public sbcl-claw-support
13034 (package
13035 (name "sbcl-claw-support")
13036 (version "1.0.0")
13037 (source
13038 (origin
13039 (method git-fetch)
13040 (uri (git-reference
13041 (url "https://github.com/borodust/claw-support")
13042 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
13043 (file-name (git-file-name name version))
13044 (sha256
13045 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
13046 (build-system asdf-build-system/sbcl)
13047 (home-page "https://github.com/borodust/claw-support")
13048 (synopsis "Support routines for claw")
13049 (description
13050 "This package provides support routines for the @code{claw} Common Lisp
13051 package.")
13052 (license license:expat)))
13053
13054 (define-public cl-claw-support
13055 (sbcl-package->cl-source-package sbcl-claw-support))
13056
13057 (define-public ecl-claw-support
13058 (sbcl-package->ecl-package sbcl-claw-support))
13059
13060 (define-public sbcl-claw
13061 (let ((revision "0")
13062 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
13063 (package
13064 (name "sbcl-claw")
13065 (version (git-version "1.0" revision commit))
13066 (source
13067 (origin
13068 (method git-fetch)
13069 (uri (git-reference
13070 (url "https://github.com/borodust/claw")
13071 (commit commit)))
13072 (file-name (git-file-name "claw" version))
13073 (sha256
13074 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
13075 (build-system asdf-build-system/sbcl)
13076 (inputs
13077 `(("alexandria" ,sbcl-alexandria)
13078 ("cffi" ,sbcl-cffi)
13079 ("cl-json" ,sbcl-cl-json)
13080 ("cl-ppcre" ,sbcl-cl-ppcre)
13081 ("claw-support" ,sbcl-claw-support)
13082 ("local-time" ,sbcl-local-time)
13083 ("trivial-features" ,sbcl-trivial-features)))
13084 (home-page "https://github.com/borodust/claw")
13085 (synopsis "Autowrapper for Common Lisp")
13086 (description
13087 "This is a Common Lisp autowrapping facility for quickly creating clean
13088 and lean bindings to C libraries.")
13089 (license license:bsd-2))))
13090
13091 (define-public cl-claw
13092 (sbcl-package->cl-source-package sbcl-claw))
13093
13094 (define-public ecl-claw
13095 (sbcl-package->ecl-package sbcl-claw))
13096
13097 (define-public sbcl-claw-utils
13098 (let ((revision "0")
13099 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
13100 (package
13101 (name "sbcl-claw-utils")
13102 ;; version is not specified
13103 (version (git-version "0.0.0" revision commit))
13104 (source
13105 (origin
13106 (method git-fetch)
13107 (uri (git-reference
13108 (url "https://github.com/borodust/claw-utils")
13109 (commit commit)))
13110 (file-name (git-file-name "claw-utils" version))
13111 (sha256
13112 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
13113 (build-system asdf-build-system/sbcl)
13114 (inputs
13115 `(("alexandria" ,sbcl-alexandria)
13116 ("cffi" ,sbcl-cffi)
13117 ("claw" ,sbcl-claw)))
13118 (home-page "https://github.com/borodust/claw-utils")
13119 (synopsis "Utilities for easier autowrapping")
13120 (description
13121 "This Common Lisp library contains various handy utilties to help
13122 autowrapping with @code{claw}.")
13123 (license license:expat))))
13124
13125 (define-public cl-claw-utils
13126 (sbcl-package->cl-source-package sbcl-claw-utils))
13127
13128 (define-public ecl-claw-utils
13129 (sbcl-package->ecl-package sbcl-claw-utils))
13130
13131 (define-public sbcl-array-operations
13132 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
13133 (revision "0"))
13134 (package
13135 (name "sbcl-array-operations")
13136 (version (git-version "0.0.0" revision commit))
13137 (source
13138 (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/bendudson/array-operations")
13142 (commit commit)))
13143 (file-name (git-file-name "array-operations" version))
13144 (sha256
13145 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
13146 (build-system asdf-build-system/sbcl)
13147 (native-inputs
13148 `(("alexandria" ,sbcl-alexandria)
13149 ("clunit2" ,sbcl-clunit2)))
13150 (inputs
13151 `(("let-plus" ,sbcl-let-plus)))
13152 (synopsis "Simple array operations library for Common Lisp")
13153 (description
13154 "This library is a collection of functions and macros for manipulating
13155 Common Lisp arrays and performing numerical calculations with them.")
13156 (home-page "https://github.com/bendudson/array-operations")
13157 (license license:expat))))
13158
13159 (define-public cl-array-operations
13160 (sbcl-package->cl-source-package sbcl-array-operations))
13161
13162 (define-public ecl-array-operations
13163 (sbcl-package->ecl-package sbcl-array-operations))
13164
13165 (define-public sbcl-clml
13166 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
13167 (revision "0"))
13168 (package
13169 (name "sbcl-clml")
13170 (version (git-version "0.0.0" revision commit))
13171 (source
13172 (origin
13173 (method git-fetch)
13174 (uri (git-reference
13175 (url "https://github.com/mmaul/clml")
13176 (commit commit)))
13177 (file-name (git-file-name "clml" version))
13178 (sha256
13179 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
13180 ;; TODO: Remove this when the patch has been merged upstream.
13181 (patches (search-patches "sbcl-clml-fix-types.patch"))))
13182 (build-system asdf-build-system/sbcl)
13183 (inputs
13184 `(("alexandia" ,sbcl-alexandria)
13185 ("array-operations" ,sbcl-array-operations)
13186 ("cl-fad" ,sbcl-cl-fad)
13187 ("cl-ppcre" ,sbcl-cl-ppcre)
13188 ("drakma" ,sbcl-drakma)
13189 ("introspect-environment" ,sbcl-introspect-environment)
13190 ("iterate" ,sbcl-iterate)
13191 ("lparallel" ,sbcl-lparallel)
13192 ("parse-number" ,sbcl-parse-number)
13193 ("split-sequence" ,sbcl-split-sequence)
13194 ("trivial-garbage" ,sbcl-trivial-garbage)))
13195 (synopsis "Common Lisp machine learning library")
13196 (description
13197 "CLML (Common Lisp Machine Learning) is a high performance and large
13198 scale statistical machine learning package")
13199 (home-page "https://mmaul.github.io/clml/")
13200 (license license:llgpl))))
13201
13202 (define-public cl-clml
13203 (sbcl-package->cl-source-package sbcl-clml))
13204
13205 (define-public sbcl-utm-ups
13206 (let ((commit "ffcb7b6d5a56fb7d4b2b95b83bbd28ffe6e6961f")
13207 (revision "0"))
13208 (package
13209 (name "sbcl-utm-ups")
13210 (version (git-version "1.1" revision commit))
13211 (source
13212 (origin
13213 (method git-fetch)
13214 (uri (git-reference
13215 (url "https://github.com/glv2/utm-ups")
13216 (commit commit)))
13217 (file-name (git-file-name "utm-ups" version))
13218 (sha256
13219 (base32 "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1"))))
13220 (build-system asdf-build-system/sbcl)
13221 (native-inputs
13222 `(("fiveam" ,sbcl-fiveam)))
13223 (synopsis
13224 "Convert coordinates between latitude/longitude and UTM or UPS")
13225 (description
13226 "This a Common Lisp library to convert geographic coordinates between
13227 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
13228 Polar Stereographic).")
13229 (home-page "https://github.com/glv2/utm-ups")
13230 (license license:gpl3+))))
13231
13232 (define-public cl-utm-ups
13233 (sbcl-package->cl-source-package sbcl-utm-ups))
13234
13235 (define-public ecl-utm-ups
13236 (sbcl-package->ecl-package sbcl-utm-ups))
13237
13238 (define-public sbcl-mgrs
13239 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
13240 (revision "0"))
13241 (package
13242 (name "sbcl-mgrs")
13243 (version (git-version "1.0" revision commit))
13244 (source
13245 (origin
13246 (method git-fetch)
13247 (uri (git-reference
13248 (url "https://github.com/glv2/mgrs")
13249 (commit commit)))
13250 (file-name (git-file-name "mgrs" version))
13251 (sha256
13252 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
13253 (build-system asdf-build-system/sbcl)
13254 (native-inputs
13255 `(("fiveam" ,sbcl-fiveam)))
13256 (inputs
13257 `(("utm-ups" ,sbcl-utm-ups)))
13258 (synopsis
13259 "Convert coordinates between latitude/longitude and MGRS")
13260 (description
13261 "This a Common Lisp library to convert geographic coordinates between
13262 latitude/longitude and MGRS.")
13263 (home-page "https://github.com/glv2/mgrs")
13264 (license license:gpl3+))))
13265
13266 (define-public cl-mgrs
13267 (sbcl-package->cl-source-package sbcl-mgrs))
13268
13269 (define-public ecl-mgrs
13270 (sbcl-package->ecl-package sbcl-mgrs))
13271
13272 (define-public sbcl-maidenhead
13273 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
13274 (revision "0"))
13275 (package
13276 (name "sbcl-maidenhead")
13277 (version (git-version "1.0" revision commit))
13278 (source
13279 (origin
13280 (method git-fetch)
13281 (uri (git-reference
13282 (url "https://github.com/glv2/maidenhead")
13283 (commit commit)))
13284 (file-name (git-file-name "maidenhead" version))
13285 (sha256
13286 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
13287 (build-system asdf-build-system/sbcl)
13288 (native-inputs
13289 `(("fiveam" ,sbcl-fiveam)))
13290 (synopsis
13291 "Convert coordinates between latitude/longitude and Maidenhead")
13292 (description
13293 "This a Common Lisp library to convert geographic coordinates between
13294 latitude/longitude and Maidenhead locator system.")
13295 (home-page "https://github.com/glv2/maidenhead")
13296 (license license:gpl3+))))
13297
13298 (define-public cl-maidenhead
13299 (sbcl-package->cl-source-package sbcl-maidenhead))
13300
13301 (define-public ecl-maidenhead
13302 (sbcl-package->ecl-package sbcl-maidenhead))
13303
13304 (define-public sbcl-olc
13305 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
13306 (revision "0"))
13307 (package
13308 (name "sbcl-olc")
13309 (version (git-version "1.0" revision commit))
13310 (source
13311 (origin
13312 (method git-fetch)
13313 (uri (git-reference
13314 (url "https://github.com/glv2/olc")
13315 (commit commit)))
13316 (file-name (git-file-name "olc" version))
13317 (sha256
13318 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
13319 (build-system asdf-build-system/sbcl)
13320 (native-inputs
13321 `(("fiveam" ,sbcl-fiveam)))
13322 (synopsis
13323 "Convert coordinates between latitude/longitude and Open Location Code")
13324 (description
13325 "This a Common Lisp library to convert geographic coordinates between
13326 latitude/longitude and Open Location Code.")
13327 (home-page "https://github.com/glv2/olc")
13328 (license license:gpl3+))))
13329
13330 (define-public cl-olc
13331 (sbcl-package->cl-source-package sbcl-olc))
13332
13333 (define-public ecl-olc
13334 (sbcl-package->ecl-package sbcl-olc))
13335
13336 (define-public sbcl-regex
13337 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
13338 (package
13339 (name "sbcl-regex")
13340 (version (git-version "1" "1" commit))
13341 (source
13342 (origin
13343 (method git-fetch)
13344 (uri (git-reference
13345 (url "https://github.com/michaelw/regex/")
13346 (commit commit)))
13347 (file-name (git-file-name name version))
13348 (sha256
13349 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
13350 (build-system asdf-build-system/sbcl)
13351 (home-page "https://github.com/michaelw/regex/")
13352 (synopsis "Regular expression engine for Common Lisp")
13353 (description
13354 "This Common Lisp package provides a regular expression engine.")
13355 (license license:bsd-2))))
13356
13357 (define-public cl-regex
13358 (sbcl-package->cl-source-package sbcl-regex))
13359
13360 (define-public ecl-regex
13361 (sbcl-package->ecl-package sbcl-regex))
13362
13363 (define-public sbcl-clawk
13364 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
13365 (package
13366 (name "sbcl-clawk")
13367 (version (git-version "4" "1" commit))
13368 (source
13369 (origin
13370 (method git-fetch)
13371 (uri (git-reference
13372 (url "https://github.com/sharplispers/clawk")
13373 (commit commit)))
13374 (file-name (git-file-name name version))
13375 (sha256
13376 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
13377 (build-system asdf-build-system/sbcl)
13378 (inputs
13379 `(("sbcl-regex" ,sbcl-regex)))
13380 (home-page "https://github.com/sharplispers/clawk")
13381 (synopsis "Common Lisp AWK")
13382 (description
13383 "CLAWK is an AWK implementation embedded into Common Lisp.")
13384 (license license:bsd-2))))
13385
13386 (define-public cl-clawk
13387 (sbcl-package->cl-source-package sbcl-clawk))
13388
13389 (define-public ecl-clawk
13390 (sbcl-package->ecl-package sbcl-clawk))
13391
13392 (define-public sbcl-check-it
13393 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
13394 (package
13395 (name "sbcl-check-it")
13396 (version (git-version "0.1.0" "1" commit))
13397 (source
13398 (origin
13399 (method git-fetch)
13400 (uri (git-reference
13401 (url "https://github.com/DalekBaldwin/check-it/")
13402 (commit commit)))
13403 (file-name (git-file-name name version))
13404 (sha256
13405 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
13406 (build-system asdf-build-system/sbcl)
13407 (inputs
13408 `(("alexandria" ,sbcl-alexandria)
13409 ("closer-mop" ,sbcl-closer-mop)
13410 ("optima" ,sbcl-optima)))
13411 (native-inputs
13412 `(("stefil" ,sbcl-stefil)))
13413 (home-page "https://github.com/arclanguage/Clamp")
13414 (synopsis "Randomized specification-based testing for Common Lisp")
13415 (description
13416 "This is a randomized property-based testing library for Common Lisp.
13417 Rather than being a full-fledged general test framework in its own right, it's
13418 designed to embed randomized tests in whatever framework you like.")
13419 (license license:llgpl))))
13420
13421 (define-public cl-check-it
13422 (sbcl-package->cl-source-package sbcl-check-it))
13423
13424 (define-public ecl-check-it
13425 (sbcl-package->ecl-package sbcl-check-it))
13426
13427 (define-public sbcl-clamp
13428 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
13429 (package
13430 (name "sbcl-clamp")
13431 (version (git-version "0.3" "1" commit))
13432 (source
13433 (origin
13434 (method git-fetch)
13435 (uri (git-reference
13436 (url "https://github.com/arclanguage/Clamp")
13437 (commit commit)))
13438 (file-name (git-file-name name version))
13439 (sha256
13440 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
13441 (build-system asdf-build-system/sbcl)
13442 (inputs
13443 `(("iterate" ,sbcl-iterate)
13444 ("cl-syntax" ,sbcl-cl-syntax)))
13445 (native-inputs
13446 `(("cl-unit" ,sbcl-clunit)
13447 ("check-it" ,sbcl-check-it)))
13448 (arguments
13449 `(#:phases
13450 (modify-phases %standard-phases
13451 (add-after 'unpack 'fix-build
13452 (lambda _
13453 (substitute* "clamp.asd"
13454 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
13455 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
13456 #t)))))
13457 (home-page "https://github.com/arclanguage/Clamp")
13458 (synopsis "Common Lisp with Arc macros and procedures")
13459 (description
13460 "Clamp is an attempt to bring the powerful, but verbose, language of
13461 Common Lisp up to the terseness of Arc.
13462
13463 There are two parts to Clamp. There is the core of Clamp, which implements
13464 the utilities of Arc that are easily converted from Arc to Common Lisp. The
13465 other part is the \"experimental\" part. It contains features of Arc that are
13466 not so easy to copy (ssyntax, argument destructuring, etc.).")
13467 (license license:artistic2.0))))
13468
13469 (define-public cl-clamp
13470 (sbcl-package->cl-source-package sbcl-clamp))
13471
13472 (define-public ecl-clamp
13473 (sbcl-package->ecl-package sbcl-clamp))
13474
13475 (define-public sbcl-trivial-shell
13476 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
13477 (package
13478 (name "sbcl-trivial-shell")
13479 (version (git-version "0.2.0" "1" commit))
13480 (source
13481 (origin
13482 (method git-fetch)
13483 (uri (git-reference
13484 (url "https://github.com/gwkkwg/trivial-shell")
13485 (commit commit)))
13486 (file-name (git-file-name name version))
13487 (sha256
13488 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
13489 (build-system asdf-build-system/sbcl)
13490 (native-inputs
13491 `(("lift" ,sbcl-lift)))
13492 (home-page "http://common-lisp.net/project/trivial-shell/")
13493 (synopsis "Common Lisp access to the shell")
13494 (description
13495 "A simple Common-Lisp interface to the underlying operating system.
13496 It's independent of the implementation and operating system.")
13497 (license license:expat))))
13498
13499 (define-public cl-trivial-shell
13500 (sbcl-package->cl-source-package sbcl-trivial-shell))
13501
13502 (define-public ecl-trivial-shell
13503 (sbcl-package->ecl-package sbcl-trivial-shell))
13504
13505 (define-public sbcl-clesh
13506 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
13507 (package
13508 (name "sbcl-clesh")
13509 (version (git-version "0.0.0" "1" commit))
13510 (source
13511 (origin
13512 (method git-fetch)
13513 (uri (git-reference
13514 (url "https://github.com/Neronus/Clesh")
13515 (commit commit)))
13516 (file-name (git-file-name name version))
13517 (sha256
13518 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
13519 (build-system asdf-build-system/sbcl)
13520 (inputs
13521 `(("trivial-shell" ,sbcl-trivial-shell)
13522 ("named-readtables" ,sbcl-named-readtables)))
13523 (home-page "https://github.com/Neronus/Clesh")
13524 (synopsis "Embed shell code in Common Lisp")
13525 (description
13526 "This is a very short and simple program, written in Common Lisp, that
13527 extends Common Lisp to embed shell code in a manner similar to Perl's
13528 backtick. It has been forked from SHELISP.")
13529 (license license:bsd-2))))
13530
13531 (define-public cl-clesh
13532 (sbcl-package->cl-source-package sbcl-clesh))
13533
13534 (define-public ecl-clesh
13535 (sbcl-package->ecl-package sbcl-clesh))
13536
13537 (define-public sbcl-trivial-channels
13538 (let ((commit "e2370118d8983ba69c0360a7695f8f2e2fd6a8a6")
13539 (revision "1"))
13540 (package
13541 (name "sbcl-trivial-channels")
13542 (version (git-version "1.0" revision commit))
13543 (source
13544 (origin
13545 (method git-fetch)
13546 (uri (git-reference
13547 (url "https://github.com/rpav/trivial-channels")
13548 (commit commit)))
13549 (file-name (git-file-name "trivial-channels" version))
13550 (sha256
13551 (base32 "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj"))))
13552 (build-system asdf-build-system/sbcl)
13553 (inputs
13554 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13555 ("trivial-timeout" ,sbcl-trivial-timeout)))
13556 (home-page "https://github.com/rpav/trivial-channels")
13557 (synopsis "Common Lisp simple thread-safe channels with timeout")
13558 (description
13559 "It's very basic implementation of channels and queue for Common Lisp.")
13560 (license license:bsd-2))))
13561
13562 (define-public ecl-trivial-channels
13563 (sbcl-package->ecl-package sbcl-trivial-channels))
13564
13565 (define-public cl-trivial-channels
13566 (sbcl-package->cl-source-package sbcl-trivial-channels))
13567
13568 (define-public sbcl-trivial-download
13569 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
13570 (package
13571 (name "sbcl-trivial-download")
13572 (version (git-version "0.3" "1" commit))
13573 (source
13574 (origin
13575 (method git-fetch)
13576 (uri (git-reference
13577 (url "https://github.com/eudoxia0/trivial-download/")
13578 (commit commit)))
13579 (file-name (git-file-name name version))
13580 (sha256
13581 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
13582 (build-system asdf-build-system/sbcl)
13583 (inputs
13584 `(("drakma" ,sbcl-drakma)))
13585 (home-page "https://github.com/eudoxia0/trivial-download/")
13586 (synopsis "Download files from Common Lisp")
13587 (description
13588 "@code{trivial-download} allows you to download files from the Internet
13589 from Common Lisp. It provides a progress bar.")
13590 (license license:bsd-2))))
13591
13592 (define-public cl-trivial-download
13593 (sbcl-package->cl-source-package sbcl-trivial-download))
13594
13595 (define-public ecl-trivial-download
13596 (sbcl-package->ecl-package sbcl-trivial-download))
13597
13598 (define-public sbcl-gtwiwtg
13599 (package
13600 (name "sbcl-gtwiwtg")
13601 (version "0.1.1")
13602 (source
13603 (origin
13604 (method git-fetch)
13605 (uri (git-reference
13606 (url "https://github.com/cbeo/gtwiwtg/")
13607 (commit version)))
13608 (file-name (git-file-name name version))
13609 (sha256
13610 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
13611 (build-system asdf-build-system/sbcl)
13612 (native-inputs
13613 `(("osicat" ,sbcl-osicat)
13614 ("prove" ,sbcl-prove)))
13615 (home-page "https://github.com/cbeo/gtwiwtg/")
13616 (synopsis "Naive generators for Common Lisp")
13617 (description
13618 "The GTWIWTG library (Generators The Way I Want Them Generated --
13619 technically not generators, but iterators) is meant to be small, explorable,
13620 and understandable.")
13621 (license license:gpl3)))
13622
13623 (define-public cl-gtwiwtg
13624 (sbcl-package->cl-source-package sbcl-gtwiwtg))
13625
13626 (define-public ecl-gtwiwtg
13627 (sbcl-package->ecl-package sbcl-gtwiwtg))
13628
13629 (define-public sbcl-cl-progress-bar
13630 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
13631 (package
13632 (name "sbcl-cl-progress-bar")
13633 (version (git-version "0.0.0" "1" commit))
13634 (source
13635 (origin
13636 (method git-fetch)
13637 (uri (git-reference
13638 (url "https://github.com/sirherrbatka/cl-progress-bar/")
13639 (commit commit)))
13640 (file-name (git-file-name name version))
13641 (sha256
13642 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
13643 (build-system asdf-build-system/sbcl)
13644 (inputs
13645 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
13646 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
13647 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
13648 (synopsis "Progress bars in Common Lisp")
13649 (description
13650 "This library provides almost the same code as used inside Quicklisp
13651 for drawning progress bars")
13652 (license license:expat))))
13653
13654 (define-public cl-progress-bar
13655 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
13656
13657 (define-public ecl-cl-progress-bar
13658 (sbcl-package->ecl-package sbcl-cl-progress-bar))
13659
13660 (define-public sbcl-repl-utilities
13661 (let ((commit "7e300df663177ea4581f4e7e9c601377881dd986"))
13662 (package
13663 (name "sbcl-repl-utilities")
13664 (version (git-version "0.0.0" "1" commit))
13665 (source
13666 (origin
13667 (method git-fetch)
13668 (uri (git-reference
13669 (url "https://github.com/m-n/repl-utilities/")
13670 (commit commit)))
13671 (file-name (git-file-name name version))
13672 (sha256
13673 (base32 "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3"))))
13674 (build-system asdf-build-system/sbcl)
13675 (home-page "https://github.com/m-n/repl-utilities")
13676 (synopsis "Ease common tasks at the Common Lisp REPL")
13677 (description
13678 "@code{repl-utilities} is a set of utilities which ease life at the
13679 REPL. It includes three sorts of features: introspective procedures,
13680 miscellaneous utility functions, and, pulling them together, methods to
13681 conveniently keep these symbols and optionally additional symbols available in
13682 whichever package you switch to.")
13683 (license license:bsd-2))))
13684
13685 (define-public cl-repl-utilities
13686 (sbcl-package->cl-source-package sbcl-repl-utilities))
13687
13688 (define-public ecl-repl-utilities
13689 (sbcl-package->ecl-package sbcl-repl-utilities))
13690
13691 (define-public sbcl-supertrace
13692 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
13693 (package
13694 (name "sbcl-supertrace")
13695 (version (git-version "0.1.0" "1" commit))
13696 (source
13697 (origin
13698 (method git-fetch)
13699 (uri (git-reference
13700 (url "https://github.com/fukamachi/supertrace")
13701 (commit commit)))
13702 (file-name (git-file-name name version))
13703 (sha256
13704 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
13705 (build-system asdf-build-system/sbcl)
13706 (native-inputs
13707 `(("cffi-grovel" ,sbcl-cffi)
13708 ("rove" ,sbcl-rove)
13709 ("cl-ppcre" ,sbcl-cl-ppcre)
13710 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
13711 (inputs
13712 `(("cffi" ,sbcl-cffi)))
13713 (home-page "https://github.com/fukamachi/supertrace")
13714 (synopsis "Improved Common Lisp tracing for debugging and profiling")
13715 (description
13716 "Supertrace provides a superior Common Lisp @code{trace} functionality
13717 for debugging and profiling real world applications.")
13718 (license license:bsd-2))))
13719
13720 (define-public cl-supertrace
13721 (sbcl-package->cl-source-package sbcl-supertrace))
13722
13723 (define-public ecl-supertrace
13724 (sbcl-package->ecl-package sbcl-supertrace))
13725
13726 (define-public sbcl-trivial-benchmark
13727 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
13728 (package
13729 (name "sbcl-trivial-benchmark")
13730 (version (git-version "2.0.0" "1" commit))
13731 (source
13732 (origin
13733 (method git-fetch)
13734 (uri (git-reference
13735 (url "https://github.com/Shinmera/trivial-benchmark/")
13736 (commit commit)))
13737 (file-name (git-file-name name version))
13738 (sha256
13739 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
13740 (build-system asdf-build-system/sbcl)
13741 (inputs
13742 `(("alexandria" ,sbcl-alexandria)))
13743 (home-page "http://shinmera.github.io/trivial-benchmark/")
13744 (synopsis "Easy to use benchmarking system for Common Lisp")
13745 (description
13746 "Trivial-Benchmark runs a block of code many times and outputs some
13747 statistical data for it. On SBCL this includes the data from @code{time}, for
13748 all other implementations just the @code{real-time} and @code{run-time} data.
13749 However, you can extend the system by adding your own @code{metrics} to it, or
13750 even by adding additional statistical @code{compute}ations. ")
13751 (license license:zlib))))
13752
13753 (define-public cl-trivial-benchmark
13754 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
13755
13756 (define-public ecl-trivial-benchmark
13757 (sbcl-package->ecl-package sbcl-trivial-benchmark))
13758
13759 (define-public sbcl-glyphs
13760 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
13761 (package
13762 (name "sbcl-glyphs")
13763 (version (git-version "0.0.0" "1" commit))
13764 (source
13765 (origin
13766 (method git-fetch)
13767 (uri (git-reference
13768 (url "https://github.com/ahungry/glyphs/")
13769 (commit commit)))
13770 (file-name (git-file-name name version))
13771 (sha256
13772 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
13773 (build-system asdf-build-system/sbcl)
13774 (inputs
13775 `(("cl-ppcre" ,sbcl-cl-ppcre)
13776 ("parenscript" ,sbcl-parenscript)
13777 ("named-readtables" ,sbcl-named-readtables)))
13778 (home-page "https://github.com/ahungry/glyphs/")
13779 (synopsis "Reduce Common Lisp verbosity")
13780 (description
13781 "This library is a little experiment in reducing verbosity in Common
13782 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
13783 (license license:gpl3))))
13784
13785 (define-public cl-glyphs
13786 (sbcl-package->cl-source-package sbcl-glyphs))
13787
13788 (define-public ecl-glyphs
13789 (sbcl-package->ecl-package sbcl-glyphs))
13790
13791 (define-public sbcl-zs3
13792 (package
13793 (name "sbcl-zs3")
13794 (version "1.3.3")
13795 (source
13796 (origin
13797 (method git-fetch)
13798 (uri
13799 (git-reference
13800 (url "https://github.com/xach/zs3")
13801 (commit (string-append "release-" version))))
13802 (file-name (git-file-name "zs3" version))
13803 (sha256
13804 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
13805 (build-system asdf-build-system/sbcl)
13806 (inputs
13807 `(("drakma" ,sbcl-drakma)
13808 ("alexandria" ,sbcl-alexandria)
13809 ("cxml" ,sbcl-cxml)
13810 ("ironclad" ,sbcl-ironclad)
13811 ("puri" ,sbcl-puri)
13812 ("cl-base64" ,sbcl-cl-base64)))
13813 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
13814 (description "This is ZS3, a library for working with Amazon's Simple Storage
13815 Service (S3) and CloudFront service from Common Lisp.")
13816 (home-page "https://github.com/xach/zs3")
13817 (license license:bsd-2)))
13818
13819 (define-public cl-zs3
13820 (sbcl-package->cl-source-package sbcl-zs3))
13821
13822 (define-public ecl-zs3
13823 (sbcl-package->ecl-package sbcl-zs3))
13824
13825 (define-public sbcl-simple-neural-network
13826 (package
13827 (name "sbcl-simple-neural-network")
13828 (version "3.1")
13829 (source
13830 (origin
13831 (method git-fetch)
13832 (uri (git-reference
13833 (url "https://github.com/glv2/simple-neural-network")
13834 (commit (string-append "v" version))))
13835 (file-name (git-file-name "simple-neural-network" version))
13836 (sha256
13837 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
13838 (build-system asdf-build-system/sbcl)
13839 (native-inputs
13840 `(("chipz" ,sbcl-chipz)
13841 ("fiveam" ,sbcl-fiveam)))
13842 (inputs
13843 `(("cl-store" ,sbcl-cl-store)
13844 ("lparallel" ,sbcl-lparallel)))
13845 (arguments
13846 `(#:phases
13847 (modify-phases %standard-phases
13848 (add-after 'check 'remove-test-data
13849 (lambda* (#:key outputs #:allow-other-keys)
13850 (let ((out (assoc-ref outputs "out")))
13851 (for-each delete-file (find-files out "\\.gz$"))))))))
13852 (synopsis "Simple neural network in Common Lisp")
13853 (description
13854 "@code{simple-neural-network} is a Common Lisp library for creating,
13855 training and using basic neural networks. The networks created by this
13856 library are feedforward neural networks trained using backpropagation.")
13857 (home-page "https://github.com/glv2/simple-neural-network")
13858 (license license:gpl3+)))
13859
13860 (define-public cl-simple-neural-network
13861 (sbcl-package->cl-source-package sbcl-simple-neural-network))
13862
13863 (define-public ecl-simple-neural-network
13864 (sbcl-package->ecl-package sbcl-simple-neural-network))
13865
13866 (define-public sbcl-zstd
13867 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
13868 (revision "1"))
13869 (package
13870 (name "sbcl-zstd")
13871 (version (git-version "1.0" revision commit))
13872 (source
13873 (origin
13874 (method git-fetch)
13875 (uri (git-reference
13876 (url "https://github.com/glv2/cl-zstd")
13877 (commit commit)))
13878 (file-name (git-file-name "cl-zstd" version))
13879 (sha256
13880 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
13881 (build-system asdf-build-system/sbcl)
13882 (native-inputs
13883 `(("fiveam" ,sbcl-fiveam)))
13884 (inputs
13885 `(("cffi" ,sbcl-cffi)
13886 ("cl-octet-streams" ,sbcl-cl-octet-streams)
13887 ("zstd-lib" ,zstd "lib")))
13888 (arguments
13889 '(#:phases
13890 (modify-phases %standard-phases
13891 (add-after 'unpack 'fix-paths
13892 (lambda* (#:key inputs #:allow-other-keys)
13893 (substitute* "src/libzstd.lisp"
13894 (("libzstd\\.so")
13895 (string-append (assoc-ref inputs "zstd-lib")
13896 "/lib/libzstd.so")))
13897 #t)))))
13898 (synopsis "Common Lisp library for Zstandard (de)compression")
13899 (description
13900 "This Common Lisp library provides functions for Zstandard
13901 compression/decompression using bindings to the libzstd C library.")
13902 (home-page "https://github.com/glv2/cl-zstd")
13903 (license license:gpl3+))))
13904
13905 (define-public cl-zstd
13906 (sbcl-package->cl-source-package sbcl-zstd))
13907
13908 (define-public ecl-zstd
13909 (sbcl-package->ecl-package sbcl-zstd))
13910
13911 (define-public sbcl-agnostic-lizard
13912 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13913 (revision "1"))
13914 (package
13915 (name "sbcl-agnostic-lizard")
13916 (version (git-version "0.0.0" revision commit))
13917 (source
13918 (origin
13919 (method git-fetch)
13920 (uri (git-reference
13921 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13922 (commit commit)))
13923 (file-name (git-file-name name version))
13924 (sha256
13925 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13926 (build-system asdf-build-system/sbcl)
13927 (synopsis "Almost correct portable code walker for Common Lisp")
13928 (description
13929 "Agnostic Lizard is a portable implementation of a code walker and in
13930 particular of the macroexpand-all function (and macro) that makes a best
13931 effort to be correct while not expecting much beyond what the Common Lisp
13932 standard requires.
13933
13934 It aims to be implementation-agnostic and to climb the syntax trees.")
13935 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13936 (license license:gpl3+))))
13937
13938 (define-public cl-agnostic-lizard
13939 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13940
13941 (define-public ecl-agnostic-lizard
13942 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13943
13944 (define-public sbcl-dynamic-classes
13945 (package
13946 (name "sbcl-dynamic-classes")
13947 (version "1.0.2")
13948 (source
13949 (origin
13950 (method git-fetch)
13951 (uri (git-reference
13952 (url "https://github.com/gwkkwg/dynamic-classes")
13953 (commit (string-append "version-" version))))
13954 (file-name (git-file-name "dynamic-classes" version))
13955 (sha256
13956 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13957 (build-system asdf-build-system/sbcl)
13958 (inputs
13959 `(("metatilities-base" ,sbcl-metatilities-base)))
13960 (arguments
13961 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13962 ;; test suites. lift-standard.config contains referances to deprecated
13963 ;; functionality.
13964 `(#:tests? #f))
13965 (home-page "https://common-lisp.net/project/dynamic-classes/")
13966 (synopsis "Dynamic class definition for Common Lisp")
13967 (description "Dynamic-Classes helps to ease the prototyping process by
13968 bringing dynamism to class definition.")
13969 (license license:expat)))
13970
13971 (define-public ecl-dynamic-classes
13972 (sbcl-package->ecl-package sbcl-dynamic-classes))
13973
13974 (define-public cl-dynamic-classes
13975 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13976
13977 (define-public sbcl-cl-markdown
13978 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13979 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13980 ;; #:container-dynamic-classes
13981 (package
13982 (name "sbcl-cl-markdown")
13983 (version "0.10.4")
13984 (source
13985 (origin
13986 (method git-fetch)
13987 (uri (git-reference
13988 (url "https://github.com/gwkkwg/cl-markdown")
13989 (commit (string-append "version-" version))))
13990 (file-name (git-file-name "cl-markdown" version))
13991 (sha256
13992 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13993 (build-system asdf-build-system/sbcl)
13994 (inputs
13995 `(("anaphora" ,sbcl-anaphora)
13996 ("cl-containers" ,sbcl-cl-containers)
13997 ("cl-ppcre" ,sbcl-cl-ppcre)
13998 ("dynamic-classes" ,sbcl-dynamic-classes)
13999 ("metabang-bind" ,sbcl-metabang-bind)
14000 ("metatilities-base" ,sbcl-metatilities-base)))
14001 (arguments
14002 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
14003 ;; available systems, which themself are abandoned.
14004 `(#:tests? #f))
14005 (home-page "https://common-lisp.net/project/cl-markdown/")
14006 (synopsis "Common Lisp rewrite of Markdown")
14007 (description
14008 "This is an implementation of a Markdown parser in Common Lisp.")
14009 (license license:expat)))
14010
14011 (define-public ecl-cl-markdown
14012 (sbcl-package->ecl-package sbcl-cl-markdown))
14013
14014 (define-public cl-markdown
14015 (sbcl-package->cl-source-package sbcl-cl-markdown))
14016
14017 (define-public sbcl-magicffi
14018 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
14019 (package
14020 (name "sbcl-magicffi")
14021 (version (git-version "0.0.0" "1" commit))
14022 (source
14023 (origin
14024 (method git-fetch)
14025 (uri (git-reference
14026 (url "https://github.com/dochang/magicffi/")
14027 (commit commit)))
14028 (file-name (git-file-name name version))
14029 (sha256
14030 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
14031 (build-system asdf-build-system/sbcl)
14032 (native-inputs
14033 `(("alexandria" ,sbcl-alexandria)))
14034 (inputs
14035 `(("cffi" ,sbcl-cffi)
14036 ("ppcre" ,sbcl-cl-ppcre)
14037 ("libmagic" ,file)))
14038 (arguments
14039 `(#:phases
14040 (modify-phases %standard-phases
14041 (add-after 'unpack 'fix-paths
14042 (lambda* (#:key inputs #:allow-other-keys)
14043 (let ((magic (assoc-ref inputs "libmagic")))
14044 (substitute* "grovel.lisp"
14045 (("/usr/include/magic.h")
14046 (string-append magic "/include/magic.h")))
14047 (substitute* "api.lisp"
14048 ((":default \"libmagic\"" all)
14049 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
14050 (home-page "https://common-lisp.net/project/magicffi/")
14051 (synopsis "Common Lisp interface to libmagic based on CFFI")
14052 (description
14053 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
14054 determination library using @emph{magic} numbers.")
14055 (license license:bsd-2))))
14056
14057 (define-public ecl-magicffi
14058 (sbcl-package->ecl-package sbcl-magicffi))
14059
14060 (define-public cl-magicffi
14061 (sbcl-package->cl-source-package sbcl-magicffi))
14062
14063 (define-public sbcl-shlex
14064 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
14065 (package
14066 (name "sbcl-shlex")
14067 (version (git-version "0.0.0" "1" commit))
14068 (source
14069 (origin
14070 (method git-fetch)
14071 (uri (git-reference
14072 (url "https://github.com/ruricolist/cl-shlex")
14073 (commit commit)))
14074 (file-name (git-file-name name version))
14075 (sha256
14076 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
14077 (build-system asdf-build-system/sbcl)
14078 (inputs
14079 `(("alexandria" ,sbcl-alexandria)
14080 ("serapeum" ,sbcl-serapeum)
14081 ("ppcre" ,sbcl-cl-ppcre)
14082 ("unicode" ,sbcl-cl-unicode)))
14083 (home-page "https://github.com/ruricolist/cl-shlex")
14084 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
14085 (description
14086 "This library contains a lexer for syntaxes that use shell-like rules
14087 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
14088 standard library.")
14089 (license license:expat))))
14090
14091 (define-public ecl-shlex
14092 (sbcl-package->ecl-package sbcl-shlex))
14093
14094 (define-public cl-shlex
14095 (sbcl-package->cl-source-package sbcl-shlex))
14096
14097 (define-public sbcl-cmd
14098 (let ((commit "bc5a3bee8f22917126e4c3d05b33f766e562dbd8"))
14099 (package
14100 (name "sbcl-cmd")
14101 (version (git-version "0.0.1" "3" commit))
14102 (source
14103 (origin
14104 (method git-fetch)
14105 (uri (git-reference
14106 (url "https://github.com/ruricolist/cmd/")
14107 (commit commit)))
14108 (file-name (git-file-name name version))
14109 (sha256
14110 (base32 "1sjlabrknw1kjb2y89vssjhcqh3slgly8wnr3152zgis8lsj2yc7"))))
14111 (build-system asdf-build-system/sbcl)
14112 (inputs
14113 `(("alexandria" ,sbcl-alexandria)
14114 ("coreutils" ,coreutils)
14115 ("procps" ,procps)
14116 ("serapeum" ,sbcl-serapeum)
14117 ("shlex" ,sbcl-shlex)
14118 ("trivia" ,sbcl-trivia)))
14119 (arguments
14120 `(#:phases
14121 (modify-phases %standard-phases
14122 (add-after 'unpack 'fix-paths
14123 (lambda* (#:key inputs #:allow-other-keys)
14124 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin"))
14125 (ps-bin (string-append (assoc-ref inputs "procps") "/bin")))
14126 (substitute* "cmd.lisp"
14127 (("\\(def \\+env\\+ \"env\"\\)")
14128 (format #f "(def +env+ \"~a/env\")" bin))
14129 (("\\(def \\+kill\\+ \"kill\"\\)")
14130 (format #f "(def +kill+ \"~a/kill\")" bin))
14131 (("\\(def \\+ps\\+ \"ps\"\\)")
14132 (format #f "(def +ps+ \"~a/ps\")" ps-bin))
14133 (("\\(def \\+pwd\\+ \"pwd\"\\)")
14134 (format #f "(def +pwd+ \"~a/pwd\")" bin))
14135 (("\\(def \\+sh\\+ \"/bin/sh\"\\)")
14136 (format #f "(def +sh+ \"~a\")" (which "sh")))
14137 (("\\(def \\+tr\\+ \"tr\"\\)")
14138 (format #f "(def +tr+ \"~a/tr\")" bin)))))))))
14139 (home-page "https://github.com/ruricolist/cmd")
14140 (synopsis "Conveniently run external programs from Common Lisp")
14141 (description
14142 "A utility for running external programs, built on UIOP.
14143 Cmd is designed to be natural to use, protect against shell interpolation and
14144 be usable from multi-threaded programs.")
14145 (license license:expat))))
14146
14147 (define-public ecl-cmd
14148 (sbcl-package->ecl-package sbcl-cmd))
14149
14150 (define-public cl-cmd
14151 (sbcl-package->cl-source-package sbcl-cmd))
14152
14153 (define-public sbcl-ppath
14154 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
14155 (package
14156 (name "sbcl-ppath")
14157 (version (git-version "0.1" "1" commit))
14158 (source
14159 (origin
14160 (method git-fetch)
14161 (uri (git-reference
14162 (url "https://github.com/fourier/ppath/")
14163 (commit commit)))
14164 (file-name (git-file-name name commit))
14165 (sha256
14166 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
14167 (build-system asdf-build-system/sbcl)
14168 (inputs
14169 `(("alexandria" ,sbcl-alexandria)
14170 ("cffi" ,sbcl-cffi)
14171 ("osicat" ,sbcl-osicat)
14172 ("ppcre" ,sbcl-cl-ppcre)
14173 ("split-sequence" ,sbcl-split-sequence)
14174 ("trivial-features" ,sbcl-trivial-features)))
14175 (native-inputs
14176 `(("cl-fad" ,sbcl-cl-fad)
14177 ("prove" ,sbcl-prove)))
14178 (home-page "https://github.com/fourier/ppath")
14179 (synopsis "Common Lisp's implementation of the Python's os.path module")
14180 (description
14181 "This library is a path strings manipulation library inspired by
14182 Python's @code{os.path}. All functionality from @code{os.path} is supported on
14183 major operation systems.
14184
14185 The philosophy behind is to use simple strings and \"dumb\" string
14186 manipulation functions to handle paths and filenames. Where possible the
14187 corresponding OS system functions are called.")
14188 (license license:bsd-2))))
14189
14190 (define-public ecl-ppath
14191 (sbcl-package->ecl-package sbcl-ppath))
14192
14193 (define-public cl-ppath
14194 (sbcl-package->cl-source-package sbcl-ppath))
14195
14196 (define-public sbcl-trivial-escapes
14197 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
14198 (package
14199 (name "sbcl-trivial-escapes")
14200 (version (git-version "1.2.0" "1" commit))
14201 (source
14202 (origin
14203 (method git-fetch)
14204 (uri (git-reference
14205 (url "https://github.com/williamyaoh/trivial-escapes")
14206 (commit commit)))
14207 (file-name (git-file-name name commit))
14208 (sha256
14209 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
14210 (build-system asdf-build-system/sbcl)
14211 (inputs
14212 `(("named-readtables" ,sbcl-named-readtables)))
14213 (native-inputs
14214 `(("fiveam" ,sbcl-fiveam)))
14215 (home-page "https://github.com/williamyaoh/trivial-escapes")
14216 (synopsis "C-style escape directives for Common Lisp")
14217 (description
14218 "This Common Lisp library interprets escape characters the same way that
14219 most other programming language do.
14220 It provides four readtables. The default one lets you write strings like this:
14221 @code{#\"This string has\na newline in it!\"}.")
14222 (license license:public-domain))))
14223
14224 (define-public ecl-trivial-escapes
14225 (sbcl-package->ecl-package sbcl-trivial-escapes))
14226
14227 (define-public cl-trivial-escapes
14228 (sbcl-package->cl-source-package sbcl-trivial-escapes))
14229
14230 (define-public sbcl-cl-indentify
14231 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
14232 (package
14233 (name "sbcl-cl-indentify")
14234 (version (git-version "0.1" "1" commit))
14235 (source
14236 (origin
14237 (method git-fetch)
14238 (uri (git-reference
14239 (url "https://github.com/yitzchak/cl-indentify")
14240 (commit commit)))
14241 (file-name (git-file-name name commit))
14242 (sha256
14243 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
14244 (build-system asdf-build-system/sbcl)
14245 (inputs
14246 `(("alexandria" ,sbcl-alexandria)
14247 ("command-line-arguments" ,sbcl-command-line-arguments)
14248 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14249 (native-inputs
14250 `(("trivial-escapes" ,sbcl-trivial-escapes)
14251 ("rove" ,sbcl-rove)))
14252 (home-page "https://github.com/yitzchak/cl-indentify")
14253 (synopsis "Code beautifier for Common Lisp")
14254 (description
14255 "A library and command line utility to automatically indent Common Lisp
14256 source files.")
14257 (license license:expat))))
14258
14259 (define-public ecl-cl-indentify
14260 (sbcl-package->ecl-package sbcl-cl-indentify))
14261
14262 (define-public cl-indentify
14263 (sbcl-package->cl-source-package sbcl-cl-indentify))
14264
14265 (define-public sbcl-concrete-syntax-tree
14266 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
14267 (package
14268 (name "sbcl-concrete-syntax-tree")
14269 (version (git-version "0.0.0" "1" commit))
14270 (source
14271 (origin
14272 (method git-fetch)
14273 (uri (git-reference
14274 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14275 (commit commit)))
14276 (file-name (git-file-name name commit))
14277 (sha256
14278 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
14279 (build-system asdf-build-system/sbcl)
14280 (inputs
14281 `(("acclimation" ,sbcl-acclimation)))
14282 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
14283 (synopsis "Parse Common Lisp code into a concrete syntax tree")
14284 (description
14285 "This library is intended to solve the problem of source tracking for
14286 Common Lisp code.
14287
14288 By \"source tracking\", it is meant that code elements that have a known
14289 origin in the form of a position in a file or in an editor buffer are
14290 associated with some kind of information about this origin.
14291
14292 Since the exact nature of such origin information depends on the Common Lisp
14293 implementation and the purpose of wanting to track that origin, the library
14294 does not impose a particular structure of this information. Instead, it
14295 provides utilities for manipulating source code in the form of what is called
14296 concrete syntax trees (CSTs for short) that preserve this information about
14297 the origin.")
14298 (license license:bsd-2))))
14299
14300 (define-public ecl-concrete-syntax-tree
14301 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
14302
14303 (define-public cl-concrete-syntax-tree
14304 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
14305
14306 (define-public sbcl-eclector
14307 (package
14308 (name "sbcl-eclector")
14309 (version "0.5.0")
14310 (source
14311 (origin
14312 (method git-fetch)
14313 (uri (git-reference
14314 (url "https://github.com/s-expressionists/Eclector")
14315 (commit version)))
14316 (file-name (git-file-name name version))
14317 (sha256
14318 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
14319 (build-system asdf-build-system/sbcl)
14320 (inputs
14321 `(("acclimation" ,sbcl-acclimation)
14322 ("alexandria" ,sbcl-alexandria)
14323 ("closer-mop" ,sbcl-closer-mop)
14324 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
14325 (native-inputs
14326 `(("fiveam" ,sbcl-fiveam)))
14327 (arguments
14328 '(#:asd-systems '("eclector"
14329 "eclector-concrete-syntax-tree")))
14330 (home-page "https://s-expressionists.github.io/Eclector/")
14331 (synopsis "Highly customizable, portable Common Lisp reader")
14332 (description
14333 "Eclector is a portable Common Lisp reader that is highly customizable,
14334 can recover from errors and can return concrete syntax trees.
14335
14336 In contrast to many other reader implementations, eclector can recover from
14337 most errors in the input supplied to it and continue reading. This capability
14338 is realized as a restart.
14339
14340 It can also produce instances of the concrete syntax tree classes provided by
14341 the concrete syntax tree library.")
14342 (license license:bsd-2)))
14343
14344 (define-public ecl-eclector
14345 (sbcl-package->ecl-package sbcl-eclector))
14346
14347 (define-public cl-eclector
14348 (sbcl-package->cl-source-package sbcl-eclector))
14349
14350 (define-public sbcl-jsown
14351 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
14352 (package
14353 (name "sbcl-jsown")
14354 (version (git-version "1.0.1" "1" commit))
14355 (source
14356 (origin
14357 (method git-fetch)
14358 (uri (git-reference
14359 (url "https://github.com/madnificent/jsown")
14360 (commit commit)))
14361 (file-name (git-file-name name commit))
14362 (sha256
14363 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
14364 (build-system asdf-build-system/sbcl)
14365 (home-page "https://github.com/madnificent/jsown")
14366 (synopsis "Fast JSON reader / writer library for Common Lisp")
14367 (description
14368 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
14369 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
14370 functions and macros have been added to ease the burden of writing and editing
14371 @code{jsown} objects.
14372
14373 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
14374 list and write them back. If you only need partial retrieval of objects,
14375 @code{jsown} allows you to select the keys which you would like to see parsed.
14376 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
14377 objects themselves.")
14378 (license license:expat))))
14379
14380 (define-public ecl-jsown
14381 (sbcl-package->ecl-package sbcl-jsown))
14382
14383 (define-public cl-jsown
14384 (sbcl-package->cl-source-package sbcl-jsown))
14385
14386 (define-public sbcl-system-locale
14387 (let ((commit "4b334bc2fa45651bcaa28ae7d9331095d6bf0a17"))
14388 (package
14389 (name "sbcl-system-locale")
14390 (version (git-version "1.0.0" "1" commit))
14391 (source
14392 (origin
14393 (method git-fetch)
14394 (uri (git-reference
14395 (url "https://github.com/Shinmera/system-locale/")
14396 (commit commit)))
14397 (file-name (git-file-name name commit))
14398 (sha256
14399 (base32 "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p"))))
14400 (build-system asdf-build-system/sbcl)
14401 (inputs
14402 `(("documentation-utils" ,sbcl-documentation-utils)))
14403 (home-page "https://shinmera.github.io/system-locale/")
14404 (synopsis "Get the system's locale and language settings in Common Lisp")
14405 (description
14406 "This library retrieves locale information configured on the
14407 system. This is helpful if you want to write applications and libraries that
14408 display messages in the user's native language.")
14409 (license license:zlib))))
14410
14411 (define-public ecl-system-locale
14412 (sbcl-package->ecl-package sbcl-system-locale))
14413
14414 (define-public cl-system-locale
14415 (sbcl-package->cl-source-package sbcl-system-locale))
14416
14417 (define-public sbcl-language-codes
14418 (let ((commit "e7aa0e37cb97a3d37d6bc7316b479d01bff8f42e"))
14419 (package
14420 (name "sbcl-language-codes")
14421 (version (git-version "1.0.0" "1" commit))
14422 (source
14423 (origin
14424 (method git-fetch)
14425 (uri (git-reference
14426 (url "https://github.com/Shinmera/language-codes")
14427 (commit commit)))
14428 (file-name (git-file-name name commit))
14429 (sha256
14430 (base32 "0py176ibmsc01n5r0q1bs1ykqf5jwdbh8kx0j1a814l9y51241v0"))))
14431 (build-system asdf-build-system/sbcl)
14432 (inputs
14433 `(("documentation-utils" ,sbcl-documentation-utils)))
14434 (home-page "https://shinmera.github.io/language-codes/")
14435 (synopsis "Map ISO language codes to language names in Common Lisp")
14436 (description
14437 "This is a small library providing the ISO-639 language code to
14438 language name mapping.")
14439 (license license:zlib))))
14440
14441 (define-public ecl-language-codes
14442 (sbcl-package->ecl-package sbcl-language-codes))
14443
14444 (define-public cl-language-codes
14445 (sbcl-package->cl-source-package sbcl-language-codes))
14446
14447 (define-public sbcl-multilang-documentation
14448 (let ((commit "59e798a07e949e8957a20927f52aca425d84e4a0"))
14449 (package
14450 (name "sbcl-multilang-documentation")
14451 (version (git-version "1.0.0" "1" commit))
14452 (source
14453 (origin
14454 (method git-fetch)
14455 (uri (git-reference
14456 (url "https://github.com/Shinmera/multilang-documentation")
14457 (commit commit)))
14458 (file-name (git-file-name name commit))
14459 (sha256
14460 (base32 "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw"))))
14461 (build-system asdf-build-system/sbcl)
14462 (inputs
14463 `(("documentation-utils" ,sbcl-documentation-utils)
14464 ("language-codes" ,sbcl-language-codes)
14465 ("system-locale" ,sbcl-system-locale)))
14466 (home-page "https://shinmera.github.io/multilang-documentation/")
14467 (synopsis "Add multiple languages support to Common Lisp documentation")
14468 (description
14469 "This library provides a drop-in replacement function for
14470 cl:documentation that supports multiple docstrings per-language, allowing you
14471 to write documentation that can be internationalised.")
14472 (license license:zlib))))
14473
14474 (define-public ecl-multilang-documentation
14475 (sbcl-package->ecl-package sbcl-multilang-documentation))
14476
14477 (define-public cl-multilang-documentation
14478 (sbcl-package->cl-source-package sbcl-multilang-documentation))
14479
14480 (define-public sbcl-trivial-do
14481 (let ((commit "03a1729f1e71bad3ebcf6cf098a0cce52dfa1163"))
14482 (package
14483 (name "sbcl-trivial-do")
14484 (version (git-version "0.1" "1" commit))
14485 (source
14486 (origin
14487 (method git-fetch)
14488 (uri (git-reference
14489 (url "https://github.com/yitzchak/trivial-do")
14490 (commit commit)))
14491 (file-name (git-file-name name commit))
14492 (sha256
14493 (base32 "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd"))))
14494 (build-system asdf-build-system/sbcl)
14495 (home-page "https://github.com/yitzchak/trivial-do")
14496 (synopsis "Additional dolist style macros for Common Lisp")
14497 (description
14498 "Additional dolist style macros for Common Lisp, such as
14499 @code{doalist}, @code{dohash}, @code{dolist*}, @code{doplist}, @code{doseq}
14500 and @code{doseq*}.")
14501 (license license:zlib))))
14502
14503 (define-public ecl-trivial-do
14504 (sbcl-package->ecl-package sbcl-trivial-do))
14505
14506 (define-public cl-trivial-do
14507 (sbcl-package->cl-source-package sbcl-trivial-do))
14508
14509 (define-public sbcl-common-lisp-jupyter
14510 (let ((commit "011f60b69a3b8c70eefeafe7acb724cd00dd3e62"))
14511 (package
14512 (name "sbcl-common-lisp-jupyter")
14513 (version (git-version "0.1" "2" commit))
14514 (source
14515 (origin
14516 (method git-fetch)
14517 (uri (git-reference
14518 (url "https://github.com/yitzchak/common-lisp-jupyter")
14519 (commit commit)))
14520 (file-name (git-file-name name commit))
14521 (sha256
14522 (base32 "10jdghlcmp9p6ygrvw7g49i8f9jy71ybzn29n544fzb6g47siqhw"))))
14523 (build-system asdf-build-system/sbcl)
14524 (inputs
14525 `(("alexandria" ,sbcl-alexandria)
14526 ("babel" ,sbcl-babel)
14527 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14528 ("cl-base64" ,sbcl-cl-base64)
14529 ("cl-indentify" ,sbcl-cl-indentify)
14530 ("closer-mop" ,sbcl-closer-mop)
14531 ("eclector" ,sbcl-eclector)
14532 ("ironclad" ,sbcl-ironclad)
14533 ("iterate" ,sbcl-iterate)
14534 ("jsown" ,sbcl-jsown)
14535 ("multilang-documentation" ,sbcl-multilang-documentation)
14536 ("pzmq" ,sbcl-pzmq)
14537 ("puri" ,sbcl-puri)
14538 ("static-vectors" ,sbcl-static-vectors)
14539 ("trivial-do" ,sbcl-trivial-do)
14540 ("trivial-garbage" ,sbcl-trivial-garbage)
14541 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
14542 ("trivial-mimes" ,sbcl-trivial-mimes)))
14543 (home-page "https://yitzchak.github.io/common-lisp-jupyter/")
14544 (synopsis "Common Lisp kernel for Jupyter")
14545 (description
14546 "This is a Common Lisp kernel for Jupyter along with a library for
14547 building Jupyter kernels, based on Maxima-Jupyter which was based on
14548 @code{cl-jupyter}.")
14549 (license license:zlib))))
14550
14551 (define-public ecl-common-lisp-jupyter
14552 (sbcl-package->ecl-package sbcl-common-lisp-jupyter))
14553
14554 (define-public cl-common-lisp-jupyter
14555 (sbcl-package->cl-source-package sbcl-common-lisp-jupyter))
14556
14557 (define-public sbcl-radiance
14558 (let ((commit "5ffbe1f157edd17a13194495099efd81e052df85")
14559 (revision "1"))
14560 (package
14561 (name "sbcl-radiance")
14562 (version (git-version "2.1.2" revision commit))
14563 (source
14564 (origin
14565 (method git-fetch)
14566 (uri (git-reference
14567 (url "https://github.com/Shirakumo/radiance")
14568 (commit commit)))
14569 (file-name (git-file-name "radiance" version))
14570 (sha256
14571 (base32 "0hbkcnmnlj1cqzbv18zmla2iwbl65kxilz9764hndf8x8as1539c"))))
14572 (build-system asdf-build-system/sbcl)
14573 (arguments
14574 `(#:tests? #f ; TODO: The tests require some configuration.
14575 #:phases
14576 (modify-phases %standard-phases
14577 (add-after 'unpack 'disable-quicklisp
14578 (lambda _
14579 ;; Disable the automatic installation of systems by Quicklisp.
14580 ;; (Maybe there would be a way to package Quicklisp and make it
14581 ;; install things in the user's directory instead of
14582 ;; /gnu/store/...).
14583 (substitute* "interfaces.lisp"
14584 (("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
14585 all)
14586 (string-append "#+quicklisp " all))))))))
14587 (native-inputs
14588 `(("alexandria" ,sbcl-alexandria)
14589 ("dexador" ,sbcl-dexador)
14590 ("parachute" ,sbcl-parachute)
14591 ("verbose" ,sbcl-verbose)))
14592 (inputs
14593 `(("babel" ,sbcl-babel)
14594 ("bordeaux-threads" ,sbcl-bordeaux-threads)
14595 ("cl-ppcre" ,sbcl-cl-ppcre)
14596 ("closer-mop" ,sbcl-closer-mop)
14597 ("documentation-utils" ,sbcl-documentation-utils)
14598 ("deploy" ,sbcl-deploy)
14599 ("form-fiddle" ,sbcl-form-fiddle)
14600 ("lambda-fiddle" ,sbcl-lambda-fiddle)
14601 ("local-time" ,sbcl-local-time)
14602 ("modularize-hooks" ,sbcl-modularize-hooks)
14603 ("modularize-interfaces" ,sbcl-modularize-interfaces)
14604 ("puri" ,sbcl-puri)
14605 ("trivial-indent" ,sbcl-trivial-indent)
14606 ("trivial-mimes" ,sbcl-trivial-mimes)
14607 ("ubiquitous-concurrent" ,sbcl-ubiquitous)))
14608 (home-page "https://shirakumo.github.io/radiance/")
14609 (synopsis "Common Lisp web application environment")
14610 (description
14611 "Radiance is a web application environment, which is sort of like a web
14612 framework, but more general, more flexible. It should let you write personal
14613 websites and generally deployable applications easily and in such a way that
14614 they can be used on practically any setup without having to undergo special
14615 adaptations.")
14616 (license license:zlib))))
14617
14618 (define-public ecl-radiance
14619 (sbcl-package->ecl-package sbcl-radiance))
14620
14621 (define-public cl-radiance
14622 (sbcl-package->cl-source-package sbcl-radiance))
14623
14624 (define-public sbcl-daemon
14625 (let ((commit "d5652f4332c3cee21e9bf83b9237129605004597")
14626 (revision "1"))
14627 (package
14628 (name "sbcl-daemon")
14629 (version (git-version "0.0.4" revision commit))
14630 (source
14631 (origin
14632 (method git-fetch)
14633 (uri (git-reference
14634 (url "https://github.com/snmsts/daemon")
14635 (commit commit)))
14636 (file-name (git-file-name "daemon" version))
14637 (sha256
14638 (base32 "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4"))))
14639 (build-system asdf-build-system/sbcl)
14640 (inputs
14641 `(("trivial-features" ,sbcl-trivial-features)))
14642 (home-page "https://github.com/snmsts/daemon")
14643 (synopsis "Daemonize Common Lisp processes")
14644 (description
14645 "DAEMON provides the functionality of daemonizing Common Lisp processes
14646 on UNIX like platforms.")
14647 (license license:expat))))
14648
14649 (define-public ecl-daemon
14650 (sbcl-package->ecl-package sbcl-daemon))
14651
14652 (define-public cl-daemon
14653 (sbcl-package->cl-source-package sbcl-daemon))
14654
14655 (define-public sbcl-file-attributes
14656 (let ((commit "bbde396438f37d676de9775239115410bec4da2d"))
14657 (package
14658 (name "sbcl-file-attributes")
14659 (version (git-version "1.0.0" "2" commit))
14660 (source
14661 (origin
14662 (method git-fetch)
14663 (uri (git-reference
14664 (url "https://github.com/Shinmera/file-attributes/")
14665 (commit commit)))
14666 (file-name (git-file-name name version))
14667 (sha256
14668 (base32 "0n8q818ry2shggjfhp8gjby8v5mla9pg97c5g19pcglpnwim7a74"))))
14669 (build-system asdf-build-system/sbcl)
14670 (inputs
14671 `(("cffi" ,sbcl-cffi)
14672 ("documentation-utils" ,sbcl-documentation-utils)
14673 ("trivial-features" ,sbcl-trivial-features)))
14674 (home-page "https://shinmera.github.io/file-attributes/")
14675 (synopsis "Access to common file attributes in Common Lisp")
14676 (description
14677 "This is a small OS portability library to retrieve and set file
14678 attributes not supported by the Common Lisp standard functions.")
14679 (license license:zlib))))
14680
14681 (define-public ecl-file-attributes
14682 (sbcl-package->ecl-package sbcl-file-attributes))
14683
14684 (define-public cl-file-attributes
14685 (sbcl-package->cl-source-package sbcl-file-attributes))
14686
14687 (define-public sbcl-cl-difflib
14688 (let ((commit "98eb335c693f1881584b83ca7be4a0fe05355c4e")
14689 (revision "0"))
14690 (package
14691 (name "sbcl-cl-difflib")
14692 (version (git-version "0.2" revision commit))
14693 (source
14694 (origin
14695 (method git-fetch)
14696 (uri (git-reference
14697 (url "https://github.com/wiseman/cl-difflib")
14698 (commit commit)))
14699 (file-name
14700 (git-file-name name version))
14701 (sha256
14702 (base32 "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48"))))
14703 (build-system asdf-build-system/sbcl)
14704 ;; Due to the age of this library tests use some deprecated
14705 ;; functionality and keep failing.
14706 (arguments
14707 '(#:tests? #f
14708 #:asd-files '("cl-difflib.asd")))
14709 (home-page "https://github.com/wiseman/cl-difflib")
14710 (synopsis "Compute differences between pairs of sequences")
14711 (description
14712 "A Common Lisp library for computing differences between
14713 sequences based on the Python difflib module.")
14714 (license license:expat))))
14715
14716 (define-public ecl-cl-difflib
14717 (sbcl-package->ecl-package sbcl-cl-difflib))
14718
14719 (define-public cl-difflib
14720 (sbcl-package->cl-source-package sbcl-cl-difflib))
14721
14722 (define-public sbcl-cl-html-diff
14723 (let ((commit "5a0b39d1c524278d6f60851d7786bb2585614310")
14724 (revision "0"))
14725 (package
14726 (name "sbcl-cl-html-diff")
14727 (version (git-version "0.1" revision commit))
14728 (source
14729 (origin
14730 (method git-fetch)
14731 (uri (git-reference
14732 (url "https://github.com/wiseman/cl-html-diff")
14733 (commit commit)))
14734 (file-name
14735 (git-file-name name version))
14736 (sha256
14737 (base32 "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb"))))
14738 (build-system asdf-build-system/sbcl)
14739 (inputs
14740 `(("cl-difflib" ,sbcl-cl-difflib)))
14741 (home-page "https://github.com/wiseman/cl-html-diff")
14742 (synopsis "Generate a human-readable diff of two HTML documents")
14743 (description
14744 "A Common Lisp library for generating a human-readable diff of two
14745 HTML documents.")
14746 (license license:expat))))
14747
14748 (define-public ecl-cl-html-diff
14749 (sbcl-package->ecl-package sbcl-cl-html-diff))
14750
14751 (define-public cl-html-diff
14752 (sbcl-package->cl-source-package sbcl-cl-html-diff))
14753
14754 (define-public sbcl-tooter
14755 (let ((commit "b8d4b245b1d946bc9da6f51a3d8c2dc43e4d3868")
14756 (revision "1"))
14757 (package
14758 (name "sbcl-tooter")
14759 (version (git-version "1.0.0" revision commit))
14760 (source
14761 (origin
14762 (method git-fetch)
14763 (uri (git-reference
14764 (url "https://github.com/Shinmera/tooter")
14765 (commit commit)))
14766 (file-name (git-file-name "tooter" version))
14767 (sha256
14768 (base32 "0g40dlis4dbw4p3zxz3scx27b9zm8zlzihywapf5zqrdqfx5hpq9"))))
14769 (build-system asdf-build-system/sbcl)
14770 (inputs
14771 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
14772 ("sbcl-documentation-utils" ,sbcl-documentation-utils)
14773 ("sbcl-drakma" ,sbcl-drakma)
14774 ("sbcl-yason" ,sbcl-yason)))
14775 (synopsis "Common Lisp client library for Mastodon instances")
14776 (description
14777 "This is a Common Lisp library implementing the full v1 REST API
14778 protocol for Mastodon.")
14779 (home-page "https://shinmera.github.io/tooter/")
14780 (license license:zlib))))
14781
14782 (define-public ecl-tooter
14783 (sbcl-package->ecl-package sbcl-tooter))
14784
14785 (define-public cl-tooter
14786 (sbcl-package->cl-source-package sbcl-tooter))
14787
14788 (define-public sbcl-croatoan
14789 (let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f")
14790 (revision "1"))
14791 (package
14792 (name "sbcl-croatoan")
14793 (version (git-version "0.0.1" revision commit))
14794 (source
14795 (origin
14796 (method git-fetch)
14797 (uri (git-reference
14798 (url "https://github.com/McParen/croatoan")
14799 (commit commit)))
14800 (file-name (git-file-name "croatoan" version))
14801 (sha256
14802 (base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx"))))
14803 (build-system asdf-build-system/sbcl)
14804 (arguments
14805 '(#:phases
14806 (modify-phases %standard-phases
14807 (add-after 'unpack 'fix-paths
14808 (lambda* (#:key inputs #:allow-other-keys)
14809 (substitute* "ncurses/ncurses.lisp"
14810 (("libncursesw" all)
14811 (string-append (assoc-ref inputs "ncurses")
14812 "/lib/"
14813 all))))))))
14814 (inputs
14815 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
14816 ("cffi" ,sbcl-cffi)
14817 ("ncurses" ,ncurses)
14818 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
14819 (synopsis "Common Lisp bindings for the ncurses terminal library")
14820 (description "Croatoan provides high-level Common Lisp CLOS bindings for
14821 the ncurses terminal library.")
14822 (home-page "https://github.com/McParen/croatoan")
14823 (license license:expat))))
14824
14825 (define-public ecl-croatoan
14826 (sbcl-package->ecl-package sbcl-croatoan))
14827
14828 (define-public cl-croatoan
14829 (sbcl-package->cl-source-package sbcl-croatoan))
14830
14831 (define-public sbcl-cl-spark
14832 (let ((commit "4e34bcebdcf8e45265986eb43ad4ad03bb41a581")
14833 (revision "1"))
14834 (package
14835 (name "sbcl-cl-spark")
14836 (version (git-version "0.1.13" revision commit))
14837 (source
14838 (origin
14839 (method git-fetch)
14840 (uri (git-reference
14841 (url "https://github.com/tkych/cl-spark")
14842 (commit commit)))
14843 (file-name (git-file-name "cl-spark" version))
14844 (sha256
14845 (base32 "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk"))))
14846 (build-system asdf-build-system/sbcl)
14847 (native-inputs
14848 `(("fiveam" ,sbcl-fiveam)))
14849 (synopsis "Common Lisp library to make histograms")
14850 (description "This is a Common Lisp library to make histograms using
14851 UTF-8 block characters.")
14852 (home-page "https://github.com/tkych/cl-spark")
14853 (license license:expat))))
14854
14855 (define-public ecl-cl-spark
14856 (sbcl-package->ecl-package sbcl-cl-spark))
14857
14858 (define-public cl-spark
14859 (sbcl-package->cl-source-package sbcl-cl-spark))
14860
14861 (define-public sbcl-access
14862 (let ((commit "1b26db3760018cdc4624f880f0a1e0155d8f6c50")
14863 (revision "1"))
14864 (package
14865 (name "sbcl-access")
14866 (version (git-version "1.5.0" revision commit))
14867 (source
14868 (origin
14869 (method git-fetch)
14870 (uri (git-reference
14871 (url "https://github.com/sharplispers/access")
14872 (commit commit)))
14873 (file-name (git-file-name "access" version))
14874 (sha256
14875 (base32 "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5"))))
14876 (build-system asdf-build-system/sbcl)
14877 (native-inputs
14878 `(("lisp-unit2" ,sbcl-lisp-unit2)))
14879 (inputs
14880 `(("alexandria" ,sbcl-alexandria)
14881 ("anaphora" ,sbcl-anaphora)
14882 ("closer-mop" ,sbcl-closer-mop)
14883 ("interpol" ,sbcl-cl-interpol)
14884 ("iterate" ,sbcl-iterate)))
14885 (synopsis
14886 "Common lisp library to unify access to dictionary-like structures")
14887 (description
14888 "This is a Common lisp library to unify access to the most common
14889 dictionary-like data structures.")
14890 (home-page "https://github.com/sharplispers/access")
14891 (license license:bsd-3))))
14892
14893 (define-public ecl-access
14894 (sbcl-package->ecl-package sbcl-access))
14895
14896 (define-public cl-access
14897 (sbcl-package->cl-source-package sbcl-access))
14898
14899 (define-public sbcl-sxql-composer
14900 (let ((commit "2b2230cb01ae1b68e28921d99e4814046867fb75")
14901 (revision "1"))
14902 (package
14903 (name "sbcl-sxql-composer")
14904 (version (git-version "0.1" revision commit))
14905 (source
14906 (origin
14907 (method git-fetch)
14908 (uri (git-reference
14909 (url "https://github.com/mmontone/sxql-composer")
14910 (commit commit)))
14911 (file-name (git-file-name "sxql-composer" version))
14912 (sha256
14913 (base32 "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r"))))
14914 (build-system asdf-build-system/sbcl)
14915 (inputs
14916 `(("sxql" ,sbcl-sxql)))
14917 (synopsis "Build and compose SXQL queries dynamically")
14918 (description
14919 "This is a Common Lisp library to build and compose SXQL queries
14920 dynamically.")
14921 (home-page "https://github.com/mmontone/sxql-composer")
14922 (license license:expat))))
14923
14924 (define-public ecl-sxql-composer
14925 (sbcl-package->ecl-package sbcl-sxql-composer))
14926
14927 (define-public cl-sxql-composer
14928 (sbcl-package->cl-source-package sbcl-sxql-composer))
14929
14930 (define-public sbcl-cl-i18n
14931 (let ((commit "fa0aa5bef8dfbdf2d72f7cc9f49e848ccbb567aa")
14932 (revision "1"))
14933 (package
14934 (name "sbcl-cl-i18n")
14935 (version (git-version "0.5.0" revision commit))
14936 (source
14937 (origin
14938 (method git-fetch)
14939 (uri (git-reference
14940 (url "https://notabug.org/cage/cl-i18n")
14941 (commit commit)))
14942 (file-name (git-file-name "cl-i18n" version))
14943 (sha256
14944 (base32 "1hpsdbb3hd79bzbrnbqgk2j3f0ispxvk91snp08fm2z3f1sds5as"))))
14945 (build-system asdf-build-system/sbcl)
14946 (inputs
14947 `(("alexandria" ,sbcl-alexandria)
14948 ("babel" ,sbcl-babel)
14949 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
14950 (synopsis "Internationalisation framework for Common Lisp")
14951 (description
14952 "This is a Gettext-style internationalisation framework for Common
14953 Lisp.")
14954 (home-page "https://notabug.org/cage/cl-i18n")
14955 (license license:llgpl))))
14956
14957 (define-public ecl-cl-i18n
14958 (sbcl-package->ecl-package sbcl-cl-i18n))
14959
14960 (define-public cl-i18n
14961 (sbcl-package->cl-source-package sbcl-cl-i18n))
14962
14963 (define-public sbcl-crypto-shortcuts
14964 (let ((commit "7efd22d80e867cd8c9f8f363d4fe7b51ee2dadc0")
14965 (revision "1"))
14966 (package
14967 (name "sbcl-crypto-shortcuts")
14968 (version (git-version "2.0.0" revision commit))
14969 (source
14970 (origin
14971 (method git-fetch)
14972 (uri (git-reference
14973 (url "https://github.com/Shinmera/crypto-shortcuts")
14974 (commit commit)))
14975 (file-name (git-file-name "crypto-shortcuts" version))
14976 (sha256
14977 (base32 "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin"))))
14978 (build-system asdf-build-system/sbcl)
14979 (inputs
14980 `(("cl-base64" ,sbcl-cl-base64)
14981 ("flexi-stream" ,sbcl-flexi-streams)
14982 ("ironclad" ,sbcl-ironclad)))
14983 (synopsis "Collection of common cryptography functions")
14984 (description
14985 "This is a collection of common cryptography functions for Common
14986 Lisp.")
14987 (home-page "https://shinmera.github.io/crypto-shortcuts/")
14988 (license license:zlib))))
14989
14990 (define-public ecl-crypto-shortcuts
14991 (sbcl-package->ecl-package sbcl-crypto-shortcuts))
14992
14993 (define-public cl-crypto-shortcuts
14994 (sbcl-package->cl-source-package sbcl-crypto-shortcuts))
14995
14996 (define-public sbcl-cl-html5-parser
14997 (let ((commit "74a92eb3a183a0afd089ea33350e816e6b9aeefa")
14998 (revision "1"))
14999 (package
15000 (name "sbcl-cl-html5-parser")
15001 (version (git-version "0.0.0" revision commit))
15002 (source
15003 (origin
15004 (method git-fetch)
15005 (uri (git-reference
15006 (url "https://github.com/rotatef/cl-html5-parser")
15007 (commit commit)))
15008 (file-name (git-file-name "cl-html5-parser" version))
15009 (sha256
15010 (base32 "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9"))))
15011 (build-system asdf-build-system/sbcl)
15012 (arguments
15013 '(#:tests? #f
15014 #:asd-systems '("cl-html5-parser")))
15015 (inputs
15016 `(("cl-ppcre" ,sbcl-cl-ppcre)
15017 ("flexi-stream" ,sbcl-flexi-streams)
15018 ("string-case" ,sbcl-string-case)))
15019 (synopsis "HTML5 parser for Common Lisp")
15020 (description "This a Common Lisp library to parse HTML5 documents.")
15021 (home-page "https://github.com/rotatef/cl-html5-parser")
15022 (license license:lgpl3+))))
15023
15024 (define-public ecl-cl-html5-parser
15025 (sbcl-package->ecl-package sbcl-cl-html5-parser))
15026
15027 (define-public cl-html5-parser
15028 (sbcl-package->cl-source-package sbcl-cl-html5-parser))