gnu: Add jsown.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
14 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
15 ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
16 ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
17 ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020, 2021 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
26 ;;;
27 ;;; This file is part of GNU Guix.
28 ;;;
29 ;;; GNU Guix is free software; you can redistribute it and/or modify it
30 ;;; under the terms of the GNU General Public License as published by
31 ;;; the Free Software Foundation; either version 3 of the License, or (at
32 ;;; your option) any later version.
33 ;;;
34 ;;; GNU Guix is distributed in the hope that it will be useful, but
35 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37 ;;; GNU General Public License for more details.
38 ;;;
39 ;;; You should have received a copy of the GNU General Public License
40 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42 ;;; This file only contains Common Lisp libraries.
43 ;;; Common Lisp compilers and tooling go to lisp.scm.
44 ;;; Common Lisp applications should go to the most appropriate file,
45 ;;; e.g. StumpWM is in wm.scm.
46
47 (define-module (gnu packages lisp-xyz)
48 #:use-module (gnu packages)
49 #:use-module ((guix licenses) #:prefix license:)
50 #:use-module (guix packages)
51 #:use-module (guix download)
52 #:use-module (guix git-download)
53 #:use-module (guix hg-download)
54 #:use-module (guix utils)
55 #:use-module (guix build-system asdf)
56 #:use-module (guix build-system trivial)
57 #:use-module (gnu packages base)
58 #:use-module (gnu packages c)
59 #:use-module (gnu packages compression)
60 #:use-module (gnu packages databases)
61 #:use-module (gnu packages enchant)
62 #:use-module (gnu packages file)
63 #:use-module (gnu packages fonts)
64 #:use-module (gnu packages fontutils)
65 #:use-module (gnu packages glib)
66 #:use-module (gnu packages gtk)
67 #:use-module (gnu packages imagemagick)
68 #:use-module (gnu packages libevent)
69 #:use-module (gnu packages libffi)
70 #:use-module (gnu packages lisp)
71 #:use-module (gnu packages maths)
72 #:use-module (gnu packages networking)
73 #:use-module (gnu packages pkg-config)
74 #:use-module (gnu packages python)
75 #:use-module (gnu packages python-xyz)
76 #:use-module (gnu packages sqlite)
77 #:use-module (gnu packages tcl)
78 #:use-module (gnu packages tls)
79 #:use-module (gnu packages web)
80 #:use-module (gnu packages webkit)
81 #:use-module (gnu packages xdisorg)
82 #:use-module (ice-9 match)
83 #:use-module (srfi srfi-1)
84 #:use-module (srfi srfi-19))
85
86 (define-public sbcl-alexandria
87 (package
88 (name "sbcl-alexandria")
89 (version "1.2")
90 (source
91 (origin
92 (method git-fetch)
93 (uri (git-reference
94 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
95 (commit (string-append "v" version))))
96 (sha256
97 (base32
98 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
99 (file-name (git-file-name name version))))
100 (build-system asdf-build-system/sbcl)
101 (native-inputs
102 `(("rt" ,sbcl-rt)))
103 (synopsis "Collection of portable utilities for Common Lisp")
104 (description
105 "Alexandria is a collection of portable utilities. It does not contain
106 conceptual extensions to Common Lisp. It is conservative in scope, and
107 portable between implementations.")
108 (home-page "https://common-lisp.net/project/alexandria/")
109 (license license:public-domain)))
110
111 (define-public cl-alexandria
112 (sbcl-package->cl-source-package sbcl-alexandria))
113
114 (define-public ecl-alexandria
115 (sbcl-package->ecl-package sbcl-alexandria))
116
117 (define-public sbcl-asdf-finalizers
118 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
119 (revision "1"))
120 (package
121 (name "sbcl-asdf-finalizers")
122 (version (git-version "0.0.0" revision commit))
123 (source
124 (origin
125 (method git-fetch)
126 (uri (git-reference
127 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
128 (commit commit)))
129 (file-name (git-file-name name version))
130 (sha256
131 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
132 (build-system asdf-build-system/sbcl)
133 (native-inputs
134 `(("fare-utils" ,sbcl-fare-utils)
135 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
136 (arguments
137 `(#:asd-files '("asdf-finalizers.asd"
138 "list-of.asd"
139 "asdf-finalizers-test.asd")
140 #:asd-systems '("asdf-finalizers"
141 "list-of")))
142 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
143 (synopsis "Enforced calling of finalizers for Lisp code")
144 (description "This library allows you to implement and enforce proper
145 finalization of compile-time constructs while building Lisp source files.
146
147 It produces two systems: asdf-finalizers and list-of.")
148 (license license:expat))))
149
150 (define-public ecl-asdf-finalizers
151 (sbcl-package->ecl-package sbcl-asdf-finalizers))
152
153 (define-public cl-asdf-finalizers
154 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
155
156 (define-public sbcl-net.didierverna.asdf-flv
157 (package
158 (name "sbcl-net.didierverna.asdf-flv")
159 (version "2.1")
160 (source
161 (origin
162 (method git-fetch)
163 (uri (git-reference
164 (url "https://github.com/didierverna/asdf-flv")
165 (commit (string-append "version-" version))))
166 (file-name (git-file-name "asdf-flv" version))
167 (sha256
168 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
169 (build-system asdf-build-system/sbcl)
170 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
171 (description "ASDF-FLV provides support for file-local variables through
172 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
173 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
174 dynamic binding is created before processing the file, so that any
175 modification to the variable becomes essentially file-local.
176
177 In order to make one or several variables file-local, use the macros
178 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
179 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
180 (license (license:non-copyleft
181 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
182 "GNU All-Permissive License"))))
183
184 (define-public cl-net.didierverna.asdf-flv
185 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
186
187 (define-public ecl-net.didierverna.asdf-flv
188 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
189
190 (define-public sbcl-command-line-arguments
191 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
192 (revision "1"))
193 (package
194 (name "sbcl-command-line-arguments")
195 (version (git-version "2.0.0" revision commit))
196 (source
197 (origin
198 (method git-fetch)
199 (uri (git-reference
200 (url "https://github.com/fare/command-line-arguments")
201 (commit commit)))
202 (file-name (git-file-name name version))
203 (sha256
204 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
205 (build-system asdf-build-system/sbcl)
206 (home-page "https://github.com/fare/command-line-arguments")
207 (synopsis "Trivial command-line argument parsing library for Common Lisp")
208 (description "This is a library to abstract away the parsing of
209 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
210 or cl-launch for portable processing of command-line arguments.")
211 (license license:expat))))
212
213 (define-public ecl-command-line-arguments
214 (sbcl-package->ecl-package sbcl-command-line-arguments))
215
216 (define-public cl-command-line-arguments
217 (sbcl-package->cl-source-package sbcl-command-line-arguments))
218
219 (define-public sbcl-fiveam
220 (package
221 (name "sbcl-fiveam")
222 (version "1.4.1")
223 (source
224 (origin
225 (method git-fetch)
226 (uri (git-reference
227 (url "https://github.com/sionescu/fiveam")
228 (commit (string-append "v" version))))
229 (file-name (git-file-name "fiveam" version))
230 (sha256
231 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
232 (inputs
233 `(("alexandria" ,sbcl-alexandria)
234 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
235 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
236 (build-system asdf-build-system/sbcl)
237 (synopsis "Common Lisp testing framework")
238 (description "FiveAM is a simple (as far as writing and running tests
239 goes) regression testing framework. It has been designed with Common Lisp's
240 interactive development model in mind.")
241 (home-page "https://common-lisp.net/project/fiveam/")
242 (license license:bsd-3)))
243
244 (define-public cl-fiveam
245 (sbcl-package->cl-source-package sbcl-fiveam))
246
247 (define-public ecl-fiveam
248 (sbcl-package->ecl-package sbcl-fiveam))
249
250 (define-public sbcl-bordeaux-threads
251 (package
252 (name "sbcl-bordeaux-threads")
253 (version "0.8.8")
254 (source (origin
255 (method git-fetch)
256 (uri (git-reference
257 (url "https://github.com/sionescu/bordeaux-threads")
258 (commit (string-append "v" version))))
259 (sha256
260 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
261 (file-name
262 (git-file-name "bordeaux-threads" version))))
263 (inputs `(("alexandria" ,sbcl-alexandria)))
264 (native-inputs `(("fiveam" ,sbcl-fiveam)))
265 (build-system asdf-build-system/sbcl)
266 (synopsis "Portable shared-state concurrency library for Common Lisp")
267 (description "BORDEAUX-THREADS is a proposed standard for a minimal
268 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
269 support.")
270 (home-page "https://common-lisp.net/project/bordeaux-threads/")
271 (license license:x11)))
272
273 (define-public cl-bordeaux-threads
274 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
275
276 (define-public ecl-bordeaux-threads
277 (sbcl-package->ecl-package sbcl-bordeaux-threads))
278
279 (define-public sbcl-trivial-gray-streams
280 (let ((revision "1")
281 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
282 (package
283 (name "sbcl-trivial-gray-streams")
284 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
285 (source
286 (origin
287 (method git-fetch)
288 (uri
289 (git-reference
290 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
291 (commit commit)))
292 (sha256
293 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
294 (file-name
295 (string-append "trivial-gray-streams-" version "-checkout"))))
296 (build-system asdf-build-system/sbcl)
297 (synopsis "Compatibility layer for Gray streams implementations")
298 (description "Gray streams is an interface proposed for inclusion with
299 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
300 popular CL implementations implement it. This package provides an extremely
301 thin compatibility layer for gray streams.")
302 (home-page "https://www.cliki.net/trivial-gray-streams")
303 (license license:x11))))
304
305 (define-public cl-trivial-gray-streams
306 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
307
308 (define-public ecl-trivial-gray-streams
309 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
310
311 (define-public sbcl-fiasco
312 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
313 (revision "1"))
314 (package
315 (name "sbcl-fiasco")
316 (version (git-version "0.0.1" revision commit))
317 (source
318 (origin
319 (method git-fetch)
320 (uri (git-reference
321 (url "https://github.com/joaotavora/fiasco")
322 (commit commit)))
323 (file-name (git-file-name "fiasco" version))
324 (sha256
325 (base32
326 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
327 (build-system asdf-build-system/sbcl)
328 (inputs
329 `(("alexandria" ,sbcl-alexandria)
330 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
331 (synopsis "Simple and powerful test framework for Common Lisp")
332 (description "A Common Lisp test framework that treasures your failures,
333 logical continuation of Stefil. It focuses on interactive debugging.")
334 (home-page "https://github.com/joaotavora/fiasco")
335 ;; LICENCE specifies this is public-domain unless the legislation
336 ;; doesn't allow or recognize it. In that case it falls back to a
337 ;; permissive licence.
338 (license (list license:public-domain
339 (license:x11-style "file://LICENCE"))))))
340
341 (define-public cl-fiasco
342 (sbcl-package->cl-source-package sbcl-fiasco))
343
344 (define-public ecl-fiasco
345 (sbcl-package->ecl-package sbcl-fiasco))
346
347 (define-public sbcl-flexi-streams
348 (package
349 (name "sbcl-flexi-streams")
350 (version "1.0.18")
351 (source
352 (origin
353 (method git-fetch)
354 (uri (git-reference
355 (url "https://github.com/edicl/flexi-streams")
356 (commit (string-append "v" version))))
357 (file-name (git-file-name "flexi-streams" version))
358 (sha256
359 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
360 (build-system asdf-build-system/sbcl)
361 (arguments
362 `(#:phases
363 (modify-phases %standard-phases
364 (add-after 'unpack 'make-git-checkout-writable
365 (lambda _
366 (for-each make-file-writable (find-files "."))
367 #t)))))
368 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
369 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
370 (description "Flexi-streams is an implementation of \"virtual\" bivalent
371 streams that can be layered atop real binary or bivalent streams and that can
372 be used to read and write character data in various single- or multi-octet
373 encodings which can be changed on the fly. It also supplies in-memory binary
374 streams which are similar to string streams.")
375 (home-page "http://weitz.de/flexi-streams/")
376 (license license:bsd-3)))
377
378 (define-public cl-flexi-streams
379 (sbcl-package->cl-source-package sbcl-flexi-streams))
380
381 (define-public ecl-flexi-streams
382 (sbcl-package->ecl-package sbcl-flexi-streams))
383
384 (define-public sbcl-cl-abnf
385 ;; There are no releases
386 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
387 (revision "1"))
388 (package
389 (name "sbcl-cl-abnf")
390 (version (git-version "0.0.0" revision commit))
391 (source
392 (origin
393 (method git-fetch)
394 (uri (git-reference
395 (url "https://github.com/dimitri/cl-abnf")
396 (commit commit)))
397 (file-name (git-file-name "cl-abnf" version))
398 (sha256
399 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
400 (build-system asdf-build-system/sbcl)
401 (inputs
402 `(("cl-ppcre" ,sbcl-cl-ppcre)
403 ("esrap" ,sbcl-esrap)))
404 (arguments
405 `(#:asd-systems '("abnf")))
406 (home-page "https://github.com/dimitri/cl-abnf")
407 (synopsis "ABNF parser generator for Common Lisp")
408 (description "This Common Lisp library implements a parser generator for
409 the ABNF grammar format as described in RFC2234. The generated parser is a
410 regular expression scanner provided by the cl-ppcre lib, which means that we
411 can't parse recursive grammar definition. One such definition is the ABNF
412 definition as given by the RFC. Fortunately, as you have this lib, you most
413 probably don't need to generate another parser to handle that particular ABNF
414 grammar.")
415 (license license:expat))))
416
417 (define-public cl-abnf
418 (sbcl-package->cl-source-package sbcl-cl-abnf))
419
420 (define-public ecl-cl-abnf
421 (sbcl-package->ecl-package sbcl-cl-abnf))
422
423 (define-public sbcl-cl-ppcre
424 (package
425 (name "sbcl-cl-ppcre")
426 (version "2.1.1")
427 (source
428 (origin
429 (method git-fetch)
430 (uri (git-reference
431 (url "https://github.com/edicl/cl-ppcre")
432 (commit (string-append "v" version))))
433 (file-name (git-file-name "cl-ppcre" version))
434 (sha256
435 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
436 (build-system asdf-build-system/sbcl)
437 (native-inputs
438 `(("flexi-streams" ,sbcl-flexi-streams)))
439 (arguments
440 `(#:phases
441 (modify-phases %standard-phases
442 (add-after 'unpack 'disable-ppcre-unicode
443 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
444 ;; to work around the circular dependency between edicl/cl-ppcre
445 ;; and edicl/cl-unicode.
446 (lambda _
447 (delete-file "cl-ppcre-unicode.asd")
448 #t)))))
449 (synopsis "Portable regular expression library for Common Lisp")
450 (description "CL-PPCRE is a portable regular expression library for Common
451 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
452 compatible with ANSI-compliant Common Lisp implementations.")
453 (home-page "http://weitz.de/cl-ppcre/")
454 (license license:bsd-2)))
455
456 (define-public cl-ppcre
457 (sbcl-package->cl-source-package sbcl-cl-ppcre))
458
459 (define-public ecl-cl-ppcre
460 (sbcl-package->ecl-package sbcl-cl-ppcre))
461
462 (define-public sbcl-uax-15
463 (let ((commit "e7439a91b72f533fcf736643e3ff0677b56c2e7d")
464 (revision "1"))
465 (package
466 (name "sbcl-uax-15")
467 (version (git-version "0.1" revision commit))
468 (source
469 (origin
470 (method git-fetch)
471 (uri (git-reference
472 (url "https://github.com/sabracrolleton/uax-15")
473 (commit commit)))
474 (file-name (git-file-name "uax-15" version))
475 (sha256
476 (base32 "1vf8a2aikgx0l5bsq0z9s0dw3sgx1887xhagdlf66fwffa5jskg6"))))
477 (build-system asdf-build-system/sbcl)
478 (native-inputs
479 `(("fiveam" ,sbcl-fiveam)))
480 (inputs
481 `(("cl-ppcre" ,sbcl-cl-ppcre)
482 ("split-sequence" ,sbcl-split-sequence)))
483 (arguments
484 `(#:asd-systems '("uax-15")))
485 (home-page "https://github.com/sabracrolleton/uax-15")
486 (synopsis "Common Lisp implementation of unicode normalization functions")
487 (description "This package provides supports for unicode normalization,
488 RFC8264 and RFC7564.")
489 (license license:expat))))
490
491 (define-public cl-uax-15
492 (sbcl-package->cl-source-package sbcl-uax-15))
493
494 (define-public ecl-uax-15
495 (sbcl-package->ecl-package sbcl-uax-15))
496
497 (define-public sbcl-cl-unicode
498 (package
499 (name "sbcl-cl-unicode")
500 (version "0.1.6")
501 (source (origin
502 (method git-fetch)
503 (uri (git-reference
504 (url "https://github.com/edicl/cl-unicode")
505 (commit (string-append "v" version))))
506 (file-name (git-file-name name version))
507 (sha256
508 (base32
509 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
510 (build-system asdf-build-system/sbcl)
511 (native-inputs
512 `(("flexi-streams" ,sbcl-flexi-streams)))
513 (inputs
514 `(("cl-ppcre" ,sbcl-cl-ppcre)))
515 (home-page "http://weitz.de/cl-unicode/")
516 (synopsis "Portable Unicode library for Common Lisp")
517 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
518 is compatible with perl. It is pretty fast, thread-safe, and compatible with
519 ANSI-compliant Common Lisp implementations.")
520 (license license:bsd-2)))
521
522 (define-public ecl-cl-unicode
523 (sbcl-package->ecl-package sbcl-cl-unicode))
524
525 (define-public cl-unicode
526 (sbcl-package->cl-source-package sbcl-cl-unicode))
527
528 (define-public sbcl-cl-ppcre-unicode
529 (package (inherit sbcl-cl-ppcre)
530 (name "sbcl-cl-ppcre-unicode")
531 (inputs
532 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
533 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
534 (arguments
535 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
536 #:phases
537 (modify-phases %standard-phases
538 (add-after 'unpack 'disable-ppcre
539 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
540 ;; to work around the circular dependency between edicl/cl-ppcre
541 ;; and edicl/cl-unicode.
542 (lambda _
543 (delete-file "cl-ppcre.asd")
544 #t)))))))
545
546 (define-public cl-ppcre-unicode
547 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
548
549 (define-public ecl-cl-ppcre-unicode
550 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
551
552 (define-public sbcl-zpb-ttf
553 (package
554 (name "sbcl-zpb-ttf")
555 (version "1.0.3")
556 (source
557 (origin
558 (method git-fetch)
559 (uri (git-reference
560 (url "https://github.com/xach/zpb-ttf")
561 (commit (string-append "release-" version))))
562 (file-name (git-file-name name version))
563 (sha256
564 (base32
565 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
566 (build-system asdf-build-system/sbcl)
567 (home-page "https://github.com/xach/zpb-ttf")
568 (synopsis "TrueType font file access for Common Lisp")
569 (description
570 "ZPB-TTF is a TrueType font file parser that provides an interface for
571 reading typographic metrics, glyph outlines, and other information from the
572 file.")
573 (license license:bsd-2)))
574
575 (define-public ecl-zpb-ttf
576 (sbcl-package->ecl-package sbcl-zpb-ttf))
577
578 (define-public cl-zpb-ttf
579 (sbcl-package->cl-source-package sbcl-zpb-ttf))
580
581 (define-public sbcl-cl-vectors
582 (package
583 (name "sbcl-cl-vectors")
584 (version "0.1.5")
585 (source
586 (origin
587 (method url-fetch)
588 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
589 "files/cl-vectors-" version ".tar.gz"))
590 (sha256
591 (base32
592 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
593 (build-system asdf-build-system/sbcl)
594 (inputs
595 `(("zpb-ttf" ,sbcl-zpb-ttf)))
596 (arguments
597 '(#:asd-systems '("cl-vectors"
598 "cl-paths-ttf")))
599 (home-page "http://projects.tuxee.net/cl-vectors/")
600 (synopsis "Create, transform and render anti-aliased vectorial paths")
601 (description
602 "This is a pure Common Lisp library to create, transform and render
603 anti-aliased vectorial paths.")
604 (license license:expat)))
605
606 (define-public ecl-cl-vectors
607 (sbcl-package->ecl-package sbcl-cl-vectors))
608
609 (define-public cl-vectors
610 (sbcl-package->cl-source-package sbcl-cl-vectors))
611
612 (define-public sbcl-spatial-trees
613 ;; There have been no releases.
614 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
615 (revision "1"))
616 (package
617 (name "sbcl-spatial-trees")
618 (version (git-version "0" revision commit))
619 (source
620 (origin
621 (method git-fetch)
622 (uri (git-reference
623 (url "https://github.com/rpav/spatial-trees")
624 (commit commit)))
625 (file-name (git-file-name name version))
626 (sha256
627 (base32
628 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
629 (build-system asdf-build-system/sbcl)
630 (arguments
631 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
632 #:test-asd-file "spatial-trees.test.asd"))
633 (native-inputs
634 `(("fiveam" ,sbcl-fiveam)))
635 (home-page "https://github.com/rpav/spatial-trees")
636 (synopsis "Dynamic index data structures for spatially-extended data")
637 (description
638 "Spatial-trees is a set of dynamic index data structures for
639 spatially-extended data.")
640 (license license:bsd-3))))
641
642 (define-public ecl-spatial-trees
643 (sbcl-package->ecl-package sbcl-spatial-trees))
644
645 (define-public cl-spatial-trees
646 (sbcl-package->cl-source-package sbcl-spatial-trees))
647
648 (define-public sbcl-flexichain
649 ;; There are no releases.
650 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
651 (revision "1"))
652 (package
653 (name "sbcl-flexichain")
654 (version "1.5.1")
655 (source
656 (origin
657 (method git-fetch)
658 (uri (git-reference
659 (url "https://github.com/robert-strandh/Flexichain")
660 (commit commit)))
661 (file-name (git-file-name name version))
662 (sha256
663 (base32
664 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
665 (build-system asdf-build-system/sbcl)
666 (home-page "https://github.com/robert-strandh/Flexichain.git")
667 (synopsis "Dynamically add elements to or remove them from sequences")
668 (description
669 "This package provides an implementation of the flexichain protocol,
670 allowing client code to dynamically add elements to, and delete elements from
671 a sequence (or chain) of such elements.")
672 (license license:lgpl2.1+))))
673
674 (define-public ecl-flexichain
675 (sbcl-package->ecl-package sbcl-flexichain))
676
677 (define-public cl-flexichain
678 (sbcl-package->cl-source-package sbcl-flexichain))
679
680 (define-public sbcl-cl-pdf
681 ;; There are no releases
682 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
683 (revision "1"))
684 (package
685 (name "sbcl-cl-pdf")
686 (version (git-version "0" revision commit))
687 (source
688 (origin
689 (method git-fetch)
690 (uri (git-reference
691 (url "https://github.com/mbattyani/cl-pdf")
692 (commit commit)))
693 (file-name (git-file-name name version))
694 (sha256
695 (base32
696 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
697 (build-system asdf-build-system/sbcl)
698 (inputs
699 `(("iterate" ,sbcl-iterate)
700 ("zpb-ttf" ,sbcl-zpb-ttf)))
701 (home-page "https://github.com/mbattyani/cl-pdf")
702 (synopsis "Common Lisp library for generating PDF files")
703 (description
704 "CL-PDF is a cross-platform Common Lisp library for generating PDF
705 files.")
706 (license license:bsd-2))))
707
708 (define-public ecl-cl-pdf
709 (sbcl-package->ecl-package sbcl-cl-pdf))
710
711 (define-public cl-pdf
712 (sbcl-package->cl-source-package sbcl-cl-pdf))
713
714 (define-public sbcl-clx
715 (package
716 (name "sbcl-clx")
717 (version "0.7.5")
718 (source
719 (origin
720 (method git-fetch)
721 (uri
722 (git-reference
723 (url "https://github.com/sharplispers/clx")
724 (commit version)))
725 (sha256
726 (base32
727 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
728 (file-name (string-append "clx-" version))))
729 (build-system asdf-build-system/sbcl)
730 (native-inputs
731 `(("fiasco" ,sbcl-fiasco)))
732 (home-page "https://www.cliki.net/portable-clx")
733 (synopsis "X11 client library for Common Lisp")
734 (description "CLX is an X11 client library for Common Lisp. The code was
735 originally taken from a CMUCL distribution, was modified somewhat in order to
736 make it compile and run under SBCL, then a selection of patches were added
737 from other CLXes around the net.")
738 (license license:x11)))
739
740 (define-public cl-clx
741 (sbcl-package->cl-source-package sbcl-clx))
742
743 (define-public ecl-clx
744 (sbcl-package->ecl-package sbcl-clx))
745
746 (define-public sbcl-clx-truetype
747 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
748 (revision "1"))
749 (package
750 (name "sbcl-clx-truetype")
751 (version (git-version "0.0.1" revision commit))
752 (source
753 (origin
754 (method git-fetch)
755 (uri (git-reference
756 (url "https://github.com/l04m33/clx-truetype")
757 (commit commit)))
758 (file-name (git-file-name name version))
759 (sha256
760 (base32
761 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
762 (modules '((guix build utils)))
763 (snippet
764 '(begin
765 (substitute* "package.lisp"
766 ((":export") ":export\n :+font-cache-filename+"))
767 #t))))
768 (build-system asdf-build-system/sbcl)
769 (inputs
770 `(("clx" ,sbcl-clx)
771 ("zpb-ttf" ,sbcl-zpb-ttf)
772 ("cl-vectors" ,sbcl-cl-vectors)
773 ("cl-fad" ,sbcl-cl-fad)
774 ("cl-store" ,sbcl-cl-store)
775 ("trivial-features" ,sbcl-trivial-features)))
776 (home-page "https://github.com/l04m33/clx-truetype")
777 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
778 (description "CLX-TrueType is pure common lisp solution for
779 antialiased TrueType font rendering using CLX and XRender extension.")
780 (license license:expat))))
781
782 (define-public cl-clx-truetype
783 (sbcl-package->cl-source-package sbcl-clx-truetype))
784
785 (define-public ecl-clx-truetype
786 (sbcl-package->ecl-package sbcl-clx-truetype))
787
788 (define-public sbcl-slynk
789 (let ((commit "dffdf3caa12e964127d6eb45ba92ac0442cc5a48"))
790 (package
791 (name "sbcl-slynk")
792 (version (git-version "1.0.43" "1" commit))
793 (source
794 (origin
795 (method git-fetch)
796 (uri
797 (git-reference
798 (url "https://github.com/joaotavora/sly")
799 (commit commit)))
800 (sha256
801 (base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn"))
802 (file-name (git-file-name "slynk" version))
803 (modules '((guix build utils)
804 (ice-9 ftw)))
805 (snippet
806 '(begin
807 ;; Move the contribs into the main source directory for easier
808 ;; access
809 (substitute* "slynk/slynk.asd"
810 (("\\.\\./contrib")
811 "contrib"))
812 (rename-file "contrib" "slynk/contrib")
813 ;; Move slynk's contents into the base directory for easier
814 ;; access
815 (for-each (lambda (file)
816 (unless (string-prefix? "." file)
817 (rename-file (string-append "slynk/" file)
818 (string-append "./" (basename file)))))
819 (scandir "slynk"))
820 #t))))
821 (build-system asdf-build-system/sbcl)
822 (outputs '("out" "image"))
823 (arguments
824 `(#:tests? #f ; No test suite
825 #:asd-systems '("slynk"
826 "slynk/arglists"
827 "slynk/fancy-inspector"
828 "slynk/package-fu"
829 "slynk/mrepl"
830 "slynk/trace-dialog"
831 "slynk/profiler"
832 "slynk/stickers"
833 "slynk/indentation"
834 "slynk/retro")
835 #:phases
836 (modify-phases %standard-phases
837 (add-after 'create-asdf-configuration 'build-image
838 (lambda* (#:key outputs #:allow-other-keys)
839 (build-image (string-append
840 (assoc-ref %outputs "image")
841 "/bin/slynk")
842 %outputs
843 #:dependencies '("slynk"
844 "slynk/arglists"
845 "slynk/fancy-inspector"
846 "slynk/package-fu"
847 "slynk/mrepl"
848 "slynk/trace-dialog"
849 "slynk/profiler"
850 "slynk/stickers"
851 "slynk/indentation"
852 "slynk/retro"))
853 #t)))))
854 (synopsis "Common Lisp IDE for Emacs")
855 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
856 It also features a completely redesigned REPL based on Emacs's own
857 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
858 button interface. Everything can be copied to the REPL. One can create
859 multiple inspectors with independent history.")
860 (home-page "https://github.com/joaotavora/sly")
861 (license license:public-domain)
862 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
863
864 (define-public cl-slynk
865 (sbcl-package->cl-source-package sbcl-slynk))
866
867 (define-public ecl-slynk
868 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
869 (package
870 (inherit pkg)
871 (outputs '("out"))
872 (arguments
873 (substitute-keyword-arguments (package-arguments pkg)
874 ((#:phases phases)
875 `(modify-phases ,phases
876 (delete 'build-image))))))))
877
878 (define-public sbcl-parse-js
879 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
880 (revision "1"))
881 (package
882 (name "sbcl-parse-js")
883 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
884 (source
885 (origin
886 (method git-fetch)
887 (uri (git-reference
888 (url "http://marijn.haverbeke.nl/git/parse-js")
889 (commit commit)))
890 (file-name (string-append name "-" commit "-checkout"))
891 (sha256
892 (base32
893 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
894 (build-system asdf-build-system/sbcl)
895 (home-page "https://marijnhaverbeke.nl/parse-js/")
896 (synopsis "Parse JavaScript")
897 (description "Parse-js is a Common Lisp package for parsing
898 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
899 (license license:zlib))))
900
901 (define-public cl-parse-js
902 (sbcl-package->cl-source-package sbcl-parse-js))
903
904 (define-public ecl-parse-js
905 (sbcl-package->ecl-package sbcl-parse-js))
906
907 (define-public sbcl-parse-number
908 (package
909 (name "sbcl-parse-number")
910 (version "1.7")
911 (source
912 (origin
913 (method git-fetch)
914 (uri (git-reference
915 (url "https://github.com/sharplispers/parse-number/")
916 (commit (string-append "v" version))))
917 (file-name (git-file-name name version))
918 (sha256
919 (base32
920 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
921 (build-system asdf-build-system/sbcl)
922 (home-page "https://www.cliki.net/PARSE-NUMBER")
923 (synopsis "Parse numbers")
924 (description "@code{parse-number} is a library of functions for parsing
925 strings into one of the standard Common Lisp number types without using the
926 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
927 the string into one of the standard Common Lisp number types, if possible, or
928 else @code{parse-number} signals an error of type @code{invalid-number}.")
929 (license license:bsd-3)))
930
931 (define-public cl-parse-number
932 (sbcl-package->cl-source-package sbcl-parse-number))
933
934 (define-public ecl-parse-number
935 (sbcl-package->ecl-package sbcl-parse-number))
936
937 (define-public sbcl-iterate
938 (package
939 (name "sbcl-iterate")
940 (version "1.5")
941 (source
942 (origin
943 (method url-fetch)
944 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
945 "iterate-" version ".tar.gz"))
946 (sha256
947 (base32
948 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
949 (build-system asdf-build-system/sbcl)
950 (native-inputs
951 `(("rt" ,sbcl-rt)))
952 (home-page "https://common-lisp.net/project/iterate/")
953 (synopsis "Iteration construct for Common Lisp")
954 (description "@code{iterate} is an iteration construct for Common Lisp.
955 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
956
957 @itemize
958 @item it is extensible,
959 @item it helps editors like Emacs indent iterate forms by having a more
960 lisp-like syntax, and
961 @item it isn't part of the ANSI standard for Common Lisp.
962 @end itemize\n")
963 (license license:expat)))
964
965 (define-public cl-iterate
966 (sbcl-package->cl-source-package sbcl-iterate))
967
968 (define-public ecl-iterate
969 (sbcl-package->ecl-package sbcl-iterate))
970
971 (define-public sbcl-cl-uglify-js
972 ;; There have been many bug fixes since the 2010 release.
973 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
974 (revision "1"))
975 (package
976 (name "sbcl-cl-uglify-js")
977 (version (string-append "0.1-" revision "." (string-take commit 9)))
978 (source
979 (origin
980 (method git-fetch)
981 (uri (git-reference
982 (url "https://github.com/mishoo/cl-uglify-js")
983 (commit commit)))
984 (file-name (git-file-name name version))
985 (sha256
986 (base32
987 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
988 (build-system asdf-build-system/sbcl)
989 (inputs
990 `(("sbcl-parse-js" ,sbcl-parse-js)
991 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
992 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
993 ("sbcl-parse-number" ,sbcl-parse-number)
994 ("sbcl-iterate" ,sbcl-iterate)))
995 (home-page "https://github.com/mishoo/cl-uglify-js")
996 (synopsis "JavaScript compressor library for Common Lisp")
997 (description "This is a Common Lisp version of UglifyJS, a JavaScript
998 compressor. It works on data produced by @code{parse-js} to generate a
999 @dfn{minified} version of the code. Currently it can:
1000
1001 @itemize
1002 @item reduce variable names (usually to single letters)
1003 @item join consecutive @code{var} statements
1004 @item resolve simple binary expressions
1005 @item group most consecutive statements using the @code{sequence} operator (comma)
1006 @item remove unnecessary blocks
1007 @item convert @code{IF} expressions in various ways that result in smaller code
1008 @item remove some unreachable code
1009 @end itemize\n")
1010 (license license:zlib))))
1011
1012 (define-public cl-uglify-js
1013 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1014
1015 (define-public ecl-cl-uglify-js
1016 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1017
1018 (define-public uglify-js
1019 (package
1020 (inherit sbcl-cl-uglify-js)
1021 (name "uglify-js")
1022 (build-system trivial-build-system)
1023 (arguments
1024 `(#:modules ((guix build utils))
1025 #:builder
1026 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1027 (script (string-append bin "uglify-js")))
1028 (use-modules (guix build utils))
1029 (mkdir-p bin)
1030 (with-output-to-file script
1031 (lambda _
1032 (format #t "#!~a/bin/sbcl --script
1033
1034 (require :asdf)
1035 (asdf:initialize-source-registry
1036 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1037 (asdf:initialize-output-translations
1038 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1039 (assoc-ref %build-inputs "sbcl")
1040 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1041 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1042 ;; FIXME: cannot use progn here because otherwise it fails to
1043 ;; find cl-uglify-js.
1044 (for-each
1045 write
1046 '(;; Quiet, please!
1047 (let ((*standard-output* (make-broadcast-stream))
1048 (*error-output* (make-broadcast-stream)))
1049 (asdf:load-system :cl-uglify-js))
1050 (let ((file (cadr *posix-argv*)))
1051 (if file
1052 (format t "~a"
1053 (cl-uglify-js:ast-gen-code
1054 (cl-uglify-js:ast-mangle
1055 (cl-uglify-js:ast-squeeze
1056 (with-open-file (in file)
1057 (parse-js:parse-js in))))
1058 :beautify nil))
1059 (progn
1060 (format *error-output*
1061 "Please provide a JavaScript file.~%")
1062 (sb-ext:exit :code 1))))))))
1063 (chmod script #o755)
1064 #t)))
1065 (inputs
1066 `(("sbcl" ,sbcl)
1067 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1068 (synopsis "JavaScript compressor")))
1069
1070 (define-public sbcl-cl-strings
1071 (let ((revision "1")
1072 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1073 (package
1074 (name "sbcl-cl-strings")
1075 (version (git-version "0.0.0" revision commit))
1076 (source
1077 (origin
1078 (method git-fetch)
1079 (uri (git-reference
1080 (url "https://github.com/diogoalexandrefranco/cl-strings")
1081 (commit commit)))
1082 (sha256
1083 (base32
1084 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1085 (file-name (string-append "cl-strings-" version "-checkout"))))
1086 (build-system asdf-build-system/sbcl)
1087 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1088 (description
1089 "@command{cl-strings} is a small, portable, dependency-free set of
1090 utilities that make it even easier to manipulate text in Common Lisp. It has
1091 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1092 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1093 (license license:expat))))
1094
1095 (define-public cl-strings
1096 (sbcl-package->cl-source-package sbcl-cl-strings))
1097
1098 (define-public ecl-cl-strings
1099 (sbcl-package->ecl-package sbcl-cl-strings))
1100
1101 (define-public sbcl-trivial-features
1102 ;; No release since 2014.
1103 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1104 (package
1105 (name "sbcl-trivial-features")
1106 (version (git-version "0.8" "1" commit))
1107 (source
1108 (origin
1109 (method git-fetch)
1110 (uri (git-reference
1111 (url "https://github.com/trivial-features/trivial-features")
1112 (commit commit)))
1113 (file-name (git-file-name "trivial-features" version))
1114 (sha256
1115 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1116 (build-system asdf-build-system/sbcl)
1117 (arguments
1118 '(#:asd-files '("trivial-features.asd")
1119 #:tests? #f))
1120 (home-page "https://cliki.net/trivial-features")
1121 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1122 (description "Trivial-features ensures that @code{*FEATURES*} is
1123 consistent across multiple Common Lisp implementations.")
1124 (license license:expat))))
1125
1126 (define-public cl-trivial-features
1127 (sbcl-package->cl-source-package sbcl-trivial-features))
1128
1129 (define-public ecl-trivial-features
1130 (sbcl-package->ecl-package sbcl-trivial-features))
1131
1132 (define-public sbcl-hu.dwim.asdf
1133 (package
1134 (name "sbcl-hu.dwim.asdf")
1135 (version "20190521")
1136 (source
1137 (origin
1138 (method url-fetch)
1139 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1140 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1141 (sha256
1142 (base32
1143 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1144 (build-system asdf-build-system/sbcl)
1145 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1146 (synopsis "Extensions to ASDF")
1147 (description "Various ASDF extensions such as attached test and
1148 documentation system, explicit development support, etc.")
1149 (license license:public-domain)))
1150
1151 (define-public cl-hu.dwim.asdf
1152 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1153
1154 (define-public ecl-hu.dwim.asdf
1155 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1156
1157 (define-public sbcl-hu.dwim.stefil
1158 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1159 (package
1160 (name "sbcl-hu.dwim.stefil")
1161 (version (git-version "0.0.0" "1" commit))
1162 (source
1163 (origin
1164 (method git-fetch)
1165 (uri
1166 (git-reference
1167 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1168 (commit commit)))
1169 (sha256
1170 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1171 (file-name (git-file-name "hu.dwim.stefil" version))))
1172 (build-system asdf-build-system/sbcl)
1173 (native-inputs
1174 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1175 (inputs
1176 `(("sbcl-alexandria" ,sbcl-alexandria)))
1177 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1178 (synopsis "Simple test framework")
1179 (description "Stefil is a simple test framework for Common Lisp,
1180 with a focus on interactive development.")
1181 (license license:public-domain))))
1182
1183 (define-public cl-hu.dwim.stefil
1184 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1185
1186 (define-public ecl-hu.dwim.stefil
1187 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1188
1189 (define-public sbcl-babel
1190 ;; No release since 2014.
1191 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1192 (package
1193 (name "sbcl-babel")
1194 (version (git-version "0.5.0" "1" commit))
1195 (source
1196 (origin
1197 (method git-fetch)
1198 (uri (git-reference
1199 (url "https://github.com/cl-babel/babel")
1200 (commit commit)))
1201 (file-name (git-file-name "babel" version))
1202 (sha256
1203 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1204 (build-system asdf-build-system/sbcl)
1205 (native-inputs
1206 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1207 (inputs
1208 `(("sbcl-alexandria" ,sbcl-alexandria)
1209 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1210 (home-page "https://common-lisp.net/project/babel/")
1211 (synopsis "Charset encoding and decoding library")
1212 (description "Babel is a charset encoding and decoding library, not unlike
1213 GNU libiconv, but completely written in Common Lisp.")
1214 (license license:expat))))
1215
1216 (define-public cl-babel
1217 (sbcl-package->cl-source-package sbcl-babel))
1218
1219 (define-public ecl-babel
1220 (sbcl-package->ecl-package sbcl-babel))
1221
1222 (define-public sbcl-cl-yacc
1223 (package
1224 (name "sbcl-cl-yacc")
1225 (version "0.3")
1226 (source
1227 (origin
1228 (method git-fetch)
1229 (uri (git-reference
1230 (url "https://github.com/jech/cl-yacc")
1231 (commit (string-append "cl-yacc-" version))))
1232 (sha256
1233 (base32
1234 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1235 (file-name (string-append "cl-yacc-" version "-checkout"))))
1236 (build-system asdf-build-system/sbcl)
1237 (arguments
1238 `(#:asd-systems '("yacc")))
1239 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1240 (description
1241 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1242 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1243
1244 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1245 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1246 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1247 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1248 (license license:expat)))
1249
1250 (define-public cl-yacc
1251 (sbcl-package->cl-source-package sbcl-cl-yacc))
1252
1253 (define-public ecl-cl-yacc
1254 (sbcl-package->ecl-package sbcl-cl-yacc))
1255
1256 (define-public sbcl-eager-future2
1257 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1258 (package
1259 (name "sbcl-eager-future2")
1260 (version (git-version "0.0.0" "1" commit))
1261 (source
1262 (origin
1263 (method git-fetch)
1264 (uri (git-reference
1265 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1266 (commit commit)))
1267 (file-name (git-file-name name version))
1268 (sha256
1269 (base32
1270 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1271 (build-system asdf-build-system/sbcl)
1272 (inputs
1273 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1274 ("trivial-garbage" ,sbcl-trivial-garbage)))
1275 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1276 (description
1277 "Eager Future2 is a Common Lisp library that provides composable
1278 concurrency primitives that unify parallel and lazy evaluation, are integrated
1279 with the Common Lisp condition system, and have automatic resource
1280 management.")
1281 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1282 (license license:lgpl3+))))
1283
1284 (define-public cl-eager-future2
1285 (sbcl-package->cl-source-package sbcl-eager-future2))
1286
1287 (define-public ecl-eager-future2
1288 (sbcl-package->ecl-package sbcl-eager-future2))
1289
1290 (define-public sbcl-jpl-util
1291 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1292 (package
1293 (name "sbcl-jpl-util")
1294 (version "20151005")
1295 (source
1296 (origin
1297 (method git-fetch)
1298 (uri (git-reference
1299 ;; Quicklisp uses this fork.
1300 (url "https://github.com/hawkir/cl-jpl-util")
1301 (commit commit)))
1302 (file-name
1303 (git-file-name "jpl-util" version))
1304 (sha256
1305 (base32
1306 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1307 (build-system asdf-build-system/sbcl)
1308 (synopsis "Collection of Common Lisp utility functions and macros")
1309 (description
1310 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1311 and macros, primarily for software projects written in CL by the author.")
1312 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1313 (license license:isc))))
1314
1315 (define-public cl-jpl-util
1316 (sbcl-package->cl-source-package sbcl-jpl-util))
1317
1318 (define-public ecl-jpl-util
1319 (sbcl-package->ecl-package sbcl-jpl-util))
1320
1321 (define-public sbcl-jpl-queues
1322 (package
1323 (name "sbcl-jpl-queues")
1324 (version "0.1")
1325 (source
1326 (origin
1327 (method url-fetch)
1328 (uri (string-append
1329 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1330 version
1331 ".tar.gz"))
1332 (sha256
1333 (base32
1334 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1335 (build-system asdf-build-system/sbcl)
1336 (inputs
1337 `(("jpl-util" ,sbcl-jpl-util)
1338 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1339 (arguments
1340 ;; Tests seem to be broken.
1341 `(#:tests? #f))
1342 (synopsis "Common Lisp library implementing a few different kinds of queues")
1343 (description
1344 "A Common Lisp library implementing a few different kinds of queues:
1345
1346 @itemize
1347 @item Bounded and unbounded FIFO queues.
1348 @item Lossy bounded FIFO queues that drop elements when full.
1349 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1350 @end itemize
1351
1352 Additionally, a synchronization wrapper is provided to make any queue
1353 conforming to the @command{jpl-queues} API thread-safe for lightweight
1354 multithreading applications. (See Calispel for a more sophisticated CL
1355 multithreaded message-passing library with timeouts and alternation among
1356 several blockable channels.)")
1357 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1358 (license license:isc)))
1359
1360 (define-public cl-jpl-queues
1361 (sbcl-package->cl-source-package sbcl-jpl-queues))
1362
1363 (define-public ecl-jpl-queues
1364 (sbcl-package->ecl-package sbcl-jpl-queues))
1365
1366 (define-public sbcl-calispel
1367 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1368 (package
1369 (name "sbcl-calispel")
1370 (version (git-version "0.1" "1" commit))
1371 (source
1372 (origin
1373 (method git-fetch)
1374 (uri (git-reference
1375 ;; This fork replaces the dependency on the obsolete
1376 ;; eager-future with eager-future2.
1377 (url "https://github.com/hawkir/calispel")
1378 (commit commit)))
1379 (file-name (git-file-name name version))
1380 (sha256
1381 (base32
1382 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1383 (build-system asdf-build-system/sbcl)
1384 (inputs
1385 `(("jpl-queues" ,sbcl-jpl-queues)
1386 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1387 (native-inputs
1388 `(("eager-future2" ,sbcl-eager-future2)))
1389 (synopsis "Thread-safe message-passing channels in Common Lisp")
1390 (description
1391 "Calispel is a Common Lisp library for thread-safe message-passing
1392 channels, in the style of the occam programming language, also known as
1393 communicating sequential processes (CSP). See
1394 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1395
1396 Calispel channels let one thread communicate with another, facilitating
1397 unidirectional communication of any Lisp object. Channels may be unbuffered,
1398 where a sender waits for a receiver (or vice versa) before either operation can
1399 continue, or channels may be buffered with flexible policy options.
1400
1401 Because sending and receiving on a channel may block, either operation can time
1402 out after a specified amount of time.
1403
1404 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1405 @code{select()}): given a sequence of operations, any or all of which may
1406 block, alternation selects the first operation that doesn't block and executes
1407 associated code. Alternation can also time out, executing an \"otherwise\"
1408 clause if no operation becomes available within a set amount of time.
1409
1410 Calispel is a message-passing library, and as such leaves the role of
1411 threading abstractions and utilities left to be filled by complementary
1412 libraries such as Bordeaux-Threads and Eager Future.")
1413 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1414 (license license:isc))))
1415
1416 (define-public cl-calispel
1417 (sbcl-package->cl-source-package sbcl-calispel))
1418
1419 (define-public ecl-calispel
1420 (sbcl-package->ecl-package sbcl-calispel))
1421
1422 (define-public sbcl-eos
1423 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1424 (revision "2"))
1425 (package
1426 (name "sbcl-eos")
1427 (version (git-version "0.0.0" revision commit))
1428 (source
1429 (origin
1430 (method git-fetch)
1431 (uri (git-reference
1432 (url "https://github.com/adlai/Eos")
1433 (commit commit)))
1434 (sha256
1435 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1436 (file-name (git-file-name "eos" version))))
1437 (build-system asdf-build-system/sbcl)
1438 (synopsis "Unit Testing for Common Lisp")
1439 (description
1440 "Eos was a unit testing library for Common Lisp.
1441 It began as a fork of FiveAM; however, FiveAM development has continued, while
1442 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1443 (home-page "https://github.com/adlai/Eos")
1444 (license license:expat))))
1445
1446 (define-public cl-eos
1447 (sbcl-package->cl-source-package sbcl-eos))
1448
1449 (define-public ecl-eos
1450 (sbcl-package->ecl-package sbcl-eos))
1451
1452 (define-public sbcl-esrap
1453 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1454 (package
1455 (name "sbcl-esrap")
1456 (version (git-version "0.0.0" "1" commit))
1457 (source
1458 (origin
1459 (method git-fetch)
1460 (uri (git-reference
1461 (url "https://github.com/nikodemus/esrap")
1462 (commit commit)))
1463 (sha256
1464 (base32
1465 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1466 (file-name (git-file-name "esrap" version))))
1467 (build-system asdf-build-system/sbcl)
1468 (native-inputs
1469 `(("eos" ,sbcl-eos))) ;For testing only.
1470 (inputs
1471 `(("alexandria" ,sbcl-alexandria)))
1472 (synopsis "Common Lisp packrat parser")
1473 (description
1474 "A packrat parser for Common Lisp.
1475 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1476
1477 @itemize
1478 @item dynamic redefinition of nonterminals
1479 @item inline grammars
1480 @item semantic predicates
1481 @item introspective facilities (describing grammars, tracing, setting breaks)
1482 @end itemize\n")
1483 (home-page "https://nikodemus.github.io/esrap/")
1484 (license license:expat))))
1485
1486 (define-public cl-esrap
1487 (sbcl-package->cl-source-package sbcl-esrap))
1488
1489 (define-public ecl-esrap
1490 (sbcl-package->ecl-package sbcl-esrap))
1491
1492 (define-public sbcl-split-sequence
1493 (package
1494 (name "sbcl-split-sequence")
1495 (version "2.0.0")
1496 (source
1497 (origin
1498 (method git-fetch)
1499 (uri (git-reference
1500 (url "https://github.com/sharplispers/split-sequence")
1501 (commit (string-append "v" version))))
1502 (sha256
1503 (base32
1504 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1505 (file-name (git-file-name "split-sequence" version))))
1506 (build-system asdf-build-system/sbcl)
1507 (native-inputs
1508 `(("fiveam" ,sbcl-fiveam)))
1509 (synopsis "Member of the Common Lisp Utilities family of programs")
1510 (description
1511 "Splits sequence into a list of subsequences delimited by objects
1512 satisfying the test.")
1513 (home-page "https://cliki.net/split-sequence")
1514 (license license:expat)))
1515
1516 (define-public cl-split-sequence
1517 (sbcl-package->cl-source-package sbcl-split-sequence))
1518
1519 (define-public ecl-split-sequence
1520 (sbcl-package->ecl-package sbcl-split-sequence))
1521
1522 (define-public sbcl-html-encode
1523 (package
1524 (name "sbcl-html-encode")
1525 (version "1.2")
1526 (source
1527 (origin
1528 (method url-fetch)
1529 (uri (string-append
1530 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1531 version ".tgz"))
1532 (sha256
1533 (base32
1534 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1535 (file-name (string-append "colorize" version "-checkout"))))
1536 (build-system asdf-build-system/sbcl)
1537 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1538 (description
1539 "A library for encoding text in various web-savvy encodings.")
1540 (home-page "http://quickdocs.org/html-encode/")
1541 (license license:expat)))
1542
1543 (define-public cl-html-encode
1544 (sbcl-package->cl-source-package sbcl-html-encode))
1545
1546 (define-public ecl-html-encode
1547 (sbcl-package->ecl-package sbcl-html-encode))
1548
1549 (define-public sbcl-colorize
1550 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1551 (package
1552 (name "sbcl-colorize")
1553 (version (git-version "0.0.0" "1" commit))
1554 (source
1555 (origin
1556 (method git-fetch)
1557 (uri (git-reference
1558 (url "https://github.com/kingcons/colorize")
1559 (commit commit)))
1560 (sha256
1561 (base32
1562 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1563 (file-name (git-file-name "colorize" version))))
1564 (build-system asdf-build-system/sbcl)
1565 (inputs
1566 `(("alexandria" ,sbcl-alexandria)
1567 ("split-sequence" ,sbcl-split-sequence)
1568 ("html-encode" ,sbcl-html-encode)))
1569 (synopsis "Common Lisp for syntax highlighting")
1570 (description
1571 "@command{colorize} is a Lisp library for syntax highlighting
1572 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1573 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1574 (home-page "https://github.com/kingcons/colorize")
1575 ;; TODO: Missing license?
1576 (license license:expat))))
1577
1578 (define-public cl-colorize
1579 (sbcl-package->cl-source-package sbcl-colorize))
1580
1581 (define-public ecl-colorize
1582 (sbcl-package->ecl-package sbcl-colorize))
1583
1584 (define-public sbcl-3bmd
1585 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1586 (package
1587 (name "sbcl-3bmd")
1588 (version (git-version "0.0.0" "1" commit))
1589 (source
1590 (origin
1591 (method git-fetch)
1592 (uri (git-reference
1593 (url "https://github.com/3b/3bmd")
1594 (commit commit)))
1595 (sha256
1596 (base32
1597 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1598 (file-name (git-file-name "3bmd" version))))
1599 (build-system asdf-build-system/sbcl)
1600 (arguments
1601 ;; FIXME: We need to specify the name because the build-system thinks
1602 ;; "3" is a version marker.
1603 `(#:asd-systems '("3bmd"
1604 "3bmd-ext-code-blocks")))
1605 (inputs
1606 `(("colorize" ,sbcl-colorize)
1607 ("esrap" ,sbcl-esrap)
1608 ("split-sequence" ,sbcl-split-sequence)))
1609 (synopsis "Markdown processor in Command Lisp using esrap parser")
1610 (description
1611 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1612 parsing, and grammar based on @command{peg-markdown}.")
1613 (home-page "https://github.com/3b/3bmd")
1614 (license license:expat))))
1615
1616 (define-public cl-3bmd
1617 (sbcl-package->cl-source-package sbcl-3bmd))
1618
1619 (define-public ecl-3bmd
1620 (sbcl-package->ecl-package sbcl-3bmd))
1621
1622 (define-public sbcl-cl-fad
1623 (package
1624 (name "sbcl-cl-fad")
1625 (version "0.7.6")
1626 (source
1627 (origin
1628 (method git-fetch)
1629 (uri (git-reference
1630 (url "https://github.com/edicl/cl-fad/")
1631 (commit (string-append "v" version))))
1632 (sha256
1633 (base32
1634 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1635 (file-name (string-append "cl-fad" version "-checkout"))))
1636 (build-system asdf-build-system/sbcl)
1637 (inputs
1638 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1639 (synopsis "Portable pathname library for Common Lisp")
1640 (description
1641 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1642 Lisp's standard pathname functions. It is intended to provide some
1643 unification between current CL implementations on Windows, OS X, Linux, and
1644 Unix. Most of the code was written by Peter Seibel for his book Practical
1645 Common Lisp.")
1646 (home-page "https://edicl.github.io/cl-fad/")
1647 (license license:bsd-2)))
1648
1649 (define-public cl-fad
1650 (sbcl-package->cl-source-package sbcl-cl-fad))
1651
1652 (define-public ecl-cl-fad
1653 (sbcl-package->ecl-package sbcl-cl-fad))
1654
1655 (define-public sbcl-rt
1656 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1657 (revision "1"))
1658 (package
1659 (name "sbcl-rt")
1660 (version (git-version "1990.12.19" revision commit))
1661 (source
1662 (origin
1663 (method git-fetch)
1664 (uri (git-reference
1665 (url "http://git.kpe.io/rt.git")
1666 (commit commit)))
1667 (file-name (git-file-name name version))
1668 (sha256
1669 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1670 (build-system asdf-build-system/sbcl)
1671 (synopsis "MIT Regression Tester")
1672 (description
1673 "RT provides a framework for writing regression test suites.")
1674 (home-page "https://www.cliki.net/rt")
1675 (license license:expat))))
1676
1677 (define-public cl-rt
1678 (sbcl-package->cl-source-package sbcl-rt))
1679
1680 (define-public ecl-rt
1681 (sbcl-package->ecl-package sbcl-rt))
1682
1683 (define-public sbcl-nibbles
1684 ;; No tagged release since 2018.
1685 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1686 (revision "1"))
1687 (package
1688 (name "sbcl-nibbles")
1689 (version (git-version "0.14" revision commit))
1690 (source
1691 (origin
1692 (method git-fetch)
1693 (uri (git-reference
1694 (url "https://github.com/sharplispers/nibbles/")
1695 (commit commit)))
1696 (sha256
1697 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1698 (file-name (git-file-name "nibbles" version))))
1699 (build-system asdf-build-system/sbcl)
1700 (native-inputs
1701 ;; Tests only.
1702 `(("rt" ,sbcl-rt)))
1703 (synopsis
1704 "Common Lisp library for accessing octet-addressed blocks of data")
1705 (description
1706 "When dealing with network protocols and file formats, it's common to
1707 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1708 flavors. Common Lisp sort of supports this by specifying :element-type for
1709 streams, but that facility is underspecified and there's nothing similar for
1710 read/write from octet vectors. What most people wind up doing is rolling their
1711 own small facility for their particular needs and calling it a day.
1712
1713 This library attempts to be comprehensive and centralize such
1714 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1715 vectors in signed or unsigned flavors are provided; these functions are also
1716 SETFable. Since it's sometimes desirable to read/write directly from streams,
1717 functions for doing so are also provided. On some implementations,
1718 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1719 also be supported.")
1720 (home-page "https://github.com/sharplispers/nibbles")
1721 (license license:bsd-3))))
1722
1723 (define-public cl-nibbles
1724 (sbcl-package->cl-source-package sbcl-nibbles))
1725
1726 (define-public ecl-nibbles
1727 (sbcl-package->ecl-package sbcl-nibbles))
1728
1729 (define-public sbcl-ironclad
1730 (package
1731 (name "sbcl-ironclad")
1732 (version "0.54")
1733 (source
1734 (origin
1735 (method git-fetch)
1736 (uri (git-reference
1737 (url "https://github.com/sharplispers/ironclad/")
1738 (commit (string-append "v" version))))
1739 (sha256
1740 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1741 (file-name (git-file-name name version))))
1742 (build-system asdf-build-system/sbcl)
1743 (native-inputs
1744 ;; Tests only.
1745 `(("rt" ,sbcl-rt)))
1746 (inputs
1747 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1748 ("flexi-streams" ,sbcl-flexi-streams)))
1749 (synopsis "Cryptographic toolkit written in Common Lisp")
1750 (description
1751 "Ironclad is a cryptography library written entirely in Common Lisp.
1752 It includes support for several popular ciphers, digests, MACs and public key
1753 cryptography algorithms. For several implementations that support Gray
1754 streams, support is included for convenient stream wrappers.")
1755 (home-page "https://github.com/sharplispers/ironclad")
1756 (license license:bsd-3)))
1757
1758 (define-public cl-ironclad
1759 (sbcl-package->cl-source-package sbcl-ironclad))
1760
1761 (define-public ecl-ironclad
1762 (sbcl-package->ecl-package sbcl-ironclad))
1763
1764 (define-public sbcl-named-readtables
1765 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1766 (revision "2"))
1767 (package
1768 (name "sbcl-named-readtables")
1769 (version (git-version "0.9" revision commit))
1770 (source
1771 (origin
1772 (method git-fetch)
1773 (uri (git-reference
1774 (url "https://github.com/melisgl/named-readtables")
1775 (commit commit)))
1776 (sha256
1777 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1778 (file-name (git-file-name "named-readtables" version))))
1779 (build-system asdf-build-system/sbcl)
1780 (arguments
1781 ;; Tests seem to be broken.
1782 `(#:tests? #f))
1783 (home-page "https://github.com/melisgl/named-readtables/")
1784 (synopsis "Library that creates a namespace for named readtables")
1785 (description "Named readtables is a library that creates a namespace for
1786 named readtables, which is akin to package namespacing in Common Lisp.")
1787 (license license:bsd-3))))
1788
1789 (define-public cl-named-readtables
1790 (sbcl-package->cl-source-package sbcl-named-readtables))
1791
1792 (define-public ecl-named-readtables
1793 (sbcl-package->ecl-package sbcl-named-readtables))
1794
1795 (define-public sbcl-py-configparser
1796 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1797 ;; time 8y ago, it looks like abandoned. VCS of the project:
1798 ;; https://svn.common-lisp.net/py-configparser/trunk
1799 (package
1800 (name "sbcl-py-configparser")
1801 (version "1.0.3")
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://common-lisp.net/project/py-configparser/releases/"
1807 "py-configparser-" version ".tar.gz"))
1808 (sha256
1809 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1810 (build-system asdf-build-system/sbcl)
1811 (inputs
1812 `(("parse-number" ,sbcl-parse-number)))
1813 (home-page "http://common-lisp.net/project/py-configparser/")
1814 (synopsis "ConfigParser Python module functionality for Common Lisp")
1815 (description "The py-configparser package implements the ConfigParser
1816 Python module functionality in Common Lisp. In short, it implements reading
1817 and writing of .INI-file style configuration files with sections containing
1818 key/value pairs of configuration options. In line with the functionalities in
1819 the python module, does this package implement basic interpolation of option
1820 values in other options.")
1821 (license license:expat)))
1822
1823 (define-public cl-py-configparser
1824 (sbcl-package->cl-source-package sbcl-py-configparser))
1825
1826 (define-public ecl-py-configparser
1827 (sbcl-package->ecl-package sbcl-py-configparser))
1828
1829 (define-public sbcl-pythonic-string-reader
1830 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1831 (package
1832 (name "sbcl-pythonic-string-reader")
1833 (version (git-version "0.0.0" "1" commit))
1834 (source
1835 (origin
1836 (method git-fetch)
1837 (uri (git-reference
1838 (url "https://github.com/smithzvk/pythonic-string-reader/")
1839 (commit commit)))
1840 (sha256
1841 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1842 (file-name (git-file-name "pythonic-string-reader" version))))
1843 (build-system asdf-build-system/sbcl)
1844 (inputs
1845 `(("named-readtables" ,sbcl-named-readtables)))
1846 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1847 (synopsis "Read table modification inspired by Python's three quote strings")
1848 (description "This piece of code sets up some reader macros that make it
1849 simpler to input string literals which contain backslashes and double quotes
1850 This is very useful for writing complicated docstrings and, as it turns out,
1851 writing code that contains string literals that contain code themselves.")
1852 (license license:bsd-3))))
1853
1854 (define-public cl-pythonic-string-reader
1855 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1856
1857 (define-public ecl-pythonic-string-reader
1858 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1859
1860 (define-public sbcl-slime-swank
1861 (package
1862 (name "sbcl-slime-swank")
1863 (version "2.26")
1864 (source
1865 (origin
1866 (file-name (git-file-name "slime-swank" version))
1867 (method git-fetch)
1868 (uri (git-reference
1869 (url "https://github.com/slime/slime/")
1870 (commit (string-append "v" version))))
1871 (sha256
1872 (base32
1873 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
1874 (build-system asdf-build-system/sbcl)
1875 (arguments
1876 '(#:asd-systems '("swank")))
1877 (home-page "https://github.com/slime/slime")
1878 (synopsis "Common Lisp Swank server")
1879 (description
1880 "This is only useful if you want to start a Swank server in a Lisp
1881 processes that doesn't run under Emacs. Lisp processes created by
1882 @command{M-x slime} automatically start the server.")
1883 (license (list license:gpl2+ license:public-domain))))
1884
1885 (define-public cl-slime-swank
1886 (sbcl-package->cl-source-package sbcl-slime-swank))
1887
1888 (define-public ecl-slime-swank
1889 (sbcl-package->ecl-package sbcl-slime-swank))
1890
1891 (define-public sbcl-mgl-pax
1892 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1893 (package
1894 (name "sbcl-mgl-pax")
1895 (version (git-version "0.0.0" "1" commit))
1896 (source
1897 (origin
1898 (method git-fetch)
1899 (uri (git-reference
1900 (url "https://github.com/melisgl/mgl-pax")
1901 (commit commit)))
1902 (sha256
1903 (base32
1904 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1905 (file-name (git-file-name "mgl-pax" version))))
1906 (build-system asdf-build-system/sbcl)
1907 (inputs
1908 `(("3bmd" ,sbcl-3bmd)
1909 ("babel" ,sbcl-babel)
1910 ("cl-fad" ,sbcl-cl-fad)
1911 ("ironclad" ,sbcl-ironclad)
1912 ("named-readtables" ,sbcl-named-readtables)
1913 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
1914 ("swank" ,sbcl-slime-swank)))
1915 (synopsis "Exploratory programming environment and documentation generator")
1916 (description
1917 "PAX provides an extremely poor man's Explorable Programming
1918 environment. Narrative primarily lives in so called sections that mix markdown
1919 docstrings with references to functions, variables, etc, all of which should
1920 probably have their own docstrings.
1921
1922 The primary focus is on making code easily explorable by using SLIME's
1923 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1924 fanciness in Emacs Integration. Generating documentation from sections and all
1925 the referenced items in Markdown or HTML format is also implemented.
1926
1927 With the simplistic tools provided, one may accomplish similar effects as with
1928 Literate Programming, but documentation is generated from code, not vice versa
1929 and there is no support for chunking yet. Code is first, code must look
1930 pretty, documentation is code.")
1931 (home-page "http://quotenil.com/")
1932 (license license:expat))))
1933
1934 (define-public cl-mgl-pax
1935 (sbcl-package->cl-source-package sbcl-mgl-pax))
1936
1937 (define-public ecl-mgl-pax
1938 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
1939 (package
1940 (inherit pkg)
1941 (arguments
1942 (substitute-keyword-arguments (package-arguments pkg)
1943 ;; TODO: Find why the tests fail on ECL.
1944 ((#:tests? _ #f) #f))))))
1945
1946 (define-public sbcl-mssql
1947 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
1948 (revision "1"))
1949 (package
1950 (name "sbcl-mssql")
1951 (version (git-version "0.0.3" revision commit))
1952 (source
1953 (origin
1954 (method git-fetch)
1955 (uri (git-reference
1956 (url "https://github.com/archimag/cl-mssql")
1957 (commit commit)))
1958 (file-name (git-file-name "cl-mssql" version))
1959 (sha256
1960 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
1961 (build-system asdf-build-system/sbcl)
1962 (inputs
1963 `(("cffi" ,sbcl-cffi)
1964 ("freetds" ,freetds)
1965 ("garbage-pools" ,sbcl-garbage-pools)
1966 ("iterate" ,sbcl-iterate)
1967 ("parse-number" ,sbcl-parse-number)))
1968 (arguments
1969 `(#:phases
1970 (modify-phases %standard-phases
1971 (add-after 'unpack 'fix-paths
1972 (lambda* (#:key inputs #:allow-other-keys)
1973 (substitute* "src/mssql.lisp"
1974 (("libsybdb" all)
1975 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
1976 #t)))))
1977 (home-page "https://github.com/archimag/cl-mssql")
1978 (synopsis "Common Lisp library to interact with MS SQL Server databases")
1979 (description
1980 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
1981 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
1982 project.")
1983 (license license:llgpl))))
1984
1985 (define-public ecl-mssql
1986 (sbcl-package->ecl-package sbcl-mssql))
1987
1988 (define-public cl-mssql
1989 (sbcl-package->cl-source-package sbcl-mssql))
1990
1991 (define-public sbcl-lisp-unit
1992 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1993 (package
1994 (name "sbcl-lisp-unit")
1995 (version (git-version "0.0.0" "1" commit))
1996 (source
1997 (origin
1998 (method git-fetch)
1999 (uri (git-reference
2000 (url "https://github.com/OdonataResearchLLC/lisp-unit")
2001 (commit commit)))
2002 (sha256
2003 (base32
2004 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2005 (file-name (git-file-name "lisp-unit" version))))
2006 (build-system asdf-build-system/sbcl)
2007 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2008 (description
2009 "@command{lisp-unit} is a Common Lisp library that supports unit
2010 testing. It is an extension of the library written by Chris Riesbeck.")
2011 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2012 (license license:expat))))
2013
2014 (define-public cl-lisp-unit
2015 (sbcl-package->cl-source-package sbcl-lisp-unit))
2016
2017 (define-public ecl-lisp-unit
2018 (sbcl-package->ecl-package sbcl-lisp-unit))
2019
2020 (define-public sbcl-anaphora
2021 (package
2022 (name "sbcl-anaphora")
2023 (version "0.9.6")
2024 (source
2025 (origin
2026 (method git-fetch)
2027 (uri (git-reference
2028 (url "https://github.com/tokenrove/anaphora")
2029 (commit version)))
2030 (sha256
2031 (base32
2032 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2033 (file-name (git-file-name "anaphora" version))))
2034 (build-system asdf-build-system/sbcl)
2035 (native-inputs
2036 `(("rt" ,sbcl-rt)))
2037 (synopsis "The anaphoric macro collection from Hell")
2038 (description
2039 "Anaphora is the anaphoric macro collection from Hell: it includes many
2040 new fiends in addition to old friends like @command{aif} and
2041 @command{awhen}.")
2042 (home-page "https://github.com/tokenrove/anaphora")
2043 (license license:public-domain)))
2044
2045 (define-public cl-anaphora
2046 (sbcl-package->cl-source-package sbcl-anaphora))
2047
2048 (define-public ecl-anaphora
2049 (sbcl-package->ecl-package sbcl-anaphora))
2050
2051 (define-public sbcl-lift
2052 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2053 (package
2054 (name "sbcl-lift")
2055 (version (git-version "1.7.1" "1" commit))
2056 (source
2057 (origin
2058 (method git-fetch)
2059 (uri (git-reference
2060 (url "https://github.com/gwkkwg/lift")
2061 (commit commit)))
2062 (sha256
2063 (base32
2064 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2065 (file-name (git-file-name "lift" version))
2066 (modules '((guix build utils)))
2067 (snippet
2068 ;; Don't keep the bundled website
2069 `(begin
2070 (delete-file-recursively "website")
2071 #t))))
2072 (build-system asdf-build-system/sbcl)
2073 (arguments
2074 ;; The tests require a debugger, but we run with the debugger disabled.
2075 '(#:tests? #f))
2076 (synopsis "LIsp Framework for Testing")
2077 (description
2078 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2079 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2080 testcases are organized into hierarchical testsuites each of which can have
2081 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2082 supports randomized testing, benchmarking, profiling, and reporting.")
2083 (home-page "https://github.com/gwkkwg/lift")
2084 (license license:expat))))
2085
2086 (define-public cl-lift
2087 (sbcl-package->cl-source-package sbcl-lift))
2088
2089 (define-public ecl-lift
2090 (sbcl-package->ecl-package sbcl-lift))
2091
2092 (define-public sbcl-let-plus
2093 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2094 (package
2095 (name "sbcl-let-plus")
2096 (version (git-version "0.0.0" "1" commit))
2097 (source
2098 (origin
2099 (method git-fetch)
2100 (uri (git-reference
2101 (url "https://github.com/sharplispers/let-plus")
2102 (commit commit)))
2103 (sha256
2104 (base32
2105 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2106 (file-name (git-file-name "let-plus" version))))
2107 (build-system asdf-build-system/sbcl)
2108 (inputs
2109 `(("alexandria" ,sbcl-alexandria)
2110 ("anaphora" ,sbcl-anaphora)))
2111 (native-inputs
2112 `(("lift" ,sbcl-lift)))
2113 (synopsis "Destructuring extension of let*")
2114 (description
2115 "This library implements the let+ macro, which is a dectructuring
2116 extension of let*. It features:
2117
2118 @itemize
2119 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2120 not counting tests)
2121 @item Placeholder macros allow editor hints and syntax highlighting
2122 @item @command{&ign} for ignored values (in forms where that makes sense)
2123 @item Very easy to extend
2124 @end itemize\n")
2125 (home-page "https://github.com/sharplispers/let-plus")
2126 (license license:boost1.0))))
2127
2128 (define-public cl-let-plus
2129 (sbcl-package->cl-source-package sbcl-let-plus))
2130
2131 (define-public ecl-let-plus
2132 (sbcl-package->ecl-package sbcl-let-plus))
2133
2134 (define-public sbcl-cl-colors
2135 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2136 (package
2137 (name "sbcl-cl-colors")
2138 (version (git-version "0.0.0" "1" commit))
2139 (source
2140 (origin
2141 (method git-fetch)
2142 (uri (git-reference
2143 (url "https://github.com/tpapp/cl-colors")
2144 (commit commit)))
2145 (sha256
2146 (base32
2147 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2148 (file-name (git-file-name "cl-colors" version))))
2149 (build-system asdf-build-system/sbcl)
2150 (inputs
2151 `(("alexandria" ,sbcl-alexandria)
2152 ("let-plus" ,sbcl-let-plus)))
2153 (synopsis "Simple color library for Common Lisp")
2154 (description
2155 "This is a very simple color library for Common Lisp, providing
2156
2157 @itemize
2158 @item Types for representing colors in HSV and RGB spaces.
2159 @item Simple conversion functions between the above types (and also
2160 hexadecimal representation for RGB).
2161 @item Some predefined colors (currently X11 color names – of course the
2162 library does not depend on X11).Because color in your terminal is nice.
2163 @end itemize
2164
2165 This library is no longer supported by its author.")
2166 (home-page "https://github.com/tpapp/cl-colors")
2167 (license license:boost1.0))))
2168
2169 (define-public cl-colors
2170 (sbcl-package->cl-source-package sbcl-cl-colors))
2171
2172 (define-public ecl-cl-colors
2173 (sbcl-package->ecl-package sbcl-cl-colors))
2174
2175 (define-public sbcl-cl-ansi-text
2176 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2177 (package
2178 (name "sbcl-cl-ansi-text")
2179 (version (git-version "1.0.0" "1" commit))
2180 (source
2181 (origin
2182 (method git-fetch)
2183 (uri (git-reference
2184 (url "https://github.com/pnathan/cl-ansi-text")
2185 (commit commit)))
2186 (sha256
2187 (base32
2188 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2189 (file-name (git-file-name "cl-ansi-text" version))))
2190 (build-system asdf-build-system/sbcl)
2191 (inputs
2192 `(("alexandria" ,sbcl-alexandria)
2193 ("cl-colors" ,sbcl-cl-colors)))
2194 (native-inputs
2195 `(("fiveam" ,sbcl-fiveam)))
2196 (synopsis "ANSI terminal color implementation for Common Lisp")
2197 (description
2198 "@command{cl-ansi-text} provides utilities which enable printing to an
2199 ANSI terminal with colored text. It provides the macro @command{with-color}
2200 which causes everything printed in the body to be displayed with the provided
2201 color. It further provides functions which will print the argument with the
2202 named color.")
2203 (home-page "https://github.com/pnathan/cl-ansi-text")
2204 (license license:llgpl))))
2205
2206 (define-public cl-ansi-text
2207 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2208
2209 (define-public ecl-cl-ansi-text
2210 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2211
2212 (define-public sbcl-prove
2213 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2214 (package
2215 (name "sbcl-prove")
2216 (version (git-version "1.0.0" "1" commit))
2217 (source
2218 (origin
2219 (method git-fetch)
2220 (uri (git-reference
2221 (url "https://github.com/fukamachi/prove")
2222 (commit commit)))
2223 (sha256
2224 (base32
2225 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2226 (file-name (git-file-name "prove" version))))
2227 (build-system asdf-build-system/sbcl)
2228 (inputs
2229 `(("alexandria" ,sbcl-alexandria)
2230 ("cl-ppcre" ,sbcl-cl-ppcre)
2231 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2232 (synopsis "Yet another unit testing framework for Common Lisp")
2233 (description
2234 "This project was originally called @command{cl-test-more}.
2235 @command{prove} is yet another unit testing framework for Common Lisp. The
2236 advantages of @command{prove} are:
2237
2238 @itemize
2239 @item Various simple functions for testing and informative error messages
2240 @item ASDF integration
2241 @item Extensible test reporters
2242 @item Colorizes the report if it's available (note for SLIME)
2243 @item Reports test durations
2244 @end itemize\n")
2245 (home-page "https://github.com/fukamachi/prove")
2246 (license license:expat))))
2247
2248 (define-public cl-prove
2249 (sbcl-package->cl-source-package sbcl-prove))
2250
2251 (define-public ecl-prove
2252 (sbcl-package->ecl-package sbcl-prove))
2253
2254 (define-public sbcl-proc-parse
2255 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2256 (package
2257 (name "sbcl-proc-parse")
2258 (version (git-version "0.0.0" "1" commit))
2259 (source
2260 (origin
2261 (method git-fetch)
2262 (uri (git-reference
2263 (url "https://github.com/fukamachi/proc-parse")
2264 (commit commit)))
2265 (sha256
2266 (base32
2267 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2268 (file-name (git-file-name "proc-parse" version))))
2269 (build-system asdf-build-system/sbcl)
2270 (inputs
2271 `(("alexandria" ,sbcl-alexandria)
2272 ("babel" ,sbcl-babel)))
2273 (native-inputs
2274 `(("prove" ,sbcl-prove)))
2275 (arguments
2276 ;; TODO: Tests don't find "proc-parse-test", why?
2277 `(#:tests? #f))
2278 (synopsis "Procedural vector parser")
2279 (description
2280 "This is a string/octets parser library for Common Lisp with speed and
2281 readability in mind. Unlike other libraries, the code is not a
2282 pattern-matching-like, but a char-by-char procedural parser.")
2283 (home-page "https://github.com/fukamachi/proc-parse")
2284 (license license:bsd-2))))
2285
2286 (define-public cl-proc-parse
2287 (sbcl-package->cl-source-package sbcl-proc-parse))
2288
2289 (define-public ecl-proc-parse
2290 (sbcl-package->ecl-package sbcl-proc-parse))
2291
2292 (define-public sbcl-parse-float
2293 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2294 (package
2295 (name "sbcl-parse-float")
2296 (version (git-version "0.0.0" "1" commit))
2297 (source
2298 (origin
2299 (method git-fetch)
2300 (uri (git-reference
2301 (url "https://github.com/soemraws/parse-float")
2302 (commit commit)))
2303 (sha256
2304 (base32
2305 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2306 (file-name (git-file-name "proc-parse" version))))
2307 (build-system asdf-build-system/sbcl)
2308 (inputs
2309 `(("alexandria" ,sbcl-alexandria)
2310 ("babel" ,sbcl-babel)))
2311 (native-inputs
2312 `(("prove" ,sbcl-prove)))
2313 (arguments
2314 ;; TODO: Tests don't find "proc-parse-test", why?
2315 `(#:tests? #f))
2316 (synopsis "Parse a floating point value from a string in Common Lisp")
2317 (description
2318 "This package exports the following function to parse floating-point
2319 values from a string in Common Lisp.")
2320 (home-page "https://github.com/soemraws/parse-float")
2321 (license license:public-domain))))
2322
2323 (define-public cl-parse-float
2324 (sbcl-package->cl-source-package sbcl-parse-float))
2325
2326 (define-public ecl-parse-float
2327 (sbcl-package->ecl-package sbcl-parse-float))
2328
2329 (define-public sbcl-cl-string-match
2330 (let ((revision "1")
2331 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2332 (package
2333 (name "sbcl-cl-string-match")
2334 (version (git-version "0" revision changeset))
2335 (source
2336 (origin
2337 (method hg-fetch)
2338 (uri (hg-reference
2339 (url "https://bitbucket.org/vityok/cl-string-match/")
2340 (changeset changeset)))
2341 (sha256
2342 (base32
2343 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2344 (file-name (git-file-name "cl-string-match" version))))
2345 (build-system asdf-build-system/sbcl)
2346 (inputs
2347 `(("alexandria" ,sbcl-alexandria)
2348 ("babel" ,sbcl-babel)
2349 ("iterate" ,sbcl-iterate)
2350 ("jpl-queues" ,sbcl-jpl-queues)
2351 ("jpl-util" ,sbcl-jpl-util)
2352 ("mgl-pax" ,sbcl-mgl-pax)
2353 ("parse-float" ,sbcl-parse-float)
2354 ("proc-parse" ,sbcl-proc-parse)
2355 ("yacc" ,sbcl-cl-yacc)))
2356 ;; TODO: Tests are not evaluated properly.
2357 (native-inputs
2358 ;; For testing:
2359 `(("lisp-unit" ,sbcl-lisp-unit)))
2360 (arguments
2361 `(#:tests? #f))
2362 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2363 (description
2364 "@command{cl-strings} is a small, portable, dependency-free set of
2365 utilities that make it even easier to manipulate text in Common Lisp. It has
2366 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2367 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2368 (license license:bsd-3))))
2369
2370 (define-public cl-string-match
2371 (sbcl-package->cl-source-package sbcl-cl-string-match))
2372
2373 (define-public ecl-cl-string-match
2374 (sbcl-package->ecl-package sbcl-cl-string-match))
2375
2376 (define-public sbcl-ptester
2377 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2378 (revision "1"))
2379 (package
2380 (name "sbcl-ptester")
2381 (version (git-version "2.1.3" revision commit))
2382 (source
2383 (origin
2384 (method git-fetch)
2385 (uri (git-reference
2386 (url "http://git.kpe.io/ptester.git")
2387 (commit commit)))
2388 (file-name (git-file-name name version))
2389 (sha256
2390 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2391 (build-system asdf-build-system/sbcl)
2392 (home-page "http://quickdocs.org/ptester/")
2393 (synopsis "Portable test harness package")
2394 (description
2395 "@command{ptester} is a portable testing framework based on Franz's
2396 tester module.")
2397 (license license:llgpl))))
2398
2399 (define-public cl-ptester
2400 (sbcl-package->cl-source-package sbcl-ptester))
2401
2402 (define-public ecl-ptester
2403 (sbcl-package->ecl-package sbcl-ptester))
2404
2405 (define-public sbcl-puri
2406 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2407 (revision "1"))
2408 (package
2409 (name "sbcl-puri")
2410 (version (git-version "1.5.7" revision commit))
2411 (source
2412 (origin
2413 (method git-fetch)
2414 (uri (git-reference
2415 (url "http://git.kpe.io/puri.git")
2416 (commit commit)))
2417 (file-name (git-file-name name version))
2418 (sha256
2419 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2420 (build-system asdf-build-system/sbcl)
2421 (native-inputs
2422 `(("ptester" ,sbcl-ptester)))
2423 (home-page "http://quickdocs.org/puri/")
2424 (synopsis "Portable URI Library")
2425 (description
2426 "This is a portable Universal Resource Identifier library for Common
2427 Lisp programs. It parses URI according to the RFC 2396 specification.")
2428 (license license:llgpl))))
2429
2430 (define-public cl-puri
2431 (sbcl-package->cl-source-package sbcl-puri))
2432
2433 (define-public ecl-puri
2434 (sbcl-package->ecl-package sbcl-puri))
2435
2436 (define-public sbcl-qmynd
2437 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2438 (revision "1"))
2439 (package
2440 (name "sbcl-qmynd")
2441 (version (git-version "1.0.0" revision commit))
2442 (source
2443 (origin
2444 (method git-fetch)
2445 (uri (git-reference
2446 (url "https://github.com/qitab/qmynd")
2447 (commit commit)))
2448 (file-name (git-file-name name version))
2449 (sha256
2450 (base32
2451 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2452 (build-system asdf-build-system/sbcl)
2453 (inputs
2454 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2455 ("babel" ,sbcl-babel)
2456 ("chipz" ,sbcl-chipz)
2457 ("cl+ssl" ,sbcl-cl+ssl)
2458 ("flexi-streams" ,sbcl-flexi-streams)
2459 ("ironclad" ,sbcl-ironclad)
2460 ("salza2" ,sbcl-salza2)
2461 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2462 ("usocket" ,sbcl-usocket)))
2463 (home-page "https://github.com/qitab/qmynd")
2464 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2465 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2466 library that directly talks to a MySQL server in its native network protocol.
2467
2468 It's a part of QITAB umbrella project.")
2469 (license license:expat))))
2470
2471 (define-public ecl-qmynd
2472 (sbcl-package->ecl-package sbcl-qmynd))
2473
2474 (define-public cl-qmynd
2475 (sbcl-package->cl-source-package sbcl-qmynd))
2476
2477 (define-public sbcl-queues
2478 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2479 (package
2480 (name "sbcl-queues")
2481 (version (git-version "0.0.0" "1" commit))
2482 (source
2483 (origin
2484 (method git-fetch)
2485 (uri (git-reference
2486 (url "https://github.com/oconnore/queues")
2487 (commit commit)))
2488 (file-name (git-file-name "queues" version))
2489 (sha256
2490 (base32
2491 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2492 (build-system asdf-build-system/sbcl)
2493 (inputs
2494 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2495 (arguments
2496 '(#:asd-systems '("queues"
2497 "queues.simple-queue"
2498 "queues.simple-cqueue"
2499 "queues.priority-queue"
2500 "queues.priority-cqueue")))
2501 (home-page "https://github.com/oconnore/queues")
2502 (synopsis "Common Lisp queue library")
2503 (description
2504 "This is a simple queue library for Common Lisp with features such as
2505 non-consing thread safe queues and fibonacci priority queues.")
2506 (license license:expat))))
2507
2508 (define-public cl-queues
2509 (sbcl-package->cl-source-package sbcl-queues))
2510
2511 (define-public ecl-queues
2512 (sbcl-package->ecl-package sbcl-queues))
2513
2514 (define-public sbcl-cffi
2515 (package
2516 (name "sbcl-cffi")
2517 (version "0.23.0")
2518 (source
2519 (origin
2520 (method git-fetch)
2521 (uri (git-reference
2522 (url "https://github.com/cffi/cffi")
2523 (commit (string-append "v" version))))
2524 (file-name (git-file-name "cffi-bootstrap" version))
2525 (sha256
2526 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2527 (build-system asdf-build-system/sbcl)
2528 (inputs
2529 `(("alexandria" ,sbcl-alexandria)
2530 ("babel" ,sbcl-babel)
2531 ("libffi" ,libffi)
2532 ("trivial-features" ,sbcl-trivial-features)))
2533 (native-inputs
2534 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2535 ("pkg-config" ,pkg-config)
2536 ("rt" ,sbcl-rt)))
2537 (arguments
2538 '(#:phases
2539 (modify-phases %standard-phases
2540 (add-after 'unpack 'fix-arm-support
2541 (lambda _
2542 ;; This is apparently deprecated since libffi-3.3.
2543 (substitute* "libffi/libffi-types.lisp"
2544 (("\\\(\\\(:unix64.*") ")\n"))
2545 #t))
2546 (add-after 'unpack 'fix-paths
2547 (lambda* (#:key inputs #:allow-other-keys)
2548 (substitute* "libffi/libffi.lisp"
2549 (("libffi.so.7" all) (string-append
2550 (assoc-ref inputs "libffi")
2551 "/lib/" all)))
2552 (substitute* "toolchain/c-toolchain.lisp"
2553 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2554 (add-after 'build 'install-headers
2555 (lambda* (#:key outputs #:allow-other-keys)
2556 (install-file "grovel/common.h"
2557 (string-append
2558 (assoc-ref outputs "out")
2559 "/include/grovel")))))
2560 #:asd-files '("cffi.asd"
2561 "cffi-toolchain.asd"
2562 "cffi-grovel.asd"
2563 "cffi-libffi.asd"
2564 "cffi-uffi-compat.asd")
2565 #:asd-systems '("cffi"
2566 "cffi-libffi"
2567 "cffi-uffi-compat")))
2568 (home-page "https://common-lisp.net/project/cffi/")
2569 (synopsis "Common Foreign Function Interface for Common Lisp")
2570 (description "The Common Foreign Function Interface (CFFI)
2571 purports to be a portable foreign function interface for Common Lisp.
2572 The CFFI library is composed of a Lisp-implementation-specific backend
2573 in the CFFI-SYS package, and a portable frontend in the CFFI
2574 package.")
2575 (license license:expat)))
2576
2577 (define-public cl-cffi
2578 (sbcl-package->cl-source-package sbcl-cffi))
2579
2580 (define-public ecl-cffi
2581 (sbcl-package->ecl-package sbcl-cffi))
2582
2583 (define-public sbcl-cl-sqlite
2584 (package
2585 (name "sbcl-cl-sqlite")
2586 (version "0.2.1")
2587 (source
2588 (origin
2589 (method git-fetch)
2590 (uri (git-reference
2591 (url "https://github.com/dmitryvk/cl-sqlite")
2592 (commit version)))
2593 (file-name (git-file-name "cl-sqlite" version))
2594 (sha256
2595 (base32
2596 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2597 (build-system asdf-build-system/sbcl)
2598 (inputs
2599 `(("iterate" ,sbcl-iterate)
2600 ("cffi" ,sbcl-cffi)
2601 ("sqlite" ,sqlite)))
2602 (native-inputs
2603 `(("fiveam" ,sbcl-fiveam)
2604 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2605 (arguments
2606 `(#:asd-systems '("sqlite")
2607 #:phases
2608 (modify-phases %standard-phases
2609 (add-after 'unpack 'fix-paths
2610 (lambda* (#:key inputs #:allow-other-keys)
2611 (substitute* "sqlite-ffi.lisp"
2612 (("libsqlite3" all) (string-append
2613 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2614 (home-page "https://common-lisp.net/project/cl-sqlite/")
2615 (synopsis "Common Lisp binding for SQLite")
2616 (description
2617 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2618 relational database engine.")
2619 (license license:public-domain)))
2620
2621 (define-public cl-sqlite
2622 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2623
2624 (define-public ecl-cl-sqlite
2625 (sbcl-package->ecl-package sbcl-cl-sqlite))
2626
2627 (define-public sbcl-parenscript
2628 ;; Source archives are overwritten on every release, we use the Git repo instead.
2629 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2630 (package
2631 (name "sbcl-parenscript")
2632 (version (git-version "2.7.1" "1" commit))
2633 (source
2634 (origin
2635 (method git-fetch)
2636 (uri (git-reference
2637 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2638 (commit commit)))
2639 (file-name (git-file-name "parenscript" version))
2640 (sha256
2641 (base32
2642 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2643 (build-system asdf-build-system/sbcl)
2644 (inputs
2645 `(("cl-ppcre" ,sbcl-cl-ppcre)
2646 ("anaphora" ,sbcl-anaphora)
2647 ("named-readtables" ,sbcl-named-readtables)))
2648 (home-page "https://common-lisp.net/project/parenscript/")
2649 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2650 (description
2651 "Parenscript is a translator from an extended subset of Common Lisp to
2652 JavaScript. Parenscript code can run almost identically on both the
2653 browser (as JavaScript) and server (as Common Lisp).
2654
2655 Parenscript code is treated the same way as Common Lisp code, making the full
2656 power of Lisp macros available for JavaScript. This provides a web
2657 development environment that is unmatched in its ability to reduce code
2658 duplication and provide advanced meta-programming facilities to web
2659 developers.
2660
2661 At the same time, Parenscript is different from almost all other \"language
2662 X\" to JavaScript translators in that it imposes almost no overhead:
2663
2664 @itemize
2665 @item No run-time dependencies: Any piece of Parenscript code is runnable
2666 as-is. There are no JavaScript files to include.
2667 @item Native types: Parenscript works entirely with native JavaScript data
2668 types. There are no new types introduced, and object prototypes are not
2669 touched.
2670 @item Native calling convention: Any JavaScript code can be called without the
2671 need for bindings. Likewise, Parenscript can be used to make efficient,
2672 self-contained JavaScript libraries.
2673 @item Readable code: Parenscript generates concise, formatted, idiomatic
2674 JavaScript code. Identifier names are preserved. This enables seamless
2675 debugging in tools like Firebug.
2676 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2677 Lisp features. The generated code is almost as fast as hand-written
2678 JavaScript.
2679 @end itemize\n")
2680 (license license:bsd-3))))
2681
2682 (define-public cl-parenscript
2683 (sbcl-package->cl-source-package sbcl-parenscript))
2684
2685 (define-public ecl-parenscript
2686 (sbcl-package->ecl-package sbcl-parenscript))
2687
2688 (define-public sbcl-cl-json
2689 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2690 (package
2691 (name "sbcl-cl-json")
2692 (version (git-version "0.5" "1" commit))
2693 (source
2694 (origin
2695 (method git-fetch)
2696 (uri (git-reference
2697 (url "https://github.com/hankhero/cl-json")
2698 (commit commit)))
2699 (file-name (git-file-name "cl-json" version))
2700 (sha256
2701 (base32
2702 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2703 (build-system asdf-build-system/sbcl)
2704 (native-inputs
2705 `(("fiveam" ,sbcl-fiveam)))
2706 (home-page "https://github.com/hankhero/cl-json")
2707 (synopsis "JSON encoder and decoder for Common-Lisp")
2708 (description
2709 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2710 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2711 and the decoder are highly customizable; at the same time, the default
2712 settings ensure a very simple mode of operation, similar to that provided by
2713 @command{yason} or @command{st-json}.")
2714 (license license:expat))))
2715
2716 (define-public cl-json
2717 (sbcl-package->cl-source-package sbcl-cl-json))
2718
2719 (define-public ecl-cl-json
2720 (sbcl-package->ecl-package sbcl-cl-json))
2721
2722 (define-public sbcl-unix-opts
2723 (package
2724 (name "sbcl-unix-opts")
2725 (version "0.1.7")
2726 (source
2727 (origin
2728 (method git-fetch)
2729 (uri (git-reference
2730 (url "https://github.com/libre-man/unix-opts")
2731 (commit version)))
2732 (file-name (git-file-name "unix-opts" version))
2733 (sha256
2734 (base32
2735 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2736 (build-system asdf-build-system/sbcl)
2737 (home-page "https://github.com/hankhero/cl-json")
2738 (synopsis "Unix-style command line options parser")
2739 (description
2740 "This is a minimalistic parser of command line options. The main
2741 advantage of the library is the ability to concisely define command line
2742 options once and then use this definition for parsing and extraction of
2743 command line arguments, as well as printing description of command line
2744 options (you get --help for free). This way you don't need to repeat
2745 yourself. Also, @command{unix-opts} doesn't depend on anything and
2746 precisely controls the behavior of the parser via Common Lisp restarts.")
2747 (license license:expat)))
2748
2749 (define-public cl-unix-opts
2750 (sbcl-package->cl-source-package sbcl-unix-opts))
2751
2752 (define-public ecl-unix-opts
2753 (sbcl-package->ecl-package sbcl-unix-opts))
2754
2755 (define-public sbcl-trivial-garbage
2756 (package
2757 (name "sbcl-trivial-garbage")
2758 (version "0.21")
2759 (source
2760 (origin
2761 (method git-fetch)
2762 (uri (git-reference
2763 (url "https://github.com/trivial-garbage/trivial-garbage")
2764 (commit (string-append "v" version))))
2765 (file-name (git-file-name "trivial-garbage" version))
2766 (sha256
2767 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2768 (build-system asdf-build-system/sbcl)
2769 (native-inputs
2770 `(("rt" ,sbcl-rt)))
2771 (home-page "https://common-lisp.net/project/trivial-garbage/")
2772 (synopsis "Portable GC-related APIs for Common Lisp")
2773 (description "@command{trivial-garbage} provides a portable API to
2774 finalizers, weak hash-tables and weak pointers on all major implementations of
2775 the Common Lisp programming language.")
2776 (license license:public-domain)))
2777
2778 (define-public cl-trivial-garbage
2779 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2780
2781 (define-public ecl-trivial-garbage
2782 (sbcl-package->ecl-package sbcl-trivial-garbage))
2783
2784 (define-public sbcl-closer-mop
2785 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2786 (package
2787 (name "sbcl-closer-mop")
2788 (version (git-version "1.0.0" "2" commit))
2789 (source
2790 (origin
2791 (method git-fetch)
2792 (uri (git-reference
2793 (url "https://github.com/pcostanza/closer-mop")
2794 (commit commit)))
2795 (sha256
2796 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2797 (file-name (git-file-name "closer-mop" version ))))
2798 (build-system asdf-build-system/sbcl)
2799 (home-page "https://github.com/pcostanza/closer-mop")
2800 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2801 (description "Closer to MOP is a compatibility layer that rectifies many
2802 of the absent or incorrect CLOS MOP features across a broad range of Common
2803 Lisp implementations.")
2804 (license license:expat))))
2805
2806 (define-public cl-closer-mop
2807 (sbcl-package->cl-source-package sbcl-closer-mop))
2808
2809 (define-public ecl-closer-mop
2810 (sbcl-package->ecl-package sbcl-closer-mop))
2811
2812 (define-public sbcl-cl-cffi-gtk
2813 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2814 (package
2815 (name "sbcl-cl-cffi-gtk")
2816 (version (git-version "0.11.2" "2" commit))
2817 (source
2818 (origin
2819 (method git-fetch)
2820 (uri (git-reference
2821 (url "https://github.com/Ferada/cl-cffi-gtk/")
2822 (commit commit)))
2823 (file-name (git-file-name "cl-cffi-gtk" version))
2824 (sha256
2825 (base32
2826 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2827 (build-system asdf-build-system/sbcl)
2828 (native-inputs
2829 `(("fiveam" ,sbcl-fiveam)))
2830 (inputs
2831 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2832 ("cairo" ,cairo)
2833 ("cffi" ,sbcl-cffi)
2834 ("closer-mop" ,sbcl-closer-mop)
2835 ("gdk-pixbuf" ,gdk-pixbuf)
2836 ("glib" ,glib)
2837 ("gtk" ,gtk+)
2838 ("iterate" ,sbcl-iterate)
2839 ("pango" ,pango)
2840 ("trivial-features" ,sbcl-trivial-features)
2841 ("trivial-garbage" ,sbcl-trivial-garbage)))
2842 (arguments
2843 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2844 "glib/cl-cffi-gtk-glib.asd"
2845 "gobject/cl-cffi-gtk-gobject.asd"
2846 "gio/cl-cffi-gtk-gio.asd"
2847 "cairo/cl-cffi-gtk-cairo.asd"
2848 "pango/cl-cffi-gtk-pango.asd"
2849 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2850 "gdk/cl-cffi-gtk-gdk.asd")
2851 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2852 ;; TODO: Tests fail with memory fault.
2853 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2854 #:tests? #f
2855 #:phases
2856 (modify-phases %standard-phases
2857 (add-after 'unpack 'fix-paths
2858 (lambda* (#:key inputs #:allow-other-keys)
2859 (substitute* "glib/glib.init.lisp"
2860 (("libglib|libgthread" all)
2861 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2862 (substitute* "gobject/gobject.init.lisp"
2863 (("libgobject" all)
2864 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2865 (substitute* "gio/gio.init.lisp"
2866 (("libgio" all)
2867 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2868 (substitute* "cairo/cairo.init.lisp"
2869 (("libcairo" all)
2870 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2871 (substitute* "pango/pango.init.lisp"
2872 (("libpango" all)
2873 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2874 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2875 (("libgdk_pixbuf" all)
2876 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2877 (substitute* "gdk/gdk.init.lisp"
2878 (("libgdk" all)
2879 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2880 (substitute* "gdk/gdk.package.lisp"
2881 (("libgtk" all)
2882 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2883 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2884 (synopsis "Common Lisp binding for GTK+3")
2885 (description
2886 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2887 is a library for creating graphical user interfaces.")
2888 (license license:lgpl3))))
2889
2890 (define-public cl-cffi-gtk
2891 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2892
2893 (define-public ecl-cl-cffi-gtk
2894 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2895
2896 (define-public sbcl-cl-webkit
2897 (let ((commit "5ce3ea1fbf2b21e7ccb98402a818508ca9b79395"))
2898 (package
2899 (name "sbcl-cl-webkit")
2900 (version (git-version "2.4" "10" commit))
2901 (source
2902 (origin
2903 (method git-fetch)
2904 (uri (git-reference
2905 (url "https://github.com/joachifm/cl-webkit")
2906 (commit commit)))
2907 (file-name (git-file-name "cl-webkit" version))
2908 (sha256
2909 (base32
2910 "0zgd8hp2nalh0v4xgjvqxd6rf95f7mci181xbg3gmqxxwxd4mkpk"))))
2911 (build-system asdf-build-system/sbcl)
2912 (inputs
2913 `(("cffi" ,sbcl-cffi)
2914 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
2915 ("webkitgtk" ,webkitgtk)))
2916 (arguments
2917 `(#:asd-systems '("cl-webkit2")
2918 #:phases
2919 (modify-phases %standard-phases
2920 (add-after 'unpack 'fix-paths
2921 (lambda* (#:key inputs #:allow-other-keys)
2922 (substitute* "webkit2/webkit2.init.lisp"
2923 (("libwebkit2gtk" all)
2924 (string-append
2925 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
2926 (home-page "https://github.com/joachifm/cl-webkit")
2927 (synopsis "Binding to WebKitGTK+ for Common Lisp")
2928 (description
2929 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
2930 currently targeting WebKit version 2. The WebKitGTK+ library adds web
2931 browsing capabilities to an application, leveraging the full power of the
2932 WebKit browsing engine.")
2933 (license license:expat))))
2934
2935 (define-public cl-webkit
2936 (sbcl-package->cl-source-package sbcl-cl-webkit))
2937
2938 (define-public ecl-cl-webkit
2939 (sbcl-package->ecl-package sbcl-cl-webkit))
2940
2941 (define-public sbcl-lparallel
2942 (package
2943 (name "sbcl-lparallel")
2944 (version "2.8.4")
2945 (source
2946 (origin
2947 (method git-fetch)
2948 (uri (git-reference
2949 (url "https://github.com/lmj/lparallel/")
2950 (commit (string-append "lparallel-" version))))
2951 (file-name (git-file-name "lparallel" version))
2952 (sha256
2953 (base32
2954 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
2955 (build-system asdf-build-system/sbcl)
2956 (inputs
2957 `(("alexandria" ,sbcl-alexandria)
2958 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2959 ("trivial-garbage" ,sbcl-trivial-garbage)))
2960 (arguments
2961 `(#:phases
2962 (modify-phases %standard-phases
2963 (add-after 'unpack 'fix-dependency
2964 ;; lparallel loads a SBCL specific system in its asd file. This is
2965 ;; not carried over into the fasl which is generated. In order for
2966 ;; it to be carried over, it needs to be listed as a dependency.
2967 (lambda _
2968 (substitute* "lparallel.asd"
2969 ((":depends-on \\(:alexandria" all)
2970 (string-append all " #+sbcl :sb-cltl2"))))))))
2971 (home-page "https://lparallel.org/")
2972 (synopsis "Parallelism for Common Lisp")
2973 (description
2974 "@command{lparallel} is a library for parallel programming in Common
2975 Lisp, featuring:
2976
2977 @itemize
2978 @item a simple model of task submission with receiving queue,
2979 @item constructs for expressing fine-grained parallelism,
2980 @item asynchronous condition handling across thread boundaries,
2981 @item parallel versions of map, reduce, sort, remove, and many others,
2982 @item promises, futures, and delayed evaluation constructs,
2983 @item computation trees for parallelizing interconnected tasks,
2984 @item bounded and unbounded FIFO queues,
2985 @item high and low priority tasks,
2986 @item task killing by category,
2987 @item integrated timeouts.
2988 @end itemize\n")
2989 (license license:expat)))
2990
2991 (define-public cl-lparallel
2992 (sbcl-package->cl-source-package sbcl-lparallel))
2993
2994 (define-public ecl-lparallel
2995 (package
2996 (inherit (sbcl-package->ecl-package sbcl-lparallel))
2997 (arguments
2998 ;; TODO: Find why the tests get stuck forever; disable them for now.
2999 `(#:tests? #f))))
3000
3001 (define-public sbcl-cl-markup
3002 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3003 (package
3004 (name "sbcl-cl-markup")
3005 (version (git-version "0.1" "1" commit))
3006 (source
3007 (origin
3008 (method git-fetch)
3009 (uri (git-reference
3010 (url "https://github.com/arielnetworks/cl-markup/")
3011 (commit commit)))
3012 (file-name (git-file-name "cl-markup" version))
3013 (sha256
3014 (base32
3015 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3016 (build-system asdf-build-system/sbcl)
3017 (home-page "https://github.com/arielnetworks/cl-markup/")
3018 (synopsis "Markup generation library for Common Lisp")
3019 (description
3020 "A modern markup generation library for Common Lisp that features:
3021
3022 @itemize
3023 @item Fast (even faster through compiling the code)
3024 @item Safety
3025 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3026 @item Output with doctype
3027 @item Direct output to stream
3028 @end itemize\n")
3029 (license license:lgpl3+))))
3030
3031 (define-public cl-markup
3032 (sbcl-package->cl-source-package sbcl-cl-markup))
3033
3034 (define-public ecl-cl-markup
3035 (sbcl-package->ecl-package sbcl-cl-markup))
3036
3037 (define-public sbcl-cl-mustache
3038 (package
3039 (name "sbcl-cl-mustache")
3040 (version "0.12.1")
3041 (source
3042 (origin
3043 (method git-fetch)
3044 (uri (git-reference
3045 (url "https://github.com/kanru/cl-mustache")
3046 (commit (string-append "v" version))))
3047 (file-name (git-file-name "cl-mustache" version))
3048 (sha256
3049 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3050 (build-system asdf-build-system/sbcl)
3051 (home-page "https://github.com/kanru/cl-mustache")
3052 (synopsis "Common Lisp Mustache template renderer")
3053 (description "This is a Common Lisp implementation for the Mustache
3054 template system. More details on the standard are available at
3055 @url{https://mustache.github.io}.")
3056 (license license:expat)))
3057
3058 (define-public cl-mustache
3059 (sbcl-package->cl-source-package sbcl-cl-mustache))
3060
3061 (define-public ecl-cl-mustache
3062 (sbcl-package->ecl-package sbcl-cl-mustache))
3063
3064 (define-public sbcl-cl-css
3065 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3066 (package
3067 (name "sbcl-cl-css")
3068 (version (git-version "0.1" "1" commit))
3069 (source
3070 (origin
3071 (method git-fetch)
3072 (uri (git-reference
3073 (url "https://github.com/inaimathi/cl-css/")
3074 (commit commit)))
3075 (file-name (git-file-name "cl-css" version))
3076 (sha256
3077 (base32
3078 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3079 (build-system asdf-build-system/sbcl)
3080 (home-page "https://github.com/inaimathi/cl-css/")
3081 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3082 (description
3083 "This is a dead-simple, non validating, inline CSS generator for Common
3084 Lisp. Its goals are axiomatic syntax, simple implementation to support
3085 portability, and boilerplate reduction in CSS.")
3086 (license license:expat))))
3087
3088 (define-public cl-css
3089 (sbcl-package->cl-source-package sbcl-cl-css))
3090
3091 (define-public ecl-cl-css
3092 (sbcl-package->ecl-package sbcl-cl-css))
3093
3094 (define-public sbcl-portable-threads
3095 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3096 (package
3097 (name "sbcl-portable-threads")
3098 (version (git-version "2.3" "2" commit))
3099 (source
3100 (origin
3101 (method git-fetch)
3102 (uri (git-reference
3103 (url "https://github.com/binghe/portable-threads/")
3104 (commit commit)))
3105 (file-name (git-file-name "portable-threads" version))
3106 (sha256
3107 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3108 (build-system asdf-build-system/sbcl)
3109 (arguments
3110 `(;; Tests seem broken.
3111 #:tests? #f))
3112 (home-page "https://github.com/binghe/portable-threads")
3113 (synopsis "Portable threads API for Common Lisp")
3114 (description
3115 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3116 Lisp (from GBBopen project).")
3117 (license license:asl2.0))))
3118
3119 (define-public cl-portable-threads
3120 (sbcl-package->cl-source-package sbcl-portable-threads))
3121
3122 (define-public ecl-portable-threads
3123 (sbcl-package->ecl-package sbcl-portable-threads))
3124
3125 (define-public sbcl-usocket
3126 (package
3127 (name "sbcl-usocket")
3128 (version "0.8.3")
3129 (source
3130 (origin
3131 (method git-fetch)
3132 (uri (git-reference
3133 (url "https://github.com/usocket/usocket/")
3134 (commit (string-append "v" version))))
3135 (file-name (git-file-name "usocket" version))
3136 (sha256
3137 (base32
3138 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3139 (build-system asdf-build-system/sbcl)
3140 (native-inputs
3141 `(("rt" ,sbcl-rt)))
3142 (inputs
3143 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3144 ("split-sequence" ,sbcl-split-sequence)))
3145 (arguments
3146 `(#:tests? #f ; FIXME: Tests need network access?
3147 #:asd-systems '("usocket"
3148 "usocket-server")))
3149 (home-page "https://common-lisp.net/project/usocket/")
3150 (synopsis "Universal socket library for Common Lisp")
3151 (description
3152 "This library strives to provide a portable TCP/IP and UDP/IP socket
3153 interface for as many Common Lisp implementations as possible, while keeping
3154 the abstraction and portability layer as thin as possible.")
3155 (license license:expat)))
3156
3157 (define-public cl-usocket
3158 (sbcl-package->cl-source-package sbcl-usocket))
3159
3160 (define-public ecl-usocket
3161 (sbcl-package->ecl-package sbcl-usocket))
3162
3163 (define-public sbcl-s-xml
3164 (package
3165 (name "sbcl-s-xml")
3166 (version "3")
3167 (source
3168 (origin
3169 (method url-fetch)
3170 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3171 (sha256
3172 (base32
3173 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3174 (build-system asdf-build-system/sbcl)
3175 (home-page "https://common-lisp.net/project/s-xml/")
3176 (synopsis "Simple XML parser implemented in Common Lisp")
3177 (description
3178 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3179 parser implementation has the following features:
3180
3181 @itemize
3182 @item It works (handling many common XML usages).
3183 @item It is very small (the core is about 700 lines of code, including
3184 comments and whitespace).
3185 @item It has a core API that is simple, efficient and pure functional, much
3186 like that from SSAX (see also http://ssax.sourceforge.net).
3187 @item It supports different DOM models: an XSML-based one, an LXML-based one
3188 and a classic xml-element struct based one.
3189 @item It is reasonably time and space efficient (internally avoiding garbage
3190 generatation as much as possible).
3191 @item It does support CDATA.
3192 @item It should support the same character sets as your Common Lisp
3193 implementation.
3194 @item It does support XML name spaces.
3195 @end itemize
3196
3197 This XML parser implementation has the following limitations:
3198
3199 @itemize
3200 @item It does not support any special tags (like processing instructions).
3201 @item It is not validating, even skips DTD's all together.
3202 @end itemize\n")
3203 (license license:lgpl3+)))
3204
3205 (define-public cl-s-xml
3206 (sbcl-package->cl-source-package sbcl-s-xml))
3207
3208 (define-public ecl-s-xml
3209 (sbcl-package->ecl-package sbcl-s-xml))
3210
3211 (define-public sbcl-s-xml-rpc
3212 (package
3213 (name "sbcl-s-xml-rpc")
3214 (version "7")
3215 (source
3216 (origin
3217 (method url-fetch)
3218 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3219 (sha256
3220 (base32
3221 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3222 (build-system asdf-build-system/sbcl)
3223 (inputs
3224 `(("s-xml" ,sbcl-s-xml)))
3225 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3226 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3227 (description
3228 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3229 client and server.")
3230 (license license:lgpl3+)))
3231
3232 (define-public cl-s-xml-rpc
3233 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3234
3235 (define-public ecl-s-xml-rpc
3236 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3237
3238 (define-public sbcl-trivial-clipboard
3239 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3240 (package
3241 (name "sbcl-trivial-clipboard")
3242 (version (git-version "0.0.0.0" "3" commit))
3243 (source
3244 (origin
3245 (method git-fetch)
3246 (uri (git-reference
3247 (url "https://github.com/snmsts/trivial-clipboard")
3248 (commit commit)))
3249 (file-name (git-file-name "trivial-clipboard" version))
3250 (sha256
3251 (base32
3252 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3253 (build-system asdf-build-system/sbcl)
3254 (inputs
3255 `(("xclip" ,xclip)))
3256 (native-inputs
3257 `(("fiveam" ,sbcl-fiveam)))
3258 (arguments
3259 `(#:phases
3260 (modify-phases %standard-phases
3261 (add-after 'unpack 'fix-paths
3262 (lambda* (#:key inputs #:allow-other-keys)
3263 (substitute* "src/text.lisp"
3264 (("\\(executable-find \"xclip\"\\)")
3265 (string-append "(executable-find \""
3266 (assoc-ref inputs "xclip")
3267 "/bin/xclip\")"))))))))
3268 (home-page "https://github.com/snmsts/trivial-clipboard")
3269 (synopsis "Access system clipboard in Common Lisp")
3270 (description
3271 "@command{trivial-clipboard} gives access to the system clipboard.")
3272 (license license:expat))))
3273
3274 (define-public cl-trivial-clipboard
3275 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3276
3277 (define-public ecl-trivial-clipboard
3278 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3279
3280 (define-public sbcl-trivial-backtrace
3281 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3282 (revision "1"))
3283 (package
3284 (name "sbcl-trivial-backtrace")
3285 (version (git-version "0.0.0" revision commit))
3286 (source
3287 (origin
3288 (method git-fetch)
3289 (uri (git-reference
3290 (url "https://github.com/gwkkwg/trivial-backtrace")
3291 (commit commit)))
3292 (file-name (git-file-name "trivial-backtrace" version))
3293 (sha256
3294 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3295 (build-system asdf-build-system/sbcl)
3296 (inputs
3297 `(("sbcl-lift" ,sbcl-lift)))
3298 (arguments
3299 `(#:phases
3300 (modify-phases %standard-phases
3301 (add-after 'check 'delete-test-results
3302 (lambda* (#:key outputs #:allow-other-keys)
3303 (let ((test-results (string-append (assoc-ref outputs "out")
3304 "/share/common-lisp/"
3305 (%lisp-type)
3306 "/trivial-backtrace"
3307 "/test-results")))
3308 (when (file-exists? test-results)
3309 (delete-file-recursively test-results)))
3310 #t)))))
3311 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3312 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3313 (description
3314 "One of the many things that didn't quite get into the Common Lisp
3315 standard was how to get a Lisp to output its call stack when something has
3316 gone wrong. As such, each Lisp has developed its own notion of what to
3317 display, how to display it, and what sort of arguments can be used to
3318 customize it. @code{trivial-backtrace} is a simple solution to generating a
3319 backtrace portably.")
3320 (license license:expat))))
3321
3322 (define-public cl-trivial-backtrace
3323 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3324
3325 (define-public ecl-trivial-backtrace
3326 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3327
3328 (define-public sbcl-rfc2388
3329 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3330 (revision "1"))
3331 (package
3332 (name "sbcl-rfc2388")
3333 (version (git-version "0.0.0" revision commit))
3334 (source
3335 (origin
3336 (method git-fetch)
3337 (uri (git-reference
3338 (url "https://github.com/jdz/rfc2388")
3339 (commit commit)))
3340 (file-name (git-file-name "rfc2388" version))
3341 (sha256
3342 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3343 (build-system asdf-build-system/sbcl)
3344 (home-page "https://github.com/jdz/rfc2388/")
3345 (synopsis "An implementation of RFC 2388 in Common Lisp")
3346 (description
3347 "This package contains an implementation of RFC 2388, which is used to
3348 process form data posted with HTTP POST method using enctype
3349 \"multipart/form-data\".")
3350 (license license:bsd-2))))
3351
3352 (define-public cl-rfc2388
3353 (sbcl-package->cl-source-package sbcl-rfc2388))
3354
3355 (define-public ecl-rfc2388
3356 (sbcl-package->ecl-package sbcl-rfc2388))
3357
3358 (define-public sbcl-md5
3359 (package
3360 (name "sbcl-md5")
3361 (version "2.0.4")
3362 (source
3363 (origin
3364 (method git-fetch)
3365 (uri (git-reference
3366 (url "https://github.com/pmai/md5")
3367 (commit (string-append "release-" version))))
3368 (file-name (git-file-name "md5" version))
3369 (sha256
3370 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3371 (build-system asdf-build-system/sbcl)
3372 (home-page "https://github.com/pmai/md5")
3373 (synopsis
3374 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3375 (description
3376 "This package implements The MD5 Message-Digest Algorithm, as defined in
3377 RFC 1321 by R. Rivest, published April 1992.")
3378 (license license:public-domain)))
3379
3380 (define-public cl-md5
3381 (sbcl-package->cl-source-package sbcl-md5))
3382
3383 (define-public ecl-md5
3384 (package
3385 (inherit (sbcl-package->ecl-package sbcl-md5))
3386 (inputs
3387 `(("flexi-streams" ,ecl-flexi-streams)))))
3388
3389 (define-public sbcl-cl+ssl
3390 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3391 (revision "1"))
3392 (package
3393 (name "sbcl-cl+ssl")
3394 (version (git-version "0.0.0" revision commit))
3395 (source
3396 (origin
3397 (method git-fetch)
3398 (uri (git-reference
3399 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3400 (commit commit)))
3401 (file-name (git-file-name "cl+ssl" version))
3402 (sha256
3403 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3404 (build-system asdf-build-system/sbcl)
3405 (arguments
3406 '(#:phases
3407 (modify-phases %standard-phases
3408 (add-after 'unpack 'fix-paths
3409 (lambda* (#:key inputs #:allow-other-keys)
3410 (substitute* "src/reload.lisp"
3411 (("libssl.so" all)
3412 (string-append
3413 (assoc-ref inputs "openssl") "/lib/" all))))))))
3414 (inputs
3415 `(("openssl" ,openssl)
3416 ("sbcl-cffi" ,sbcl-cffi)
3417 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3418 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3419 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3420 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3421 ("sbcl-alexandria" ,sbcl-alexandria)
3422 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3423 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3424 (synopsis "Common Lisp bindings to OpenSSL")
3425 (description
3426 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3427 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3428 Development into CL+SSL was done by David Lichteblau.")
3429 (license license:expat))))
3430
3431 (define-public cl-cl+ssl
3432 (sbcl-package->cl-source-package sbcl-cl+ssl))
3433
3434 (define-public ecl-cl+ssl
3435 (sbcl-package->ecl-package sbcl-cl+ssl))
3436
3437 (define-public sbcl-kmrcl
3438 (let ((version "1.111")
3439 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3440 (revision "1"))
3441 (package
3442 (name "sbcl-kmrcl")
3443 (version (git-version version revision commit))
3444 (source
3445 (origin
3446 (method git-fetch)
3447 (uri (git-reference
3448 (url "http://git.kpe.io/kmrcl.git/")
3449 (commit commit)))
3450 (file-name (git-file-name name version))
3451 (sha256
3452 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3453 (build-system asdf-build-system/sbcl)
3454 (inputs
3455 `(("sbcl-rt" ,sbcl-rt)))
3456 (home-page "http://files.kpe.io/kmrcl/")
3457 (synopsis "General utilities for Common Lisp programs")
3458 (description
3459 "KMRCL is a collection of utilities used by a number of Kevin
3460 Rosenberg's Common Lisp packages.")
3461 (license license:llgpl))))
3462
3463 (define-public cl-kmrcl
3464 (sbcl-package->cl-source-package sbcl-kmrcl))
3465
3466 (define-public ecl-kmrcl
3467 (sbcl-package->ecl-package sbcl-kmrcl))
3468
3469 (define-public sbcl-cl-base64
3470 ;; 3.3.4 tests are broken, upstream fixes them.
3471 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3472 (package
3473 (name "sbcl-cl-base64")
3474 (version (git-version "3.3.4" "1" commit))
3475 (source
3476 (origin
3477 (method git-fetch)
3478 (uri (git-reference
3479 (url "http://git.kpe.io/cl-base64.git/")
3480 (commit commit)))
3481 (file-name (git-file-name name version))
3482 (sha256
3483 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3484 (build-system asdf-build-system/sbcl)
3485 (native-inputs ; For tests.
3486 `(("sbcl-ptester" ,sbcl-ptester)
3487 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3488 (home-page "http://files.kpe.io/cl-base64/")
3489 (synopsis
3490 "Common Lisp package to encode and decode base64 with URI support")
3491 (description
3492 "This package provides highly optimized base64 encoding and decoding.
3493 Besides conversion to and from strings, integer conversions are supported.
3494 Encoding with Uniform Resource Identifiers is supported by using a modified
3495 encoding table that uses only URI-compatible characters.")
3496 (license license:bsd-3))))
3497
3498 (define-public cl-base64
3499 (sbcl-package->cl-source-package sbcl-cl-base64))
3500
3501 (define-public ecl-cl-base64
3502 (sbcl-package->ecl-package sbcl-cl-base64))
3503
3504 (define-public sbcl-chunga
3505 (package
3506 (name "sbcl-chunga")
3507 (version "1.1.7")
3508 (source
3509 (origin
3510 (method git-fetch)
3511 (uri (git-reference
3512 (url "https://github.com/edicl/chunga")
3513 (commit (string-append "v" version))))
3514 (file-name (git-file-name name version))
3515 (sha256
3516 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3517 (build-system asdf-build-system/sbcl)
3518 (inputs
3519 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3520 (home-page "https://edicl.github.io/chunga/")
3521 (synopsis "Portable chunked streams for Common Lisp")
3522 (description
3523 "Chunga implements streams capable of chunked encoding on demand as
3524 defined in RFC 2616.")
3525 (license license:bsd-2)))
3526
3527 (define-public cl-chunga
3528 (sbcl-package->cl-source-package sbcl-chunga))
3529
3530 (define-public ecl-chunga
3531 (sbcl-package->ecl-package sbcl-chunga))
3532
3533 (define-public sbcl-cl-who
3534 (let ((version "1.1.4")
3535 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3536 (revision "1"))
3537 (package
3538 (name "sbcl-cl-who")
3539 (version (git-version version revision commit))
3540 (source
3541 (origin
3542 (method git-fetch)
3543 (uri (git-reference
3544 (url "https://github.com/edicl/cl-who")
3545 (commit commit)))
3546 (file-name (git-file-name name version))
3547 (sha256
3548 (base32
3549 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3550 (build-system asdf-build-system/sbcl)
3551 (native-inputs
3552 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3553 (home-page "https://edicl.github.io/cl-who/")
3554 (synopsis "Yet another Lisp markup language")
3555 (description
3556 "There are plenty of Lisp Markup Languages out there - every Lisp
3557 programmer seems to write at least one during his career - and CL-WHO (where
3558 WHO means \"with-html-output\" for want of a better acronym) is probably just
3559 as good or bad as the next one.")
3560 (license license:bsd-2))))
3561
3562 (define-public cl-who
3563 (sbcl-package->cl-source-package sbcl-cl-who))
3564
3565 (define-public ecl-cl-who
3566 (sbcl-package->ecl-package sbcl-cl-who))
3567
3568 (define-public sbcl-chipz
3569 (let ((version "0.8")
3570 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3571 (revision "1"))
3572 (package
3573 (name "sbcl-chipz")
3574 (version (git-version version revision commit))
3575 (source
3576 (origin
3577 (method git-fetch)
3578 (uri (git-reference
3579 (url "https://github.com/froydnj/chipz")
3580 (commit commit)))
3581 (file-name (git-file-name name version))
3582 (sha256
3583 (base32
3584 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3585 (build-system asdf-build-system/sbcl)
3586 (native-inputs
3587 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3588 (home-page "http://method-combination.net/lisp/chipz/")
3589 (synopsis
3590 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3591 data")
3592 (description
3593 "DEFLATE data, defined in RFC1951, forms the core of popular
3594 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3595 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3596 the format used by the popular compression tool bzip2.")
3597 ;; The author describes it as "MIT-like"
3598 (license license:expat))))
3599
3600 (define-public cl-chipz
3601 (sbcl-package->cl-source-package sbcl-chipz))
3602
3603 (define-public ecl-chipz
3604 (sbcl-package->ecl-package sbcl-chipz))
3605
3606 (define-public sbcl-drakma
3607 (package
3608 (name "sbcl-drakma")
3609 (version "2.0.7")
3610 (source
3611 (origin
3612 (method git-fetch)
3613 (uri (git-reference
3614 (url "https://github.com/edicl/drakma")
3615 (commit (string-append "v" version))))
3616 (file-name (git-file-name name version))
3617 (sha256
3618 (base32
3619 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3620 (build-system asdf-build-system/sbcl)
3621 (inputs
3622 `(("sbcl-puri" ,sbcl-puri)
3623 ("sbcl-cl-base64" ,sbcl-cl-base64)
3624 ("sbcl-chunga" ,sbcl-chunga)
3625 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3626 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3627 ("sbcl-chipz" ,sbcl-chipz)
3628 ("sbcl-usocket" ,sbcl-usocket)
3629 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3630 (native-inputs
3631 `(("sbcl-fiveam" ,sbcl-fiveam)))
3632 (home-page "https://edicl.github.io/drakma/")
3633 (synopsis "HTTP client written in Common Lisp")
3634 (description
3635 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3636 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3637 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3638 (license license:bsd-2)))
3639
3640 (define-public cl-drakma
3641 (sbcl-package->cl-source-package sbcl-drakma))
3642
3643 (define-public ecl-drakma
3644 (sbcl-package->ecl-package sbcl-drakma))
3645
3646 (define-public sbcl-hunchentoot
3647 (package
3648 (name "sbcl-hunchentoot")
3649 (version "1.2.38")
3650 (source
3651 (origin
3652 (method git-fetch)
3653 (uri (git-reference
3654 (url "https://github.com/edicl/hunchentoot")
3655 (commit (string-append "v" version))))
3656 (file-name (git-file-name "hunchentoot" version))
3657 (sha256
3658 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3659 (build-system asdf-build-system/sbcl)
3660 (native-inputs
3661 `(("sbcl-cl-who" ,sbcl-cl-who)
3662 ("sbcl-drakma" ,sbcl-drakma)))
3663 (inputs
3664 `(("sbcl-chunga" ,sbcl-chunga)
3665 ("sbcl-cl-base64" ,sbcl-cl-base64)
3666 ("sbcl-cl-fad" ,sbcl-cl-fad)
3667 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3668 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3669 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3670 ("sbcl-md5" ,sbcl-md5)
3671 ("sbcl-rfc2388" ,sbcl-rfc2388)
3672 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3673 ("sbcl-usocket" ,sbcl-usocket)))
3674 (home-page "https://edicl.github.io/hunchentoot/")
3675 (synopsis "Web server written in Common Lisp")
3676 (description
3677 "Hunchentoot is a web server written in Common Lisp and at the same
3678 time a toolkit for building dynamic websites. As a stand-alone web server,
3679 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3680 connections (keep-alive), and SSL.")
3681 (license license:bsd-2)))
3682
3683 (define-public cl-hunchentoot
3684 (sbcl-package->cl-source-package sbcl-hunchentoot))
3685
3686 (define-public ecl-hunchentoot
3687 (package
3688 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3689 (arguments
3690 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3691 '(#:tests? #f))))
3692
3693 (define-public sbcl-trivial-types
3694 (package
3695 (name "sbcl-trivial-types")
3696 (version "0.0.1")
3697 (source
3698 (origin
3699 (method git-fetch)
3700 (uri (git-reference
3701 (url "https://github.com/m2ym/trivial-types")
3702 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3703 (file-name (git-file-name name version))
3704 (sha256
3705 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3706 (build-system asdf-build-system/sbcl)
3707 (home-page "https://github.com/m2ym/trivial-types")
3708 (synopsis "Trivial type definitions for Common Lisp")
3709 (description
3710 "TRIVIAL-TYPES provides missing but important type definitions such as
3711 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3712 (license license:llgpl)))
3713
3714 (define-public cl-trivial-types
3715 (sbcl-package->cl-source-package sbcl-trivial-types))
3716
3717 (define-public ecl-trivial-types
3718 (sbcl-package->ecl-package sbcl-trivial-types))
3719
3720 (define-public sbcl-cl-annot
3721 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3722 (revision "1"))
3723 (package
3724 (name "sbcl-cl-annot")
3725 (version (git-version "0.0.0" revision commit))
3726 (source
3727 (origin
3728 (method git-fetch)
3729 (uri (git-reference
3730 (url "https://github.com/m2ym/cl-annot")
3731 (commit commit)))
3732 (file-name (git-file-name name version))
3733 (sha256
3734 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3735 (build-system asdf-build-system/sbcl)
3736 (inputs
3737 `(("sbcl-alexandria" ,sbcl-alexandria)))
3738 (home-page "https://github.com/m2ym/cl-annot")
3739 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3740 (description
3741 "@code{cl-annot} is an general annotation library for Common Lisp.")
3742 (license license:llgpl))))
3743
3744 (define-public cl-annot
3745 (sbcl-package->cl-source-package sbcl-cl-annot))
3746
3747 (define-public ecl-cl-annot
3748 (sbcl-package->ecl-package sbcl-cl-annot))
3749
3750 (define-public sbcl-cl-syntax
3751 (package
3752 (name "sbcl-cl-syntax")
3753 (version "0.0.3")
3754 (source
3755 (origin
3756 (method git-fetch)
3757 (uri (git-reference
3758 (url "https://github.com/m2ym/cl-syntax")
3759 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3760 (file-name (git-file-name "cl-syntax" version))
3761 (sha256
3762 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3763 (build-system asdf-build-system/sbcl)
3764 (inputs
3765 `(("cl-annot" ,sbcl-cl-annot)
3766 ("cl-interpol" ,sbcl-cl-interpol)
3767 ("named-readtables" ,sbcl-named-readtables)
3768 ("trivial-types" ,sbcl-trivial-types)))
3769 (arguments
3770 '(#:asd-systems '("cl-syntax"
3771 "cl-syntax-annot"
3772 "cl-syntax-interpol")))
3773 (home-page "https://github.com/m2ym/cl-syntax")
3774 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3775 (description
3776 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3777 (license license:llgpl)))
3778
3779 (define-public cl-syntax
3780 (sbcl-package->cl-source-package sbcl-cl-syntax))
3781
3782 (define-public ecl-cl-syntax
3783 (sbcl-package->ecl-package sbcl-cl-syntax))
3784
3785 (define-public sbcl-cl-utilities
3786 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3787 (revision "1"))
3788 (package
3789 (name "sbcl-cl-utilities")
3790 (version (git-version "0.0.0" revision commit))
3791 (source
3792 (origin
3793 (method url-fetch)
3794 (uri
3795 (string-append
3796 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3797 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3798 (sha256
3799 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3800 (build-system asdf-build-system/sbcl)
3801 (arguments
3802 '(#:phases
3803 (modify-phases %standard-phases
3804 (add-after 'unpack 'fix-paths
3805 (lambda* (#:key inputs #:allow-other-keys)
3806 (substitute* "rotate-byte.lisp"
3807 (("in-package :cl-utilities)" all)
3808 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3809 (home-page "http://common-lisp.net/project/cl-utilities")
3810 (synopsis "A collection of semi-standard utilities")
3811 (description
3812 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3813 is a collection of Common Lisp Utilities, things that everybody writes since
3814 they're not part of the official standard. There are some very useful things
3815 there; the only problems are that they aren't implemented as well as you'd
3816 like (some aren't implemented at all) and they aren't conveniently packaged
3817 and maintained. It takes quite a bit of work to carefully implement utilities
3818 for common use, commented and documented, with error checking placed
3819 everywhere some dumb user might make a mistake.")
3820 (license license:public-domain))))
3821
3822 (define-public cl-utilities
3823 (sbcl-package->cl-source-package sbcl-cl-utilities))
3824
3825 (define-public ecl-cl-utilities
3826 (sbcl-package->ecl-package sbcl-cl-utilities))
3827
3828 (define-public sbcl-map-set
3829 (let ((commit "7b4b545b68b8")
3830 (revision "1"))
3831 (package
3832 (name "sbcl-map-set")
3833 (version (git-version "0.0.0" revision commit))
3834 (source
3835 (origin
3836 (method url-fetch)
3837 (uri (string-append
3838 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3839 commit ".tar.gz"))
3840 (sha256
3841 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3842 (build-system asdf-build-system/sbcl)
3843 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3844 (synopsis "Set-like data structure")
3845 (description
3846 "Implementation of a set-like data structure with constant time
3847 addition, removal, and random selection.")
3848 (license license:bsd-3))))
3849
3850 (define-public cl-map-set
3851 (sbcl-package->cl-source-package sbcl-map-set))
3852
3853 (define-public ecl-map-set
3854 (sbcl-package->ecl-package sbcl-map-set))
3855
3856 (define-public sbcl-quri
3857 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
3858 (revision "2"))
3859 (package
3860 (name "sbcl-quri")
3861 (version (git-version "0.1.0" revision commit))
3862 (source
3863 (origin
3864 (method git-fetch)
3865 (uri (git-reference
3866 (url "https://github.com/fukamachi/quri")
3867 (commit commit)))
3868 (file-name (git-file-name name version))
3869 (sha256
3870 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
3871 (build-system asdf-build-system/sbcl)
3872 (arguments
3873 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3874 ;; required by #<SYSTEM "quri">. Why?
3875 '(#:tests? #f))
3876 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
3877 (inputs `(("sbcl-babel" ,sbcl-babel)
3878 ("sbcl-split-sequence" ,sbcl-split-sequence)
3879 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3880 ("sbcl-alexandria" ,sbcl-alexandria)))
3881 (home-page "https://github.com/fukamachi/quri")
3882 (synopsis "Yet another URI library for Common Lisp")
3883 (description
3884 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3885 Lisp. It is intended to be a replacement of PURI.")
3886 (license license:bsd-3))))
3887
3888 (define-public cl-quri
3889 (sbcl-package->cl-source-package sbcl-quri))
3890
3891 (define-public ecl-quri
3892 (sbcl-package->ecl-package sbcl-quri))
3893
3894 (define-public sbcl-myway
3895 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3896 (revision "1"))
3897 (package
3898 (name "sbcl-myway")
3899 (version (git-version "0.1.0" revision commit))
3900 (source
3901 (origin
3902 (method git-fetch)
3903 (uri (git-reference
3904 (url "https://github.com/fukamachi/myway")
3905 (commit commit)))
3906 (file-name (git-file-name "myway" version))
3907 (sha256
3908 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3909 (build-system asdf-build-system/sbcl)
3910 (arguments
3911 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3912 ;; by #<SYSTEM "myway">. Why?
3913 '(#:tests? #f))
3914 (native-inputs
3915 `(("sbcl-prove" ,sbcl-prove)))
3916 (inputs
3917 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3918 ("sbcl-quri" ,sbcl-quri)
3919 ("sbcl-map-set" ,sbcl-map-set)))
3920 (home-page "https://github.com/fukamachi/myway")
3921 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3922 (description "My Way is a Sinatra-compatible URL routing library.")
3923 (license license:llgpl))))
3924
3925 (define-public cl-myway
3926 (sbcl-package->cl-source-package sbcl-myway))
3927
3928 (define-public ecl-myway
3929 (sbcl-package->ecl-package sbcl-myway))
3930
3931 (define-public sbcl-xsubseq
3932 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3933 (revision "1"))
3934 (package
3935 (name "sbcl-xsubseq")
3936 (version (git-version "0.0.1" revision commit))
3937 (source
3938 (origin
3939 (method git-fetch)
3940 (uri (git-reference
3941 (url "https://github.com/fukamachi/xsubseq")
3942 (commit commit)))
3943 (file-name (git-file-name name version))
3944 (sha256
3945 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
3946 (build-system asdf-build-system/sbcl)
3947 (arguments
3948 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
3949 ;; required by #<SYSTEM "xsubseq">. Why?
3950 '(#:tests? #f))
3951 (native-inputs
3952 `(("sbcl-prove" ,sbcl-prove)))
3953 (home-page "https://github.com/fukamachi/xsubseq")
3954 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
3955 (description
3956 "XSubseq provides functions to be able to handle \"subseq\"s more
3957 effieiently.")
3958 (license license:bsd-2))))
3959
3960 (define-public cl-xsubseq
3961 (sbcl-package->cl-source-package sbcl-xsubseq))
3962
3963 (define-public ecl-xsubseq
3964 (sbcl-package->ecl-package sbcl-xsubseq))
3965
3966 (define-public sbcl-smart-buffer
3967 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
3968 (revision "1"))
3969 (package
3970 (name "sbcl-smart-buffer")
3971 (version (git-version "0.0.1" revision commit))
3972 (source
3973 (origin
3974 (method git-fetch)
3975 (uri (git-reference
3976 (url "https://github.com/fukamachi/smart-buffer")
3977 (commit commit)))
3978 (file-name (git-file-name name version))
3979 (sha256
3980 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
3981 (build-system asdf-build-system/sbcl)
3982 (arguments
3983 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
3984 ;; found, required by #<SYSTEM "smart-buffer">. Why?
3985 `(#:tests? #f))
3986 (native-inputs
3987 `(("sbcl-prove" ,sbcl-prove)))
3988 (inputs
3989 `(("sbcl-xsubseq" ,sbcl-xsubseq)
3990 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3991 (home-page "https://github.com/fukamachi/smart-buffer")
3992 (synopsis "Smart octets buffer")
3993 (description
3994 "Smart-buffer provides an output buffer which changes the destination
3995 depending on content size.")
3996 (license license:bsd-3))))
3997
3998 (define-public cl-smart-buffer
3999 (sbcl-package->cl-source-package sbcl-smart-buffer))
4000
4001 (define-public ecl-smart-buffer
4002 (sbcl-package->ecl-package sbcl-smart-buffer))
4003
4004 (define-public sbcl-fast-http
4005 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4006 (revision "2"))
4007 (package
4008 (name "sbcl-fast-http")
4009 (version (git-version "0.2.0" revision commit))
4010 (source
4011 (origin
4012 (method git-fetch)
4013 (uri (git-reference
4014 (url "https://github.com/fukamachi/fast-http")
4015 (commit commit)))
4016 (file-name (git-file-name name version))
4017 (sha256
4018 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4019 (build-system asdf-build-system/sbcl)
4020 (arguments
4021 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4022 ;; required by #<SYSTEM "fast-http">. Why?
4023 `(#:tests? #f))
4024 (native-inputs
4025 `(("sbcl-prove" ,sbcl-prove)
4026 ("cl-syntax" ,sbcl-cl-syntax)))
4027 (inputs
4028 `(("sbcl-alexandria" ,sbcl-alexandria)
4029 ("sbcl-proc-parse" ,sbcl-proc-parse)
4030 ("sbcl-xsubseq" ,sbcl-xsubseq)
4031 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4032 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4033 (home-page "https://github.com/fukamachi/fast-http")
4034 (synopsis "HTTP request/response parser for Common Lisp")
4035 (description
4036 "@code{fast-http} is a HTTP request/response protocol parser for Common
4037 Lisp.")
4038 ;; Author specified the MIT license
4039 (license license:expat))))
4040
4041 (define-public cl-fast-http
4042 (sbcl-package->cl-source-package sbcl-fast-http))
4043
4044 (define-public ecl-fast-http
4045 (sbcl-package->ecl-package sbcl-fast-http))
4046
4047 (define-public sbcl-static-vectors
4048 (package
4049 (name "sbcl-static-vectors")
4050 (version "1.8.4")
4051 (source
4052 (origin
4053 (method git-fetch)
4054 (uri (git-reference
4055 (url "https://github.com/sionescu/static-vectors")
4056 (commit (string-append "v" version))))
4057 (file-name (git-file-name name version))
4058 (sha256
4059 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4060 (native-inputs
4061 `(("sbcl-fiveam" ,sbcl-fiveam)))
4062 (inputs
4063 `(("sbcl-cffi" ,sbcl-cffi)))
4064 (build-system asdf-build-system/sbcl)
4065 (home-page "https://github.com/sionescu/static-vectors")
4066 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4067 (description
4068 "With @code{static-vectors}, you can create vectors allocated in static
4069 memory.")
4070 (license license:expat)))
4071
4072 (define-public cl-static-vectors
4073 (sbcl-package->cl-source-package sbcl-static-vectors))
4074
4075 (define-public ecl-static-vectors
4076 (sbcl-package->ecl-package sbcl-static-vectors))
4077
4078 (define-public sbcl-marshal
4079 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4080 (revision "1"))
4081 (package
4082 (name "sbcl-marshal")
4083 (version (git-version "1.3.0" revision commit))
4084 (source
4085 (origin
4086 (method git-fetch)
4087 (uri (git-reference
4088 (url "https://github.com/wlbr/cl-marshal")
4089 (commit commit)))
4090 (file-name (git-file-name name version))
4091 (sha256
4092 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4093 (build-system asdf-build-system/sbcl)
4094 (home-page "https://github.com/wlbr/cl-marshal")
4095 (synopsis "Simple (de)serialization of Lisp datastructures")
4096 (description
4097 "Simple and fast marshalling of Lisp datastructures. Convert any object
4098 into a string representation, put it on a stream an revive it from there.
4099 Only minimal changes required to make your CLOS objects serializable.")
4100 (license license:expat))))
4101
4102 (define-public cl-marshal
4103 (sbcl-package->cl-source-package sbcl-marshal))
4104
4105 (define-public ecl-marshal
4106 (sbcl-package->ecl-package sbcl-marshal))
4107
4108 (define-public sbcl-checkl
4109 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4110 (revision "1"))
4111 (package
4112 (name "sbcl-checkl")
4113 (version (git-version "0.0.0" revision commit))
4114 (source
4115 (origin
4116 (method git-fetch)
4117 (uri (git-reference
4118 (url "https://github.com/rpav/CheckL")
4119 (commit commit)))
4120 (file-name (git-file-name name version))
4121 (sha256
4122 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4123 (build-system asdf-build-system/sbcl)
4124 (arguments
4125 ;; Error while trying to load definition for system checkl-test from
4126 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4127 ;; is undefined.
4128 '(#:asd-files '("checkl.asd")
4129 #:tests? #f))
4130 (native-inputs
4131 `(("sbcl-fiveam" ,sbcl-fiveam)))
4132 (inputs
4133 `(("sbcl-marshal" ,sbcl-marshal)))
4134 (home-page "https://github.com/rpav/CheckL/")
4135 (synopsis "Dynamic testing for Common Lisp")
4136 (description
4137 "CheckL lets you write tests dynamically, it checks resulting values
4138 against the last run.")
4139 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4140 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4141 ;; stronger of the two and so I think only listing this should suffice.
4142 (license license:llgpl))))
4143
4144 (define-public cl-checkl
4145 (sbcl-package->cl-source-package sbcl-checkl))
4146
4147 (define-public ecl-checkl
4148 (sbcl-package->ecl-package sbcl-checkl))
4149
4150 (define-public sbcl-fast-io
4151 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4152 (revision "2"))
4153 (package
4154 (name "sbcl-fast-io")
4155 (version (git-version "1.0.0" revision commit))
4156 (source
4157 (origin
4158 (method git-fetch)
4159 (uri (git-reference
4160 (url "https://github.com/rpav/fast-io")
4161 (commit commit)))
4162 (file-name (git-file-name name version))
4163 (sha256
4164 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4165 (build-system asdf-build-system/sbcl)
4166 (arguments
4167 ;; Error while trying to load definition for system fast-io-test from
4168 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4169 ;; is undefined.
4170 '(#:tests? #f
4171 #:asd-files '("fast-io.asd")))
4172 (native-inputs
4173 `(("sbcl-fiveam" ,sbcl-fiveam)
4174 ("sbcl-checkl" ,sbcl-checkl)))
4175 (inputs
4176 `(("sbcl-alexandria" ,sbcl-alexandria)
4177 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4178 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4179 (home-page "https://github.com/rpav/fast-io")
4180 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4181 (description
4182 "Fast-io is about improving performance to octet-vectors and octet
4183 streams (though primarily the former, while wrapping the latter).")
4184 ;; Author specifies this as NewBSD which is an alias
4185 (license license:bsd-3))))
4186
4187 (define-public cl-fast-io
4188 (sbcl-package->cl-source-package sbcl-fast-io))
4189
4190 (define-public ecl-fast-io
4191 (sbcl-package->ecl-package sbcl-fast-io))
4192
4193 (define-public sbcl-jonathan
4194 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4195 (revision "1"))
4196 (package
4197 (name "sbcl-jonathan")
4198 (version (git-version "0.1.0" revision commit))
4199 (source
4200 (origin
4201 (method git-fetch)
4202 (uri (git-reference
4203 (url "https://github.com/Rudolph-Miller/jonathan")
4204 (commit commit)))
4205 (file-name (git-file-name name version))
4206 (sha256
4207 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4208 (build-system asdf-build-system/sbcl)
4209 (arguments
4210 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4211 ;; required by #<SYSTEM "jonathan">. Why?
4212 `(#:tests? #f))
4213 (native-inputs
4214 `(("sbcl-prove" ,sbcl-prove)))
4215 (inputs
4216 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4217 ("sbcl-fast-io" ,sbcl-fast-io)
4218 ("sbcl-proc-parse" ,sbcl-proc-parse)
4219 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4220 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4221 (synopsis "JSON encoder and decoder")
4222 (description
4223 "High performance JSON encoder and decoder. Currently support: SBCL,
4224 CCL.")
4225 ;; Author specifies the MIT license
4226 (license license:expat))))
4227
4228 (define-public cl-jonathan
4229 (sbcl-package->cl-source-package sbcl-jonathan))
4230
4231 (define-public ecl-jonathan
4232 (sbcl-package->ecl-package sbcl-jonathan))
4233
4234 (define-public sbcl-http-body
4235 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4236 (revision "1"))
4237 (package
4238 (name "sbcl-http-body")
4239 (version (git-version "0.1.0" revision commit))
4240 (source
4241 (origin
4242 (method git-fetch)
4243 (uri (git-reference
4244 (url "https://github.com/fukamachi/http-body")
4245 (commit commit)))
4246 (file-name (git-file-name name version))
4247 (sha256
4248 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4249 (build-system asdf-build-system/sbcl)
4250 (arguments
4251 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4252 ;; found, required by #<SYSTEM "http-body">. Why?
4253 `(#:tests? #f))
4254 (native-inputs
4255 `(("sbcl-prove" ,sbcl-prove)))
4256 (inputs
4257 `(("sbcl-fast-http" ,sbcl-fast-http)
4258 ("sbcl-jonathan" ,sbcl-jonathan)
4259 ("sbcl-quri" ,sbcl-quri)))
4260 (home-page "https://github.com/fukamachi/http-body")
4261 (synopsis "HTTP POST data parser")
4262 (description
4263 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4264 supports application/x-www-form-urlencoded, application/json, and
4265 multipart/form-data.")
4266 (license license:bsd-2))))
4267
4268 (define-public cl-http-body
4269 (sbcl-package->cl-source-package sbcl-http-body))
4270
4271 (define-public ecl-http-body
4272 (sbcl-package->ecl-package sbcl-http-body))
4273
4274 (define-public sbcl-circular-streams
4275 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4276 (revision "1"))
4277 (package
4278 (name "sbcl-circular-streams")
4279 (version (git-version "0.1.0" revision commit))
4280 (source
4281 (origin
4282 (method git-fetch)
4283 (uri (git-reference
4284 (url "https://github.com/fukamachi/circular-streams")
4285 (commit commit)))
4286 (file-name (git-file-name name version))
4287 (sha256
4288 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4289 (build-system asdf-build-system/sbcl)
4290 (arguments
4291 ;; The tests depend on cl-test-more which is now prove. Prove
4292 ;; tests aren't working for some reason.
4293 `(#:tests? #f))
4294 (inputs
4295 `(("sbcl-fast-io" ,sbcl-fast-io)
4296 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4297 (home-page "https://github.com/fukamachi/circular-streams")
4298 (synopsis "Circularly readable streams for Common Lisp")
4299 (description
4300 "Circular-Streams allows you to read streams circularly by wrapping real
4301 streams. Once you reach end-of-file of a stream, it's file position will be
4302 reset to 0 and you're able to read it again.")
4303 (license license:llgpl))))
4304
4305 (define-public cl-circular-streams
4306 (sbcl-package->cl-source-package sbcl-circular-streams))
4307
4308 (define-public ecl-circular-streams
4309 (sbcl-package->ecl-package sbcl-circular-streams))
4310
4311 (define-public sbcl-lack
4312 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4313 (revision "1"))
4314 (package
4315 (name "sbcl-lack")
4316 (version (git-version "0.1.0" revision commit))
4317 (source
4318 (origin
4319 (method git-fetch)
4320 (uri (git-reference
4321 (url "https://github.com/fukamachi/lack")
4322 (commit commit)))
4323 (file-name (git-file-name "lack" version))
4324 (sha256
4325 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4326 (build-system asdf-build-system/sbcl)
4327 (native-inputs
4328 `(("prove" ,sbcl-prove)))
4329 (inputs
4330 `(("circular-streams" ,sbcl-circular-streams)
4331 ("http-body" ,sbcl-http-body)
4332 ("ironclad" ,sbcl-ironclad)
4333 ("local-time" ,sbcl-local-time)
4334 ("quri" ,sbcl-quri)
4335 ("trivial-mimes" ,sbcl-trivial-mimes)))
4336 (arguments
4337 '(#:asd-systems '("lack"
4338 "lack-request"
4339 "lack-response"
4340 "lack-component"
4341 "lack-util"
4342 "lack-middleware-backtrace"
4343 "lack-middleware-static")
4344 #:test-asd-file "t-lack.asd"
4345 ;; XXX: Component :CLACK not found
4346 #:tests? #f))
4347 (home-page "https://github.com/fukamachi/lack")
4348 (synopsis "Lack, the core of Clack")
4349 (description
4350 "Lack is a Common Lisp library which allows web applications to be
4351 constructed of modular components. It was originally a part of Clack, however
4352 it's going to be rewritten as an individual project since Clack v2 with
4353 performance and simplicity in mind.")
4354 (license license:llgpl))))
4355
4356 (define-public cl-lack
4357 (sbcl-package->cl-source-package sbcl-lack))
4358
4359 (define-public ecl-lack
4360 (sbcl-package->ecl-package sbcl-lack))
4361
4362 (define-public sbcl-local-time
4363 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4364 (revision "2"))
4365 (package
4366 (name "sbcl-local-time")
4367 (version (git-version "1.0.6" revision commit))
4368 (source
4369 (origin
4370 (method git-fetch)
4371 (uri (git-reference
4372 (url "https://github.com/dlowe-net/local-time")
4373 (commit commit)))
4374 (file-name (git-file-name name version))
4375 (sha256
4376 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4377 (build-system asdf-build-system/sbcl)
4378 (native-inputs
4379 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4380 (home-page "https://common-lisp.net/project/local-time/")
4381 (synopsis "Time manipulation library for Common Lisp")
4382 (description
4383 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4384 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4385 Long Painful History of Time\".")
4386 (license license:expat))))
4387
4388 (define-public cl-local-time
4389 (sbcl-package->cl-source-package sbcl-local-time))
4390
4391 (define-public ecl-local-time
4392 (sbcl-package->ecl-package sbcl-local-time))
4393
4394 (define-public sbcl-trivial-mimes
4395 (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9")
4396 (revision "2"))
4397 (package
4398 (name "sbcl-trivial-mimes")
4399 (version (git-version "1.1.0" revision commit))
4400 (source
4401 (origin
4402 (method git-fetch)
4403 (uri (git-reference
4404 (url "https://github.com/Shinmera/trivial-mimes")
4405 (commit commit)))
4406 (file-name (git-file-name name version))
4407 (sha256
4408 (base32 "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di"))))
4409 (build-system asdf-build-system/sbcl)
4410 (native-inputs
4411 `(("stefil" ,sbcl-hu.dwim.stefil)))
4412 (inputs
4413 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4414 (home-page "https://shinmera.github.io/trivial-mimes/")
4415 (synopsis "Tiny Common Lisp library to detect mime types in files")
4416 (description
4417 "This is a teensy library that provides some functions to determine the
4418 mime-type of a file.")
4419 (license license:zlib))))
4420
4421 (define-public cl-trivial-mimes
4422 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4423
4424 (define-public ecl-trivial-mimes
4425 (sbcl-package->ecl-package sbcl-trivial-mimes))
4426
4427 (define-public sbcl-ningle
4428 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4429 (revision "1"))
4430 (package
4431 (name "sbcl-ningle")
4432 (version (git-version "0.3.0" revision commit))
4433 (source
4434 (origin
4435 (method git-fetch)
4436 (uri (git-reference
4437 (url "https://github.com/fukamachi/ningle")
4438 (commit commit)))
4439 (file-name (git-file-name name version))
4440 (sha256
4441 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4442 (build-system asdf-build-system/sbcl)
4443 (arguments
4444 ;; TODO: pull in clack-test
4445 '(#:tests? #f
4446 #:phases
4447 (modify-phases %standard-phases
4448 (delete 'cleanup-files)
4449 (delete 'cleanup)
4450 (add-before 'cleanup 'combine-fasls
4451 (lambda* (#:key outputs #:allow-other-keys)
4452 (let* ((out (assoc-ref outputs "out"))
4453 (lib (string-append out "/lib/sbcl"))
4454 (ningle-path (string-append lib "/ningle"))
4455 (fasl-files (find-files out "\\.fasl$")))
4456 (mkdir-p ningle-path)
4457 (let ((fasl-path (lambda (name)
4458 (string-append ningle-path
4459 "/"
4460 (basename name)
4461 "--system.fasl"))))
4462 (for-each (lambda (file)
4463 (rename-file file
4464 (fasl-path
4465 (basename file ".fasl"))))
4466 fasl-files))
4467 fasl-files)
4468 #t)))))
4469 (native-inputs
4470 `(("sbcl-prove" ,sbcl-prove)))
4471 (inputs
4472 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4473 ("sbcl-myway" ,sbcl-myway)
4474 ("sbcl-lack" ,sbcl-lack)
4475 ("sbcl-alexandria" ,sbcl-alexandria)
4476 ("sbcl-babel" ,sbcl-babel)))
4477 (home-page "https://8arrow.org/ningle/")
4478 (synopsis "Super micro framework for Common Lisp")
4479 (description
4480 "Ningle is a lightweight web application framework for Common Lisp.")
4481 (license license:llgpl))))
4482
4483 (define-public cl-ningle
4484 (sbcl-package->cl-source-package sbcl-ningle))
4485
4486 (define-public ecl-ningle
4487 (sbcl-package->ecl-package sbcl-ningle))
4488
4489 (define-public sbcl-cl-fastcgi
4490 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4491 (revision "2"))
4492 (package
4493 (name "sbcl-cl-fastcgi")
4494 (version (git-version "0.2" revision commit))
4495 (source
4496 (origin
4497 (method git-fetch)
4498 (uri (git-reference
4499 (url "https://github.com/KDr2/cl-fastcgi/")
4500 (commit commit)))
4501 (file-name (git-file-name name version))
4502 (sha256
4503 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4504 (build-system asdf-build-system/sbcl)
4505 (inputs
4506 `(("usocket" ,sbcl-usocket)
4507 ("cffi" ,sbcl-cffi)
4508 ("fcgi" ,fcgi)))
4509 (arguments
4510 `(#:phases
4511 (modify-phases %standard-phases
4512 (add-after 'unpack 'fix-paths
4513 (lambda* (#:key inputs #:allow-other-keys)
4514 (substitute* "cl-fastcgi.lisp"
4515 (("\"libfcgi.so\"")
4516 (string-append
4517 "\""
4518 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4519 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4520 (synopsis "FastCGI wrapper for Common Lisp")
4521 (description
4522 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4523 mostly Common Lisp implementation.")
4524 (license license:bsd-2))))
4525
4526 (define-public cl-fastcgi
4527 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4528
4529 (define-public ecl-cl-fastcgi
4530 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4531
4532 (define-public sbcl-clack
4533 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4534 (revision "1"))
4535 (package
4536 (name "sbcl-clack")
4537 (version (git-version "2.0.0" revision commit))
4538 (source
4539 (origin
4540 (method git-fetch)
4541 (uri (git-reference
4542 (url "https://github.com/fukamachi/clack")
4543 (commit commit)))
4544 (file-name (git-file-name name version))
4545 (sha256
4546 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4547 (build-system asdf-build-system/sbcl)
4548 (inputs
4549 `(("alexandria" ,sbcl-alexandria)
4550 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4551 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4552 ("flexi-streams" ,sbcl-flexi-streams)
4553 ("hunchentoot" ,sbcl-hunchentoot)
4554 ("lack" ,sbcl-lack)
4555 ("split-sequence" ,sbcl-split-sequence)
4556 ("usocket" ,sbcl-usocket)
4557 ("quri" ,sbcl-quri)))
4558 (arguments
4559 '(#:asd-systems '("clack"
4560 "clack-handler-fcgi"
4561 "clack-socket"
4562 "clack-handler-hunchentoot")))
4563 (home-page "https://github.com/fukamachi/clack")
4564 (synopsis "Web Application Environment for Common Lisp")
4565 (description
4566 "Clack is a web application environment for Common Lisp inspired by
4567 Python's WSGI and Ruby's Rack.")
4568 (license license:llgpl))))
4569
4570 (define-public cl-clack
4571 (sbcl-package->cl-source-package sbcl-clack))
4572
4573 (define-public ecl-clack
4574 (sbcl-package->ecl-package sbcl-clack))
4575
4576 (define-public sbcl-cl-log
4577 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4578 (revision "1"))
4579 (package
4580 (name "sbcl-cl-log")
4581 (version "1.0.1")
4582 (source
4583 (origin
4584 (method git-fetch)
4585 (uri (git-reference
4586 (url "https://github.com/nicklevine/cl-log")
4587 (commit commit)))
4588 (sha256
4589 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4590 (file-name (git-file-name "cl-log" version))))
4591 (build-system asdf-build-system/sbcl)
4592 (synopsis "Common Lisp general purpose logging utility")
4593 (description "CL-LOG is a general purpose logging utility, loosely modelled
4594 in some respects after Gary King's Log5. Its features include: logging to
4595 several destinations at once, via \"messengers\", each messenger is tailored to
4596 accept some log messages and reject others, and this tailoring can be changed
4597 on-the-fly, very rapid processing of messages which are rejected by all
4598 messengers, fully independent use of the utility by several different
4599 sub-systems in an application, support for messengers which cl:format text to a
4600 stream, support for messengers which do not invoke cl:format, timestamps in
4601 theory accurate to internal-time-units-per-second.")
4602 (home-page "https://github.com/nicklevine/cl-log")
4603 (license license:expat))))
4604
4605 (define-public cl-log
4606 (sbcl-package->cl-source-package sbcl-cl-log))
4607
4608 (define-public ecl-cl-log
4609 (sbcl-package->ecl-package sbcl-cl-log))
4610
4611 (define-public sbcl-log4cl
4612 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4613 (revision "1"))
4614 (package
4615 (name "sbcl-log4cl")
4616 (build-system asdf-build-system/sbcl)
4617 (version "1.1.2")
4618 (source
4619 (origin
4620 (method git-fetch)
4621 (uri (git-reference
4622 (url "https://github.com/sharplispers/log4cl")
4623 (commit commit)))
4624 (file-name (git-file-name name version))
4625 (sha256
4626 (base32
4627 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4628 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4629 (arguments
4630 `(#:tests? #f))
4631 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4632 (synopsis "Common Lisp logging framework, modeled after Log4J")
4633 (home-page "https://github.com/7max/log4cl")
4634 (description "This is a Common Lisp logging framework that can log at
4635 various levels and mix text with expressions.")
4636 (license license:asl2.0))))
4637
4638 (define-public cl-log4cl
4639 (sbcl-package->cl-source-package sbcl-log4cl))
4640
4641 (define-public ecl-log4cl
4642 (sbcl-package->ecl-package sbcl-log4cl))
4643
4644 (define-public sbcl-find-port
4645 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4646 (revision "1"))
4647 (package
4648 (name "sbcl-find-port")
4649 (build-system asdf-build-system/sbcl)
4650 (version "0.1")
4651 (home-page "https://github.com/eudoxia0/find-port")
4652 (source
4653 (origin
4654 (method git-fetch)
4655 (uri (git-reference
4656 (url home-page)
4657 (commit commit)))
4658 (file-name (git-file-name name version))
4659 (sha256
4660 (base32
4661 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4662 (native-inputs
4663 `(("fiveam" ,sbcl-fiveam)))
4664 (inputs
4665 `(("sbcl-usocket" ,sbcl-usocket)))
4666 (synopsis "Find open ports programmatically in Common Lisp")
4667 (description "This is a small Common Lisp library that finds an open
4668 port within a range.")
4669 (license license:expat))))
4670
4671 (define-public cl-find-port
4672 (sbcl-package->cl-source-package sbcl-find-port))
4673
4674 (define-public ecl-find-port
4675 (sbcl-package->ecl-package sbcl-find-port))
4676
4677 (define-public sbcl-clunit
4678 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4679 (revision "1"))
4680 (package
4681 (name "sbcl-clunit")
4682 (version (git-version "0.2.3" revision commit))
4683 (source
4684 (origin
4685 (method git-fetch)
4686 (uri (git-reference
4687 (url "https://github.com/tgutu/clunit")
4688 (commit commit)))
4689 (file-name (git-file-name name version))
4690 (sha256
4691 (base32
4692 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4693 (build-system asdf-build-system/sbcl)
4694 (synopsis "CLUnit is a Common Lisp unit testing framework")
4695 (description
4696 "CLUnit is a Common Lisp unit testing framework. It is designed
4697 to be easy to use so that you can quickly start testing. CLUnit
4698 provides a rich set of features aimed at improving your unit testing
4699 experience.")
4700 (home-page "https://tgutu.github.io/clunit/")
4701 ;; MIT License
4702 (license license:expat))))
4703
4704 (define-public cl-clunit
4705 (sbcl-package->cl-source-package sbcl-clunit))
4706
4707 (define-public ecl-clunit
4708 (sbcl-package->ecl-package sbcl-clunit))
4709
4710 (define-public sbcl-py4cl
4711 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4712 (revision "1"))
4713 (package
4714 (name "sbcl-py4cl")
4715 (version (git-version "0.0.0" revision commit))
4716 (source
4717 (origin
4718 (method git-fetch)
4719 (uri (git-reference
4720 (url "https://github.com/bendudson/py4cl")
4721 (commit commit)))
4722 (file-name (git-file-name name version))
4723 (sha256
4724 (base32
4725 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4726 (modules '((guix build utils)))))
4727 (build-system asdf-build-system/sbcl)
4728 (native-inputs
4729 `(("sbcl-clunit" ,sbcl-clunit)))
4730 (inputs
4731 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4732 (propagated-inputs
4733 ;; This package doesn't do anything without python available
4734 `(("python" ,python)
4735 ;; For multi-dimensional array support
4736 ("python-numpy" ,python-numpy)))
4737 (arguments
4738 '(#:phases
4739 (modify-phases %standard-phases
4740 (add-after 'unpack 'replace-*base-directory*-var
4741 (lambda* (#:key outputs #:allow-other-keys)
4742 ;; In the ASD, the author makes an attempt to
4743 ;; programatically determine the location of the
4744 ;; source-code so lisp can call into "py4cl.py". We can
4745 ;; hard-code this since we know where this file will
4746 ;; reside.
4747 (substitute* "src/callpython.lisp"
4748 (("py4cl/config:\\*base-directory\\*")
4749 (string-append
4750 "\""
4751 (assoc-ref outputs "out")
4752 "/share/common-lisp/sbcl-source/py4cl/"
4753 "\""))))))))
4754 (synopsis "Call python from Common Lisp")
4755 (description
4756 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4757 Lisp to interact with Python code. It uses streams to communicate with a
4758 separate python process, the approach taken by cl4py. This is different to
4759 the CFFI approach used by burgled-batteries, but has the same goal.")
4760 (home-page "https://github.com/bendudson/py4cl")
4761 ;; MIT License
4762 (license license:expat))))
4763
4764 (define-public cl-py4cl
4765 (sbcl-package->cl-source-package sbcl-py4cl))
4766
4767 (define-public ecl-py4cl
4768 (sbcl-package->ecl-package sbcl-py4cl))
4769
4770 (define-public sbcl-parse-declarations
4771 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4772 (revision "1"))
4773 (package
4774 (name "sbcl-parse-declarations")
4775 (version (git-version "1.0.0" revision commit))
4776 (source
4777 (origin
4778 (method git-fetch)
4779 (uri (git-reference
4780 (url (string-append
4781 "https://gitlab.common-lisp.net/parse-declarations/"
4782 "parse-declarations.git"))
4783 (commit commit)))
4784 (file-name (git-file-name name version))
4785 (sha256
4786 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4787 (build-system asdf-build-system/sbcl)
4788 (arguments
4789 `(#:asd-systems '("parse-declarations-1.0")))
4790 (home-page "https://common-lisp.net/project/parse-declarations/")
4791 (synopsis "Parse, filter, and build declarations")
4792 (description
4793 "Parse-Declarations is a Common Lisp library to help writing
4794 macros which establish bindings. To be semantically correct, such
4795 macros must take user declarations into account, as these may affect
4796 the bindings they establish. Yet the ANSI standard of Common Lisp does
4797 not provide any operators to work with declarations in a convenient,
4798 high-level way. This library provides such operators.")
4799 ;; MIT License
4800 (license license:expat))))
4801
4802 (define-public cl-parse-declarations
4803 (sbcl-package->cl-source-package sbcl-parse-declarations))
4804
4805 (define-public ecl-parse-declarations
4806 (sbcl-package->ecl-package sbcl-parse-declarations))
4807
4808 (define-public sbcl-cl-quickcheck
4809 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4810 (revision "1"))
4811 (package
4812 (name "sbcl-cl-quickcheck")
4813 (version (git-version "0.0.4" revision commit))
4814 (source
4815 (origin
4816 (method git-fetch)
4817 (uri (git-reference
4818 (url "https://github.com/mcandre/cl-quickcheck")
4819 (commit commit)))
4820 (file-name (git-file-name name version))
4821 (sha256
4822 (base32
4823 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
4824 (build-system asdf-build-system/sbcl)
4825 (synopsis
4826 "Common Lisp port of the QuickCheck unit test framework")
4827 (description
4828 "Common Lisp port of the QuickCheck unit test framework")
4829 (home-page "https://github.com/mcandre/cl-quickcheck")
4830 ;; MIT
4831 (license license:expat))))
4832
4833 (define-public cl-quickcheck
4834 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
4835
4836 (define-public ecl-cl-quickcheck
4837 (sbcl-package->ecl-package sbcl-cl-quickcheck))
4838
4839 (define-public sbcl-burgled-batteries3
4840 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
4841 (revision "2"))
4842 (package
4843 (name "sbcl-burgled-batteries3")
4844 (version (git-version "0.0.0" revision commit))
4845 (source
4846 (origin
4847 (method git-fetch)
4848 (uri (git-reference
4849 (url "https://github.com/snmsts/burgled-batteries3")
4850 (commit commit)))
4851 (file-name (git-file-name name version))
4852 (sha256
4853 (base32
4854 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
4855 (build-system asdf-build-system/sbcl)
4856 (arguments
4857 `(#:tests? #f
4858 #:modules (((guix build python-build-system) #:select (python-version))
4859 ,@%asdf-build-system-modules)
4860 #:imported-modules ((guix build python-build-system)
4861 ,@%asdf-build-system-modules)
4862 #:phases
4863 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
4864 (add-after 'unpack 'set-*cpython-include-dir*-var
4865 (lambda* (#:key inputs #:allow-other-keys)
4866 (let ((python (assoc-ref inputs "python")))
4867 (setenv "BB_PYTHON3_INCLUDE_DIR"
4868 (string-append python "/include/python"
4869 (python-version python)))
4870 (setenv "BB_PYTHON3_DYLIB"
4871 (string-append python "/lib/libpython3.so"))
4872 #t)))
4873 (add-after 'unpack 'adjust-for-python-3.8
4874 (lambda _
4875 ;; This method is no longer part of the public API.
4876 (substitute* "ffi-interface.lisp"
4877 ((".*PyEval_ReInitThreads.*")
4878 ""))
4879 #t)))))
4880 (native-inputs
4881 `(("sbcl-cl-fad" ,sbcl-cl-fad)
4882 ("sbcl-lift" ,sbcl-lift)
4883 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
4884 (inputs
4885 `(("python" ,python)
4886 ("sbcl-cffi" ,sbcl-cffi)
4887 ("sbcl-alexandria" , sbcl-alexandria)
4888 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
4889 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4890 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
4891 (description
4892 "This package provides a shim between Python3 (specifically, the
4893 CPython implementation of Python) and Common Lisp.")
4894 (home-page "https://github.com/snmsts/burgled-batteries3")
4895 (license license:expat))))
4896
4897 (define-public cl-burgled-batteries3
4898 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
4899
4900 (define-public ecl-burgled-batteries3
4901 (sbcl-package->ecl-package sbcl-burgled-batteries3))
4902
4903 (define-public sbcl-metabang-bind
4904 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
4905 (revision "1"))
4906 (package
4907 (name "sbcl-metabang-bind")
4908 (version (git-version "0.8.0" revision commit))
4909 (source
4910 (origin
4911 (method git-fetch)
4912 (uri (git-reference
4913 (url "https://github.com/gwkkwg/metabang-bind")
4914 (commit commit)))
4915 (file-name (git-file-name name version))
4916 (sha256
4917 (base32
4918 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
4919 (build-system asdf-build-system/sbcl)
4920 (native-inputs
4921 `(("sbcl-lift" ,sbcl-lift)))
4922 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
4923 (description
4924 "Bind extends the idea of of let and destructing to provide a uniform
4925 syntax for all your accessor needs. It combines @code{let},
4926 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
4927 editing, property or association-lists, and @code{multiple-value-bind} and a
4928 whole lot more into a single form.")
4929 (home-page "https://common-lisp.net/project/metabang-bind/")
4930 ;; MIT License
4931 (license license:expat))))
4932
4933 (define-public cl-metabang-bind
4934 (sbcl-package->cl-source-package sbcl-metabang-bind))
4935
4936 (define-public ecl-metabang-bind
4937 (sbcl-package->ecl-package sbcl-metabang-bind))
4938
4939 (define-public sbcl-fare-utils
4940 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
4941 (revision "1"))
4942 (package
4943 (name "sbcl-fare-utils")
4944 (version (git-version "1.0.0.5" revision commit))
4945 (source
4946 (origin
4947 (method git-fetch)
4948 (uri
4949 (git-reference
4950 (url
4951 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
4952 (commit commit)))
4953 (file-name (git-file-name name version))
4954 (sha256
4955 (base32
4956 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
4957 (build-system asdf-build-system/sbcl)
4958 (arguments
4959 `(#:test-asd-file "test/fare-utils-test.asd"))
4960 (native-inputs
4961 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4962 (synopsis "Collection of utilities and data structures")
4963 (description
4964 "fare-utils is a small collection of utilities. It contains a lot of
4965 basic everyday functions and macros.")
4966 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
4967 ;; MIT License
4968 (license license:expat))))
4969
4970 (define-public cl-fare-utils
4971 (sbcl-package->cl-source-package sbcl-fare-utils))
4972
4973 (define-public ecl-fare-utils
4974 (sbcl-package->ecl-package sbcl-fare-utils))
4975
4976 (define-public sbcl-trivial-utf-8
4977 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
4978 (revision "1"))
4979 (package
4980 (name "sbcl-trivial-utf-8")
4981 (version (git-version "0.0.0" revision commit))
4982 (source
4983 (origin
4984 (method git-fetch)
4985 (uri
4986 (git-reference
4987 (url (string-append "https://gitlab.common-lisp.net/"
4988 "trivial-utf-8/trivial-utf-8.git"))
4989 (commit commit)))
4990 (file-name (git-file-name name version))
4991 (sha256
4992 (base32
4993 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
4994 (arguments
4995 ;; Guix incorrectly assumes the "8" is part of the version
4996 ;; number and lobs it off.
4997 `(#:asd-systems '("trivial-utf-8")))
4998 (build-system asdf-build-system/sbcl)
4999 (synopsis "UTF-8 input/output library")
5000 (description
5001 "The Babel library solves a similar problem while understanding more
5002 encodings. Trivial UTF-8 was written before Babel existed, but for new
5003 projects you might be better off going with Babel. The one plus that Trivial
5004 UTF-8 has is that it doesn't depend on any other libraries.")
5005 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5006 (license license:bsd-3))))
5007
5008 (define-public cl-trivial-utf-8
5009 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5010
5011 (define-public ecl-trivial-utf-8
5012 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5013
5014 (define-public sbcl-idna
5015 (package
5016 (name "sbcl-idna")
5017 (build-system asdf-build-system/sbcl)
5018 (version "0.2.2")
5019 (home-page "https://github.com/antifuchs/idna")
5020 (source
5021 (origin
5022 (method git-fetch)
5023 (uri (git-reference
5024 (url home-page)
5025 (commit version)))
5026 (file-name (git-file-name name version))
5027 (sha256
5028 (base32
5029 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5030 (inputs
5031 `(("split-sequence" ,sbcl-split-sequence)))
5032 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5033 (description "This Common Lisp library provides string encoding and
5034 decoding routines for IDNA, the International Domain Names in Applications.")
5035 (license license:expat)))
5036
5037 (define-public cl-idna
5038 (sbcl-package->cl-source-package sbcl-idna))
5039
5040 (define-public ecl-idna
5041 (sbcl-package->ecl-package sbcl-idna))
5042
5043 (define-public sbcl-swap-bytes
5044 (package
5045 (name "sbcl-swap-bytes")
5046 (build-system asdf-build-system/sbcl)
5047 (version "1.2")
5048 (home-page "https://github.com/sionescu/swap-bytes")
5049 (source
5050 (origin
5051 (method git-fetch)
5052 (uri (git-reference
5053 (url home-page)
5054 (commit (string-append "v" version))))
5055 (file-name (git-file-name name version))
5056 (sha256
5057 (base32
5058 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5059 (inputs
5060 `(("trivial-features" ,sbcl-trivial-features)))
5061 (native-inputs
5062 `(("fiveam" ,sbcl-fiveam)))
5063 (synopsis "Efficient endianness conversion for Common Lisp")
5064 (description "This Common Lisp library provides optimized byte-swapping
5065 primitives. The library can change endianness of unsigned integers of length
5066 1/2/4/8. Very useful in implementing various network protocols and file
5067 formats.")
5068 (license license:expat)))
5069
5070 (define-public cl-swap-bytes
5071 (sbcl-package->cl-source-package sbcl-swap-bytes))
5072
5073 (define-public ecl-swap-bytes
5074 (sbcl-package->ecl-package sbcl-swap-bytes))
5075
5076 (define-public sbcl-iolib
5077 ;; Latest release is from June 2017.
5078 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5079 (revision "2"))
5080 (package
5081 (name "sbcl-iolib")
5082 (version (git-version "0.8.3" revision commit))
5083 (home-page "https://github.com/sionescu/iolib")
5084 (source
5085 (origin
5086 (method git-fetch)
5087 (uri (git-reference
5088 (url home-page)
5089 (commit commit)))
5090 (file-name (git-file-name name version))
5091 (sha256
5092 (base32
5093 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5094 (build-system asdf-build-system/sbcl)
5095 (inputs
5096 `(("alexandria" ,sbcl-alexandria)
5097 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5098 ("cffi" ,sbcl-cffi)
5099 ("idna" ,sbcl-idna)
5100 ("libfixposix" ,libfixposix)
5101 ("split-sequence" ,sbcl-split-sequence)
5102 ("swap-bytes" ,sbcl-swap-bytes)))
5103 (arguments
5104 '(#:asd-files '("iolib.asdf.asd"
5105 "iolib.conf.asd"
5106 "iolib.common-lisp.asd"
5107 "iolib.base.asd"
5108 "iolib.asd")
5109 #:phases
5110 (modify-phases %standard-phases
5111 (add-after 'unpack 'fix-paths
5112 (lambda* (#:key inputs #:allow-other-keys)
5113 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5114 (("\\(:default \"libfixposix\"\\)")
5115 (string-append
5116 "(:default \""
5117 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5118 ;; Socket tests need Internet access, disable them.
5119 (substitute* "iolib.asd"
5120 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5121 "")))))))
5122 (synopsis "Common Lisp I/O library")
5123 (description "IOlib is to be a better and more modern I/O library than
5124 the standard Common Lisp library. It contains a socket library, a DNS
5125 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5126 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5127 (license license:expat))))
5128
5129 (define-public cl-iolib
5130 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5131 (package
5132 (inherit parent)
5133 (propagated-inputs
5134 ;; Need header to compile.
5135 `(("libfixposix" ,libfixposix)
5136 ,@(package-propagated-inputs parent))))))
5137
5138 (define-public ecl-iolib
5139 (sbcl-package->ecl-package sbcl-iolib))
5140
5141 (define-public sbcl-ieee-floats
5142 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5143 (revision "1"))
5144 (package
5145 (name "sbcl-ieee-floats")
5146 (build-system asdf-build-system/sbcl)
5147 (version (git-version "20170924" revision commit))
5148 (home-page "https://github.com/marijnh/ieee-floats/")
5149 (source
5150 (origin
5151 (method git-fetch)
5152 (uri (git-reference
5153 (url home-page)
5154 (commit commit)))
5155 (file-name (git-file-name name version))
5156 (sha256
5157 (base32
5158 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5159 (native-inputs
5160 `(("fiveam" ,sbcl-fiveam)))
5161 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5162 (description "This is a Common Lisp library that converts
5163 floating point values to IEEE 754 binary representation.")
5164 (license license:bsd-3))))
5165
5166 (define-public cl-ieee-floats
5167 (sbcl-package->cl-source-package sbcl-ieee-floats))
5168
5169 (define-public ecl-ieee-floats
5170 (sbcl-package->ecl-package sbcl-ieee-floats))
5171
5172 (define sbcl-closure-common
5173 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5174 (revision "1"))
5175 (package
5176 (name "sbcl-closure-common")
5177 (build-system asdf-build-system/sbcl)
5178 (version (git-version "20101006" revision commit))
5179 (home-page "https://common-lisp.net/project/cxml/")
5180 (source
5181 (origin
5182 (method git-fetch)
5183 (uri (git-reference
5184 (url "https://github.com/sharplispers/closure-common")
5185 (commit commit)))
5186 (file-name (git-file-name name version))
5187 (sha256
5188 (base32
5189 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5190 (inputs
5191 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5192 ("babel" ,sbcl-babel)))
5193 (synopsis "Support Common Lisp library for CXML")
5194 (description "Closure-common is an internal helper library. The name
5195 Closure is a reference to the web browser it was originally written for.")
5196 ;; TODO: License?
5197 (license #f))))
5198
5199 (define-public sbcl-cxml
5200 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5201 (revision "1"))
5202 (package
5203 (name "sbcl-cxml")
5204 (version (git-version "0.0.0" revision commit))
5205 (source
5206 (origin
5207 (method git-fetch)
5208 (uri (git-reference
5209 (url "https://github.com/sharplispers/cxml")
5210 (commit commit)))
5211 (file-name (git-file-name name version))
5212 (sha256
5213 (base32
5214 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5215 (build-system asdf-build-system/sbcl)
5216 (inputs
5217 `(("closure-common" ,sbcl-closure-common)
5218 ("puri" ,sbcl-puri)
5219 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5220 (synopsis "Common Lisp XML parser")
5221 (description "CXML implements a namespace-aware, validating XML 1.0
5222 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5223 offered, one SAX-like, the other similar to StAX.")
5224 (home-page "https://common-lisp.net/project/cxml/")
5225 (license license:llgpl))))
5226
5227 (define-public cl-cxml
5228 (sbcl-package->cl-source-package sbcl-cxml))
5229
5230 (define-public ecl-cxml
5231 (sbcl-package->ecl-package sbcl-cxml))
5232
5233 (define-public sbcl-cl-reexport
5234 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5235 (revision "1"))
5236 (package
5237 (name "sbcl-cl-reexport")
5238 (build-system asdf-build-system/sbcl)
5239 (version (git-version "0.1" revision commit))
5240 (home-page "https://github.com/takagi/cl-reexport")
5241 (source
5242 (origin
5243 (method git-fetch)
5244 (uri (git-reference
5245 (url home-page)
5246 (commit commit)))
5247 (file-name (git-file-name name version))
5248 (sha256
5249 (base32
5250 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5251 (inputs
5252 `(("alexandria" ,sbcl-alexandria)))
5253 (arguments
5254 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5255 `(#:tests? #f))
5256 (synopsis "HTTP cookie manager for Common Lisp")
5257 (description "cl-cookie is a Common Lisp library featuring parsing of
5258 cookie headers, cookie creation, cookie jar creation and more.")
5259 (license license:llgpl))))
5260
5261 (define-public cl-reexport
5262 (sbcl-package->cl-source-package sbcl-cl-reexport))
5263
5264 (define-public ecl-cl-reexport
5265 (sbcl-package->ecl-package sbcl-cl-reexport))
5266
5267 (define-public sbcl-cl-cookie
5268 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5269 (revision "1"))
5270 (package
5271 (name "sbcl-cl-cookie")
5272 (build-system asdf-build-system/sbcl)
5273 (version (git-version "0.9.10" revision commit))
5274 (home-page "https://github.com/fukamachi/cl-cookie")
5275 (source
5276 (origin
5277 (method git-fetch)
5278 (uri (git-reference
5279 (url home-page)
5280 (commit commit)))
5281 (file-name (git-file-name name version))
5282 (sha256
5283 (base32
5284 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5285 (inputs
5286 `(("proc-parse" ,sbcl-proc-parse)
5287 ("alexandria" ,sbcl-alexandria)
5288 ("quri" ,sbcl-quri)
5289 ("cl-ppcre" ,sbcl-cl-ppcre)
5290 ("local-time" ,sbcl-local-time)))
5291 (native-inputs
5292 `(("prove" ,sbcl-prove)))
5293 (arguments
5294 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5295 `(#:tests? #f))
5296 (synopsis "HTTP cookie manager for Common Lisp")
5297 (description "cl-cookie is a Common Lisp library featuring parsing of
5298 cookie headers, cookie creation, cookie jar creation and more.")
5299 (license license:bsd-2))))
5300
5301 (define-public cl-cookie
5302 (sbcl-package->cl-source-package sbcl-cl-cookie))
5303
5304 (define-public ecl-cl-cookie
5305 (sbcl-package->ecl-package sbcl-cl-cookie))
5306
5307 (define-public sbcl-dexador
5308 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5309 (revision "1"))
5310 (package
5311 (name "sbcl-dexador")
5312 (build-system asdf-build-system/sbcl)
5313 (version "0.9.14" )
5314 (home-page "https://github.com/fukamachi/dexador")
5315 (source
5316 (origin
5317 (method git-fetch)
5318 (uri (git-reference
5319 (url home-page)
5320 (commit commit)))
5321 (file-name (git-file-name name version))
5322 (sha256
5323 (base32
5324 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5325 (inputs
5326 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5327 ("babel" ,sbcl-babel)
5328 ("usocket" ,sbcl-usocket)
5329 ("fast-http" ,sbcl-fast-http)
5330 ("quri" ,sbcl-quri)
5331 ("fast-io" ,sbcl-fast-io)
5332 ("chunga" ,sbcl-chunga)
5333 ("cl-ppcre" ,sbcl-cl-ppcre)
5334 ("cl-cookie" ,sbcl-cl-cookie)
5335 ("trivial-mimes" ,sbcl-trivial-mimes)
5336 ("chipz" ,sbcl-chipz)
5337 ("cl-base64" ,sbcl-cl-base64)
5338 ("cl-reexport" ,sbcl-cl-reexport)
5339 ("cl+ssl" ,sbcl-cl+ssl)
5340 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5341 ("alexandria" ,sbcl-alexandria)))
5342 (native-inputs
5343 `(("prove" ,sbcl-prove)
5344 ("lack" ,sbcl-lack)
5345 ("clack" ,sbcl-clack)
5346 ("babel" ,sbcl-babel)
5347 ("alexandria" ,sbcl-alexandria)
5348 ("cl-ppcre" ,sbcl-cl-ppcre)
5349 ("local-time" ,sbcl-local-time)
5350 ("trivial-features" ,sbcl-trivial-features)))
5351 (arguments
5352 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5353 `(#:tests? #f
5354 #:phases
5355 (modify-phases %standard-phases
5356 (add-after 'unpack 'fix-permissions
5357 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5358 (synopsis "Yet another HTTP client for Common Lisp")
5359 (description "Dexador is yet another HTTP client for Common Lisp with
5360 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5361 (license license:expat))))
5362
5363 (define-public cl-dexador
5364 (package
5365 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5366 (arguments
5367 `(#:phases
5368 ;; asdf-build-system/source has its own phases and does not inherit
5369 ;; from asdf-build-system/sbcl phases.
5370 (modify-phases %standard-phases/source
5371 ;; Already done in SBCL package.
5372 (delete 'reset-gzip-timestamps))))))
5373
5374 (define-public ecl-dexador
5375 (sbcl-package->ecl-package sbcl-dexador))
5376
5377 (define-public sbcl-lisp-namespace
5378 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5379 (revision "1"))
5380 (package
5381 (name "sbcl-lisp-namespace")
5382 (build-system asdf-build-system/sbcl)
5383 (version (git-version "0.1" revision commit))
5384 (home-page "https://github.com/guicho271828/lisp-namespace")
5385 (source
5386 (origin
5387 (method git-fetch)
5388 (uri (git-reference
5389 (url home-page)
5390 (commit commit)))
5391 (file-name (git-file-name name version))
5392 (sha256
5393 (base32
5394 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5395 (inputs
5396 `(("alexandria" ,sbcl-alexandria)))
5397 (native-inputs
5398 `(("fiveam" ,sbcl-fiveam)))
5399 (arguments
5400 `(#:test-asd-file "lisp-namespace.test.asd"
5401 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5402 #:tests? #f))
5403 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5404 (description "Common Lisp already has major 2 namespaces, function
5405 namespace and value namespace (or variable namespace), but there are actually
5406 more — e.g., class namespace.
5407 This library offers macros to deal with symbols from any namespace.")
5408 (license license:llgpl))))
5409
5410 (define-public cl-lisp-namespace
5411 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5412
5413 (define-public ecl-lisp-namespace
5414 (sbcl-package->ecl-package sbcl-lisp-namespace))
5415
5416 (define-public sbcl-trivial-cltl2
5417 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5418 (revision "2"))
5419 (package
5420 (name "sbcl-trivial-cltl2")
5421 (build-system asdf-build-system/sbcl)
5422 (version (git-version "0.1.1" revision commit))
5423 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5424 (source
5425 (origin
5426 (method git-fetch)
5427 (uri (git-reference
5428 (url home-page)
5429 (commit commit)))
5430 (file-name (git-file-name name version))
5431 (sha256
5432 (base32
5433 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5434 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5435 (description "This library is a portable compatibility layer around
5436 \"Common Lisp the Language, 2nd
5437 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5438 and it exports symbols from implementation-specific packages.")
5439 (license license:llgpl))))
5440
5441 (define-public cl-trivial-cltl2
5442 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5443
5444 (define-public ecl-trivial-cltl2
5445 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5446
5447 (define-public sbcl-introspect-environment
5448 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5449 (revision "1"))
5450 (package
5451 (name "sbcl-introspect-environment")
5452 (build-system asdf-build-system/sbcl)
5453 (version (git-version "0.1" revision commit))
5454 (home-page "https://github.com/Bike/introspect-environment")
5455 (source
5456 (origin
5457 (method git-fetch)
5458 (uri (git-reference
5459 (url home-page)
5460 (commit commit)))
5461 (file-name (git-file-name name version))
5462 (sha256
5463 (base32
5464 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5465 (native-inputs
5466 `(("fiveam" ,sbcl-fiveam)))
5467 (synopsis "Common Lisp environment introspection portability layer")
5468 (description "This library is a small interface to portable but
5469 nonstandard introspection of Common Lisp environments. It is intended to
5470 allow a bit more compile-time introspection of environments in Common Lisp.
5471
5472 Quite a bit of information is available at the time a macro or compiler-macro
5473 runs; inlining info, type declarations, that sort of thing. This information
5474 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5475 such.
5476
5477 This info ought to be accessible through the standard @code{&environment}
5478 parameters, but it is not. Several implementations keep the information for
5479 their own purposes but do not make it available to user programs, because
5480 there is no standard mechanism to do so.
5481
5482 This library uses implementation-specific hooks to make information available
5483 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5484 implementations have implementations of the functions that do as much as they
5485 can and/or provide reasonable defaults.")
5486 (license license:wtfpl2))))
5487
5488 (define-public cl-introspect-environment
5489 (sbcl-package->cl-source-package sbcl-introspect-environment))
5490
5491 (define-public ecl-introspect-environment
5492 (sbcl-package->ecl-package sbcl-introspect-environment))
5493
5494 (define-public sbcl-type-i
5495 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5496 (revision "2"))
5497 (package
5498 (name "sbcl-type-i")
5499 (build-system asdf-build-system/sbcl)
5500 (version (git-version "0.1" revision commit))
5501 (home-page "https://github.com/guicho271828/type-i")
5502 (source
5503 (origin
5504 (method git-fetch)
5505 (uri (git-reference
5506 (url home-page)
5507 (commit commit)))
5508 (file-name (git-file-name name version))
5509 (sha256
5510 (base32
5511 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5512 (inputs
5513 `(("alexandria" ,sbcl-alexandria)
5514 ("introspect-environment" ,sbcl-introspect-environment)
5515 ("trivia.trivial" ,sbcl-trivia.trivial)))
5516 (native-inputs
5517 `(("fiveam" ,sbcl-fiveam)))
5518 (arguments
5519 `(#:test-asd-file "type-i.test.asd"))
5520 (synopsis "Type inference utility on unary predicates for Common Lisp")
5521 (description "This library tries to provide a way to detect what kind of
5522 type the given predicate is trying to check. This is different from inferring
5523 the return type of a function.")
5524 (license license:llgpl))))
5525
5526 (define-public cl-type-i
5527 (sbcl-package->cl-source-package sbcl-type-i))
5528
5529 (define-public ecl-type-i
5530 (package
5531 (inherit (sbcl-package->ecl-package sbcl-type-i))
5532 (arguments
5533 ;; The tests get stuck indefinitly
5534 '(#:tests? #f))))
5535
5536 (define-public sbcl-optima
5537 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5538 (revision "1"))
5539 (package
5540 (name "sbcl-optima")
5541 (build-system asdf-build-system/sbcl)
5542 (version (git-version "1.0" revision commit))
5543 (home-page "https://github.com/m2ym/optima")
5544 (source
5545 (origin
5546 (method git-fetch)
5547 (uri (git-reference
5548 (url home-page)
5549 (commit commit)))
5550 (file-name (git-file-name name version))
5551 (sha256
5552 (base32
5553 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5554 (inputs
5555 `(("alexandria" ,sbcl-alexandria)
5556 ("closer-mop" ,sbcl-closer-mop)))
5557 (native-inputs
5558 `(("eos" ,sbcl-eos)))
5559 (arguments
5560 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5561 `(#:tests? #f
5562 #:test-asd-file "optima.test.asd"))
5563 (synopsis "Optimized pattern matching library for Common Lisp")
5564 (description "Optima is a fast pattern matching library which uses
5565 optimizing techniques widely used in the functional programming world.")
5566 (license license:expat))))
5567
5568 (define-public cl-optima
5569 (sbcl-package->cl-source-package sbcl-optima))
5570
5571 (define-public ecl-optima
5572 (sbcl-package->ecl-package sbcl-optima))
5573
5574 (define-public sbcl-fare-quasiquote
5575 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5576 (revision "1"))
5577 (package
5578 (name "sbcl-fare-quasiquote")
5579 (build-system asdf-build-system/sbcl)
5580 (version (git-version "1.0.1" revision commit))
5581 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5582 (source
5583 (origin
5584 (method git-fetch)
5585 (uri (git-reference
5586 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5587 "fare-quasiquote.git"))
5588 (commit commit)))
5589 (file-name (git-file-name name version))
5590 (sha256
5591 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5592 (inputs
5593 `(("fare-utils" ,sbcl-fare-utils)
5594 ("named-readtables" ,sbcl-named-readtables)
5595 ("optima" ,sbcl-optima)))
5596 (arguments
5597 ;; XXX: Circular dependencies: Tests depend on subsystems,
5598 ;; which depend on the main systems.
5599 `(#:tests? #f
5600 #:asd-systems '("fare-quasiquote"
5601 "fare-quasiquote-extras")
5602 #:phases
5603 (modify-phases %standard-phases
5604 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5605 ;; commits after 1.0.0.5, but ASDF fails to read the
5606 ;; "-REVISION-COMMIT" part generated by Guix.
5607 (add-after 'unpack 'patch-requirement
5608 (lambda _
5609 (substitute* "fare-quasiquote.asd"
5610 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5611 "\"fare-utils\""))
5612 (substitute* "fare-quasiquote-optima.asd"
5613 (("\\(:version \"optima\" \"1\\.0\"\\)")
5614 "\"optima\""))
5615 #t)))))
5616 (synopsis "Pattern-matching friendly implementation of quasiquote")
5617 (description "The main purpose of this n+2nd reimplementation of
5618 quasiquote is enable matching of quasiquoted patterns, using Optima or
5619 Trivia.")
5620 (license license:expat))))
5621
5622 (define-public cl-fare-quasiquote
5623 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5624
5625 (define-public ecl-fare-quasiquote
5626 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5627
5628 ;;; Split the trivia package in two to work around the circular dependency
5629 ;;; between guicho271828/trivia and guicho271828/type-i.
5630 (define-public sbcl-trivia.trivial
5631 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
5632 (revision "2"))
5633 (package
5634 (name "sbcl-trivia.trivial")
5635 (version (git-version "0.0.0" revision commit))
5636 (source
5637 (origin
5638 (method git-fetch)
5639 (uri (git-reference
5640 (url "https://github.com/guicho271828/trivia")
5641 (commit commit)))
5642 (file-name (git-file-name "trivia" version))
5643 (sha256
5644 (base32
5645 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
5646 (build-system asdf-build-system/sbcl)
5647 (inputs
5648 `(("alexandria" ,sbcl-alexandria)
5649 ("closer-mop" ,sbcl-closer-mop)
5650 ("lisp-namespace" ,sbcl-lisp-namespace)
5651 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5652 (arguments
5653 '(#:phases
5654 (modify-phases %standard-phases
5655 (add-after 'unpack 'fix-build
5656 (lambda _
5657 (for-each delete-file
5658 '("trivia.balland2006.asd"
5659 "trivia.ppcre.asd"
5660 "trivia.quasiquote.asd"
5661 "trivia.cffi.asd"
5662 "trivia.asd"
5663 "trivia.test.asd"))
5664 #t)))))
5665 (synopsis "Pattern matching in Common Lisp")
5666 (description "Trivia is a pattern matching compiler that is compatible
5667 with Optima, another pattern matching library for Common Lisp. It is meant to
5668 be faster and more extensible than Optima.")
5669 (home-page "https://github.com/guicho271828/trivia")
5670 (license license:llgpl))))
5671
5672 (define-public cl-trivia.trivial
5673 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5674
5675 (define-public ecl-trivia.trivial
5676 (sbcl-package->ecl-package sbcl-trivia.trivial))
5677
5678 (define-public sbcl-trivia
5679 (package
5680 (inherit sbcl-trivia.trivial)
5681 (name "sbcl-trivia")
5682 (native-inputs
5683 `(("fiveam" ,sbcl-fiveam)
5684 ("optima" ,sbcl-optima)))
5685 (inputs
5686 `(("alexandria" ,sbcl-alexandria)
5687 ("cffi" ,sbcl-cffi)
5688 ("cl-ppcre" ,sbcl-cl-ppcre)
5689 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5690 ("iterate" ,sbcl-iterate)
5691 ("trivia.trivial" ,sbcl-trivia.trivial)
5692 ("type-i" ,sbcl-type-i)))
5693 (arguments
5694 '(#:asd-systems '("trivia"
5695 "trivia.ppcre"
5696 "trivia.quasiquote"
5697 "trivia.cffi")
5698 #:test-asd-file "trivia.test.asd"
5699 #:phases
5700 (modify-phases %standard-phases
5701 (add-after 'unpack 'fix-build
5702 (lambda _
5703 (for-each delete-file
5704 '("trivia.level0.asd"
5705 "trivia.level1.asd"
5706 "trivia.level2.asd"
5707 "trivia.trivial.asd"))
5708 #t)))))))
5709
5710 (define-public cl-trivia
5711 (sbcl-package->cl-source-package sbcl-trivia))
5712
5713 (define-public ecl-trivia
5714 (sbcl-package->ecl-package sbcl-trivia))
5715
5716 (define-public sbcl-mk-string-metrics
5717 (package
5718 (name "sbcl-mk-string-metrics")
5719 (version "0.1.2")
5720 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5721 (source (origin
5722 (method git-fetch)
5723 (uri (git-reference
5724 (url home-page)
5725 (commit version)))
5726 (sha256
5727 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5728 (file-name (git-file-name name version))))
5729 (build-system asdf-build-system/sbcl)
5730 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5731 (description "This library implements efficient algorithms that calculate
5732 various string metrics in Common Lisp:
5733
5734 @itemize
5735 @item Damerau-Levenshtein distance
5736 @item Hamming distance
5737 @item Jaccard similarity coefficient
5738 @item Jaro distance
5739 @item Jaro-Winkler distance
5740 @item Levenshtein distance
5741 @item Normalized Damerau-Levenshtein distance
5742 @item Normalized Levenshtein distance
5743 @item Overlap coefficient
5744 @end itemize\n")
5745 (license license:x11)))
5746
5747 (define-public cl-mk-string-metrics
5748 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5749
5750 (define-public ecl-mk-string-metrics
5751 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5752
5753 (define-public sbcl-cl-str
5754 (package
5755 (name "sbcl-cl-str")
5756 (version "0.19")
5757 (home-page "https://github.com/vindarel/cl-str")
5758 (source (origin
5759 (method git-fetch)
5760 (uri (git-reference
5761 (url home-page)
5762 (commit version)))
5763 (sha256
5764 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5765 (file-name (git-file-name name version))))
5766 (build-system asdf-build-system/sbcl)
5767 (inputs
5768 `(("cl-ppcre" ,sbcl-cl-ppcre)
5769 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5770 ("cl-change-case" ,sbcl-cl-change-case)))
5771 (native-inputs
5772 `(("prove" ,sbcl-prove)))
5773 (arguments
5774 `(#:asd-systems '("str")
5775 #:test-asd-file "str.test.asd"))
5776 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5777 (description "A modern and consistent Common Lisp string manipulation
5778 library that focuses on modernity, simplicity and discoverability:
5779 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5780 @code{str:concat strings} instead of an unusual format construct; one
5781 discoverable library instead of many; consistency and composability, where
5782 @code{s} is always the last argument, which makes it easier to feed pipes and
5783 arrows.")
5784 (license license:expat)))
5785
5786 (define-public cl-str
5787 (sbcl-package->cl-source-package sbcl-cl-str))
5788
5789 (define-public ecl-cl-str
5790 (sbcl-package->ecl-package sbcl-cl-str))
5791
5792 (define-public sbcl-cl-xmlspam
5793 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5794 (package
5795 (name "sbcl-cl-xmlspam")
5796 (build-system asdf-build-system/sbcl)
5797 (version (git-version "0.0.0" "1" commit))
5798 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5799 (source
5800 (origin
5801 (method git-fetch)
5802 (uri (git-reference
5803 (url home-page)
5804 (commit commit)))
5805 (file-name (string-append name "-" version))
5806 (sha256
5807 (base32
5808 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
5809 (inputs
5810 `(("cxml" ,sbcl-cxml)
5811 ("cl-ppcre" ,sbcl-cl-ppcre)))
5812 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
5813 (description "CXML does an excellent job at parsing XML elements, but what
5814 do you do when you have a XML file that's larger than you want to fit in
5815 memory, and you want to extract some information from it? Writing code to deal
5816 with SAX events, or even using Klacks, quickly becomes tedious.
5817 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
5818 to write code that mirrors the structure of the XML that it's parsing. It
5819 also makes it easy to shift paradigms when necessary - the usual Lisp control
5820 constructs can be used interchangeably with pattern matching, and the full
5821 power of CXML is available when necessary.")
5822 (license license:bsd-3))))
5823
5824 (define-public cl-xmlspam
5825 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
5826
5827 (define-public ecl-cl-xmlspam
5828 (sbcl-package->ecl-package sbcl-cl-xmlspam))
5829
5830 (define-public sbcl-dbus
5831 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
5832 (revision "1"))
5833 (package
5834 (name "sbcl-dbus")
5835 (version (git-version "20190408" revision commit))
5836 (home-page "https://github.com/death/dbus")
5837 (source
5838 (origin
5839 (method git-fetch)
5840 (uri (git-reference
5841 (url home-page)
5842 (commit commit)))
5843 (file-name (git-file-name name version))
5844 (sha256
5845 (base32
5846 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
5847 (build-system asdf-build-system/sbcl)
5848 (inputs
5849 `(("alexandria" ,sbcl-alexandria)
5850 ("trivial-garbage" ,sbcl-trivial-garbage)
5851 ("babel" ,sbcl-babel)
5852 ("iolib" ,sbcl-iolib)
5853 ("ieee-floats" ,sbcl-ieee-floats)
5854 ("flexi-streams" ,sbcl-flexi-streams)
5855 ("cl-xmlspam" ,sbcl-cl-xmlspam)
5856 ("ironclad" ,sbcl-ironclad)))
5857 (synopsis "D-Bus client library for Common Lisp")
5858 (description "This is a Common Lisp library that publishes D-Bus
5859 objects as well as send and notify other objects connected to a bus.")
5860 (license license:bsd-2))))
5861
5862 (define-public cl-dbus
5863 (sbcl-package->cl-source-package sbcl-dbus))
5864
5865 (define-public ecl-dbus
5866 (sbcl-package->ecl-package sbcl-dbus))
5867
5868 (define-public sbcl-cl-hooks
5869 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
5870 (revision "1"))
5871 (package
5872 (name "sbcl-cl-hooks")
5873 (build-system asdf-build-system/sbcl)
5874 (version (git-version "0.2.1" revision commit))
5875 (home-page "https://github.com/scymtym/architecture.hooks")
5876 (source
5877 (origin
5878 (method git-fetch)
5879 (uri (git-reference
5880 (url home-page)
5881 (commit commit)))
5882 (file-name (git-file-name name version))
5883 (sha256
5884 (base32
5885 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
5886 (inputs
5887 `(("alexandria" ,sbcl-alexandria)
5888 ("let-plus" ,sbcl-let-plus)
5889 ("trivial-garbage" ,sbcl-trivial-garbage)
5890 ("closer-mop" ,sbcl-closer-mop)))
5891 (native-inputs
5892 `(("fiveam" ,sbcl-fiveam)))
5893 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
5894 (description "A hook, in the present context, is a certain kind of
5895 extension point in a program that allows interleaving the execution of
5896 arbitrary code with the execution of a the program without introducing any
5897 coupling between the two. Hooks are used extensively in the extensible editor
5898 Emacs.
5899
5900 In the Common LISP Object System (CLOS), a similar kind of extensibility is
5901 possible using the flexible multi-method dispatch mechanism. It may even seem
5902 that the concept of hooks does not provide any benefits over the possibilities
5903 of CLOS. However, there are some differences:
5904
5905 @itemize
5906
5907 @item There can be only one method for each combination of specializers and
5908 qualifiers. As a result this kind of extension point cannot be used by
5909 multiple extensions independently.
5910 @item Removing code previously attached via a @code{:before}, @code{:after} or
5911 @code{:around} method can be cumbersome.
5912 @item There could be other or even multiple extension points besides @code{:before}
5913 and @code{:after} in a single method.
5914 @item Attaching codes to individual objects using eql specializers can be
5915 cumbersome.
5916 @item Introspection of code attached a particular extension point is
5917 cumbersome since this requires enumerating and inspecting the methods of a
5918 generic function.
5919 @end itemize
5920
5921 This library tries to complement some of these weaknesses of method-based
5922 extension-points via the concept of hooks.")
5923 (license license:llgpl))))
5924
5925 (define-public cl-hooks
5926 (sbcl-package->cl-source-package sbcl-cl-hooks))
5927
5928 (define-public ecl-cl-hooks
5929 (sbcl-package->ecl-package sbcl-cl-hooks))
5930
5931 (define-public sbcl-cl-autowrap
5932 (let ((revision "1")
5933 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
5934 ;; no taged branches
5935 (package
5936 (name "sbcl-cl-autowrap")
5937 (version (git-version "1.0" revision commit))
5938 (source
5939 (origin
5940 (method git-fetch)
5941 (uri (git-reference
5942 (url "https://github.com/rpav/cl-autowrap")
5943 (commit commit)))
5944 (file-name (git-file-name name version))
5945 (sha256
5946 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
5947 (build-system asdf-build-system/sbcl)
5948 (inputs
5949 `(("alexandria" ,sbcl-alexandria)
5950 ("cffi" ,sbcl-cffi)
5951 ("cl-json" ,sbcl-cl-json)
5952 ("cl-ppcre" ,sbcl-cl-ppcre)
5953 ("defpackage-plus" ,sbcl-defpackage-plus)
5954 ("trivial-features" ,sbcl-trivial-features)))
5955 (home-page "https://github.com/rpav/cl-autowrap")
5956 (synopsis "FFI wrapper generator for Common Lisp")
5957 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
5958 (license license:bsd-2))))
5959
5960 (define-public cl-autowrap
5961 (sbcl-package->cl-source-package sbcl-cl-autowrap))
5962
5963 (define-public ecl-cl-autowrap
5964 (sbcl-package->ecl-package sbcl-cl-autowrap))
5965
5966 (define-public sbcl-s-sysdeps
5967 ;; No release since 2013.
5968 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
5969 (revision "2"))
5970 (package
5971 (name "sbcl-s-sysdeps")
5972 (build-system asdf-build-system/sbcl)
5973 (version (git-version "1" revision commit))
5974 (home-page "https://github.com/svenvc/s-sysdeps")
5975 (source
5976 (origin
5977 (method git-fetch)
5978 (uri (git-reference
5979 (url home-page)
5980 (commit commit)))
5981 (file-name (git-file-name name version))
5982 (sha256
5983 (base32
5984 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
5985 (inputs
5986 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5987 ("usocket" ,sbcl-usocket)))
5988 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
5989 (description "@code{s-sysdeps} is an abstraction layer over platform
5990 dependent functionality. This simple package is used as a building block in a
5991 number of other open source projects.
5992
5993 @code{s-sysdeps} abstracts:
5994
5995 @itemize
5996 @item managing processes,
5997 @item implementing a standard TCP/IP server,
5998 @item opening a client TCP/IP socket stream,
5999 @item working with process locks.
6000 @end itemize\n")
6001 (license license:llgpl))))
6002
6003 (define-public cl-s-sysdeps
6004 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6005
6006 (define-public ecl-s-sysdeps
6007 (sbcl-package->ecl-package sbcl-s-sysdeps))
6008
6009 (define-public sbcl-cl-prevalence
6010 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6011 (revision "4"))
6012 (package
6013 (name "sbcl-cl-prevalence")
6014 (build-system asdf-build-system/sbcl)
6015 (version (git-version "5" revision commit))
6016 (home-page "https://github.com/40ants/cl-prevalence")
6017 (source
6018 (origin
6019 (method git-fetch)
6020 (uri (git-reference
6021 (url home-page)
6022 (commit commit)))
6023 (file-name (git-file-name name version))
6024 (sha256
6025 (base32
6026 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6027 (inputs
6028 `(("s-sysdeps" ,sbcl-s-sysdeps)
6029 ("s-xml" ,sbcl-s-xml)))
6030 (native-inputs
6031 `(("fiveam" ,sbcl-fiveam)))
6032 (synopsis "Implementation of object prevalence for Common Lisp")
6033 (description "This Common Lisp library implements object prevalence (see
6034 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6035 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6036 classes and cyclic data structures are supported.")
6037 (license license:llgpl))))
6038
6039 (define-public cl-prevalence
6040 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6041
6042 (define-public ecl-cl-prevalence
6043 (sbcl-package->ecl-package sbcl-cl-prevalence))
6044
6045 (define-public sbcl-series
6046 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6047 (revision "1"))
6048 (package
6049 (name "sbcl-series")
6050 (version (git-version "2.2.11" revision commit))
6051 (source
6052 (origin
6053 (method git-fetch)
6054 (uri (git-reference
6055 (url "git://git.code.sf.net/p/series/series")
6056 (commit commit)))
6057 (file-name (git-file-name name version))
6058 (sha256
6059 (base32
6060 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6061 (build-system asdf-build-system/sbcl)
6062 (arguments
6063 ;; Disable the tests, they are apparently buggy and I didn't find
6064 ;; a simple way to make them run and pass.
6065 '(#:tests? #f))
6066 (synopsis "Series data structure for Common Lisp")
6067 (description
6068 "This Common Lisp library provides a series data structure much like
6069 a sequence, with similar kinds of operations. The difference is that in many
6070 situations, operations on series may be composed functionally and yet execute
6071 iteratively, without the need to construct intermediate series values
6072 explicitly. In this manner, series provide both the clarity of a functional
6073 programming style and the efficiency of an iterative programming style.")
6074 (home-page "http://series.sourceforge.net/")
6075 (license license:expat))))
6076
6077 (define-public cl-series
6078 (sbcl-package->cl-source-package sbcl-series))
6079
6080 (define-public ecl-series
6081 (sbcl-package->ecl-package sbcl-series))
6082
6083 (define-public sbcl-periods
6084 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6085 (revision "1"))
6086 (package
6087 (name "sbcl-periods")
6088 (version (git-version "0.0.2" revision commit))
6089 (source
6090 (origin
6091 (method git-fetch)
6092 (uri (git-reference
6093 (url "https://github.com/jwiegley/periods")
6094 (commit commit)))
6095 (file-name (git-file-name name version))
6096 (sha256
6097 (base32
6098 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6099 (build-system asdf-build-system/sbcl)
6100 (inputs
6101 `(("local-time" ,sbcl-local-time)
6102 ("series" ,sbcl-series)))
6103 (arguments
6104 '(#:asd-systems '("periods"
6105 "periods-series")))
6106 (synopsis "Common Lisp library for manipulating date/time objects")
6107 (description
6108 "Periods is a Common Lisp library providing a set of utilities for
6109 manipulating times, distances between times, and both contiguous and
6110 discontiguous ranges of time.")
6111 (home-page "https://github.com/jwiegley/periods")
6112 (license license:bsd-3))))
6113
6114 (define-public cl-periods
6115 (sbcl-package->cl-source-package sbcl-periods))
6116
6117 (define-public ecl-periods
6118 (sbcl-package->ecl-package sbcl-periods))
6119
6120 (define-public sbcl-metatilities-base
6121 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6122 (revision "1"))
6123 (package
6124 (name "sbcl-metatilities-base")
6125 (version (git-version "0.6.6" revision commit))
6126 (source
6127 (origin
6128 (method git-fetch)
6129 (uri (git-reference
6130 (url "https://github.com/gwkkwg/metatilities-base")
6131 (commit commit)))
6132 (file-name (git-file-name name version))
6133 (sha256
6134 (base32
6135 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6136 (build-system asdf-build-system/sbcl)
6137 (native-inputs
6138 `(("lift" ,sbcl-lift)))
6139 (synopsis "Core of the metatilities Common Lisp library")
6140 (description
6141 "Metatilities-base is the core of the metatilities Common Lisp library
6142 which implements a set of utilities.")
6143 (home-page "https://common-lisp.net/project/metatilities-base/")
6144 (license license:expat))))
6145
6146 (define-public cl-metatilities-base
6147 (sbcl-package->cl-source-package sbcl-metatilities-base))
6148
6149 (define-public ecl-metatilities-base
6150 (sbcl-package->ecl-package sbcl-metatilities-base))
6151
6152 (define-public sbcl-cl-containers
6153 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6154 (revision "3"))
6155 (package
6156 (name "sbcl-cl-containers")
6157 (version (git-version "0.12.1" revision commit))
6158 (source
6159 (origin
6160 (method git-fetch)
6161 (uri (git-reference
6162 (url "https://github.com/gwkkwg/cl-containers")
6163 (commit commit)))
6164 (file-name (git-file-name name version))
6165 (sha256
6166 (base32
6167 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6168 (build-system asdf-build-system/sbcl)
6169 (native-inputs
6170 `(("lift" ,sbcl-lift)))
6171 (inputs
6172 `(("metatilities-base" ,sbcl-metatilities-base)))
6173 (arguments
6174 '(#:asd-files '("cl-containers.asd")
6175 #:phases
6176 (modify-phases %standard-phases
6177 (add-after 'unpack 'relax-version-checks
6178 (lambda _
6179 (substitute* "cl-containers.asd"
6180 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6181 "\"metatilities-base\""))
6182 (substitute* "cl-containers-test.asd"
6183 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6184 "\"lift\""))
6185 #t)))))
6186 (synopsis "Container library for Common Lisp")
6187 (description
6188 "Common Lisp ships with a set of powerful built in data structures
6189 including the venerable list, full featured arrays, and hash-tables.
6190 CL-containers enhances and builds on these structures by adding containers
6191 that are not available in native Lisp (for example: binary search trees,
6192 red-black trees, sparse arrays and so on), and by providing a standard
6193 interface so that they are simpler to use and so that changing design
6194 decisions becomes significantly easier.")
6195 (home-page "https://common-lisp.net/project/cl-containers/")
6196 (license license:expat))))
6197
6198 (define-public cl-containers
6199 (sbcl-package->cl-source-package sbcl-cl-containers))
6200
6201 (define-public ecl-cl-containers
6202 (sbcl-package->ecl-package sbcl-cl-containers))
6203
6204 (define-public sbcl-xlunit
6205 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6206 (revision "1"))
6207 (package
6208 (name "sbcl-xlunit")
6209 (version (git-version "0.6.3" revision commit))
6210 (source
6211 (origin
6212 (method git-fetch)
6213 (uri (git-reference
6214 (url "http://git.kpe.io/xlunit.git")
6215 (commit commit)))
6216 (file-name (git-file-name name version))
6217 (sha256
6218 (base32
6219 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6220 (build-system asdf-build-system/sbcl)
6221 (arguments
6222 '(#:phases
6223 (modify-phases %standard-phases
6224 (add-after 'unpack 'fix-tests
6225 (lambda _
6226 (substitute* "xlunit.asd"
6227 ((" :force t") ""))
6228 #t)))))
6229 (synopsis "Unit testing package for Common Lisp")
6230 (description
6231 "The XLUnit package is a toolkit for building test suites. It is based
6232 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6233 (home-page "http://quickdocs.org/xlunit/")
6234 (license license:bsd-3))))
6235
6236 (define-public cl-xlunit
6237 (sbcl-package->cl-source-package sbcl-xlunit))
6238
6239 (define-public ecl-xlunit
6240 (sbcl-package->ecl-package sbcl-xlunit))
6241
6242 (define-public sbcl-cambl
6243 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6244 (revision "1"))
6245 (package
6246 (name "sbcl-cambl")
6247 (version (git-version "4.0.0" revision commit))
6248 (source
6249 (origin
6250 (method git-fetch)
6251 (uri (git-reference
6252 (url "https://github.com/jwiegley/cambl")
6253 (commit commit)))
6254 (file-name (git-file-name "cambl" version))
6255 (sha256
6256 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6257 (build-system asdf-build-system/sbcl)
6258 (native-inputs
6259 `(("xlunit" ,sbcl-xlunit)))
6260 (inputs
6261 `(("alexandria" ,sbcl-alexandria)
6262 ("cl-containers" ,sbcl-cl-containers)
6263 ("local-time" ,sbcl-local-time)
6264 ("periods" ,sbcl-periods)))
6265 (arguments
6266 '(#:asd-files '("fprog.asd"
6267 "cambl.asd")))
6268 (synopsis "Commoditized amounts and balances for Common Lisp")
6269 (description
6270 "CAMBL is a Common Lisp library providing a convenient facility for
6271 working with commoditized values. It does not allow compound units (and so is
6272 not suited for scientific operations) but does work rather nicely for the
6273 purpose of financial calculations.")
6274 (home-page "https://github.com/jwiegley/cambl")
6275 (license license:bsd-3))))
6276
6277 (define-public cl-cambl
6278 (sbcl-package->cl-source-package sbcl-cambl))
6279
6280 (define-public ecl-cambl
6281 (sbcl-package->ecl-package sbcl-cambl))
6282
6283 (define-public sbcl-cl-ledger
6284 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6285 (revision "1"))
6286 (package
6287 (name "sbcl-cl-ledger")
6288 (version (git-version "4.0.0" revision commit))
6289 (source
6290 (origin
6291 (method git-fetch)
6292 (uri (git-reference
6293 (url "https://github.com/ledger/cl-ledger")
6294 (commit commit)))
6295 (file-name (git-file-name name version))
6296 (sha256
6297 (base32
6298 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6299 (build-system asdf-build-system/sbcl)
6300 (inputs
6301 `(("cambl" ,sbcl-cambl)
6302 ("cl-ppcre" ,sbcl-cl-ppcre)
6303 ("local-time" ,sbcl-local-time)
6304 ("periods" ,sbcl-periods)))
6305 (arguments
6306 '(#:phases
6307 (modify-phases %standard-phases
6308 (add-after 'unpack 'fix-system-definition
6309 (lambda _
6310 (substitute* "cl-ledger.asd"
6311 ((" :build-operation program-op") "")
6312 ((" :build-pathname \"cl-ledger\"") "")
6313 ((" :entry-point \"ledger::main\"") ""))
6314 #t)))))
6315 (synopsis "Common Lisp port of the Ledger accounting system")
6316 (description
6317 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6318 system.")
6319 (home-page "https://github.com/ledger/cl-ledger")
6320 (license license:bsd-3))))
6321
6322 (define-public cl-ledger
6323 (sbcl-package->cl-source-package sbcl-cl-ledger))
6324
6325 (define-public ecl-cl-ledger
6326 (sbcl-package->ecl-package sbcl-cl-ledger))
6327
6328 (define-public sbcl-bst
6329 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6330 (revision "0"))
6331 (package
6332 (name "sbcl-bst")
6333 (version (git-version "2.0" revision commit))
6334 (source
6335 (origin
6336 (method git-fetch)
6337 (uri (git-reference
6338 (url "https://github.com/glv2/bst")
6339 (commit commit)))
6340 (file-name (git-file-name name version))
6341 (sha256
6342 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6343 (build-system asdf-build-system/sbcl)
6344 (native-inputs
6345 `(("alexandria" ,sbcl-alexandria)
6346 ("fiveam" ,sbcl-fiveam)))
6347 (synopsis "Binary search tree for Common Lisp")
6348 (description
6349 "BST is a Common Lisp library for working with binary search trees that
6350 can contain any kind of values.")
6351 (home-page "https://github.com/glv2/bst")
6352 (license license:gpl3))))
6353
6354 (define-public cl-bst
6355 (sbcl-package->cl-source-package sbcl-bst))
6356
6357 (define-public ecl-bst
6358 (sbcl-package->ecl-package sbcl-bst))
6359
6360 (define-public sbcl-cl-octet-streams
6361 (package
6362 (name "sbcl-cl-octet-streams")
6363 (version "1.2")
6364 (source
6365 (origin
6366 (method git-fetch)
6367 (uri (git-reference
6368 (url "https://github.com/glv2/cl-octet-streams")
6369 (commit (string-append "v" version))))
6370 (file-name (git-file-name name version))
6371 (sha256
6372 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6373 (build-system asdf-build-system/sbcl)
6374 (native-inputs
6375 `(("fiveam" ,sbcl-fiveam)))
6376 (inputs
6377 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6378 (synopsis "In-memory octet streams for Common Lisp")
6379 (description
6380 "CL-octet-streams is a library implementing in-memory octet
6381 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6382 cl-plumbing libraries.")
6383 (home-page "https://github.com/glv2/cl-octet-streams")
6384 (license license:gpl3+)))
6385
6386 (define-public cl-octet-streams
6387 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6388
6389 (define-public ecl-cl-octet-streams
6390 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6391
6392 (define-public sbcl-lzlib
6393 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6394 (revision "2"))
6395 (package
6396 (name "sbcl-lzlib")
6397 (version (git-version "1.1" revision commit))
6398 (source
6399 (origin
6400 (method git-fetch)
6401 (uri (git-reference
6402 (url "https://github.com/glv2/cl-lzlib")
6403 (commit commit)))
6404 (file-name (git-file-name name version))
6405 (sha256
6406 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6407 (build-system asdf-build-system/sbcl)
6408 (native-inputs
6409 `(("fiveam" ,sbcl-fiveam)))
6410 (inputs
6411 `(("cffi" ,sbcl-cffi)
6412 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6413 ("lparallel" ,sbcl-lparallel)
6414 ("lzlib" ,lzlib)))
6415 (arguments
6416 '(#:phases
6417 (modify-phases %standard-phases
6418 (add-after 'unpack 'fix-paths
6419 (lambda* (#:key inputs #:allow-other-keys)
6420 (substitute* "src/lzlib.lisp"
6421 (("liblz\\.so")
6422 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6423 #t)))))
6424 (synopsis "Common Lisp library for lzip (de)compression")
6425 (description
6426 "This Common Lisp library provides functions for lzip (LZMA)
6427 compression/decompression using bindings to the lzlib C library.")
6428 (home-page "https://github.com/glv2/cl-lzlib")
6429 (license license:gpl3+))))
6430
6431 (define-public cl-lzlib
6432 (sbcl-package->cl-source-package sbcl-lzlib))
6433
6434 (define-public ecl-lzlib
6435 (sbcl-package->ecl-package sbcl-lzlib))
6436
6437 (define-public sbcl-chanl
6438 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6439 (revision "1"))
6440 (package
6441 (name "sbcl-chanl")
6442 (version (git-version "0.4.1" revision commit))
6443 (source
6444 (origin
6445 (method git-fetch)
6446 (uri (git-reference
6447 (url "https://github.com/zkat/chanl")
6448 (commit commit)))
6449 (file-name (git-file-name name version))
6450 (sha256
6451 (base32
6452 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6453 (build-system asdf-build-system/sbcl)
6454 (native-inputs
6455 `(("fiveam" ,sbcl-fiveam)))
6456 (inputs
6457 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6458 (synopsis "Portable channel-based concurrency for Common Lisp")
6459 (description "Common Lisp library for channel-based concurrency. In
6460 a nutshell, you create various threads sequentially executing tasks you need
6461 done, and use channel objects to communicate and synchronize the state of these
6462 threads.")
6463 (home-page "https://github.com/zkat/chanl")
6464 (license (list license:expat license:bsd-3)))))
6465
6466 (define-public cl-chanl
6467 (sbcl-package->cl-source-package sbcl-chanl))
6468
6469 (define-public ecl-chanl
6470 (sbcl-package->ecl-package sbcl-chanl))
6471
6472 (define-public sbcl-cl-store
6473 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6474 (revision "1"))
6475 (package
6476 (name "sbcl-cl-store")
6477 (version (git-version "0.8.11" revision commit))
6478 (source
6479 (origin
6480 (method git-fetch)
6481 (uri (git-reference
6482 (url "https://github.com/skypher/cl-store")
6483 (commit commit)))
6484 (file-name (git-file-name name version))
6485 (sha256
6486 (base32
6487 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6488 (build-system asdf-build-system/sbcl)
6489 (native-inputs
6490 `(("rt" ,sbcl-rt)))
6491 (synopsis "Common Lisp library to serialize data")
6492 (description
6493 "CL-STORE is a portable serialization package which should give you the
6494 ability to store all Common Lisp data types into streams.")
6495 (home-page "https://www.common-lisp.net/project/cl-store/")
6496 (license license:expat))))
6497
6498 (define-public cl-store
6499 (sbcl-package->cl-source-package sbcl-cl-store))
6500
6501 (define-public ecl-cl-store
6502 (sbcl-package->ecl-package sbcl-cl-store))
6503
6504 (define-public sbcl-cl-gobject-introspection
6505 (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
6506 (revision "1"))
6507 (package
6508 (name "sbcl-cl-gobject-introspection")
6509 (version (git-version "0.3" revision commit))
6510 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6511 (source
6512 (origin
6513 (method git-fetch)
6514 (uri (git-reference
6515 (url home-page)
6516 (commit commit)))
6517 (file-name (git-file-name name version))
6518 (sha256
6519 (base32
6520 "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
6521 (build-system asdf-build-system/sbcl)
6522 (inputs
6523 `(("alexandria" ,sbcl-alexandria)
6524 ("cffi" ,sbcl-cffi)
6525 ("iterate" ,sbcl-iterate)
6526 ("trivial-garbage" ,sbcl-trivial-garbage)
6527 ("glib" ,glib)
6528 ("gobject-introspection" ,gobject-introspection)))
6529 (native-inputs
6530 `(("fiveam" ,sbcl-fiveam)))
6531 (arguments
6532 '(#:phases
6533 (modify-phases %standard-phases
6534 (add-after 'unpack 'fix-paths
6535 (lambda* (#:key inputs #:allow-other-keys)
6536 (substitute* "src/init.lisp"
6537 (("libgobject-2\\.0\\.so")
6538 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6539 (("libgirepository-1\\.0\\.so")
6540 (string-append (assoc-ref inputs "gobject-introspection")
6541 "/lib/libgirepository-1.0.so")))
6542 #t)))))
6543 (synopsis "Common Lisp bindings to GObject Introspection")
6544 (description
6545 "This library is a bridge between Common Lisp and GObject
6546 Introspection, which enables Common Lisp programs to access the full interface
6547 of C+GObject libraries without the need of writing dedicated bindings.")
6548 (license (list license:bsd-3
6549 ;; Tests are under a different license.
6550 license:llgpl)))))
6551
6552 (define-public cl-gobject-introspection
6553 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6554
6555 (define-public ecl-cl-gobject-introspection
6556 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6557
6558 (define-public sbcl-string-case
6559 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6560 (revision "0"))
6561 (package
6562 (name "sbcl-string-case")
6563 (version (git-version "0.0.2" revision commit))
6564 (home-page "https://github.com/pkhuong/string-case")
6565 (source
6566 (origin
6567 (method git-fetch)
6568 (uri (git-reference
6569 (url home-page)
6570 (commit commit)))
6571 (file-name (git-file-name name version))
6572 (sha256
6573 (base32
6574 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6575 (build-system asdf-build-system/sbcl)
6576 (synopsis "Efficient string= case in Common Lisp")
6577 (description
6578 "@code{string-case} is a Common Lisp macro that generates specialised decision
6579 trees to dispatch on string equality.")
6580 (license license:bsd-3))))
6581
6582 (define-public cl-string-case
6583 (sbcl-package->cl-source-package sbcl-string-case))
6584
6585 (define-public ecl-string-case
6586 (sbcl-package->ecl-package sbcl-string-case))
6587
6588 (define-public sbcl-garbage-pools
6589 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6590 (revision "1"))
6591 (package
6592 (name "sbcl-garbage-pools")
6593 (version (git-version "0.1.2" revision commit))
6594 (source
6595 (origin
6596 (method git-fetch)
6597 (uri (git-reference
6598 (url "https://github.com/archimag/garbage-pools")
6599 (commit commit)))
6600 (file-name (git-file-name name version))
6601 (sha256
6602 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6603 (build-system asdf-build-system/sbcl)
6604 (home-page "https://github.com/archimag/garbage-pools")
6605 (synopsis "Resource management pools for Common Lisp")
6606 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6607 Pools for resource management.")
6608 (license license:expat))))
6609
6610 (define-public ecl-garbage-pools
6611 (sbcl-package->ecl-package sbcl-garbage-pools))
6612
6613 (define-public cl-garbage-pools
6614 (sbcl-package->cl-source-package sbcl-garbage-pools))
6615
6616 (define-public sbcl-global-vars
6617 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6618 (revision "0"))
6619 (package
6620 (name "sbcl-global-vars")
6621 (version (git-version "1.0.0" revision commit))
6622 (home-page "https://github.com/lmj/global-vars")
6623 (source
6624 (origin
6625 (method git-fetch)
6626 (uri (git-reference
6627 (url home-page)
6628 (commit commit)))
6629 (file-name (git-file-name name version))
6630 (sha256
6631 (base32
6632 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6633 (build-system asdf-build-system/sbcl)
6634 (synopsis "Efficient global variables in Common Lisp")
6635 (description
6636 "In Common Lisp, a special variable that is never dynamically bound
6637 typically serves as a stand-in for a global variable. The @code{global-vars}
6638 library provides true global variables that are implemented by some compilers.
6639 An attempt to rebind a global variable properly results in a compiler error.
6640 That is, a global variable cannot be dynamically bound.
6641
6642 Global variables therefore allow us to communicate an intended usage that
6643 differs from special variables. Global variables are also more efficient than
6644 special variables, especially in the presence of threads.")
6645 (license license:expat))))
6646
6647 (define-public cl-global-vars
6648 (sbcl-package->cl-source-package sbcl-global-vars))
6649
6650 (define-public ecl-global-vars
6651 (sbcl-package->ecl-package sbcl-global-vars))
6652
6653 (define-public sbcl-trivial-file-size
6654 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6655 (revision "0"))
6656 (package
6657 (name "sbcl-trivial-file-size")
6658 (version (git-version "0.0.0" revision commit))
6659 (home-page "https://github.com/ruricolist/trivial-file-size")
6660 (source
6661 (origin
6662 (method git-fetch)
6663 (uri (git-reference
6664 (url home-page)
6665 (commit commit)))
6666 (file-name (git-file-name name version))
6667 (sha256
6668 (base32
6669 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6670 (build-system asdf-build-system/sbcl)
6671 (native-inputs
6672 `(("fiveam" ,sbcl-fiveam)))
6673 (synopsis "Size of a file in bytes in Common Lisp")
6674 (description
6675 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6676 is to open the file with an element type of (unsigned-byte 8) and then
6677 calculate the length of the stream. This is less than ideal. In most cases
6678 it is better to get the size of the file from its metadata, using a system
6679 call.
6680
6681 This library exports a single function, file-size-in-octets. It returns the
6682 size of a file in bytes, using system calls when possible.")
6683 (license license:expat))))
6684
6685 (define-public cl-trivial-file-size
6686 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6687
6688 (define-public ecl-trivial-file-size
6689 (sbcl-package->ecl-package sbcl-trivial-file-size))
6690
6691 (define-public sbcl-trivial-macroexpand-all
6692 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6693 (revision "0"))
6694 (package
6695 (name "sbcl-trivial-macroexpand-all")
6696 (version (git-version "0.0.0" revision commit))
6697 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6698 (source
6699 (origin
6700 (method git-fetch)
6701 (uri (git-reference
6702 (url home-page)
6703 (commit commit)))
6704 (file-name (git-file-name name version))
6705 (sha256
6706 (base32
6707 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6708 (build-system asdf-build-system/sbcl)
6709 (native-inputs
6710 `(("fiveam" ,sbcl-fiveam)))
6711 (synopsis "Portable macroexpand-all for Common Lisp")
6712 (description
6713 "This library provides a macroexpand-all function that calls the
6714 implementation specific equivalent.")
6715 (license license:unlicense))))
6716
6717 (define-public cl-trivial-macroexpand-all
6718 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6719
6720 (define-public ecl-trivial-macroexpand-all
6721 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6722
6723 (define-public sbcl-serapeum
6724 (let ((commit "c5e352a9f04a84a93742193c01734f4fb31d9f82")
6725 (revision "3"))
6726 (package
6727 (name "sbcl-serapeum")
6728 (version (git-version "0.0.0" revision commit))
6729 (home-page "https://github.com/ruricolist/serapeum")
6730 (source
6731 (origin
6732 (method git-fetch)
6733 (uri (git-reference
6734 (url home-page)
6735 (commit commit)))
6736 (file-name (git-file-name name version))
6737 (sha256
6738 (base32
6739 "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw"))))
6740 (build-system asdf-build-system/sbcl)
6741 (inputs
6742 `(("alexandria" ,sbcl-alexandria)
6743 ("trivia" ,sbcl-trivia)
6744 ("split-sequence" ,sbcl-split-sequence)
6745 ("string-case" ,sbcl-string-case)
6746 ("parse-number" ,sbcl-parse-number)
6747 ("trivial-garbage" ,sbcl-trivial-garbage)
6748 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6749 ("named-readtables" ,sbcl-named-readtables)
6750 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6751 ("parse-declarations-1.0" ,sbcl-parse-declarations)
6752 ("global-vars" ,sbcl-global-vars)
6753 ("trivial-file-size" ,sbcl-trivial-file-size)
6754 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
6755 (native-inputs
6756 `(("fiveam" ,sbcl-fiveam)
6757 ("local-time" ,sbcl-local-time)))
6758 (arguments
6759 '(#:phases
6760 (modify-phases %standard-phases
6761 (add-after 'unpack 'disable-failing-tests
6762 (lambda* (#:key inputs #:allow-other-keys)
6763 (substitute* "serapeum.asd"
6764 ;; Guix does not have Quicklisp, and probably never will.
6765 (("\\(:file \"quicklisp\"\\)") ""))
6766 #t)))))
6767 (synopsis "Common Lisp utility library beyond Alexandria")
6768 (description
6769 "Serapeum is a conservative library of Common Lisp utilities. It is a
6770 supplement, not a competitor, to Alexandria.")
6771 (license license:expat))))
6772
6773 (define-public cl-serapeum
6774 (sbcl-package->cl-source-package sbcl-serapeum))
6775
6776 (define-public ecl-serapeum
6777 (sbcl-package->ecl-package sbcl-serapeum))
6778
6779 (define-public sbcl-arrows
6780 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
6781 (revision "0"))
6782 (package
6783 (name "sbcl-arrows")
6784 (version (git-version "0.2.0" revision commit))
6785 (source
6786 (origin
6787 (method git-fetch)
6788 (uri (git-reference
6789 (url "https://gitlab.com/Harleqin/arrows.git")
6790 (commit commit)))
6791 (file-name (git-file-name name version))
6792 (sha256
6793 (base32
6794 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
6795 (build-system asdf-build-system/sbcl)
6796 (native-inputs
6797 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
6798 (synopsis "Clojure-like arrow macros for Common Lisp")
6799 (description
6800 "This library implements the @code{->} and @code{->>} macros from
6801 Clojure, as well as several expansions on the idea.")
6802 (home-page "https://gitlab.com/Harleqin/arrows")
6803 (license license:public-domain))))
6804
6805 (define-public cl-arrows
6806 (sbcl-package->cl-source-package sbcl-arrows))
6807
6808 (define-public ecl-arrows
6809 (sbcl-package->ecl-package sbcl-arrows))
6810
6811 (define-public sbcl-simple-parallel-tasks
6812 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
6813 (revision "1"))
6814 (package
6815 (name "sbcl-simple-parallel-tasks")
6816 (version (git-version "1.0" revision commit))
6817 (source
6818 (origin
6819 (method git-fetch)
6820 (uri (git-reference
6821 (url "https://github.com/glv2/simple-parallel-tasks")
6822 (commit commit)))
6823 (file-name (git-file-name name version))
6824 (sha256
6825 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
6826 (build-system asdf-build-system/sbcl)
6827 (native-inputs
6828 `(("fiveam" ,sbcl-fiveam)))
6829 (inputs
6830 `(("chanl" ,sbcl-chanl)))
6831 (synopsis "Common Lisp library to evaluate some forms in parallel")
6832 (description "This is a simple Common Lisp library to evaluate some
6833 forms in parallel.")
6834 (home-page "https://github.com/glv2/simple-parallel-tasks")
6835 (license license:gpl3))))
6836
6837 (define-public cl-simple-parallel-tasks
6838 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
6839
6840 (define-public ecl-simple-parallel-tasks
6841 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
6842
6843 (define-public sbcl-cl-heap
6844 (package
6845 (name "sbcl-cl-heap")
6846 (version "0.1.6")
6847 (source
6848 (origin
6849 (method url-fetch)
6850 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
6851 "cl-heap_" version ".tar.gz"))
6852 (sha256
6853 (base32
6854 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
6855 (build-system asdf-build-system/sbcl)
6856 (native-inputs
6857 `(("xlunit" ,sbcl-xlunit)))
6858 (arguments
6859 `(#:test-asd-file "cl-heap-tests.asd"))
6860 (synopsis "Heap and priority queue data structures for Common Lisp")
6861 (description
6862 "CL-HEAP provides various implementations of heap data structures (a
6863 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
6864 (home-page "https://common-lisp.net/project/cl-heap/")
6865 (license license:gpl3+)))
6866
6867 (define-public cl-heap
6868 (sbcl-package->cl-source-package sbcl-cl-heap))
6869
6870 (define-public ecl-cl-heap
6871 (sbcl-package->ecl-package sbcl-cl-heap))
6872
6873 (define-public sbcl-curry-compose-reader-macros
6874 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
6875 (revision "0"))
6876 (package
6877 (name "sbcl-curry-compose-reader-macros")
6878 (version (git-version "1.0.0" revision commit))
6879 (source
6880 (origin
6881 (method git-fetch)
6882 (uri
6883 (git-reference
6884 (url "https://github.com/eschulte/curry-compose-reader-macros")
6885 (commit commit)))
6886 (file-name (git-file-name name version))
6887 (sha256
6888 (base32
6889 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
6890 (build-system asdf-build-system/sbcl)
6891 (inputs
6892 `(("alexandria" ,sbcl-alexandria)
6893 ("named-readtables" ,sbcl-named-readtables)))
6894 (synopsis "Reader macros for partial application and composition")
6895 (description
6896 "This Common Lisp library provides reader macros for concise expression
6897 of function partial application and composition.")
6898 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
6899 (license license:public-domain))))
6900
6901 (define-public cl-curry-compose-reader-macros
6902 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
6903
6904 (define-public ecl-curry-compose-reader-macros
6905 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
6906
6907 (define-public sbcl-yason
6908 (package
6909 (name "sbcl-yason")
6910 (version "0.7.7")
6911 (source
6912 (origin
6913 (method git-fetch)
6914 (uri (git-reference
6915 (url "https://github.com/phmarek/yason")
6916 (commit (string-append "v" version))))
6917 (file-name (git-file-name name version))
6918 (sha256
6919 (base32
6920 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
6921 (build-system asdf-build-system/sbcl)
6922 (inputs
6923 `(("alexandria" ,sbcl-alexandria)
6924 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6925 (synopsis "Common Lisp JSON parser/encoder")
6926 (description
6927 "YASON is a Common Lisp library for encoding and decoding data in the
6928 JSON interchange format.")
6929 (home-page "https://github.com/phmarek/yason")
6930 (license license:bsd-3)))
6931
6932 (define-public cl-yason
6933 (sbcl-package->cl-source-package sbcl-yason))
6934
6935 (define-public ecl-yason
6936 (sbcl-package->ecl-package sbcl-yason))
6937
6938 (define-public sbcl-stefil
6939 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
6940 (revision "0"))
6941 (package
6942 (name "sbcl-stefil")
6943 (version (git-version "0.1" revision commit))
6944 (source
6945 (origin
6946 (method git-fetch)
6947 (uri (git-reference
6948 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
6949 (commit commit)))
6950 (file-name (git-file-name name version))
6951 (sha256
6952 (base32
6953 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
6954 (build-system asdf-build-system/sbcl)
6955 (inputs
6956 `(("alexandria" ,sbcl-alexandria)
6957 ("iterate" ,sbcl-iterate)
6958 ("metabang-bind" ,sbcl-metabang-bind)
6959 ("swank" ,sbcl-slime-swank)))
6960 (arguments
6961 '(#:phases
6962 (modify-phases %standard-phases
6963 (add-after 'unpack 'drop-unnecessary-dependency
6964 (lambda _
6965 (substitute* "package.lisp"
6966 ((":stefil-system") ""))
6967 #t)))))
6968 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
6969 (synopsis "Simple test framework")
6970 (description
6971 "Stefil is a simple test framework for Common Lisp, with a focus on
6972 interactive development.")
6973 (license license:public-domain))))
6974
6975 (define-public cl-stefil
6976 (sbcl-package->cl-source-package sbcl-stefil))
6977
6978 (define-public ecl-stefil
6979 (sbcl-package->ecl-package sbcl-stefil))
6980
6981 (define-public sbcl-graph
6982 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
6983 (revision "0"))
6984 (package
6985 (name "sbcl-graph")
6986 (version (git-version "0.0.0" revision commit))
6987 (source
6988 (origin
6989 (method git-fetch)
6990 (uri
6991 (git-reference
6992 (url "https://github.com/eschulte/graph")
6993 (commit commit)))
6994 (file-name (git-file-name name version))
6995 (sha256
6996 (base32
6997 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
6998 (build-system asdf-build-system/sbcl)
6999 (native-inputs
7000 `(("stefil" ,sbcl-stefil)))
7001 (inputs
7002 `(("alexandria" ,sbcl-alexandria)
7003 ("cl-heap" ,sbcl-cl-heap)
7004 ("cl-ppcre" ,sbcl-cl-ppcre)
7005 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7006 ("metabang-bind" ,sbcl-metabang-bind)
7007 ("named-readtables" ,sbcl-named-readtables)
7008 ("yason" ,sbcl-yason)))
7009 (arguments
7010 '(#:asd-systems '("graph"
7011 "graph/dot"
7012 "graph/json")))
7013 (synopsis "Graph data structure and algorithms for Common Lisp")
7014 (description
7015 "The GRAPH Common Lisp library provides a data structures to represent
7016 graphs, as well as some graph manipulation and analysis algorithms (shortest
7017 path, maximum flow, minimum spanning tree, etc.).")
7018 (home-page "https://eschulte.github.io/graph/")
7019 (license license:gpl3+))))
7020
7021 (define-public cl-graph
7022 (sbcl-package->cl-source-package sbcl-graph))
7023
7024 (define-public ecl-graph
7025 (sbcl-package->ecl-package sbcl-graph))
7026
7027 (define-public sbcl-trivial-indent
7028 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7029 (revision "0"))
7030 (package
7031 (name "sbcl-trivial-indent")
7032 (version (git-version "1.0.0" revision commit))
7033 (source
7034 (origin
7035 (method git-fetch)
7036 (uri
7037 (git-reference
7038 (url "https://github.com/Shinmera/trivial-indent")
7039 (commit commit)))
7040 (file-name (git-file-name name version))
7041 (sha256
7042 (base32
7043 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7044 (build-system asdf-build-system/sbcl)
7045 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7046 (description
7047 "This library allows you to define custom indentation hints for your
7048 macros if the one recognised by SLIME automatically produces unwanted
7049 results.")
7050 (home-page "https://shinmera.github.io/trivial-indent/")
7051 (license license:zlib))))
7052
7053 (define-public cl-trivial-indent
7054 (sbcl-package->cl-source-package sbcl-trivial-indent))
7055
7056 (define-public ecl-trivial-indent
7057 (sbcl-package->ecl-package sbcl-trivial-indent))
7058
7059 (define-public sbcl-documentation-utils
7060 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7061 (revision "0"))
7062 (package
7063 (name "sbcl-documentation-utils")
7064 (version (git-version "1.2.0" revision commit))
7065 (source
7066 (origin
7067 (method git-fetch)
7068 (uri
7069 (git-reference
7070 (url "https://github.com/Shinmera/documentation-utils")
7071 (commit commit)))
7072 (file-name (git-file-name name version))
7073 (sha256
7074 (base32
7075 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7076 (build-system asdf-build-system/sbcl)
7077 (inputs
7078 `(("trivial-indent" ,sbcl-trivial-indent)))
7079 (synopsis "Few simple tools to document Common Lisp libraries")
7080 (description
7081 "This is a small library to help you with managing the Common Lisp
7082 docstrings for your library.")
7083 (home-page "https://shinmera.github.io/documentation-utils/")
7084 (license license:zlib))))
7085
7086 (define-public cl-documentation-utils
7087 (sbcl-package->cl-source-package sbcl-documentation-utils))
7088
7089 (define-public ecl-documentation-utils
7090 (sbcl-package->ecl-package sbcl-documentation-utils))
7091
7092 (define-public sbcl-documentation-utils-extensions
7093 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7094 (package
7095 (name "sbcl-documentation-utils-extensions")
7096 (version (git-version "0.0.0" "1" commit))
7097 (source
7098 (origin
7099 (method git-fetch)
7100 (uri
7101 (git-reference
7102 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7103 (commit commit)))
7104 (file-name (git-file-name name version))
7105 (sha256
7106 (base32
7107 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7108 (build-system asdf-build-system/sbcl)
7109 (inputs
7110 `(("documentation-utils" ,sbcl-documentation-utils)))
7111 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7112 (synopsis "Set of extensions for documentation-utils")
7113 (description
7114 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7115 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7116 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7117 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7118 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7119 gathered documentation with find-documentation function. Execute code stored
7120 in documentation with @code{execute-documentation}. See the examples in the
7121 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7122 for more information.")
7123 (license license:expat))))
7124
7125 (define-public cl-documentation-utils-extensions
7126 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7127
7128 (define-public ecl-documentation-utils-extensions
7129 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7130
7131 (define-public sbcl-form-fiddle
7132 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7133 (revision "0"))
7134 (package
7135 (name "sbcl-form-fiddle")
7136 (version (git-version "1.1.0" revision commit))
7137 (source
7138 (origin
7139 (method git-fetch)
7140 (uri
7141 (git-reference
7142 (url "https://github.com/Shinmera/form-fiddle")
7143 (commit commit)))
7144 (file-name (git-file-name name version))
7145 (sha256
7146 (base32
7147 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7148 (build-system asdf-build-system/sbcl)
7149 (inputs
7150 `(("documentation-utils" ,sbcl-documentation-utils)))
7151 (synopsis "Utilities to destructure Common Lisp lambda forms")
7152 (description
7153 "Often times we need to destructure a form definition in a Common Lisp
7154 macro. This library provides a set of simple utilities to help with that.")
7155 (home-page "https://shinmera.github.io/form-fiddle/")
7156 (license license:zlib))))
7157
7158 (define-public cl-form-fiddle
7159 (sbcl-package->cl-source-package sbcl-form-fiddle))
7160
7161 (define-public ecl-form-fiddle
7162 (sbcl-package->ecl-package sbcl-form-fiddle))
7163
7164 (define-public sbcl-parachute
7165 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7166 (revision "0"))
7167 (package
7168 (name "sbcl-parachute")
7169 (version (git-version "1.1.1" revision commit))
7170 (source
7171 (origin
7172 (method git-fetch)
7173 (uri
7174 (git-reference
7175 (url "https://github.com/Shinmera/parachute")
7176 (commit commit)))
7177 (file-name (git-file-name name version))
7178 (sha256
7179 (base32
7180 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7181 (build-system asdf-build-system/sbcl)
7182 (inputs
7183 `(("documentation-utils" ,sbcl-documentation-utils)
7184 ("form-fiddle" ,sbcl-form-fiddle)))
7185 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7186 (description
7187 "Parachute is a simple-to-use and extensible testing framework.
7188 In Parachute, things are organised as a bunch of named tests within a package.
7189 Each test can contain a bunch of test forms that make up its body.")
7190 (home-page "https://shinmera.github.io/parachute/")
7191 (license license:zlib))))
7192
7193 (define-public cl-parachute
7194 (sbcl-package->cl-source-package sbcl-parachute))
7195
7196 (define-public ecl-parachute
7197 (sbcl-package->ecl-package sbcl-parachute))
7198
7199 (define-public sbcl-array-utils
7200 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7201 (revision "0"))
7202 (package
7203 (name "sbcl-array-utils")
7204 (version (git-version "1.1.1" revision commit))
7205 (source
7206 (origin
7207 (method git-fetch)
7208 (uri
7209 (git-reference
7210 (url "https://github.com/Shinmera/array-utils")
7211 (commit commit)))
7212 (file-name (git-file-name name version))
7213 (sha256
7214 (base32
7215 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7216 (build-system asdf-build-system/sbcl)
7217 (native-inputs
7218 `(("parachute" ,sbcl-parachute)))
7219 (inputs
7220 `(("documentation-utils" ,sbcl-documentation-utils)))
7221 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7222 (description
7223 "A miniature toolkit that contains some useful shifting/popping/pushing
7224 functions for arrays and vectors. Originally from Plump.")
7225 (home-page "https://shinmera.github.io/array-utils/")
7226 (license license:zlib))))
7227
7228 (define-public cl-array-utils
7229 (sbcl-package->cl-source-package sbcl-array-utils))
7230
7231 (define-public ecl-array-utils
7232 (sbcl-package->ecl-package sbcl-array-utils))
7233
7234 (define-public sbcl-plump
7235 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7236 (revision "1"))
7237 (package
7238 (name "sbcl-plump")
7239 (version (git-version "2.0.0" revision commit))
7240 (source
7241 (origin
7242 (method git-fetch)
7243 (uri
7244 (git-reference
7245 (url "https://github.com/Shinmera/plump")
7246 (commit commit)))
7247 (file-name (git-file-name name version))
7248 (sha256
7249 (base32
7250 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7251 (build-system asdf-build-system/sbcl)
7252 (inputs
7253 `(("array-utils" ,sbcl-array-utils)
7254 ("documentation-utils" ,sbcl-documentation-utils)))
7255 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7256 (description
7257 "Plump is a parser for HTML/XML-like documents, focusing on being
7258 lenient towards invalid markup. It can handle things like invalid attributes,
7259 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7260 tags and so on. It parses documents to a class representation and offers a
7261 small set of DOM functions to manipulate it. It can be extended to parse to
7262 your own classes.")
7263 (home-page "https://shinmera.github.io/plump/")
7264 (license license:zlib))))
7265
7266 (define-public cl-plump
7267 (sbcl-package->cl-source-package sbcl-plump))
7268
7269 (define-public ecl-plump
7270 (sbcl-package->ecl-package sbcl-plump))
7271
7272 ;;; Split the antik package in two to work around the circular dependency
7273 ;;; between antik/antik and antik/gsll.
7274 (define-public sbcl-antik-base
7275 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7276 (revision "1"))
7277 (package
7278 (name "sbcl-antik-base")
7279 (version (git-version "0.0.0" revision commit))
7280 (source
7281 (origin
7282 (method git-fetch)
7283 (uri (git-reference
7284 (url "https://gitlab.common-lisp.net/antik/antik.git")
7285 (commit commit)))
7286 (file-name (git-file-name name version))
7287 (sha256
7288 (base32
7289 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7290 (build-system asdf-build-system/sbcl)
7291 (inputs
7292 `(("alexandria" ,sbcl-alexandria)
7293 ("cffi" ,sbcl-cffi)
7294 ("cl-ppcre" ,sbcl-cl-ppcre)
7295 ("drakma" ,sbcl-drakma)
7296 ("fare-utils" ,sbcl-fare-utils)
7297 ("iterate" ,sbcl-iterate)
7298 ("metabang-bind" ,sbcl-metabang-bind)
7299 ("named-readtables" ,sbcl-named-readtables)
7300 ("split-sequence" ,sbcl-split-sequence)
7301 ("static-vectors" ,sbcl-static-vectors)
7302 ("trivial-garbage" ,sbcl-trivial-garbage)
7303 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7304 (native-inputs
7305 `(("lisp-unit" ,sbcl-lisp-unit)))
7306 (arguments
7307 '(#:asd-systems '("antik-base"
7308 "foreign-array")
7309 #:phases
7310 (modify-phases %standard-phases
7311 (add-after 'unpack 'fix-build
7312 (lambda _
7313 (for-each delete-file
7314 '("antik.asd"
7315 "physical-dimension.asd"
7316 "science-data.asd"))
7317 #t)))))
7318 (synopsis "Scientific and engineering computation in Common Lisp")
7319 (description
7320 "Antik provides a foundation for scientific and engineering
7321 computation in Common Lisp. It is designed not only to facilitate
7322 numerical computations, but to permit the use of numerical computation
7323 libraries and the interchange of data and procedures, whether
7324 foreign (non-Lisp) or Lisp libraries. It is named after the
7325 Antikythera mechanism, one of the oldest examples of a scientific
7326 computer known.")
7327 (home-page "https://common-lisp.net/project/antik/")
7328 (license license:gpl3))))
7329
7330 (define-public cl-antik-base
7331 (sbcl-package->cl-source-package sbcl-antik-base))
7332
7333 (define-public ecl-antik-base
7334 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7335 (package
7336 (inherit pkg)
7337 (arguments
7338 (substitute-keyword-arguments (package-arguments pkg)
7339 ((#:phases phases)
7340 `(modify-phases ,phases
7341 (add-after 'unpack 'fix-readtable
7342 (lambda _
7343 (substitute* "input-output/readtable.lisp"
7344 (("#-ccl")
7345 "#-(or ccl ecl)"))
7346 #t)))))))))
7347
7348 (define-public sbcl-gsll
7349 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7350 (revision "1"))
7351 (package
7352 (name "sbcl-gsll")
7353 (version (git-version "0.0.0" revision commit))
7354 (source
7355 (origin
7356 (method git-fetch)
7357 (uri (git-reference
7358 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7359 (commit commit)))
7360 (file-name (git-file-name name version))
7361 (sha256
7362 (base32
7363 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7364 (build-system asdf-build-system/sbcl)
7365 (native-inputs
7366 `(("lisp-unit" ,sbcl-lisp-unit)))
7367 (inputs
7368 `(("alexandria" ,sbcl-alexandria)
7369 ("antik-base" ,sbcl-antik-base)
7370 ("cffi" ,sbcl-cffi)
7371 ("gsl" ,gsl)
7372 ("metabang-bind" ,sbcl-metabang-bind)
7373 ("trivial-features" ,sbcl-trivial-features)
7374 ("trivial-garbage" ,sbcl-trivial-garbage)))
7375 (arguments
7376 `(#:tests? #f
7377 #:phases
7378 (modify-phases %standard-phases
7379 (add-after 'unpack 'fix-cffi-paths
7380 (lambda* (#:key inputs #:allow-other-keys)
7381 (substitute* "gsll.asd"
7382 ((":depends-on \\(#:foreign-array")
7383 ":depends-on (#:foreign-array #:cffi-libffi"))
7384 (substitute* "init/init.lisp"
7385 (("libgslcblas.so" all)
7386 (string-append
7387 (assoc-ref inputs "gsl") "/lib/" all)))
7388 (substitute* "init/init.lisp"
7389 (("libgsl.so" all)
7390 (string-append
7391 (assoc-ref inputs "gsl") "/lib/" all))))))))
7392 (synopsis "GNU Scientific Library for Lisp")
7393 (description
7394 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7395 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7396 full range of common mathematical operations useful to scientific and
7397 engineering applications. The design of the GSLL interface is such
7398 that access to most of the GSL library is possible in a Lisp-natural
7399 way; the intent is that the user not be hampered by the restrictions
7400 of the C language in which GSL has been written. GSLL thus provides
7401 interactive use of GSL for getting quick answers, even for someone not
7402 intending to program in Lisp.")
7403 (home-page "https://common-lisp.net/project/gsll/")
7404 (license license:gpl3))))
7405
7406 (define-public cl-gsll
7407 (sbcl-package->cl-source-package sbcl-gsll))
7408
7409 (define-public ecl-gsll
7410 (sbcl-package->ecl-package sbcl-gsll))
7411
7412 (define-public sbcl-antik
7413 (package
7414 (inherit sbcl-antik-base)
7415 (name "sbcl-antik")
7416 (inputs
7417 `(("antik-base" ,sbcl-antik-base)
7418 ("gsll" ,sbcl-gsll)))
7419 (arguments
7420 '(#:asd-systems '("antik"
7421 "science-data")
7422 #:phases
7423 (modify-phases %standard-phases
7424 (add-after 'unpack 'fix-build
7425 (lambda _
7426 (for-each delete-file
7427 '("antik-base.asd"
7428 "foreign-array.asd"))
7429 #t)))))))
7430
7431 (define-public cl-antik
7432 (sbcl-package->cl-source-package sbcl-antik))
7433
7434 (define-public sbcl-cl-interpol
7435 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7436 (revision "1"))
7437 (package
7438 (name "sbcl-cl-interpol")
7439 (version (git-version "0.2.6" revision commit))
7440 (source
7441 (origin
7442 (method git-fetch)
7443 (uri (git-reference
7444 (url "https://github.com/edicl/cl-interpol")
7445 (commit commit)))
7446 (file-name (git-file-name name version))
7447 (sha256
7448 (base32
7449 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7450 (build-system asdf-build-system/sbcl)
7451 (inputs
7452 `(("cl-unicode" ,sbcl-cl-unicode)
7453 ("named-readtables" ,sbcl-named-readtables)))
7454 (native-inputs
7455 `(("flexi-streams" ,sbcl-flexi-streams)))
7456 (synopsis "String interpolation for Common Lisp")
7457 (description
7458 "CL-INTERPOL is a library for Common Lisp which modifies the
7459 reader so that you can have interpolation within strings similar to
7460 Perl or Unix Shell scripts. It also provides various ways to insert
7461 arbitrary characters into literal strings even if your editor/IDE
7462 doesn't support them.")
7463 (home-page "https://edicl.github.io/cl-interpol/")
7464 (license license:bsd-3))))
7465
7466 (define-public cl-interpol
7467 (sbcl-package->cl-source-package sbcl-cl-interpol))
7468
7469 (define-public ecl-cl-interpol
7470 (sbcl-package->ecl-package sbcl-cl-interpol))
7471
7472 (define-public sbcl-symbol-munger
7473 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7474 (revision "1"))
7475 (package
7476 (name "sbcl-symbol-munger")
7477 (version (git-version "0.0.1" revision commit))
7478 (source
7479 (origin
7480 (method git-fetch)
7481 (uri (git-reference
7482 (url "https://github.com/AccelerationNet/symbol-munger")
7483 (commit commit)))
7484 (file-name (git-file-name name version))
7485 (sha256
7486 (base32
7487 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7488 (build-system asdf-build-system/sbcl)
7489 (inputs
7490 `(("alexandria" ,sbcl-alexandria)
7491 ("iterate" ,sbcl-iterate)))
7492 (arguments
7493 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7494 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7495 '(#:tests? #f))
7496 (synopsis
7497 "Capitalization and spacing conversion functions for Common Lisp")
7498 (description
7499 "This is a Common Lisp library to change the capitalization and spacing
7500 of a string or a symbol. It can convert to and from Lisp, english, underscore
7501 and camel-case rules.")
7502 (home-page "https://github.com/AccelerationNet/symbol-munger")
7503 ;; The package declares a BSD license, but all of the license
7504 ;; text is MIT.
7505 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7506 (license license:expat))))
7507
7508 (define-public cl-symbol-munger
7509 (sbcl-package->cl-source-package sbcl-symbol-munger))
7510
7511 (define-public ecl-symbol-munger
7512 (sbcl-package->ecl-package sbcl-symbol-munger))
7513
7514 (define-public sbcl-lisp-unit2
7515 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7516 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7517 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7518 (revision "1"))
7519 (package
7520 (name "sbcl-lisp-unit2")
7521 (version (git-version "0.2.0" revision commit))
7522 (source
7523 (origin
7524 (method git-fetch)
7525 (uri (git-reference
7526 (url "https://github.com/AccelerationNet/lisp-unit2")
7527 (commit commit)))
7528 (file-name (git-file-name name version))
7529 (sha256
7530 (base32
7531 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7532 (build-system asdf-build-system/sbcl)
7533 (inputs
7534 `(("alexandria" ,sbcl-alexandria)
7535 ("cl-interpol" ,sbcl-cl-interpol)
7536 ("iterate" ,sbcl-iterate)
7537 ("symbol-munger" ,sbcl-symbol-munger)))
7538 (synopsis "Test Framework for Common Lisp")
7539 (description
7540 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7541 style of JUnit for Java. It is a new version of the lisp-unit library written
7542 by Chris Riesbeck.")
7543 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7544 (license license:expat))))
7545
7546 (define-public cl-lisp-unit2
7547 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7548
7549 (define-public ecl-lisp-unit2
7550 (sbcl-package->ecl-package sbcl-lisp-unit2))
7551
7552 (define-public sbcl-cl-csv
7553 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7554 (revision "2"))
7555 (package
7556 (name "sbcl-cl-csv")
7557 (version (git-version "1.0.6" revision commit))
7558 (source
7559 (origin
7560 (method git-fetch)
7561 (uri (git-reference
7562 (url "https://github.com/AccelerationNet/cl-csv")
7563 (commit commit)))
7564 (file-name (git-file-name name version))
7565 (sha256
7566 (base32
7567 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7568 (build-system asdf-build-system/sbcl)
7569 (arguments
7570 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7571 `(#:tests? #f))
7572 (inputs
7573 `(("alexandria" ,sbcl-alexandria)
7574 ("cl-interpol" ,sbcl-cl-interpol)
7575 ("iterate" ,sbcl-iterate)))
7576 (native-inputs
7577 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7578 (synopsis "Common lisp library for comma-separated values")
7579 (description
7580 "This is a Common Lisp library providing functions to read/write CSV
7581 from/to strings, streams and files.")
7582 (home-page "https://github.com/AccelerationNet/cl-csv")
7583 (license license:bsd-3))))
7584
7585 (define-public cl-csv
7586 (sbcl-package->cl-source-package sbcl-cl-csv))
7587
7588 (define-public ecl-cl-csv
7589 (sbcl-package->ecl-package sbcl-cl-csv))
7590
7591 (define-public sbcl-external-program
7592 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7593 (revision "1"))
7594 (package
7595 (name "sbcl-external-program")
7596 (version (git-version "0.0.6" revision commit))
7597 (source
7598 (origin
7599 (method git-fetch)
7600 (uri (git-reference
7601 (url "https://github.com/sellout/external-program")
7602 (commit commit)))
7603 (file-name (git-file-name name version))
7604 (sha256
7605 (base32
7606 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7607 (build-system asdf-build-system/sbcl)
7608 (inputs
7609 `(("trivial-features" ,sbcl-trivial-features)))
7610 (native-inputs
7611 `(("fiveam" ,sbcl-fiveam)))
7612 (synopsis "Common Lisp library for running external programs")
7613 (description
7614 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7615 process. It is an attempt to make the RUN-PROGRAM functionality in
7616 implementations like SBCL and CCL as portable as possible without
7617 sacrificing much in the way of power.")
7618 (home-page "https://github.com/sellout/external-program")
7619 (license license:llgpl))))
7620
7621 (define-public cl-external-program
7622 (sbcl-package->cl-source-package sbcl-external-program))
7623
7624 (define-public ecl-external-program
7625 (sbcl-package->ecl-package sbcl-external-program))
7626
7627 (define-public sbcl-cl-ana
7628 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7629 (revision "1"))
7630 (package
7631 (name "sbcl-cl-ana")
7632 (version (git-version "0.0.0" revision commit))
7633 (source
7634 (origin
7635 (method git-fetch)
7636 (uri (git-reference
7637 (url "https://github.com/ghollisjr/cl-ana")
7638 (commit commit)))
7639 (file-name (git-file-name name version))
7640 (sha256
7641 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7642 (build-system asdf-build-system/sbcl)
7643 (native-inputs
7644 `(("cl-fad" ,sbcl-cl-fad)))
7645 (inputs
7646 `(("alexandria" ,sbcl-alexandria)
7647 ("antik" ,sbcl-antik)
7648 ("cffi" ,sbcl-cffi)
7649 ("cl-csv" ,sbcl-cl-csv)
7650 ("closer-mop" ,sbcl-closer-mop)
7651 ("external-program" ,sbcl-external-program)
7652 ("gsl" ,gsl)
7653 ("gsll" ,sbcl-gsll)
7654 ("hdf5" ,hdf5-parallel-openmpi)
7655 ("iterate" ,sbcl-iterate)
7656 ("libffi" ,libffi)
7657 ("split-sequence" ,sbcl-split-sequence)))
7658 (arguments
7659 `(#:phases
7660 (modify-phases %standard-phases
7661 (add-after 'unpack 'fix-paths
7662 (lambda* (#:key inputs #:allow-other-keys)
7663 (substitute* "hdf-cffi/hdf-cffi.lisp"
7664 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7665 (string-append (assoc-ref inputs "hdf5")
7666 "/lib/libhdf5.so")))
7667 (substitute* "gsl-cffi/gsl-cffi.lisp"
7668 (("define-foreign-library gsl-cffi" all)
7669 (string-append all " (:unix "
7670 (assoc-ref inputs "gsl")
7671 "/lib/libgsl.so)")))
7672 #t)))))
7673 (synopsis "Common Lisp data analysis library")
7674 (description
7675 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7676 binned data analysis along with nonlinear least squares fitting and
7677 visualization.")
7678 (home-page "https://github.com/ghollisjr/cl-ana")
7679 (license license:gpl3))))
7680
7681 (define-public cl-ana
7682 (sbcl-package->cl-source-package sbcl-cl-ana))
7683
7684 (define-public sbcl-archive
7685 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7686 (revision "1"))
7687 (package
7688 (name "sbcl-archive")
7689 (version (git-version "0.9" revision commit))
7690 (source (origin
7691 (method git-fetch)
7692 (uri (git-reference
7693 (url "https://github.com/sharplispers/archive")
7694 (commit commit)))
7695 (file-name (git-file-name name version))
7696 (sha256
7697 (base32
7698 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7699 (build-system asdf-build-system/sbcl)
7700 (inputs
7701 `(("cl-fad" ,sbcl-cl-fad)
7702 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7703 (synopsis "Common Lisp library for tar and cpio archives")
7704 (description
7705 "This is a Common Lisp library to read and write disk-based file
7706 archives such as those generated by the tar and cpio programs on Unix.")
7707 (home-page "https://github.com/sharplispers/archive")
7708 (license license:bsd-3))))
7709
7710 (define-public cl-archive
7711 (sbcl-package->cl-source-package sbcl-archive))
7712
7713 (define-public ecl-archive
7714 (sbcl-package->ecl-package sbcl-archive))
7715
7716 (define-public sbcl-misc-extensions
7717 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7718 (revision "1"))
7719 (package
7720 (name "sbcl-misc-extensions")
7721 (version (git-version "3.3" revision commit))
7722 (source
7723 (origin
7724 (method git-fetch)
7725 (uri (git-reference
7726 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
7727 (commit commit)))
7728 (file-name (git-file-name name version))
7729 (sha256
7730 (base32
7731 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
7732 (build-system asdf-build-system/sbcl)
7733 (synopsis "Collection of small macros and extensions for Common Lisp")
7734 (description
7735 "This project is intended as a catchall for small, general-purpose
7736 extensions to Common Lisp. It contains:
7737
7738 @itemize
7739 @item @code{new-let}, a macro that combines and generalizes @code{let},
7740 @code{let*} and @code{multiple-value-bind},
7741 @item @code{gmap}, an iteration macro that generalizes @code{map}.
7742 @end itemize\n")
7743 (home-page "https://common-lisp.net/project/misc-extensions/")
7744 (license license:public-domain))))
7745
7746 (define-public cl-misc-extensions
7747 (sbcl-package->cl-source-package sbcl-misc-extensions))
7748
7749 (define-public ecl-misc-extensions
7750 (sbcl-package->ecl-package sbcl-misc-extensions))
7751
7752 (define-public sbcl-mt19937
7753 (package
7754 (name "sbcl-mt19937")
7755 (version "1.1")
7756 (source
7757 (origin
7758 (method url-fetch)
7759 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
7760 "mt19937-latest.tar.gz"))
7761 (sha256
7762 (base32
7763 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
7764 (build-system asdf-build-system/sbcl)
7765 (synopsis "Mersenne Twister pseudo-random number generator")
7766 (description
7767 "MT19937 is a portable Mersenne Twister pseudo-random number generator
7768 for Common Lisp.")
7769 (home-page "https://www.cliki.net/mt19937")
7770 (license license:public-domain)))
7771
7772 (define-public cl-mt19937
7773 (sbcl-package->cl-source-package sbcl-mt19937))
7774
7775 (define-public ecl-mt19937
7776 (sbcl-package->ecl-package sbcl-mt19937))
7777
7778 (define-public sbcl-fset
7779 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
7780 (revision "1"))
7781 (package
7782 (name "sbcl-fset")
7783 (version (git-version "1.3.2" revision commit))
7784 (source
7785 (origin
7786 (method git-fetch)
7787 (uri (git-reference
7788 (url "https://github.com/slburson/fset")
7789 (commit commit)))
7790 (file-name (git-file-name name version))
7791 (sha256
7792 (base32
7793 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
7794 (snippet '(begin
7795 ;; Remove obsolete copy of system definition.
7796 (delete-file "Code/fset.asd")
7797 #t))))
7798 (build-system asdf-build-system/sbcl)
7799 (inputs
7800 `(("misc-extensions" ,sbcl-misc-extensions)
7801 ("mt19937" ,sbcl-mt19937)
7802 ("named-readtables" ,sbcl-named-readtables)))
7803 (synopsis "Functional set-theoretic collections library")
7804 (description
7805 "FSet is a functional set-theoretic collections library for Common Lisp.
7806 Functional means that all update operations return a new collection rather than
7807 modifying an existing one in place. Set-theoretic means that collections may
7808 be nested arbitrarily with no additional programmer effort; for instance, sets
7809 may contain sets, maps may be keyed by sets, etc.")
7810 (home-page "https://common-lisp.net/project/fset/Site/index.html")
7811 (license license:llgpl))))
7812
7813 (define-public cl-fset
7814 (sbcl-package->cl-source-package sbcl-fset))
7815
7816 (define-public ecl-fset
7817 (package
7818 (inherit (sbcl-package->ecl-package sbcl-fset))
7819 (arguments
7820 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
7821 '(#:tests? #f))))
7822
7823 (define-public sbcl-cl-cont
7824 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
7825 (revision "1"))
7826 (package
7827 (name "sbcl-cl-cont")
7828 (version (git-version "0.3.8" revision commit))
7829 (source
7830 (origin
7831 (method git-fetch)
7832 (uri (git-reference
7833 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
7834 (commit commit)))
7835 (file-name (git-file-name name version))
7836 (sha256
7837 (base32
7838 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
7839 (build-system asdf-build-system/sbcl)
7840 (inputs
7841 `(("alexandria" ,sbcl-alexandria)
7842 ("closer-mop" ,sbcl-closer-mop)))
7843 (native-inputs
7844 `(("rt" ,sbcl-rt)))
7845 (synopsis "Delimited continuations for Common Lisp")
7846 (description
7847 "This is a library that implements delimited continuations by
7848 transforming Common Lisp code to continuation passing style.")
7849 (home-page "https://common-lisp.net/project/cl-cont/")
7850 (license license:llgpl))))
7851
7852 (define-public cl-cont
7853 (sbcl-package->cl-source-package sbcl-cl-cont))
7854
7855 (define-public ecl-cl-cont
7856 (sbcl-package->ecl-package sbcl-cl-cont))
7857
7858 (define-public sbcl-cl-coroutine
7859 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
7860 (revision "1"))
7861 (package
7862 (name "sbcl-cl-coroutine")
7863 (version (git-version "0.1" revision commit))
7864 (source
7865 (origin
7866 (method git-fetch)
7867 (uri (git-reference
7868 (url "https://github.com/takagi/cl-coroutine")
7869 (commit commit)))
7870 (file-name (git-file-name name version))
7871 (sha256
7872 (base32
7873 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
7874 (build-system asdf-build-system/sbcl)
7875 (inputs
7876 `(("alexandria" ,sbcl-alexandria)
7877 ("cl-cont" ,sbcl-cl-cont)))
7878 (native-inputs
7879 `(("prove" ,sbcl-prove)))
7880 (arguments
7881 `(;; TODO: Fix the tests. They fail with:
7882 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
7883 #:tests? #f
7884 #:phases
7885 (modify-phases %standard-phases
7886 (add-after 'unpack 'fix-tests
7887 (lambda _
7888 (substitute* "cl-coroutine-test.asd"
7889 (("cl-test-more")
7890 "prove"))
7891 #t)))))
7892 (synopsis "Coroutine library for Common Lisp")
7893 (description
7894 "This is a coroutine library for Common Lisp implemented using the
7895 continuations of the @code{cl-cont} library.")
7896 (home-page "https://github.com/takagi/cl-coroutine")
7897 (license license:llgpl))))
7898
7899 (define-public cl-coroutine
7900 (sbcl-package->cl-source-package sbcl-cl-coroutine))
7901
7902 (define-public ecl-cl-coroutine
7903 (sbcl-package->ecl-package sbcl-cl-coroutine))
7904
7905 (define-public sbcl-vom
7906 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
7907 (revision "1"))
7908 (package
7909 (name "sbcl-vom")
7910 (version (git-version "0.1.4" revision commit))
7911 (source
7912 (origin
7913 (method git-fetch)
7914 (uri (git-reference
7915 (url "https://github.com/orthecreedence/vom")
7916 (commit commit)))
7917 (file-name (git-file-name name version))
7918 (sha256
7919 (base32
7920 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
7921 (build-system asdf-build-system/sbcl)
7922 (synopsis "Tiny logging utility for Common Lisp")
7923 (description
7924 "Vom is a logging library for Common Lisp. It's goal is to be useful
7925 and small. It does not provide a lot of features as other loggers do, but
7926 has a small codebase that's easy to understand and use.")
7927 (home-page "https://github.com/orthecreedence/vom")
7928 (license license:expat))))
7929
7930 (define-public cl-vom
7931 (sbcl-package->cl-source-package sbcl-vom))
7932
7933 (define-public ecl-vom
7934 (sbcl-package->ecl-package sbcl-vom))
7935
7936 (define-public sbcl-cl-libuv
7937 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
7938 (revision "1"))
7939 (package
7940 (name "sbcl-cl-libuv")
7941 (version (git-version "0.1.6" revision commit))
7942 (source
7943 (origin
7944 (method git-fetch)
7945 (uri (git-reference
7946 (url "https://github.com/orthecreedence/cl-libuv")
7947 (commit commit)))
7948 (file-name (git-file-name name version))
7949 (sha256
7950 (base32
7951 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
7952 (build-system asdf-build-system/sbcl)
7953 (inputs
7954 `(("alexandria" ,sbcl-alexandria)
7955 ("cffi" ,sbcl-cffi)
7956 ("libuv" ,libuv)))
7957 (arguments
7958 `(#:phases
7959 (modify-phases %standard-phases
7960 (add-after 'unpack 'fix-paths
7961 (lambda* (#:key inputs #:allow-other-keys)
7962 (substitute* "lib.lisp"
7963 (("/usr/lib/libuv.so")
7964 (string-append (assoc-ref inputs "libuv")
7965 "/lib/libuv.so")))
7966 #t))
7967 (add-after 'fix-paths 'fix-system-definition
7968 (lambda _
7969 (substitute* "cl-libuv.asd"
7970 (("#:cffi #:alexandria")
7971 "#:cffi #:cffi-grovel #:alexandria"))
7972 #t)))))
7973 (synopsis "Common Lisp bindings to libuv")
7974 (description
7975 "This library provides low-level libuv bindings for Common Lisp.")
7976 (home-page "https://github.com/orthecreedence/cl-libuv")
7977 (license license:expat))))
7978
7979 (define-public cl-libuv
7980 (sbcl-package->cl-source-package sbcl-cl-libuv))
7981
7982 (define-public ecl-cl-libuv
7983 (sbcl-package->ecl-package sbcl-cl-libuv))
7984
7985 (define-public sbcl-cl-async
7986 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
7987 (revision "1"))
7988 (package
7989 (name "sbcl-cl-async")
7990 (version (git-version "0.6.1" revision commit))
7991 (source
7992 (origin
7993 (method git-fetch)
7994 (uri (git-reference
7995 (url "https://github.com/orthecreedence/cl-async")
7996 (commit commit)))
7997 (file-name (git-file-name name version))
7998 (sha256
7999 (base32
8000 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8001 (build-system asdf-build-system/sbcl)
8002 (inputs
8003 `(("babel" ,sbcl-babel)
8004 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8005 ("cffi" ,sbcl-cffi)
8006 ("cl-libuv" ,sbcl-cl-libuv)
8007 ("cl-ppcre" ,sbcl-cl-ppcre)
8008 ("fast-io" ,sbcl-fast-io)
8009 ("openssl" ,openssl)
8010 ("static-vectors" ,sbcl-static-vectors)
8011 ("trivial-features" ,sbcl-trivial-features)
8012 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8013 ("vom" ,sbcl-vom)))
8014 (arguments
8015 `(#:asd-systems '("cl-async"
8016 "cl-async-repl"
8017 "cl-async-ssl")
8018 #:phases
8019 (modify-phases %standard-phases
8020 (add-after 'unpack 'fix-paths
8021 (lambda* (#:key inputs #:allow-other-keys)
8022 (substitute* "src/ssl/package.lisp"
8023 (("libcrypto\\.so")
8024 (string-append (assoc-ref inputs "openssl")
8025 "/lib/libcrypto.so"))
8026 (("libssl\\.so")
8027 (string-append (assoc-ref inputs "openssl")
8028 "/lib/libssl.so")))
8029 #t)))))
8030 (synopsis "Asynchronous operations for Common Lisp")
8031 (description
8032 "Cl-async is a library for general purpose, non-blocking programming in
8033 Common Lisp. It uses the libuv library as backend.")
8034 (home-page "https://orthecreedence.github.io/cl-async/")
8035 (license license:expat))))
8036
8037 (define-public cl-async
8038 (sbcl-package->cl-source-package sbcl-cl-async))
8039
8040 (define-public ecl-cl-async
8041 (sbcl-package->ecl-package sbcl-cl-async))
8042
8043 (define-public sbcl-blackbird
8044 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8045 (revision "1"))
8046 (package
8047 (name "sbcl-blackbird")
8048 (version (git-version "0.5.2" revision commit))
8049 (source
8050 (origin
8051 (method git-fetch)
8052 (uri (git-reference
8053 (url "https://github.com/orthecreedence/blackbird")
8054 (commit commit)))
8055 (file-name (git-file-name name version))
8056 (sha256
8057 (base32
8058 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8059 (build-system asdf-build-system/sbcl)
8060 (inputs
8061 `(("vom" ,sbcl-vom)))
8062 (native-inputs
8063 `(("cl-async" ,sbcl-cl-async)
8064 ("fiveam" ,sbcl-fiveam)))
8065 (synopsis "Promise implementation for Common Lisp")
8066 (description
8067 "This is a standalone promise implementation for Common Lisp. It is
8068 the successor to the now-deprecated cl-async-future project.")
8069 (home-page "https://orthecreedence.github.io/blackbird/")
8070 (license license:expat))))
8071
8072 (define-public cl-blackbird
8073 (sbcl-package->cl-source-package sbcl-blackbird))
8074
8075 (define-public ecl-blackbird
8076 (sbcl-package->ecl-package sbcl-blackbird))
8077
8078 (define-public sbcl-cl-async-future
8079 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8080 (revision "1"))
8081 (package
8082 (name "sbcl-cl-async-future")
8083 (version (git-version "0.4.4.1" revision commit))
8084 (source
8085 (origin
8086 (method git-fetch)
8087 (uri (git-reference
8088 (url "https://github.com/orthecreedence/cl-async-future")
8089 (commit commit)))
8090 (file-name (git-file-name name version))
8091 (sha256
8092 (base32
8093 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8094 (build-system asdf-build-system/sbcl)
8095 (inputs
8096 `(("blackbird" ,sbcl-blackbird)))
8097 (native-inputs
8098 `(("cl-async" ,sbcl-cl-async)
8099 ("eos" ,sbcl-eos)))
8100 (synopsis "Futures implementation for Common Lisp")
8101 (description
8102 "This is futures implementation for Common Lisp. It plugs in nicely
8103 to cl-async.")
8104 (home-page "https://orthecreedence.github.io/cl-async/future")
8105 (license license:expat))))
8106
8107 (define-public cl-async-future
8108 (sbcl-package->cl-source-package sbcl-cl-async-future))
8109
8110 (define-public ecl-cl-async-future
8111 (sbcl-package->ecl-package sbcl-cl-async-future))
8112
8113 (define-public sbcl-green-threads
8114 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8115 (revision "1"))
8116 (package
8117 (name "sbcl-green-threads")
8118 (version (git-version "0.3" revision commit))
8119 (source
8120 (origin
8121 (method git-fetch)
8122 (uri (git-reference
8123 (url "https://github.com/thezerobit/green-threads")
8124 (commit commit)))
8125 (file-name (git-file-name name version))
8126 (sha256
8127 (base32
8128 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8129 (build-system asdf-build-system/sbcl)
8130 (inputs
8131 `(("cl-async-future" ,sbcl-cl-async-future)
8132 ("cl-cont" ,sbcl-cl-cont)))
8133 (native-inputs
8134 `(("prove" ,sbcl-prove)))
8135 (arguments
8136 `(;; TODO: Fix the tests. They fail with:
8137 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8138 #:tests? #f
8139 #:phases
8140 (modify-phases %standard-phases
8141 (add-after 'unpack 'fix-tests
8142 (lambda _
8143 (substitute* "green-threads-test.asd"
8144 (("cl-test-more")
8145 "prove"))
8146 #t)))))
8147 (synopsis "Cooperative multitasking library for Common Lisp")
8148 (description
8149 "This library allows for cooperative multitasking with help of cl-cont
8150 for continuations. It tries to mimic the API of bordeaux-threads as much as
8151 possible.")
8152 (home-page "https://github.com/thezerobit/green-threads")
8153 (license license:bsd-3))))
8154
8155 (define-public cl-green-threads
8156 (sbcl-package->cl-source-package sbcl-green-threads))
8157
8158 (define-public ecl-green-threads
8159 (sbcl-package->ecl-package sbcl-green-threads))
8160
8161 (define-public sbcl-cl-base32
8162 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8163 (revision "1"))
8164 (package
8165 (name "sbcl-cl-base32")
8166 (version (git-version "0.1" revision commit))
8167 (source
8168 (origin
8169 (method git-fetch)
8170 (uri (git-reference
8171 (url "https://github.com/hargettp/cl-base32")
8172 (commit commit)))
8173 (file-name (git-file-name name version))
8174 (sha256
8175 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8176 (build-system asdf-build-system/sbcl)
8177 (native-inputs
8178 `(("lisp-unit" ,sbcl-lisp-unit)))
8179 (synopsis "Common Lisp library for base32 encoding and decoding")
8180 (description
8181 "This package provides functions for base32 encoding and decoding as
8182 defined in RFC4648.")
8183 (home-page "https://github.com/hargettp/cl-base32")
8184 (license license:expat))))
8185
8186 (define-public cl-base32
8187 (sbcl-package->cl-source-package sbcl-cl-base32))
8188
8189 (define-public ecl-cl-base32
8190 (sbcl-package->ecl-package sbcl-cl-base32))
8191
8192 (define-public sbcl-cl-z85
8193 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8194 (revision "1"))
8195 (package
8196 (name "sbcl-cl-z85")
8197 (version (git-version "1.0" revision commit))
8198 (source
8199 (origin
8200 (method git-fetch)
8201 (uri (git-reference
8202 (url "https://github.com/glv2/cl-z85")
8203 (commit commit)))
8204 (file-name (git-file-name name version))
8205 (sha256
8206 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8207 (build-system asdf-build-system/sbcl)
8208 (native-inputs
8209 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8210 ("fiveam" ,sbcl-fiveam)))
8211 (synopsis "Common Lisp library for Z85 encoding and decoding")
8212 (description
8213 "This package provides functions to encode or decode byte vectors or
8214 byte streams using the Z85 format, which is a base-85 encoding used by
8215 ZeroMQ.")
8216 (home-page "https://github.com/glv2/cl-z85")
8217 (license license:gpl3+))))
8218
8219 (define-public cl-z85
8220 (sbcl-package->cl-source-package sbcl-cl-z85))
8221
8222 (define-public ecl-cl-z85
8223 (sbcl-package->ecl-package sbcl-cl-z85))
8224
8225 (define-public sbcl-ltk
8226 (package
8227 (name "sbcl-ltk")
8228 (version "0.992")
8229 (source
8230 (origin
8231 (method git-fetch)
8232 (uri (git-reference
8233 (url "https://github.com/herth/ltk")
8234 (commit version)))
8235 (file-name (git-file-name name version))
8236 (sha256
8237 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8238 (build-system asdf-build-system/sbcl)
8239 (inputs
8240 `(("imagemagick" ,imagemagick)
8241 ("tk" ,tk)))
8242 (arguments
8243 `(#:asd-systems '("ltk"
8244 "ltk-mw"
8245 "ltk-remote")
8246 #:tests? #f
8247 #:phases
8248 (modify-phases %standard-phases
8249 (add-after 'unpack 'fix-paths
8250 (lambda* (#:key inputs #:allow-other-keys)
8251 (substitute* "ltk/ltk.lisp"
8252 (("#-freebsd \"wish\"")
8253 (string-append "#-freebsd \""
8254 (assoc-ref inputs "tk")
8255 "/bin/wish\""))
8256 (("do-execute \"convert\"")
8257 (string-append "do-execute \""
8258 (assoc-ref inputs "imagemagick")
8259 "/bin/convert\"")))
8260 #t))
8261 (add-after 'unpack 'fix-build
8262 (lambda _
8263 (substitute* "ltk/ltk-remote.lisp"
8264 (("\\(:export")
8265 "(:shadow #:raise) (:export"))
8266 #t)))))
8267 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8268 (description
8269 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8270 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8271 (home-page "http://www.peter-herth.de/ltk/")
8272 (license license:llgpl)))
8273
8274 (define-public cl-ltk
8275 (sbcl-package->cl-source-package sbcl-ltk))
8276
8277 (define-public ecl-ltk
8278 (sbcl-package->ecl-package sbcl-ltk))
8279
8280 (define-public sbcl-cl-lex
8281 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8282 (revision "1"))
8283 (package
8284 (name "sbcl-cl-lex")
8285 (version (git-version "1.1.3" revision commit))
8286 (source
8287 (origin
8288 (method git-fetch)
8289 (uri (git-reference
8290 (url "https://github.com/djr7C4/cl-lex")
8291 (commit commit)))
8292 (file-name (git-file-name name version))
8293 (sha256
8294 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8295 (build-system asdf-build-system/sbcl)
8296 (inputs
8297 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8298 (synopsis "Common Lisp macros for generating lexical analyzers")
8299 (description
8300 "This is a Common Lisp library providing a set of macros for generating
8301 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8302 be used with @code{cl-yacc}.")
8303 (home-page "https://github.com/djr7C4/cl-lex")
8304 (license license:gpl3))))
8305
8306 (define-public cl-lex
8307 (sbcl-package->cl-source-package sbcl-cl-lex))
8308
8309 (define-public ecl-cl-lex
8310 (sbcl-package->ecl-package sbcl-cl-lex))
8311
8312 (define-public sbcl-clunit2
8313 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8314 (revision "1"))
8315 (package
8316 (name "sbcl-clunit2")
8317 (version (git-version "0.2.4" revision commit))
8318 (source
8319 (origin
8320 (method git-fetch)
8321 (uri (git-reference
8322 (url "https://notabug.org/cage/clunit2.git")
8323 (commit commit)))
8324 (file-name (git-file-name name version))
8325 (sha256
8326 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8327 (build-system asdf-build-system/sbcl)
8328 (synopsis "Unit testing framework for Common Lisp")
8329 (description
8330 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8331 easy to use so that you can quickly start testing.")
8332 (home-page "https://notabug.org/cage/clunit2")
8333 (license license:expat))))
8334
8335 (define-public cl-clunit2
8336 (sbcl-package->cl-source-package sbcl-clunit2))
8337
8338 (define-public ecl-clunit2
8339 (sbcl-package->ecl-package sbcl-clunit2))
8340
8341 (define-public sbcl-cl-colors2
8342 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8343 (revision "1"))
8344 (package
8345 (name "sbcl-cl-colors2")
8346 (version (git-version "0.2.1" revision commit))
8347 (source
8348 (origin
8349 (method git-fetch)
8350 (uri (git-reference
8351 (url "https://notabug.org/cage/cl-colors2.git")
8352 (commit commit)))
8353 (file-name (git-file-name name version))
8354 (sha256
8355 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8356 (build-system asdf-build-system/sbcl)
8357 (native-inputs
8358 `(("clunit2" ,sbcl-clunit2)))
8359 (inputs
8360 `(("alexandria" ,sbcl-alexandria)
8361 ("cl-ppcre" ,sbcl-cl-ppcre)))
8362 (synopsis "Color library for Common Lisp")
8363 (description
8364 "This is a very simple color library for Common Lisp, providing:
8365
8366 @itemize
8367 @item Types for representing colors in HSV and RGB spaces.
8368 @item Simple conversion functions between the above types (and also
8369 hexadecimal representation for RGB).
8370 @item Some predefined colors (currently X11 color names -- of course
8371 the library does not depend on X11).
8372 @end itemize\n")
8373 (home-page "https://notabug.org/cage/cl-colors2")
8374 (license license:boost1.0))))
8375
8376 (define-public cl-colors2
8377 (sbcl-package->cl-source-package sbcl-cl-colors2))
8378
8379 (define-public ecl-cl-colors2
8380 (sbcl-package->ecl-package sbcl-cl-colors2))
8381
8382 (define-public sbcl-cl-jpeg
8383 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8384 (revision "1"))
8385 (package
8386 (name "sbcl-cl-jpeg")
8387 (version (git-version "2.8" revision commit))
8388 (source
8389 (origin
8390 (method git-fetch)
8391 (uri (git-reference
8392 (url "https://github.com/sharplispers/cl-jpeg")
8393 (commit commit)))
8394 (file-name (git-file-name name version))
8395 (sha256
8396 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8397 (build-system asdf-build-system/sbcl)
8398 (synopsis "JPEG image library for Common Lisp")
8399 (description
8400 "This is a baseline JPEG codec written in Common Lisp. It can be used
8401 for reading and writing JPEG image files.")
8402 (home-page "https://github.com/sharplispers/cl-jpeg")
8403 (license license:bsd-3))))
8404
8405 (define-public cl-jpeg
8406 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8407
8408 (define-public ecl-cl-jpeg
8409 (sbcl-package->ecl-package sbcl-cl-jpeg))
8410
8411 (define-public sbcl-nodgui
8412 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8413 (revision "1"))
8414 (package
8415 (name "sbcl-nodgui")
8416 (version (git-version "0.0.5" revision commit))
8417 (source
8418 (origin
8419 (method git-fetch)
8420 (uri (git-reference
8421 (url "https://notabug.org/cage/nodgui.git")
8422 (commit commit)))
8423 (file-name (git-file-name name version))
8424 (sha256
8425 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8426 (build-system asdf-build-system/sbcl)
8427 (inputs
8428 `(("alexandria" ,sbcl-alexandria)
8429 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8430 ("cl-colors2" ,sbcl-cl-colors2)
8431 ("cl-jpeg" ,sbcl-cl-jpeg)
8432 ("cl-lex" ,sbcl-cl-lex)
8433 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8434 ("cl-unicode" ,sbcl-cl-unicode)
8435 ("cl-yacc" ,sbcl-cl-yacc)
8436 ("clunit2" ,sbcl-clunit2)
8437 ("named-readtables" ,sbcl-named-readtables)
8438 ("parse-number" ,sbcl-parse-number)
8439 ("tk" ,tk)))
8440 (arguments
8441 `(#:phases (modify-phases %standard-phases
8442 (add-after 'unpack 'fix-paths
8443 (lambda* (#:key inputs #:allow-other-keys)
8444 (substitute* "src/wish-communication.lisp"
8445 (("#-freebsd \"wish\"")
8446 (string-append "#-freebsd \""
8447 (assoc-ref inputs "tk")
8448 "/bin/wish\"")))
8449 #t)))))
8450 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8451 (description
8452 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8453 toolkit. It also provides a few additional widgets more than the standard Tk
8454 ones.")
8455 (home-page "https://www.autistici.org/interzona/nodgui.html")
8456 (license license:llgpl))))
8457
8458 (define-public cl-nodgui
8459 (sbcl-package->cl-source-package sbcl-nodgui))
8460
8461 (define-public ecl-nodgui
8462 (sbcl-package->ecl-package sbcl-nodgui))
8463
8464 (define-public sbcl-salza2
8465 (package
8466 (name "sbcl-salza2")
8467 (version "2.0.9")
8468 (source
8469 (origin
8470 (method git-fetch)
8471 (uri (git-reference
8472 (url "https://github.com/xach/salza2")
8473 (commit (string-append "release-" version))))
8474 (file-name (git-file-name name version))
8475 (sha256
8476 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8477 (build-system asdf-build-system/sbcl)
8478 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8479 (description
8480 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8481 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8482 respectively.")
8483 (home-page "https://www.xach.com/lisp/salza2/")
8484 (license license:bsd-2)))
8485
8486 (define-public cl-salza2
8487 (sbcl-package->cl-source-package sbcl-salza2))
8488
8489 (define-public ecl-salza2
8490 (sbcl-package->ecl-package sbcl-salza2))
8491
8492 (define-public sbcl-png-read
8493 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8494 (revision "1"))
8495 (package
8496 (name "sbcl-png-read")
8497 (version (git-version "0.3.1" revision commit))
8498 (source
8499 (origin
8500 (method git-fetch)
8501 (uri (git-reference
8502 (url "https://github.com/Ramarren/png-read")
8503 (commit commit)))
8504 (file-name (git-file-name name version))
8505 (sha256
8506 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8507 (build-system asdf-build-system/sbcl)
8508 (inputs
8509 `(("babel" ,sbcl-babel)
8510 ("chipz" ,sbcl-chipz)
8511 ("iterate" ,sbcl-iterate)))
8512 (synopsis "PNG decoder for Common Lisp")
8513 (description "This is a Common Lisp library for reading PNG images.")
8514 (home-page "https://github.com/Ramarren/png-read")
8515 (license license:bsd-3))))
8516
8517 (define-public cl-png-read
8518 (sbcl-package->cl-source-package sbcl-png-read))
8519
8520 (define-public ecl-png-read
8521 (sbcl-package->ecl-package sbcl-png-read))
8522
8523 (define-public sbcl-zpng
8524 (package
8525 (name "sbcl-zpng")
8526 (version "1.2.2")
8527 (source
8528 (origin
8529 (method git-fetch)
8530 (uri (git-reference
8531 (url "https://github.com/xach/zpng")
8532 (commit (string-append "release-" version))))
8533 (file-name (git-file-name name version))
8534 (sha256
8535 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8536 (build-system asdf-build-system/sbcl)
8537 (inputs
8538 `(("salza2" ,sbcl-salza2)))
8539 (synopsis "PNG encoder for Common Lisp")
8540 (description "This is a Common Lisp library for creating PNG images.")
8541 (home-page "https://www.xach.com/lisp/zpng/")
8542 (license license:bsd-2)))
8543
8544 (define-public cl-zpng
8545 (sbcl-package->cl-source-package sbcl-zpng))
8546
8547 (define-public ecl-zpng
8548 (sbcl-package->ecl-package sbcl-zpng))
8549
8550 (define-public sbcl-cl-qrencode
8551 (package
8552 (name "sbcl-cl-qrencode")
8553 (version "0.1.2")
8554 (source
8555 (origin
8556 (method git-fetch)
8557 (uri (git-reference
8558 (url "https://github.com/jnjcc/cl-qrencode")
8559 (commit (string-append "v" version))))
8560 (file-name (git-file-name name version))
8561 (sha256
8562 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8563 (build-system asdf-build-system/sbcl)
8564 (native-inputs
8565 `(("lisp-unit" ,sbcl-lisp-unit)))
8566 (inputs
8567 `(("zpng" ,sbcl-zpng)))
8568 (synopsis "QR code encoder for Common Lisp")
8569 (description
8570 "This Common Lisp library provides function to make QR codes and to save
8571 them as PNG files.")
8572 (home-page "https://github.com/jnjcc/cl-qrencode")
8573 (license license:gpl2+)))
8574
8575 (define-public cl-qrencode
8576 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8577
8578 (define-public ecl-cl-qrencode
8579 (sbcl-package->ecl-package sbcl-cl-qrencode))
8580
8581 (define-public sbcl-hdf5-cffi
8582 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8583 (revision "1"))
8584 (package
8585 (name "sbcl-hdf5-cffi")
8586 (version (git-version "1.8.18" revision commit))
8587 (source
8588 (origin
8589 (method git-fetch)
8590 (uri (git-reference
8591 (url "https://github.com/hdfgroup/hdf5-cffi")
8592 (commit commit)))
8593 (file-name (git-file-name name version))
8594 (sha256
8595 (base32
8596 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8597 (build-system asdf-build-system/sbcl)
8598 (synopsis "Common Lisp bindings for the HDF5 library")
8599 (description
8600 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8601 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8602 (license (license:non-copyleft
8603 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8604 commit
8605 "/LICENSE")))
8606 (inputs
8607 `(("cffi" ,sbcl-cffi)
8608 ("hdf5" ,hdf5-1.10)))
8609 (native-inputs
8610 `(("fiveam" ,sbcl-fiveam)))
8611 (arguments
8612 `(#:test-asd-file "hdf5-cffi.test.asd"
8613 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8614 ;; I don't know if there is a way to tell asdf-build-system to load
8615 ;; an additional system first, so tests are disabled.
8616 #:tests? #f
8617 #:phases
8618 (modify-phases %standard-phases
8619 (add-after 'unpack 'fix-paths
8620 (lambda* (#:key inputs #:allow-other-keys)
8621 (substitute* "src/library.lisp"
8622 (("libhdf5.so")
8623 (string-append
8624 (assoc-ref inputs "hdf5")
8625 "/lib/libhdf5.so")))))
8626 (add-after 'unpack 'fix-dependencies
8627 (lambda* (#:key inputs #:allow-other-keys)
8628 (substitute* "hdf5-cffi.asd"
8629 ((":depends-on \\(:cffi\\)")
8630 ":depends-on (:cffi :cffi-grovel)"))
8631 (substitute* "hdf5-cffi.test.asd"
8632 ((":depends-on \\(:cffi :hdf5-cffi")
8633 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8634
8635 (define-public cl-hdf5-cffi
8636 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8637
8638 (define-public ecl-hdf5-cffi
8639 (sbcl-package->ecl-package sbcl-hdf5-cffi))
8640
8641 (define-public sbcl-cl-randist
8642 (package
8643 (name "sbcl-cl-randist")
8644 (version "0.4.2")
8645 (source
8646 (origin
8647 (method git-fetch)
8648 (uri (git-reference
8649 (url "https://github.com/lvaruzza/cl-randist")
8650 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
8651 (file-name (git-file-name name version))
8652 (sha256
8653 (base32
8654 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
8655 (build-system asdf-build-system/sbcl)
8656 (synopsis "Random distributions for Common Lisp")
8657 (description
8658 "Manual translation from C to Common Lisp of some random number
8659 generation functions from the GSL library.")
8660 (home-page "https://github.com/lvaruzza/cl-randist")
8661 (license license:bsd-2)
8662 (arguments
8663 `(#:tests? #f))))
8664
8665 (define-public cl-randist
8666 (sbcl-package->cl-source-package sbcl-cl-randist))
8667
8668 (define-public ecl-cl-randist
8669 (sbcl-package->ecl-package sbcl-cl-randist))
8670
8671 (define-public sbcl-float-features
8672 (package
8673 (name "sbcl-float-features")
8674 (version "1.0.0")
8675 (source
8676 (origin
8677 (method git-fetch)
8678 (uri (git-reference
8679 (url "https://github.com/Shinmera/float-features")
8680 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
8681 (file-name (git-file-name name version))
8682 (sha256
8683 (base32
8684 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
8685 (build-system asdf-build-system/sbcl)
8686 (synopsis "Common Lisp IEEE float portability library")
8687 (description
8688 "Portability library for IEEE float features that are not
8689 covered by the Common Lisp standard.")
8690 (home-page "https://github.com/Shinmera/float-features")
8691 (license license:zlib)
8692 (inputs
8693 `(("documentation-utils" ,sbcl-documentation-utils)))
8694 (arguments
8695 `(#:tests? #f))))
8696
8697 (define-public cl-float-features
8698 (sbcl-package->cl-source-package sbcl-float-features))
8699
8700 (define-public ecl-float-features
8701 (sbcl-package->ecl-package sbcl-float-features))
8702
8703 (define-public sbcl-function-cache
8704 (package
8705 (name "sbcl-function-cache")
8706 (version "1.0.3")
8707 (source
8708 (origin
8709 (method git-fetch)
8710 (uri (git-reference
8711 (url "https://github.com/AccelerationNet/function-cache")
8712 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
8713 (file-name (git-file-name name version))
8714 (sha256
8715 (base32
8716 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
8717 (build-system asdf-build-system/sbcl)
8718 (synopsis "Function caching / memoization library for Common Lisp")
8719 (description
8720 "A common lisp library that provides extensible function result
8721 caching based on arguments (an expanded form of memoization).")
8722 (home-page "https://github.com/AccelerationNet/function-cache")
8723 (license
8724 (license:non-copyleft
8725 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
8726 (inputs
8727 `(("alexandria" ,sbcl-alexandria)
8728 ("cl-interpol" ,sbcl-cl-interpol)
8729 ("iterate" ,sbcl-iterate)
8730 ("symbol-munger" ,sbcl-symbol-munger)
8731 ("closer-mop" ,sbcl-closer-mop)))
8732 (arguments
8733 `(#:tests? #f))))
8734
8735 (define-public cl-function-cache
8736 (sbcl-package->cl-source-package sbcl-function-cache))
8737
8738 (define-public ecl-function-cache
8739 (sbcl-package->ecl-package sbcl-function-cache))
8740
8741 (define-public sbcl-type-r
8742 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
8743 (revision "1"))
8744 (package
8745 (name "sbcl-type-r")
8746 (version (git-version "0.0.0" revision commit))
8747 (source
8748 (origin
8749 (method git-fetch)
8750 (uri (git-reference
8751 (url "https://github.com/guicho271828/type-r")
8752 (commit commit)))
8753 (file-name (git-file-name name version))
8754 (sha256
8755 (base32
8756 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
8757 (build-system asdf-build-system/sbcl)
8758 (synopsis "Parser interface for Common Lisp built-in compound types")
8759 (description
8760 "Collections of accessor functions and patterns to access
8761 the elements in compound type specifier, e.g. @code{dimensions} in
8762 @code{(array element-type dimensions)}")
8763 (home-page "https://github.com/guicho271828/type-r")
8764 (license license:lgpl3+)
8765 (inputs
8766 `(("trivia" ,sbcl-trivia)
8767 ("alexandria" ,sbcl-alexandria)))
8768 (native-inputs
8769 `(("fiveam" ,sbcl-fiveam)))
8770 (arguments
8771 `(#:test-asd-file "type-r.test.asd")))))
8772
8773 (define-public cl-type-r
8774 (sbcl-package->cl-source-package sbcl-type-r))
8775
8776 (define-public ecl-type-r
8777 (sbcl-package->ecl-package sbcl-type-r))
8778
8779 (define-public sbcl-trivialib-type-unify
8780 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
8781 (revision "1"))
8782 (package
8783 (name "sbcl-trivialib-type-unify")
8784 (version (git-version "0.1" revision commit))
8785 (source
8786 (origin
8787 (method git-fetch)
8788 (uri (git-reference
8789 (url "https://github.com/guicho271828/trivialib.type-unify")
8790 (commit commit)))
8791 (file-name (git-file-name name version))
8792 (sha256
8793 (base32
8794 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
8795 (build-system asdf-build-system/sbcl)
8796 (synopsis "Common Lisp type unification")
8797 (description
8798 "Unifies a parametrized type specifier against an actual type specifier.
8799 Importantly, it handles complicated array-subtypes and number-related types
8800 correctly.")
8801 (home-page "https://github.com/guicho271828/trivialib.type-unify")
8802 (license license:lgpl3+)
8803 (inputs
8804 `(("alexandria" ,sbcl-alexandria)
8805 ("trivia" ,sbcl-trivia)
8806 ("introspect-environment" ,sbcl-introspect-environment)
8807 ("type-r" ,sbcl-type-r)))
8808 (native-inputs
8809 `(("fiveam" ,sbcl-fiveam)))
8810 (arguments
8811 `(#:asd-systems '("trivialib.type-unify")
8812 #:test-asd-file "trivialib.type-unify.test.asd")))))
8813
8814 (define-public cl-trivialib-type-unify
8815 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
8816
8817 (define-public ecl-trivialib-type-unify
8818 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
8819
8820 (define-public sbcl-specialized-function
8821 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
8822 (revision "2"))
8823 (package
8824 (name "sbcl-specialized-function")
8825 (version (git-version "0.0.0" revision commit))
8826 (source
8827 (origin
8828 (method git-fetch)
8829 (uri (git-reference
8830 (url "https://github.com/numcl/specialized-function")
8831 (commit commit)))
8832 (file-name (git-file-name name version))
8833 (sha256
8834 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
8835 (build-system asdf-build-system/sbcl)
8836 (synopsis "Julia-like dispatch for Common Lisp")
8837 (description
8838 "This library is part of NUMCL. It provides a macro
8839 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
8840 lazily compiling a type-specific version of the function from the same
8841 code. The main target of this macro is speed.")
8842 (home-page "https://github.com/numcl/specialized-function")
8843 (license license:lgpl3+)
8844 (inputs
8845 `(("trivia" ,sbcl-trivia)
8846 ("alexandria" ,sbcl-alexandria)
8847 ("iterate" ,sbcl-iterate)
8848 ("lisp-namespace" ,sbcl-lisp-namespace)
8849 ("type-r" ,sbcl-type-r)
8850 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
8851 (native-inputs
8852 `(("fiveam" ,sbcl-fiveam)))
8853 (arguments
8854 `(#:asd-files '("specialized-function.asd")
8855 #:test-asd-file "specialized-function.test.asd"
8856 ;; Tests fail because they try to use an internal symbol of SBCL
8857 ;; that does not exists in recent versions:
8858 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
8859 #:tests? #f)))))
8860
8861 (define-public cl-specialized-function
8862 (sbcl-package->cl-source-package sbcl-specialized-function))
8863
8864 (define-public ecl-specialized-function
8865 (sbcl-package->ecl-package sbcl-specialized-function))
8866
8867 (define-public sbcl-constantfold
8868 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
8869 (revision "1"))
8870 (package
8871 (name "sbcl-constantfold")
8872 (version (git-version "0.1" revision commit))
8873 (source
8874 (origin
8875 (method git-fetch)
8876 (uri (git-reference
8877 (url "https://github.com/numcl/constantfold")
8878 (commit commit)))
8879 (file-name (git-file-name name version))
8880 (sha256
8881 (base32
8882 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
8883 (build-system asdf-build-system/sbcl)
8884 (synopsis "Support library for numcl")
8885 (description
8886 "Support library for numcl. Registers a function as an
8887 additional form that is considered as a candidate for a constant.")
8888 (home-page "https://github.com/numcl/constantfold")
8889 (license license:lgpl3+)
8890 (inputs
8891 `(("trivia" ,sbcl-trivia)
8892 ("alexandria" ,sbcl-alexandria)
8893 ("iterate" ,sbcl-iterate)
8894 ("lisp-namespace" ,sbcl-lisp-namespace)))
8895 (native-inputs
8896 `(("fiveam" ,sbcl-fiveam)))
8897 (arguments
8898 `(#:asd-files '("constantfold.asd")
8899 #:test-asd-file "constantfold.test.asd")))))
8900
8901 (define-public cl-constantfold
8902 (sbcl-package->cl-source-package sbcl-constantfold))
8903
8904 (define-public ecl-constantfold
8905 (sbcl-package->ecl-package sbcl-constantfold))
8906
8907 (define-public sbcl-gtype
8908 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
8909 (revision "2"))
8910 (package
8911 (name "sbcl-gtype")
8912 (version (git-version "0.1" revision commit))
8913 (source
8914 (origin
8915 (method git-fetch)
8916 (uri (git-reference
8917 (url "https://github.com/numcl/gtype")
8918 (commit commit)))
8919 (file-name (git-file-name name version))
8920 (sha256
8921 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
8922 (build-system asdf-build-system/sbcl)
8923 (synopsis "C++/Julia-like parametric types in Common Lisp")
8924 (description
8925 "Support library for numcl that provides Julia-like runtime parametric
8926 type correctness in Common Lisp. It is based on CLtL2 extensions.")
8927 (home-page "https://github.com/numcl/gtype")
8928 (license license:lgpl3+)
8929 (inputs
8930 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
8931 ("trivial-cltl2" ,sbcl-trivial-cltl2)
8932 ("trivia" ,sbcl-trivia)
8933 ("alexandria" ,sbcl-alexandria)
8934 ("iterate" ,sbcl-iterate)
8935 ("type-r" ,sbcl-type-r)))
8936 (native-inputs
8937 `(("fiveam" ,sbcl-fiveam)))
8938 (arguments
8939 `(#:asd-files '("gtype.asd")
8940 #:test-asd-file "gtype.test.asd")))))
8941
8942 (define-public cl-gtype
8943 (sbcl-package->cl-source-package sbcl-gtype))
8944
8945 (define-public ecl-gtype
8946 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
8947 (package
8948 (inherit pkg)
8949 (arguments
8950 (substitute-keyword-arguments (package-arguments pkg)
8951 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
8952 ((#:tests? _ #f) #f))))))
8953
8954 (define-public sbcl-numcl
8955 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
8956 (revision "2"))
8957 (package
8958 (name "sbcl-numcl")
8959 (version (git-version "0.1.0" revision commit))
8960 (source
8961 (origin
8962 (method git-fetch)
8963 (uri (git-reference
8964 (url "https://github.com/numcl/numcl")
8965 (commit commit)))
8966 (file-name (git-file-name name version))
8967 (sha256
8968 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
8969 (build-system asdf-build-system/sbcl)
8970 (synopsis "Numpy clone in Common Lisp")
8971 (description
8972 "This is a Numpy clone in Common Lisp. At the moment the
8973 library is written in pure Common Lisp, focusing more on correctness
8974 and usefulness, not speed. Track the progress at
8975 @url{https://github.com/numcl/numcl/projects/1}.")
8976 (home-page "https://github.com/numcl/numcl")
8977 (license license:lgpl3+)
8978 (inputs
8979 `(("trivia" ,sbcl-trivia)
8980 ("alexandria" ,sbcl-alexandria)
8981 ("iterate" ,sbcl-iterate)
8982 ("lisp-namespace" ,sbcl-lisp-namespace)
8983 ("type-r" ,sbcl-type-r)
8984 ("constantfold" ,sbcl-constantfold)
8985 ("cl-randist" ,sbcl-cl-randist)
8986 ("float-features" ,sbcl-float-features)
8987 ("function-cache" ,sbcl-function-cache)
8988 ("specialized-function" ,sbcl-specialized-function)
8989 ("gtype" ,sbcl-gtype)))
8990 (native-inputs
8991 `(("fiveam" ,sbcl-fiveam)))
8992 (arguments
8993 `(#:asd-files '("numcl.asd")
8994 #:test-asd-file "numcl.test.asd"
8995 ;; Tests fail on SBCL with "Heap exhausted, game over",
8996 ;; but they pass on ECL.
8997 #:tests? #f)))))
8998
8999 (define-public cl-numcl
9000 (sbcl-package->cl-source-package sbcl-numcl))
9001
9002 (define-public ecl-numcl
9003 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9004 (package
9005 (inherit pkg)
9006 (arguments
9007 (substitute-keyword-arguments (package-arguments pkg)
9008 ((#:tests? _ #f) #t))))))
9009
9010 (define-public sbcl-pzmq
9011 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9012 (revision "1"))
9013 (package
9014 (name "sbcl-pzmq")
9015 (version (git-version "0.0.0" revision commit))
9016 (source
9017 (origin
9018 (method git-fetch)
9019 (uri (git-reference
9020 (url "https://github.com/orivej/pzmq")
9021 (commit commit)))
9022 (file-name (git-file-name name version))
9023 (sha256
9024 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9025 (build-system asdf-build-system/sbcl)
9026 (native-inputs
9027 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9028 ("fiveam" ,sbcl-fiveam)
9029 ("let-plus" ,sbcl-let-plus)))
9030 (inputs
9031 `(("cffi" ,sbcl-cffi)
9032 ("zeromq" ,zeromq)))
9033 (arguments
9034 `(#:phases (modify-phases %standard-phases
9035 (add-after 'unpack 'fix-paths
9036 (lambda* (#:key inputs #:allow-other-keys)
9037 (substitute* "c-api.lisp"
9038 (("\"libzmq")
9039 (string-append "\""
9040 (assoc-ref inputs "zeromq")
9041 "/lib/libzmq")))
9042 #t)))))
9043 (synopsis "Common Lisp bindings for the ZeroMQ library")
9044 (description "This Common Lisp library provides bindings for the ZeroMQ
9045 lightweight messaging kernel.")
9046 (home-page "https://github.com/orivej/pzmq")
9047 (license license:unlicense))))
9048
9049 (define-public cl-pzmq
9050 (sbcl-package->cl-source-package sbcl-pzmq))
9051
9052 (define-public ecl-pzmq
9053 (sbcl-package->ecl-package sbcl-pzmq))
9054
9055 (define-public sbcl-clss
9056 (let ((revision "1")
9057 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9058 (package
9059 (name "sbcl-clss")
9060 (version (git-version "0.3.1" revision commit))
9061 (source
9062 (origin
9063 (method git-fetch)
9064 (uri
9065 (git-reference
9066 (url "https://github.com/Shinmera/clss")
9067 (commit commit)))
9068 (sha256
9069 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9070 (file-name (git-file-name name version))))
9071 (inputs
9072 `(("array-utils" ,sbcl-array-utils)
9073 ("plump" ,sbcl-plump)))
9074 (build-system asdf-build-system/sbcl)
9075 (synopsis "DOM tree searching engine based on CSS selectors")
9076 (description "CLSS is a DOM traversal engine based on CSS
9077 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9078 (home-page "https://github.com/Shinmera/clss")
9079 (license license:zlib))))
9080
9081 (define-public cl-clss
9082 (sbcl-package->cl-source-package sbcl-clss))
9083
9084 (define-public ecl-clss
9085 (sbcl-package->ecl-package sbcl-clss))
9086
9087 (define-public sbcl-lquery
9088 (let ((revision "1")
9089 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9090 (package
9091 (name "sbcl-lquery")
9092 (version (git-version "3.2.1" revision commit))
9093 (source
9094 (origin
9095 (method git-fetch)
9096 (uri
9097 (git-reference
9098 (url "https://github.com/Shinmera/lquery")
9099 (commit commit)))
9100 (sha256
9101 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9102 (file-name (git-file-name name version))))
9103 (native-inputs
9104 `(("fiveam" ,sbcl-fiveam)))
9105 (inputs
9106 `(("array-utils" ,sbcl-array-utils)
9107 ("form-fiddle" ,sbcl-form-fiddle)
9108 ("plump" ,sbcl-plump)
9109 ("clss" ,sbcl-clss)))
9110 (build-system asdf-build-system/sbcl)
9111 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9112 (description "@code{lQuery} is a DOM manipulation library written in
9113 Common Lisp, inspired by and based on the jQuery syntax and
9114 functions. It uses Plump and CLSS as DOM and selector engines. The
9115 main idea behind lQuery is to provide a simple interface for crawling
9116 and modifying HTML sites, as well as to allow for an alternative
9117 approach to templating.")
9118 (home-page "https://github.com/Shinmera/lquery")
9119 (license license:zlib))))
9120
9121 (define-public cl-lquery
9122 (sbcl-package->cl-source-package sbcl-lquery))
9123
9124 (define-public ecl-lquery
9125 (sbcl-package->ecl-package sbcl-lquery))
9126
9127 (define-public sbcl-cl-mysql
9128 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9129 (revision "1"))
9130 (package
9131 (name "sbcl-cl-mysql")
9132 (version (git-version "0.1" revision commit))
9133 (source
9134 (origin
9135 (method git-fetch)
9136 (uri (git-reference
9137 (url "https://github.com/hackinghat/cl-mysql")
9138 (commit commit)))
9139 (file-name (git-file-name name version))
9140 (sha256
9141 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9142 (build-system asdf-build-system/sbcl)
9143 (native-inputs
9144 `(("stefil" ,sbcl-stefil)))
9145 (inputs
9146 `(("cffi" ,sbcl-cffi)
9147 ("mariadb-lib" ,mariadb "lib")))
9148 (arguments
9149 `(#:tests? #f ; TODO: Tests require a running server
9150 #:phases
9151 (modify-phases %standard-phases
9152 (add-after 'unpack 'fix-paths
9153 (lambda* (#:key inputs #:allow-other-keys)
9154 (substitute* "system.lisp"
9155 (("libmysqlclient_r" all)
9156 (string-append (assoc-ref inputs "mariadb-lib")
9157 "/lib/"
9158 all)))
9159 #t)))))
9160 (synopsis "Common Lisp wrapper for MySQL")
9161 (description
9162 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9163 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9164 (license license:expat))))
9165
9166 (define-public cl-mysql
9167 (sbcl-package->cl-source-package sbcl-cl-mysql))
9168
9169 (define-public ecl-cl-mysql
9170 (sbcl-package->ecl-package sbcl-cl-mysql))
9171
9172 (define-public sbcl-postmodern
9173 (package
9174 (name "sbcl-postmodern")
9175 (version "1.32.6")
9176 (source
9177 (origin
9178 (method git-fetch)
9179 (uri (git-reference
9180 (url "https://github.com/marijnh/Postmodern")
9181 (commit (string-append "v" version))))
9182 (file-name (git-file-name name version))
9183 (sha256
9184 (base32 "0bfx0hcb9wv47qd334xs0fpmisl75dpvasq1zai210s5wqg0km6d"))))
9185 (build-system asdf-build-system/sbcl)
9186 (native-inputs
9187 `(("fiveam" ,sbcl-fiveam)))
9188 (inputs
9189 `(("alexandria" ,sbcl-alexandria)
9190 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9191 ("cl-base64" ,sbcl-cl-base64)
9192 ("cl-unicode" ,sbcl-cl-unicode)
9193 ("closer-mop" ,sbcl-closer-mop)
9194 ("global-vars" ,sbcl-global-vars)
9195 ("ironclad" ,sbcl-ironclad)
9196 ("local-time" ,sbcl-local-time)
9197 ("md5" ,sbcl-md5)
9198 ("split-sequence" ,sbcl-split-sequence)
9199 ("uax-15" ,sbcl-uax-15)
9200 ("usocket" ,sbcl-usocket)))
9201 (arguments
9202 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9203 ;; step, some functionality in `local-time' prevents passing tests.
9204 ;; Error:
9205 ;;
9206 ;; Can't create directory
9207 ;; /gnu/store
9208 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9209 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9210 ;;
9211 `(#:tests? #f
9212 #:asd-systems '("cl-postgres"
9213 "s-sql"
9214 "postmodern"
9215 "simple-date"
9216 "simple-date/postgres-glue")))
9217 (synopsis "Common Lisp library for interacting with PostgreSQL")
9218 (description
9219 "@code{postmodern} is a Common Lisp library for interacting with
9220 PostgreSQL databases. It provides the following features:
9221
9222 @itemize
9223 @item Efficient communication with the database server without need for
9224 foreign libraries.
9225 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9226 @item A syntax for mixing SQL and Lisp code.
9227 @item Convenient support for prepared statements and stored procedures.
9228 @item A metaclass for simple database-access objects.
9229 @end itemize\n
9230
9231 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9232
9233 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9234 to support storing and retrieving time-related SQL types. It is not loaded by
9235 default and you can use local-time (which has support for timezones) instead.
9236
9237 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9238 any Lisp values inside, and doing as much as possible of the work at compile
9239 time.
9240
9241 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9242 server over a socket.
9243
9244 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9245 level functions, a very simple data access object that can be mapped directly to
9246 database tables and some convient utilities. It then tries to put all these
9247 things together into a convenient programming interface")
9248 (home-page "https://marijnhaverbeke.nl/postmodern/")
9249 (license license:zlib)))
9250
9251 (define-public cl-postmodern
9252 (sbcl-package->cl-source-package sbcl-postmodern))
9253
9254 (define-public ecl-postmodern
9255 (package
9256 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9257 (arguments
9258 `(#:tests? #f
9259 #:asd-systems '("cl-postgres"
9260 "s-sql"
9261 "postmodern"
9262 "simple-date"
9263 "simple-date/postgres-glue")
9264 #:phases
9265 (modify-phases %standard-phases
9266 (add-after 'unpack 'fix-build
9267 (lambda _
9268 (substitute* "cl-postgres.asd"
9269 ((":or :sbcl :allegro :ccl :clisp" all)
9270 (string-append all " :ecl")))
9271 #t)))))))
9272
9273 (define-public sbcl-db3
9274 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9275 (revision "1"))
9276 (package
9277 (name "sbcl-db3")
9278 (version (git-version "0.0.0" revision commit))
9279 (source
9280 (origin
9281 (method git-fetch)
9282 (uri (git-reference
9283 (url "https://github.com/dimitri/cl-db3")
9284 (commit commit)))
9285 (file-name (git-file-name "cl-db3" version))
9286 (sha256
9287 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9288 (build-system asdf-build-system/sbcl)
9289 (home-page "https://github.com/dimitri/cl-db3")
9290 (synopsis "Common Lisp library to read dBase III database files")
9291 (description
9292 "This is a Common Lisp library for processing data found in dBase III
9293 database files (dbf and db3 files).")
9294 (license license:public-domain))))
9295
9296 (define-public ecl-db3
9297 (sbcl-package->ecl-package sbcl-db3))
9298
9299 (define-public cl-db3
9300 (sbcl-package->cl-source-package sbcl-db3))
9301
9302 (define-public sbcl-dbi
9303 ;; Master includes a breaking change which other packages depend on since
9304 ;; Quicklisp decided to follow it:
9305 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9306 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9307 (package
9308 (name "sbcl-dbi")
9309 (version (git-version "0.9.4" "1" commit))
9310 (source
9311 (origin
9312 (method git-fetch)
9313 (uri (git-reference
9314 (url "https://github.com/fukamachi/cl-dbi")
9315 (commit commit)))
9316 (file-name (git-file-name name version))
9317 (sha256
9318 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9319 (build-system asdf-build-system/sbcl)
9320 (native-inputs
9321 `(("rove" ,sbcl-rove)
9322 ("trivial-types" ,sbcl-trivial-types)))
9323 (inputs
9324 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9325 ("cl-mysql" ,sbcl-cl-mysql)
9326 ("cl-sqlite" ,sbcl-cl-sqlite)
9327 ("closer-mop" ,sbcl-closer-mop)
9328 ("postmodern" ,sbcl-postmodern)
9329 ("split-sequence" ,sbcl-split-sequence)
9330 ("trivial-garbage" ,sbcl-trivial-garbage)))
9331 (arguments
9332 `(#:asd-systems '("dbi"
9333 "dbd-mysql"
9334 "dbd-postgres"
9335 "dbd-sqlite3")))
9336 (synopsis "Database independent interface for Common Lisp")
9337 (description
9338 "@code{dbi} is a Common Lisp library providing a database independent
9339 interface for MySQL, PostgreSQL and SQLite.")
9340 (home-page "https://github.com/fukamachi/cl-dbi")
9341 (license license:llgpl))))
9342
9343 (define-public cl-dbi
9344 (sbcl-package->cl-source-package sbcl-dbi))
9345
9346 (define-public ecl-dbi
9347 (sbcl-package->ecl-package sbcl-dbi))
9348
9349 (define-public sbcl-uffi
9350 (package
9351 (name "sbcl-uffi")
9352 (version "2.1.2")
9353 (source
9354 (origin
9355 (method git-fetch)
9356 (uri (git-reference
9357 (url "http://git.kpe.io/uffi.git")
9358 (commit (string-append "v" version))))
9359 (file-name (git-file-name name version))
9360 (sha256
9361 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9362 (build-system asdf-build-system/sbcl)
9363 (arguments
9364 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9365 #:asd-files '("uffi.asd")
9366 #:phases
9367 (modify-phases %standard-phases
9368 (add-after 'unpack 'fix-permissions
9369 (lambda _
9370 (make-file-writable "doc/html.tar.gz")
9371 #t)))))
9372 (synopsis "Universal foreign function library for Common Lisp")
9373 (description
9374 "UFFI provides a universal foreign function interface (FFI)
9375 for Common Lisp.")
9376 (home-page "http://quickdocs.org/uffi/")
9377 (license license:llgpl)))
9378
9379 (define-public cl-uffi
9380 (package
9381 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9382 (arguments
9383 `(#:phases
9384 ;; asdf-build-system/source has its own phases and does not inherit
9385 ;; from asdf-build-system/sbcl phases.
9386 (modify-phases %standard-phases/source
9387 ;; Already done in SBCL package.
9388 (delete 'reset-gzip-timestamps))))))
9389
9390 (define-public sbcl-clsql
9391 (package
9392 (name "sbcl-clsql")
9393 (version "6.7.0")
9394 (source
9395 (origin
9396 (method git-fetch)
9397 (uri (git-reference
9398 (url "http://git.kpe.io/clsql.git")
9399 (commit (string-append "v" version))))
9400 (file-name (git-file-name name version))
9401 (sha256
9402 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9403 (snippet
9404 '(begin
9405 ;; Remove precompiled libraries.
9406 (delete-file "db-mysql/clsql_mysql.dll")
9407 (delete-file "uffi/clsql_uffi.dll")
9408 (delete-file "uffi/clsql_uffi.lib")
9409 #t))))
9410 (build-system asdf-build-system/sbcl)
9411 (native-inputs
9412 `(("rt" ,sbcl-rt)))
9413 (inputs
9414 `(("cffi" ,sbcl-cffi)
9415 ("md5" ,sbcl-md5)
9416 ("mysql" ,mysql)
9417 ("postgresql" ,postgresql)
9418 ("postmodern" ,sbcl-postmodern)
9419 ("sqlite" ,sqlite)
9420 ("uffi" ,sbcl-uffi)
9421 ("zlib" ,zlib)))
9422 (arguments
9423 `(#:asd-files '("clsql.asd"
9424 "clsql-uffi.asd"
9425 "clsql-sqlite3.asd"
9426 "clsql-postgresql.asd"
9427 "clsql-postgresql-socket3.asd"
9428 "clsql-mysql.asd")
9429 #:asd-systems '("clsql"
9430 "clsql-sqlite3"
9431 "clsql-postgresql"
9432 "clsql-postgresql-socket3"
9433 "clsql-mysql")
9434 #:phases
9435 (modify-phases %standard-phases
9436 (add-after 'unpack 'fix-permissions
9437 (lambda _
9438 (make-file-writable "doc/html.tar.gz")
9439 #t))
9440 (add-after 'unpack 'fix-build
9441 (lambda _
9442 (substitute* "clsql-uffi.asd"
9443 (("\\(:version uffi \"2.0\"\\)")
9444 "uffi"))
9445 (substitute* "db-postgresql/postgresql-api.lisp"
9446 (("\\(data :cstring\\)")
9447 "(data :string)"))
9448 #t))
9449 (add-after 'unpack 'fix-paths
9450 (lambda* (#:key inputs outputs #:allow-other-keys)
9451 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9452 (("libsqlite3")
9453 (string-append (assoc-ref inputs "sqlite")
9454 "/lib/libsqlite3")))
9455 (substitute* "db-postgresql/postgresql-loader.lisp"
9456 (("libpq")
9457 (string-append (assoc-ref inputs "postgresql")
9458 "/lib/libpq")))
9459 (let ((lib (string-append "#p\""
9460 (assoc-ref outputs "out")
9461 "/lib/\"")))
9462 (substitute* "clsql-mysql.asd"
9463 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9464 lib))
9465 (substitute* "db-mysql/mysql-loader.lisp"
9466 (("libmysqlclient" all)
9467 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9468 (("clsql-mysql-system::\\*library-file-dir\\*")
9469 lib)))
9470 #t))
9471 (add-before 'build 'build-helper-library
9472 (lambda* (#:key inputs outputs #:allow-other-keys)
9473 (let* ((mysql (assoc-ref inputs "mysql"))
9474 (inc-dir (string-append mysql "/include/mysql"))
9475 (lib-dir (string-append mysql "/lib"))
9476 (shared-lib-dir (string-append (assoc-ref outputs "out")
9477 "/lib"))
9478 (shared-lib (string-append shared-lib-dir
9479 "/clsql_mysql.so")))
9480 (mkdir-p shared-lib-dir)
9481 (invoke "gcc" "-fPIC" "-shared"
9482 "-I" inc-dir
9483 "db-mysql/clsql_mysql.c"
9484 "-Wl,-soname=clsql_mysql"
9485 "-L" lib-dir "-lmysqlclient" "-lz"
9486 "-o" shared-lib)
9487 #t)))
9488 (add-after 'unpack 'fix-tests
9489 (lambda _
9490 (substitute* "clsql.asd"
9491 (("clsql-tests :force t")
9492 "clsql-tests"))
9493 #t)))))
9494 (synopsis "Common Lisp SQL Interface library")
9495 (description
9496 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9497 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9498 interfaces as well as a functional and an object oriented interface.")
9499 (home-page "http://clsql.kpe.io/")
9500 (license license:llgpl)))
9501
9502 (define-public cl-clsql
9503 (package
9504 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9505 (native-inputs
9506 `(("rt" ,cl-rt)))
9507 (inputs
9508 `(("mysql" ,mysql)
9509 ("postgresql" ,postgresql)
9510 ("sqlite" ,sqlite)
9511 ("zlib" ,zlib)))
9512 (propagated-inputs
9513 `(("cffi" ,cl-cffi)
9514 ("md5" ,cl-md5)
9515 ("postmodern" ,cl-postmodern)
9516 ("uffi" ,cl-uffi)))
9517 (arguments
9518 `(#:phases
9519 ;; asdf-build-system/source has its own phases and does not inherit
9520 ;; from asdf-build-system/sbcl phases.
9521 (modify-phases %standard-phases/source
9522 (add-after 'unpack 'fix-permissions
9523 (lambda _
9524 (make-file-writable "doc/html.tar.gz")
9525 #t)))))))
9526
9527 (define-public ecl-clsql
9528 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9529 (package
9530 (inherit pkg)
9531 (inputs
9532 (alist-delete "uffi" (package-inputs pkg)))
9533 (arguments
9534 (substitute-keyword-arguments (package-arguments pkg)
9535 ((#:asd-files asd-files '())
9536 `(cons "clsql-cffi.asd" ,asd-files)))))))
9537
9538 (define-public sbcl-sycamore
9539 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9540 (package
9541 (name "sbcl-sycamore")
9542 (version "0.0.20120604")
9543 (source
9544 (origin
9545 (method git-fetch)
9546 (uri (git-reference
9547 (url "https://github.com/ndantam/sycamore/")
9548 (commit commit)))
9549 (file-name (git-file-name name version))
9550 (sha256
9551 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9552 (build-system asdf-build-system/sbcl)
9553 (inputs
9554 `(("alexandria" ,sbcl-alexandria)
9555 ("cl-ppcre" ,sbcl-cl-ppcre)))
9556 (synopsis "Purely functional data structure library in Common Lisp")
9557 (description
9558 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9559 If features:
9560
9561 @itemize
9562 @item Fast, purely functional weight-balanced binary trees.
9563 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9564 @item Interfaces for tree Sets and Maps (dictionaries).
9565 @item Ropes.
9566 @item Purely functional pairing heaps.
9567 @item Purely functional amortized queue.
9568 @end itemize\n")
9569 (home-page "http://ndantam.github.io/sycamore/")
9570 (license license:bsd-3))))
9571
9572 (define-public cl-sycamore
9573 (sbcl-package->cl-source-package sbcl-sycamore))
9574
9575 (define-public ecl-sycamore
9576 (sbcl-package->ecl-package sbcl-sycamore))
9577
9578 (define-public sbcl-trivial-package-local-nicknames
9579 (package
9580 (name "sbcl-trivial-package-local-nicknames")
9581 (version "0.2")
9582 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9583 (source
9584 (origin
9585 (method git-fetch)
9586 (uri (git-reference
9587 (url home-page)
9588 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9589 (file-name (git-file-name name version))
9590 (sha256
9591 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9592 (build-system asdf-build-system/sbcl)
9593 (synopsis "Common Lisp compatibility library for package local nicknames")
9594 (description
9595 "This library is a portable compatibility layer around package local nicknames (PLN).
9596 This was done so there is a portability library for the PLN API not included
9597 in DEFPACKAGE.")
9598 (license license:unlicense)))
9599
9600 (define-public cl-trivial-package-local-nicknames
9601 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
9602
9603 (define-public ecl-trivial-package-local-nicknames
9604 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9605
9606 (define-public sbcl-enchant
9607 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9608 (package
9609 (name "sbcl-enchant")
9610 (version (git-version "0.0.0" "1" commit))
9611 (home-page "https://github.com/tlikonen/cl-enchant")
9612 (source
9613 (origin
9614 (method git-fetch)
9615 (uri (git-reference
9616 (url home-page)
9617 (commit commit)))
9618 (file-name (git-file-name name version))
9619 (sha256
9620 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9621 (build-system asdf-build-system/sbcl)
9622 (inputs
9623 `(("enchant" ,enchant)
9624 ("cffi" ,sbcl-cffi)))
9625 (arguments
9626 `(#:phases
9627 (modify-phases %standard-phases
9628 (add-after 'unpack 'fix-paths
9629 (lambda* (#:key inputs #:allow-other-keys)
9630 (substitute* "load-enchant.lisp"
9631 (("libenchant")
9632 (string-append
9633 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9634 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9635 (description
9636 "Enchant is a Common Lisp interface for the Enchant spell-checker
9637 library. The Enchant library is a generic spell-checker library which uses
9638 other spell-checkers transparently as back-end. The library supports the
9639 multiple checkers, including Aspell and Hunspell.")
9640 (license license:public-domain))))
9641
9642 (define-public cl-enchant
9643 (sbcl-package->cl-source-package sbcl-enchant))
9644
9645 (define-public ecl-enchant
9646 (sbcl-package->ecl-package sbcl-enchant))
9647
9648 (define-public sbcl-cl-change-case
9649 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
9650 (package
9651 (name "sbcl-cl-change-case")
9652 (version (git-version "0.1.0" "1" commit))
9653 (home-page "https://github.com/rudolfochrist/cl-change-case")
9654 (source
9655 (origin
9656 (method git-fetch)
9657 (uri (git-reference
9658 (url home-page)
9659 (commit commit)))
9660 (file-name (git-file-name name version))
9661 (sha256
9662 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
9663 (build-system asdf-build-system/sbcl)
9664 (inputs
9665 `(("cl-ppcre" ,sbcl-cl-ppcre)
9666 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
9667 (native-inputs
9668 `(("fiveam" ,sbcl-fiveam)))
9669 (arguments
9670 '(;; FIXME: Test pass but phase fails with 'Component
9671 ;; "cl-change-case-test" not found, required by'.
9672 #:tests? #f
9673 #:test-asd-file "cl-change-case-test.asd"))
9674 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
9675 (description
9676 "@code{cl-change-case} is library to convert strings between camelCase,
9677 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
9678 (license license:llgpl))))
9679
9680 (define-public cl-change-case
9681 (sbcl-package->cl-source-package sbcl-cl-change-case))
9682
9683 (define-public ecl-cl-change-case
9684 (sbcl-package->ecl-package sbcl-cl-change-case))
9685
9686 (define-public sbcl-moptilities
9687 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
9688 (package
9689 (name "sbcl-moptilities")
9690 (version (git-version "0.3.13" "1" commit))
9691 (home-page "https://github.com/gwkkwg/moptilities/")
9692 (source
9693 (origin
9694 (method git-fetch)
9695 (uri (git-reference
9696 (url home-page)
9697 (commit commit)))
9698 (file-name (git-file-name name version))
9699 (sha256
9700 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
9701 (build-system asdf-build-system/sbcl)
9702 (inputs
9703 `(("closer-mop" ,sbcl-closer-mop)))
9704 (native-inputs
9705 `(("lift" ,sbcl-lift)))
9706 (arguments
9707 `(#:phases
9708 (modify-phases %standard-phases
9709 (add-after 'unpack 'fix-tests
9710 (lambda _
9711 (substitute* "lift-standard.config"
9712 ((":relative-to lift-test")
9713 ":relative-to moptilities-test"))
9714 #t)))))
9715 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
9716 (description
9717 "MOP utilities provide a common interface between Lisps and make the
9718 MOP easier to use.")
9719 (license license:expat))))
9720
9721 (define-public cl-moptilities
9722 (sbcl-package->cl-source-package sbcl-moptilities))
9723
9724 (define-public sbcl-osicat
9725 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
9726 (package
9727 (name "sbcl-osicat")
9728 (version (git-version "0.7.0" "1" commit))
9729 (home-page "http://www.common-lisp.net/project/osicat/")
9730 (source
9731 (origin
9732 (method git-fetch)
9733 (uri (git-reference
9734 (url "https://github.com/osicat/osicat")
9735 (commit commit)))
9736 (file-name (git-file-name name version))
9737 (sha256
9738 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
9739 (build-system asdf-build-system/sbcl)
9740 (inputs
9741 `(("alexandria" ,sbcl-alexandria)
9742 ("cffi" ,sbcl-cffi)
9743 ("trivial-features" ,sbcl-trivial-features)))
9744 (native-inputs
9745 `(("rt" ,sbcl-rt)))
9746 (synopsis "Operating system interface for Common Lisp")
9747 (description
9748 "Osicat is a lightweight operating system interface for Common Lisp on
9749 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
9750 accompaniment to the standard ANSI facilities.")
9751 (license license:expat))))
9752
9753 (define-public cl-osicat
9754 (sbcl-package->cl-source-package sbcl-osicat))
9755
9756 (define-public ecl-osicat
9757 (sbcl-package->ecl-package sbcl-osicat))
9758
9759 (define-public sbcl-clx-xembed
9760 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
9761 (revision "1"))
9762 (package
9763 (name "sbcl-clx-xembed")
9764 (version (git-version "0.1" revision commit))
9765 (home-page "https://github.com/laynor/clx-xembed")
9766 (source
9767 (origin
9768 (method git-fetch)
9769 (uri (git-reference
9770 (url "https://github.com/laynor/clx-xembed")
9771 (commit commit)))
9772 (file-name (git-file-name name version))
9773 (sha256
9774 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
9775 (build-system asdf-build-system/sbcl)
9776 (arguments
9777 `(#:asd-systems '("xembed")))
9778 (inputs
9779 `(("sbcl-clx" ,sbcl-clx)))
9780 (synopsis "CL(x) xembed protocol implementation ")
9781 (description "CL(x) xembed protocol implementation")
9782 ;; MIT License
9783 (license license:expat))))
9784
9785 (define-public cl-clx-xembed
9786 (sbcl-package->cl-source-package sbcl-clx-xembed))
9787
9788 (define-public ecl-clx-xembed
9789 (sbcl-package->ecl-package sbcl-clx-xembed))
9790
9791 (define-public sbcl-quantile-estimator
9792 (package
9793 (name "sbcl-quantile-estimator")
9794 (version "0.0.1")
9795 (source
9796 (origin
9797 (method git-fetch)
9798 (uri (git-reference
9799 (url "https://github.com/deadtrickster/quantile-estimator.cl")
9800 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
9801 (file-name (git-file-name name version))
9802 (sha256
9803 (base32
9804 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
9805 (build-system asdf-build-system/sbcl)
9806 (arguments
9807 '(#:asd-files '("quantile-estimator.asd")))
9808 (inputs
9809 `(("alexandria" ,sbcl-alexandria)))
9810 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
9811 (synopsis
9812 "Effective computation of biased quantiles over data streams")
9813 (description
9814 "Common Lisp implementation of Graham Cormode and S.
9815 Muthukrishnan's Effective Computation of Biased Quantiles over Data
9816 Streams in ICDE’05.")
9817 (license license:expat)))
9818
9819 (define-public cl-quantile-estimator
9820 (sbcl-package->cl-source-package sbcl-quantile-estimator))
9821
9822 (define-public ecl-quantile-estimator
9823 (sbcl-package->ecl-package sbcl-quantile-estimator))
9824
9825 (define-public sbcl-prometheus
9826 (package
9827 (name "sbcl-prometheus")
9828 (version "0.4.1")
9829 (source
9830 (origin
9831 (method git-fetch)
9832 (uri (git-reference
9833 (url "https://github.com/deadtrickster/prometheus.cl")
9834 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
9835 (file-name (git-file-name name version))
9836 (sha256
9837 (base32
9838 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
9839 (build-system asdf-build-system/sbcl)
9840 (inputs
9841 `(("alexandria" ,sbcl-alexandria)
9842 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9843 ("cffi" ,sbcl-cffi)
9844 ("cl-fad" ,sbcl-cl-fad)
9845 ("cl-ppcre" ,sbcl-cl-ppcre)
9846 ("drakma" ,sbcl-drakma)
9847 ("hunchentoot" ,sbcl-hunchentoot)
9848 ("local-time" ,sbcl-local-time)
9849 ("quantile-estimator" ,sbcl-quantile-estimator)
9850 ("salza2" ,sbcl-salza2)
9851 ("split-sequence" ,sbcl-split-sequence)
9852 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9853 (arguments
9854 '(#:asd-files '("prometheus.asd"
9855 "prometheus.collectors.sbcl.asd"
9856 "prometheus.collectors.process.asd"
9857 "prometheus.formats.text.asd"
9858 "prometheus.exposers.hunchentoot.asd"
9859 "prometheus.pushgateway.asd")
9860 #:asd-systems '("prometheus"
9861 "prometheus.collectors.sbcl"
9862 "prometheus.collectors.process"
9863 "prometheus.formats.text"
9864 "prometheus.exposers.hunchentoot"
9865 "prometheus.pushgateway")))
9866 (home-page "https://github.com/deadtrickster/prometheus.cl")
9867 (synopsis "Prometheus.io Common Lisp client")
9868 (description "Prometheus.io Common Lisp client.")
9869 (license license:expat)))
9870
9871 (define-public cl-prometheus
9872 (sbcl-package->cl-source-package sbcl-prometheus))
9873
9874 (define-public ecl-prometheus
9875 (sbcl-package->ecl-package sbcl-prometheus))
9876
9877 (define-public sbcl-uuid
9878 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
9879 (package
9880 (name "sbcl-uuid")
9881 (version (git-version "2012.12.26" "1" commit))
9882 (source
9883 (origin
9884 (method git-fetch)
9885 (uri (git-reference
9886 (url "https://github.com/dardoria/uuid")
9887 (commit commit)))
9888 (file-name (git-file-name name version))
9889 (sha256
9890 (base32
9891 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
9892 (build-system asdf-build-system/sbcl)
9893 (inputs
9894 `(("ironclad" ,sbcl-ironclad)
9895 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9896 (home-page "https://github.com/dardoria/uuid")
9897 (synopsis
9898 "Common Lisp implementation of UUIDs according to RFC4122")
9899 (description
9900 "Common Lisp implementation of UUIDs according to RFC4122.")
9901 (license license:llgpl))))
9902
9903 (define-public cl-uuid
9904 (sbcl-package->cl-source-package sbcl-uuid))
9905
9906 (define-public ecl-uuid
9907 (sbcl-package->ecl-package sbcl-uuid))
9908
9909 (define-public sbcl-dissect
9910 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
9911 (package
9912 (name "sbcl-dissect")
9913 (version (git-version "1.0.0" "1" commit))
9914 (source
9915 (origin
9916 (method git-fetch)
9917 (uri (git-reference
9918 (url "https://github.com/Shinmera/dissect")
9919 (commit commit)))
9920 (file-name (git-file-name name version))
9921 (sha256
9922 (base32
9923 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
9924 (build-system asdf-build-system/sbcl)
9925 (inputs
9926 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9927 (home-page "https://shinmera.github.io/dissect/")
9928 (synopsis
9929 "Introspection library for the call stack and restarts")
9930 (description
9931 "Dissect is a small Common Lisp library for introspecting the call stack
9932 and active restarts.")
9933 (license license:zlib))))
9934
9935 (define-public cl-dissect
9936 (sbcl-package->cl-source-package sbcl-dissect))
9937
9938 (define-public ecl-dissect
9939 (sbcl-package->ecl-package sbcl-dissect))
9940
9941 (define-public sbcl-rove
9942 (package
9943 (name "sbcl-rove")
9944 (version "0.9.6")
9945 (source
9946 (origin
9947 (method git-fetch)
9948 (uri (git-reference
9949 (url "https://github.com/fukamachi/rove")
9950 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
9951 (file-name (git-file-name name version))
9952 (sha256
9953 (base32
9954 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
9955 (build-system asdf-build-system/sbcl)
9956 (inputs
9957 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9958 ("dissect" ,sbcl-dissect)
9959 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9960 (home-page "https://github.com/fukamachi/rove")
9961 (synopsis
9962 "Yet another common lisp testing library")
9963 (description
9964 "Rove is a unit testing framework for Common Lisp applications.
9965 This is intended to be a successor of Prove.")
9966 (license license:bsd-3)))
9967
9968 (define-public cl-rove
9969 (sbcl-package->cl-source-package sbcl-rove))
9970
9971 (define-public ecl-rove
9972 (sbcl-package->ecl-package sbcl-rove))
9973
9974 (define-public sbcl-exponential-backoff
9975 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
9976 (package
9977 (name "sbcl-exponential-backoff")
9978 (version (git-version "0" "1" commit))
9979 (source
9980 (origin
9981 (method git-fetch)
9982 (uri (git-reference
9983 (url "https://github.com/death/exponential-backoff")
9984 (commit commit)))
9985 (file-name (git-file-name name version))
9986 (sha256
9987 (base32
9988 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
9989 (build-system asdf-build-system/sbcl)
9990 (home-page "https://github.com/death/exponential-backoff")
9991 (synopsis "Exponential backoff algorithm in Common Lisp")
9992 (description
9993 "An implementation of the exponential backoff algorithm in Common Lisp.
9994 Inspired by the implementation found in Chromium. Read the header file to
9995 learn about each of the parameters.")
9996 (license license:expat))))
9997
9998 (define-public cl-exponential-backoff
9999 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10000
10001 (define-public ecl-exponential-backoff
10002 (sbcl-package->ecl-package sbcl-exponential-backoff))
10003
10004 (define-public sbcl-sxql
10005 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10006 (package
10007 (name "sbcl-sxql")
10008 (version (git-version "0.1.0" "1" commit))
10009 (source
10010 (origin
10011 (method git-fetch)
10012 (uri (git-reference
10013 (url "https://github.com/fukamachi/sxql")
10014 (commit commit)))
10015 (file-name (git-file-name name version))
10016 (sha256
10017 (base32
10018 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10019 (build-system asdf-build-system/sbcl)
10020 (arguments
10021 `(#:test-asd-file "sxql-test.asd"))
10022 (inputs
10023 `(("alexandria" ,sbcl-alexandria)
10024 ("cl-syntax" ,sbcl-cl-syntax)
10025 ("iterate" ,sbcl-iterate)
10026 ("optima" ,sbcl-optima)
10027 ("split-sequence" ,sbcl-split-sequence)
10028 ("trivial-types" ,sbcl-trivial-types)))
10029 (native-inputs
10030 `(("prove" ,sbcl-prove)))
10031 (home-page "https://github.com/fukamachi/sxql")
10032 (synopsis "SQL generator for Common Lisp")
10033 (description "SQL generator for Common Lisp.")
10034 (license license:bsd-3))))
10035
10036 (define-public cl-sxql
10037 (sbcl-package->cl-source-package sbcl-sxql))
10038
10039 (define-public ecl-sxql
10040 (sbcl-package->ecl-package sbcl-sxql))
10041
10042 (define-public sbcl-1am
10043 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10044 (package
10045 (name "sbcl-1am")
10046 (version (git-version "0.0" "1" commit))
10047 (source
10048 (origin
10049 (method git-fetch)
10050 (uri (git-reference
10051 (url "https://github.com/lmj/1am")
10052 (commit commit)))
10053 (file-name (git-file-name name version))
10054 (sha256
10055 (base32
10056 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10057 (build-system asdf-build-system/sbcl)
10058 (arguments
10059 `(#:asd-systems '("1am")))
10060 (home-page "https://github.com/lmj/1am")
10061 (synopsis "Minimal testing framework for Common Lisp")
10062 (description "A minimal testing framework for Common Lisp.")
10063 (license license:expat))))
10064
10065 (define-public cl-1am
10066 (sbcl-package->cl-source-package sbcl-1am))
10067
10068 (define-public ecl-1am
10069 (sbcl-package->ecl-package sbcl-1am))
10070
10071 (define-public sbcl-cl-ascii-table
10072 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10073 (revision "1"))
10074 (package
10075 (name "sbcl-cl-ascii-table")
10076 (version (git-version "0.0.0" revision commit))
10077 (source
10078 (origin
10079 (method git-fetch)
10080 (uri (git-reference
10081 (url "https://github.com/telephil/cl-ascii-table")
10082 (commit commit)))
10083 (file-name (git-file-name name version))
10084 (sha256
10085 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10086 (build-system asdf-build-system/sbcl)
10087 (synopsis "Library to make ascii-art tables")
10088 (description
10089 "This is a Common Lisp library to present tabular data in ascii-art
10090 tables.")
10091 (home-page "https://github.com/telephil/cl-ascii-table")
10092 (license license:expat))))
10093
10094 (define-public cl-ascii-table
10095 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10096
10097 (define-public ecl-cl-ascii-table
10098 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10099
10100 (define-public sbcl-cl-rdkafka
10101 (package
10102 (name "sbcl-cl-rdkafka")
10103 (version "1.0.2")
10104 (source
10105 (origin
10106 (method git-fetch)
10107 (uri (git-reference
10108 (url "https://github.com/SahilKang/cl-rdkafka")
10109 (commit (string-append "v" version))))
10110 (file-name (git-file-name name version))
10111 (sha256
10112 (base32
10113 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10114 (build-system asdf-build-system/sbcl)
10115 (arguments
10116 `(#:tests? #f ; Attempts to connect to locally running Kafka
10117 #:phases
10118 (modify-phases %standard-phases
10119 (add-after 'unpack 'fix-paths
10120 (lambda* (#:key inputs #:allow-other-keys)
10121 (substitute* "src/low-level/librdkafka-bindings.lisp"
10122 (("librdkafka" all)
10123 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10124 all))))))))
10125 (inputs
10126 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10127 ("cffi" ,sbcl-cffi)
10128 ("librdkafka" ,librdkafka)
10129 ("lparallel" ,sbcl-lparallel)
10130 ("trivial-garbage" ,sbcl-trivial-garbage)))
10131 (home-page "https://github.com/SahilKang/cl-rdkafka")
10132 (synopsis "Common Lisp client library for Apache Kafka")
10133 (description "A Common Lisp client library for Apache Kafka.")
10134 (license license:gpl3)))
10135
10136 (define-public cl-rdkafka
10137 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10138
10139 (define-public ecl-cl-rdkafka
10140 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10141
10142 (define-public sbcl-acclimation
10143 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10144 (package
10145 (name "sbcl-acclimation")
10146 (version (git-version "0.0.0" "1" commit))
10147 (source
10148 (origin
10149 (method git-fetch)
10150 (uri (git-reference
10151 (url "https://github.com/robert-strandh/Acclimation")
10152 (commit commit)))
10153 (file-name (git-file-name name version))
10154 (sha256
10155 (base32
10156 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10157 (build-system asdf-build-system/sbcl)
10158 (home-page "https://github.com/robert-strandh/Acclimation")
10159 (synopsis "Internationalization library for Common Lisp")
10160 (description "This project is meant to provide tools for
10161 internationalizing Common Lisp programs.
10162
10163 One important aspect of internationalization is of course the language used in
10164 error messages, documentation strings, etc. But with this project we provide
10165 tools for all other aspects of internationalization as well, including dates,
10166 weight, temperature, names of physical quantitites, etc.")
10167 (license license:bsd-2))))
10168
10169 (define-public cl-acclimation
10170 (sbcl-package->cl-source-package sbcl-acclimation))
10171
10172 (define-public ecl-acclimation
10173 (sbcl-package->ecl-package sbcl-acclimation))
10174
10175 (define-public sbcl-clump
10176 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10177 (package
10178 (name "sbcl-clump")
10179 (version (git-version "0.0.0" "1" commit))
10180 (source
10181 (origin
10182 (method git-fetch)
10183 (uri (git-reference
10184 (url "https://github.com/robert-strandh/Clump")
10185 (commit commit)))
10186 (file-name (git-file-name name version))
10187 (sha256
10188 (base32
10189 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10190 (inputs
10191 `(("acclimation" ,sbcl-acclimation)))
10192 (build-system asdf-build-system/sbcl)
10193 (home-page "https://github.com/robert-strandh/Clump")
10194 (synopsis "Collection of tree implementations for Common Lisp")
10195 (description "The purpose of this library is to provide a collection of
10196 implementations of trees.
10197
10198 In contrast to existing libraries such as cl-containers, it does not impose a
10199 particular use for the trees. Instead, it aims for a stratified design,
10200 allowing client code to choose between different levels of abstraction.
10201
10202 As a consequence of this policy, low-level interfaces are provided where
10203 the concrete representation is exposed, but also high level interfaces
10204 where the trees can be used as search trees or as trees that represent
10205 sequences of objects.")
10206 (license license:bsd-2))))
10207
10208 (define-public cl-clump
10209 (sbcl-package->cl-source-package sbcl-clump))
10210
10211 (define-public ecl-clump
10212 (sbcl-package->ecl-package sbcl-clump))
10213
10214 (define-public sbcl-cluffer
10215 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10216 (package
10217 (name "sbcl-cluffer")
10218 (version (git-version "0.0.0" "1" commit))
10219 (source
10220 (origin
10221 (method git-fetch)
10222 (uri (git-reference
10223 (url "https://github.com/robert-strandh/cluffer")
10224 (commit commit)))
10225 (file-name (git-file-name name version))
10226 (sha256
10227 (base32
10228 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10229 (build-system asdf-build-system/sbcl)
10230 (inputs
10231 `(("acclimation" ,sbcl-acclimation)
10232 ("clump" ,sbcl-clump)))
10233 (home-page "https://github.com/robert-strandh/cluffer")
10234 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10235 (description "Cluffer is a library for representing the buffer of a text
10236 editor. As such, it defines a set of CLOS protocols for client code to
10237 interact with the buffer contents in various ways, and it supplies different
10238 implementations of those protocols for different purposes.")
10239 (license license:bsd-2))))
10240
10241 (define-public cl-cluffer
10242 (sbcl-package->cl-source-package sbcl-cluffer))
10243
10244 (define-public ecl-cluffer
10245 (sbcl-package->ecl-package sbcl-cluffer))
10246
10247 (define-public sbcl-cl-libsvm-format
10248 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10249 (revision "0"))
10250 (package
10251 (name "sbcl-cl-libsvm-format")
10252 (version (git-version "0.1.0" revision commit))
10253 (source
10254 (origin
10255 (method git-fetch)
10256 (uri (git-reference
10257 (url "https://github.com/masatoi/cl-libsvm-format")
10258 (commit commit)))
10259 (file-name (git-file-name name version))
10260 (sha256
10261 (base32
10262 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10263 (build-system asdf-build-system/sbcl)
10264 (native-inputs
10265 `(("prove" ,sbcl-prove)))
10266 (inputs
10267 `(("alexandria" ,sbcl-alexandria)))
10268 (synopsis "LibSVM data format reader for Common Lisp")
10269 (description
10270 "This Common Lisp library provides a fast reader for data in LibSVM
10271 format.")
10272 (home-page "https://github.com/masatoi/cl-libsvm-format")
10273 (license license:expat))))
10274
10275 (define-public cl-libsvm-format
10276 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10277
10278 (define-public ecl-cl-libsvm-format
10279 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10280
10281 (define-public sbcl-cl-online-learning
10282 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
10283 (revision "0"))
10284 (package
10285 (name "sbcl-cl-online-learning")
10286 (version (git-version "0.5" revision commit))
10287 (source
10288 (origin
10289 (method git-fetch)
10290 (uri (git-reference
10291 (url "https://github.com/masatoi/cl-online-learning")
10292 (commit commit)))
10293 (file-name (git-file-name name version))
10294 (sha256
10295 (base32
10296 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
10297 (build-system asdf-build-system/sbcl)
10298 (native-inputs
10299 `(("prove" ,sbcl-prove)))
10300 (inputs
10301 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10302 ("cl-store" ,sbcl-cl-store)))
10303 (arguments
10304 `(;; FIXME: Tests pass but then the check phase crashes
10305 #:tests? #f))
10306 (synopsis "Online Machine Learning for Common Lisp")
10307 (description
10308 "This library contains a collection of machine learning algorithms for
10309 online linear classification written in Common Lisp.")
10310 (home-page "https://github.com/masatoi/cl-online-learning")
10311 (license license:expat))))
10312
10313 (define-public cl-online-learning
10314 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10315
10316 (define-public ecl-cl-online-learning
10317 (sbcl-package->ecl-package sbcl-cl-online-learning))
10318
10319 (define-public sbcl-cl-random-forest
10320 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10321 (revision "1"))
10322 (package
10323 (name "sbcl-cl-random-forest")
10324 (version (git-version "0.1" revision commit))
10325 (source
10326 (origin
10327 (method git-fetch)
10328 (uri (git-reference
10329 (url "https://github.com/masatoi/cl-random-forest")
10330 (commit commit)))
10331 (file-name (git-file-name name version))
10332 (sha256
10333 (base32
10334 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10335 (build-system asdf-build-system/sbcl)
10336 (native-inputs
10337 `(("prove" ,sbcl-prove)
10338 ("trivial-garbage" ,sbcl-trivial-garbage)))
10339 (inputs
10340 `(("alexandria" ,sbcl-alexandria)
10341 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10342 ("cl-online-learning" ,sbcl-cl-online-learning)
10343 ("lparallel" ,sbcl-lparallel)))
10344 (arguments
10345 `(#:tests? #f)) ; The tests download data from the Internet
10346 (synopsis "Random Forest and Global Refinement for Common Lisp")
10347 (description
10348 "CL-random-forest is an implementation of Random Forest for multiclass
10349 classification and univariate regression written in Common Lisp. It also
10350 includes an implementation of Global Refinement of Random Forest.")
10351 (home-page "https://github.com/masatoi/cl-random-forest")
10352 (license license:expat))))
10353
10354 (define-public cl-random-forest
10355 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10356
10357 (define-public ecl-cl-random-forest
10358 (sbcl-package->ecl-package sbcl-cl-random-forest))
10359
10360 (define-public sbcl-bordeaux-fft
10361 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10362 (revision "0"))
10363 (package
10364 (name "sbcl-bordeaux-fft")
10365 (version (git-version "1.0.1" revision commit))
10366 (source
10367 (origin
10368 (method git-fetch)
10369 (uri (git-reference
10370 (url "https://github.com/ahefner/bordeaux-fft")
10371 (commit commit)))
10372 (file-name (git-file-name name version))
10373 (sha256
10374 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10375 (build-system asdf-build-system/sbcl)
10376 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10377 (synopsis "Fast Fourier Transform for Common Lisp")
10378 (description
10379 "The Bordeaux-FFT library provides a reasonably efficient implementation
10380 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10381 portable Common Lisp.")
10382 (license license:gpl2+))))
10383
10384 (define-public cl-bordeaux-fft
10385 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10386
10387 (define-public ecl-bordeaux-fft
10388 (sbcl-package->ecl-package sbcl-bordeaux-fft))
10389
10390 (define-public sbcl-napa-fft3
10391 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10392 (revision "0"))
10393 (package
10394 (name "sbcl-napa-fft3")
10395 (version (git-version "0.0.1" revision commit))
10396 (source
10397 (origin
10398 (method git-fetch)
10399 (uri (git-reference
10400 (url "https://github.com/pkhuong/Napa-FFT3")
10401 (commit commit)))
10402 (file-name (git-file-name name version))
10403 (sha256
10404 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10405 (build-system asdf-build-system/sbcl)
10406 (home-page "https://github.com/pkhuong/Napa-FFT3")
10407 (synopsis "Fast Fourier Transform routines in Common Lisp")
10408 (description
10409 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10410 buildings blocks to express common operations that involve DFTs: filtering,
10411 convolutions, etc.")
10412 (license license:bsd-3))))
10413
10414 (define-public cl-napa-fft3
10415 (sbcl-package->cl-source-package sbcl-napa-fft3))
10416
10417 (define-public sbcl-cl-tga
10418 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10419 (revision "0"))
10420 (package
10421 (name "sbcl-cl-tga")
10422 (version (git-version "0.0.0" revision commit))
10423 (source
10424 (origin
10425 (method git-fetch)
10426 (uri (git-reference
10427 (url "https://github.com/fisxoj/cl-tga")
10428 (commit commit)))
10429 (file-name (git-file-name name version))
10430 (sha256
10431 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
10432 (build-system asdf-build-system/sbcl)
10433 (home-page "https://github.com/fisxoj/cl-tga")
10434 (synopsis "TGA file loader for Common Lisp")
10435 (description
10436 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
10437 programs. It's a very simple library, and, at the moment, only supports
10438 non-RLE encoded forms of the files.")
10439 (license license:expat))))
10440
10441 (define-public cl-tga
10442 (sbcl-package->cl-source-package sbcl-cl-tga))
10443
10444 (define-public ecl-cl-tga
10445 (sbcl-package->ecl-package sbcl-cl-tga))
10446
10447 (define-public sbcl-com.gigamonkeys.binary-data
10448 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
10449 (revision "0"))
10450 (package
10451 (name "sbcl-com.gigamonkeys.binary-data")
10452 (version (git-version "0.0.0" revision commit))
10453 (source
10454 (origin
10455 (method git-fetch)
10456 (uri (git-reference
10457 (url "https://github.com/gigamonkey/monkeylib-binary-data")
10458 (commit commit)))
10459 (file-name (git-file-name name version))
10460 (sha256
10461 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
10462 (build-system asdf-build-system/sbcl)
10463 (inputs
10464 `(("alexandria" ,sbcl-alexandria)))
10465 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
10466 (synopsis "Common Lisp library for reading and writing binary data")
10467 (description
10468 "This a Common Lisp library for reading and writing binary data. It is
10469 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
10470 (license license:bsd-3))))
10471
10472 (define-public cl-com.gigamonkeys.binary-data
10473 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
10474
10475 (define-public ecl-com.gigamonkeys.binary-data
10476 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
10477
10478 (define-public sbcl-deflate
10479 (package
10480 (name "sbcl-deflate")
10481 (version "1.0.3")
10482 (source
10483 (origin
10484 (method git-fetch)
10485 (uri (git-reference
10486 (url "https://github.com/pmai/Deflate")
10487 (commit (string-append "release-" version))))
10488 (file-name (git-file-name name version))
10489 (sha256
10490 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
10491 (build-system asdf-build-system/sbcl)
10492 (home-page "https://github.com/pmai/Deflate")
10493 (synopsis "Native deflate decompression for Common Lisp")
10494 (description
10495 "This library is an implementation of Deflate (RFC 1951) decompression,
10496 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
10497 wrappers of deflate streams. It currently does not handle compression.")
10498 (license license:expat)))
10499
10500 (define-public cl-deflate
10501 (sbcl-package->cl-source-package sbcl-deflate))
10502
10503 (define-public ecl-deflate
10504 (sbcl-package->ecl-package sbcl-deflate))
10505
10506 (define-public sbcl-skippy
10507 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
10508 (revision "0"))
10509 (package
10510 (name "sbcl-skippy")
10511 (version (git-version "1.3.12" revision commit))
10512 (source
10513 (origin
10514 (method git-fetch)
10515 (uri (git-reference
10516 (url "https://github.com/xach/skippy")
10517 (commit commit)))
10518 (file-name (git-file-name name version))
10519 (sha256
10520 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
10521 (build-system asdf-build-system/sbcl)
10522 (home-page "https://xach.com/lisp/skippy/")
10523 (synopsis "Common Lisp library for GIF images")
10524 (description
10525 "Skippy is a Common Lisp library to read and write GIF image files.")
10526 (license license:bsd-2))))
10527
10528 (define-public cl-skippy
10529 (sbcl-package->cl-source-package sbcl-skippy))
10530
10531 (define-public ecl-skippy
10532 (sbcl-package->ecl-package sbcl-skippy))
10533
10534 (define-public sbcl-cl-freetype2
10535 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
10536 (revision "0"))
10537 (package
10538 (name "sbcl-cl-freetype2")
10539 (version (git-version "1.1" revision commit))
10540 (source
10541 (origin
10542 (method git-fetch)
10543 (uri (git-reference
10544 (url "https://github.com/rpav/cl-freetype2")
10545 (commit commit)))
10546 (file-name (git-file-name name version))
10547 (sha256
10548 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
10549 (build-system asdf-build-system/sbcl)
10550 (native-inputs
10551 `(("fiveam" ,sbcl-fiveam)))
10552 (inputs
10553 `(("alexandria" ,sbcl-alexandria)
10554 ("cffi" ,sbcl-cffi)
10555 ("freetype" ,freetype)
10556 ("trivial-garbage" ,sbcl-trivial-garbage)))
10557 (arguments
10558 `(#:phases
10559 (modify-phases %standard-phases
10560 (add-after 'unpack 'fix-paths
10561 (lambda* (#:key inputs #:allow-other-keys)
10562 (substitute* "src/ffi/ft2-lib.lisp"
10563 (("\"libfreetype\"")
10564 (string-append "\"" (assoc-ref inputs "freetype")
10565 "/lib/libfreetype\"")))
10566 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
10567 (("-I/usr/include/freetype")
10568 (string-append "-I" (assoc-ref inputs "freetype")
10569 "/include/freetype")))
10570 #t)))))
10571 (home-page "https://github.com/rpav/cl-freetype2")
10572 (synopsis "Common Lisp bindings for Freetype 2")
10573 (description
10574 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
10575 geared toward both using Freetype directly by providing a simplified API, as
10576 well as providing access to the underlying C structures and functions for use
10577 with other libraries which may also use Freetype.")
10578 (license license:bsd-3))))
10579
10580 (define-public cl-freetype2
10581 (sbcl-package->cl-source-package sbcl-cl-freetype2))
10582
10583 (define-public ecl-cl-freetype2
10584 (sbcl-package->ecl-package sbcl-cl-freetype2))
10585
10586 (define-public sbcl-opticl-core
10587 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
10588 (revision "0"))
10589 (package
10590 (name "sbcl-opticl-core")
10591 (version (git-version "0.0.0" revision commit))
10592 (source
10593 (origin
10594 (method git-fetch)
10595 (uri (git-reference
10596 (url "https://github.com/slyrus/opticl-core")
10597 (commit commit)))
10598 (file-name (git-file-name name version))
10599 (sha256
10600 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
10601 (build-system asdf-build-system/sbcl)
10602 (inputs
10603 `(("alexandria" ,sbcl-alexandria)))
10604 (home-page "https://github.com/slyrus/opticl-core")
10605 (synopsis "Core classes and pixel access macros for Opticl")
10606 (description
10607 "This Common Lisp library contains the core classes and pixel access
10608 macros for the Opticl image processing library.")
10609 (license license:bsd-2))))
10610
10611 (define-public cl-opticl-core
10612 (sbcl-package->cl-source-package sbcl-opticl-core))
10613
10614 (define-public ecl-opticl-core
10615 (sbcl-package->ecl-package sbcl-opticl-core))
10616
10617 (define-public sbcl-retrospectiff
10618 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
10619 (revision "0"))
10620 (package
10621 (name "sbcl-retrospectiff")
10622 (version (git-version "0.2" revision commit))
10623 (source
10624 (origin
10625 (method git-fetch)
10626 (uri (git-reference
10627 (url "https://github.com/slyrus/retrospectiff")
10628 (commit commit)))
10629 (file-name (git-file-name name version))
10630 (sha256
10631 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
10632 (build-system asdf-build-system/sbcl)
10633 (native-inputs
10634 `(("fiveam" ,sbcl-fiveam)))
10635 (inputs
10636 `(("cl-jpeg" ,sbcl-cl-jpeg)
10637 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
10638 ("deflate" ,sbcl-deflate)
10639 ("flexi-streams" ,sbcl-flexi-streams)
10640 ("ieee-floats" ,sbcl-ieee-floats)
10641 ("opticl-core" ,sbcl-opticl-core)))
10642 (home-page "https://github.com/slyrus/retrospectiff")
10643 (synopsis "Common Lisp library for TIFF images")
10644 (description
10645 "Retrospectiff is a common lisp library for reading and writing images
10646 in the TIFF (Tagged Image File Format) format.")
10647 (license license:bsd-2))))
10648
10649 (define-public cl-retrospectif
10650 (sbcl-package->cl-source-package sbcl-retrospectiff))
10651
10652 (define-public ecl-retrospectiff
10653 (sbcl-package->ecl-package sbcl-retrospectiff))
10654
10655 (define-public sbcl-mmap
10656 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
10657 (revision "0"))
10658 (package
10659 (name "sbcl-mmap")
10660 (version (git-version "1.0.0" revision commit))
10661 (source
10662 (origin
10663 (method git-fetch)
10664 (uri (git-reference
10665 (url "https://github.com/Shinmera/mmap")
10666 (commit commit)))
10667 (file-name (git-file-name name version))
10668 (sha256
10669 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
10670 (build-system asdf-build-system/sbcl)
10671 (native-inputs
10672 `(("alexandria" ,sbcl-alexandria)
10673 ("cffi" ,sbcl-cffi)
10674 ("parachute" ,sbcl-parachute)
10675 ("trivial-features" ,sbcl-trivial-features)))
10676 (inputs
10677 `(("cffi" ,sbcl-cffi)
10678 ("documentation-utils" ,sbcl-documentation-utils)))
10679 (home-page "https://shinmera.github.io/mmap/")
10680 (synopsis "File memory mapping for Common Lisp")
10681 (description
10682 "This is a utility library providing access to the @emph{mmap} family of
10683 functions in a portable way. It allows you to directly map a file into the
10684 address space of your process without having to manually read it into memory
10685 sequentially. Typically this is much more efficient for files that are larger
10686 than a few Kb.")
10687 (license license:zlib))))
10688
10689 (define-public cl-mmap
10690 (sbcl-package->cl-source-package sbcl-mmap))
10691
10692 (define-public ecl-mmap
10693 (sbcl-package->ecl-package sbcl-mmap))
10694
10695 (define-public sbcl-3bz
10696 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
10697 (revision "0"))
10698 (package
10699 (name "sbcl-3bz")
10700 (version (git-version "0.0.0" revision commit))
10701 (source
10702 (origin
10703 (method git-fetch)
10704 (uri (git-reference
10705 (url "https://github.com/3b/3bz")
10706 (commit commit)))
10707 (file-name (git-file-name name version))
10708 (sha256
10709 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
10710 (build-system asdf-build-system/sbcl)
10711 (inputs
10712 `(("alexandria" ,sbcl-alexandria)
10713 ("babel" ,sbcl-babel)
10714 ("cffi" ,sbcl-cffi)
10715 ("mmap" ,sbcl-mmap)
10716 ("nibbles" ,sbcl-nibbles)
10717 ("trivial-features" ,sbcl-trivial-features)))
10718 (arguments
10719 ;; FIXME: Without the following line, the build fails (see issue 41437).
10720 `(#:asd-systems '("3bz")))
10721 (home-page "https://github.com/3b/3bz")
10722 (synopsis "Deflate decompression for Common Lisp")
10723 (description
10724 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
10725 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
10726 foreign pointers (for use with mmap and similar, etc), and from CL octet
10727 vectors and streams.")
10728 (license license:expat))))
10729
10730 (define-public cl-3bz
10731 (sbcl-package->cl-source-package sbcl-3bz))
10732
10733 (define-public ecl-3bz
10734 (sbcl-package->ecl-package sbcl-3bz))
10735
10736 (define-public sbcl-zpb-exif
10737 (package
10738 (name "sbcl-zpb-exif")
10739 (version "1.2.4")
10740 (source
10741 (origin
10742 (method git-fetch)
10743 (uri (git-reference
10744 (url "https://github.com/xach/zpb-exif")
10745 (commit (string-append "release-" version))))
10746 (file-name (git-file-name name version))
10747 (sha256
10748 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
10749 (build-system asdf-build-system/sbcl)
10750 (home-page "https://xach.com/lisp/zpb-exif/")
10751 (synopsis "EXIF information extractor for Common Lisp")
10752 (description
10753 "This is a Common Lisp library to extract EXIF information from image
10754 files.")
10755 (license license:bsd-2)))
10756
10757 (define-public cl-zpb-exif
10758 (sbcl-package->cl-source-package sbcl-zpb-exif))
10759
10760 (define-public ecl-zpb-exif
10761 (sbcl-package->ecl-package sbcl-zpb-exif))
10762
10763 (define-public sbcl-pngload
10764 (package
10765 (name "sbcl-pngload")
10766 (version "2.0.0")
10767 (source
10768 (origin
10769 (method git-fetch)
10770 (uri (git-reference
10771 (url "https://github.com/bufferswap/pngload")
10772 (commit version)))
10773 (file-name (git-file-name name version))
10774 (sha256
10775 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
10776 (build-system asdf-build-system/sbcl)
10777 (inputs
10778 `(("3bz" ,sbcl-3bz)
10779 ("alexandria" ,sbcl-alexandria)
10780 ("cffi" ,sbcl-cffi)
10781 ("mmap" ,sbcl-mmap)
10782 ("parse-float" ,sbcl-parse-float)
10783 ("static-vectors" ,sbcl-static-vectors)
10784 ("swap-bytes" ,sbcl-swap-bytes)
10785 ("zpb-exif" ,sbcl-zpb-exif)))
10786 (arguments
10787 ;; Test suite disabled because of a dependency cycle.
10788 ;; pngload tests depend on opticl which depends on pngload.
10789 '(#:tests? #f))
10790 (home-page "https://github.com/bufferswap/pngload")
10791 (synopsis "PNG image decoder for Common Lisp")
10792 (description
10793 "This is a Common Lisp library to load images in the PNG image format,
10794 both from files on disk, or streams in memory.")
10795 (license license:expat)))
10796
10797 (define-public cl-pngload
10798 (sbcl-package->cl-source-package sbcl-pngload))
10799
10800 (define-public ecl-pngload
10801 (sbcl-package->ecl-package sbcl-pngload))
10802
10803 (define-public sbcl-opticl
10804 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
10805 (revision "0"))
10806 (package
10807 (name "sbcl-opticl")
10808 (version (git-version "0.0.0" revision commit))
10809 (source
10810 (origin
10811 (method git-fetch)
10812 (uri (git-reference
10813 (url "https://github.com/slyrus/opticl")
10814 (commit commit)))
10815 (file-name (git-file-name name version))
10816 (sha256
10817 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
10818 (build-system asdf-build-system/sbcl)
10819 (native-inputs
10820 `(("fiveam" ,sbcl-fiveam)))
10821 (inputs
10822 `(("alexandria" ,sbcl-alexandria)
10823 ("cl-jpeg" ,sbcl-cl-jpeg)
10824 ("cl-tga" ,sbcl-cl-tga)
10825 ("png-read" ,sbcl-png-read)
10826 ("pngload" ,sbcl-pngload)
10827 ("retrospectiff" ,sbcl-retrospectiff)
10828 ("skippy" ,sbcl-skippy)
10829 ("zpng" ,sbcl-zpng)))
10830 (arguments
10831 '(#:asd-files '("opticl.asd")))
10832 (home-page "https://github.com/slyrus/opticl")
10833 (synopsis "Image processing library for Common Lisp")
10834 (description
10835 "Opticl is a Common Lisp library for representing, processing, loading,
10836 and saving 2-dimensional pixel-based images.")
10837 (license license:bsd-2))))
10838
10839 (define-public cl-opticl
10840 (sbcl-package->cl-source-package sbcl-opticl))
10841
10842 (define-public ecl-opticl
10843 (sbcl-package->ecl-package sbcl-opticl))
10844
10845 (define-public sbcl-mcclim
10846 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
10847 (revision "1"))
10848 (package
10849 (name "sbcl-mcclim")
10850 (version (git-version "0.9.7" revision commit))
10851 (source
10852 (origin
10853 (method git-fetch)
10854 (uri (git-reference
10855 (url "https://github.com/mcclim/mcclim")
10856 (commit commit)))
10857 (file-name (git-file-name name version))
10858 (sha256
10859 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
10860 (build-system asdf-build-system/sbcl)
10861 (native-inputs
10862 `(("fiveam" ,sbcl-fiveam)
10863 ("pkg-config" ,pkg-config)))
10864 (inputs
10865 `(("alexandria" ,sbcl-alexandria)
10866 ("babel" ,sbcl-babel)
10867 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10868 ("cl-freetype2" ,sbcl-cl-freetype2)
10869 ("cl-pdf" ,sbcl-cl-pdf)
10870 ("cffi" ,sbcl-cffi)
10871 ("cl-unicode" ,sbcl-cl-unicode)
10872 ("cl-vectors" ,sbcl-cl-vectors)
10873 ("closer-mop" ,sbcl-closer-mop)
10874 ("clx" ,sbcl-clx)
10875 ("flexi-streams" ,sbcl-flexi-streams)
10876 ("flexichain" ,sbcl-flexichain)
10877 ("font-dejavu" ,font-dejavu)
10878 ("fontconfig" ,fontconfig)
10879 ("freetype" ,freetype)
10880 ("harfbuzz" ,harfbuzz)
10881 ("log4cl" ,sbcl-log4cl)
10882 ("opticl" ,sbcl-opticl)
10883 ("spatial-trees" ,sbcl-spatial-trees)
10884 ("swank" ,sbcl-slime-swank)
10885 ("trivial-features" ,sbcl-trivial-features)
10886 ("trivial-garbage" ,sbcl-trivial-garbage)
10887 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
10888 ("zpb-ttf" ,sbcl-zpb-ttf)))
10889 (arguments
10890 '(#:asd-systems '("mcclim"
10891 "clim-examples")
10892 #:phases
10893 (modify-phases %standard-phases
10894 (add-after 'unpack 'fix-paths
10895 (lambda* (#:key inputs #:allow-other-keys)
10896 ;; mcclim-truetype uses DejaVu as default font and
10897 ;; sets the path at build time.
10898 (substitute* "Extensions/fonts/fontconfig.lisp"
10899 (("/usr/share/fonts/truetype/dejavu/")
10900 (string-append (assoc-ref inputs "font-dejavu")
10901 "/share/fonts/truetype/")))
10902 (substitute* "Extensions/fontconfig/src/functions.lisp"
10903 (("libfontconfig\\.so")
10904 (string-append (assoc-ref inputs "fontconfig")
10905 "/lib/libfontconfig.so")))
10906 (substitute* "Extensions/harfbuzz/src/functions.lisp"
10907 (("libharfbuzz\\.so")
10908 (string-append (assoc-ref inputs "harfbuzz")
10909 "/lib/libharfbuzz.so")))
10910 #t))
10911 (add-after 'unpack 'fix-build
10912 (lambda _
10913 ;; The cffi-grovel system does not get loaded automatically,
10914 ;; so we load it explicitly.
10915 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
10916 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
10917 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10918 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
10919 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
10920 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10921 #t)))))
10922 (home-page "https://common-lisp.net/project/mcclim/")
10923 (synopsis "Common Lisp GUI toolkit")
10924 (description
10925 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
10926 specification}, a toolkit for writing GUIs in Common Lisp.")
10927 (license license:lgpl2.1+))))
10928
10929 (define-public cl-mcclim
10930 (sbcl-package->cl-source-package sbcl-mcclim))
10931
10932 (define-public ecl-mcclim
10933 (sbcl-package->ecl-package sbcl-mcclim))
10934
10935 (define-public sbcl-cl-inflector
10936 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
10937 (revision "1"))
10938 (package
10939 (name "sbcl-cl-inflector")
10940 (version (git-version "0.2" revision commit))
10941 (source
10942 (origin
10943 (method git-fetch)
10944 (uri (git-reference
10945 (url "https://github.com/AccelerationNet/cl-inflector")
10946 (commit commit)))
10947 (file-name (git-file-name name version))
10948 (sha256
10949 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
10950 (build-system asdf-build-system/sbcl)
10951 (native-inputs
10952 `(("lisp-unit2" ,sbcl-lisp-unit2)))
10953 (inputs
10954 `(("alexandria" ,sbcl-alexandria)
10955 ("cl-ppcre" ,sbcl-cl-ppcre)))
10956 (home-page "https://github.com/AccelerationNet/cl-inflector")
10957 (synopsis "Library to pluralize/singularize English and Portuguese words")
10958 (description
10959 "This is a common lisp library to easily pluralize and singularize
10960 English and Portuguese words. This is a port of the ruby ActiveSupport
10961 Inflector module.")
10962 (license license:expat))))
10963
10964 (define-public cl-inflector
10965 (sbcl-package->cl-source-package sbcl-cl-inflector))
10966
10967 (define-public ecl-cl-inflector
10968 (sbcl-package->ecl-package sbcl-cl-inflector))
10969
10970 (define-public sbcl-ixf
10971 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
10972 (revision "1"))
10973 (package
10974 (name "sbcl-ixf")
10975 (version (git-version "0.1.0" revision commit))
10976 (source
10977 (origin
10978 (method git-fetch)
10979 (uri (git-reference
10980 (url "https://github.com/dimitri/cl-ixf")
10981 (commit commit)))
10982 (file-name (git-file-name "cl-ixf" version))
10983 (sha256
10984 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
10985 (build-system asdf-build-system/sbcl)
10986 (inputs
10987 `(("alexandria" ,sbcl-alexandria)
10988 ("babel" ,sbcl-babel)
10989 ("cl-ppcre" ,sbcl-cl-ppcre)
10990 ("ieee-floats" ,sbcl-ieee-floats)
10991 ("local-time" ,sbcl-local-time)
10992 ("md5" ,sbcl-md5)
10993 ("split-sequence" ,sbcl-split-sequence)))
10994 (home-page "https://github.com/dimitri/cl-ixf")
10995 (synopsis "Parse IBM IXF file format")
10996 (description
10997 "This is a Common Lisp library to handle the IBM PC version of the IXF
10998 (Integration Exchange Format) file format.")
10999 (license license:public-domain))))
11000
11001 (define-public ecl-ixf
11002 (sbcl-package->ecl-package sbcl-ixf))
11003
11004 (define-public cl-ixf
11005 (sbcl-package->cl-source-package sbcl-ixf))
11006
11007 (define-public sbcl-qbase64
11008 (package
11009 (name "sbcl-qbase64")
11010 (version "0.3.0")
11011 (source
11012 (origin
11013 (method git-fetch)
11014 (uri (git-reference
11015 (url "https://github.com/chaitanyagupta/qbase64")
11016 (commit version)))
11017 (file-name (git-file-name name version))
11018 (sha256
11019 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11020 (build-system asdf-build-system/sbcl)
11021 (inputs
11022 `(("metabang-bind" ,sbcl-metabang-bind)
11023 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11024 (native-inputs
11025 `(("fiveam" ,sbcl-fiveam)))
11026 (home-page "https://github.com/chaitanyagupta/qbase64")
11027 (synopsis "Base64 encoder and decoder for Common Lisp")
11028 (description "@code{qbase64} provides a fast and flexible base64 encoder
11029 and decoder for Common Lisp.")
11030 (license license:bsd-3)))
11031
11032 (define-public cl-qbase64
11033 (sbcl-package->cl-source-package sbcl-qbase64))
11034
11035 (define-public ecl-qbase64
11036 (sbcl-package->ecl-package sbcl-qbase64))
11037
11038 (define-public sbcl-lw-compat
11039 ;; No release since 2013.
11040 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11041 (package
11042 (name "sbcl-lw-compat")
11043 (version (git-version "1.0.0" "1" commit))
11044 (source
11045 (origin
11046 (method git-fetch)
11047 (uri (git-reference
11048 (url "https://github.com/pcostanza/lw-compat/")
11049 (commit commit)))
11050 (file-name (git-file-name name version))
11051 (sha256
11052 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11053 (build-system asdf-build-system/sbcl)
11054 (home-page "https://github.com/pcostanza/lw-compat/")
11055 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11056 (description "This package contains a few utility functions from the
11057 LispWorks library that are used in software such as ContextL.")
11058 (license license:expat))))
11059
11060 (define-public cl-lw-compat
11061 (sbcl-package->cl-source-package sbcl-lw-compat))
11062
11063 (define-public ecl-lw-compat
11064 (sbcl-package->ecl-package sbcl-lw-compat))
11065
11066 (define-public sbcl-contextl
11067 ;; No release since 2013.
11068 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11069 (package
11070 (name "sbcl-contextl")
11071 (version (git-version "1.0.0" "1" commit))
11072 (source
11073 (origin
11074 (method git-fetch)
11075 (uri (git-reference
11076 (url "https://github.com/pcostanza/contextl/")
11077 (commit commit)))
11078 (file-name (git-file-name name version))
11079 (sha256
11080 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11081 (build-system asdf-build-system/sbcl)
11082 (inputs
11083 `(("closer-mop" ,sbcl-closer-mop)
11084 ("lw-compat" ,sbcl-lw-compat)))
11085 (home-page "https://github.com/pcostanza/contextl")
11086 (synopsis "Context-oriented programming for Common Lisp")
11087 (description "ContextL is a CLOS extension for Context-Oriented
11088 Programming (COP).
11089
11090 Find overview of ContextL's features in an overview paper:
11091 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11092 overview article about COP which also contains some ContextL examples:
11093 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11094 (license license:expat))))
11095
11096 (define-public cl-contextl
11097 (sbcl-package->cl-source-package sbcl-contextl))
11098
11099 (define-public ecl-contextl
11100 (sbcl-package->ecl-package sbcl-contextl))
11101
11102 (define-public sbcl-hu.dwim.common-lisp
11103 (package
11104 (name "sbcl-hu.dwim.common-lisp")
11105 (version "2015-07-09")
11106 (source
11107 (origin
11108 (method url-fetch)
11109 (uri (string-append
11110 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11111 version "/hu.dwim.common-lisp-"
11112 (string-replace-substring version "-" "")
11113 "-darcs.tgz"))
11114 (sha256
11115 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11116 (build-system asdf-build-system/sbcl)
11117 (native-inputs
11118 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11119 (home-page "http://dwim.hu/")
11120 (synopsis "Redefine some standard Common Lisp names")
11121 (description "This library is a redefinition of the standard Common Lisp
11122 package that includes a number of renames and shadows. ")
11123 (license license:public-domain)))
11124
11125 (define-public cl-hu.dwim.common-lisp
11126 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11127
11128 (define-public ecl-hu.dwim.common-lisp
11129 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11130
11131 (define-public sbcl-hu.dwim.common
11132 (package
11133 (name "sbcl-hu.dwim.common")
11134 (version "2015-07-09")
11135 (source
11136 (origin
11137 (method url-fetch)
11138 (uri (string-append
11139 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11140 version "/hu.dwim.common-"
11141 (string-replace-substring version "-" "")
11142 "-darcs.tgz"))
11143 (sha256
11144 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11145 (build-system asdf-build-system/sbcl)
11146 (native-inputs
11147 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11148 (inputs
11149 `(("alexandria" ,sbcl-alexandria)
11150 ("anaphora" ,sbcl-anaphora)
11151 ("closer-mop" ,sbcl-closer-mop)
11152 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11153 ("iterate" ,sbcl-iterate)
11154 ("metabang-bind" ,sbcl-metabang-bind)))
11155 (home-page "http://dwim.hu/")
11156 (synopsis "Common Lisp library shared by other hu.dwim systems")
11157 (description "This package contains a support library for other
11158 hu.dwim systems.")
11159 (license license:public-domain)))
11160
11161 (define-public cl-hu.dwim.common
11162 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11163
11164 (define-public ecl-hu.dwim.common
11165 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11166
11167 (define-public sbcl-hu.dwim.defclass-star
11168 (package
11169 (name "sbcl-hu.dwim.defclass-star")
11170 (version "2015-07-09")
11171 (source
11172 (origin
11173 (method url-fetch)
11174 (uri (string-append
11175 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
11176 version "/hu.dwim.defclass-star-"
11177 (string-replace-substring version "-" "")
11178 "-darcs.tgz"))
11179 (sha256
11180 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
11181 (build-system asdf-build-system/sbcl)
11182 (native-inputs
11183 `(;; These 2 inputs are only needed tests which are disabled, see below.
11184 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11185 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11186 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11187 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11188 (arguments
11189 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11190 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11191 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11192 #:tests? #f))
11193 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
11194 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11195 (description "@code{defclass-star} provides defclass* and defcondition* to
11196 simplify class and condition declarations. Features include:
11197
11198 @itemize
11199 @item Automatically export all or select slots at compile time.
11200 @item Define the @code{:initarg} and @code{:accessor} automatically.
11201 @item Specify a name transformer for both the @code{:initarg} and
11202 @code{:accessor}, etc.
11203 @item Specify the @code{:initform} as second slot value.
11204 @end itemize
11205
11206 See
11207 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11208 for an example.")
11209 (license license:public-domain)))
11210
11211 (define-public cl-hu.dwim.defclass-star
11212 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11213
11214 (define-public ecl-hu.dwim.defclass-star
11215 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11216
11217 (define-public sbcl-livesupport
11218 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11219 (revision "1"))
11220 (package
11221 (name "sbcl-livesupport")
11222 (version (git-version "0.0.0" revision commit))
11223 (source
11224 (origin
11225 (method git-fetch)
11226 (uri (git-reference
11227 (url "https://github.com/cbaggers/livesupport")
11228 (commit commit)))
11229 (file-name (git-file-name name version))
11230 (sha256
11231 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11232 (build-system asdf-build-system/sbcl)
11233 (home-page "https://github.com/cbaggers/livesupport")
11234 (synopsis "Some helpers that make livecoding a little easier")
11235 (description "This package provides a macro commonly used in livecoding to
11236 enable continuing when errors are raised. Simply wrap around a chunk of code
11237 and it provides a restart called @code{continue} which ignores the error and
11238 carrys on from the end of the body.")
11239 (license license:bsd-2))))
11240
11241 (define-public cl-livesupport
11242 (sbcl-package->cl-source-package sbcl-livesupport))
11243
11244 (define-public ecl-livesupport
11245 (sbcl-package->ecl-package sbcl-livesupport))
11246
11247 (define-public sbcl-envy
11248 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11249 (revision "1"))
11250 (package
11251 (name "sbcl-envy")
11252 (version (git-version "0.1" revision commit))
11253 (home-page "https://github.com/fukamachi/envy")
11254 (source
11255 (origin
11256 (method git-fetch)
11257 (uri (git-reference
11258 (url home-page)
11259 (commit commit)))
11260 (file-name (git-file-name name version))
11261 (sha256
11262 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11263 (build-system asdf-build-system/sbcl)
11264 ;; (native-inputs ; Only for tests.
11265 ;; `(("prove" ,sbcl-prove)
11266 ;; ("osicat" ,sbcl-osicat)))
11267 (arguments
11268 '(#:phases
11269 (modify-phases %standard-phases
11270 (add-after 'unpack 'fix-tests
11271 (lambda _
11272 (substitute* "envy-test.asd"
11273 (("cl-test-more") "prove"))
11274 #t)))
11275 ;; Tests fail with
11276 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11277 ;; like xsubseq. Why?
11278 #:tests? #f))
11279 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11280 (description "Envy is a configuration manager for various applications.
11281 Envy uses an environment variable to determine a configuration to use. This
11282 can separate configuration system from an implementation.")
11283 (license license:bsd-2))))
11284
11285 (define-public cl-envy
11286 (sbcl-package->cl-source-package sbcl-envy))
11287
11288 (define-public ecl-envy
11289 (sbcl-package->ecl-package sbcl-envy))
11290
11291 (define-public sbcl-mito
11292 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11293 (revision "1"))
11294 (package
11295 (name "sbcl-mito")
11296 (version (git-version "0.1" revision commit))
11297 (home-page "https://github.com/fukamachi/mito")
11298 (source
11299 (origin
11300 (method git-fetch)
11301 (uri (git-reference
11302 (url home-page)
11303 (commit commit)))
11304 (file-name (git-file-name name version))
11305 (sha256
11306 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11307 (build-system asdf-build-system/sbcl)
11308 (native-inputs
11309 `(("prove" ,sbcl-prove)))
11310 (inputs
11311 `(("alexandria" ,sbcl-alexandria)
11312 ("cl-ppcre" ,sbcl-cl-ppcre)
11313 ("cl-reexport" ,sbcl-cl-reexport)
11314 ("closer-mop" ,sbcl-closer-mop)
11315 ("dbi" ,sbcl-dbi)
11316 ("dissect" ,sbcl-dissect)
11317 ("esrap" ,sbcl-esrap)
11318 ("local-time" ,sbcl-local-time)
11319 ("optima" ,sbcl-optima)
11320 ("sxql" ,sbcl-sxql)
11321 ("uuid" ,sbcl-uuid)))
11322 (arguments
11323 '(#:phases
11324 (modify-phases %standard-phases
11325 (add-after 'unpack 'remove-non-functional-tests
11326 (lambda _
11327 (substitute* "mito-test.asd"
11328 (("\\(:test-file \"db/mysql\"\\)") "")
11329 (("\\(:test-file \"db/postgres\"\\)") "")
11330 (("\\(:test-file \"dao\"\\)") "")
11331 ;; TODO: migration/sqlite3 should work, re-enable once
11332 ;; upstream has fixed it:
11333 ;; https://github.com/fukamachi/mito/issues/70
11334 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11335 (("\\(:test-file \"migration/mysql\"\\)") "")
11336 (("\\(:test-file \"migration/postgres\"\\)") "")
11337 (("\\(:test-file \"postgres-types\"\\)") "")
11338 (("\\(:test-file \"mixin\"\\)") ""))
11339 #t)))
11340 ;; TODO: While all enabled tests pass, the phase fails with:
11341 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11342 #:tests? #f))
11343 (synopsis "ORM for Common Lisp with migrations and relationships support")
11344 (description "Mito is yet another object relational mapper, and it aims
11345 to be a successor of Integral.
11346
11347 @itemize
11348 @item Support MySQL, PostgreSQL and SQLite3.
11349 @item Add id (serial/uuid primary key), created_at and updated_at by default
11350 like Ruby's ActiveRecord.
11351 @item Migrations.
11352 @item Database schema versioning.
11353 @end itemize\n")
11354 (license license:llgpl))))
11355
11356 (define-public cl-mito
11357 (sbcl-package->cl-source-package sbcl-mito))
11358
11359 (define-public ecl-mito
11360 (sbcl-package->ecl-package sbcl-mito))
11361
11362 (define-public sbcl-kebab
11363 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11364 (revision "1"))
11365 (package
11366 (name "sbcl-kebab")
11367 (version (git-version "0.1" revision commit))
11368 (home-page "https://github.com/pocket7878/kebab")
11369 (source
11370 (origin
11371 (method git-fetch)
11372 (uri (git-reference
11373 (url home-page)
11374 (commit commit)))
11375 (file-name (git-file-name name version))
11376 (sha256
11377 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11378 (build-system asdf-build-system/sbcl)
11379 (inputs
11380 `(("cl-ppcre" ,sbcl-cl-ppcre)
11381 ("alexandria" ,sbcl-alexandria)
11382 ("cl-interpol" ,sbcl-cl-interpol)
11383 ("split-sequence" ,sbcl-split-sequence)))
11384 (native-inputs
11385 `(("prove" ,sbcl-prove)))
11386 (arguments
11387 ;; Tests passes but the phase fails with
11388 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11389 `(#:tests? #f))
11390 (synopsis "Common Lisp case converter")
11391 (description "This Common Lisp library converts strings, symbols and
11392 keywords between any of the following typographical cases: PascalCase,
11393 camelCase, snake_case, kebab-case (lisp-case).")
11394 (license license:llgpl))))
11395
11396 (define-public cl-kebab
11397 (sbcl-package->cl-source-package sbcl-kebab))
11398
11399 (define-public ecl-kebab
11400 (sbcl-package->ecl-package sbcl-kebab))
11401
11402 (define-public sbcl-datafly
11403 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11404 (revision "1"))
11405 (package
11406 (name "sbcl-datafly")
11407 (version (git-version "0.1" revision commit))
11408 (home-page "https://github.com/fukamachi/datafly")
11409 (source
11410 (origin
11411 (method git-fetch)
11412 (uri (git-reference
11413 (url home-page)
11414 (commit commit)))
11415 (file-name (git-file-name name version))
11416 (sha256
11417 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11418 (build-system asdf-build-system/sbcl)
11419 (inputs
11420 `(("alexandria" ,sbcl-alexandria)
11421 ("iterate" ,sbcl-iterate)
11422 ("optima" ,sbcl-optima)
11423 ("trivial-types" ,sbcl-trivial-types)
11424 ("closer-mop" ,sbcl-closer-mop)
11425 ("cl-syntax" ,sbcl-cl-syntax)
11426 ("sxql" ,sbcl-sxql)
11427 ("dbi" ,sbcl-dbi)
11428 ("babel" ,sbcl-babel)
11429 ("local-time" ,sbcl-local-time)
11430 ("function-cache" ,sbcl-function-cache)
11431 ("jonathan" ,sbcl-jonathan)
11432 ("kebab" ,sbcl-kebab)
11433 ("log4cl" ,sbcl-log4cl)))
11434 (native-inputs
11435 `(("prove" ,sbcl-prove)))
11436 (arguments
11437 ;; TODO: Tests fail with
11438 ;; While evaluating the form starting at line 22, column 0
11439 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
11440 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11441 ;; {10009F8083}>:
11442 ;; Error when binding parameter 1 to value NIL.
11443 ;; Code RANGE: column index out of range.
11444 `(#:tests? #f))
11445 (synopsis "Lightweight database library for Common Lisp")
11446 (description "Datafly is a lightweight database library for Common Lisp.")
11447 (license license:bsd-3))))
11448
11449 (define-public cl-datafly
11450 (sbcl-package->cl-source-package sbcl-datafly))
11451
11452 (define-public ecl-datafly
11453 (sbcl-package->ecl-package sbcl-datafly))
11454
11455 (define-public sbcl-do-urlencode
11456 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
11457 (revision "1"))
11458 (package
11459 (name "sbcl-do-urlencode")
11460 (version (git-version "0.0.0" revision commit))
11461 (home-page "https://github.com/drdo/do-urlencode")
11462 (source
11463 (origin
11464 (method git-fetch)
11465 (uri (git-reference
11466 (url home-page)
11467 (commit commit)))
11468 (file-name (git-file-name name version))
11469 (sha256
11470 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
11471 (build-system asdf-build-system/sbcl)
11472 (inputs
11473 `(("alexandria" ,sbcl-alexandria)
11474 ("babel" ,sbcl-babel)))
11475 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
11476 (description "This library provides trivial percent encoding and
11477 decoding functions for URLs.")
11478 (license license:isc))))
11479
11480 (define-public cl-do-urlencode
11481 (sbcl-package->cl-source-package sbcl-do-urlencode))
11482
11483 (define-public ecl-do-urlencode
11484 (sbcl-package->ecl-package sbcl-do-urlencode))
11485
11486 (define-public sbcl-cl-emb
11487 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
11488 (revision "1"))
11489 (package
11490 (name "sbcl-cl-emb")
11491 (version (git-version "0.4.3" revision commit))
11492 (home-page "https://common-lisp.net/project/cl-emb/")
11493 (source
11494 (origin
11495 (method git-fetch)
11496 (uri (git-reference
11497 (url "https://github.com/38a938c2/cl-emb")
11498 (commit commit)))
11499 (file-name (git-file-name name version))
11500 (sha256
11501 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
11502 (build-system asdf-build-system/sbcl)
11503 (inputs
11504 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11505 (synopsis "Templating system for Common Lisp")
11506 (description "A mixture of features from eRuby and HTML::Template. You
11507 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
11508 that and not limited to a certain server or text format.")
11509 (license license:llgpl))))
11510
11511 (define-public cl-emb
11512 (sbcl-package->cl-source-package sbcl-cl-emb))
11513
11514 (define-public ecl-cl-emb
11515 (sbcl-package->ecl-package sbcl-cl-emb))
11516
11517 (define-public sbcl-cl-project
11518 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
11519 (revision "1"))
11520 (package
11521 (name "sbcl-cl-project")
11522 (version (git-version "0.3.1" revision commit))
11523 (home-page "https://github.com/fukamachi/cl-project")
11524 (source
11525 (origin
11526 (method git-fetch)
11527 (uri (git-reference
11528 (url home-page)
11529 (commit commit)))
11530 (file-name (git-file-name name version))
11531 (sha256
11532 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
11533 (build-system asdf-build-system/sbcl)
11534 (inputs
11535 `(("cl-emb" ,sbcl-cl-emb)
11536 ("cl-ppcre" ,sbcl-cl-ppcre)
11537 ("local-time" ,sbcl-local-time)
11538 ("prove" ,sbcl-prove)))
11539 (arguments
11540 ;; Tests depend on caveman, which in turns depends on cl-project.
11541 '(#:tests? #f
11542 #:asd-files '("cl-project.asd")))
11543 (synopsis "Generate a skeleton for modern Common Lisp projects")
11544 (description "This library provides a modern project skeleton generator.
11545 In contract with other generators, CL-Project generates one package per file
11546 and encourages unit testing by generating a system for unit testing, so you
11547 can begin writing unit tests as soon as the project is generated.")
11548 (license license:llgpl))))
11549
11550 (define-public cl-project
11551 (sbcl-package->cl-source-package sbcl-cl-project))
11552
11553 (define-public ecl-cl-project
11554 (sbcl-package->ecl-package sbcl-cl-project))
11555
11556 (define-public sbcl-caveman
11557 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
11558 (revision "1"))
11559 (package
11560 (name "sbcl-caveman")
11561 (version (git-version "2.4.0" revision commit))
11562 (home-page "http://8arrow.org/caveman/")
11563 (source
11564 (origin
11565 (method git-fetch)
11566 (uri (git-reference
11567 (url "https://github.com/fukamachi/caveman/")
11568 (commit commit)))
11569 (file-name (git-file-name name version))
11570 (sha256
11571 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
11572 (build-system asdf-build-system/sbcl)
11573 (inputs
11574 `(("ningle" ,cl-ningle)
11575 ("lack" ,sbcl-lack)
11576 ("cl-project" ,sbcl-cl-project)
11577 ("dbi" ,sbcl-dbi)
11578 ("cl-syntax" ,sbcl-cl-syntax)
11579 ("myway" ,sbcl-myway)
11580 ("quri" ,sbcl-quri)))
11581 (native-inputs
11582 `(("usocket" ,sbcl-usocket)
11583 ("dexador" ,sbcl-dexador)))
11584 (arguments
11585 `(#:asd-files '("caveman2.asd")
11586 #:asd-systems '("caveman2")
11587 #:phases
11588 (modify-phases %standard-phases
11589 (add-after 'unpack 'remove-v1
11590 (lambda _
11591 (delete-file-recursively "v1")
11592 (for-each delete-file
11593 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
11594 ;; TODO: Tests fail with:
11595 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
11596 ;; While evaluating the form starting at line 38, column 0
11597 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
11598 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
11599 ;; {10009F8083}>:
11600 ;; Component "myapp573" not found
11601 #:tests? #f))
11602 (synopsis "Lightweight web application framework in Common Lisp")
11603 (description "Caveman is intended to be a collection of common parts for
11604 web applications. Caveman2 has three design goals:
11605
11606 @itemize
11607 @item Be extensible.
11608 @item Be practical.
11609 @item Don't force anything.
11610 @end itemize\n")
11611 (license license:llgpl))))
11612
11613 (define-public cl-caveman
11614 (package
11615 (inherit
11616 (sbcl-package->cl-source-package sbcl-caveman))
11617 (propagated-inputs
11618 `(("ningle" ,cl-ningle)))))
11619
11620 (define-public ecl-caveman
11621 (sbcl-package->ecl-package sbcl-caveman))
11622
11623 (define-public sbcl-lambda-fiddle
11624 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
11625 (revision "1"))
11626 (package
11627 (name "sbcl-lambda-fiddle")
11628 (version (git-version "1.0.0" revision commit))
11629 (source
11630 (origin
11631 (method git-fetch)
11632 (uri (git-reference
11633 (url "https://github.com/Shinmera/lambda-fiddle")
11634 (commit commit)))
11635 (file-name (git-file-name name version))
11636 (sha256
11637 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
11638 (build-system asdf-build-system/sbcl)
11639 (home-page "https://github.com/Shinmera/lambda-fiddle")
11640 (synopsis "Collection of utilities to process lambda-lists")
11641 (description "This collection of utilities is useful in contexts where
11642 you want a macro that uses lambda-lists in some fashion but need more precise
11643 processing.")
11644 (license license:zlib))))
11645
11646 (define-public cl-lambda-fiddle
11647 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
11648
11649 (define-public ecl-lambda-fiddle
11650 (sbcl-package->ecl-package sbcl-lambda-fiddle))
11651
11652 (define-public sbcl-xmls
11653 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
11654 (revision "1"))
11655 (package
11656 (name "sbcl-xmls")
11657 (version (git-version "3.0.2" revision commit))
11658 (source
11659 (origin
11660 (method git-fetch)
11661 (uri (git-reference
11662 (url "https://github.com/rpgoldman/xmls")
11663 (commit commit)))
11664 (file-name (git-file-name name version))
11665 (sha256
11666 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
11667 (native-inputs
11668 `(("fiveam" ,sbcl-fiveam)))
11669 (build-system asdf-build-system/sbcl)
11670 (home-page "https://github.com/rpgoldman/xmls")
11671 (synopsis "Non-validating XML parser for Common Lisp")
11672 (description "Xmls is a self-contained, easily embedded parser that
11673 recognizes a useful subset of the XML spec. It provides a simple mapping from
11674 XML to Lisp structures or s-expressions and back.")
11675 (license license:bsd-2))))
11676
11677 (define-public cl-xmls
11678 (sbcl-package->cl-source-package sbcl-xmls))
11679
11680 (define-public ecl-xmls
11681 (sbcl-package->ecl-package sbcl-xmls))
11682
11683 (define-public sbcl-geco
11684 (package
11685 (name "sbcl-geco")
11686 (version "2.1.1")
11687 (source
11688 (origin
11689 (method git-fetch)
11690 (uri (git-reference
11691 (url "https://github.com/gpwwjr/GECO")
11692 (commit (string-append "v" version))))
11693 (file-name (git-file-name "geco" version))
11694 (sha256
11695 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
11696 (build-system asdf-build-system/sbcl)
11697 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
11698 (synopsis "Genetic algorithm toolkit for Common Lisp")
11699 (description
11700 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
11701 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
11702 (license license:lgpl2.1+)))
11703
11704 (define-public cl-geco
11705 (sbcl-package->cl-source-package sbcl-geco))
11706
11707 (define-public ecl-geco
11708 (sbcl-package->ecl-package sbcl-geco))
11709
11710 (define-public sbcl-html-entities
11711 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
11712 (package
11713 (name "sbcl-html-entities")
11714 (version (git-version "0.02" "1" commit))
11715 (source
11716 (origin
11717 (method git-fetch)
11718 (uri (git-reference
11719 (url "https://github.com/BnMcGn/html-entities/")
11720 (commit commit)))
11721 (file-name (git-file-name name version))
11722 (sha256
11723 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
11724 (build-system asdf-build-system/sbcl)
11725 (inputs
11726 `(("ppcre" ,sbcl-cl-ppcre)))
11727 (native-inputs
11728 `(("fiveam" ,sbcl-fiveam)))
11729 (home-page "https://github.com/BnMcGn/html-entities/")
11730 (synopsis "Encode and decode entities in HTML with Common Lisp")
11731 (description "Html-entities is a Common Lisp library that lets you
11732 encode and decode entities in HTML.")
11733 (license license:expat))))
11734
11735 (define-public cl-html-entities
11736 (sbcl-package->cl-source-package sbcl-html-entities))
11737
11738 (define-public ecl-html-entities
11739 (sbcl-package->ecl-package sbcl-html-entities))
11740
11741 (define-public sbcl-quicksearch
11742 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
11743 (package
11744 (name "sbcl-quicksearch")
11745 (version (git-version "0.01.04" "1" commit))
11746 (source
11747 (origin
11748 (method git-fetch)
11749 (uri (git-reference
11750 (url "https://github.com/tkych/quicksearch/")
11751 (commit commit)))
11752 (file-name (git-file-name name version))
11753 (sha256
11754 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
11755 (build-system asdf-build-system/sbcl)
11756 (inputs
11757 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11758 ("iterate" ,sbcl-iterate)
11759 ("alexandria" ,sbcl-alexandria)
11760 ("anaphora" ,sbcl-anaphora)
11761 ("ppcre" ,sbcl-cl-ppcre)
11762 ("drakma" ,sbcl-drakma)
11763 ("html-entities" ,sbcl-html-entities)
11764 ("yason" ,sbcl-yason)
11765 ("flexi-streams" ,sbcl-flexi-streams)
11766 ("do-urlencode" ,sbcl-do-urlencode)))
11767 (home-page "https://github.com/tkych/quicksearch/")
11768 (synopsis "Search Engine Interface for Common Lisp packages")
11769 (description "Quicksearch is a search-engine-interface for Common Lisp.
11770 The goal of Quicksearch is to find the Common Lisp library quickly. For
11771 example, if you will find the library about json, just type @code{(qs:?
11772 'json)} at REPL.
11773
11774 The function @code{quicksearch} searches for Common Lisp projects in
11775 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
11776 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
11777 (license license:expat))))
11778
11779 (define-public cl-quicksearch
11780 (sbcl-package->cl-source-package sbcl-quicksearch))
11781
11782 (define-public ecl-quicksearch
11783 (sbcl-package->ecl-package sbcl-quicksearch))
11784
11785 (define-public sbcl-agutil
11786 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
11787 (package
11788 (name "sbcl-agutil")
11789 (version (git-version "0.0.1" "1" commit))
11790 (source
11791 (origin
11792 (method git-fetch)
11793 (uri (git-reference
11794 (url "https://github.com/alex-gutev/agutil/")
11795 (commit commit)))
11796 (file-name (git-file-name name version))
11797 (sha256
11798 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
11799 (build-system asdf-build-system/sbcl)
11800 (inputs
11801 `(("alexandria" ,sbcl-alexandria)
11802 ("trivia" ,sbcl-trivia)))
11803 (home-page "https://github.com/alex-gutev/agutil/")
11804 (synopsis "Collection of Common Lisp utilities")
11805 (description "A collection of Common Lisp utility functions and macros
11806 mostly not found in other utility packages.")
11807 (license license:expat))))
11808
11809 (define-public cl-agutil
11810 (sbcl-package->cl-source-package sbcl-agutil))
11811
11812 (define-public ecl-agutil
11813 (sbcl-package->ecl-package sbcl-agutil))
11814
11815 (define-public sbcl-custom-hash-table
11816 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
11817 (package
11818 (name "sbcl-custom-hash-table")
11819 (version (git-version "0.3" "1" commit))
11820 (source
11821 (origin
11822 (method git-fetch)
11823 (uri (git-reference
11824 (url "https://github.com/metawilm/cl-custom-hash-table")
11825 (commit commit)))
11826 (file-name (git-file-name name version))
11827 (sha256
11828 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
11829 (build-system asdf-build-system/sbcl)
11830 (arguments
11831 '(#:asd-files '("cl-custom-hash-table.asd")
11832 #:asd-systems '("cl-custom-hash-table")))
11833 (home-page "https://github.com/metawilm/cl-custom-hash-table")
11834 (synopsis "Custom hash tables for Common Lisp")
11835 (description "This library allows creation of hash tables with arbitrary
11836 @code{test}/@code{hash} functions, in addition to the @code{test} functions
11837 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
11838 @code{EQUALP}), even in implementations that don't support this functionality
11839 directly.")
11840 (license license:expat))))
11841
11842 (define-public cl-custom-hash-table
11843 (sbcl-package->cl-source-package sbcl-custom-hash-table))
11844
11845 (define-public ecl-custom-hash-table
11846 (sbcl-package->ecl-package sbcl-custom-hash-table))
11847
11848 (define-public sbcl-collectors
11849 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
11850 (package
11851 (name "sbcl-collectors")
11852 (version (git-version "0.1" "1" commit))
11853 (source
11854 (origin
11855 (method git-fetch)
11856 (uri (git-reference
11857 (url "https://github.com/AccelerationNet/collectors")
11858 (commit commit)))
11859 (file-name (git-file-name name version))
11860 (sha256
11861 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
11862 (build-system asdf-build-system/sbcl)
11863 (inputs
11864 `(("alexandria" ,sbcl-alexandria)
11865 ("closer-mop" ,sbcl-closer-mop)
11866 ("symbol-munger" ,sbcl-symbol-munger)))
11867 (native-inputs
11868 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11869 (home-page "https://github.com/AccelerationNet/collectors/")
11870 (synopsis "Common lisp library providing collector macros")
11871 (description "A small collection of common lisp macros to make
11872 collecting values easier.")
11873 (license license:bsd-3))))
11874
11875 (define-public cl-collectors
11876 (sbcl-package->cl-source-package sbcl-collectors))
11877
11878 (define-public ecl-collectors
11879 (sbcl-package->ecl-package sbcl-collectors))
11880
11881 (define-public sbcl-cl-environments
11882 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
11883 (package
11884 (name "sbcl-cl-environments")
11885 (version (git-version "0.2.3" "1" commit))
11886 (source
11887 (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/alex-gutev/cl-environments")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32
11895 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
11896 (build-system asdf-build-system/sbcl)
11897 (propagated-inputs
11898 `(("alexandria" ,cl-alexandria)
11899 ("anaphora" ,cl-anaphora)
11900 ("collectors" ,cl-collectors)
11901 ("optima" ,cl-optima)))
11902 (native-inputs
11903 `(("prove" ,sbcl-prove)))
11904 (home-page "https://github.com/alex-gutev/cl-environments")
11905 (synopsis "Implements the Common Lisp standard environment access API")
11906 (description "This library provides a uniform API, as specified in Common
11907 Lisp the Language 2, for accessing information about variable and function
11908 bindings from implementation-defined lexical environment objects. All major
11909 Common Lisp implementations are supported, even those which don't support the
11910 CLTL2 environment access API.")
11911 (license license:expat))))
11912
11913 (define-public cl-environments
11914 (sbcl-package->cl-source-package sbcl-cl-environments))
11915
11916 (define-public ecl-environments
11917 (sbcl-package->ecl-package sbcl-cl-environments))
11918
11919 (define-public sbcl-static-dispatch
11920 (package
11921 (name "sbcl-static-dispatch")
11922 (version "0.3")
11923 (source
11924 (origin
11925 (method git-fetch)
11926 (uri (git-reference
11927 (url "https://github.com/alex-gutev/static-dispatch")
11928 (commit (string-append "v" version))))
11929 (file-name (git-file-name name version))
11930 (sha256
11931 (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0"))))
11932 (build-system asdf-build-system/sbcl)
11933 (inputs
11934 `(("agutil" ,sbcl-agutil)
11935 ("alexandria" ,sbcl-alexandria)
11936 ("anaphora" ,sbcl-anaphora)
11937 ("arrows" ,sbcl-arrows)
11938 ("closer-mop" ,sbcl-closer-mop)
11939 ("iterate" ,sbcl-iterate)
11940 ("trivia" ,sbcl-trivia)))
11941 (propagated-inputs
11942 ;; FIXME: `sbcl-cl-environments' input fails with
11943 ;;
11944 ;; compiling #<CL-SOURCE-FILE "collectors" "collectors">
11945 ;; Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11946 ;; {1008238213}>:
11947 ;; Error opening #P"/.../cl-environments/src/common/package-tmp5GEXGEG5.fasl":
11948 ;; Permission denied
11949 `(("cl-environments" ,cl-environments)))
11950 (native-inputs
11951 `(("prove" ,sbcl-prove)))
11952 (arguments
11953 `(#:phases
11954 (modify-phases %standard-phases
11955 ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed.
11956 ;; https://github.com/nightfly19/cl-arrows/issues/5
11957 (add-after 'unpack 'use-arrows-instead-of-cl-arrows
11958 (lambda _
11959 (for-each
11960 (lambda (file)
11961 (substitute* file
11962 ((":cl-arrows") ":arrows")))
11963 '("static-dispatch.asd"
11964 "src/package.lisp"
11965 "test/methods.lisp"
11966 "test/test.lisp")))))))
11967 (home-page "https://github.com/alex-gutev/static-dispatch")
11968 (synopsis "Static generic function dispatch for Common Lisp")
11969 (description "Static dispatch is a Common Lisp library, inspired by
11970 @code{inlined-generic-function}, which allows standard Common Lisp generic
11971 function dispatch to be performed statically (at compile time) rather than
11972 dynamically (runtime). This is similar to what is known as \"overloading\" in
11973 languages such as C++ and Java.
11974
11975 The purpose of static dispatch is to provide an optimization in cases where
11976 the usual dynamic dispatch is too slow, and the dynamic features of generic
11977 functions, such as adding/removing methods at runtime are not required. An
11978 example of such a case is a generic equality comparison function. Currently
11979 generic functions are considered far too slow to implement generic arithmetic
11980 and comparison operations when used heavily in numeric code.")
11981 (license license:expat)))
11982
11983 (define-public cl-static-dispatch
11984 (sbcl-package->cl-source-package sbcl-static-dispatch))
11985
11986 (define-public ecl-static-dispatch
11987 (sbcl-package->ecl-package sbcl-static-dispatch))
11988
11989 (define-public sbcl-generic-cl
11990 ;; Latest commit includes a necessary fix for our Guix build.
11991 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
11992 (package
11993 (name "sbcl-generic-cl")
11994 (version (git-version "0.7.1" "1" commit))
11995 (source
11996 (origin
11997 (method git-fetch)
11998 (uri (git-reference
11999 (url "https://github.com/alex-gutev/generic-cl")
12000 (commit commit)))
12001 (file-name (git-file-name name version))
12002 (sha256
12003 (base32
12004 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12005 (build-system asdf-build-system/sbcl)
12006 (inputs
12007 `(("agutil" ,sbcl-agutil)
12008 ("alexandria" ,sbcl-alexandria)
12009 ("anaphora" ,sbcl-anaphora)
12010 ("arrows" ,sbcl-arrows)
12011 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12012 ("trivia" ,sbcl-trivia)))
12013 (propagated-inputs
12014 ;; FIXME: Same error as for `sbcl-static-dispatch'.
12015 `(("static-dispatch" ,cl-static-dispatch)))
12016 (native-inputs
12017 `(("prove" ,sbcl-prove)))
12018 (arguments
12019 ;; Tests fail because SBCL head size is not high enough.
12020 ;; https://github.com/alex-gutev/generic-cl/issues/6
12021 `(#:tests? #f))
12022 (home-page "https://alex-gutev.github.io/generic-cl/")
12023 (synopsis "Generic function interface to standard Common Lisp functions")
12024 (description "@code{generic-cl} provides a generic function wrapper over
12025 various functions in the Common Lisp standard, such as equality predicates and
12026 sequence operations. The goal of this wrapper is to provide a standard
12027 interface to common operations, such as testing for the equality of two
12028 objects, which is extensible to user-defined types.")
12029 (license license:expat))))
12030
12031 (define-public cl-generic-cl
12032 (sbcl-package->cl-source-package sbcl-generic-cl))
12033
12034 (define-public ecl-generic-cl
12035 (sbcl-package->ecl-package sbcl-generic-cl))
12036
12037 (define-public sbcl-defpackage-plus
12038 (let ((revision "0")
12039 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12040 (package
12041 (name "sbcl-defpackage-plus")
12042 (version (git-version "1.0" revision commit))
12043 (source
12044 (origin
12045 (method git-fetch)
12046 (uri (git-reference
12047 (url "https://github.com/rpav/defpackage-plus")
12048 (commit commit)))
12049 (file-name (git-file-name name version))
12050 (sha256
12051 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12052 (build-system asdf-build-system/sbcl)
12053 (inputs
12054 `(("alexandria" ,sbcl-alexandria)))
12055 (home-page "https://github.com/rpav/defpackage-plus")
12056 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12057 (description
12058 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12059 predictable cross-platform behavior and some utilities useful for versioning.")
12060 (license license:bsd-2))))
12061
12062 (define-public cl-defpackage-plus
12063 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12064
12065 (define-public ecl-defpackage-plus
12066 (sbcl-package->ecl-package sbcl-defpackage-plus))
12067
12068 (define-public sbcl-deploy
12069 ;; tagged branch is outdated
12070 (let ((revision "1")
12071 (commit "59fd49719ef651a8fc11750bcfb337f132cff75f"))
12072 (package
12073 (name "sbcl-deploy")
12074 (version (git-version "1.0.0" revision commit))
12075 (source
12076 (origin
12077 (method git-fetch)
12078 (uri (git-reference
12079 (url "https://github.com/Shinmera/deploy")
12080 (commit commit)))
12081 (file-name (git-file-name name version))
12082 (sha256
12083 (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a"))))
12084 (build-system asdf-build-system/sbcl)
12085 (inputs
12086 `(("cffi" ,sbcl-cffi)
12087 ("documentation-utils" ,sbcl-documentation-utils)))
12088 (arguments
12089 '(#:asd-files '("deploy.asd")))
12090 (home-page "https://shinmera.github.io/deploy/")
12091 (synopsis "Deployment tools for standalone Common Lisp application")
12092 (description
12093 "This is a system to help you easily and quickly deploy standalone
12094 common lisp applications as binaries. Specifically it is geared towards
12095 applications with foreign library dependencies that run some kind of GUI.")
12096 (license license:artistic2.0))))
12097
12098 (define-public cl-deploy
12099 (sbcl-package->cl-source-package sbcl-deploy))
12100
12101 (define-public ecl-deploy
12102 (sbcl-package->ecl-package sbcl-deploy))
12103
12104 (define-public sbcl-deeds
12105 ;; taged branch is outdated
12106 (let ((revision "1")
12107 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12108 (package
12109 (name "sbcl-deeds")
12110 (version (git-version "1.1.1" revision commit))
12111 (source
12112 (origin
12113 (method git-fetch)
12114 (uri (git-reference
12115 (url "https://github.com/Shinmera/deeds")
12116 (commit commit)))
12117 (file-name (git-file-name name version))
12118 (sha256
12119 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12120 (build-system asdf-build-system/sbcl)
12121 (inputs
12122 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12123 ("closer-mop" ,sbcl-closer-mop)
12124 ("form-fiddle" ,sbcl-form-fiddle)
12125 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12126 (home-page "https://github.com/Shinmera/deeds")
12127 (synopsis "Extensible Event Delivery System")
12128 (description
12129 "@code{deeds} allows for efficient event delivery to multiple handlers
12130 with a complex event filtering system.")
12131 (license license:zlib))))
12132
12133 (define-public cl-deeds
12134 (sbcl-package->cl-source-package sbcl-deeds))
12135
12136 (define-public ecl-deeds
12137 (sbcl-package->ecl-package sbcl-deeds))
12138
12139 (define-public sbcl-make-hash
12140 ;; no tagged branch
12141 (let ((revision "1")
12142 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12143 (package
12144 (name "sbcl-make-hash")
12145 (version (git-version "1.0.2" revision commit))
12146 (source
12147 (origin
12148 (method git-fetch)
12149 (uri (git-reference
12150 (url "https://github.com/genovese/make-hash")
12151 (commit commit)))
12152 (file-name (git-file-name name version))
12153 (sha256
12154 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12155 (build-system asdf-build-system/sbcl)
12156 (home-page "https://github.com/genovese/make-hash")
12157 (synopsis "Common Lisp package for flexible hash table creation")
12158 (description
12159 "This is a Common Lisp package for hash table creation with flexible,
12160 extensible initializers.")
12161 (license license:bsd-3))))
12162
12163 (define-public cl-make-hash
12164 (sbcl-package->cl-source-package sbcl-make-hash))
12165
12166 (define-public ecl-make-hash
12167 (sbcl-package->ecl-package sbcl-make-hash))
12168
12169 (define-public sbcl-claw-support
12170 (package
12171 (name "sbcl-claw-support")
12172 (version "1.0.0")
12173 (source
12174 (origin
12175 (method git-fetch)
12176 (uri (git-reference
12177 (url "https://github.com/borodust/claw-support")
12178 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12179 (file-name (git-file-name name version))
12180 (sha256
12181 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12182 (build-system asdf-build-system/sbcl)
12183 (home-page "https://github.com/borodust/claw-support")
12184 (synopsis "Support routines for claw")
12185 (description
12186 "This package provides support routines for the @code{claw} Common Lisp
12187 package.")
12188 (license license:expat)))
12189
12190 (define-public cl-claw-support
12191 (sbcl-package->cl-source-package sbcl-claw-support))
12192
12193 (define-public ecl-claw-support
12194 (sbcl-package->ecl-package sbcl-claw-support))
12195
12196 (define-public sbcl-claw
12197 (let ((revision "0")
12198 (commit "3cd4a96fca95eb9e8d5d069426694669f81b2250"))
12199 (package
12200 (name "sbcl-claw")
12201 (version (git-version "1.0" revision commit))
12202 (source
12203 (origin
12204 (method git-fetch)
12205 (uri (git-reference
12206 (url "https://github.com/borodust/claw")
12207 (commit commit)))
12208 (file-name (git-file-name "claw" version))
12209 (sha256
12210 (base32 "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d"))))
12211 (build-system asdf-build-system/sbcl)
12212 (inputs
12213 `(("alexandria" ,sbcl-alexandria)
12214 ("cffi" ,sbcl-cffi)
12215 ("cl-json" ,sbcl-cl-json)
12216 ("cl-ppcre" ,sbcl-cl-ppcre)
12217 ("claw-support" ,sbcl-claw-support)
12218 ("local-time" ,sbcl-local-time)
12219 ("trivial-features" ,sbcl-trivial-features)))
12220 (home-page "https://github.com/borodust/claw")
12221 (synopsis "Autowrapper for Common Lisp")
12222 (description
12223 "This is a Common Lisp autowrapping facility for quickly creating clean
12224 and lean bindings to C libraries.")
12225 (license license:bsd-2))))
12226
12227 (define-public cl-claw
12228 (sbcl-package->cl-source-package sbcl-claw))
12229
12230 (define-public ecl-claw
12231 (sbcl-package->ecl-package sbcl-claw))
12232
12233 (define-public sbcl-claw-utils
12234 (let ((revision "0")
12235 (commit "efe25016501973dc369f067a64c7d225802bc56f"))
12236 (package
12237 (name "sbcl-claw-utils")
12238 ;; version is not specified
12239 (version (git-version "0.0.0" revision commit))
12240 (source
12241 (origin
12242 (method git-fetch)
12243 (uri (git-reference
12244 (url "https://github.com/borodust/claw-utils")
12245 (commit commit)))
12246 (file-name (git-file-name "claw-utils" version))
12247 (sha256
12248 (base32 "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5"))))
12249 (build-system asdf-build-system/sbcl)
12250 (inputs
12251 `(("alexandria" ,sbcl-alexandria)
12252 ("cffi" ,sbcl-cffi)
12253 ("claw" ,sbcl-claw)))
12254 (home-page "https://github.com/borodust/claw-utils")
12255 (synopsis "Utilities for easier autowrapping")
12256 (description
12257 "This Common Lisp library contains various handy utilties to help
12258 autowrapping with @code{claw}.")
12259 (license license:expat))))
12260
12261 (define-public cl-claw-utils
12262 (sbcl-package->cl-source-package sbcl-claw-utils))
12263
12264 (define-public ecl-claw-utils
12265 (sbcl-package->ecl-package sbcl-claw-utils))
12266
12267 (define-public sbcl-array-operations
12268 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12269 (revision "0"))
12270 (package
12271 (name "sbcl-array-operations")
12272 (version (git-version "0.0.0" revision commit))
12273 (source
12274 (origin
12275 (method git-fetch)
12276 (uri (git-reference
12277 (url "https://github.com/bendudson/array-operations")
12278 (commit commit)))
12279 (file-name (git-file-name "array-operations" version))
12280 (sha256
12281 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12282 (build-system asdf-build-system/sbcl)
12283 (native-inputs
12284 `(("alexandria" ,sbcl-alexandria)
12285 ("clunit2" ,sbcl-clunit2)))
12286 (inputs
12287 `(("let-plus" ,sbcl-let-plus)))
12288 (synopsis "Simple array operations library for Common Lisp")
12289 (description
12290 "This library is a collection of functions and macros for manipulating
12291 Common Lisp arrays and performing numerical calculations with them.")
12292 (home-page "https://github.com/bendudson/array-operations")
12293 (license license:expat))))
12294
12295 (define-public cl-array-operations
12296 (sbcl-package->cl-source-package sbcl-array-operations))
12297
12298 (define-public ecl-array-operations
12299 (sbcl-package->ecl-package sbcl-array-operations))
12300
12301 (define-public sbcl-clml
12302 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12303 (revision "0"))
12304 (package
12305 (name "sbcl-clml")
12306 (version (git-version "0.0.0" revision commit))
12307 (source
12308 (origin
12309 (method git-fetch)
12310 (uri (git-reference
12311 (url "https://github.com/mmaul/clml")
12312 (commit commit)))
12313 (file-name (git-file-name "clml" version))
12314 (sha256
12315 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12316 ;; TODO: Remove this when the patch has been merged upstream.
12317 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12318 (build-system asdf-build-system/sbcl)
12319 (inputs
12320 `(("alexandia" ,sbcl-alexandria)
12321 ("array-operations" ,sbcl-array-operations)
12322 ("cl-fad" ,sbcl-cl-fad)
12323 ("cl-ppcre" ,sbcl-cl-ppcre)
12324 ("drakma" ,sbcl-drakma)
12325 ("introspect-environment" ,sbcl-introspect-environment)
12326 ("iterate" ,sbcl-iterate)
12327 ("lparallel" ,sbcl-lparallel)
12328 ("parse-number" ,sbcl-parse-number)
12329 ("split-sequence" ,sbcl-split-sequence)
12330 ("trivial-garbage" ,sbcl-trivial-garbage)))
12331 (synopsis "Common Lisp machine learning library")
12332 (description
12333 "CLML (Common Lisp Machine Learning) is a high performance and large
12334 scale statistical machine learning package")
12335 (home-page "https://mmaul.github.io/clml/")
12336 (license license:llgpl))))
12337
12338 (define-public cl-clml
12339 (sbcl-package->cl-source-package sbcl-clml))
12340
12341 (define-public sbcl-utm-ups
12342 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12343 (revision "0"))
12344 (package
12345 (name "sbcl-utm-ups")
12346 (version (git-version "1.0" revision commit))
12347 (source
12348 (origin
12349 (method git-fetch)
12350 (uri (git-reference
12351 (url "https://github.com/glv2/utm-ups")
12352 (commit commit)))
12353 (file-name (git-file-name "utm-ups" version))
12354 (sha256
12355 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12356 (build-system asdf-build-system/sbcl)
12357 (native-inputs
12358 `(("fiveam" ,sbcl-fiveam)))
12359 (synopsis
12360 "Convert coordinates between latitude/longitude and UTM or UPS")
12361 (description
12362 "This a Common Lisp library to convert geographic coordinates between
12363 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12364 Polar Stereographic).")
12365 (home-page "https://github.com/glv2/utm-ups")
12366 (license license:gpl3+))))
12367
12368 (define-public cl-utm-ups
12369 (sbcl-package->cl-source-package sbcl-utm-ups))
12370
12371 (define-public ecl-utm-ups
12372 (sbcl-package->ecl-package sbcl-utm-ups))
12373
12374 (define-public sbcl-mgrs
12375 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12376 (revision "0"))
12377 (package
12378 (name "sbcl-mgrs")
12379 (version (git-version "1.0" revision commit))
12380 (source
12381 (origin
12382 (method git-fetch)
12383 (uri (git-reference
12384 (url "https://github.com/glv2/mgrs")
12385 (commit commit)))
12386 (file-name (git-file-name "mgrs" version))
12387 (sha256
12388 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12389 (build-system asdf-build-system/sbcl)
12390 (native-inputs
12391 `(("fiveam" ,sbcl-fiveam)))
12392 (inputs
12393 `(("utm-ups" ,sbcl-utm-ups)))
12394 (synopsis
12395 "Convert coordinates between latitude/longitude and MGRS")
12396 (description
12397 "This a Common Lisp library to convert geographic coordinates between
12398 latitude/longitude and MGRS.")
12399 (home-page "https://github.com/glv2/mgrs")
12400 (license license:gpl3+))))
12401
12402 (define-public cl-mgrs
12403 (sbcl-package->cl-source-package sbcl-mgrs))
12404
12405 (define-public ecl-mgrs
12406 (sbcl-package->ecl-package sbcl-mgrs))
12407
12408 (define-public sbcl-maidenhead
12409 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12410 (revision "0"))
12411 (package
12412 (name "sbcl-maidenhead")
12413 (version (git-version "1.0" revision commit))
12414 (source
12415 (origin
12416 (method git-fetch)
12417 (uri (git-reference
12418 (url "https://github.com/glv2/maidenhead")
12419 (commit commit)))
12420 (file-name (git-file-name "maidenhead" version))
12421 (sha256
12422 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12423 (build-system asdf-build-system/sbcl)
12424 (native-inputs
12425 `(("fiveam" ,sbcl-fiveam)))
12426 (synopsis
12427 "Convert coordinates between latitude/longitude and Maidenhead")
12428 (description
12429 "This a Common Lisp library to convert geographic coordinates between
12430 latitude/longitude and Maidenhead locator system.")
12431 (home-page "https://github.com/glv2/maidenhead")
12432 (license license:gpl3+))))
12433
12434 (define-public cl-maidenhead
12435 (sbcl-package->cl-source-package sbcl-maidenhead))
12436
12437 (define-public ecl-maidenhead
12438 (sbcl-package->ecl-package sbcl-maidenhead))
12439
12440 (define-public sbcl-olc
12441 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
12442 (revision "0"))
12443 (package
12444 (name "sbcl-olc")
12445 (version (git-version "1.0" revision commit))
12446 (source
12447 (origin
12448 (method git-fetch)
12449 (uri (git-reference
12450 (url "https://github.com/glv2/olc")
12451 (commit commit)))
12452 (file-name (git-file-name "olc" version))
12453 (sha256
12454 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
12455 (build-system asdf-build-system/sbcl)
12456 (native-inputs
12457 `(("fiveam" ,sbcl-fiveam)))
12458 (synopsis
12459 "Convert coordinates between latitude/longitude and Open Location Code")
12460 (description
12461 "This a Common Lisp library to convert geographic coordinates between
12462 latitude/longitude and Open Location Code.")
12463 (home-page "https://github.com/glv2/olc")
12464 (license license:gpl3+))))
12465
12466 (define-public cl-olc
12467 (sbcl-package->cl-source-package sbcl-olc))
12468
12469 (define-public ecl-olc
12470 (sbcl-package->ecl-package sbcl-olc))
12471
12472 (define-public sbcl-regex
12473 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
12474 (package
12475 (name "sbcl-regex")
12476 (version (git-version "1" "1" commit))
12477 (source
12478 (origin
12479 (method git-fetch)
12480 (uri (git-reference
12481 (url "https://github.com/michaelw/regex/")
12482 (commit commit)))
12483 (file-name (git-file-name name version))
12484 (sha256
12485 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
12486 (build-system asdf-build-system/sbcl)
12487 (home-page "https://github.com/michaelw/regex/")
12488 (synopsis "Regular expression engine for Common Lisp")
12489 (description
12490 "This Common Lisp package provides a regular expression engine.")
12491 (license license:bsd-2))))
12492
12493 (define-public cl-regex
12494 (sbcl-package->cl-source-package sbcl-regex))
12495
12496 (define-public ecl-regex
12497 (sbcl-package->ecl-package sbcl-regex))
12498
12499 (define-public sbcl-clawk
12500 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
12501 (package
12502 (name "sbcl-clawk")
12503 (version (git-version "4" "1" commit))
12504 (source
12505 (origin
12506 (method git-fetch)
12507 (uri (git-reference
12508 (url "https://github.com/sharplispers/clawk")
12509 (commit commit)))
12510 (file-name (git-file-name name version))
12511 (sha256
12512 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
12513 (build-system asdf-build-system/sbcl)
12514 (inputs
12515 `(("sbcl-regex" ,sbcl-regex)))
12516 (home-page "https://github.com/sharplispers/clawk")
12517 (synopsis "Common Lisp AWK")
12518 (description
12519 "CLAWK is an AWK implementation embedded into Common Lisp.")
12520 (license license:bsd-2))))
12521
12522 (define-public cl-clawk
12523 (sbcl-package->cl-source-package sbcl-clawk))
12524
12525 (define-public ecl-clawk
12526 (sbcl-package->ecl-package sbcl-clawk))
12527
12528 (define-public sbcl-check-it
12529 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
12530 (package
12531 (name "sbcl-check-it")
12532 (version (git-version "0.1.0" "1" commit))
12533 (source
12534 (origin
12535 (method git-fetch)
12536 (uri (git-reference
12537 (url "https://github.com/DalekBaldwin/check-it/")
12538 (commit commit)))
12539 (file-name (git-file-name name version))
12540 (sha256
12541 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
12542 (build-system asdf-build-system/sbcl)
12543 (inputs
12544 `(("alexandria" ,sbcl-alexandria)
12545 ("closer-mop" ,sbcl-closer-mop)
12546 ("optima" ,sbcl-optima)))
12547 (native-inputs
12548 `(("stefil" ,sbcl-stefil)))
12549 (home-page "https://github.com/arclanguage/Clamp")
12550 (synopsis "Randomized specification-based testing for Common Lisp")
12551 (description
12552 "This is a randomized property-based testing library for Common Lisp.
12553 Rather than being a full-fledged general test framework in its own right, it's
12554 designed to embed randomized tests in whatever framework you like.")
12555 (license license:llgpl))))
12556
12557 (define-public cl-check-it
12558 (sbcl-package->cl-source-package sbcl-check-it))
12559
12560 (define-public ecl-check-it
12561 (sbcl-package->ecl-package sbcl-check-it))
12562
12563 (define-public sbcl-clamp
12564 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
12565 (package
12566 (name "sbcl-clamp")
12567 (version (git-version "0.3" "1" commit))
12568 (source
12569 (origin
12570 (method git-fetch)
12571 (uri (git-reference
12572 (url "https://github.com/arclanguage/Clamp")
12573 (commit commit)))
12574 (file-name (git-file-name name version))
12575 (sha256
12576 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
12577 (build-system asdf-build-system/sbcl)
12578 (inputs
12579 `(("iterate" ,sbcl-iterate)
12580 ("cl-syntax" ,sbcl-cl-syntax)))
12581 (native-inputs
12582 `(("cl-unit" ,sbcl-clunit)
12583 ("check-it" ,sbcl-check-it)))
12584 (arguments
12585 `(#:phases
12586 (modify-phases %standard-phases
12587 (add-after 'unpack 'fix-build
12588 (lambda _
12589 (substitute* "clamp.asd"
12590 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
12591 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
12592 #t)))))
12593 (home-page "https://github.com/arclanguage/Clamp")
12594 (synopsis "Common Lisp with Arc macros and procedures")
12595 (description
12596 "Clamp is an attempt to bring the powerful, but verbose, language of
12597 Common Lisp up to the terseness of Arc.
12598
12599 There are two parts to Clamp. There is the core of Clamp, which implements
12600 the utilities of Arc that are easily converted from Arc to Common Lisp. The
12601 other part is the \"experimental\" part. It contains features of Arc that are
12602 not so easy to copy (ssyntax, argument destructuring, etc.).")
12603 (license license:artistic2.0))))
12604
12605 (define-public cl-clamp
12606 (sbcl-package->cl-source-package sbcl-clamp))
12607
12608 (define-public ecl-clamp
12609 (sbcl-package->ecl-package sbcl-clamp))
12610
12611 (define-public sbcl-trivial-shell
12612 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
12613 (package
12614 (name "sbcl-trivial-shell")
12615 (version (git-version "0.2.0" "1" commit))
12616 (source
12617 (origin
12618 (method git-fetch)
12619 (uri (git-reference
12620 (url "https://github.com/gwkkwg/trivial-shell")
12621 (commit commit)))
12622 (file-name (git-file-name name version))
12623 (sha256
12624 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
12625 (build-system asdf-build-system/sbcl)
12626 (native-inputs
12627 `(("lift" ,sbcl-lift)))
12628 (home-page "http://common-lisp.net/project/trivial-shell/")
12629 (synopsis "Common Lisp access to the shell")
12630 (description
12631 "A simple Common-Lisp interface to the underlying operating system.
12632 It's independent of the implementation and operating system.")
12633 (license license:expat))))
12634
12635 (define-public cl-trivial-shell
12636 (sbcl-package->cl-source-package sbcl-trivial-shell))
12637
12638 (define-public ecl-trivial-shell
12639 (sbcl-package->ecl-package sbcl-trivial-shell))
12640
12641 (define-public sbcl-clesh
12642 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
12643 (package
12644 (name "sbcl-clesh")
12645 (version (git-version "0.0.0" "1" commit))
12646 (source
12647 (origin
12648 (method git-fetch)
12649 (uri (git-reference
12650 (url "https://github.com/Neronus/Clesh")
12651 (commit commit)))
12652 (file-name (git-file-name name version))
12653 (sha256
12654 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
12655 (build-system asdf-build-system/sbcl)
12656 (inputs
12657 `(("trivial-shell" ,sbcl-trivial-shell)
12658 ("named-readtables" ,sbcl-named-readtables)))
12659 (home-page "https://github.com/Neronus/Clesh")
12660 (synopsis "Embed shell code in Common Lisp")
12661 (description
12662 "This is a very short and simple program, written in Common Lisp, that
12663 extends Common Lisp to embed shell code in a manner similar to Perl's
12664 backtick. It has been forked from SHELISP.")
12665 (license license:bsd-2))))
12666
12667 (define-public cl-clesh
12668 (sbcl-package->cl-source-package sbcl-clesh))
12669
12670 (define-public ecl-clesh
12671 (sbcl-package->ecl-package sbcl-clesh))
12672
12673 (define-public sbcl-trivial-download
12674 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
12675 (package
12676 (name "sbcl-trivial-download")
12677 (version (git-version "0.3" "1" commit))
12678 (source
12679 (origin
12680 (method git-fetch)
12681 (uri (git-reference
12682 (url "https://github.com/eudoxia0/trivial-download/")
12683 (commit commit)))
12684 (file-name (git-file-name name version))
12685 (sha256
12686 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
12687 (build-system asdf-build-system/sbcl)
12688 (inputs
12689 `(("drakma" ,sbcl-drakma)))
12690 (home-page "https://github.com/eudoxia0/trivial-download/")
12691 (synopsis "Download files from Common Lisp")
12692 (description
12693 "@code{trivial-download} allows you to download files from the Internet
12694 from Common Lisp. It provides a progress bar.")
12695 (license license:bsd-2))))
12696
12697 (define-public cl-trivial-download
12698 (sbcl-package->cl-source-package sbcl-trivial-download))
12699
12700 (define-public ecl-trivial-download
12701 (sbcl-package->ecl-package sbcl-trivial-download))
12702
12703 (define-public sbcl-gtwiwtg
12704 (package
12705 (name "sbcl-gtwiwtg")
12706 (version "0.1.1")
12707 (source
12708 (origin
12709 (method git-fetch)
12710 (uri (git-reference
12711 (url "https://github.com/cbeo/gtwiwtg/")
12712 (commit version)))
12713 (file-name (git-file-name name version))
12714 (sha256
12715 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
12716 (build-system asdf-build-system/sbcl)
12717 (native-inputs
12718 `(("osicat" ,sbcl-osicat)
12719 ("prove" ,sbcl-prove)))
12720 (home-page "https://github.com/cbeo/gtwiwtg/")
12721 (synopsis "Naive generators for Common Lisp")
12722 (description
12723 "The GTWIWTG library (Generators The Way I Want Them Generated --
12724 technically not generators, but iterators) is meant to be small, explorable,
12725 and understandable.")
12726 (license license:gpl3)))
12727
12728 (define-public cl-gtwiwtg
12729 (sbcl-package->cl-source-package sbcl-gtwiwtg))
12730
12731 (define-public ecl-gtwiwtg
12732 (sbcl-package->ecl-package sbcl-gtwiwtg))
12733
12734 (define-public sbcl-cl-progress-bar
12735 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
12736 (package
12737 (name "sbcl-cl-progress-bar")
12738 (version (git-version "0.0.0" "1" commit))
12739 (source
12740 (origin
12741 (method git-fetch)
12742 (uri (git-reference
12743 (url "https://github.com/sirherrbatka/cl-progress-bar/")
12744 (commit commit)))
12745 (file-name (git-file-name name version))
12746 (sha256
12747 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
12748 (build-system asdf-build-system/sbcl)
12749 (inputs
12750 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12751 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
12752 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
12753 (synopsis "Progress bars in Common Lisp")
12754 (description
12755 "This library provides almost the same code as used inside Quicklisp
12756 for drawning progress bars")
12757 (license license:expat))))
12758
12759 (define-public cl-progress-bar
12760 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
12761
12762 (define-public ecl-cl-progress-bar
12763 (sbcl-package->ecl-package sbcl-cl-progress-bar))
12764
12765 (define-public sbcl-repl-utilities
12766 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
12767 (package
12768 (name "sbcl-repl-utilities")
12769 (version (git-version "0.0.0" "1" commit))
12770 (source
12771 (origin
12772 (method git-fetch)
12773 (uri (git-reference
12774 (url "https://github.com/m-n/repl-utilities/")
12775 (commit commit)))
12776 (file-name (git-file-name name version))
12777 (sha256
12778 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
12779 (build-system asdf-build-system/sbcl)
12780 (home-page "https://github.com/m-n/repl-utilities")
12781 (synopsis "Ease common tasks at the Common Lisp REPL")
12782 (description
12783 "@code{repl-utilities} is a set of utilities which ease life at the
12784 REPL. It includes three sorts of features: introspective procedures,
12785 miscellaneous utility functions, and, pulling them together, methods to
12786 conveniently keep these symbols and optionally additional symbols available in
12787 whichever package you switch to.")
12788 (license license:bsd-2))))
12789
12790 (define-public cl-repl-utilities
12791 (sbcl-package->cl-source-package sbcl-repl-utilities))
12792
12793 (define-public ecl-repl-utilities
12794 (sbcl-package->ecl-package sbcl-repl-utilities))
12795
12796 (define-public sbcl-supertrace
12797 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
12798 (package
12799 (name "sbcl-supertrace")
12800 (version (git-version "0.1.0" "1" commit))
12801 (source
12802 (origin
12803 (method git-fetch)
12804 (uri (git-reference
12805 (url "https://github.com/fukamachi/supertrace")
12806 (commit commit)))
12807 (file-name (git-file-name name version))
12808 (sha256
12809 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
12810 (build-system asdf-build-system/sbcl)
12811 (native-inputs
12812 `(("cffi-grovel" ,sbcl-cffi)
12813 ("rove" ,sbcl-rove)
12814 ("cl-ppcre" ,sbcl-cl-ppcre)
12815 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
12816 (inputs
12817 `(("cffi" ,sbcl-cffi)))
12818 (home-page "https://github.com/fukamachi/supertrace")
12819 (synopsis "Improved Common Lisp tracing for debugging and profiling")
12820 (description
12821 "Supertrace provides a superior Common Lisp @code{trace} functionality
12822 for debugging and profiling real world applications.")
12823 (license license:bsd-2))))
12824
12825 (define-public cl-supertrace
12826 (sbcl-package->cl-source-package sbcl-supertrace))
12827
12828 (define-public ecl-supertrace
12829 (sbcl-package->ecl-package sbcl-supertrace))
12830
12831 (define-public sbcl-trivial-benchmark
12832 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
12833 (package
12834 (name "sbcl-trivial-benchmark")
12835 (version (git-version "2.0.0" "1" commit))
12836 (source
12837 (origin
12838 (method git-fetch)
12839 (uri (git-reference
12840 (url "https://github.com/Shinmera/trivial-benchmark/")
12841 (commit commit)))
12842 (file-name (git-file-name name version))
12843 (sha256
12844 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
12845 (build-system asdf-build-system/sbcl)
12846 (inputs
12847 `(("alexandria" ,sbcl-alexandria)))
12848 (home-page "http://shinmera.github.io/trivial-benchmark/")
12849 (synopsis "Easy to use benchmarking system for Common Lisp")
12850 (description
12851 "Trivial-Benchmark runs a block of code many times and outputs some
12852 statistical data for it. On SBCL this includes the data from @code{time}, for
12853 all other implementations just the @code{real-time} and @code{run-time} data.
12854 However, you can extend the system by adding your own @code{metrics} to it, or
12855 even by adding additional statistical @code{compute}ations. ")
12856 (license license:zlib))))
12857
12858 (define-public cl-trivial-benchmark
12859 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
12860
12861 (define-public ecl-trivial-benchmark
12862 (sbcl-package->ecl-package sbcl-trivial-benchmark))
12863
12864 (define-public sbcl-glyphs
12865 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
12866 (package
12867 (name "sbcl-glyphs")
12868 (version (git-version "0.0.0" "1" commit))
12869 (source
12870 (origin
12871 (method git-fetch)
12872 (uri (git-reference
12873 (url "https://github.com/ahungry/glyphs/")
12874 (commit commit)))
12875 (file-name (git-file-name name version))
12876 (sha256
12877 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
12878 (build-system asdf-build-system/sbcl)
12879 (inputs
12880 `(("cl-ppcre" ,sbcl-cl-ppcre)
12881 ("parenscript" ,sbcl-parenscript)
12882 ("named-readtables" ,sbcl-named-readtables)))
12883 (home-page "https://github.com/ahungry/glyphs/")
12884 (synopsis "Reduce Common Lisp verbosity")
12885 (description
12886 "This library is a little experiment in reducing verbosity in Common
12887 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
12888 (license license:gpl3))))
12889
12890 (define-public cl-glyphs
12891 (sbcl-package->cl-source-package sbcl-glyphs))
12892
12893 (define-public ecl-glyphs
12894 (sbcl-package->ecl-package sbcl-glyphs))
12895
12896 (define-public sbcl-zs3
12897 (package
12898 (name "sbcl-zs3")
12899 (version "1.3.3")
12900 (source
12901 (origin
12902 (method git-fetch)
12903 (uri
12904 (git-reference
12905 (url "https://github.com/xach/zs3")
12906 (commit (string-append "release-" version))))
12907 (file-name (git-file-name "zs3" version))
12908 (sha256
12909 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
12910 (build-system asdf-build-system/sbcl)
12911 (inputs
12912 `(("drakma" ,sbcl-drakma)
12913 ("alexandria" ,sbcl-alexandria)
12914 ("cxml" ,sbcl-cxml)
12915 ("ironclad" ,sbcl-ironclad)
12916 ("puri" ,sbcl-puri)
12917 ("cl-base64" ,sbcl-cl-base64)))
12918 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
12919 (description "This is ZS3, a library for working with Amazon's Simple Storage
12920 Service (S3) and CloudFront service from Common Lisp.")
12921 (home-page "https://github.com/xach/zs3")
12922 (license license:bsd-2)))
12923
12924 (define-public cl-zs3
12925 (sbcl-package->cl-source-package sbcl-zs3))
12926
12927 (define-public ecl-zs3
12928 (sbcl-package->ecl-package sbcl-zs3))
12929
12930 (define-public sbcl-simple-neural-network
12931 (package
12932 (name "sbcl-simple-neural-network")
12933 (version "3.1")
12934 (source
12935 (origin
12936 (method git-fetch)
12937 (uri (git-reference
12938 (url "https://github.com/glv2/simple-neural-network")
12939 (commit (string-append "v" version))))
12940 (file-name (git-file-name "simple-neural-network" version))
12941 (sha256
12942 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
12943 (build-system asdf-build-system/sbcl)
12944 (native-inputs
12945 `(("chipz" ,sbcl-chipz)
12946 ("fiveam" ,sbcl-fiveam)))
12947 (inputs
12948 `(("cl-store" ,sbcl-cl-store)
12949 ("lparallel" ,sbcl-lparallel)))
12950 (arguments
12951 `(#:phases
12952 (modify-phases %standard-phases
12953 (add-after 'check 'remove-test-data
12954 (lambda* (#:key outputs #:allow-other-keys)
12955 (let ((out (assoc-ref outputs "out")))
12956 (for-each delete-file (find-files out "\\.gz$"))))))))
12957 (synopsis "Simple neural network in Common Lisp")
12958 (description
12959 "@code{simple-neural-network} is a Common Lisp library for creating,
12960 training and using basic neural networks. The networks created by this
12961 library are feedforward neural networks trained using backpropagation.")
12962 (home-page "https://github.com/glv2/simple-neural-network")
12963 (license license:gpl3+)))
12964
12965 (define-public cl-simple-neural-network
12966 (sbcl-package->cl-source-package sbcl-simple-neural-network))
12967
12968 (define-public ecl-simple-neural-network
12969 (sbcl-package->ecl-package sbcl-simple-neural-network))
12970
12971 (define-public sbcl-zstd
12972 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
12973 (revision "1"))
12974 (package
12975 (name "sbcl-zstd")
12976 (version (git-version "1.0" revision commit))
12977 (source
12978 (origin
12979 (method git-fetch)
12980 (uri (git-reference
12981 (url "https://github.com/glv2/cl-zstd")
12982 (commit commit)))
12983 (file-name (git-file-name "cl-zstd" version))
12984 (sha256
12985 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
12986 (build-system asdf-build-system/sbcl)
12987 (native-inputs
12988 `(("fiveam" ,sbcl-fiveam)))
12989 (inputs
12990 `(("cffi" ,sbcl-cffi)
12991 ("cl-octet-streams" ,sbcl-cl-octet-streams)
12992 ("zstd-lib" ,zstd "lib")))
12993 (arguments
12994 '(#:phases
12995 (modify-phases %standard-phases
12996 (add-after 'unpack 'fix-paths
12997 (lambda* (#:key inputs #:allow-other-keys)
12998 (substitute* "src/libzstd.lisp"
12999 (("libzstd\\.so")
13000 (string-append (assoc-ref inputs "zstd-lib")
13001 "/lib/libzstd.so")))
13002 #t)))))
13003 (synopsis "Common Lisp library for Zstandard (de)compression")
13004 (description
13005 "This Common Lisp library provides functions for Zstandard
13006 compression/decompression using bindings to the libzstd C library.")
13007 (home-page "https://github.com/glv2/cl-zstd")
13008 (license license:gpl3+))))
13009
13010 (define-public cl-zstd
13011 (sbcl-package->cl-source-package sbcl-zstd))
13012
13013 (define-public ecl-zstd
13014 (sbcl-package->ecl-package sbcl-zstd))
13015
13016 (define-public sbcl-agnostic-lizard
13017 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
13018 (revision "1"))
13019 (package
13020 (name "sbcl-agnostic-lizard")
13021 (version (git-version "0.0.0" revision commit))
13022 (source
13023 (origin
13024 (method git-fetch)
13025 (uri (git-reference
13026 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13027 (commit commit)))
13028 (file-name (git-file-name name version))
13029 (sha256
13030 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
13031 (build-system asdf-build-system/sbcl)
13032 (synopsis "Almost correct portable code walker for Common Lisp")
13033 (description
13034 "Agnostic Lizard is a portable implementation of a code walker and in
13035 particular of the macroexpand-all function (and macro) that makes a best
13036 effort to be correct while not expecting much beyond what the Common Lisp
13037 standard requires.
13038
13039 It aims to be implementation-agnostic and to climb the syntax trees.")
13040 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
13041 (license license:gpl3+))))
13042
13043 (define-public cl-agnostic-lizard
13044 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
13045
13046 (define-public ecl-agnostic-lizard
13047 (sbcl-package->ecl-package sbcl-agnostic-lizard))
13048
13049 (define-public sbcl-dynamic-classes
13050 (package
13051 (name "sbcl-dynamic-classes")
13052 (version "1.0.2")
13053 (source
13054 (origin
13055 (method git-fetch)
13056 (uri (git-reference
13057 (url "https://github.com/gwkkwg/dynamic-classes")
13058 (commit (string-append "version-" version))))
13059 (file-name (git-file-name "dynamic-classes" version))
13060 (sha256
13061 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
13062 (build-system asdf-build-system/sbcl)
13063 (inputs
13064 `(("metatilities-base" ,sbcl-metatilities-base)))
13065 (arguments
13066 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
13067 ;; test suites. lift-standard.config contains referances to deprecated
13068 ;; functionality.
13069 `(#:tests? #f))
13070 (home-page "https://common-lisp.net/project/dynamic-classes/")
13071 (synopsis "Dynamic class definition for Common Lisp")
13072 (description "Dynamic-Classes helps to ease the prototyping process by
13073 bringing dynamism to class definition.")
13074 (license license:expat)))
13075
13076 (define-public ecl-dynamic-classes
13077 (sbcl-package->ecl-package sbcl-dynamic-classes))
13078
13079 (define-public cl-dynamic-classes
13080 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13081
13082 (define-public sbcl-cl-markdown
13083 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13084 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13085 ;; #:container-dynamic-classes
13086 (package
13087 (name "sbcl-cl-markdown")
13088 (version "0.10.4")
13089 (source
13090 (origin
13091 (method git-fetch)
13092 (uri (git-reference
13093 (url "https://github.com/gwkkwg/cl-markdown")
13094 (commit (string-append "version-" version))))
13095 (file-name (git-file-name "cl-markdown" version))
13096 (sha256
13097 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13098 (build-system asdf-build-system/sbcl)
13099 (inputs
13100 `(("anaphora" ,sbcl-anaphora)
13101 ("cl-containers" ,sbcl-cl-containers)
13102 ("cl-ppcre" ,sbcl-cl-ppcre)
13103 ("dynamic-classes" ,sbcl-dynamic-classes)
13104 ("metabang-bind" ,sbcl-metabang-bind)
13105 ("metatilities-base" ,sbcl-metatilities-base)))
13106 (arguments
13107 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13108 ;; available systems, which themself are abandoned.
13109 `(#:tests? #f))
13110 (home-page "https://common-lisp.net/project/cl-markdown/")
13111 (synopsis "Common Lisp rewrite of Markdown")
13112 (description
13113 "This is an implementation of a Markdown parser in Common Lisp.")
13114 (license license:expat)))
13115
13116 (define-public ecl-cl-markdown
13117 (sbcl-package->ecl-package sbcl-cl-markdown))
13118
13119 (define-public cl-markdown
13120 (sbcl-package->cl-source-package sbcl-cl-markdown))
13121
13122 (define-public sbcl-magicffi
13123 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13124 (package
13125 (name "sbcl-magicffi")
13126 (version (git-version "0.0.0" "1" commit))
13127 (source
13128 (origin
13129 (method git-fetch)
13130 (uri (git-reference
13131 (url "https://github.com/dochang/magicffi/")
13132 (commit commit)))
13133 (file-name (git-file-name name version))
13134 (sha256
13135 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13136 (build-system asdf-build-system/sbcl)
13137 (native-inputs
13138 `(("alexandria" ,sbcl-alexandria)))
13139 (inputs
13140 `(("cffi" ,sbcl-cffi)
13141 ("ppcre" ,sbcl-cl-ppcre)
13142 ("libmagic" ,file)))
13143 (arguments
13144 `(#:phases
13145 (modify-phases %standard-phases
13146 (add-after 'unpack 'fix-paths
13147 (lambda* (#:key inputs #:allow-other-keys)
13148 (let ((magic (assoc-ref inputs "libmagic")))
13149 (substitute* "grovel.lisp"
13150 (("/usr/include/magic.h")
13151 (string-append magic "/include/magic.h")))
13152 (substitute* "api.lisp"
13153 ((":default \"libmagic\"" all)
13154 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13155 (home-page "https://common-lisp.net/project/magicffi/")
13156 (synopsis "Common Lisp interface to libmagic based on CFFI")
13157 (description
13158 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13159 determination library using @emph{magic} numbers.")
13160 (license license:bsd-2))))
13161
13162 (define-public ecl-magicffi
13163 (sbcl-package->ecl-package sbcl-magicffi))
13164
13165 (define-public cl-magicffi
13166 (sbcl-package->cl-source-package sbcl-magicffi))
13167
13168 (define-public sbcl-shlex
13169 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13170 (package
13171 (name "sbcl-shlex")
13172 (version (git-version "0.0.0" "1" commit))
13173 (source
13174 (origin
13175 (method git-fetch)
13176 (uri (git-reference
13177 (url "https://github.com/ruricolist/cl-shlex")
13178 (commit commit)))
13179 (file-name (git-file-name name version))
13180 (sha256
13181 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13182 (build-system asdf-build-system/sbcl)
13183 (inputs
13184 `(("alexandria" ,sbcl-alexandria)
13185 ("serapeum" ,sbcl-serapeum)
13186 ("ppcre" ,sbcl-cl-ppcre)
13187 ("unicode" ,sbcl-cl-unicode)))
13188 (home-page "https://github.com/ruricolist/cl-shlex")
13189 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13190 (description
13191 "This library contains a lexer for syntaxes that use shell-like rules
13192 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13193 standard library.")
13194 (license license:expat))))
13195
13196 (define-public ecl-shlex
13197 (sbcl-package->ecl-package sbcl-shlex))
13198
13199 (define-public cl-shlex
13200 (sbcl-package->cl-source-package sbcl-shlex))
13201
13202 (define-public sbcl-cmd
13203 (let ((commit "e6a54dbf660bf229c80abc124fa47e7bb6d20c93"))
13204 (package
13205 (name "sbcl-cmd")
13206 (version (git-version "0.0.1" "2" commit))
13207 (source
13208 (origin
13209 (method git-fetch)
13210 (uri (git-reference
13211 (url "https://github.com/ruricolist/cmd/")
13212 (commit commit)))
13213 (file-name (git-file-name name version))
13214 (sha256
13215 (base32 "1i0l8ci4cnkx84q4afmpkq51nxah24fqpi6k9kgjbxz6li3zp8hy"))))
13216 (build-system asdf-build-system/sbcl)
13217 (inputs
13218 `(("alexandria" ,sbcl-alexandria)
13219 ("coreutils" ,coreutils)
13220 ("serapeum" ,sbcl-serapeum)
13221 ("shlex" ,sbcl-shlex)
13222 ("trivia" ,sbcl-trivia)))
13223 (arguments
13224 `(#:phases
13225 (modify-phases %standard-phases
13226 (add-after 'unpack 'fix-paths
13227 (lambda* (#:key inputs #:allow-other-keys)
13228 (let ((bin (string-append (assoc-ref inputs "coreutils") "/bin")))
13229 (substitute* "cmd.lisp"
13230 (("\"env\"") (format #f "\"~a/env\"" bin))
13231 (("\"pwd\"") (format #f "\"~a/pwd\"" bin)))))))))
13232 (home-page "https://github.com/ruricolist/cmd")
13233 (synopsis "Conveniently run external programs from Common Lisp")
13234 (description
13235 "A utility for running external programs, built on UIOP.
13236 Cmd is designed to be natural to use, protect against shell interpolation and
13237 be usable from multi-threaded programs.")
13238 (license license:expat))))
13239
13240 (define-public ecl-cmd
13241 (sbcl-package->ecl-package sbcl-cmd))
13242
13243 (define-public cl-cmd
13244 (sbcl-package->cl-source-package sbcl-cmd))
13245
13246 (define-public sbcl-ppath
13247 (let ((commit "eb1a8173b4d1d691ea9a7699412123462f58c3ce"))
13248 (package
13249 (name "sbcl-ppath")
13250 (version (git-version "0.1" "1" commit))
13251 (source
13252 (origin
13253 (method git-fetch)
13254 (uri (git-reference
13255 (url "https://github.com/fourier/ppath/")
13256 (commit commit)))
13257 (file-name (git-file-name name commit))
13258 (sha256
13259 (base32 "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb"))))
13260 (build-system asdf-build-system/sbcl)
13261 (inputs
13262 `(("alexandria" ,sbcl-alexandria)
13263 ("cffi" ,sbcl-cffi)
13264 ("osicat" ,sbcl-osicat)
13265 ("ppcre" ,sbcl-cl-ppcre)
13266 ("split-sequence" ,sbcl-split-sequence)
13267 ("trivial-features" ,sbcl-trivial-features)))
13268 (native-inputs
13269 `(("cl-fad" ,sbcl-cl-fad)
13270 ("prove" ,sbcl-prove)))
13271 (home-page "https://github.com/fourier/ppath")
13272 (synopsis "Common Lisp's implementation of the Python's os.path module")
13273 (description
13274 "This library is a path strings manipulation library inspired by
13275 Python's @code{os.path}. All functionality from @code{os.path} is supported on
13276 major operation systems.
13277
13278 The philosophy behind is to use simple strings and \"dumb\" string
13279 manipulation functions to handle paths and filenames. Where possible the
13280 corresponding OS system functions are called.")
13281 (license license:bsd-2))))
13282
13283 (define-public ecl-ppath
13284 (sbcl-package->ecl-package sbcl-ppath))
13285
13286 (define-public cl-ppath
13287 (sbcl-package->cl-source-package sbcl-ppath))
13288
13289 (define-public sbcl-trivial-escapes
13290 (let ((commit "1eca78da2078495d09893be58c28b3aa7b8cc4d1"))
13291 (package
13292 (name "sbcl-trivial-escapes")
13293 (version (git-version "1.2.0" "1" commit))
13294 (source
13295 (origin
13296 (method git-fetch)
13297 (uri (git-reference
13298 (url "https://github.com/williamyaoh/trivial-escapes")
13299 (commit commit)))
13300 (file-name (git-file-name name commit))
13301 (sha256
13302 (base32 "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr"))))
13303 (build-system asdf-build-system/sbcl)
13304 (inputs
13305 `(("named-readtables" ,sbcl-named-readtables)))
13306 (native-inputs
13307 `(("fiveam" ,sbcl-fiveam)))
13308 (home-page "https://github.com/williamyaoh/trivial-escapes")
13309 (synopsis "C-style escape directives for Common Lisp")
13310 (description
13311 "This Common Lisp library interprets escape characters the same way that
13312 most other programming language do.
13313 It provides four readtables. The default one lets you write strings like this:
13314 @code{#\"This string has\na newline in it!\"}.")
13315 (license license:public-domain))))
13316
13317 (define-public ecl-trivial-escapes
13318 (sbcl-package->ecl-package sbcl-trivial-escapes))
13319
13320 (define-public cl-trivial-escapes
13321 (sbcl-package->cl-source-package sbcl-trivial-escapes))
13322
13323 (define-public sbcl-cl-indentify
13324 (let ((commit "eb770f434defa4cd41d84bca822428dfd0dbac53"))
13325 (package
13326 (name "sbcl-cl-indentify")
13327 (version (git-version "0.1" "1" commit))
13328 (source
13329 (origin
13330 (method git-fetch)
13331 (uri (git-reference
13332 (url "https://github.com/yitzchak/cl-indentify")
13333 (commit commit)))
13334 (file-name (git-file-name name commit))
13335 (sha256
13336 (base32 "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p"))))
13337 (build-system asdf-build-system/sbcl)
13338 (inputs
13339 `(("alexandria" ,sbcl-alexandria)
13340 ("command-line-arguments" ,sbcl-command-line-arguments)
13341 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13342 (native-inputs
13343 `(("trivial-escapes" ,sbcl-trivial-escapes)
13344 ("rove" ,sbcl-rove)))
13345 (home-page "https://github.com/yitzchak/cl-indentify")
13346 (synopsis "Code beautifier for Common Lisp")
13347 (description
13348 "A library and command line utility to automatically indent Common Lisp
13349 source files.")
13350 (license license:expat))))
13351
13352 (define-public ecl-cl-indentify
13353 (sbcl-package->ecl-package sbcl-cl-indentify))
13354
13355 (define-public cl-indentify
13356 (sbcl-package->cl-source-package sbcl-cl-indentify))
13357
13358 (define-public sbcl-concrete-syntax-tree
13359 (let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
13360 (package
13361 (name "sbcl-concrete-syntax-tree")
13362 (version (git-version "0.0.0" "1" commit))
13363 (source
13364 (origin
13365 (method git-fetch)
13366 (uri (git-reference
13367 (url "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13368 (commit commit)))
13369 (file-name (git-file-name name commit))
13370 (sha256
13371 (base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
13372 (build-system asdf-build-system/sbcl)
13373 (inputs
13374 `(("acclimation" ,sbcl-acclimation)))
13375 (home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
13376 (synopsis "Parse Common Lisp code into a concrete syntax tree")
13377 (description
13378 "This library is intended to solve the problem of source tracking for
13379 Common Lisp code.
13380
13381 By \"source tracking\", it is meant that code elements that have a known
13382 origin in the form of a position in a file or in an editor buffer are
13383 associated with some kind of information about this origin.
13384
13385 Since the exact nature of such origin information depends on the Common Lisp
13386 implementation and the purpose of wanting to track that origin, the library
13387 does not impose a particular structure of this information. Instead, it
13388 provides utilities for manipulating source code in the form of what is called
13389 concrete syntax trees (CSTs for short) that preserve this information about
13390 the origin.")
13391 (license license:bsd-2))))
13392
13393 (define-public ecl-concrete-syntax-tree
13394 (sbcl-package->ecl-package sbcl-concrete-syntax-tree))
13395
13396 (define-public cl-concrete-syntax-tree
13397 (sbcl-package->cl-source-package sbcl-concrete-syntax-tree))
13398
13399 (define-public sbcl-eclector
13400 (package
13401 (name "sbcl-eclector")
13402 (version "0.5.0")
13403 (source
13404 (origin
13405 (method git-fetch)
13406 (uri (git-reference
13407 (url "https://github.com/s-expressionists/Eclector")
13408 (commit version)))
13409 (file-name (git-file-name name version))
13410 (sha256
13411 (base32 "0bwkla0jdp5bg0q1zca5wg22b0nbdmglgax345nrhsf8bdrh47wm"))))
13412 (build-system asdf-build-system/sbcl)
13413 (inputs
13414 `(("acclimation" ,sbcl-acclimation)
13415 ("alexandria" ,sbcl-alexandria)
13416 ("closer-mop" ,sbcl-closer-mop)
13417 ("concrete-syntax-tree" ,sbcl-concrete-syntax-tree)))
13418 (native-inputs
13419 `(("fiveam" ,sbcl-fiveam)))
13420 (arguments
13421 '(#:asd-systems '("eclector"
13422 "eclector-concrete-syntax-tree")))
13423 (home-page "https://s-expressionists.github.io/Eclector/")
13424 (synopsis "Highly customizable, portable Common Lisp reader")
13425 (description
13426 "Eclector is a portable Common Lisp reader that is highly customizable,
13427 can recover from errors and can return concrete syntax trees.
13428
13429 In contrast to many other reader implementations, eclector can recover from
13430 most errors in the input supplied to it and continue reading. This capability
13431 is realized as a restart.
13432
13433 It can also produce instances of the concrete syntax tree classes provided by
13434 the concrete syntax tree library.")
13435 (license license:bsd-2)))
13436
13437 (define-public ecl-eclector
13438 (sbcl-package->ecl-package sbcl-eclector))
13439
13440 (define-public cl-eclector
13441 (sbcl-package->cl-source-package sbcl-eclector))
13442
13443 (define-public sbcl-jsown
13444 (let ((commit "744c4407bef58dfa876d9da0b5c0205d869e7977"))
13445 (package
13446 (name "sbcl-jsown")
13447 (version (git-version "1.0.1" "1" commit))
13448 (source
13449 (origin
13450 (method git-fetch)
13451 (uri (git-reference
13452 (url "https://github.com/madnificent/jsown")
13453 (commit commit)))
13454 (file-name (git-file-name name commit))
13455 (sha256
13456 (base32 "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7"))))
13457 (build-system asdf-build-system/sbcl)
13458 (home-page "https://github.com/madnificent/jsown")
13459 (synopsis "Fast JSON reader / writer library for Common Lisp")
13460 (description
13461 "@code{jsown} is a high performance Common Lisp JSON parser. Its aim
13462 is to allow for the fast parsing of JSON objects in Common Lisp. Recently,
13463 functions and macros have been added to ease the burden of writing and editing
13464 @code{jsown} objects.
13465
13466 @code{jsown} allows you to parse JSON objects quickly to a modifiable Lisp
13467 list and write them back. If you only need partial retrieval of objects,
13468 @code{jsown} allows you to select the keys which you would like to see parsed.
13469 @code{jsown} also has a JSON writer and some helper methods to alter the JSON
13470 objects themselves.")
13471 (license license:expat))))
13472
13473 (define-public ecl-jsown
13474 (sbcl-package->ecl-package sbcl-jsown))
13475
13476 (define-public cl-jsown
13477 (sbcl-package->cl-source-package sbcl-jsown))