83fa2a7b5d5b110edc72d1998cd11341d529d44a
[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 Adam Kandur <rndd@tuta.io>
23 ;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
24 ;;; Copyright © 2021 Aurora <rind38@disroot.org>
25 ;;;
26 ;;; This file is part of GNU Guix.
27 ;;;
28 ;;; GNU Guix is free software; you can redistribute it and/or modify it
29 ;;; under the terms of the GNU General Public License as published by
30 ;;; the Free Software Foundation; either version 3 of the License, or (at
31 ;;; your option) any later version.
32 ;;;
33 ;;; GNU Guix is distributed in the hope that it will be useful, but
34 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36 ;;; GNU General Public License for more details.
37 ;;;
38 ;;; You should have received a copy of the GNU General Public License
39 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41 ;;; This file only contains Common Lisp libraries.
42 ;;; Common Lisp compilers and tooling go to lisp.scm.
43 ;;; Common Lisp applications should go to the most appropriate file,
44 ;;; e.g. StumpWM is in wm.scm.
45
46 (define-module (gnu packages lisp-xyz)
47 #:use-module (gnu packages)
48 #:use-module ((guix licenses) #:prefix license:)
49 #:use-module (guix packages)
50 #:use-module (guix download)
51 #:use-module (guix git-download)
52 #:use-module (guix hg-download)
53 #:use-module (guix utils)
54 #:use-module (guix build-system asdf)
55 #:use-module (guix build-system trivial)
56 #:use-module (gnu packages c)
57 #:use-module (gnu packages compression)
58 #:use-module (gnu packages databases)
59 #:use-module (gnu packages enchant)
60 #:use-module (gnu packages file)
61 #:use-module (gnu packages fonts)
62 #:use-module (gnu packages fontutils)
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages gtk)
65 #:use-module (gnu packages imagemagick)
66 #:use-module (gnu packages libevent)
67 #:use-module (gnu packages libffi)
68 #:use-module (gnu packages lisp)
69 #:use-module (gnu packages maths)
70 #:use-module (gnu packages networking)
71 #:use-module (gnu packages pkg-config)
72 #:use-module (gnu packages python)
73 #:use-module (gnu packages python-xyz)
74 #:use-module (gnu packages sqlite)
75 #:use-module (gnu packages tcl)
76 #:use-module (gnu packages tls)
77 #:use-module (gnu packages web)
78 #:use-module (gnu packages webkit)
79 #:use-module (gnu packages xdisorg)
80 #:use-module (ice-9 match)
81 #:use-module (srfi srfi-1)
82 #:use-module (srfi srfi-19))
83
84 (define-public sbcl-alexandria
85 (package
86 (name "sbcl-alexandria")
87 (version "1.2")
88 (source
89 (origin
90 (method git-fetch)
91 (uri (git-reference
92 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
93 (commit (string-append "v" version))))
94 (sha256
95 (base32
96 "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712"))
97 (file-name (git-file-name name version))))
98 (build-system asdf-build-system/sbcl)
99 (native-inputs
100 `(("rt" ,sbcl-rt)))
101 (synopsis "Collection of portable utilities for Common Lisp")
102 (description
103 "Alexandria is a collection of portable utilities. It does not contain
104 conceptual extensions to Common Lisp. It is conservative in scope, and
105 portable between implementations.")
106 (home-page "https://common-lisp.net/project/alexandria/")
107 (license license:public-domain)))
108
109 (define-public cl-alexandria
110 (sbcl-package->cl-source-package sbcl-alexandria))
111
112 (define-public ecl-alexandria
113 (sbcl-package->ecl-package sbcl-alexandria))
114
115 (define-public sbcl-asdf-finalizers
116 (let ((commit "7f537f6c598b662ae987c6acc268dd27c25977e0")
117 (revision "1"))
118 (package
119 (name "sbcl-asdf-finalizers")
120 (version (git-version "0.0.0" revision commit))
121 (source
122 (origin
123 (method git-fetch)
124 (uri (git-reference
125 (url "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
126 (commit commit)))
127 (file-name (git-file-name name version))
128 (sha256
129 (base32 "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v"))))
130 (build-system asdf-build-system/sbcl)
131 (native-inputs
132 `(("fare-utils" ,sbcl-fare-utils)
133 ("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
134 (arguments
135 `(#:asd-files '("asdf-finalizers.asd"
136 "list-of.asd"
137 "asdf-finalizers-test.asd")
138 #:asd-systems '("asdf-finalizers"
139 "list-of")))
140 (home-page "https://gitlab.common-lisp.net/asdf/asdf-finalizers")
141 (synopsis "Enforced calling of finalizers for Lisp code")
142 (description "This library allows you to implement and enforce proper
143 finalization of compile-time constructs while building Lisp source files.
144
145 It produces two systems: asdf-finalizers and list-of.")
146 (license license:expat))))
147
148 (define-public ecl-asdf-finalizers
149 (sbcl-package->ecl-package sbcl-asdf-finalizers))
150
151 (define-public cl-asdf-finalizers
152 (sbcl-package->cl-source-package sbcl-asdf-finalizers))
153
154 (define-public sbcl-net.didierverna.asdf-flv
155 (package
156 (name "sbcl-net.didierverna.asdf-flv")
157 (version "2.1")
158 (source
159 (origin
160 (method git-fetch)
161 (uri (git-reference
162 (url "https://github.com/didierverna/asdf-flv")
163 (commit (string-append "version-" version))))
164 (file-name (git-file-name "asdf-flv" version))
165 (sha256
166 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
167 (build-system asdf-build-system/sbcl)
168 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
169 (description "ASDF-FLV provides support for file-local variables through
170 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
171 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
172 dynamic binding is created before processing the file, so that any
173 modification to the variable becomes essentially file-local.
174
175 In order to make one or several variables file-local, use the macros
176 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
177 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
178 (license (license:non-copyleft
179 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
180 "GNU All-Permissive License"))))
181
182 (define-public cl-net.didierverna.asdf-flv
183 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
184
185 (define-public ecl-net.didierverna.asdf-flv
186 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
187
188 (define-public sbcl-command-line-arguments
189 (let ((commit "fbac862fb01c0e368141204f3f639920462c23fe")
190 (revision "1"))
191 (package
192 (name "sbcl-command-line-arguments")
193 (version (git-version "2.0.0" revision commit))
194 (source
195 (origin
196 (method git-fetch)
197 (uri (git-reference
198 (url "https://github.com/fare/command-line-arguments")
199 (commit commit)))
200 (file-name (git-file-name name version))
201 (sha256
202 (base32 "054m1ikndzqf72mb9ajaa64136cwr3bgag4yfbi1574a9vq75mjq"))))
203 (build-system asdf-build-system/sbcl)
204 (home-page "https://github.com/fare/command-line-arguments")
205 (synopsis "Trivial command-line argument parsing library for Common Lisp")
206 (description "This is a library to abstract away the parsing of
207 Unix-style command-line arguments. Use it in conjunction with asdf:program-op
208 or cl-launch for portable processing of command-line arguments.")
209 (license license:expat))))
210
211 (define-public ecl-command-line-arguments
212 (sbcl-package->ecl-package sbcl-command-line-arguments))
213
214 (define-public cl-command-line-arguments
215 (sbcl-package->cl-source-package sbcl-command-line-arguments))
216
217 (define-public sbcl-fiveam
218 (package
219 (name "sbcl-fiveam")
220 (version "1.4.1")
221 (source
222 (origin
223 (method git-fetch)
224 (uri (git-reference
225 (url "https://github.com/sionescu/fiveam")
226 (commit (string-append "v" version))))
227 (file-name (git-file-name "fiveam" version))
228 (sha256
229 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
230 (inputs
231 `(("alexandria" ,sbcl-alexandria)
232 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
233 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
234 (build-system asdf-build-system/sbcl)
235 (synopsis "Common Lisp testing framework")
236 (description "FiveAM is a simple (as far as writing and running tests
237 goes) regression testing framework. It has been designed with Common Lisp's
238 interactive development model in mind.")
239 (home-page "https://common-lisp.net/project/fiveam/")
240 (license license:bsd-3)))
241
242 (define-public cl-fiveam
243 (sbcl-package->cl-source-package sbcl-fiveam))
244
245 (define-public ecl-fiveam
246 (sbcl-package->ecl-package sbcl-fiveam))
247
248 (define-public sbcl-bordeaux-threads
249 (package
250 (name "sbcl-bordeaux-threads")
251 (version "0.8.8")
252 (source (origin
253 (method git-fetch)
254 (uri (git-reference
255 (url "https://github.com/sionescu/bordeaux-threads")
256 (commit (string-append "v" version))))
257 (sha256
258 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
259 (file-name
260 (git-file-name "bordeaux-threads" version))))
261 (inputs `(("alexandria" ,sbcl-alexandria)))
262 (native-inputs `(("fiveam" ,sbcl-fiveam)))
263 (build-system asdf-build-system/sbcl)
264 (synopsis "Portable shared-state concurrency library for Common Lisp")
265 (description "BORDEAUX-THREADS is a proposed standard for a minimal
266 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
267 support.")
268 (home-page "https://common-lisp.net/project/bordeaux-threads/")
269 (license license:x11)))
270
271 (define-public cl-bordeaux-threads
272 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
273
274 (define-public ecl-bordeaux-threads
275 (sbcl-package->ecl-package sbcl-bordeaux-threads))
276
277 (define-public sbcl-trivial-gray-streams
278 (let ((revision "1")
279 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
280 (package
281 (name "sbcl-trivial-gray-streams")
282 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
283 (source
284 (origin
285 (method git-fetch)
286 (uri
287 (git-reference
288 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
289 (commit commit)))
290 (sha256
291 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
292 (file-name
293 (string-append "trivial-gray-streams-" version "-checkout"))))
294 (build-system asdf-build-system/sbcl)
295 (synopsis "Compatibility layer for Gray streams implementations")
296 (description "Gray streams is an interface proposed for inclusion with
297 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
298 popular CL implementations implement it. This package provides an extremely
299 thin compatibility layer for gray streams.")
300 (home-page "https://www.cliki.net/trivial-gray-streams")
301 (license license:x11))))
302
303 (define-public cl-trivial-gray-streams
304 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
305
306 (define-public ecl-trivial-gray-streams
307 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
308
309 (define-public sbcl-fiasco
310 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
311 (revision "1"))
312 (package
313 (name "sbcl-fiasco")
314 (version (git-version "0.0.1" revision commit))
315 (source
316 (origin
317 (method git-fetch)
318 (uri (git-reference
319 (url "https://github.com/joaotavora/fiasco")
320 (commit commit)))
321 (file-name (git-file-name "fiasco" version))
322 (sha256
323 (base32
324 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
325 (build-system asdf-build-system/sbcl)
326 (inputs
327 `(("alexandria" ,sbcl-alexandria)
328 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
329 (synopsis "Simple and powerful test framework for Common Lisp")
330 (description "A Common Lisp test framework that treasures your failures,
331 logical continuation of Stefil. It focuses on interactive debugging.")
332 (home-page "https://github.com/joaotavora/fiasco")
333 ;; LICENCE specifies this is public-domain unless the legislation
334 ;; doesn't allow or recognize it. In that case it falls back to a
335 ;; permissive licence.
336 (license (list license:public-domain
337 (license:x11-style "file://LICENCE"))))))
338
339 (define-public cl-fiasco
340 (sbcl-package->cl-source-package sbcl-fiasco))
341
342 (define-public ecl-fiasco
343 (sbcl-package->ecl-package sbcl-fiasco))
344
345 (define-public sbcl-flexi-streams
346 (package
347 (name "sbcl-flexi-streams")
348 (version "1.0.18")
349 (source
350 (origin
351 (method git-fetch)
352 (uri (git-reference
353 (url "https://github.com/edicl/flexi-streams")
354 (commit (string-append "v" version))))
355 (file-name (git-file-name "flexi-streams" version))
356 (sha256
357 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
358 (build-system asdf-build-system/sbcl)
359 (arguments
360 `(#:phases
361 (modify-phases %standard-phases
362 (add-after 'unpack 'make-git-checkout-writable
363 (lambda _
364 (for-each make-file-writable (find-files "."))
365 #t)))))
366 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
367 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
368 (description "Flexi-streams is an implementation of \"virtual\" bivalent
369 streams that can be layered atop real binary or bivalent streams and that can
370 be used to read and write character data in various single- or multi-octet
371 encodings which can be changed on the fly. It also supplies in-memory binary
372 streams which are similar to string streams.")
373 (home-page "http://weitz.de/flexi-streams/")
374 (license license:bsd-3)))
375
376 (define-public cl-flexi-streams
377 (sbcl-package->cl-source-package sbcl-flexi-streams))
378
379 (define-public ecl-flexi-streams
380 (sbcl-package->ecl-package sbcl-flexi-streams))
381
382 (define-public sbcl-cl-abnf
383 ;; There are no releases
384 (let ((commit "ba1fbb104dedbdaddb1ef93d2e4da711bd96cd70")
385 (revision "1"))
386 (package
387 (name "sbcl-cl-abnf")
388 (version (git-version "0.0.0" revision commit))
389 (source
390 (origin
391 (method git-fetch)
392 (uri (git-reference
393 (url "https://github.com/dimitri/cl-abnf")
394 (commit commit)))
395 (file-name (git-file-name "cl-abnf" version))
396 (sha256
397 (base32 "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz"))))
398 (build-system asdf-build-system/sbcl)
399 (inputs
400 `(("cl-ppcre" ,sbcl-cl-ppcre)
401 ("esrap" ,sbcl-esrap)))
402 (arguments
403 `(#:asd-systems '("abnf")))
404 (home-page "https://github.com/dimitri/cl-abnf")
405 (synopsis "ABNF parser generator for Common Lisp")
406 (description "This Common Lisp library implements a parser generator for
407 the ABNF grammar format as described in RFC2234. The generated parser is a
408 regular expression scanner provided by the cl-ppcre lib, which means that we
409 can't parse recursive grammar definition. One such definition is the ABNF
410 definition as given by the RFC. Fortunately, as you have this lib, you most
411 probably don't need to generate another parser to handle that particular ABNF
412 grammar.")
413 (license license:expat))))
414
415 (define-public cl-abnf
416 (sbcl-package->cl-source-package sbcl-cl-abnf))
417
418 (define-public ecl-cl-abnf
419 (sbcl-package->ecl-package sbcl-cl-abnf))
420
421 (define-public sbcl-cl-ppcre
422 (package
423 (name "sbcl-cl-ppcre")
424 (version "2.1.1")
425 (source
426 (origin
427 (method git-fetch)
428 (uri (git-reference
429 (url "https://github.com/edicl/cl-ppcre")
430 (commit (string-append "v" version))))
431 (file-name (git-file-name "cl-ppcre" version))
432 (sha256
433 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
434 (build-system asdf-build-system/sbcl)
435 (native-inputs
436 `(("flexi-streams" ,sbcl-flexi-streams)))
437 (arguments
438 `(#:phases
439 (modify-phases %standard-phases
440 (add-after 'unpack 'disable-ppcre-unicode
441 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
442 ;; to work around the circular dependency between edicl/cl-ppcre
443 ;; and edicl/cl-unicode.
444 (lambda _
445 (delete-file "cl-ppcre-unicode.asd")
446 #t)))))
447 (synopsis "Portable regular expression library for Common Lisp")
448 (description "CL-PPCRE is a portable regular expression library for Common
449 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
450 compatible with ANSI-compliant Common Lisp implementations.")
451 (home-page "http://weitz.de/cl-ppcre/")
452 (license license:bsd-2)))
453
454 (define-public cl-ppcre
455 (sbcl-package->cl-source-package sbcl-cl-ppcre))
456
457 (define-public ecl-cl-ppcre
458 (sbcl-package->ecl-package sbcl-cl-ppcre))
459
460 (define-public sbcl-uax-15
461 (let ((commit "e7439a91b72f533fcf736643e3ff0677b56c2e7d")
462 (revision "1"))
463 (package
464 (name "sbcl-uax-15")
465 (version (git-version "0.1" revision commit))
466 (source
467 (origin
468 (method git-fetch)
469 (uri (git-reference
470 (url "https://github.com/sabracrolleton/uax-15")
471 (commit commit)))
472 (file-name (git-file-name "uax-15" version))
473 (sha256
474 (base32 "1vf8a2aikgx0l5bsq0z9s0dw3sgx1887xhagdlf66fwffa5jskg6"))))
475 (build-system asdf-build-system/sbcl)
476 (native-inputs
477 `(("fiveam" ,sbcl-fiveam)))
478 (inputs
479 `(("cl-ppcre" ,sbcl-cl-ppcre)
480 ("split-sequence" ,sbcl-split-sequence)))
481 (arguments
482 `(#:asd-systems '("uax-15")))
483 (home-page "https://github.com/sabracrolleton/uax-15")
484 (synopsis "Common Lisp implementation of unicode normalization functions")
485 (description "This package provides supports for unicode normalization,
486 RFC8264 and RFC7564.")
487 (license license:expat))))
488
489 (define-public cl-uax-15
490 (sbcl-package->cl-source-package sbcl-uax-15))
491
492 (define-public ecl-uax-15
493 (sbcl-package->ecl-package sbcl-uax-15))
494
495 (define-public sbcl-cl-unicode
496 (package
497 (name "sbcl-cl-unicode")
498 (version "0.1.6")
499 (source (origin
500 (method git-fetch)
501 (uri (git-reference
502 (url "https://github.com/edicl/cl-unicode")
503 (commit (string-append "v" version))))
504 (file-name (git-file-name name version))
505 (sha256
506 (base32
507 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
508 (build-system asdf-build-system/sbcl)
509 (native-inputs
510 `(("flexi-streams" ,sbcl-flexi-streams)))
511 (inputs
512 `(("cl-ppcre" ,sbcl-cl-ppcre)))
513 (home-page "http://weitz.de/cl-unicode/")
514 (synopsis "Portable Unicode library for Common Lisp")
515 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
516 is compatible with perl. It is pretty fast, thread-safe, and compatible with
517 ANSI-compliant Common Lisp implementations.")
518 (license license:bsd-2)))
519
520 (define-public ecl-cl-unicode
521 (sbcl-package->ecl-package sbcl-cl-unicode))
522
523 (define-public cl-unicode
524 (sbcl-package->cl-source-package sbcl-cl-unicode))
525
526 (define-public sbcl-cl-ppcre-unicode
527 (package (inherit sbcl-cl-ppcre)
528 (name "sbcl-cl-ppcre-unicode")
529 (inputs
530 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
531 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))
532 (arguments
533 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
534 #:phases
535 (modify-phases %standard-phases
536 (add-after 'unpack 'disable-ppcre
537 ;; cl-ppcre and cl-ppcre-unicode are put in different packages
538 ;; to work around the circular dependency between edicl/cl-ppcre
539 ;; and edicl/cl-unicode.
540 (lambda _
541 (delete-file "cl-ppcre.asd")
542 #t)))))))
543
544 (define-public cl-ppcre-unicode
545 (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode))
546
547 (define-public ecl-cl-ppcre-unicode
548 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
549
550 (define-public sbcl-zpb-ttf
551 (package
552 (name "sbcl-zpb-ttf")
553 (version "1.0.3")
554 (source
555 (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/xach/zpb-ttf")
559 (commit (string-append "release-" version))))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32
563 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
564 (build-system asdf-build-system/sbcl)
565 (home-page "https://github.com/xach/zpb-ttf")
566 (synopsis "TrueType font file access for Common Lisp")
567 (description
568 "ZPB-TTF is a TrueType font file parser that provides an interface for
569 reading typographic metrics, glyph outlines, and other information from the
570 file.")
571 (license license:bsd-2)))
572
573 (define-public ecl-zpb-ttf
574 (sbcl-package->ecl-package sbcl-zpb-ttf))
575
576 (define-public cl-zpb-ttf
577 (sbcl-package->cl-source-package sbcl-zpb-ttf))
578
579 (define-public sbcl-cl-vectors
580 (package
581 (name "sbcl-cl-vectors")
582 (version "0.1.5")
583 (source
584 (origin
585 (method url-fetch)
586 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
587 "files/cl-vectors-" version ".tar.gz"))
588 (sha256
589 (base32
590 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
591 (build-system asdf-build-system/sbcl)
592 (inputs
593 `(("zpb-ttf" ,sbcl-zpb-ttf)))
594 (arguments
595 '(#:asd-systems '("cl-vectors"
596 "cl-paths-ttf")))
597 (home-page "http://projects.tuxee.net/cl-vectors/")
598 (synopsis "Create, transform and render anti-aliased vectorial paths")
599 (description
600 "This is a pure Common Lisp library to create, transform and render
601 anti-aliased vectorial paths.")
602 (license license:expat)))
603
604 (define-public ecl-cl-vectors
605 (sbcl-package->ecl-package sbcl-cl-vectors))
606
607 (define-public cl-vectors
608 (sbcl-package->cl-source-package sbcl-cl-vectors))
609
610 (define-public sbcl-spatial-trees
611 ;; There have been no releases.
612 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
613 (revision "1"))
614 (package
615 (name "sbcl-spatial-trees")
616 (version (git-version "0" revision commit))
617 (source
618 (origin
619 (method git-fetch)
620 (uri (git-reference
621 (url "https://github.com/rpav/spatial-trees")
622 (commit commit)))
623 (file-name (git-file-name name version))
624 (sha256
625 (base32
626 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
627 (build-system asdf-build-system/sbcl)
628 (arguments
629 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
630 #:test-asd-file "spatial-trees.test.asd"))
631 (native-inputs
632 `(("fiveam" ,sbcl-fiveam)))
633 (home-page "https://github.com/rpav/spatial-trees")
634 (synopsis "Dynamic index data structures for spatially-extended data")
635 (description
636 "Spatial-trees is a set of dynamic index data structures for
637 spatially-extended data.")
638 (license license:bsd-3))))
639
640 (define-public ecl-spatial-trees
641 (sbcl-package->ecl-package sbcl-spatial-trees))
642
643 (define-public cl-spatial-trees
644 (sbcl-package->cl-source-package sbcl-spatial-trees))
645
646 (define-public sbcl-flexichain
647 ;; There are no releases.
648 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
649 (revision "1"))
650 (package
651 (name "sbcl-flexichain")
652 (version "1.5.1")
653 (source
654 (origin
655 (method git-fetch)
656 (uri (git-reference
657 (url "https://github.com/robert-strandh/Flexichain")
658 (commit commit)))
659 (file-name (git-file-name name version))
660 (sha256
661 (base32
662 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
663 (build-system asdf-build-system/sbcl)
664 (home-page "https://github.com/robert-strandh/Flexichain.git")
665 (synopsis "Dynamically add elements to or remove them from sequences")
666 (description
667 "This package provides an implementation of the flexichain protocol,
668 allowing client code to dynamically add elements to, and delete elements from
669 a sequence (or chain) of such elements.")
670 (license license:lgpl2.1+))))
671
672 (define-public ecl-flexichain
673 (sbcl-package->ecl-package sbcl-flexichain))
674
675 (define-public cl-flexichain
676 (sbcl-package->cl-source-package sbcl-flexichain))
677
678 (define-public sbcl-cl-pdf
679 ;; There are no releases
680 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
681 (revision "1"))
682 (package
683 (name "sbcl-cl-pdf")
684 (version (git-version "0" revision commit))
685 (source
686 (origin
687 (method git-fetch)
688 (uri (git-reference
689 (url "https://github.com/mbattyani/cl-pdf")
690 (commit commit)))
691 (file-name (git-file-name name version))
692 (sha256
693 (base32
694 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
695 (build-system asdf-build-system/sbcl)
696 (inputs
697 `(("iterate" ,sbcl-iterate)
698 ("zpb-ttf" ,sbcl-zpb-ttf)))
699 (home-page "https://github.com/mbattyani/cl-pdf")
700 (synopsis "Common Lisp library for generating PDF files")
701 (description
702 "CL-PDF is a cross-platform Common Lisp library for generating PDF
703 files.")
704 (license license:bsd-2))))
705
706 (define-public ecl-cl-pdf
707 (sbcl-package->ecl-package sbcl-cl-pdf))
708
709 (define-public cl-pdf
710 (sbcl-package->cl-source-package sbcl-cl-pdf))
711
712 (define-public sbcl-clx
713 (package
714 (name "sbcl-clx")
715 (version "0.7.5")
716 (source
717 (origin
718 (method git-fetch)
719 (uri
720 (git-reference
721 (url "https://github.com/sharplispers/clx")
722 (commit version)))
723 (sha256
724 (base32
725 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
726 (file-name (string-append "clx-" version))))
727 (build-system asdf-build-system/sbcl)
728 (native-inputs
729 `(("fiasco" ,sbcl-fiasco)))
730 (home-page "https://www.cliki.net/portable-clx")
731 (synopsis "X11 client library for Common Lisp")
732 (description "CLX is an X11 client library for Common Lisp. The code was
733 originally taken from a CMUCL distribution, was modified somewhat in order to
734 make it compile and run under SBCL, then a selection of patches were added
735 from other CLXes around the net.")
736 (license license:x11)))
737
738 (define-public cl-clx
739 (sbcl-package->cl-source-package sbcl-clx))
740
741 (define-public ecl-clx
742 (sbcl-package->ecl-package sbcl-clx))
743
744 (define-public sbcl-clx-truetype
745 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
746 (revision "1"))
747 (package
748 (name "sbcl-clx-truetype")
749 (version (git-version "0.0.1" revision commit))
750 (source
751 (origin
752 (method git-fetch)
753 (uri (git-reference
754 (url "https://github.com/l04m33/clx-truetype")
755 (commit commit)))
756 (file-name (git-file-name name version))
757 (sha256
758 (base32
759 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
760 (modules '((guix build utils)))
761 (snippet
762 '(begin
763 (substitute* "package.lisp"
764 ((":export") ":export\n :+font-cache-filename+"))
765 #t))))
766 (build-system asdf-build-system/sbcl)
767 (inputs
768 `(("clx" ,sbcl-clx)
769 ("zpb-ttf" ,sbcl-zpb-ttf)
770 ("cl-vectors" ,sbcl-cl-vectors)
771 ("cl-fad" ,sbcl-cl-fad)
772 ("cl-store" ,sbcl-cl-store)
773 ("trivial-features" ,sbcl-trivial-features)))
774 (home-page "https://github.com/l04m33/clx-truetype")
775 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
776 (description "CLX-TrueType is pure common lisp solution for
777 antialiased TrueType font rendering using CLX and XRender extension.")
778 (license license:expat))))
779
780 (define-public cl-clx-truetype
781 (sbcl-package->cl-source-package sbcl-clx-truetype))
782
783 (define-public ecl-clx-truetype
784 (sbcl-package->ecl-package sbcl-clx-truetype))
785
786 (define-public sbcl-slynk
787 (let ((commit "dffdf3caa12e964127d6eb45ba92ac0442cc5a48"))
788 (package
789 (name "sbcl-slynk")
790 (version (git-version "1.0.43" "1" commit))
791 (source
792 (origin
793 (method git-fetch)
794 (uri
795 (git-reference
796 (url "https://github.com/joaotavora/sly")
797 (commit commit)))
798 (sha256
799 (base32 "0vv185gz3rkfng5y79dijfnc11p92qdz2kdza05avjbpqfs6l0zn"))
800 (file-name (git-file-name "slynk" version))
801 (modules '((guix build utils)
802 (ice-9 ftw)))
803 (snippet
804 '(begin
805 ;; Move the contribs into the main source directory for easier
806 ;; access
807 (substitute* "slynk/slynk.asd"
808 (("\\.\\./contrib")
809 "contrib"))
810 (rename-file "contrib" "slynk/contrib")
811 ;; Move slynk's contents into the base directory for easier
812 ;; access
813 (for-each (lambda (file)
814 (unless (string-prefix? "." file)
815 (rename-file (string-append "slynk/" file)
816 (string-append "./" (basename file)))))
817 (scandir "slynk"))
818 #t))))
819 (build-system asdf-build-system/sbcl)
820 (outputs '("out" "image"))
821 (arguments
822 `(#:tests? #f ; No test suite
823 #:asd-systems '("slynk"
824 "slynk/arglists"
825 "slynk/fancy-inspector"
826 "slynk/package-fu"
827 "slynk/mrepl"
828 "slynk/trace-dialog"
829 "slynk/profiler"
830 "slynk/stickers"
831 "slynk/indentation"
832 "slynk/retro")
833 #:phases
834 (modify-phases %standard-phases
835 (add-after 'create-asdf-configuration 'build-image
836 (lambda* (#:key outputs #:allow-other-keys)
837 (build-image (string-append
838 (assoc-ref %outputs "image")
839 "/bin/slynk")
840 %outputs
841 #:dependencies '("slynk"
842 "slynk/arglists"
843 "slynk/fancy-inspector"
844 "slynk/package-fu"
845 "slynk/mrepl"
846 "slynk/trace-dialog"
847 "slynk/profiler"
848 "slynk/stickers"
849 "slynk/indentation"
850 "slynk/retro"))
851 #t)))))
852 (synopsis "Common Lisp IDE for Emacs")
853 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
854 It also features a completely redesigned REPL based on Emacs's own
855 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
856 button interface. Everything can be copied to the REPL. One can create
857 multiple inspectors with independent history.")
858 (home-page "https://github.com/joaotavora/sly")
859 (license license:public-domain)
860 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
861
862 (define-public cl-slynk
863 (sbcl-package->cl-source-package sbcl-slynk))
864
865 (define-public ecl-slynk
866 (let ((pkg (sbcl-package->ecl-package sbcl-slynk)))
867 (package
868 (inherit pkg)
869 (outputs '("out"))
870 (arguments
871 (substitute-keyword-arguments (package-arguments pkg)
872 ((#:phases phases)
873 `(modify-phases ,phases
874 (delete 'build-image))))))))
875
876 (define-public sbcl-parse-js
877 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
878 (revision "1"))
879 (package
880 (name "sbcl-parse-js")
881 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
882 (source
883 (origin
884 (method git-fetch)
885 (uri (git-reference
886 (url "http://marijn.haverbeke.nl/git/parse-js")
887 (commit commit)))
888 (file-name (string-append name "-" commit "-checkout"))
889 (sha256
890 (base32
891 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
892 (build-system asdf-build-system/sbcl)
893 (home-page "https://marijnhaverbeke.nl/parse-js/")
894 (synopsis "Parse JavaScript")
895 (description "Parse-js is a Common Lisp package for parsing
896 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
897 (license license:zlib))))
898
899 (define-public cl-parse-js
900 (sbcl-package->cl-source-package sbcl-parse-js))
901
902 (define-public ecl-parse-js
903 (sbcl-package->ecl-package sbcl-parse-js))
904
905 (define-public sbcl-parse-number
906 (package
907 (name "sbcl-parse-number")
908 (version "1.7")
909 (source
910 (origin
911 (method git-fetch)
912 (uri (git-reference
913 (url "https://github.com/sharplispers/parse-number/")
914 (commit (string-append "v" version))))
915 (file-name (git-file-name name version))
916 (sha256
917 (base32
918 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
919 (build-system asdf-build-system/sbcl)
920 (home-page "https://www.cliki.net/PARSE-NUMBER")
921 (synopsis "Parse numbers")
922 (description "@code{parse-number} is a library of functions for parsing
923 strings into one of the standard Common Lisp number types without using the
924 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
925 the string into one of the standard Common Lisp number types, if possible, or
926 else @code{parse-number} signals an error of type @code{invalid-number}.")
927 (license license:bsd-3)))
928
929 (define-public cl-parse-number
930 (sbcl-package->cl-source-package sbcl-parse-number))
931
932 (define-public ecl-parse-number
933 (sbcl-package->ecl-package sbcl-parse-number))
934
935 (define-public sbcl-iterate
936 (package
937 (name "sbcl-iterate")
938 (version "1.5")
939 (source
940 (origin
941 (method url-fetch)
942 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
943 "iterate-" version ".tar.gz"))
944 (sha256
945 (base32
946 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
947 (build-system asdf-build-system/sbcl)
948 (native-inputs
949 `(("rt" ,sbcl-rt)))
950 (home-page "https://common-lisp.net/project/iterate/")
951 (synopsis "Iteration construct for Common Lisp")
952 (description "@code{iterate} is an iteration construct for Common Lisp.
953 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
954
955 @itemize
956 @item it is extensible,
957 @item it helps editors like Emacs indent iterate forms by having a more
958 lisp-like syntax, and
959 @item it isn't part of the ANSI standard for Common Lisp.
960 @end itemize\n")
961 (license license:expat)))
962
963 (define-public cl-iterate
964 (sbcl-package->cl-source-package sbcl-iterate))
965
966 (define-public ecl-iterate
967 (sbcl-package->ecl-package sbcl-iterate))
968
969 (define-public sbcl-cl-uglify-js
970 ;; There have been many bug fixes since the 2010 release.
971 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
972 (revision "1"))
973 (package
974 (name "sbcl-cl-uglify-js")
975 (version (string-append "0.1-" revision "." (string-take commit 9)))
976 (source
977 (origin
978 (method git-fetch)
979 (uri (git-reference
980 (url "https://github.com/mishoo/cl-uglify-js")
981 (commit commit)))
982 (file-name (git-file-name name version))
983 (sha256
984 (base32
985 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
986 (build-system asdf-build-system/sbcl)
987 (inputs
988 `(("sbcl-parse-js" ,sbcl-parse-js)
989 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
990 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
991 ("sbcl-parse-number" ,sbcl-parse-number)
992 ("sbcl-iterate" ,sbcl-iterate)))
993 (home-page "https://github.com/mishoo/cl-uglify-js")
994 (synopsis "JavaScript compressor library for Common Lisp")
995 (description "This is a Common Lisp version of UglifyJS, a JavaScript
996 compressor. It works on data produced by @code{parse-js} to generate a
997 @dfn{minified} version of the code. Currently it can:
998
999 @itemize
1000 @item reduce variable names (usually to single letters)
1001 @item join consecutive @code{var} statements
1002 @item resolve simple binary expressions
1003 @item group most consecutive statements using the @code{sequence} operator (comma)
1004 @item remove unnecessary blocks
1005 @item convert @code{IF} expressions in various ways that result in smaller code
1006 @item remove some unreachable code
1007 @end itemize\n")
1008 (license license:zlib))))
1009
1010 (define-public cl-uglify-js
1011 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1012
1013 (define-public ecl-cl-uglify-js
1014 (sbcl-package->ecl-package sbcl-cl-uglify-js))
1015
1016 (define-public uglify-js
1017 (package
1018 (inherit sbcl-cl-uglify-js)
1019 (name "uglify-js")
1020 (build-system trivial-build-system)
1021 (arguments
1022 `(#:modules ((guix build utils))
1023 #:builder
1024 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1025 (script (string-append bin "uglify-js")))
1026 (use-modules (guix build utils))
1027 (mkdir-p bin)
1028 (with-output-to-file script
1029 (lambda _
1030 (format #t "#!~a/bin/sbcl --script
1031
1032 (require :asdf)
1033 (asdf:initialize-source-registry
1034 #p\"~a/etc/common-lisp/source-registry.conf.d/\")
1035 (asdf:initialize-output-translations
1036 #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")"
1037 (assoc-ref %build-inputs "sbcl")
1038 (assoc-ref %build-inputs "sbcl-cl-uglify-js")
1039 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1040 ;; FIXME: cannot use progn here because otherwise it fails to
1041 ;; find cl-uglify-js.
1042 (for-each
1043 write
1044 '(;; Quiet, please!
1045 (let ((*standard-output* (make-broadcast-stream))
1046 (*error-output* (make-broadcast-stream)))
1047 (asdf:load-system :cl-uglify-js))
1048 (let ((file (cadr *posix-argv*)))
1049 (if file
1050 (format t "~a"
1051 (cl-uglify-js:ast-gen-code
1052 (cl-uglify-js:ast-mangle
1053 (cl-uglify-js:ast-squeeze
1054 (with-open-file (in file)
1055 (parse-js:parse-js in))))
1056 :beautify nil))
1057 (progn
1058 (format *error-output*
1059 "Please provide a JavaScript file.~%")
1060 (sb-ext:exit :code 1))))))))
1061 (chmod script #o755)
1062 #t)))
1063 (inputs
1064 `(("sbcl" ,sbcl)
1065 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1066 (synopsis "JavaScript compressor")))
1067
1068 (define-public sbcl-cl-strings
1069 (let ((revision "1")
1070 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1071 (package
1072 (name "sbcl-cl-strings")
1073 (version (git-version "0.0.0" revision commit))
1074 (source
1075 (origin
1076 (method git-fetch)
1077 (uri (git-reference
1078 (url "https://github.com/diogoalexandrefranco/cl-strings")
1079 (commit commit)))
1080 (sha256
1081 (base32
1082 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1083 (file-name (string-append "cl-strings-" version "-checkout"))))
1084 (build-system asdf-build-system/sbcl)
1085 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1086 (description
1087 "@command{cl-strings} is a small, portable, dependency-free set of
1088 utilities that make it even easier to manipulate text in Common Lisp. It has
1089 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1090 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1091 (license license:expat))))
1092
1093 (define-public cl-strings
1094 (sbcl-package->cl-source-package sbcl-cl-strings))
1095
1096 (define-public ecl-cl-strings
1097 (sbcl-package->ecl-package sbcl-cl-strings))
1098
1099 (define-public sbcl-trivial-features
1100 ;; No release since 2014.
1101 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1102 (package
1103 (name "sbcl-trivial-features")
1104 (version (git-version "0.8" "1" commit))
1105 (source
1106 (origin
1107 (method git-fetch)
1108 (uri (git-reference
1109 (url "https://github.com/trivial-features/trivial-features")
1110 (commit commit)))
1111 (file-name (git-file-name "trivial-features" version))
1112 (sha256
1113 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1114 (build-system asdf-build-system/sbcl)
1115 (arguments
1116 '(#:asd-files '("trivial-features.asd")
1117 #:tests? #f))
1118 (home-page "https://cliki.net/trivial-features")
1119 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1120 (description "Trivial-features ensures that @code{*FEATURES*} is
1121 consistent across multiple Common Lisp implementations.")
1122 (license license:expat))))
1123
1124 (define-public cl-trivial-features
1125 (sbcl-package->cl-source-package sbcl-trivial-features))
1126
1127 (define-public ecl-trivial-features
1128 (sbcl-package->ecl-package sbcl-trivial-features))
1129
1130 (define-public sbcl-hu.dwim.asdf
1131 (package
1132 (name "sbcl-hu.dwim.asdf")
1133 (version "20190521")
1134 (source
1135 (origin
1136 (method url-fetch)
1137 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1138 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1139 (sha256
1140 (base32
1141 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1142 (build-system asdf-build-system/sbcl)
1143 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1144 (synopsis "Extensions to ASDF")
1145 (description "Various ASDF extensions such as attached test and
1146 documentation system, explicit development support, etc.")
1147 (license license:public-domain)))
1148
1149 (define-public cl-hu.dwim.asdf
1150 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1151
1152 (define-public ecl-hu.dwim.asdf
1153 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1154
1155 (define-public sbcl-hu.dwim.stefil
1156 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1157 (package
1158 (name "sbcl-hu.dwim.stefil")
1159 (version (git-version "0.0.0" "1" commit))
1160 (source
1161 (origin
1162 (method git-fetch)
1163 (uri
1164 (git-reference
1165 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1166 (commit commit)))
1167 (sha256
1168 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1169 (file-name (git-file-name "hu.dwim.stefil" version))))
1170 (build-system asdf-build-system/sbcl)
1171 (native-inputs
1172 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1173 (inputs
1174 `(("sbcl-alexandria" ,sbcl-alexandria)))
1175 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1176 (synopsis "Simple test framework")
1177 (description "Stefil is a simple test framework for Common Lisp,
1178 with a focus on interactive development.")
1179 (license license:public-domain))))
1180
1181 (define-public cl-hu.dwim.stefil
1182 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1183
1184 (define-public ecl-hu.dwim.stefil
1185 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1186
1187 (define-public sbcl-babel
1188 ;; No release since 2014.
1189 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1190 (package
1191 (name "sbcl-babel")
1192 (version (git-version "0.5.0" "1" commit))
1193 (source
1194 (origin
1195 (method git-fetch)
1196 (uri (git-reference
1197 (url "https://github.com/cl-babel/babel")
1198 (commit commit)))
1199 (file-name (git-file-name "babel" version))
1200 (sha256
1201 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1202 (build-system asdf-build-system/sbcl)
1203 (native-inputs
1204 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1205 (inputs
1206 `(("sbcl-alexandria" ,sbcl-alexandria)
1207 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1208 (home-page "https://common-lisp.net/project/babel/")
1209 (synopsis "Charset encoding and decoding library")
1210 (description "Babel is a charset encoding and decoding library, not unlike
1211 GNU libiconv, but completely written in Common Lisp.")
1212 (license license:expat))))
1213
1214 (define-public cl-babel
1215 (sbcl-package->cl-source-package sbcl-babel))
1216
1217 (define-public ecl-babel
1218 (sbcl-package->ecl-package sbcl-babel))
1219
1220 (define-public sbcl-cl-yacc
1221 (package
1222 (name "sbcl-cl-yacc")
1223 (version "0.3")
1224 (source
1225 (origin
1226 (method git-fetch)
1227 (uri (git-reference
1228 (url "https://github.com/jech/cl-yacc")
1229 (commit (string-append "cl-yacc-" version))))
1230 (sha256
1231 (base32
1232 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1233 (file-name (string-append "cl-yacc-" version "-checkout"))))
1234 (build-system asdf-build-system/sbcl)
1235 (arguments
1236 `(#:asd-systems '("yacc")))
1237 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1238 (description
1239 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1240 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1241
1242 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1243 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1244 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1245 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1246 (license license:expat)))
1247
1248 (define-public cl-yacc
1249 (sbcl-package->cl-source-package sbcl-cl-yacc))
1250
1251 (define-public ecl-cl-yacc
1252 (sbcl-package->ecl-package sbcl-cl-yacc))
1253
1254 (define-public sbcl-eager-future2
1255 (let ((commit "54df8effd9d9eccac917509590286b5ac5f9cb30"))
1256 (package
1257 (name "sbcl-eager-future2")
1258 (version (git-version "0.0.0" "1" commit))
1259 (source
1260 (origin
1261 (method git-fetch)
1262 (uri (git-reference
1263 (url "https://gitlab.common-lisp.net/vsedach/eager-future2.git")
1264 (commit commit)))
1265 (file-name (git-file-name name version))
1266 (sha256
1267 (base32
1268 "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld"))))
1269 (build-system asdf-build-system/sbcl)
1270 (inputs
1271 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1272 ("trivial-garbage" ,sbcl-trivial-garbage)))
1273 (synopsis "Futures promises synchronization mechanism for Common Lisp")
1274 (description
1275 "Eager Future2 is a Common Lisp library that provides composable
1276 concurrency primitives that unify parallel and lazy evaluation, are integrated
1277 with the Common Lisp condition system, and have automatic resource
1278 management.")
1279 (home-page "https://gitlab.common-lisp.net/vsedach/eager-future2")
1280 (license license:lgpl3+))))
1281
1282 (define-public cl-eager-future2
1283 (sbcl-package->cl-source-package sbcl-eager-future2))
1284
1285 (define-public ecl-eager-future2
1286 (sbcl-package->ecl-package sbcl-eager-future2))
1287
1288 (define-public sbcl-jpl-util
1289 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1290 (package
1291 (name "sbcl-jpl-util")
1292 (version "20151005")
1293 (source
1294 (origin
1295 (method git-fetch)
1296 (uri (git-reference
1297 ;; Quicklisp uses this fork.
1298 (url "https://github.com/hawkir/cl-jpl-util")
1299 (commit commit)))
1300 (file-name
1301 (git-file-name "jpl-util" version))
1302 (sha256
1303 (base32
1304 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1305 (build-system asdf-build-system/sbcl)
1306 (synopsis "Collection of Common Lisp utility functions and macros")
1307 (description
1308 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1309 and macros, primarily for software projects written in CL by the author.")
1310 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1311 (license license:isc))))
1312
1313 (define-public cl-jpl-util
1314 (sbcl-package->cl-source-package sbcl-jpl-util))
1315
1316 (define-public ecl-jpl-util
1317 (sbcl-package->ecl-package sbcl-jpl-util))
1318
1319 (define-public sbcl-jpl-queues
1320 (package
1321 (name "sbcl-jpl-queues")
1322 (version "0.1")
1323 (source
1324 (origin
1325 (method url-fetch)
1326 (uri (string-append
1327 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1328 version
1329 ".tar.gz"))
1330 (sha256
1331 (base32
1332 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1333 (build-system asdf-build-system/sbcl)
1334 (inputs
1335 `(("jpl-util" ,sbcl-jpl-util)
1336 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1337 (arguments
1338 ;; Tests seem to be broken.
1339 `(#:tests? #f))
1340 (synopsis "Common Lisp library implementing a few different kinds of queues")
1341 (description
1342 "A Common Lisp library implementing a few different kinds of queues:
1343
1344 @itemize
1345 @item Bounded and unbounded FIFO queues.
1346 @item Lossy bounded FIFO queues that drop elements when full.
1347 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1348 @end itemize
1349
1350 Additionally, a synchronization wrapper is provided to make any queue
1351 conforming to the @command{jpl-queues} API thread-safe for lightweight
1352 multithreading applications. (See Calispel for a more sophisticated CL
1353 multithreaded message-passing library with timeouts and alternation among
1354 several blockable channels.)")
1355 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1356 (license license:isc)))
1357
1358 (define-public cl-jpl-queues
1359 (sbcl-package->cl-source-package sbcl-jpl-queues))
1360
1361 (define-public ecl-jpl-queues
1362 (sbcl-package->ecl-package sbcl-jpl-queues))
1363
1364 (define-public sbcl-calispel
1365 (let ((commit "e9f2f9c1af97f4d7bb4c8ac25fb2a8f3e8fada7a"))
1366 (package
1367 (name "sbcl-calispel")
1368 (version (git-version "0.1" "1" commit))
1369 (source
1370 (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 ;; This fork replaces the dependency on the obsolete
1374 ;; eager-future with eager-future2.
1375 (url "https://github.com/hawkir/calispel")
1376 (commit commit)))
1377 (file-name (git-file-name name version))
1378 (sha256
1379 (base32
1380 "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8"))))
1381 (build-system asdf-build-system/sbcl)
1382 (inputs
1383 `(("jpl-queues" ,sbcl-jpl-queues)
1384 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1385 (native-inputs
1386 `(("eager-future2" ,sbcl-eager-future2)))
1387 (synopsis "Thread-safe message-passing channels in Common Lisp")
1388 (description
1389 "Calispel is a Common Lisp library for thread-safe message-passing
1390 channels, in the style of the occam programming language, also known as
1391 communicating sequential processes (CSP). See
1392 @url{https://en.wikipedia.org/wiki/Communicating_sequential_processes}.
1393
1394 Calispel channels let one thread communicate with another, facilitating
1395 unidirectional communication of any Lisp object. Channels may be unbuffered,
1396 where a sender waits for a receiver (or vice versa) before either operation can
1397 continue, or channels may be buffered with flexible policy options.
1398
1399 Because sending and receiving on a channel may block, either operation can time
1400 out after a specified amount of time.
1401
1402 A syntax for alternation is provided (like @code{ALT} in occam, or Unix
1403 @code{select()}): given a sequence of operations, any or all of which may
1404 block, alternation selects the first operation that doesn't block and executes
1405 associated code. Alternation can also time out, executing an \"otherwise\"
1406 clause if no operation becomes available within a set amount of time.
1407
1408 Calispel is a message-passing library, and as such leaves the role of
1409 threading abstractions and utilities left to be filled by complementary
1410 libraries such as Bordeaux-Threads and Eager Future.")
1411 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1412 (license license:isc))))
1413
1414 (define-public cl-calispel
1415 (sbcl-package->cl-source-package sbcl-calispel))
1416
1417 (define-public ecl-calispel
1418 (sbcl-package->ecl-package sbcl-calispel))
1419
1420 (define-public sbcl-eos
1421 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1422 (revision "2"))
1423 (package
1424 (name "sbcl-eos")
1425 (version (git-version "0.0.0" revision commit))
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 (url "https://github.com/adlai/Eos")
1431 (commit commit)))
1432 (sha256
1433 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1434 (file-name (git-file-name "eos" version))))
1435 (build-system asdf-build-system/sbcl)
1436 (synopsis "Unit Testing for Common Lisp")
1437 (description
1438 "Eos was a unit testing library for Common Lisp.
1439 It began as a fork of FiveAM; however, FiveAM development has continued, while
1440 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1441 (home-page "https://github.com/adlai/Eos")
1442 (license license:expat))))
1443
1444 (define-public cl-eos
1445 (sbcl-package->cl-source-package sbcl-eos))
1446
1447 (define-public ecl-eos
1448 (sbcl-package->ecl-package sbcl-eos))
1449
1450 (define-public sbcl-esrap
1451 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1452 (package
1453 (name "sbcl-esrap")
1454 (version (git-version "0.0.0" "1" commit))
1455 (source
1456 (origin
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/nikodemus/esrap")
1460 (commit commit)))
1461 (sha256
1462 (base32
1463 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1464 (file-name (git-file-name "esrap" version))))
1465 (build-system asdf-build-system/sbcl)
1466 (native-inputs
1467 `(("eos" ,sbcl-eos))) ;For testing only.
1468 (inputs
1469 `(("alexandria" ,sbcl-alexandria)))
1470 (synopsis "Common Lisp packrat parser")
1471 (description
1472 "A packrat parser for Common Lisp.
1473 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1474
1475 @itemize
1476 @item dynamic redefinition of nonterminals
1477 @item inline grammars
1478 @item semantic predicates
1479 @item introspective facilities (describing grammars, tracing, setting breaks)
1480 @end itemize\n")
1481 (home-page "https://nikodemus.github.io/esrap/")
1482 (license license:expat))))
1483
1484 (define-public cl-esrap
1485 (sbcl-package->cl-source-package sbcl-esrap))
1486
1487 (define-public ecl-esrap
1488 (sbcl-package->ecl-package sbcl-esrap))
1489
1490 (define-public sbcl-split-sequence
1491 (package
1492 (name "sbcl-split-sequence")
1493 (version "2.0.0")
1494 (source
1495 (origin
1496 (method git-fetch)
1497 (uri (git-reference
1498 (url "https://github.com/sharplispers/split-sequence")
1499 (commit (string-append "v" version))))
1500 (sha256
1501 (base32
1502 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1503 (file-name (git-file-name "split-sequence" version))))
1504 (build-system asdf-build-system/sbcl)
1505 (native-inputs
1506 `(("fiveam" ,sbcl-fiveam)))
1507 (synopsis "Member of the Common Lisp Utilities family of programs")
1508 (description
1509 "Splits sequence into a list of subsequences delimited by objects
1510 satisfying the test.")
1511 (home-page "https://cliki.net/split-sequence")
1512 (license license:expat)))
1513
1514 (define-public cl-split-sequence
1515 (sbcl-package->cl-source-package sbcl-split-sequence))
1516
1517 (define-public ecl-split-sequence
1518 (sbcl-package->ecl-package sbcl-split-sequence))
1519
1520 (define-public sbcl-html-encode
1521 (package
1522 (name "sbcl-html-encode")
1523 (version "1.2")
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1529 version ".tgz"))
1530 (sha256
1531 (base32
1532 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1533 (file-name (string-append "colorize" version "-checkout"))))
1534 (build-system asdf-build-system/sbcl)
1535 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1536 (description
1537 "A library for encoding text in various web-savvy encodings.")
1538 (home-page "http://quickdocs.org/html-encode/")
1539 (license license:expat)))
1540
1541 (define-public cl-html-encode
1542 (sbcl-package->cl-source-package sbcl-html-encode))
1543
1544 (define-public ecl-html-encode
1545 (sbcl-package->ecl-package sbcl-html-encode))
1546
1547 (define-public sbcl-colorize
1548 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1549 (package
1550 (name "sbcl-colorize")
1551 (version (git-version "0.0.0" "1" commit))
1552 (source
1553 (origin
1554 (method git-fetch)
1555 (uri (git-reference
1556 (url "https://github.com/kingcons/colorize")
1557 (commit commit)))
1558 (sha256
1559 (base32
1560 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1561 (file-name (git-file-name "colorize" version))))
1562 (build-system asdf-build-system/sbcl)
1563 (inputs
1564 `(("alexandria" ,sbcl-alexandria)
1565 ("split-sequence" ,sbcl-split-sequence)
1566 ("html-encode" ,sbcl-html-encode)))
1567 (synopsis "Common Lisp for syntax highlighting")
1568 (description
1569 "@command{colorize} is a Lisp library for syntax highlighting
1570 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1571 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1572 (home-page "https://github.com/kingcons/colorize")
1573 ;; TODO: Missing license?
1574 (license license:expat))))
1575
1576 (define-public cl-colorize
1577 (sbcl-package->cl-source-package sbcl-colorize))
1578
1579 (define-public ecl-colorize
1580 (sbcl-package->ecl-package sbcl-colorize))
1581
1582 (define-public sbcl-3bmd
1583 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1584 (package
1585 (name "sbcl-3bmd")
1586 (version (git-version "0.0.0" "1" commit))
1587 (source
1588 (origin
1589 (method git-fetch)
1590 (uri (git-reference
1591 (url "https://github.com/3b/3bmd")
1592 (commit commit)))
1593 (sha256
1594 (base32
1595 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1596 (file-name (git-file-name "3bmd" version))))
1597 (build-system asdf-build-system/sbcl)
1598 (arguments
1599 ;; FIXME: We need to specify the name because the build-system thinks
1600 ;; "3" is a version marker.
1601 `(#:asd-systems '("3bmd"
1602 "3bmd-ext-code-blocks")))
1603 (inputs
1604 `(("colorize" ,sbcl-colorize)
1605 ("esrap" ,sbcl-esrap)
1606 ("split-sequence" ,sbcl-split-sequence)))
1607 (synopsis "Markdown processor in Command Lisp using esrap parser")
1608 (description
1609 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1610 parsing, and grammar based on @command{peg-markdown}.")
1611 (home-page "https://github.com/3b/3bmd")
1612 (license license:expat))))
1613
1614 (define-public cl-3bmd
1615 (sbcl-package->cl-source-package sbcl-3bmd))
1616
1617 (define-public ecl-3bmd
1618 (sbcl-package->ecl-package sbcl-3bmd))
1619
1620 (define-public sbcl-cl-fad
1621 (package
1622 (name "sbcl-cl-fad")
1623 (version "0.7.6")
1624 (source
1625 (origin
1626 (method git-fetch)
1627 (uri (git-reference
1628 (url "https://github.com/edicl/cl-fad/")
1629 (commit (string-append "v" version))))
1630 (sha256
1631 (base32
1632 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1633 (file-name (string-append "cl-fad" version "-checkout"))))
1634 (build-system asdf-build-system/sbcl)
1635 (inputs
1636 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1637 (synopsis "Portable pathname library for Common Lisp")
1638 (description
1639 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1640 Lisp's standard pathname functions. It is intended to provide some
1641 unification between current CL implementations on Windows, OS X, Linux, and
1642 Unix. Most of the code was written by Peter Seibel for his book Practical
1643 Common Lisp.")
1644 (home-page "https://edicl.github.io/cl-fad/")
1645 (license license:bsd-2)))
1646
1647 (define-public cl-fad
1648 (sbcl-package->cl-source-package sbcl-cl-fad))
1649
1650 (define-public ecl-cl-fad
1651 (sbcl-package->ecl-package sbcl-cl-fad))
1652
1653 (define-public sbcl-rt
1654 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1655 (revision "1"))
1656 (package
1657 (name "sbcl-rt")
1658 (version (git-version "1990.12.19" revision commit))
1659 (source
1660 (origin
1661 (method git-fetch)
1662 (uri (git-reference
1663 (url "http://git.kpe.io/rt.git")
1664 (commit commit)))
1665 (file-name (git-file-name name version))
1666 (sha256
1667 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1668 (build-system asdf-build-system/sbcl)
1669 (synopsis "MIT Regression Tester")
1670 (description
1671 "RT provides a framework for writing regression test suites.")
1672 (home-page "https://www.cliki.net/rt")
1673 (license license:expat))))
1674
1675 (define-public cl-rt
1676 (sbcl-package->cl-source-package sbcl-rt))
1677
1678 (define-public ecl-rt
1679 (sbcl-package->ecl-package sbcl-rt))
1680
1681 (define-public sbcl-nibbles
1682 ;; No tagged release since 2018.
1683 (let ((commit "8e6b9b42d9f69000f55e5c45ad974d9e376ffdbd")
1684 (revision "1"))
1685 (package
1686 (name "sbcl-nibbles")
1687 (version (git-version "0.14" revision commit))
1688 (source
1689 (origin
1690 (method git-fetch)
1691 (uri (git-reference
1692 (url "https://github.com/sharplispers/nibbles/")
1693 (commit commit)))
1694 (sha256
1695 (base32 "15qlsm82h36pjgvfnbzdg60l21qxbaii4d049jc5y0dn56y93amb"))
1696 (file-name (git-file-name "nibbles" version))))
1697 (build-system asdf-build-system/sbcl)
1698 (native-inputs
1699 ;; Tests only.
1700 `(("rt" ,sbcl-rt)))
1701 (synopsis
1702 "Common Lisp library for accessing octet-addressed blocks of data")
1703 (description
1704 "When dealing with network protocols and file formats, it's common to
1705 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1706 flavors. Common Lisp sort of supports this by specifying :element-type for
1707 streams, but that facility is underspecified and there's nothing similar for
1708 read/write from octet vectors. What most people wind up doing is rolling their
1709 own small facility for their particular needs and calling it a day.
1710
1711 This library attempts to be comprehensive and centralize such
1712 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1713 vectors in signed or unsigned flavors are provided; these functions are also
1714 SETFable. Since it's sometimes desirable to read/write directly from streams,
1715 functions for doing so are also provided. On some implementations,
1716 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1717 also be supported.")
1718 (home-page "https://github.com/sharplispers/nibbles")
1719 (license license:bsd-3))))
1720
1721 (define-public cl-nibbles
1722 (sbcl-package->cl-source-package sbcl-nibbles))
1723
1724 (define-public ecl-nibbles
1725 (sbcl-package->ecl-package sbcl-nibbles))
1726
1727 (define-public sbcl-ironclad
1728 (package
1729 (name "sbcl-ironclad")
1730 (version "0.54")
1731 (source
1732 (origin
1733 (method git-fetch)
1734 (uri (git-reference
1735 (url "https://github.com/sharplispers/ironclad/")
1736 (commit (string-append "v" version))))
1737 (sha256
1738 (base32 "07g0wpvfqq2yk23prs890d4qvbnr3xd6w8ssd88g89xdg483wpvk"))
1739 (file-name (git-file-name name version))))
1740 (build-system asdf-build-system/sbcl)
1741 (native-inputs
1742 ;; Tests only.
1743 `(("rt" ,sbcl-rt)))
1744 (inputs
1745 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1746 ("flexi-streams" ,sbcl-flexi-streams)))
1747 (synopsis "Cryptographic toolkit written in Common Lisp")
1748 (description
1749 "Ironclad is a cryptography library written entirely in Common Lisp.
1750 It includes support for several popular ciphers, digests, MACs and public key
1751 cryptography algorithms. For several implementations that support Gray
1752 streams, support is included for convenient stream wrappers.")
1753 (home-page "https://github.com/sharplispers/ironclad")
1754 (license license:bsd-3)))
1755
1756 (define-public cl-ironclad
1757 (sbcl-package->cl-source-package sbcl-ironclad))
1758
1759 (define-public ecl-ironclad
1760 (sbcl-package->ecl-package sbcl-ironclad))
1761
1762 (define-public sbcl-named-readtables
1763 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1764 (revision "2"))
1765 (package
1766 (name "sbcl-named-readtables")
1767 (version (git-version "0.9" revision commit))
1768 (source
1769 (origin
1770 (method git-fetch)
1771 (uri (git-reference
1772 (url "https://github.com/melisgl/named-readtables")
1773 (commit commit)))
1774 (sha256
1775 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1776 (file-name (git-file-name "named-readtables" version))))
1777 (build-system asdf-build-system/sbcl)
1778 (arguments
1779 ;; Tests seem to be broken.
1780 `(#:tests? #f))
1781 (home-page "https://github.com/melisgl/named-readtables/")
1782 (synopsis "Library that creates a namespace for named readtables")
1783 (description "Named readtables is a library that creates a namespace for
1784 named readtables, which is akin to package namespacing in Common Lisp.")
1785 (license license:bsd-3))))
1786
1787 (define-public cl-named-readtables
1788 (sbcl-package->cl-source-package sbcl-named-readtables))
1789
1790 (define-public ecl-named-readtables
1791 (sbcl-package->ecl-package sbcl-named-readtables))
1792
1793 (define-public sbcl-py-configparser
1794 ;; NOTE: (Sharlatan <2021-01-05 Tue> <19:52:19 UTC+0000>) Project updated last
1795 ;; time 8y ago, it looks like abandoned. VCS of the project:
1796 ;; https://svn.common-lisp.net/py-configparser/trunk
1797 (package
1798 (name "sbcl-py-configparser")
1799 (version "1.0.3")
1800 (source
1801 (origin
1802 (method url-fetch)
1803 (uri (string-append
1804 "https://common-lisp.net/project/py-configparser/releases/"
1805 "py-configparser-" version ".tar.gz"))
1806 (sha256
1807 (base32 "0i4rqz5cv7d7c2w81x5lwy05s6fbi3zikf4k5kpi3bkx3cabwdxj"))))
1808 (build-system asdf-build-system/sbcl)
1809 (inputs
1810 `(("parse-number" ,sbcl-parse-number)))
1811 (home-page "http://common-lisp.net/project/py-configparser/")
1812 (synopsis "ConfigParser Python module functionality for Common Lisp")
1813 (description "The py-configparser package implements the ConfigParser
1814 Python module functionality in Common Lisp. In short, it implements reading
1815 and writing of .INI-file style configuration files with sections containing
1816 key/value pairs of configuration options. In line with the functionalities in
1817 the python module, does this package implement basic interpolation of option
1818 values in other options.")
1819 (license license:expat)))
1820
1821 (define-public cl-py-configparser
1822 (sbcl-package->cl-source-package sbcl-py-configparser))
1823
1824 (define-public ecl-py-configparser
1825 (sbcl-package->ecl-package sbcl-py-configparser))
1826
1827 (define-public sbcl-pythonic-string-reader
1828 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1829 (package
1830 (name "sbcl-pythonic-string-reader")
1831 (version (git-version "0.0.0" "1" commit))
1832 (source
1833 (origin
1834 (method git-fetch)
1835 (uri (git-reference
1836 (url "https://github.com/smithzvk/pythonic-string-reader/")
1837 (commit commit)))
1838 (sha256
1839 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1840 (file-name (git-file-name "pythonic-string-reader" version))))
1841 (build-system asdf-build-system/sbcl)
1842 (inputs
1843 `(("named-readtables" ,sbcl-named-readtables)))
1844 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1845 (synopsis "Read table modification inspired by Python's three quote strings")
1846 (description "This piece of code sets up some reader macros that make it
1847 simpler to input string literals which contain backslashes and double quotes
1848 This is very useful for writing complicated docstrings and, as it turns out,
1849 writing code that contains string literals that contain code themselves.")
1850 (license license:bsd-3))))
1851
1852 (define-public cl-pythonic-string-reader
1853 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1854
1855 (define-public ecl-pythonic-string-reader
1856 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1857
1858 (define-public sbcl-slime-swank
1859 (package
1860 (name "sbcl-slime-swank")
1861 (version "2.26")
1862 (source
1863 (origin
1864 (file-name (git-file-name "slime-swank" version))
1865 (method git-fetch)
1866 (uri (git-reference
1867 (url "https://github.com/slime/slime/")
1868 (commit (string-append "v" version))))
1869 (sha256
1870 (base32
1871 "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
1872 (build-system asdf-build-system/sbcl)
1873 (arguments
1874 '(#:asd-systems '("swank")))
1875 (home-page "https://github.com/slime/slime")
1876 (synopsis "Common Lisp Swank server")
1877 (description
1878 "This is only useful if you want to start a Swank server in a Lisp
1879 processes that doesn't run under Emacs. Lisp processes created by
1880 @command{M-x slime} automatically start the server.")
1881 (license (list license:gpl2+ license:public-domain))))
1882
1883 (define-public cl-slime-swank
1884 (sbcl-package->cl-source-package sbcl-slime-swank))
1885
1886 (define-public ecl-slime-swank
1887 (sbcl-package->ecl-package sbcl-slime-swank))
1888
1889 (define-public sbcl-mgl-pax
1890 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1891 (package
1892 (name "sbcl-mgl-pax")
1893 (version (git-version "0.0.0" "1" commit))
1894 (source
1895 (origin
1896 (method git-fetch)
1897 (uri (git-reference
1898 (url "https://github.com/melisgl/mgl-pax")
1899 (commit commit)))
1900 (sha256
1901 (base32
1902 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1903 (file-name (git-file-name "mgl-pax" version))))
1904 (build-system asdf-build-system/sbcl)
1905 (inputs
1906 `(("3bmd" ,sbcl-3bmd)
1907 ("babel" ,sbcl-babel)
1908 ("cl-fad" ,sbcl-cl-fad)
1909 ("ironclad" ,sbcl-ironclad)
1910 ("named-readtables" ,sbcl-named-readtables)
1911 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)
1912 ("swank" ,sbcl-slime-swank)))
1913 (synopsis "Exploratory programming environment and documentation generator")
1914 (description
1915 "PAX provides an extremely poor man's Explorable Programming
1916 environment. Narrative primarily lives in so called sections that mix markdown
1917 docstrings with references to functions, variables, etc, all of which should
1918 probably have their own docstrings.
1919
1920 The primary focus is on making code easily explorable by using SLIME's
1921 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1922 fanciness in Emacs Integration. Generating documentation from sections and all
1923 the referenced items in Markdown or HTML format is also implemented.
1924
1925 With the simplistic tools provided, one may accomplish similar effects as with
1926 Literate Programming, but documentation is generated from code, not vice versa
1927 and there is no support for chunking yet. Code is first, code must look
1928 pretty, documentation is code.")
1929 (home-page "http://quotenil.com/")
1930 (license license:expat))))
1931
1932 (define-public cl-mgl-pax
1933 (sbcl-package->cl-source-package sbcl-mgl-pax))
1934
1935 (define-public ecl-mgl-pax
1936 (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax)))
1937 (package
1938 (inherit pkg)
1939 (arguments
1940 (substitute-keyword-arguments (package-arguments pkg)
1941 ;; TODO: Find why the tests fail on ECL.
1942 ((#:tests? _ #f) #f))))))
1943
1944 (define-public sbcl-mssql
1945 (let ((commit "045602a19a32254108f2b75871049293f49731eb")
1946 (revision "1"))
1947 (package
1948 (name "sbcl-mssql")
1949 (version (git-version "0.0.3" revision commit))
1950 (source
1951 (origin
1952 (method git-fetch)
1953 (uri (git-reference
1954 (url "https://github.com/archimag/cl-mssql")
1955 (commit commit)))
1956 (file-name (git-file-name "cl-mssql" version))
1957 (sha256
1958 (base32 "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm"))))
1959 (build-system asdf-build-system/sbcl)
1960 (inputs
1961 `(("cffi" ,sbcl-cffi)
1962 ("freetds" ,freetds)
1963 ("garbage-pools" ,sbcl-garbage-pools)
1964 ("iterate" ,sbcl-iterate)
1965 ("parse-number" ,sbcl-parse-number)))
1966 (arguments
1967 `(#:phases
1968 (modify-phases %standard-phases
1969 (add-after 'unpack 'fix-paths
1970 (lambda* (#:key inputs #:allow-other-keys)
1971 (substitute* "src/mssql.lisp"
1972 (("libsybdb" all)
1973 (string-append (assoc-ref inputs "freetds") "/lib/" all)))
1974 #t)))))
1975 (home-page "https://github.com/archimag/cl-mssql")
1976 (synopsis "Common Lisp library to interact with MS SQL Server databases")
1977 (description
1978 "@code{cl-mssql} provides an interface to connect to Microsoft SQL
1979 server. It uses the @code{libsybdb} foreign library provided by the FreeTDS
1980 project.")
1981 (license license:llgpl))))
1982
1983 (define-public ecl-mssql
1984 (sbcl-package->ecl-package sbcl-mssql))
1985
1986 (define-public cl-mssql
1987 (sbcl-package->cl-source-package sbcl-mssql))
1988
1989 (define-public sbcl-lisp-unit
1990 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1991 (package
1992 (name "sbcl-lisp-unit")
1993 (version (git-version "0.0.0" "1" commit))
1994 (source
1995 (origin
1996 (method git-fetch)
1997 (uri (git-reference
1998 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1999 (commit commit)))
2000 (sha256
2001 (base32
2002 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
2003 (file-name (git-file-name "lisp-unit" version))))
2004 (build-system asdf-build-system/sbcl)
2005 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
2006 (description
2007 "@command{lisp-unit} is a Common Lisp library that supports unit
2008 testing. It is an extension of the library written by Chris Riesbeck.")
2009 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
2010 (license license:expat))))
2011
2012 (define-public cl-lisp-unit
2013 (sbcl-package->cl-source-package sbcl-lisp-unit))
2014
2015 (define-public ecl-lisp-unit
2016 (sbcl-package->ecl-package sbcl-lisp-unit))
2017
2018 (define-public sbcl-anaphora
2019 (package
2020 (name "sbcl-anaphora")
2021 (version "0.9.6")
2022 (source
2023 (origin
2024 (method git-fetch)
2025 (uri (git-reference
2026 (url "https://github.com/tokenrove/anaphora")
2027 (commit version)))
2028 (sha256
2029 (base32
2030 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
2031 (file-name (git-file-name "anaphora" version))))
2032 (build-system asdf-build-system/sbcl)
2033 (native-inputs
2034 `(("rt" ,sbcl-rt)))
2035 (synopsis "The anaphoric macro collection from Hell")
2036 (description
2037 "Anaphora is the anaphoric macro collection from Hell: it includes many
2038 new fiends in addition to old friends like @command{aif} and
2039 @command{awhen}.")
2040 (home-page "https://github.com/tokenrove/anaphora")
2041 (license license:public-domain)))
2042
2043 (define-public cl-anaphora
2044 (sbcl-package->cl-source-package sbcl-anaphora))
2045
2046 (define-public ecl-anaphora
2047 (sbcl-package->ecl-package sbcl-anaphora))
2048
2049 (define-public sbcl-lift
2050 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
2051 (package
2052 (name "sbcl-lift")
2053 (version (git-version "1.7.1" "1" commit))
2054 (source
2055 (origin
2056 (method git-fetch)
2057 (uri (git-reference
2058 (url "https://github.com/gwkkwg/lift")
2059 (commit commit)))
2060 (sha256
2061 (base32
2062 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
2063 (file-name (git-file-name "lift" version))
2064 (modules '((guix build utils)))
2065 (snippet
2066 ;; Don't keep the bundled website
2067 `(begin
2068 (delete-file-recursively "website")
2069 #t))))
2070 (build-system asdf-build-system/sbcl)
2071 (arguments
2072 ;; The tests require a debugger, but we run with the debugger disabled.
2073 '(#:tests? #f))
2074 (synopsis "LIsp Framework for Testing")
2075 (description
2076 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
2077 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
2078 testcases are organized into hierarchical testsuites each of which can have
2079 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
2080 supports randomized testing, benchmarking, profiling, and reporting.")
2081 (home-page "https://github.com/gwkkwg/lift")
2082 (license license:expat))))
2083
2084 (define-public cl-lift
2085 (sbcl-package->cl-source-package sbcl-lift))
2086
2087 (define-public ecl-lift
2088 (sbcl-package->ecl-package sbcl-lift))
2089
2090 (define-public sbcl-let-plus
2091 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2092 (package
2093 (name "sbcl-let-plus")
2094 (version (git-version "0.0.0" "1" commit))
2095 (source
2096 (origin
2097 (method git-fetch)
2098 (uri (git-reference
2099 (url "https://github.com/sharplispers/let-plus")
2100 (commit commit)))
2101 (sha256
2102 (base32
2103 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2104 (file-name (git-file-name "let-plus" version))))
2105 (build-system asdf-build-system/sbcl)
2106 (inputs
2107 `(("alexandria" ,sbcl-alexandria)
2108 ("anaphora" ,sbcl-anaphora)))
2109 (native-inputs
2110 `(("lift" ,sbcl-lift)))
2111 (synopsis "Destructuring extension of let*")
2112 (description
2113 "This library implements the let+ macro, which is a dectructuring
2114 extension of let*. It features:
2115
2116 @itemize
2117 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2118 not counting tests)
2119 @item Placeholder macros allow editor hints and syntax highlighting
2120 @item @command{&ign} for ignored values (in forms where that makes sense)
2121 @item Very easy to extend
2122 @end itemize\n")
2123 (home-page "https://github.com/sharplispers/let-plus")
2124 (license license:boost1.0))))
2125
2126 (define-public cl-let-plus
2127 (sbcl-package->cl-source-package sbcl-let-plus))
2128
2129 (define-public ecl-let-plus
2130 (sbcl-package->ecl-package sbcl-let-plus))
2131
2132 (define-public sbcl-cl-colors
2133 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2134 (package
2135 (name "sbcl-cl-colors")
2136 (version (git-version "0.0.0" "1" commit))
2137 (source
2138 (origin
2139 (method git-fetch)
2140 (uri (git-reference
2141 (url "https://github.com/tpapp/cl-colors")
2142 (commit commit)))
2143 (sha256
2144 (base32
2145 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2146 (file-name (git-file-name "cl-colors" version))))
2147 (build-system asdf-build-system/sbcl)
2148 (inputs
2149 `(("alexandria" ,sbcl-alexandria)
2150 ("let-plus" ,sbcl-let-plus)))
2151 (synopsis "Simple color library for Common Lisp")
2152 (description
2153 "This is a very simple color library for Common Lisp, providing
2154
2155 @itemize
2156 @item Types for representing colors in HSV and RGB spaces.
2157 @item Simple conversion functions between the above types (and also
2158 hexadecimal representation for RGB).
2159 @item Some predefined colors (currently X11 color names – of course the
2160 library does not depend on X11).Because color in your terminal is nice.
2161 @end itemize
2162
2163 This library is no longer supported by its author.")
2164 (home-page "https://github.com/tpapp/cl-colors")
2165 (license license:boost1.0))))
2166
2167 (define-public cl-colors
2168 (sbcl-package->cl-source-package sbcl-cl-colors))
2169
2170 (define-public ecl-cl-colors
2171 (sbcl-package->ecl-package sbcl-cl-colors))
2172
2173 (define-public sbcl-cl-ansi-text
2174 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2175 (package
2176 (name "sbcl-cl-ansi-text")
2177 (version (git-version "1.0.0" "1" commit))
2178 (source
2179 (origin
2180 (method git-fetch)
2181 (uri (git-reference
2182 (url "https://github.com/pnathan/cl-ansi-text")
2183 (commit commit)))
2184 (sha256
2185 (base32
2186 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2187 (file-name (git-file-name "cl-ansi-text" version))))
2188 (build-system asdf-build-system/sbcl)
2189 (inputs
2190 `(("alexandria" ,sbcl-alexandria)
2191 ("cl-colors" ,sbcl-cl-colors)))
2192 (native-inputs
2193 `(("fiveam" ,sbcl-fiveam)))
2194 (synopsis "ANSI terminal color implementation for Common Lisp")
2195 (description
2196 "@command{cl-ansi-text} provides utilities which enable printing to an
2197 ANSI terminal with colored text. It provides the macro @command{with-color}
2198 which causes everything printed in the body to be displayed with the provided
2199 color. It further provides functions which will print the argument with the
2200 named color.")
2201 (home-page "https://github.com/pnathan/cl-ansi-text")
2202 (license license:llgpl))))
2203
2204 (define-public cl-ansi-text
2205 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2206
2207 (define-public ecl-cl-ansi-text
2208 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2209
2210 (define-public sbcl-prove
2211 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2212 (package
2213 (name "sbcl-prove")
2214 (version (git-version "1.0.0" "1" commit))
2215 (source
2216 (origin
2217 (method git-fetch)
2218 (uri (git-reference
2219 (url "https://github.com/fukamachi/prove")
2220 (commit commit)))
2221 (sha256
2222 (base32
2223 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2224 (file-name (git-file-name "prove" version))))
2225 (build-system asdf-build-system/sbcl)
2226 (inputs
2227 `(("alexandria" ,sbcl-alexandria)
2228 ("cl-ppcre" ,sbcl-cl-ppcre)
2229 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2230 (synopsis "Yet another unit testing framework for Common Lisp")
2231 (description
2232 "This project was originally called @command{cl-test-more}.
2233 @command{prove} is yet another unit testing framework for Common Lisp. The
2234 advantages of @command{prove} are:
2235
2236 @itemize
2237 @item Various simple functions for testing and informative error messages
2238 @item ASDF integration
2239 @item Extensible test reporters
2240 @item Colorizes the report if it's available (note for SLIME)
2241 @item Reports test durations
2242 @end itemize\n")
2243 (home-page "https://github.com/fukamachi/prove")
2244 (license license:expat))))
2245
2246 (define-public cl-prove
2247 (sbcl-package->cl-source-package sbcl-prove))
2248
2249 (define-public ecl-prove
2250 (sbcl-package->ecl-package sbcl-prove))
2251
2252 (define-public sbcl-proc-parse
2253 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2254 (package
2255 (name "sbcl-proc-parse")
2256 (version (git-version "0.0.0" "1" commit))
2257 (source
2258 (origin
2259 (method git-fetch)
2260 (uri (git-reference
2261 (url "https://github.com/fukamachi/proc-parse")
2262 (commit commit)))
2263 (sha256
2264 (base32
2265 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2266 (file-name (git-file-name "proc-parse" version))))
2267 (build-system asdf-build-system/sbcl)
2268 (inputs
2269 `(("alexandria" ,sbcl-alexandria)
2270 ("babel" ,sbcl-babel)))
2271 (native-inputs
2272 `(("prove" ,sbcl-prove)))
2273 (arguments
2274 ;; TODO: Tests don't find "proc-parse-test", why?
2275 `(#:tests? #f))
2276 (synopsis "Procedural vector parser")
2277 (description
2278 "This is a string/octets parser library for Common Lisp with speed and
2279 readability in mind. Unlike other libraries, the code is not a
2280 pattern-matching-like, but a char-by-char procedural parser.")
2281 (home-page "https://github.com/fukamachi/proc-parse")
2282 (license license:bsd-2))))
2283
2284 (define-public cl-proc-parse
2285 (sbcl-package->cl-source-package sbcl-proc-parse))
2286
2287 (define-public ecl-proc-parse
2288 (sbcl-package->ecl-package sbcl-proc-parse))
2289
2290 (define-public sbcl-parse-float
2291 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2292 (package
2293 (name "sbcl-parse-float")
2294 (version (git-version "0.0.0" "1" commit))
2295 (source
2296 (origin
2297 (method git-fetch)
2298 (uri (git-reference
2299 (url "https://github.com/soemraws/parse-float")
2300 (commit commit)))
2301 (sha256
2302 (base32
2303 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2304 (file-name (git-file-name "proc-parse" version))))
2305 (build-system asdf-build-system/sbcl)
2306 (inputs
2307 `(("alexandria" ,sbcl-alexandria)
2308 ("babel" ,sbcl-babel)))
2309 (native-inputs
2310 `(("prove" ,sbcl-prove)))
2311 (arguments
2312 ;; TODO: Tests don't find "proc-parse-test", why?
2313 `(#:tests? #f))
2314 (synopsis "Parse a floating point value from a string in Common Lisp")
2315 (description
2316 "This package exports the following function to parse floating-point
2317 values from a string in Common Lisp.")
2318 (home-page "https://github.com/soemraws/parse-float")
2319 (license license:public-domain))))
2320
2321 (define-public cl-parse-float
2322 (sbcl-package->cl-source-package sbcl-parse-float))
2323
2324 (define-public ecl-parse-float
2325 (sbcl-package->ecl-package sbcl-parse-float))
2326
2327 (define-public sbcl-cl-string-match
2328 (let ((revision "1")
2329 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2330 (package
2331 (name "sbcl-cl-string-match")
2332 (version (git-version "0" revision changeset))
2333 (source
2334 (origin
2335 (method hg-fetch)
2336 (uri (hg-reference
2337 (url "https://bitbucket.org/vityok/cl-string-match/")
2338 (changeset changeset)))
2339 (sha256
2340 (base32
2341 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2342 (file-name (git-file-name "cl-string-match" version))))
2343 (build-system asdf-build-system/sbcl)
2344 (inputs
2345 `(("alexandria" ,sbcl-alexandria)
2346 ("babel" ,sbcl-babel)
2347 ("iterate" ,sbcl-iterate)
2348 ("jpl-queues" ,sbcl-jpl-queues)
2349 ("jpl-util" ,sbcl-jpl-util)
2350 ("mgl-pax" ,sbcl-mgl-pax)
2351 ("parse-float" ,sbcl-parse-float)
2352 ("proc-parse" ,sbcl-proc-parse)
2353 ("yacc" ,sbcl-cl-yacc)))
2354 ;; TODO: Tests are not evaluated properly.
2355 (native-inputs
2356 ;; For testing:
2357 `(("lisp-unit" ,sbcl-lisp-unit)))
2358 (arguments
2359 `(#:tests? #f))
2360 (synopsis "Set of utilities to manipulate strings in Common Lisp")
2361 (description
2362 "@command{cl-strings} is a small, portable, dependency-free set of
2363 utilities that make it even easier to manipulate text in Common Lisp. It has
2364 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
2365 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2366 (license license:bsd-3))))
2367
2368 (define-public cl-string-match
2369 (sbcl-package->cl-source-package sbcl-cl-string-match))
2370
2371 (define-public ecl-cl-string-match
2372 (sbcl-package->ecl-package sbcl-cl-string-match))
2373
2374 (define-public sbcl-ptester
2375 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2376 (revision "1"))
2377 (package
2378 (name "sbcl-ptester")
2379 (version (git-version "2.1.3" revision commit))
2380 (source
2381 (origin
2382 (method git-fetch)
2383 (uri (git-reference
2384 (url "http://git.kpe.io/ptester.git")
2385 (commit commit)))
2386 (file-name (git-file-name name version))
2387 (sha256
2388 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2389 (build-system asdf-build-system/sbcl)
2390 (home-page "http://quickdocs.org/ptester/")
2391 (synopsis "Portable test harness package")
2392 (description
2393 "@command{ptester} is a portable testing framework based on Franz's
2394 tester module.")
2395 (license license:llgpl))))
2396
2397 (define-public cl-ptester
2398 (sbcl-package->cl-source-package sbcl-ptester))
2399
2400 (define-public ecl-ptester
2401 (sbcl-package->ecl-package sbcl-ptester))
2402
2403 (define-public sbcl-puri
2404 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2405 (revision "1"))
2406 (package
2407 (name "sbcl-puri")
2408 (version (git-version "1.5.7" revision commit))
2409 (source
2410 (origin
2411 (method git-fetch)
2412 (uri (git-reference
2413 (url "http://git.kpe.io/puri.git")
2414 (commit commit)))
2415 (file-name (git-file-name name version))
2416 (sha256
2417 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2418 (build-system asdf-build-system/sbcl)
2419 (native-inputs
2420 `(("ptester" ,sbcl-ptester)))
2421 (home-page "http://quickdocs.org/puri/")
2422 (synopsis "Portable URI Library")
2423 (description
2424 "This is a portable Universal Resource Identifier library for Common
2425 Lisp programs. It parses URI according to the RFC 2396 specification.")
2426 (license license:llgpl))))
2427
2428 (define-public cl-puri
2429 (sbcl-package->cl-source-package sbcl-puri))
2430
2431 (define-public ecl-puri
2432 (sbcl-package->ecl-package sbcl-puri))
2433
2434 (define-public sbcl-qmynd
2435 (let ((commit "7e56daf73f0ed5f49a931c01af75fb874bcf3445")
2436 (revision "1"))
2437 (package
2438 (name "sbcl-qmynd")
2439 (version (git-version "1.0.0" revision commit))
2440 (source
2441 (origin
2442 (method git-fetch)
2443 (uri (git-reference
2444 (url "https://github.com/qitab/qmynd")
2445 (commit commit)))
2446 (file-name (git-file-name name version))
2447 (sha256
2448 (base32
2449 "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl"))))
2450 (build-system asdf-build-system/sbcl)
2451 (inputs
2452 `(("asdf-finalizers" ,sbcl-asdf-finalizers)
2453 ("babel" ,sbcl-babel)
2454 ("chipz" ,sbcl-chipz)
2455 ("cl+ssl" ,sbcl-cl+ssl)
2456 ("flexi-streams" ,sbcl-flexi-streams)
2457 ("ironclad" ,sbcl-ironclad)
2458 ("salza2" ,sbcl-salza2)
2459 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
2460 ("usocket" ,sbcl-usocket)))
2461 (home-page "https://github.com/qitab/qmynd")
2462 (synopsis "QITAB MySQL Native Driver for Common Lisp")
2463 (description "QMyND, the QITAB MySQL Native Driver, is a MySQL client
2464 library that directly talks to a MySQL server in its native network protocol.
2465
2466 It's a part of QITAB umbrella project.")
2467 (license license:expat))))
2468
2469 (define-public ecl-qmynd
2470 (sbcl-package->ecl-package sbcl-qmynd))
2471
2472 (define-public cl-qmynd
2473 (sbcl-package->cl-source-package sbcl-qmynd))
2474
2475 (define-public sbcl-queues
2476 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2477 (package
2478 (name "sbcl-queues")
2479 (version (git-version "0.0.0" "1" commit))
2480 (source
2481 (origin
2482 (method git-fetch)
2483 (uri (git-reference
2484 (url "https://github.com/oconnore/queues")
2485 (commit commit)))
2486 (file-name (git-file-name "queues" version))
2487 (sha256
2488 (base32
2489 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2490 (build-system asdf-build-system/sbcl)
2491 (inputs
2492 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
2493 (arguments
2494 '(#:asd-systems '("queues"
2495 "queues.simple-queue"
2496 "queues.simple-cqueue"
2497 "queues.priority-queue"
2498 "queues.priority-cqueue")))
2499 (home-page "https://github.com/oconnore/queues")
2500 (synopsis "Common Lisp queue library")
2501 (description
2502 "This is a simple queue library for Common Lisp with features such as
2503 non-consing thread safe queues and fibonacci priority queues.")
2504 (license license:expat))))
2505
2506 (define-public cl-queues
2507 (sbcl-package->cl-source-package sbcl-queues))
2508
2509 (define-public ecl-queues
2510 (sbcl-package->ecl-package sbcl-queues))
2511
2512 (define-public sbcl-cffi
2513 (package
2514 (name "sbcl-cffi")
2515 (version "0.23.0")
2516 (source
2517 (origin
2518 (method git-fetch)
2519 (uri (git-reference
2520 (url "https://github.com/cffi/cffi")
2521 (commit (string-append "v" version))))
2522 (file-name (git-file-name "cffi-bootstrap" version))
2523 (sha256
2524 (base32 "03s98imc5niwnpj3hhrafl7dmxq45g74h96sm68976k7ahi3vl5b"))))
2525 (build-system asdf-build-system/sbcl)
2526 (inputs
2527 `(("alexandria" ,sbcl-alexandria)
2528 ("babel" ,sbcl-babel)
2529 ("libffi" ,libffi)
2530 ("trivial-features" ,sbcl-trivial-features)))
2531 (native-inputs
2532 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2533 ("pkg-config" ,pkg-config)
2534 ("rt" ,sbcl-rt)))
2535 (arguments
2536 '(#:phases
2537 (modify-phases %standard-phases
2538 (add-after 'unpack 'fix-arm-support
2539 (lambda _
2540 ;; This is apparently deprecated since libffi-3.3.
2541 (substitute* "libffi/libffi-types.lisp"
2542 (("\\\(\\\(:unix64.*") ")\n"))
2543 #t))
2544 (add-after 'unpack 'fix-paths
2545 (lambda* (#:key inputs #:allow-other-keys)
2546 (substitute* "libffi/libffi.lisp"
2547 (("libffi.so.7" all) (string-append
2548 (assoc-ref inputs "libffi")
2549 "/lib/" all)))
2550 (substitute* "toolchain/c-toolchain.lisp"
2551 (("\"cc\"") (format #f "~S" (which "gcc"))))))
2552 (add-after 'build 'install-headers
2553 (lambda* (#:key outputs #:allow-other-keys)
2554 (install-file "grovel/common.h"
2555 (string-append
2556 (assoc-ref outputs "out")
2557 "/include/grovel")))))
2558 #:asd-files '("cffi.asd"
2559 "cffi-toolchain.asd"
2560 "cffi-grovel.asd"
2561 "cffi-libffi.asd"
2562 "cffi-uffi-compat.asd")
2563 #:asd-systems '("cffi"
2564 "cffi-libffi"
2565 "cffi-uffi-compat")))
2566 (home-page "https://common-lisp.net/project/cffi/")
2567 (synopsis "Common Foreign Function Interface for Common Lisp")
2568 (description "The Common Foreign Function Interface (CFFI)
2569 purports to be a portable foreign function interface for Common Lisp.
2570 The CFFI library is composed of a Lisp-implementation-specific backend
2571 in the CFFI-SYS package, and a portable frontend in the CFFI
2572 package.")
2573 (license license:expat)))
2574
2575 (define-public cl-cffi
2576 (sbcl-package->cl-source-package sbcl-cffi))
2577
2578 (define-public ecl-cffi
2579 (sbcl-package->ecl-package sbcl-cffi))
2580
2581 (define-public sbcl-cl-sqlite
2582 (package
2583 (name "sbcl-cl-sqlite")
2584 (version "0.2.1")
2585 (source
2586 (origin
2587 (method git-fetch)
2588 (uri (git-reference
2589 (url "https://github.com/dmitryvk/cl-sqlite")
2590 (commit version)))
2591 (file-name (git-file-name "cl-sqlite" version))
2592 (sha256
2593 (base32
2594 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2595 (build-system asdf-build-system/sbcl)
2596 (inputs
2597 `(("iterate" ,sbcl-iterate)
2598 ("cffi" ,sbcl-cffi)
2599 ("sqlite" ,sqlite)))
2600 (native-inputs
2601 `(("fiveam" ,sbcl-fiveam)
2602 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2603 (arguments
2604 `(#:asd-systems '("sqlite")
2605 #:phases
2606 (modify-phases %standard-phases
2607 (add-after 'unpack 'fix-paths
2608 (lambda* (#:key inputs #:allow-other-keys)
2609 (substitute* "sqlite-ffi.lisp"
2610 (("libsqlite3" all) (string-append
2611 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2612 (home-page "https://common-lisp.net/project/cl-sqlite/")
2613 (synopsis "Common Lisp binding for SQLite")
2614 (description
2615 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2616 relational database engine.")
2617 (license license:public-domain)))
2618
2619 (define-public cl-sqlite
2620 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2621
2622 (define-public ecl-cl-sqlite
2623 (sbcl-package->ecl-package sbcl-cl-sqlite))
2624
2625 (define-public sbcl-parenscript
2626 ;; Source archives are overwritten on every release, we use the Git repo instead.
2627 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2628 (package
2629 (name "sbcl-parenscript")
2630 (version (git-version "2.7.1" "1" commit))
2631 (source
2632 (origin
2633 (method git-fetch)
2634 (uri (git-reference
2635 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2636 (commit commit)))
2637 (file-name (git-file-name "parenscript" version))
2638 (sha256
2639 (base32
2640 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2641 (build-system asdf-build-system/sbcl)
2642 (inputs
2643 `(("cl-ppcre" ,sbcl-cl-ppcre)
2644 ("anaphora" ,sbcl-anaphora)
2645 ("named-readtables" ,sbcl-named-readtables)))
2646 (home-page "https://common-lisp.net/project/parenscript/")
2647 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2648 (description
2649 "Parenscript is a translator from an extended subset of Common Lisp to
2650 JavaScript. Parenscript code can run almost identically on both the
2651 browser (as JavaScript) and server (as Common Lisp).
2652
2653 Parenscript code is treated the same way as Common Lisp code, making the full
2654 power of Lisp macros available for JavaScript. This provides a web
2655 development environment that is unmatched in its ability to reduce code
2656 duplication and provide advanced meta-programming facilities to web
2657 developers.
2658
2659 At the same time, Parenscript is different from almost all other \"language
2660 X\" to JavaScript translators in that it imposes almost no overhead:
2661
2662 @itemize
2663 @item No run-time dependencies: Any piece of Parenscript code is runnable
2664 as-is. There are no JavaScript files to include.
2665 @item Native types: Parenscript works entirely with native JavaScript data
2666 types. There are no new types introduced, and object prototypes are not
2667 touched.
2668 @item Native calling convention: Any JavaScript code can be called without the
2669 need for bindings. Likewise, Parenscript can be used to make efficient,
2670 self-contained JavaScript libraries.
2671 @item Readable code: Parenscript generates concise, formatted, idiomatic
2672 JavaScript code. Identifier names are preserved. This enables seamless
2673 debugging in tools like Firebug.
2674 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2675 Lisp features. The generated code is almost as fast as hand-written
2676 JavaScript.
2677 @end itemize\n")
2678 (license license:bsd-3))))
2679
2680 (define-public cl-parenscript
2681 (sbcl-package->cl-source-package sbcl-parenscript))
2682
2683 (define-public ecl-parenscript
2684 (sbcl-package->ecl-package sbcl-parenscript))
2685
2686 (define-public sbcl-cl-json
2687 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2688 (package
2689 (name "sbcl-cl-json")
2690 (version (git-version "0.5" "1" commit))
2691 (source
2692 (origin
2693 (method git-fetch)
2694 (uri (git-reference
2695 (url "https://github.com/hankhero/cl-json")
2696 (commit commit)))
2697 (file-name (git-file-name "cl-json" version))
2698 (sha256
2699 (base32
2700 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2701 (build-system asdf-build-system/sbcl)
2702 (native-inputs
2703 `(("fiveam" ,sbcl-fiveam)))
2704 (home-page "https://github.com/hankhero/cl-json")
2705 (synopsis "JSON encoder and decoder for Common-Lisp")
2706 (description
2707 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2708 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2709 and the decoder are highly customizable; at the same time, the default
2710 settings ensure a very simple mode of operation, similar to that provided by
2711 @command{yason} or @command{st-json}.")
2712 (license license:expat))))
2713
2714 (define-public cl-json
2715 (sbcl-package->cl-source-package sbcl-cl-json))
2716
2717 (define-public ecl-cl-json
2718 (sbcl-package->ecl-package sbcl-cl-json))
2719
2720 (define-public sbcl-unix-opts
2721 (package
2722 (name "sbcl-unix-opts")
2723 (version "0.1.7")
2724 (source
2725 (origin
2726 (method git-fetch)
2727 (uri (git-reference
2728 (url "https://github.com/libre-man/unix-opts")
2729 (commit version)))
2730 (file-name (git-file-name "unix-opts" version))
2731 (sha256
2732 (base32
2733 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2734 (build-system asdf-build-system/sbcl)
2735 (home-page "https://github.com/hankhero/cl-json")
2736 (synopsis "Unix-style command line options parser")
2737 (description
2738 "This is a minimalistic parser of command line options. The main
2739 advantage of the library is the ability to concisely define command line
2740 options once and then use this definition for parsing and extraction of
2741 command line arguments, as well as printing description of command line
2742 options (you get --help for free). This way you don't need to repeat
2743 yourself. Also, @command{unix-opts} doesn't depend on anything and
2744 precisely controls the behavior of the parser via Common Lisp restarts.")
2745 (license license:expat)))
2746
2747 (define-public cl-unix-opts
2748 (sbcl-package->cl-source-package sbcl-unix-opts))
2749
2750 (define-public ecl-unix-opts
2751 (sbcl-package->ecl-package sbcl-unix-opts))
2752
2753 (define-public sbcl-trivial-garbage
2754 (package
2755 (name "sbcl-trivial-garbage")
2756 (version "0.21")
2757 (source
2758 (origin
2759 (method git-fetch)
2760 (uri (git-reference
2761 (url "https://github.com/trivial-garbage/trivial-garbage")
2762 (commit (string-append "v" version))))
2763 (file-name (git-file-name "trivial-garbage" version))
2764 (sha256
2765 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2766 (build-system asdf-build-system/sbcl)
2767 (native-inputs
2768 `(("rt" ,sbcl-rt)))
2769 (home-page "https://common-lisp.net/project/trivial-garbage/")
2770 (synopsis "Portable GC-related APIs for Common Lisp")
2771 (description "@command{trivial-garbage} provides a portable API to
2772 finalizers, weak hash-tables and weak pointers on all major implementations of
2773 the Common Lisp programming language.")
2774 (license license:public-domain)))
2775
2776 (define-public cl-trivial-garbage
2777 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2778
2779 (define-public ecl-trivial-garbage
2780 (sbcl-package->ecl-package sbcl-trivial-garbage))
2781
2782 (define-public sbcl-closer-mop
2783 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2784 (package
2785 (name "sbcl-closer-mop")
2786 (version (git-version "1.0.0" "2" commit))
2787 (source
2788 (origin
2789 (method git-fetch)
2790 (uri (git-reference
2791 (url "https://github.com/pcostanza/closer-mop")
2792 (commit commit)))
2793 (sha256
2794 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2795 (file-name (git-file-name "closer-mop" version ))))
2796 (build-system asdf-build-system/sbcl)
2797 (home-page "https://github.com/pcostanza/closer-mop")
2798 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2799 (description "Closer to MOP is a compatibility layer that rectifies many
2800 of the absent or incorrect CLOS MOP features across a broad range of Common
2801 Lisp implementations.")
2802 (license license:expat))))
2803
2804 (define-public cl-closer-mop
2805 (sbcl-package->cl-source-package sbcl-closer-mop))
2806
2807 (define-public ecl-closer-mop
2808 (sbcl-package->ecl-package sbcl-closer-mop))
2809
2810 (define-public sbcl-cl-cffi-gtk
2811 (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966"))
2812 (package
2813 (name "sbcl-cl-cffi-gtk")
2814 (version (git-version "0.11.2" "2" commit))
2815 (source
2816 (origin
2817 (method git-fetch)
2818 (uri (git-reference
2819 (url "https://github.com/Ferada/cl-cffi-gtk/")
2820 (commit commit)))
2821 (file-name (git-file-name "cl-cffi-gtk" version))
2822 (sha256
2823 (base32
2824 "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj"))))
2825 (build-system asdf-build-system/sbcl)
2826 (native-inputs
2827 `(("fiveam" ,sbcl-fiveam)))
2828 (inputs
2829 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2830 ("cairo" ,cairo)
2831 ("cffi" ,sbcl-cffi)
2832 ("closer-mop" ,sbcl-closer-mop)
2833 ("gdk-pixbuf" ,gdk-pixbuf)
2834 ("glib" ,glib)
2835 ("gtk" ,gtk+)
2836 ("iterate" ,sbcl-iterate)
2837 ("pango" ,pango)
2838 ("trivial-features" ,sbcl-trivial-features)
2839 ("trivial-garbage" ,sbcl-trivial-garbage)))
2840 (arguments
2841 `(#:asd-files '("gtk/cl-cffi-gtk.asd"
2842 "glib/cl-cffi-gtk-glib.asd"
2843 "gobject/cl-cffi-gtk-gobject.asd"
2844 "gio/cl-cffi-gtk-gio.asd"
2845 "cairo/cl-cffi-gtk-cairo.asd"
2846 "pango/cl-cffi-gtk-pango.asd"
2847 "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2848 "gdk/cl-cffi-gtk-gdk.asd")
2849 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2850 ;; TODO: Tests fail with memory fault.
2851 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2852 #:tests? #f
2853 #:phases
2854 (modify-phases %standard-phases
2855 (add-after 'unpack 'fix-paths
2856 (lambda* (#:key inputs #:allow-other-keys)
2857 (substitute* "glib/glib.init.lisp"
2858 (("libglib|libgthread" all)
2859 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2860 (substitute* "gobject/gobject.init.lisp"
2861 (("libgobject" all)
2862 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2863 (substitute* "gio/gio.init.lisp"
2864 (("libgio" all)
2865 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2866 (substitute* "cairo/cairo.init.lisp"
2867 (("libcairo" all)
2868 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2869 (substitute* "pango/pango.init.lisp"
2870 (("libpango" all)
2871 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2872 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2873 (("libgdk_pixbuf" all)
2874 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2875 (substitute* "gdk/gdk.init.lisp"
2876 (("libgdk" all)
2877 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2878 (substitute* "gdk/gdk.package.lisp"
2879 (("libgtk" all)
2880 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2881 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2882 (synopsis "Common Lisp binding for GTK+3")
2883 (description
2884 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2885 is a library for creating graphical user interfaces.")
2886 (license license:lgpl3))))
2887
2888 (define-public cl-cffi-gtk
2889 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2890
2891 (define-public ecl-cl-cffi-gtk
2892 (sbcl-package->ecl-package sbcl-cl-cffi-gtk))
2893
2894 (define-public sbcl-cl-webkit
2895 (let ((commit "5ce3ea1fbf2b21e7ccb98402a818508ca9b79395"))
2896 (package
2897 (name "sbcl-cl-webkit")
2898 (version (git-version "2.4" "10" commit))
2899 (source
2900 (origin
2901 (method git-fetch)
2902 (uri (git-reference
2903 (url "https://github.com/joachifm/cl-webkit")
2904 (commit commit)))
2905 (file-name (git-file-name "cl-webkit" version))
2906 (sha256
2907 (base32
2908 "0zgd8hp2nalh0v4xgjvqxd6rf95f7mci181xbg3gmqxxwxd4mkpk"))))
2909 (build-system asdf-build-system/sbcl)
2910 (inputs
2911 `(("cffi" ,sbcl-cffi)
2912 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
2913 ("webkitgtk" ,webkitgtk)))
2914 (arguments
2915 `(#:asd-systems '("cl-webkit2")
2916 #:phases
2917 (modify-phases %standard-phases
2918 (add-after 'unpack 'fix-paths
2919 (lambda* (#:key inputs #:allow-other-keys)
2920 (substitute* "webkit2/webkit2.init.lisp"
2921 (("libwebkit2gtk" all)
2922 (string-append
2923 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
2924 (home-page "https://github.com/joachifm/cl-webkit")
2925 (synopsis "Binding to WebKitGTK+ for Common Lisp")
2926 (description
2927 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
2928 currently targeting WebKit version 2. The WebKitGTK+ library adds web
2929 browsing capabilities to an application, leveraging the full power of the
2930 WebKit browsing engine.")
2931 (license license:expat))))
2932
2933 (define-public cl-webkit
2934 (sbcl-package->cl-source-package sbcl-cl-webkit))
2935
2936 (define-public ecl-cl-webkit
2937 (sbcl-package->ecl-package sbcl-cl-webkit))
2938
2939 (define-public sbcl-lparallel
2940 (package
2941 (name "sbcl-lparallel")
2942 (version "2.8.4")
2943 (source
2944 (origin
2945 (method git-fetch)
2946 (uri (git-reference
2947 (url "https://github.com/lmj/lparallel/")
2948 (commit (string-append "lparallel-" version))))
2949 (file-name (git-file-name "lparallel" version))
2950 (sha256
2951 (base32
2952 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
2953 (build-system asdf-build-system/sbcl)
2954 (inputs
2955 `(("alexandria" ,sbcl-alexandria)
2956 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2957 ("trivial-garbage" ,sbcl-trivial-garbage)))
2958 (arguments
2959 `(#:phases
2960 (modify-phases %standard-phases
2961 (add-after 'unpack 'fix-dependency
2962 ;; lparallel loads a SBCL specific system in its asd file. This is
2963 ;; not carried over into the fasl which is generated. In order for
2964 ;; it to be carried over, it needs to be listed as a dependency.
2965 (lambda _
2966 (substitute* "lparallel.asd"
2967 ((":depends-on \\(:alexandria" all)
2968 (string-append all " #+sbcl :sb-cltl2"))))))))
2969 (home-page "https://lparallel.org/")
2970 (synopsis "Parallelism for Common Lisp")
2971 (description
2972 "@command{lparallel} is a library for parallel programming in Common
2973 Lisp, featuring:
2974
2975 @itemize
2976 @item a simple model of task submission with receiving queue,
2977 @item constructs for expressing fine-grained parallelism,
2978 @item asynchronous condition handling across thread boundaries,
2979 @item parallel versions of map, reduce, sort, remove, and many others,
2980 @item promises, futures, and delayed evaluation constructs,
2981 @item computation trees for parallelizing interconnected tasks,
2982 @item bounded and unbounded FIFO queues,
2983 @item high and low priority tasks,
2984 @item task killing by category,
2985 @item integrated timeouts.
2986 @end itemize\n")
2987 (license license:expat)))
2988
2989 (define-public cl-lparallel
2990 (sbcl-package->cl-source-package sbcl-lparallel))
2991
2992 (define-public ecl-lparallel
2993 (package
2994 (inherit (sbcl-package->ecl-package sbcl-lparallel))
2995 (arguments
2996 ;; TODO: Find why the tests get stuck forever; disable them for now.
2997 `(#:tests? #f))))
2998
2999 (define-public sbcl-cl-markup
3000 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3001 (package
3002 (name "sbcl-cl-markup")
3003 (version (git-version "0.1" "1" commit))
3004 (source
3005 (origin
3006 (method git-fetch)
3007 (uri (git-reference
3008 (url "https://github.com/arielnetworks/cl-markup/")
3009 (commit commit)))
3010 (file-name (git-file-name "cl-markup" version))
3011 (sha256
3012 (base32
3013 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3014 (build-system asdf-build-system/sbcl)
3015 (home-page "https://github.com/arielnetworks/cl-markup/")
3016 (synopsis "Markup generation library for Common Lisp")
3017 (description
3018 "A modern markup generation library for Common Lisp that features:
3019
3020 @itemize
3021 @item Fast (even faster through compiling the code)
3022 @item Safety
3023 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3024 @item Output with doctype
3025 @item Direct output to stream
3026 @end itemize\n")
3027 (license license:lgpl3+))))
3028
3029 (define-public cl-markup
3030 (sbcl-package->cl-source-package sbcl-cl-markup))
3031
3032 (define-public ecl-cl-markup
3033 (sbcl-package->ecl-package sbcl-cl-markup))
3034
3035 (define-public sbcl-cl-mustache
3036 (package
3037 (name "sbcl-cl-mustache")
3038 (version "0.12.1")
3039 (source
3040 (origin
3041 (method git-fetch)
3042 (uri (git-reference
3043 (url "https://github.com/kanru/cl-mustache")
3044 (commit (string-append "v" version))))
3045 (file-name (git-file-name "cl-mustache" version))
3046 (sha256
3047 (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks"))))
3048 (build-system asdf-build-system/sbcl)
3049 (home-page "https://github.com/kanru/cl-mustache")
3050 (synopsis "Common Lisp Mustache template renderer")
3051 (description "This is a Common Lisp implementation for the Mustache
3052 template system. More details on the standard are available at
3053 @url{https://mustache.github.io}.")
3054 (license license:expat)))
3055
3056 (define-public cl-mustache
3057 (sbcl-package->cl-source-package sbcl-cl-mustache))
3058
3059 (define-public ecl-cl-mustache
3060 (sbcl-package->ecl-package sbcl-cl-mustache))
3061
3062 (define-public sbcl-cl-css
3063 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3064 (package
3065 (name "sbcl-cl-css")
3066 (version (git-version "0.1" "1" commit))
3067 (source
3068 (origin
3069 (method git-fetch)
3070 (uri (git-reference
3071 (url "https://github.com/inaimathi/cl-css/")
3072 (commit commit)))
3073 (file-name (git-file-name "cl-css" version))
3074 (sha256
3075 (base32
3076 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3077 (build-system asdf-build-system/sbcl)
3078 (home-page "https://github.com/inaimathi/cl-css/")
3079 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3080 (description
3081 "This is a dead-simple, non validating, inline CSS generator for Common
3082 Lisp. Its goals are axiomatic syntax, simple implementation to support
3083 portability, and boilerplate reduction in CSS.")
3084 (license license:expat))))
3085
3086 (define-public cl-css
3087 (sbcl-package->cl-source-package sbcl-cl-css))
3088
3089 (define-public ecl-cl-css
3090 (sbcl-package->ecl-package sbcl-cl-css))
3091
3092 (define-public sbcl-portable-threads
3093 (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df"))
3094 (package
3095 (name "sbcl-portable-threads")
3096 (version (git-version "2.3" "2" commit))
3097 (source
3098 (origin
3099 (method git-fetch)
3100 (uri (git-reference
3101 (url "https://github.com/binghe/portable-threads/")
3102 (commit commit)))
3103 (file-name (git-file-name "portable-threads" version))
3104 (sha256
3105 (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs"))))
3106 (build-system asdf-build-system/sbcl)
3107 (arguments
3108 `(;; Tests seem broken.
3109 #:tests? #f))
3110 (home-page "https://github.com/binghe/portable-threads")
3111 (synopsis "Portable threads API for Common Lisp")
3112 (description
3113 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3114 Lisp (from GBBopen project).")
3115 (license license:asl2.0))))
3116
3117 (define-public cl-portable-threads
3118 (sbcl-package->cl-source-package sbcl-portable-threads))
3119
3120 (define-public ecl-portable-threads
3121 (sbcl-package->ecl-package sbcl-portable-threads))
3122
3123 (define-public sbcl-usocket
3124 (package
3125 (name "sbcl-usocket")
3126 (version "0.8.3")
3127 (source
3128 (origin
3129 (method git-fetch)
3130 (uri (git-reference
3131 (url "https://github.com/usocket/usocket/")
3132 (commit (string-append "v" version))))
3133 (file-name (git-file-name "usocket" version))
3134 (sha256
3135 (base32
3136 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3137 (build-system asdf-build-system/sbcl)
3138 (native-inputs
3139 `(("rt" ,sbcl-rt)))
3140 (inputs
3141 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3142 ("split-sequence" ,sbcl-split-sequence)))
3143 (arguments
3144 `(#:tests? #f ; FIXME: Tests need network access?
3145 #:asd-systems '("usocket"
3146 "usocket-server")))
3147 (home-page "https://common-lisp.net/project/usocket/")
3148 (synopsis "Universal socket library for Common Lisp")
3149 (description
3150 "This library strives to provide a portable TCP/IP and UDP/IP socket
3151 interface for as many Common Lisp implementations as possible, while keeping
3152 the abstraction and portability layer as thin as possible.")
3153 (license license:expat)))
3154
3155 (define-public cl-usocket
3156 (sbcl-package->cl-source-package sbcl-usocket))
3157
3158 (define-public ecl-usocket
3159 (sbcl-package->ecl-package sbcl-usocket))
3160
3161 (define-public sbcl-s-xml
3162 (package
3163 (name "sbcl-s-xml")
3164 (version "3")
3165 (source
3166 (origin
3167 (method url-fetch)
3168 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3169 (sha256
3170 (base32
3171 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3172 (build-system asdf-build-system/sbcl)
3173 (home-page "https://common-lisp.net/project/s-xml/")
3174 (synopsis "Simple XML parser implemented in Common Lisp")
3175 (description
3176 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3177 parser implementation has the following features:
3178
3179 @itemize
3180 @item It works (handling many common XML usages).
3181 @item It is very small (the core is about 700 lines of code, including
3182 comments and whitespace).
3183 @item It has a core API that is simple, efficient and pure functional, much
3184 like that from SSAX (see also http://ssax.sourceforge.net).
3185 @item It supports different DOM models: an XSML-based one, an LXML-based one
3186 and a classic xml-element struct based one.
3187 @item It is reasonably time and space efficient (internally avoiding garbage
3188 generatation as much as possible).
3189 @item It does support CDATA.
3190 @item It should support the same character sets as your Common Lisp
3191 implementation.
3192 @item It does support XML name spaces.
3193 @end itemize
3194
3195 This XML parser implementation has the following limitations:
3196
3197 @itemize
3198 @item It does not support any special tags (like processing instructions).
3199 @item It is not validating, even skips DTD's all together.
3200 @end itemize\n")
3201 (license license:lgpl3+)))
3202
3203 (define-public cl-s-xml
3204 (sbcl-package->cl-source-package sbcl-s-xml))
3205
3206 (define-public ecl-s-xml
3207 (sbcl-package->ecl-package sbcl-s-xml))
3208
3209 (define-public sbcl-s-xml-rpc
3210 (package
3211 (name "sbcl-s-xml-rpc")
3212 (version "7")
3213 (source
3214 (origin
3215 (method url-fetch)
3216 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3217 (sha256
3218 (base32
3219 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3220 (build-system asdf-build-system/sbcl)
3221 (inputs
3222 `(("s-xml" ,sbcl-s-xml)))
3223 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3224 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3225 (description
3226 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3227 client and server.")
3228 (license license:lgpl3+)))
3229
3230 (define-public cl-s-xml-rpc
3231 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3232
3233 (define-public ecl-s-xml-rpc
3234 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3235
3236 (define-public sbcl-trivial-clipboard
3237 (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3238 (package
3239 (name "sbcl-trivial-clipboard")
3240 (version (git-version "0.0.0.0" "3" commit))
3241 (source
3242 (origin
3243 (method git-fetch)
3244 (uri (git-reference
3245 (url "https://github.com/snmsts/trivial-clipboard")
3246 (commit commit)))
3247 (file-name (git-file-name "trivial-clipboard" version))
3248 (sha256
3249 (base32
3250 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
3251 (build-system asdf-build-system/sbcl)
3252 (inputs
3253 `(("xclip" ,xclip)))
3254 (native-inputs
3255 `(("fiveam" ,sbcl-fiveam)))
3256 (arguments
3257 `(#:phases
3258 (modify-phases %standard-phases
3259 (add-after 'unpack 'fix-paths
3260 (lambda* (#:key inputs #:allow-other-keys)
3261 (substitute* "src/text.lisp"
3262 (("\\(executable-find \"xclip\"\\)")
3263 (string-append "(executable-find \""
3264 (assoc-ref inputs "xclip")
3265 "/bin/xclip\")"))))))))
3266 (home-page "https://github.com/snmsts/trivial-clipboard")
3267 (synopsis "Access system clipboard in Common Lisp")
3268 (description
3269 "@command{trivial-clipboard} gives access to the system clipboard.")
3270 (license license:expat))))
3271
3272 (define-public cl-trivial-clipboard
3273 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3274
3275 (define-public ecl-trivial-clipboard
3276 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3277
3278 (define-public sbcl-trivial-backtrace
3279 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3280 (revision "1"))
3281 (package
3282 (name "sbcl-trivial-backtrace")
3283 (version (git-version "0.0.0" revision commit))
3284 (source
3285 (origin
3286 (method git-fetch)
3287 (uri (git-reference
3288 (url "https://github.com/gwkkwg/trivial-backtrace")
3289 (commit commit)))
3290 (file-name (git-file-name "trivial-backtrace" version))
3291 (sha256
3292 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3293 (build-system asdf-build-system/sbcl)
3294 (inputs
3295 `(("sbcl-lift" ,sbcl-lift)))
3296 (arguments
3297 `(#:phases
3298 (modify-phases %standard-phases
3299 (add-after 'check 'delete-test-results
3300 (lambda* (#:key outputs #:allow-other-keys)
3301 (let ((test-results (string-append (assoc-ref outputs "out")
3302 "/share/common-lisp/"
3303 (%lisp-type)
3304 "/trivial-backtrace"
3305 "/test-results")))
3306 (when (file-exists? test-results)
3307 (delete-file-recursively test-results)))
3308 #t)))))
3309 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3310 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3311 (description
3312 "One of the many things that didn't quite get into the Common Lisp
3313 standard was how to get a Lisp to output its call stack when something has
3314 gone wrong. As such, each Lisp has developed its own notion of what to
3315 display, how to display it, and what sort of arguments can be used to
3316 customize it. @code{trivial-backtrace} is a simple solution to generating a
3317 backtrace portably.")
3318 (license license:expat))))
3319
3320 (define-public cl-trivial-backtrace
3321 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3322
3323 (define-public ecl-trivial-backtrace
3324 (sbcl-package->ecl-package sbcl-trivial-backtrace))
3325
3326 (define-public sbcl-rfc2388
3327 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3328 (revision "1"))
3329 (package
3330 (name "sbcl-rfc2388")
3331 (version (git-version "0.0.0" revision commit))
3332 (source
3333 (origin
3334 (method git-fetch)
3335 (uri (git-reference
3336 (url "https://github.com/jdz/rfc2388")
3337 (commit commit)))
3338 (file-name (git-file-name "rfc2388" version))
3339 (sha256
3340 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3341 (build-system asdf-build-system/sbcl)
3342 (home-page "https://github.com/jdz/rfc2388/")
3343 (synopsis "An implementation of RFC 2388 in Common Lisp")
3344 (description
3345 "This package contains an implementation of RFC 2388, which is used to
3346 process form data posted with HTTP POST method using enctype
3347 \"multipart/form-data\".")
3348 (license license:bsd-2))))
3349
3350 (define-public cl-rfc2388
3351 (sbcl-package->cl-source-package sbcl-rfc2388))
3352
3353 (define-public ecl-rfc2388
3354 (sbcl-package->ecl-package sbcl-rfc2388))
3355
3356 (define-public sbcl-md5
3357 (package
3358 (name "sbcl-md5")
3359 (version "2.0.4")
3360 (source
3361 (origin
3362 (method git-fetch)
3363 (uri (git-reference
3364 (url "https://github.com/pmai/md5")
3365 (commit (string-append "release-" version))))
3366 (file-name (git-file-name "md5" version))
3367 (sha256
3368 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3369 (build-system asdf-build-system/sbcl)
3370 (home-page "https://github.com/pmai/md5")
3371 (synopsis
3372 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3373 (description
3374 "This package implements The MD5 Message-Digest Algorithm, as defined in
3375 RFC 1321 by R. Rivest, published April 1992.")
3376 (license license:public-domain)))
3377
3378 (define-public cl-md5
3379 (sbcl-package->cl-source-package sbcl-md5))
3380
3381 (define-public ecl-md5
3382 (package
3383 (inherit (sbcl-package->ecl-package sbcl-md5))
3384 (inputs
3385 `(("flexi-streams" ,ecl-flexi-streams)))))
3386
3387 (define-public sbcl-cl+ssl
3388 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3389 (revision "1"))
3390 (package
3391 (name "sbcl-cl+ssl")
3392 (version (git-version "0.0.0" revision commit))
3393 (source
3394 (origin
3395 (method git-fetch)
3396 (uri (git-reference
3397 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3398 (commit commit)))
3399 (file-name (git-file-name "cl+ssl" version))
3400 (sha256
3401 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3402 (build-system asdf-build-system/sbcl)
3403 (arguments
3404 '(#:phases
3405 (modify-phases %standard-phases
3406 (add-after 'unpack 'fix-paths
3407 (lambda* (#:key inputs #:allow-other-keys)
3408 (substitute* "src/reload.lisp"
3409 (("libssl.so" all)
3410 (string-append
3411 (assoc-ref inputs "openssl") "/lib/" all))))))))
3412 (inputs
3413 `(("openssl" ,openssl)
3414 ("sbcl-cffi" ,sbcl-cffi)
3415 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3416 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3417 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3418 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3419 ("sbcl-alexandria" ,sbcl-alexandria)
3420 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3421 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3422 (synopsis "Common Lisp bindings to OpenSSL")
3423 (description
3424 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3425 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3426 Development into CL+SSL was done by David Lichteblau.")
3427 (license license:expat))))
3428
3429 (define-public cl-cl+ssl
3430 (sbcl-package->cl-source-package sbcl-cl+ssl))
3431
3432 (define-public ecl-cl+ssl
3433 (sbcl-package->ecl-package sbcl-cl+ssl))
3434
3435 (define-public sbcl-kmrcl
3436 (let ((version "1.111")
3437 (commit "4a27407aad9deb607ffb8847630cde3d041ea25a")
3438 (revision "1"))
3439 (package
3440 (name "sbcl-kmrcl")
3441 (version (git-version version revision commit))
3442 (source
3443 (origin
3444 (method git-fetch)
3445 (uri (git-reference
3446 (url "http://git.kpe.io/kmrcl.git/")
3447 (commit commit)))
3448 (file-name (git-file-name name version))
3449 (sha256
3450 (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2"))))
3451 (build-system asdf-build-system/sbcl)
3452 (inputs
3453 `(("sbcl-rt" ,sbcl-rt)))
3454 (home-page "http://files.kpe.io/kmrcl/")
3455 (synopsis "General utilities for Common Lisp programs")
3456 (description
3457 "KMRCL is a collection of utilities used by a number of Kevin
3458 Rosenberg's Common Lisp packages.")
3459 (license license:llgpl))))
3460
3461 (define-public cl-kmrcl
3462 (sbcl-package->cl-source-package sbcl-kmrcl))
3463
3464 (define-public ecl-kmrcl
3465 (sbcl-package->ecl-package sbcl-kmrcl))
3466
3467 (define-public sbcl-cl-base64
3468 ;; 3.3.4 tests are broken, upstream fixes them.
3469 (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a"))
3470 (package
3471 (name "sbcl-cl-base64")
3472 (version (git-version "3.3.4" "1" commit))
3473 (source
3474 (origin
3475 (method git-fetch)
3476 (uri (git-reference
3477 (url "http://git.kpe.io/cl-base64.git/")
3478 (commit commit)))
3479 (file-name (git-file-name name version))
3480 (sha256
3481 (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj"))))
3482 (build-system asdf-build-system/sbcl)
3483 (native-inputs ; For tests.
3484 `(("sbcl-ptester" ,sbcl-ptester)
3485 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3486 (home-page "http://files.kpe.io/cl-base64/")
3487 (synopsis
3488 "Common Lisp package to encode and decode base64 with URI support")
3489 (description
3490 "This package provides highly optimized base64 encoding and decoding.
3491 Besides conversion to and from strings, integer conversions are supported.
3492 Encoding with Uniform Resource Identifiers is supported by using a modified
3493 encoding table that uses only URI-compatible characters.")
3494 (license license:bsd-3))))
3495
3496 (define-public cl-base64
3497 (sbcl-package->cl-source-package sbcl-cl-base64))
3498
3499 (define-public ecl-cl-base64
3500 (sbcl-package->ecl-package sbcl-cl-base64))
3501
3502 (define-public sbcl-chunga
3503 (package
3504 (name "sbcl-chunga")
3505 (version "1.1.7")
3506 (source
3507 (origin
3508 (method git-fetch)
3509 (uri (git-reference
3510 (url "https://github.com/edicl/chunga")
3511 (commit (string-append "v" version))))
3512 (file-name (git-file-name name version))
3513 (sha256
3514 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3515 (build-system asdf-build-system/sbcl)
3516 (inputs
3517 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3518 (home-page "https://edicl.github.io/chunga/")
3519 (synopsis "Portable chunked streams for Common Lisp")
3520 (description
3521 "Chunga implements streams capable of chunked encoding on demand as
3522 defined in RFC 2616.")
3523 (license license:bsd-2)))
3524
3525 (define-public cl-chunga
3526 (sbcl-package->cl-source-package sbcl-chunga))
3527
3528 (define-public ecl-chunga
3529 (sbcl-package->ecl-package sbcl-chunga))
3530
3531 (define-public sbcl-cl-who
3532 (let ((version "1.1.4")
3533 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3534 (revision "1"))
3535 (package
3536 (name "sbcl-cl-who")
3537 (version (git-version version revision commit))
3538 (source
3539 (origin
3540 (method git-fetch)
3541 (uri (git-reference
3542 (url "https://github.com/edicl/cl-who")
3543 (commit commit)))
3544 (file-name (git-file-name name version))
3545 (sha256
3546 (base32
3547 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3548 (build-system asdf-build-system/sbcl)
3549 (native-inputs
3550 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3551 (home-page "https://edicl.github.io/cl-who/")
3552 (synopsis "Yet another Lisp markup language")
3553 (description
3554 "There are plenty of Lisp Markup Languages out there - every Lisp
3555 programmer seems to write at least one during his career - and CL-WHO (where
3556 WHO means \"with-html-output\" for want of a better acronym) is probably just
3557 as good or bad as the next one.")
3558 (license license:bsd-2))))
3559
3560 (define-public cl-who
3561 (sbcl-package->cl-source-package sbcl-cl-who))
3562
3563 (define-public ecl-cl-who
3564 (sbcl-package->ecl-package sbcl-cl-who))
3565
3566 (define-public sbcl-chipz
3567 (let ((version "0.8")
3568 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3569 (revision "1"))
3570 (package
3571 (name "sbcl-chipz")
3572 (version (git-version version revision commit))
3573 (source
3574 (origin
3575 (method git-fetch)
3576 (uri (git-reference
3577 (url "https://github.com/froydnj/chipz")
3578 (commit commit)))
3579 (file-name (git-file-name name version))
3580 (sha256
3581 (base32
3582 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3583 (build-system asdf-build-system/sbcl)
3584 (native-inputs
3585 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3586 (home-page "http://method-combination.net/lisp/chipz/")
3587 (synopsis
3588 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3589 data")
3590 (description
3591 "DEFLATE data, defined in RFC1951, forms the core of popular
3592 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3593 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3594 the format used by the popular compression tool bzip2.")
3595 ;; The author describes it as "MIT-like"
3596 (license license:expat))))
3597
3598 (define-public cl-chipz
3599 (sbcl-package->cl-source-package sbcl-chipz))
3600
3601 (define-public ecl-chipz
3602 (sbcl-package->ecl-package sbcl-chipz))
3603
3604 (define-public sbcl-drakma
3605 (package
3606 (name "sbcl-drakma")
3607 (version "2.0.7")
3608 (source
3609 (origin
3610 (method git-fetch)
3611 (uri (git-reference
3612 (url "https://github.com/edicl/drakma")
3613 (commit (string-append "v" version))))
3614 (file-name (git-file-name name version))
3615 (sha256
3616 (base32
3617 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3618 (build-system asdf-build-system/sbcl)
3619 (inputs
3620 `(("sbcl-puri" ,sbcl-puri)
3621 ("sbcl-cl-base64" ,sbcl-cl-base64)
3622 ("sbcl-chunga" ,sbcl-chunga)
3623 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3624 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3625 ("sbcl-chipz" ,sbcl-chipz)
3626 ("sbcl-usocket" ,sbcl-usocket)
3627 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3628 (native-inputs
3629 `(("sbcl-fiveam" ,sbcl-fiveam)))
3630 (home-page "https://edicl.github.io/drakma/")
3631 (synopsis "HTTP client written in Common Lisp")
3632 (description
3633 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3634 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3635 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3636 (license license:bsd-2)))
3637
3638 (define-public cl-drakma
3639 (sbcl-package->cl-source-package sbcl-drakma))
3640
3641 (define-public ecl-drakma
3642 (sbcl-package->ecl-package sbcl-drakma))
3643
3644 (define-public sbcl-hunchentoot
3645 (package
3646 (name "sbcl-hunchentoot")
3647 (version "1.2.38")
3648 (source
3649 (origin
3650 (method git-fetch)
3651 (uri (git-reference
3652 (url "https://github.com/edicl/hunchentoot")
3653 (commit (string-append "v" version))))
3654 (file-name (git-file-name "hunchentoot" version))
3655 (sha256
3656 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3657 (build-system asdf-build-system/sbcl)
3658 (native-inputs
3659 `(("sbcl-cl-who" ,sbcl-cl-who)
3660 ("sbcl-drakma" ,sbcl-drakma)))
3661 (inputs
3662 `(("sbcl-chunga" ,sbcl-chunga)
3663 ("sbcl-cl-base64" ,sbcl-cl-base64)
3664 ("sbcl-cl-fad" ,sbcl-cl-fad)
3665 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3666 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3667 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3668 ("sbcl-md5" ,sbcl-md5)
3669 ("sbcl-rfc2388" ,sbcl-rfc2388)
3670 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3671 ("sbcl-usocket" ,sbcl-usocket)))
3672 (home-page "https://edicl.github.io/hunchentoot/")
3673 (synopsis "Web server written in Common Lisp")
3674 (description
3675 "Hunchentoot is a web server written in Common Lisp and at the same
3676 time a toolkit for building dynamic websites. As a stand-alone web server,
3677 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3678 connections (keep-alive), and SSL.")
3679 (license license:bsd-2)))
3680
3681 (define-public cl-hunchentoot
3682 (sbcl-package->cl-source-package sbcl-hunchentoot))
3683
3684 (define-public ecl-hunchentoot
3685 (package
3686 (inherit (sbcl-package->ecl-package sbcl-hunchentoot))
3687 (arguments
3688 ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'.
3689 '(#:tests? #f))))
3690
3691 (define-public sbcl-trivial-types
3692 (package
3693 (name "sbcl-trivial-types")
3694 (version "0.0.1")
3695 (source
3696 (origin
3697 (method git-fetch)
3698 (uri (git-reference
3699 (url "https://github.com/m2ym/trivial-types")
3700 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3701 (file-name (git-file-name name version))
3702 (sha256
3703 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3704 (build-system asdf-build-system/sbcl)
3705 (home-page "https://github.com/m2ym/trivial-types")
3706 (synopsis "Trivial type definitions for Common Lisp")
3707 (description
3708 "TRIVIAL-TYPES provides missing but important type definitions such as
3709 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3710 (license license:llgpl)))
3711
3712 (define-public cl-trivial-types
3713 (sbcl-package->cl-source-package sbcl-trivial-types))
3714
3715 (define-public ecl-trivial-types
3716 (sbcl-package->ecl-package sbcl-trivial-types))
3717
3718 (define-public sbcl-cl-annot
3719 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3720 (revision "1"))
3721 (package
3722 (name "sbcl-cl-annot")
3723 (version (git-version "0.0.0" revision commit))
3724 (source
3725 (origin
3726 (method git-fetch)
3727 (uri (git-reference
3728 (url "https://github.com/m2ym/cl-annot")
3729 (commit commit)))
3730 (file-name (git-file-name name version))
3731 (sha256
3732 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3733 (build-system asdf-build-system/sbcl)
3734 (inputs
3735 `(("sbcl-alexandria" ,sbcl-alexandria)))
3736 (home-page "https://github.com/m2ym/cl-annot")
3737 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3738 (description
3739 "@code{cl-annot} is an general annotation library for Common Lisp.")
3740 (license license:llgpl))))
3741
3742 (define-public cl-annot
3743 (sbcl-package->cl-source-package sbcl-cl-annot))
3744
3745 (define-public ecl-cl-annot
3746 (sbcl-package->ecl-package sbcl-cl-annot))
3747
3748 (define-public sbcl-cl-syntax
3749 (package
3750 (name "sbcl-cl-syntax")
3751 (version "0.0.3")
3752 (source
3753 (origin
3754 (method git-fetch)
3755 (uri (git-reference
3756 (url "https://github.com/m2ym/cl-syntax")
3757 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3758 (file-name (git-file-name "cl-syntax" version))
3759 (sha256
3760 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3761 (build-system asdf-build-system/sbcl)
3762 (inputs
3763 `(("cl-annot" ,sbcl-cl-annot)
3764 ("cl-interpol" ,sbcl-cl-interpol)
3765 ("named-readtables" ,sbcl-named-readtables)
3766 ("trivial-types" ,sbcl-trivial-types)))
3767 (arguments
3768 '(#:asd-systems '("cl-syntax"
3769 "cl-syntax-annot"
3770 "cl-syntax-interpol")))
3771 (home-page "https://github.com/m2ym/cl-syntax")
3772 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3773 (description
3774 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3775 (license license:llgpl)))
3776
3777 (define-public cl-syntax
3778 (sbcl-package->cl-source-package sbcl-cl-syntax))
3779
3780 (define-public ecl-cl-syntax
3781 (sbcl-package->ecl-package sbcl-cl-syntax))
3782
3783 (define-public sbcl-cl-utilities
3784 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3785 (revision "1"))
3786 (package
3787 (name "sbcl-cl-utilities")
3788 (version (git-version "0.0.0" revision commit))
3789 (source
3790 (origin
3791 (method url-fetch)
3792 (uri
3793 (string-append
3794 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3795 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3796 (sha256
3797 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3798 (build-system asdf-build-system/sbcl)
3799 (arguments
3800 '(#:phases
3801 (modify-phases %standard-phases
3802 (add-after 'unpack 'fix-paths
3803 (lambda* (#:key inputs #:allow-other-keys)
3804 (substitute* "rotate-byte.lisp"
3805 (("in-package :cl-utilities)" all)
3806 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3807 (home-page "http://common-lisp.net/project/cl-utilities")
3808 (synopsis "A collection of semi-standard utilities")
3809 (description
3810 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3811 is a collection of Common Lisp Utilities, things that everybody writes since
3812 they're not part of the official standard. There are some very useful things
3813 there; the only problems are that they aren't implemented as well as you'd
3814 like (some aren't implemented at all) and they aren't conveniently packaged
3815 and maintained. It takes quite a bit of work to carefully implement utilities
3816 for common use, commented and documented, with error checking placed
3817 everywhere some dumb user might make a mistake.")
3818 (license license:public-domain))))
3819
3820 (define-public cl-utilities
3821 (sbcl-package->cl-source-package sbcl-cl-utilities))
3822
3823 (define-public ecl-cl-utilities
3824 (sbcl-package->ecl-package sbcl-cl-utilities))
3825
3826 (define-public sbcl-map-set
3827 (let ((commit "7b4b545b68b8")
3828 (revision "1"))
3829 (package
3830 (name "sbcl-map-set")
3831 (version (git-version "0.0.0" revision commit))
3832 (source
3833 (origin
3834 (method url-fetch)
3835 (uri (string-append
3836 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3837 commit ".tar.gz"))
3838 (sha256
3839 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3840 (build-system asdf-build-system/sbcl)
3841 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3842 (synopsis "Set-like data structure")
3843 (description
3844 "Implementation of a set-like data structure with constant time
3845 addition, removal, and random selection.")
3846 (license license:bsd-3))))
3847
3848 (define-public cl-map-set
3849 (sbcl-package->cl-source-package sbcl-map-set))
3850
3851 (define-public ecl-map-set
3852 (sbcl-package->ecl-package sbcl-map-set))
3853
3854 (define-public sbcl-quri
3855 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
3856 (revision "2"))
3857 (package
3858 (name "sbcl-quri")
3859 (version (git-version "0.1.0" revision commit))
3860 (source
3861 (origin
3862 (method git-fetch)
3863 (uri (git-reference
3864 (url "https://github.com/fukamachi/quri")
3865 (commit commit)))
3866 (file-name (git-file-name name version))
3867 (sha256
3868 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
3869 (build-system asdf-build-system/sbcl)
3870 (arguments
3871 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3872 ;; required by #<SYSTEM "quri">. Why?
3873 '(#:tests? #f))
3874 (native-inputs `(("sbcl-prove" ,sbcl-prove)))
3875 (inputs `(("sbcl-babel" ,sbcl-babel)
3876 ("sbcl-split-sequence" ,sbcl-split-sequence)
3877 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3878 ("sbcl-alexandria" ,sbcl-alexandria)))
3879 (home-page "https://github.com/fukamachi/quri")
3880 (synopsis "Yet another URI library for Common Lisp")
3881 (description
3882 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3883 Lisp. It is intended to be a replacement of PURI.")
3884 (license license:bsd-3))))
3885
3886 (define-public cl-quri
3887 (sbcl-package->cl-source-package sbcl-quri))
3888
3889 (define-public ecl-quri
3890 (sbcl-package->ecl-package sbcl-quri))
3891
3892 (define-public sbcl-myway
3893 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3894 (revision "1"))
3895 (package
3896 (name "sbcl-myway")
3897 (version (git-version "0.1.0" revision commit))
3898 (source
3899 (origin
3900 (method git-fetch)
3901 (uri (git-reference
3902 (url "https://github.com/fukamachi/myway")
3903 (commit commit)))
3904 (file-name (git-file-name "myway" version))
3905 (sha256
3906 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3907 (build-system asdf-build-system/sbcl)
3908 (arguments
3909 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3910 ;; by #<SYSTEM "myway">. Why?
3911 '(#:tests? #f))
3912 (native-inputs
3913 `(("sbcl-prove" ,sbcl-prove)))
3914 (inputs
3915 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3916 ("sbcl-quri" ,sbcl-quri)
3917 ("sbcl-map-set" ,sbcl-map-set)))
3918 (home-page "https://github.com/fukamachi/myway")
3919 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3920 (description "My Way is a Sinatra-compatible URL routing library.")
3921 (license license:llgpl))))
3922
3923 (define-public cl-myway
3924 (sbcl-package->cl-source-package sbcl-myway))
3925
3926 (define-public ecl-myway
3927 (sbcl-package->ecl-package sbcl-myway))
3928
3929 (define-public sbcl-xsubseq
3930 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3931 (revision "1"))
3932 (package
3933 (name "sbcl-xsubseq")
3934 (version (git-version "0.0.1" revision commit))
3935 (source
3936 (origin
3937 (method git-fetch)
3938 (uri (git-reference
3939 (url "https://github.com/fukamachi/xsubseq")
3940 (commit commit)))
3941 (file-name (git-file-name name version))
3942 (sha256
3943 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
3944 (build-system asdf-build-system/sbcl)
3945 (arguments
3946 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
3947 ;; required by #<SYSTEM "xsubseq">. Why?
3948 '(#:tests? #f))
3949 (native-inputs
3950 `(("sbcl-prove" ,sbcl-prove)))
3951 (home-page "https://github.com/fukamachi/xsubseq")
3952 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
3953 (description
3954 "XSubseq provides functions to be able to handle \"subseq\"s more
3955 effieiently.")
3956 (license license:bsd-2))))
3957
3958 (define-public cl-xsubseq
3959 (sbcl-package->cl-source-package sbcl-xsubseq))
3960
3961 (define-public ecl-xsubseq
3962 (sbcl-package->ecl-package sbcl-xsubseq))
3963
3964 (define-public sbcl-smart-buffer
3965 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
3966 (revision "1"))
3967 (package
3968 (name "sbcl-smart-buffer")
3969 (version (git-version "0.0.1" revision commit))
3970 (source
3971 (origin
3972 (method git-fetch)
3973 (uri (git-reference
3974 (url "https://github.com/fukamachi/smart-buffer")
3975 (commit commit)))
3976 (file-name (git-file-name name version))
3977 (sha256
3978 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
3979 (build-system asdf-build-system/sbcl)
3980 (arguments
3981 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
3982 ;; found, required by #<SYSTEM "smart-buffer">. Why?
3983 `(#:tests? #f))
3984 (native-inputs
3985 `(("sbcl-prove" ,sbcl-prove)))
3986 (inputs
3987 `(("sbcl-xsubseq" ,sbcl-xsubseq)
3988 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3989 (home-page "https://github.com/fukamachi/smart-buffer")
3990 (synopsis "Smart octets buffer")
3991 (description
3992 "Smart-buffer provides an output buffer which changes the destination
3993 depending on content size.")
3994 (license license:bsd-3))))
3995
3996 (define-public cl-smart-buffer
3997 (sbcl-package->cl-source-package sbcl-smart-buffer))
3998
3999 (define-public ecl-smart-buffer
4000 (sbcl-package->ecl-package sbcl-smart-buffer))
4001
4002 (define-public sbcl-fast-http
4003 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4004 (revision "2"))
4005 (package
4006 (name "sbcl-fast-http")
4007 (version (git-version "0.2.0" revision commit))
4008 (source
4009 (origin
4010 (method git-fetch)
4011 (uri (git-reference
4012 (url "https://github.com/fukamachi/fast-http")
4013 (commit commit)))
4014 (file-name (git-file-name name version))
4015 (sha256
4016 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4017 (build-system asdf-build-system/sbcl)
4018 (arguments
4019 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4020 ;; required by #<SYSTEM "fast-http">. Why?
4021 `(#:tests? #f))
4022 (native-inputs
4023 `(("sbcl-prove" ,sbcl-prove)
4024 ("cl-syntax" ,sbcl-cl-syntax)))
4025 (inputs
4026 `(("sbcl-alexandria" ,sbcl-alexandria)
4027 ("sbcl-proc-parse" ,sbcl-proc-parse)
4028 ("sbcl-xsubseq" ,sbcl-xsubseq)
4029 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4030 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4031 (home-page "https://github.com/fukamachi/fast-http")
4032 (synopsis "HTTP request/response parser for Common Lisp")
4033 (description
4034 "@code{fast-http} is a HTTP request/response protocol parser for Common
4035 Lisp.")
4036 ;; Author specified the MIT license
4037 (license license:expat))))
4038
4039 (define-public cl-fast-http
4040 (sbcl-package->cl-source-package sbcl-fast-http))
4041
4042 (define-public ecl-fast-http
4043 (sbcl-package->ecl-package sbcl-fast-http))
4044
4045 (define-public sbcl-static-vectors
4046 (package
4047 (name "sbcl-static-vectors")
4048 (version "1.8.4")
4049 (source
4050 (origin
4051 (method git-fetch)
4052 (uri (git-reference
4053 (url "https://github.com/sionescu/static-vectors")
4054 (commit (string-append "v" version))))
4055 (file-name (git-file-name name version))
4056 (sha256
4057 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4058 (native-inputs
4059 `(("sbcl-fiveam" ,sbcl-fiveam)))
4060 (inputs
4061 `(("sbcl-cffi" ,sbcl-cffi)))
4062 (build-system asdf-build-system/sbcl)
4063 (home-page "https://github.com/sionescu/static-vectors")
4064 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4065 (description
4066 "With @code{static-vectors}, you can create vectors allocated in static
4067 memory.")
4068 (license license:expat)))
4069
4070 (define-public cl-static-vectors
4071 (sbcl-package->cl-source-package sbcl-static-vectors))
4072
4073 (define-public ecl-static-vectors
4074 (sbcl-package->ecl-package sbcl-static-vectors))
4075
4076 (define-public sbcl-marshal
4077 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4078 (revision "1"))
4079 (package
4080 (name "sbcl-marshal")
4081 (version (git-version "1.3.0" revision commit))
4082 (source
4083 (origin
4084 (method git-fetch)
4085 (uri (git-reference
4086 (url "https://github.com/wlbr/cl-marshal")
4087 (commit commit)))
4088 (file-name (git-file-name name version))
4089 (sha256
4090 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4091 (build-system asdf-build-system/sbcl)
4092 (home-page "https://github.com/wlbr/cl-marshal")
4093 (synopsis "Simple (de)serialization of Lisp datastructures")
4094 (description
4095 "Simple and fast marshalling of Lisp datastructures. Convert any object
4096 into a string representation, put it on a stream an revive it from there.
4097 Only minimal changes required to make your CLOS objects serializable.")
4098 (license license:expat))))
4099
4100 (define-public cl-marshal
4101 (sbcl-package->cl-source-package sbcl-marshal))
4102
4103 (define-public ecl-marshal
4104 (sbcl-package->ecl-package sbcl-marshal))
4105
4106 (define-public sbcl-checkl
4107 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4108 (revision "1"))
4109 (package
4110 (name "sbcl-checkl")
4111 (version (git-version "0.0.0" revision commit))
4112 (source
4113 (origin
4114 (method git-fetch)
4115 (uri (git-reference
4116 (url "https://github.com/rpav/CheckL")
4117 (commit commit)))
4118 (file-name (git-file-name name version))
4119 (sha256
4120 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4121 (build-system asdf-build-system/sbcl)
4122 (arguments
4123 ;; Error while trying to load definition for system checkl-test from
4124 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4125 ;; is undefined.
4126 '(#:asd-files '("checkl.asd")
4127 #:tests? #f))
4128 (native-inputs
4129 `(("sbcl-fiveam" ,sbcl-fiveam)))
4130 (inputs
4131 `(("sbcl-marshal" ,sbcl-marshal)))
4132 (home-page "https://github.com/rpav/CheckL/")
4133 (synopsis "Dynamic testing for Common Lisp")
4134 (description
4135 "CheckL lets you write tests dynamically, it checks resulting values
4136 against the last run.")
4137 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4138 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4139 ;; stronger of the two and so I think only listing this should suffice.
4140 (license license:llgpl))))
4141
4142 (define-public cl-checkl
4143 (sbcl-package->cl-source-package sbcl-checkl))
4144
4145 (define-public ecl-checkl
4146 (sbcl-package->ecl-package sbcl-checkl))
4147
4148 (define-public sbcl-fast-io
4149 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4150 (revision "2"))
4151 (package
4152 (name "sbcl-fast-io")
4153 (version (git-version "1.0.0" revision commit))
4154 (source
4155 (origin
4156 (method git-fetch)
4157 (uri (git-reference
4158 (url "https://github.com/rpav/fast-io")
4159 (commit commit)))
4160 (file-name (git-file-name name version))
4161 (sha256
4162 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4163 (build-system asdf-build-system/sbcl)
4164 (arguments
4165 ;; Error while trying to load definition for system fast-io-test from
4166 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4167 ;; is undefined.
4168 '(#:tests? #f
4169 #:asd-files '("fast-io.asd")))
4170 (native-inputs
4171 `(("sbcl-fiveam" ,sbcl-fiveam)
4172 ("sbcl-checkl" ,sbcl-checkl)))
4173 (inputs
4174 `(("sbcl-alexandria" ,sbcl-alexandria)
4175 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4176 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4177 (home-page "https://github.com/rpav/fast-io")
4178 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4179 (description
4180 "Fast-io is about improving performance to octet-vectors and octet
4181 streams (though primarily the former, while wrapping the latter).")
4182 ;; Author specifies this as NewBSD which is an alias
4183 (license license:bsd-3))))
4184
4185 (define-public cl-fast-io
4186 (sbcl-package->cl-source-package sbcl-fast-io))
4187
4188 (define-public ecl-fast-io
4189 (sbcl-package->ecl-package sbcl-fast-io))
4190
4191 (define-public sbcl-jonathan
4192 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4193 (revision "1"))
4194 (package
4195 (name "sbcl-jonathan")
4196 (version (git-version "0.1.0" revision commit))
4197 (source
4198 (origin
4199 (method git-fetch)
4200 (uri (git-reference
4201 (url "https://github.com/Rudolph-Miller/jonathan")
4202 (commit commit)))
4203 (file-name (git-file-name name version))
4204 (sha256
4205 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4206 (build-system asdf-build-system/sbcl)
4207 (arguments
4208 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4209 ;; required by #<SYSTEM "jonathan">. Why?
4210 `(#:tests? #f))
4211 (native-inputs
4212 `(("sbcl-prove" ,sbcl-prove)))
4213 (inputs
4214 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4215 ("sbcl-fast-io" ,sbcl-fast-io)
4216 ("sbcl-proc-parse" ,sbcl-proc-parse)
4217 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4218 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4219 (synopsis "JSON encoder and decoder")
4220 (description
4221 "High performance JSON encoder and decoder. Currently support: SBCL,
4222 CCL.")
4223 ;; Author specifies the MIT license
4224 (license license:expat))))
4225
4226 (define-public cl-jonathan
4227 (sbcl-package->cl-source-package sbcl-jonathan))
4228
4229 (define-public ecl-jonathan
4230 (sbcl-package->ecl-package sbcl-jonathan))
4231
4232 (define-public sbcl-http-body
4233 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4234 (revision "1"))
4235 (package
4236 (name "sbcl-http-body")
4237 (version (git-version "0.1.0" revision commit))
4238 (source
4239 (origin
4240 (method git-fetch)
4241 (uri (git-reference
4242 (url "https://github.com/fukamachi/http-body")
4243 (commit commit)))
4244 (file-name (git-file-name name version))
4245 (sha256
4246 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4247 (build-system asdf-build-system/sbcl)
4248 (arguments
4249 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4250 ;; found, required by #<SYSTEM "http-body">. Why?
4251 `(#:tests? #f))
4252 (native-inputs
4253 `(("sbcl-prove" ,sbcl-prove)))
4254 (inputs
4255 `(("sbcl-fast-http" ,sbcl-fast-http)
4256 ("sbcl-jonathan" ,sbcl-jonathan)
4257 ("sbcl-quri" ,sbcl-quri)))
4258 (home-page "https://github.com/fukamachi/http-body")
4259 (synopsis "HTTP POST data parser")
4260 (description
4261 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4262 supports application/x-www-form-urlencoded, application/json, and
4263 multipart/form-data.")
4264 (license license:bsd-2))))
4265
4266 (define-public cl-http-body
4267 (sbcl-package->cl-source-package sbcl-http-body))
4268
4269 (define-public ecl-http-body
4270 (sbcl-package->ecl-package sbcl-http-body))
4271
4272 (define-public sbcl-circular-streams
4273 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4274 (revision "1"))
4275 (package
4276 (name "sbcl-circular-streams")
4277 (version (git-version "0.1.0" revision commit))
4278 (source
4279 (origin
4280 (method git-fetch)
4281 (uri (git-reference
4282 (url "https://github.com/fukamachi/circular-streams")
4283 (commit commit)))
4284 (file-name (git-file-name name version))
4285 (sha256
4286 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4287 (build-system asdf-build-system/sbcl)
4288 (arguments
4289 ;; The tests depend on cl-test-more which is now prove. Prove
4290 ;; tests aren't working for some reason.
4291 `(#:tests? #f))
4292 (inputs
4293 `(("sbcl-fast-io" ,sbcl-fast-io)
4294 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4295 (home-page "https://github.com/fukamachi/circular-streams")
4296 (synopsis "Circularly readable streams for Common Lisp")
4297 (description
4298 "Circular-Streams allows you to read streams circularly by wrapping real
4299 streams. Once you reach end-of-file of a stream, it's file position will be
4300 reset to 0 and you're able to read it again.")
4301 (license license:llgpl))))
4302
4303 (define-public cl-circular-streams
4304 (sbcl-package->cl-source-package sbcl-circular-streams))
4305
4306 (define-public ecl-circular-streams
4307 (sbcl-package->ecl-package sbcl-circular-streams))
4308
4309 (define-public sbcl-lack
4310 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4311 (revision "1"))
4312 (package
4313 (name "sbcl-lack")
4314 (version (git-version "0.1.0" revision commit))
4315 (source
4316 (origin
4317 (method git-fetch)
4318 (uri (git-reference
4319 (url "https://github.com/fukamachi/lack")
4320 (commit commit)))
4321 (file-name (git-file-name "lack" version))
4322 (sha256
4323 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4324 (build-system asdf-build-system/sbcl)
4325 (native-inputs
4326 `(("prove" ,sbcl-prove)))
4327 (inputs
4328 `(("circular-streams" ,sbcl-circular-streams)
4329 ("http-body" ,sbcl-http-body)
4330 ("ironclad" ,sbcl-ironclad)
4331 ("local-time" ,sbcl-local-time)
4332 ("quri" ,sbcl-quri)
4333 ("trivial-mimes" ,sbcl-trivial-mimes)))
4334 (arguments
4335 '(#:asd-systems '("lack"
4336 "lack-request"
4337 "lack-response"
4338 "lack-component"
4339 "lack-util"
4340 "lack-middleware-backtrace"
4341 "lack-middleware-static")
4342 #:test-asd-file "t-lack.asd"
4343 ;; XXX: Component :CLACK not found
4344 #:tests? #f))
4345 (home-page "https://github.com/fukamachi/lack")
4346 (synopsis "Lack, the core of Clack")
4347 (description
4348 "Lack is a Common Lisp library which allows web applications to be
4349 constructed of modular components. It was originally a part of Clack, however
4350 it's going to be rewritten as an individual project since Clack v2 with
4351 performance and simplicity in mind.")
4352 (license license:llgpl))))
4353
4354 (define-public cl-lack
4355 (sbcl-package->cl-source-package sbcl-lack))
4356
4357 (define-public ecl-lack
4358 (sbcl-package->ecl-package sbcl-lack))
4359
4360 (define-public sbcl-local-time
4361 (let ((commit "a177eb911c0e8116e2bfceb79049265a884b701b")
4362 (revision "2"))
4363 (package
4364 (name "sbcl-local-time")
4365 (version (git-version "1.0.6" revision commit))
4366 (source
4367 (origin
4368 (method git-fetch)
4369 (uri (git-reference
4370 (url "https://github.com/dlowe-net/local-time")
4371 (commit commit)))
4372 (file-name (git-file-name name version))
4373 (sha256
4374 (base32 "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii"))))
4375 (build-system asdf-build-system/sbcl)
4376 (native-inputs
4377 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4378 (home-page "https://common-lisp.net/project/local-time/")
4379 (synopsis "Time manipulation library for Common Lisp")
4380 (description
4381 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4382 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4383 Long Painful History of Time\".")
4384 (license license:expat))))
4385
4386 (define-public cl-local-time
4387 (sbcl-package->cl-source-package sbcl-local-time))
4388
4389 (define-public ecl-local-time
4390 (sbcl-package->ecl-package sbcl-local-time))
4391
4392 (define-public sbcl-trivial-mimes
4393 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4394 (revision "1"))
4395 (package
4396 (name "sbcl-trivial-mimes")
4397 (version (git-version "1.1.0" revision commit))
4398 (source
4399 (origin
4400 (method git-fetch)
4401 (uri (git-reference
4402 (url "https://github.com/Shinmera/trivial-mimes")
4403 (commit commit)))
4404 (file-name (git-file-name name version))
4405 (sha256
4406 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4407 (build-system asdf-build-system/sbcl)
4408 (native-inputs
4409 `(("stefil" ,sbcl-hu.dwim.stefil)))
4410 (inputs
4411 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4412 (home-page "https://shinmera.github.io/trivial-mimes/")
4413 (synopsis "Tiny Common Lisp library to detect mime types in files")
4414 (description
4415 "This is a teensy library that provides some functions to determine the
4416 mime-type of a file.")
4417 (license license:artistic2.0))))
4418
4419 (define-public cl-trivial-mimes
4420 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4421
4422 (define-public ecl-trivial-mimes
4423 (sbcl-package->ecl-package sbcl-trivial-mimes))
4424
4425 (define-public sbcl-ningle
4426 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4427 (revision "1"))
4428 (package
4429 (name "sbcl-ningle")
4430 (version (git-version "0.3.0" revision commit))
4431 (source
4432 (origin
4433 (method git-fetch)
4434 (uri (git-reference
4435 (url "https://github.com/fukamachi/ningle")
4436 (commit commit)))
4437 (file-name (git-file-name name version))
4438 (sha256
4439 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4440 (build-system asdf-build-system/sbcl)
4441 (arguments
4442 ;; TODO: pull in clack-test
4443 '(#:tests? #f
4444 #:phases
4445 (modify-phases %standard-phases
4446 (delete 'cleanup-files)
4447 (delete 'cleanup)
4448 (add-before 'cleanup 'combine-fasls
4449 (lambda* (#:key outputs #:allow-other-keys)
4450 (let* ((out (assoc-ref outputs "out"))
4451 (lib (string-append out "/lib/sbcl"))
4452 (ningle-path (string-append lib "/ningle"))
4453 (fasl-files (find-files out "\\.fasl$")))
4454 (mkdir-p ningle-path)
4455 (let ((fasl-path (lambda (name)
4456 (string-append ningle-path
4457 "/"
4458 (basename name)
4459 "--system.fasl"))))
4460 (for-each (lambda (file)
4461 (rename-file file
4462 (fasl-path
4463 (basename file ".fasl"))))
4464 fasl-files))
4465 fasl-files)
4466 #t)))))
4467 (native-inputs
4468 `(("sbcl-prove" ,sbcl-prove)))
4469 (inputs
4470 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4471 ("sbcl-myway" ,sbcl-myway)
4472 ("sbcl-lack" ,sbcl-lack)
4473 ("sbcl-alexandria" ,sbcl-alexandria)
4474 ("sbcl-babel" ,sbcl-babel)))
4475 (home-page "https://8arrow.org/ningle/")
4476 (synopsis "Super micro framework for Common Lisp")
4477 (description
4478 "Ningle is a lightweight web application framework for Common Lisp.")
4479 (license license:llgpl))))
4480
4481 (define-public cl-ningle
4482 (sbcl-package->cl-source-package sbcl-ningle))
4483
4484 (define-public ecl-ningle
4485 (sbcl-package->ecl-package sbcl-ningle))
4486
4487 (define-public sbcl-cl-fastcgi
4488 (let ((commit "de8b49b26de9863996ec18db28af8ab7e8ac4e20")
4489 (revision "2"))
4490 (package
4491 (name "sbcl-cl-fastcgi")
4492 (version (git-version "0.2" revision commit))
4493 (source
4494 (origin
4495 (method git-fetch)
4496 (uri (git-reference
4497 (url "https://github.com/KDr2/cl-fastcgi/")
4498 (commit commit)))
4499 (file-name (git-file-name name version))
4500 (sha256
4501 (base32 "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7"))))
4502 (build-system asdf-build-system/sbcl)
4503 (inputs
4504 `(("usocket" ,sbcl-usocket)
4505 ("cffi" ,sbcl-cffi)
4506 ("fcgi" ,fcgi)))
4507 (arguments
4508 `(#:phases
4509 (modify-phases %standard-phases
4510 (add-after 'unpack 'fix-paths
4511 (lambda* (#:key inputs #:allow-other-keys)
4512 (substitute* "cl-fastcgi.lisp"
4513 (("\"libfcgi.so\"")
4514 (string-append
4515 "\""
4516 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4517 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4518 (synopsis "FastCGI wrapper for Common Lisp")
4519 (description
4520 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4521 mostly Common Lisp implementation.")
4522 (license license:bsd-2))))
4523
4524 (define-public cl-fastcgi
4525 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4526
4527 (define-public ecl-cl-fastcgi
4528 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4529
4530 (define-public sbcl-clack
4531 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4532 (revision "1"))
4533 (package
4534 (name "sbcl-clack")
4535 (version (git-version "2.0.0" revision commit))
4536 (source
4537 (origin
4538 (method git-fetch)
4539 (uri (git-reference
4540 (url "https://github.com/fukamachi/clack")
4541 (commit commit)))
4542 (file-name (git-file-name name version))
4543 (sha256
4544 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4545 (build-system asdf-build-system/sbcl)
4546 (inputs
4547 `(("alexandria" ,sbcl-alexandria)
4548 ("bordeaux-threads" ,sbcl-bordeaux-threads)
4549 ("cl-fastcgi" ,sbcl-cl-fastcgi)
4550 ("flexi-streams" ,sbcl-flexi-streams)
4551 ("hunchentoot" ,sbcl-hunchentoot)
4552 ("lack" ,sbcl-lack)
4553 ("split-sequence" ,sbcl-split-sequence)
4554 ("usocket" ,sbcl-usocket)
4555 ("quri" ,sbcl-quri)))
4556 (arguments
4557 '(#:asd-systems '("clack"
4558 "clack-handler-fcgi"
4559 "clack-socket"
4560 "clack-handler-hunchentoot")))
4561 (home-page "https://github.com/fukamachi/clack")
4562 (synopsis "Web Application Environment for Common Lisp")
4563 (description
4564 "Clack is a web application environment for Common Lisp inspired by
4565 Python's WSGI and Ruby's Rack.")
4566 (license license:llgpl))))
4567
4568 (define-public cl-clack
4569 (sbcl-package->cl-source-package sbcl-clack))
4570
4571 (define-public ecl-clack
4572 (sbcl-package->ecl-package sbcl-clack))
4573
4574 (define-public sbcl-cl-log
4575 (let ((commit "8f4b766d51e02245c310526cf1e4534ce634f837")
4576 (revision "1"))
4577 (package
4578 (name "sbcl-cl-log")
4579 (version "1.0.1")
4580 (source
4581 (origin
4582 (method git-fetch)
4583 (uri (git-reference
4584 (url "https://github.com/nicklevine/cl-log")
4585 (commit commit)))
4586 (sha256
4587 (base32 "1r3z9swy1b59swvaa5b97is9ysrfmjvjjhhw56p7p5hqg93b92ak"))
4588 (file-name (git-file-name "cl-log" version))))
4589 (build-system asdf-build-system/sbcl)
4590 (synopsis "Common Lisp general purpose logging utility")
4591 (description "CL-LOG is a general purpose logging utility, loosely modelled
4592 in some respects after Gary King's Log5. Its features include: logging to
4593 several destinations at once, via \"messengers\", each messenger is tailored to
4594 accept some log messages and reject others, and this tailoring can be changed
4595 on-the-fly, very rapid processing of messages which are rejected by all
4596 messengers, fully independent use of the utility by several different
4597 sub-systems in an application, support for messengers which cl:format text to a
4598 stream, support for messengers which do not invoke cl:format, timestamps in
4599 theory accurate to internal-time-units-per-second.")
4600 (home-page "https://github.com/nicklevine/cl-log")
4601 (license license:expat))))
4602
4603 (define-public cl-log
4604 (sbcl-package->cl-source-package sbcl-cl-log))
4605
4606 (define-public ecl-cl-log
4607 (sbcl-package->ecl-package sbcl-cl-log))
4608
4609 (define-public sbcl-log4cl
4610 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4611 (revision "1"))
4612 (package
4613 (name "sbcl-log4cl")
4614 (build-system asdf-build-system/sbcl)
4615 (version "1.1.2")
4616 (source
4617 (origin
4618 (method git-fetch)
4619 (uri (git-reference
4620 (url "https://github.com/sharplispers/log4cl")
4621 (commit commit)))
4622 (file-name (git-file-name name version))
4623 (sha256
4624 (base32
4625 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4626 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4627 (arguments
4628 `(#:tests? #f))
4629 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4630 (synopsis "Common Lisp logging framework, modeled after Log4J")
4631 (home-page "https://github.com/7max/log4cl")
4632 (description "This is a Common Lisp logging framework that can log at
4633 various levels and mix text with expressions.")
4634 (license license:asl2.0))))
4635
4636 (define-public cl-log4cl
4637 (sbcl-package->cl-source-package sbcl-log4cl))
4638
4639 (define-public ecl-log4cl
4640 (sbcl-package->ecl-package sbcl-log4cl))
4641
4642 (define-public sbcl-find-port
4643 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4644 (revision "1"))
4645 (package
4646 (name "sbcl-find-port")
4647 (build-system asdf-build-system/sbcl)
4648 (version "0.1")
4649 (home-page "https://github.com/eudoxia0/find-port")
4650 (source
4651 (origin
4652 (method git-fetch)
4653 (uri (git-reference
4654 (url home-page)
4655 (commit commit)))
4656 (file-name (git-file-name name version))
4657 (sha256
4658 (base32
4659 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4660 (native-inputs
4661 `(("fiveam" ,sbcl-fiveam)))
4662 (inputs
4663 `(("sbcl-usocket" ,sbcl-usocket)))
4664 (synopsis "Find open ports programmatically in Common Lisp")
4665 (description "This is a small Common Lisp library that finds an open
4666 port within a range.")
4667 (license license:expat))))
4668
4669 (define-public cl-find-port
4670 (sbcl-package->cl-source-package sbcl-find-port))
4671
4672 (define-public ecl-find-port
4673 (sbcl-package->ecl-package sbcl-find-port))
4674
4675 (define-public sbcl-clunit
4676 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4677 (revision "1"))
4678 (package
4679 (name "sbcl-clunit")
4680 (version (git-version "0.2.3" revision commit))
4681 (source
4682 (origin
4683 (method git-fetch)
4684 (uri (git-reference
4685 (url "https://github.com/tgutu/clunit")
4686 (commit commit)))
4687 (file-name (git-file-name name version))
4688 (sha256
4689 (base32
4690 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4691 (build-system asdf-build-system/sbcl)
4692 (synopsis "CLUnit is a Common Lisp unit testing framework")
4693 (description
4694 "CLUnit is a Common Lisp unit testing framework. It is designed
4695 to be easy to use so that you can quickly start testing. CLUnit
4696 provides a rich set of features aimed at improving your unit testing
4697 experience.")
4698 (home-page "https://tgutu.github.io/clunit/")
4699 ;; MIT License
4700 (license license:expat))))
4701
4702 (define-public cl-clunit
4703 (sbcl-package->cl-source-package sbcl-clunit))
4704
4705 (define-public ecl-clunit
4706 (sbcl-package->ecl-package sbcl-clunit))
4707
4708 (define-public sbcl-py4cl
4709 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4710 (revision "1"))
4711 (package
4712 (name "sbcl-py4cl")
4713 (version (git-version "0.0.0" revision commit))
4714 (source
4715 (origin
4716 (method git-fetch)
4717 (uri (git-reference
4718 (url "https://github.com/bendudson/py4cl")
4719 (commit commit)))
4720 (file-name (git-file-name name version))
4721 (sha256
4722 (base32
4723 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4724 (modules '((guix build utils)))))
4725 (build-system asdf-build-system/sbcl)
4726 (native-inputs
4727 `(("sbcl-clunit" ,sbcl-clunit)))
4728 (inputs
4729 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4730 (propagated-inputs
4731 ;; This package doesn't do anything without python available
4732 `(("python" ,python)
4733 ;; For multi-dimensional array support
4734 ("python-numpy" ,python-numpy)))
4735 (arguments
4736 '(#:phases
4737 (modify-phases %standard-phases
4738 (add-after 'unpack 'replace-*base-directory*-var
4739 (lambda* (#:key outputs #:allow-other-keys)
4740 ;; In the ASD, the author makes an attempt to
4741 ;; programatically determine the location of the
4742 ;; source-code so lisp can call into "py4cl.py". We can
4743 ;; hard-code this since we know where this file will
4744 ;; reside.
4745 (substitute* "src/callpython.lisp"
4746 (("py4cl/config:\\*base-directory\\*")
4747 (string-append
4748 "\""
4749 (assoc-ref outputs "out")
4750 "/share/common-lisp/sbcl-source/py4cl/"
4751 "\""))))))))
4752 (synopsis "Call python from Common Lisp")
4753 (description
4754 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4755 Lisp to interact with Python code. It uses streams to communicate with a
4756 separate python process, the approach taken by cl4py. This is different to
4757 the CFFI approach used by burgled-batteries, but has the same goal.")
4758 (home-page "https://github.com/bendudson/py4cl")
4759 ;; MIT License
4760 (license license:expat))))
4761
4762 (define-public cl-py4cl
4763 (sbcl-package->cl-source-package sbcl-py4cl))
4764
4765 (define-public ecl-py4cl
4766 (sbcl-package->ecl-package sbcl-py4cl))
4767
4768 (define-public sbcl-parse-declarations
4769 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4770 (revision "1"))
4771 (package
4772 (name "sbcl-parse-declarations")
4773 (version (git-version "1.0.0" revision commit))
4774 (source
4775 (origin
4776 (method git-fetch)
4777 (uri (git-reference
4778 (url (string-append
4779 "https://gitlab.common-lisp.net/parse-declarations/"
4780 "parse-declarations.git"))
4781 (commit commit)))
4782 (file-name (git-file-name name version))
4783 (sha256
4784 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4785 (build-system asdf-build-system/sbcl)
4786 (arguments
4787 `(#:asd-systems '("parse-declarations-1.0")))
4788 (home-page "https://common-lisp.net/project/parse-declarations/")
4789 (synopsis "Parse, filter, and build declarations")
4790 (description
4791 "Parse-Declarations is a Common Lisp library to help writing
4792 macros which establish bindings. To be semantically correct, such
4793 macros must take user declarations into account, as these may affect
4794 the bindings they establish. Yet the ANSI standard of Common Lisp does
4795 not provide any operators to work with declarations in a convenient,
4796 high-level way. This library provides such operators.")
4797 ;; MIT License
4798 (license license:expat))))
4799
4800 (define-public cl-parse-declarations
4801 (sbcl-package->cl-source-package sbcl-parse-declarations))
4802
4803 (define-public ecl-parse-declarations
4804 (sbcl-package->ecl-package sbcl-parse-declarations))
4805
4806 (define-public sbcl-cl-quickcheck
4807 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4808 (revision "1"))
4809 (package
4810 (name "sbcl-cl-quickcheck")
4811 (version (git-version "0.0.4" revision commit))
4812 (source
4813 (origin
4814 (method git-fetch)
4815 (uri (git-reference
4816 (url "https://github.com/mcandre/cl-quickcheck")
4817 (commit commit)))
4818 (file-name (git-file-name name version))
4819 (sha256
4820 (base32
4821 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
4822 (build-system asdf-build-system/sbcl)
4823 (synopsis
4824 "Common Lisp port of the QuickCheck unit test framework")
4825 (description
4826 "Common Lisp port of the QuickCheck unit test framework")
4827 (home-page "https://github.com/mcandre/cl-quickcheck")
4828 ;; MIT
4829 (license license:expat))))
4830
4831 (define-public cl-quickcheck
4832 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
4833
4834 (define-public ecl-cl-quickcheck
4835 (sbcl-package->ecl-package sbcl-cl-quickcheck))
4836
4837 (define-public sbcl-burgled-batteries3
4838 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
4839 (revision "2"))
4840 (package
4841 (name "sbcl-burgled-batteries3")
4842 (version (git-version "0.0.0" revision commit))
4843 (source
4844 (origin
4845 (method git-fetch)
4846 (uri (git-reference
4847 (url "https://github.com/snmsts/burgled-batteries3")
4848 (commit commit)))
4849 (file-name (git-file-name name version))
4850 (sha256
4851 (base32
4852 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
4853 (build-system asdf-build-system/sbcl)
4854 (arguments
4855 `(#:tests? #f
4856 #:modules (((guix build python-build-system) #:select (python-version))
4857 ,@%asdf-build-system-modules)
4858 #:imported-modules ((guix build python-build-system)
4859 ,@%asdf-build-system-modules)
4860 #:phases
4861 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
4862 (add-after 'unpack 'set-*cpython-include-dir*-var
4863 (lambda* (#:key inputs #:allow-other-keys)
4864 (let ((python (assoc-ref inputs "python")))
4865 (setenv "BB_PYTHON3_INCLUDE_DIR"
4866 (string-append python "/include/python"
4867 (python-version python)))
4868 (setenv "BB_PYTHON3_DYLIB"
4869 (string-append python "/lib/libpython3.so"))
4870 #t)))
4871 (add-after 'unpack 'adjust-for-python-3.8
4872 (lambda _
4873 ;; This method is no longer part of the public API.
4874 (substitute* "ffi-interface.lisp"
4875 ((".*PyEval_ReInitThreads.*")
4876 ""))
4877 #t)))))
4878 (native-inputs
4879 `(("sbcl-cl-fad" ,sbcl-cl-fad)
4880 ("sbcl-lift" ,sbcl-lift)
4881 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
4882 (inputs
4883 `(("python" ,python)
4884 ("sbcl-cffi" ,sbcl-cffi)
4885 ("sbcl-alexandria" , sbcl-alexandria)
4886 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
4887 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4888 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
4889 (description
4890 "This package provides a shim between Python3 (specifically, the
4891 CPython implementation of Python) and Common Lisp.")
4892 (home-page "https://github.com/snmsts/burgled-batteries3")
4893 (license license:expat))))
4894
4895 (define-public cl-burgled-batteries3
4896 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
4897
4898 (define-public ecl-burgled-batteries3
4899 (sbcl-package->ecl-package sbcl-burgled-batteries3))
4900
4901 (define-public sbcl-metabang-bind
4902 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
4903 (revision "1"))
4904 (package
4905 (name "sbcl-metabang-bind")
4906 (version (git-version "0.8.0" revision commit))
4907 (source
4908 (origin
4909 (method git-fetch)
4910 (uri (git-reference
4911 (url "https://github.com/gwkkwg/metabang-bind")
4912 (commit commit)))
4913 (file-name (git-file-name name version))
4914 (sha256
4915 (base32
4916 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
4917 (build-system asdf-build-system/sbcl)
4918 (native-inputs
4919 `(("sbcl-lift" ,sbcl-lift)))
4920 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
4921 (description
4922 "Bind extends the idea of of let and destructing to provide a uniform
4923 syntax for all your accessor needs. It combines @code{let},
4924 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
4925 editing, property or association-lists, and @code{multiple-value-bind} and a
4926 whole lot more into a single form.")
4927 (home-page "https://common-lisp.net/project/metabang-bind/")
4928 ;; MIT License
4929 (license license:expat))))
4930
4931 (define-public cl-metabang-bind
4932 (sbcl-package->cl-source-package sbcl-metabang-bind))
4933
4934 (define-public ecl-metabang-bind
4935 (sbcl-package->ecl-package sbcl-metabang-bind))
4936
4937 (define-public sbcl-fare-utils
4938 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
4939 (revision "1"))
4940 (package
4941 (name "sbcl-fare-utils")
4942 (version (git-version "1.0.0.5" revision commit))
4943 (source
4944 (origin
4945 (method git-fetch)
4946 (uri
4947 (git-reference
4948 (url
4949 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
4950 (commit commit)))
4951 (file-name (git-file-name name version))
4952 (sha256
4953 (base32
4954 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
4955 (build-system asdf-build-system/sbcl)
4956 (arguments
4957 `(#:test-asd-file "test/fare-utils-test.asd"))
4958 (native-inputs
4959 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
4960 (synopsis "Collection of utilities and data structures")
4961 (description
4962 "fare-utils is a small collection of utilities. It contains a lot of
4963 basic everyday functions and macros.")
4964 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
4965 ;; MIT License
4966 (license license:expat))))
4967
4968 (define-public cl-fare-utils
4969 (sbcl-package->cl-source-package sbcl-fare-utils))
4970
4971 (define-public ecl-fare-utils
4972 (sbcl-package->ecl-package sbcl-fare-utils))
4973
4974 (define-public sbcl-trivial-utf-8
4975 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
4976 (revision "1"))
4977 (package
4978 (name "sbcl-trivial-utf-8")
4979 (version (git-version "0.0.0" revision commit))
4980 (source
4981 (origin
4982 (method git-fetch)
4983 (uri
4984 (git-reference
4985 (url (string-append "https://gitlab.common-lisp.net/"
4986 "trivial-utf-8/trivial-utf-8.git"))
4987 (commit commit)))
4988 (file-name (git-file-name name version))
4989 (sha256
4990 (base32
4991 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
4992 (arguments
4993 ;; Guix incorrectly assumes the "8" is part of the version
4994 ;; number and lobs it off.
4995 `(#:asd-systems '("trivial-utf-8")))
4996 (build-system asdf-build-system/sbcl)
4997 (synopsis "UTF-8 input/output library")
4998 (description
4999 "The Babel library solves a similar problem while understanding more
5000 encodings. Trivial UTF-8 was written before Babel existed, but for new
5001 projects you might be better off going with Babel. The one plus that Trivial
5002 UTF-8 has is that it doesn't depend on any other libraries.")
5003 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5004 (license license:bsd-3))))
5005
5006 (define-public cl-trivial-utf-8
5007 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5008
5009 (define-public ecl-trivial-utf-8
5010 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5011
5012 (define-public sbcl-idna
5013 (package
5014 (name "sbcl-idna")
5015 (build-system asdf-build-system/sbcl)
5016 (version "0.2.2")
5017 (home-page "https://github.com/antifuchs/idna")
5018 (source
5019 (origin
5020 (method git-fetch)
5021 (uri (git-reference
5022 (url home-page)
5023 (commit version)))
5024 (file-name (git-file-name name version))
5025 (sha256
5026 (base32
5027 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5028 (inputs
5029 `(("split-sequence" ,sbcl-split-sequence)))
5030 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5031 (description "This Common Lisp library provides string encoding and
5032 decoding routines for IDNA, the International Domain Names in Applications.")
5033 (license license:expat)))
5034
5035 (define-public cl-idna
5036 (sbcl-package->cl-source-package sbcl-idna))
5037
5038 (define-public ecl-idna
5039 (sbcl-package->ecl-package sbcl-idna))
5040
5041 (define-public sbcl-swap-bytes
5042 (package
5043 (name "sbcl-swap-bytes")
5044 (build-system asdf-build-system/sbcl)
5045 (version "1.2")
5046 (home-page "https://github.com/sionescu/swap-bytes")
5047 (source
5048 (origin
5049 (method git-fetch)
5050 (uri (git-reference
5051 (url home-page)
5052 (commit (string-append "v" version))))
5053 (file-name (git-file-name name version))
5054 (sha256
5055 (base32
5056 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5057 (inputs
5058 `(("trivial-features" ,sbcl-trivial-features)))
5059 (native-inputs
5060 `(("fiveam" ,sbcl-fiveam)))
5061 (synopsis "Efficient endianness conversion for Common Lisp")
5062 (description "This Common Lisp library provides optimized byte-swapping
5063 primitives. The library can change endianness of unsigned integers of length
5064 1/2/4/8. Very useful in implementing various network protocols and file
5065 formats.")
5066 (license license:expat)))
5067
5068 (define-public cl-swap-bytes
5069 (sbcl-package->cl-source-package sbcl-swap-bytes))
5070
5071 (define-public ecl-swap-bytes
5072 (sbcl-package->ecl-package sbcl-swap-bytes))
5073
5074 (define-public sbcl-iolib
5075 ;; Latest release is from June 2017.
5076 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5077 (revision "2"))
5078 (package
5079 (name "sbcl-iolib")
5080 (version (git-version "0.8.3" revision commit))
5081 (home-page "https://github.com/sionescu/iolib")
5082 (source
5083 (origin
5084 (method git-fetch)
5085 (uri (git-reference
5086 (url home-page)
5087 (commit commit)))
5088 (file-name (git-file-name name version))
5089 (sha256
5090 (base32
5091 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5092 (build-system asdf-build-system/sbcl)
5093 (inputs
5094 `(("alexandria" ,sbcl-alexandria)
5095 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5096 ("cffi" ,sbcl-cffi)
5097 ("idna" ,sbcl-idna)
5098 ("libfixposix" ,libfixposix)
5099 ("split-sequence" ,sbcl-split-sequence)
5100 ("swap-bytes" ,sbcl-swap-bytes)))
5101 (arguments
5102 '(#:asd-files '("iolib.asdf.asd"
5103 "iolib.conf.asd"
5104 "iolib.common-lisp.asd"
5105 "iolib.base.asd"
5106 "iolib.asd")
5107 #:phases
5108 (modify-phases %standard-phases
5109 (add-after 'unpack 'fix-paths
5110 (lambda* (#:key inputs #:allow-other-keys)
5111 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5112 (("\\(:default \"libfixposix\"\\)")
5113 (string-append
5114 "(:default \""
5115 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5116 ;; Socket tests need Internet access, disable them.
5117 (substitute* "iolib.asd"
5118 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5119 "")))))))
5120 (synopsis "Common Lisp I/O library")
5121 (description "IOlib is to be a better and more modern I/O library than
5122 the standard Common Lisp library. It contains a socket library, a DNS
5123 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5124 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5125 (license license:expat))))
5126
5127 (define-public cl-iolib
5128 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5129 (package
5130 (inherit parent)
5131 (propagated-inputs
5132 ;; Need header to compile.
5133 `(("libfixposix" ,libfixposix)
5134 ,@(package-propagated-inputs parent))))))
5135
5136 (define-public ecl-iolib
5137 (sbcl-package->ecl-package sbcl-iolib))
5138
5139 (define-public sbcl-ieee-floats
5140 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5141 (revision "1"))
5142 (package
5143 (name "sbcl-ieee-floats")
5144 (build-system asdf-build-system/sbcl)
5145 (version (git-version "20170924" revision commit))
5146 (home-page "https://github.com/marijnh/ieee-floats/")
5147 (source
5148 (origin
5149 (method git-fetch)
5150 (uri (git-reference
5151 (url home-page)
5152 (commit commit)))
5153 (file-name (git-file-name name version))
5154 (sha256
5155 (base32
5156 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5157 (native-inputs
5158 `(("fiveam" ,sbcl-fiveam)))
5159 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5160 (description "This is a Common Lisp library that converts
5161 floating point values to IEEE 754 binary representation.")
5162 (license license:bsd-3))))
5163
5164 (define-public cl-ieee-floats
5165 (sbcl-package->cl-source-package sbcl-ieee-floats))
5166
5167 (define-public ecl-ieee-floats
5168 (sbcl-package->ecl-package sbcl-ieee-floats))
5169
5170 (define sbcl-closure-common
5171 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5172 (revision "1"))
5173 (package
5174 (name "sbcl-closure-common")
5175 (build-system asdf-build-system/sbcl)
5176 (version (git-version "20101006" revision commit))
5177 (home-page "https://common-lisp.net/project/cxml/")
5178 (source
5179 (origin
5180 (method git-fetch)
5181 (uri (git-reference
5182 (url "https://github.com/sharplispers/closure-common")
5183 (commit commit)))
5184 (file-name (git-file-name name version))
5185 (sha256
5186 (base32
5187 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5188 (inputs
5189 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5190 ("babel" ,sbcl-babel)))
5191 (synopsis "Support Common Lisp library for CXML")
5192 (description "Closure-common is an internal helper library. The name
5193 Closure is a reference to the web browser it was originally written for.")
5194 ;; TODO: License?
5195 (license #f))))
5196
5197 (define-public sbcl-cxml
5198 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5199 (revision "1"))
5200 (package
5201 (name "sbcl-cxml")
5202 (version (git-version "0.0.0" revision commit))
5203 (source
5204 (origin
5205 (method git-fetch)
5206 (uri (git-reference
5207 (url "https://github.com/sharplispers/cxml")
5208 (commit commit)))
5209 (file-name (git-file-name name version))
5210 (sha256
5211 (base32
5212 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5213 (build-system asdf-build-system/sbcl)
5214 (inputs
5215 `(("closure-common" ,sbcl-closure-common)
5216 ("puri" ,sbcl-puri)
5217 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5218 (synopsis "Common Lisp XML parser")
5219 (description "CXML implements a namespace-aware, validating XML 1.0
5220 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5221 offered, one SAX-like, the other similar to StAX.")
5222 (home-page "https://common-lisp.net/project/cxml/")
5223 (license license:llgpl))))
5224
5225 (define-public cl-cxml
5226 (sbcl-package->cl-source-package sbcl-cxml))
5227
5228 (define-public ecl-cxml
5229 (sbcl-package->ecl-package sbcl-cxml))
5230
5231 (define-public sbcl-cl-reexport
5232 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5233 (revision "1"))
5234 (package
5235 (name "sbcl-cl-reexport")
5236 (build-system asdf-build-system/sbcl)
5237 (version (git-version "0.1" revision commit))
5238 (home-page "https://github.com/takagi/cl-reexport")
5239 (source
5240 (origin
5241 (method git-fetch)
5242 (uri (git-reference
5243 (url home-page)
5244 (commit commit)))
5245 (file-name (git-file-name name version))
5246 (sha256
5247 (base32
5248 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5249 (inputs
5250 `(("alexandria" ,sbcl-alexandria)))
5251 (arguments
5252 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5253 `(#:tests? #f))
5254 (synopsis "HTTP cookie manager for Common Lisp")
5255 (description "cl-cookie is a Common Lisp library featuring parsing of
5256 cookie headers, cookie creation, cookie jar creation and more.")
5257 (license license:llgpl))))
5258
5259 (define-public cl-reexport
5260 (sbcl-package->cl-source-package sbcl-cl-reexport))
5261
5262 (define-public ecl-cl-reexport
5263 (sbcl-package->ecl-package sbcl-cl-reexport))
5264
5265 (define-public sbcl-cl-cookie
5266 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5267 (revision "1"))
5268 (package
5269 (name "sbcl-cl-cookie")
5270 (build-system asdf-build-system/sbcl)
5271 (version (git-version "0.9.10" revision commit))
5272 (home-page "https://github.com/fukamachi/cl-cookie")
5273 (source
5274 (origin
5275 (method git-fetch)
5276 (uri (git-reference
5277 (url home-page)
5278 (commit commit)))
5279 (file-name (git-file-name name version))
5280 (sha256
5281 (base32
5282 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5283 (inputs
5284 `(("proc-parse" ,sbcl-proc-parse)
5285 ("alexandria" ,sbcl-alexandria)
5286 ("quri" ,sbcl-quri)
5287 ("cl-ppcre" ,sbcl-cl-ppcre)
5288 ("local-time" ,sbcl-local-time)))
5289 (native-inputs
5290 `(("prove" ,sbcl-prove)))
5291 (arguments
5292 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5293 `(#:tests? #f))
5294 (synopsis "HTTP cookie manager for Common Lisp")
5295 (description "cl-cookie is a Common Lisp library featuring parsing of
5296 cookie headers, cookie creation, cookie jar creation and more.")
5297 (license license:bsd-2))))
5298
5299 (define-public cl-cookie
5300 (sbcl-package->cl-source-package sbcl-cl-cookie))
5301
5302 (define-public ecl-cl-cookie
5303 (sbcl-package->ecl-package sbcl-cl-cookie))
5304
5305 (define-public sbcl-dexador
5306 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5307 (revision "1"))
5308 (package
5309 (name "sbcl-dexador")
5310 (build-system asdf-build-system/sbcl)
5311 (version "0.9.14" )
5312 (home-page "https://github.com/fukamachi/dexador")
5313 (source
5314 (origin
5315 (method git-fetch)
5316 (uri (git-reference
5317 (url home-page)
5318 (commit commit)))
5319 (file-name (git-file-name name version))
5320 (sha256
5321 (base32
5322 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5323 (inputs
5324 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5325 ("babel" ,sbcl-babel)
5326 ("usocket" ,sbcl-usocket)
5327 ("fast-http" ,sbcl-fast-http)
5328 ("quri" ,sbcl-quri)
5329 ("fast-io" ,sbcl-fast-io)
5330 ("chunga" ,sbcl-chunga)
5331 ("cl-ppcre" ,sbcl-cl-ppcre)
5332 ("cl-cookie" ,sbcl-cl-cookie)
5333 ("trivial-mimes" ,sbcl-trivial-mimes)
5334 ("chipz" ,sbcl-chipz)
5335 ("cl-base64" ,sbcl-cl-base64)
5336 ("cl-reexport" ,sbcl-cl-reexport)
5337 ("cl+ssl" ,sbcl-cl+ssl)
5338 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5339 ("alexandria" ,sbcl-alexandria)))
5340 (native-inputs
5341 `(("prove" ,sbcl-prove)
5342 ("lack" ,sbcl-lack)
5343 ("clack" ,sbcl-clack)
5344 ("babel" ,sbcl-babel)
5345 ("alexandria" ,sbcl-alexandria)
5346 ("cl-ppcre" ,sbcl-cl-ppcre)
5347 ("local-time" ,sbcl-local-time)
5348 ("trivial-features" ,sbcl-trivial-features)))
5349 (arguments
5350 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5351 `(#:tests? #f
5352 #:phases
5353 (modify-phases %standard-phases
5354 (add-after 'unpack 'fix-permissions
5355 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5356 (synopsis "Yet another HTTP client for Common Lisp")
5357 (description "Dexador is yet another HTTP client for Common Lisp with
5358 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5359 (license license:expat))))
5360
5361 (define-public cl-dexador
5362 (package
5363 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5364 (arguments
5365 `(#:phases
5366 ;; asdf-build-system/source has its own phases and does not inherit
5367 ;; from asdf-build-system/sbcl phases.
5368 (modify-phases %standard-phases/source
5369 ;; Already done in SBCL package.
5370 (delete 'reset-gzip-timestamps))))))
5371
5372 (define-public ecl-dexador
5373 (sbcl-package->ecl-package sbcl-dexador))
5374
5375 (define-public sbcl-lisp-namespace
5376 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5377 (revision "1"))
5378 (package
5379 (name "sbcl-lisp-namespace")
5380 (build-system asdf-build-system/sbcl)
5381 (version (git-version "0.1" revision commit))
5382 (home-page "https://github.com/guicho271828/lisp-namespace")
5383 (source
5384 (origin
5385 (method git-fetch)
5386 (uri (git-reference
5387 (url home-page)
5388 (commit commit)))
5389 (file-name (git-file-name name version))
5390 (sha256
5391 (base32
5392 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5393 (inputs
5394 `(("alexandria" ,sbcl-alexandria)))
5395 (native-inputs
5396 `(("fiveam" ,sbcl-fiveam)))
5397 (arguments
5398 `(#:test-asd-file "lisp-namespace.test.asd"
5399 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5400 #:tests? #f))
5401 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5402 (description "Common Lisp already has major 2 namespaces, function
5403 namespace and value namespace (or variable namespace), but there are actually
5404 more — e.g., class namespace.
5405 This library offers macros to deal with symbols from any namespace.")
5406 (license license:llgpl))))
5407
5408 (define-public cl-lisp-namespace
5409 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5410
5411 (define-public ecl-lisp-namespace
5412 (sbcl-package->ecl-package sbcl-lisp-namespace))
5413
5414 (define-public sbcl-trivial-cltl2
5415 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5416 (revision "2"))
5417 (package
5418 (name "sbcl-trivial-cltl2")
5419 (build-system asdf-build-system/sbcl)
5420 (version (git-version "0.1.1" revision commit))
5421 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5422 (source
5423 (origin
5424 (method git-fetch)
5425 (uri (git-reference
5426 (url home-page)
5427 (commit commit)))
5428 (file-name (git-file-name name version))
5429 (sha256
5430 (base32
5431 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5432 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5433 (description "This library is a portable compatibility layer around
5434 \"Common Lisp the Language, 2nd
5435 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5436 and it exports symbols from implementation-specific packages.")
5437 (license license:llgpl))))
5438
5439 (define-public cl-trivial-cltl2
5440 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5441
5442 (define-public ecl-trivial-cltl2
5443 (sbcl-package->ecl-package sbcl-trivial-cltl2))
5444
5445 (define-public sbcl-introspect-environment
5446 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5447 (revision "1"))
5448 (package
5449 (name "sbcl-introspect-environment")
5450 (build-system asdf-build-system/sbcl)
5451 (version (git-version "0.1" revision commit))
5452 (home-page "https://github.com/Bike/introspect-environment")
5453 (source
5454 (origin
5455 (method git-fetch)
5456 (uri (git-reference
5457 (url home-page)
5458 (commit commit)))
5459 (file-name (git-file-name name version))
5460 (sha256
5461 (base32
5462 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5463 (native-inputs
5464 `(("fiveam" ,sbcl-fiveam)))
5465 (synopsis "Common Lisp environment introspection portability layer")
5466 (description "This library is a small interface to portable but
5467 nonstandard introspection of Common Lisp environments. It is intended to
5468 allow a bit more compile-time introspection of environments in Common Lisp.
5469
5470 Quite a bit of information is available at the time a macro or compiler-macro
5471 runs; inlining info, type declarations, that sort of thing. This information
5472 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5473 such.
5474
5475 This info ought to be accessible through the standard @code{&environment}
5476 parameters, but it is not. Several implementations keep the information for
5477 their own purposes but do not make it available to user programs, because
5478 there is no standard mechanism to do so.
5479
5480 This library uses implementation-specific hooks to make information available
5481 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5482 implementations have implementations of the functions that do as much as they
5483 can and/or provide reasonable defaults.")
5484 (license license:wtfpl2))))
5485
5486 (define-public cl-introspect-environment
5487 (sbcl-package->cl-source-package sbcl-introspect-environment))
5488
5489 (define-public ecl-introspect-environment
5490 (sbcl-package->ecl-package sbcl-introspect-environment))
5491
5492 (define-public sbcl-type-i
5493 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5494 (revision "2"))
5495 (package
5496 (name "sbcl-type-i")
5497 (build-system asdf-build-system/sbcl)
5498 (version (git-version "0.1" revision commit))
5499 (home-page "https://github.com/guicho271828/type-i")
5500 (source
5501 (origin
5502 (method git-fetch)
5503 (uri (git-reference
5504 (url home-page)
5505 (commit commit)))
5506 (file-name (git-file-name name version))
5507 (sha256
5508 (base32
5509 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5510 (inputs
5511 `(("alexandria" ,sbcl-alexandria)
5512 ("introspect-environment" ,sbcl-introspect-environment)
5513 ("trivia.trivial" ,sbcl-trivia.trivial)))
5514 (native-inputs
5515 `(("fiveam" ,sbcl-fiveam)))
5516 (arguments
5517 `(#:test-asd-file "type-i.test.asd"))
5518 (synopsis "Type inference utility on unary predicates for Common Lisp")
5519 (description "This library tries to provide a way to detect what kind of
5520 type the given predicate is trying to check. This is different from inferring
5521 the return type of a function.")
5522 (license license:llgpl))))
5523
5524 (define-public cl-type-i
5525 (sbcl-package->cl-source-package sbcl-type-i))
5526
5527 (define-public ecl-type-i
5528 (package
5529 (inherit (sbcl-package->ecl-package sbcl-type-i))
5530 (arguments
5531 ;; The tests get stuck indefinitly
5532 '(#:tests? #f))))
5533
5534 (define-public sbcl-optima
5535 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5536 (revision "1"))
5537 (package
5538 (name "sbcl-optima")
5539 (build-system asdf-build-system/sbcl)
5540 (version (git-version "1.0" revision commit))
5541 (home-page "https://github.com/m2ym/optima")
5542 (source
5543 (origin
5544 (method git-fetch)
5545 (uri (git-reference
5546 (url home-page)
5547 (commit commit)))
5548 (file-name (git-file-name name version))
5549 (sha256
5550 (base32
5551 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5552 (inputs
5553 `(("alexandria" ,sbcl-alexandria)
5554 ("closer-mop" ,sbcl-closer-mop)))
5555 (native-inputs
5556 `(("eos" ,sbcl-eos)))
5557 (arguments
5558 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5559 `(#:tests? #f
5560 #:test-asd-file "optima.test.asd"))
5561 (synopsis "Optimized pattern matching library for Common Lisp")
5562 (description "Optima is a fast pattern matching library which uses
5563 optimizing techniques widely used in the functional programming world.")
5564 (license license:expat))))
5565
5566 (define-public cl-optima
5567 (sbcl-package->cl-source-package sbcl-optima))
5568
5569 (define-public ecl-optima
5570 (sbcl-package->ecl-package sbcl-optima))
5571
5572 (define-public sbcl-fare-quasiquote
5573 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5574 (revision "1"))
5575 (package
5576 (name "sbcl-fare-quasiquote")
5577 (build-system asdf-build-system/sbcl)
5578 (version (git-version "1.0.1" revision commit))
5579 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5580 (source
5581 (origin
5582 (method git-fetch)
5583 (uri (git-reference
5584 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5585 "fare-quasiquote.git"))
5586 (commit commit)))
5587 (file-name (git-file-name name version))
5588 (sha256
5589 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5590 (inputs
5591 `(("fare-utils" ,sbcl-fare-utils)
5592 ("named-readtables" ,sbcl-named-readtables)
5593 ("optima" ,sbcl-optima)))
5594 (arguments
5595 ;; XXX: Circular dependencies: Tests depend on subsystems,
5596 ;; which depend on the main systems.
5597 `(#:tests? #f
5598 #:asd-systems '("fare-quasiquote"
5599 "fare-quasiquote-extras")
5600 #:phases
5601 (modify-phases %standard-phases
5602 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5603 ;; commits after 1.0.0.5, but ASDF fails to read the
5604 ;; "-REVISION-COMMIT" part generated by Guix.
5605 (add-after 'unpack 'patch-requirement
5606 (lambda _
5607 (substitute* "fare-quasiquote.asd"
5608 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5609 "\"fare-utils\""))
5610 (substitute* "fare-quasiquote-optima.asd"
5611 (("\\(:version \"optima\" \"1\\.0\"\\)")
5612 "\"optima\""))
5613 #t)))))
5614 (synopsis "Pattern-matching friendly implementation of quasiquote")
5615 (description "The main purpose of this n+2nd reimplementation of
5616 quasiquote is enable matching of quasiquoted patterns, using Optima or
5617 Trivia.")
5618 (license license:expat))))
5619
5620 (define-public cl-fare-quasiquote
5621 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5622
5623 (define-public ecl-fare-quasiquote
5624 (sbcl-package->ecl-package sbcl-fare-quasiquote))
5625
5626 ;;; Split the trivia package in two to work around the circular dependency
5627 ;;; between guicho271828/trivia and guicho271828/type-i.
5628 (define-public sbcl-trivia.trivial
5629 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
5630 (revision "2"))
5631 (package
5632 (name "sbcl-trivia.trivial")
5633 (version (git-version "0.0.0" revision commit))
5634 (source
5635 (origin
5636 (method git-fetch)
5637 (uri (git-reference
5638 (url "https://github.com/guicho271828/trivia")
5639 (commit commit)))
5640 (file-name (git-file-name "trivia" version))
5641 (sha256
5642 (base32
5643 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
5644 (build-system asdf-build-system/sbcl)
5645 (inputs
5646 `(("alexandria" ,sbcl-alexandria)
5647 ("closer-mop" ,sbcl-closer-mop)
5648 ("lisp-namespace" ,sbcl-lisp-namespace)
5649 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
5650 (arguments
5651 '(#:phases
5652 (modify-phases %standard-phases
5653 (add-after 'unpack 'fix-build
5654 (lambda _
5655 (for-each delete-file
5656 '("trivia.balland2006.asd"
5657 "trivia.ppcre.asd"
5658 "trivia.quasiquote.asd"
5659 "trivia.cffi.asd"
5660 "trivia.asd"
5661 "trivia.test.asd"))
5662 #t)))))
5663 (synopsis "Pattern matching in Common Lisp")
5664 (description "Trivia is a pattern matching compiler that is compatible
5665 with Optima, another pattern matching library for Common Lisp. It is meant to
5666 be faster and more extensible than Optima.")
5667 (home-page "https://github.com/guicho271828/trivia")
5668 (license license:llgpl))))
5669
5670 (define-public cl-trivia.trivial
5671 (sbcl-package->cl-source-package sbcl-trivia.trivial))
5672
5673 (define-public ecl-trivia.trivial
5674 (sbcl-package->ecl-package sbcl-trivia.trivial))
5675
5676 (define-public sbcl-trivia
5677 (package
5678 (inherit sbcl-trivia.trivial)
5679 (name "sbcl-trivia")
5680 (native-inputs
5681 `(("fiveam" ,sbcl-fiveam)
5682 ("optima" ,sbcl-optima)))
5683 (inputs
5684 `(("alexandria" ,sbcl-alexandria)
5685 ("cffi" ,sbcl-cffi)
5686 ("cl-ppcre" ,sbcl-cl-ppcre)
5687 ("fare-quasiquote" ,sbcl-fare-quasiquote)
5688 ("iterate" ,sbcl-iterate)
5689 ("trivia.trivial" ,sbcl-trivia.trivial)
5690 ("type-i" ,sbcl-type-i)))
5691 (arguments
5692 '(#:asd-systems '("trivia"
5693 "trivia.ppcre"
5694 "trivia.quasiquote"
5695 "trivia.cffi")
5696 #:test-asd-file "trivia.test.asd"
5697 #:phases
5698 (modify-phases %standard-phases
5699 (add-after 'unpack 'fix-build
5700 (lambda _
5701 (for-each delete-file
5702 '("trivia.level0.asd"
5703 "trivia.level1.asd"
5704 "trivia.level2.asd"
5705 "trivia.trivial.asd"))
5706 #t)))))))
5707
5708 (define-public cl-trivia
5709 (sbcl-package->cl-source-package sbcl-trivia))
5710
5711 (define-public ecl-trivia
5712 (sbcl-package->ecl-package sbcl-trivia))
5713
5714 (define-public sbcl-mk-string-metrics
5715 (package
5716 (name "sbcl-mk-string-metrics")
5717 (version "0.1.2")
5718 (home-page "https://github.com/cbaggers/mk-string-metrics/")
5719 (source (origin
5720 (method git-fetch)
5721 (uri (git-reference
5722 (url home-page)
5723 (commit version)))
5724 (sha256
5725 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
5726 (file-name (git-file-name name version))))
5727 (build-system asdf-build-system/sbcl)
5728 (synopsis "Calculate various string metrics efficiently in Common Lisp")
5729 (description "This library implements efficient algorithms that calculate
5730 various string metrics in Common Lisp:
5731
5732 @itemize
5733 @item Damerau-Levenshtein distance
5734 @item Hamming distance
5735 @item Jaccard similarity coefficient
5736 @item Jaro distance
5737 @item Jaro-Winkler distance
5738 @item Levenshtein distance
5739 @item Normalized Damerau-Levenshtein distance
5740 @item Normalized Levenshtein distance
5741 @item Overlap coefficient
5742 @end itemize\n")
5743 (license license:x11)))
5744
5745 (define-public cl-mk-string-metrics
5746 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
5747
5748 (define-public ecl-mk-string-metrics
5749 (sbcl-package->ecl-package sbcl-mk-string-metrics))
5750
5751 (define-public sbcl-cl-str
5752 (package
5753 (name "sbcl-cl-str")
5754 (version "0.19")
5755 (home-page "https://github.com/vindarel/cl-str")
5756 (source (origin
5757 (method git-fetch)
5758 (uri (git-reference
5759 (url home-page)
5760 (commit version)))
5761 (sha256
5762 (base32 "1jyza2jhn7w6fl4w87pv0m87z5ia48m6dqw12k0mdh7l3mgjq839"))
5763 (file-name (git-file-name name version))))
5764 (build-system asdf-build-system/sbcl)
5765 (inputs
5766 `(("cl-ppcre" ,sbcl-cl-ppcre)
5767 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
5768 ("cl-change-case" ,sbcl-cl-change-case)))
5769 (native-inputs
5770 `(("prove" ,sbcl-prove)))
5771 (arguments
5772 `(#:asd-systems '("str")
5773 #:test-asd-file "str.test.asd"))
5774 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
5775 (description "A modern and consistent Common Lisp string manipulation
5776 library that focuses on modernity, simplicity and discoverability:
5777 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
5778 @code{str:concat strings} instead of an unusual format construct; one
5779 discoverable library instead of many; consistency and composability, where
5780 @code{s} is always the last argument, which makes it easier to feed pipes and
5781 arrows.")
5782 (license license:expat)))
5783
5784 (define-public cl-str
5785 (sbcl-package->cl-source-package sbcl-cl-str))
5786
5787 (define-public ecl-cl-str
5788 (sbcl-package->ecl-package sbcl-cl-str))
5789
5790 (define-public sbcl-cl-xmlspam
5791 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
5792 (package
5793 (name "sbcl-cl-xmlspam")
5794 (build-system asdf-build-system/sbcl)
5795 (version (git-version "0.0.0" "1" commit))
5796 (home-page "https://github.com/rogpeppe/cl-xmlspam")
5797 (source
5798 (origin
5799 (method git-fetch)
5800 (uri (git-reference
5801 (url home-page)
5802 (commit commit)))
5803 (file-name (string-append name "-" version))
5804 (sha256
5805 (base32
5806 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
5807 (inputs
5808 `(("cxml" ,sbcl-cxml)
5809 ("cl-ppcre" ,sbcl-cl-ppcre)))
5810 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
5811 (description "CXML does an excellent job at parsing XML elements, but what
5812 do you do when you have a XML file that's larger than you want to fit in
5813 memory, and you want to extract some information from it? Writing code to deal
5814 with SAX events, or even using Klacks, quickly becomes tedious.
5815 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
5816 to write code that mirrors the structure of the XML that it's parsing. It
5817 also makes it easy to shift paradigms when necessary - the usual Lisp control
5818 constructs can be used interchangeably with pattern matching, and the full
5819 power of CXML is available when necessary.")
5820 (license license:bsd-3))))
5821
5822 (define-public cl-xmlspam
5823 (sbcl-package->cl-source-package sbcl-cl-xmlspam))
5824
5825 (define-public ecl-cl-xmlspam
5826 (sbcl-package->ecl-package sbcl-cl-xmlspam))
5827
5828 (define-public sbcl-dbus
5829 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
5830 (revision "1"))
5831 (package
5832 (name "sbcl-dbus")
5833 (version (git-version "20190408" revision commit))
5834 (home-page "https://github.com/death/dbus")
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url home-page)
5840 (commit commit)))
5841 (file-name (git-file-name name version))
5842 (sha256
5843 (base32
5844 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
5845 (build-system asdf-build-system/sbcl)
5846 (inputs
5847 `(("alexandria" ,sbcl-alexandria)
5848 ("trivial-garbage" ,sbcl-trivial-garbage)
5849 ("babel" ,sbcl-babel)
5850 ("iolib" ,sbcl-iolib)
5851 ("ieee-floats" ,sbcl-ieee-floats)
5852 ("flexi-streams" ,sbcl-flexi-streams)
5853 ("cl-xmlspam" ,sbcl-cl-xmlspam)
5854 ("ironclad" ,sbcl-ironclad)))
5855 (synopsis "D-Bus client library for Common Lisp")
5856 (description "This is a Common Lisp library that publishes D-Bus
5857 objects as well as send and notify other objects connected to a bus.")
5858 (license license:bsd-2))))
5859
5860 (define-public cl-dbus
5861 (sbcl-package->cl-source-package sbcl-dbus))
5862
5863 (define-public ecl-dbus
5864 (sbcl-package->ecl-package sbcl-dbus))
5865
5866 (define-public sbcl-cl-hooks
5867 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
5868 (revision "1"))
5869 (package
5870 (name "sbcl-cl-hooks")
5871 (build-system asdf-build-system/sbcl)
5872 (version (git-version "0.2.1" revision commit))
5873 (home-page "https://github.com/scymtym/architecture.hooks")
5874 (source
5875 (origin
5876 (method git-fetch)
5877 (uri (git-reference
5878 (url home-page)
5879 (commit commit)))
5880 (file-name (git-file-name name version))
5881 (sha256
5882 (base32
5883 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
5884 (inputs
5885 `(("alexandria" ,sbcl-alexandria)
5886 ("let-plus" ,sbcl-let-plus)
5887 ("trivial-garbage" ,sbcl-trivial-garbage)
5888 ("closer-mop" ,sbcl-closer-mop)))
5889 (native-inputs
5890 `(("fiveam" ,sbcl-fiveam)))
5891 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
5892 (description "A hook, in the present context, is a certain kind of
5893 extension point in a program that allows interleaving the execution of
5894 arbitrary code with the execution of a the program without introducing any
5895 coupling between the two. Hooks are used extensively in the extensible editor
5896 Emacs.
5897
5898 In the Common LISP Object System (CLOS), a similar kind of extensibility is
5899 possible using the flexible multi-method dispatch mechanism. It may even seem
5900 that the concept of hooks does not provide any benefits over the possibilities
5901 of CLOS. However, there are some differences:
5902
5903 @itemize
5904
5905 @item There can be only one method for each combination of specializers and
5906 qualifiers. As a result this kind of extension point cannot be used by
5907 multiple extensions independently.
5908 @item Removing code previously attached via a @code{:before}, @code{:after} or
5909 @code{:around} method can be cumbersome.
5910 @item There could be other or even multiple extension points besides @code{:before}
5911 and @code{:after} in a single method.
5912 @item Attaching codes to individual objects using eql specializers can be
5913 cumbersome.
5914 @item Introspection of code attached a particular extension point is
5915 cumbersome since this requires enumerating and inspecting the methods of a
5916 generic function.
5917 @end itemize
5918
5919 This library tries to complement some of these weaknesses of method-based
5920 extension-points via the concept of hooks.")
5921 (license license:llgpl))))
5922
5923 (define-public cl-hooks
5924 (sbcl-package->cl-source-package sbcl-cl-hooks))
5925
5926 (define-public ecl-cl-hooks
5927 (sbcl-package->ecl-package sbcl-cl-hooks))
5928
5929 (define-public sbcl-cl-autowrap
5930 (let ((revision "1")
5931 (commit "ae846d6968fc0d000de0c541638929a157f3009e"))
5932 ;; no taged branches
5933 (package
5934 (name "sbcl-cl-autowrap")
5935 (version (git-version "1.0" revision commit))
5936 (source
5937 (origin
5938 (method git-fetch)
5939 (uri (git-reference
5940 (url "https://github.com/rpav/cl-autowrap")
5941 (commit commit)))
5942 (file-name (git-file-name name version))
5943 (sha256
5944 (base32 "1gisldp2zns92kdcaikghm7c38ldy2d884n8bfg0wcjvbz78p3ar"))))
5945 (build-system asdf-build-system/sbcl)
5946 (inputs
5947 `(("alexandria" ,sbcl-alexandria)
5948 ("cffi" ,sbcl-cffi)
5949 ("cl-json" ,sbcl-cl-json)
5950 ("cl-ppcre" ,sbcl-cl-ppcre)
5951 ("defpackage-plus" ,sbcl-defpackage-plus)
5952 ("trivial-features" ,sbcl-trivial-features)))
5953 (home-page "https://github.com/rpav/cl-autowrap")
5954 (synopsis "FFI wrapper generator for Common Lisp")
5955 (description "This is a c2ffi-based wrapper generator for Common Lisp.")
5956 (license license:bsd-2))))
5957
5958 (define-public cl-autowrap
5959 (sbcl-package->cl-source-package sbcl-cl-autowrap))
5960
5961 (define-public ecl-cl-autowrap
5962 (sbcl-package->ecl-package sbcl-cl-autowrap))
5963
5964 (define-public sbcl-s-sysdeps
5965 ;; No release since 2013.
5966 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
5967 (revision "2"))
5968 (package
5969 (name "sbcl-s-sysdeps")
5970 (build-system asdf-build-system/sbcl)
5971 (version (git-version "1" revision commit))
5972 (home-page "https://github.com/svenvc/s-sysdeps")
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url home-page)
5978 (commit commit)))
5979 (file-name (git-file-name name version))
5980 (sha256
5981 (base32
5982 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
5983 (inputs
5984 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
5985 ("usocket" ,sbcl-usocket)))
5986 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
5987 (description "@code{s-sysdeps} is an abstraction layer over platform
5988 dependent functionality. This simple package is used as a building block in a
5989 number of other open source projects.
5990
5991 @code{s-sysdeps} abstracts:
5992
5993 @itemize
5994 @item managing processes,
5995 @item implementing a standard TCP/IP server,
5996 @item opening a client TCP/IP socket stream,
5997 @item working with process locks.
5998 @end itemize\n")
5999 (license license:llgpl))))
6000
6001 (define-public cl-s-sysdeps
6002 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6003
6004 (define-public ecl-s-sysdeps
6005 (sbcl-package->ecl-package sbcl-s-sysdeps))
6006
6007 (define-public sbcl-cl-prevalence
6008 (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
6009 (revision "4"))
6010 (package
6011 (name "sbcl-cl-prevalence")
6012 (build-system asdf-build-system/sbcl)
6013 (version (git-version "5" revision commit))
6014 (home-page "https://github.com/40ants/cl-prevalence")
6015 (source
6016 (origin
6017 (method git-fetch)
6018 (uri (git-reference
6019 (url home-page)
6020 (commit commit)))
6021 (file-name (git-file-name name version))
6022 (sha256
6023 (base32
6024 "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
6025 (inputs
6026 `(("s-sysdeps" ,sbcl-s-sysdeps)
6027 ("s-xml" ,sbcl-s-xml)))
6028 (native-inputs
6029 `(("fiveam" ,sbcl-fiveam)))
6030 (synopsis "Implementation of object prevalence for Common Lisp")
6031 (description "This Common Lisp library implements object prevalence (see
6032 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6033 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6034 classes and cyclic data structures are supported.")
6035 (license license:llgpl))))
6036
6037 (define-public cl-prevalence
6038 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6039
6040 (define-public ecl-cl-prevalence
6041 (sbcl-package->ecl-package sbcl-cl-prevalence))
6042
6043 (define-public sbcl-series
6044 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6045 (revision "1"))
6046 (package
6047 (name "sbcl-series")
6048 (version (git-version "2.2.11" revision commit))
6049 (source
6050 (origin
6051 (method git-fetch)
6052 (uri (git-reference
6053 (url "git://git.code.sf.net/p/series/series")
6054 (commit commit)))
6055 (file-name (git-file-name name version))
6056 (sha256
6057 (base32
6058 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6059 (build-system asdf-build-system/sbcl)
6060 (arguments
6061 ;; Disable the tests, they are apparently buggy and I didn't find
6062 ;; a simple way to make them run and pass.
6063 '(#:tests? #f))
6064 (synopsis "Series data structure for Common Lisp")
6065 (description
6066 "This Common Lisp library provides a series data structure much like
6067 a sequence, with similar kinds of operations. The difference is that in many
6068 situations, operations on series may be composed functionally and yet execute
6069 iteratively, without the need to construct intermediate series values
6070 explicitly. In this manner, series provide both the clarity of a functional
6071 programming style and the efficiency of an iterative programming style.")
6072 (home-page "http://series.sourceforge.net/")
6073 (license license:expat))))
6074
6075 (define-public cl-series
6076 (sbcl-package->cl-source-package sbcl-series))
6077
6078 (define-public ecl-series
6079 (sbcl-package->ecl-package sbcl-series))
6080
6081 (define-public sbcl-periods
6082 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6083 (revision "1"))
6084 (package
6085 (name "sbcl-periods")
6086 (version (git-version "0.0.2" revision commit))
6087 (source
6088 (origin
6089 (method git-fetch)
6090 (uri (git-reference
6091 (url "https://github.com/jwiegley/periods")
6092 (commit commit)))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32
6096 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6097 (build-system asdf-build-system/sbcl)
6098 (inputs
6099 `(("local-time" ,sbcl-local-time)
6100 ("series" ,sbcl-series)))
6101 (arguments
6102 '(#:asd-systems '("periods"
6103 "periods-series")))
6104 (synopsis "Common Lisp library for manipulating date/time objects")
6105 (description
6106 "Periods is a Common Lisp library providing a set of utilities for
6107 manipulating times, distances between times, and both contiguous and
6108 discontiguous ranges of time.")
6109 (home-page "https://github.com/jwiegley/periods")
6110 (license license:bsd-3))))
6111
6112 (define-public cl-periods
6113 (sbcl-package->cl-source-package sbcl-periods))
6114
6115 (define-public ecl-periods
6116 (sbcl-package->ecl-package sbcl-periods))
6117
6118 (define-public sbcl-metatilities-base
6119 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6120 (revision "1"))
6121 (package
6122 (name "sbcl-metatilities-base")
6123 (version (git-version "0.6.6" revision commit))
6124 (source
6125 (origin
6126 (method git-fetch)
6127 (uri (git-reference
6128 (url "https://github.com/gwkkwg/metatilities-base")
6129 (commit commit)))
6130 (file-name (git-file-name name version))
6131 (sha256
6132 (base32
6133 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6134 (build-system asdf-build-system/sbcl)
6135 (native-inputs
6136 `(("lift" ,sbcl-lift)))
6137 (synopsis "Core of the metatilities Common Lisp library")
6138 (description
6139 "Metatilities-base is the core of the metatilities Common Lisp library
6140 which implements a set of utilities.")
6141 (home-page "https://common-lisp.net/project/metatilities-base/")
6142 (license license:expat))))
6143
6144 (define-public cl-metatilities-base
6145 (sbcl-package->cl-source-package sbcl-metatilities-base))
6146
6147 (define-public ecl-metatilities-base
6148 (sbcl-package->ecl-package sbcl-metatilities-base))
6149
6150 (define-public sbcl-cl-containers
6151 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6152 (revision "3"))
6153 (package
6154 (name "sbcl-cl-containers")
6155 (version (git-version "0.12.1" revision commit))
6156 (source
6157 (origin
6158 (method git-fetch)
6159 (uri (git-reference
6160 (url "https://github.com/gwkkwg/cl-containers")
6161 (commit commit)))
6162 (file-name (git-file-name name version))
6163 (sha256
6164 (base32
6165 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6166 (build-system asdf-build-system/sbcl)
6167 (native-inputs
6168 `(("lift" ,sbcl-lift)))
6169 (inputs
6170 `(("metatilities-base" ,sbcl-metatilities-base)))
6171 (arguments
6172 '(#:asd-files '("cl-containers.asd")
6173 #:phases
6174 (modify-phases %standard-phases
6175 (add-after 'unpack 'relax-version-checks
6176 (lambda _
6177 (substitute* "cl-containers.asd"
6178 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6179 "\"metatilities-base\""))
6180 (substitute* "cl-containers-test.asd"
6181 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6182 "\"lift\""))
6183 #t)))))
6184 (synopsis "Container library for Common Lisp")
6185 (description
6186 "Common Lisp ships with a set of powerful built in data structures
6187 including the venerable list, full featured arrays, and hash-tables.
6188 CL-containers enhances and builds on these structures by adding containers
6189 that are not available in native Lisp (for example: binary search trees,
6190 red-black trees, sparse arrays and so on), and by providing a standard
6191 interface so that they are simpler to use and so that changing design
6192 decisions becomes significantly easier.")
6193 (home-page "https://common-lisp.net/project/cl-containers/")
6194 (license license:expat))))
6195
6196 (define-public cl-containers
6197 (sbcl-package->cl-source-package sbcl-cl-containers))
6198
6199 (define-public ecl-cl-containers
6200 (sbcl-package->ecl-package sbcl-cl-containers))
6201
6202 (define-public sbcl-xlunit
6203 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6204 (revision "1"))
6205 (package
6206 (name "sbcl-xlunit")
6207 (version (git-version "0.6.3" revision commit))
6208 (source
6209 (origin
6210 (method git-fetch)
6211 (uri (git-reference
6212 (url "http://git.kpe.io/xlunit.git")
6213 (commit commit)))
6214 (file-name (git-file-name name version))
6215 (sha256
6216 (base32
6217 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6218 (build-system asdf-build-system/sbcl)
6219 (arguments
6220 '(#:phases
6221 (modify-phases %standard-phases
6222 (add-after 'unpack 'fix-tests
6223 (lambda _
6224 (substitute* "xlunit.asd"
6225 ((" :force t") ""))
6226 #t)))))
6227 (synopsis "Unit testing package for Common Lisp")
6228 (description
6229 "The XLUnit package is a toolkit for building test suites. It is based
6230 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6231 (home-page "http://quickdocs.org/xlunit/")
6232 (license license:bsd-3))))
6233
6234 (define-public cl-xlunit
6235 (sbcl-package->cl-source-package sbcl-xlunit))
6236
6237 (define-public ecl-xlunit
6238 (sbcl-package->ecl-package sbcl-xlunit))
6239
6240 (define-public sbcl-cambl
6241 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6242 (revision "1"))
6243 (package
6244 (name "sbcl-cambl")
6245 (version (git-version "4.0.0" revision commit))
6246 (source
6247 (origin
6248 (method git-fetch)
6249 (uri (git-reference
6250 (url "https://github.com/jwiegley/cambl")
6251 (commit commit)))
6252 (file-name (git-file-name "cambl" version))
6253 (sha256
6254 (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6255 (build-system asdf-build-system/sbcl)
6256 (native-inputs
6257 `(("xlunit" ,sbcl-xlunit)))
6258 (inputs
6259 `(("alexandria" ,sbcl-alexandria)
6260 ("cl-containers" ,sbcl-cl-containers)
6261 ("local-time" ,sbcl-local-time)
6262 ("periods" ,sbcl-periods)))
6263 (arguments
6264 '(#:asd-files '("fprog.asd"
6265 "cambl.asd")))
6266 (synopsis "Commoditized amounts and balances for Common Lisp")
6267 (description
6268 "CAMBL is a Common Lisp library providing a convenient facility for
6269 working with commoditized values. It does not allow compound units (and so is
6270 not suited for scientific operations) but does work rather nicely for the
6271 purpose of financial calculations.")
6272 (home-page "https://github.com/jwiegley/cambl")
6273 (license license:bsd-3))))
6274
6275 (define-public cl-cambl
6276 (sbcl-package->cl-source-package sbcl-cambl))
6277
6278 (define-public ecl-cambl
6279 (sbcl-package->ecl-package sbcl-cambl))
6280
6281 (define-public sbcl-cl-ledger
6282 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6283 (revision "1"))
6284 (package
6285 (name "sbcl-cl-ledger")
6286 (version (git-version "4.0.0" revision commit))
6287 (source
6288 (origin
6289 (method git-fetch)
6290 (uri (git-reference
6291 (url "https://github.com/ledger/cl-ledger")
6292 (commit commit)))
6293 (file-name (git-file-name name version))
6294 (sha256
6295 (base32
6296 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6297 (build-system asdf-build-system/sbcl)
6298 (inputs
6299 `(("cambl" ,sbcl-cambl)
6300 ("cl-ppcre" ,sbcl-cl-ppcre)
6301 ("local-time" ,sbcl-local-time)
6302 ("periods" ,sbcl-periods)))
6303 (arguments
6304 '(#:phases
6305 (modify-phases %standard-phases
6306 (add-after 'unpack 'fix-system-definition
6307 (lambda _
6308 (substitute* "cl-ledger.asd"
6309 ((" :build-operation program-op") "")
6310 ((" :build-pathname \"cl-ledger\"") "")
6311 ((" :entry-point \"ledger::main\"") ""))
6312 #t)))))
6313 (synopsis "Common Lisp port of the Ledger accounting system")
6314 (description
6315 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6316 system.")
6317 (home-page "https://github.com/ledger/cl-ledger")
6318 (license license:bsd-3))))
6319
6320 (define-public cl-ledger
6321 (sbcl-package->cl-source-package sbcl-cl-ledger))
6322
6323 (define-public ecl-cl-ledger
6324 (sbcl-package->ecl-package sbcl-cl-ledger))
6325
6326 (define-public sbcl-bst
6327 (let ((commit "8545aed0d504df2829ad139566feeabe22305388")
6328 (revision "0"))
6329 (package
6330 (name "sbcl-bst")
6331 (version (git-version "2.0" revision commit))
6332 (source
6333 (origin
6334 (method git-fetch)
6335 (uri (git-reference
6336 (url "https://github.com/glv2/bst")
6337 (commit commit)))
6338 (file-name (git-file-name name version))
6339 (sha256
6340 (base32 "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8"))))
6341 (build-system asdf-build-system/sbcl)
6342 (native-inputs
6343 `(("alexandria" ,sbcl-alexandria)
6344 ("fiveam" ,sbcl-fiveam)))
6345 (synopsis "Binary search tree for Common Lisp")
6346 (description
6347 "BST is a Common Lisp library for working with binary search trees that
6348 can contain any kind of values.")
6349 (home-page "https://github.com/glv2/bst")
6350 (license license:gpl3))))
6351
6352 (define-public cl-bst
6353 (sbcl-package->cl-source-package sbcl-bst))
6354
6355 (define-public ecl-bst
6356 (sbcl-package->ecl-package sbcl-bst))
6357
6358 (define-public sbcl-cl-octet-streams
6359 (package
6360 (name "sbcl-cl-octet-streams")
6361 (version "1.2")
6362 (source
6363 (origin
6364 (method git-fetch)
6365 (uri (git-reference
6366 (url "https://github.com/glv2/cl-octet-streams")
6367 (commit (string-append "v" version))))
6368 (file-name (git-file-name name version))
6369 (sha256
6370 (base32 "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8"))))
6371 (build-system asdf-build-system/sbcl)
6372 (native-inputs
6373 `(("fiveam" ,sbcl-fiveam)))
6374 (inputs
6375 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6376 (synopsis "In-memory octet streams for Common Lisp")
6377 (description
6378 "CL-octet-streams is a library implementing in-memory octet
6379 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6380 cl-plumbing libraries.")
6381 (home-page "https://github.com/glv2/cl-octet-streams")
6382 (license license:gpl3+)))
6383
6384 (define-public cl-octet-streams
6385 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6386
6387 (define-public ecl-cl-octet-streams
6388 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6389
6390 (define-public sbcl-lzlib
6391 (let ((commit "cad10f5becbcfebb44b9d311a257563778803452")
6392 (revision "2"))
6393 (package
6394 (name "sbcl-lzlib")
6395 (version (git-version "1.1" revision commit))
6396 (source
6397 (origin
6398 (method git-fetch)
6399 (uri (git-reference
6400 (url "https://github.com/glv2/cl-lzlib")
6401 (commit commit)))
6402 (file-name (git-file-name name version))
6403 (sha256
6404 (base32 "09lp7li35h4jkls0448fj1sh6pjslr1w7ranbc4szjr8g0c2bdry"))))
6405 (build-system asdf-build-system/sbcl)
6406 (native-inputs
6407 `(("fiveam" ,sbcl-fiveam)))
6408 (inputs
6409 `(("cffi" ,sbcl-cffi)
6410 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6411 ("lparallel" ,sbcl-lparallel)
6412 ("lzlib" ,lzlib)))
6413 (arguments
6414 '(#:phases
6415 (modify-phases %standard-phases
6416 (add-after 'unpack 'fix-paths
6417 (lambda* (#:key inputs #:allow-other-keys)
6418 (substitute* "src/lzlib.lisp"
6419 (("liblz\\.so")
6420 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6421 #t)))))
6422 (synopsis "Common Lisp library for lzip (de)compression")
6423 (description
6424 "This Common Lisp library provides functions for lzip (LZMA)
6425 compression/decompression using bindings to the lzlib C library.")
6426 (home-page "https://github.com/glv2/cl-lzlib")
6427 (license license:gpl3+))))
6428
6429 (define-public cl-lzlib
6430 (sbcl-package->cl-source-package sbcl-lzlib))
6431
6432 (define-public ecl-lzlib
6433 (sbcl-package->ecl-package sbcl-lzlib))
6434
6435 (define-public sbcl-chanl
6436 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6437 (revision "1"))
6438 (package
6439 (name "sbcl-chanl")
6440 (version (git-version "0.4.1" revision commit))
6441 (source
6442 (origin
6443 (method git-fetch)
6444 (uri (git-reference
6445 (url "https://github.com/zkat/chanl")
6446 (commit commit)))
6447 (file-name (git-file-name name version))
6448 (sha256
6449 (base32
6450 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6451 (build-system asdf-build-system/sbcl)
6452 (native-inputs
6453 `(("fiveam" ,sbcl-fiveam)))
6454 (inputs
6455 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6456 (synopsis "Portable channel-based concurrency for Common Lisp")
6457 (description "Common Lisp library for channel-based concurrency. In
6458 a nutshell, you create various threads sequentially executing tasks you need
6459 done, and use channel objects to communicate and synchronize the state of these
6460 threads.")
6461 (home-page "https://github.com/zkat/chanl")
6462 (license (list license:expat license:bsd-3)))))
6463
6464 (define-public cl-chanl
6465 (sbcl-package->cl-source-package sbcl-chanl))
6466
6467 (define-public ecl-chanl
6468 (sbcl-package->ecl-package sbcl-chanl))
6469
6470 (define-public sbcl-cl-store
6471 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6472 (revision "1"))
6473 (package
6474 (name "sbcl-cl-store")
6475 (version (git-version "0.8.11" revision commit))
6476 (source
6477 (origin
6478 (method git-fetch)
6479 (uri (git-reference
6480 (url "https://github.com/skypher/cl-store")
6481 (commit commit)))
6482 (file-name (git-file-name name version))
6483 (sha256
6484 (base32
6485 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6486 (build-system asdf-build-system/sbcl)
6487 (native-inputs
6488 `(("rt" ,sbcl-rt)))
6489 (synopsis "Common Lisp library to serialize data")
6490 (description
6491 "CL-STORE is a portable serialization package which should give you the
6492 ability to store all Common Lisp data types into streams.")
6493 (home-page "https://www.common-lisp.net/project/cl-store/")
6494 (license license:expat))))
6495
6496 (define-public cl-store
6497 (sbcl-package->cl-source-package sbcl-cl-store))
6498
6499 (define-public ecl-cl-store
6500 (sbcl-package->ecl-package sbcl-cl-store))
6501
6502 (define-public sbcl-cl-gobject-introspection
6503 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6504 (revision "0"))
6505 (package
6506 (name "sbcl-cl-gobject-introspection")
6507 (version (git-version "0.3" revision commit))
6508 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6509 (source
6510 (origin
6511 (method git-fetch)
6512 (uri (git-reference
6513 (url home-page)
6514 (commit commit)))
6515 (file-name (git-file-name name version))
6516 (sha256
6517 (base32
6518 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
6519 (build-system asdf-build-system/sbcl)
6520 (inputs
6521 `(("alexandria" ,sbcl-alexandria)
6522 ("cffi" ,sbcl-cffi)
6523 ("iterate" ,sbcl-iterate)
6524 ("trivial-garbage" ,sbcl-trivial-garbage)
6525 ("glib" ,glib)
6526 ("gobject-introspection" ,gobject-introspection)))
6527 (native-inputs
6528 `(("fiveam" ,sbcl-fiveam)))
6529 (arguments
6530 ;; TODO: Tests fail, see
6531 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
6532 '(#:tests? #f
6533 #:phases
6534 (modify-phases %standard-phases
6535 (add-after (quote unpack) (quote fix-paths)
6536 (lambda* (#:key inputs #:allow-other-keys)
6537 (substitute* "src/init.lisp"
6538 (("libgobject-2\\.0\\.so")
6539 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
6540 (("libgirepository-1\\.0\\.so")
6541 (string-append (assoc-ref inputs "gobject-introspection")
6542 "/lib/libgirepository-1.0.so")))
6543 #t)))))
6544 (synopsis "Common Lisp bindings to GObject Introspection")
6545 (description
6546 "This library is a bridge between Common Lisp and GObject
6547 Introspection, which enables Common Lisp programs to access the full interface
6548 of C+GObject libraries without the need of writing dedicated bindings.")
6549 (license (list license:bsd-3
6550 ;; Tests are under a different license.
6551 license:llgpl)))))
6552
6553 (define-public cl-gobject-introspection
6554 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
6555
6556 (define-public ecl-cl-gobject-introspection
6557 (sbcl-package->ecl-package sbcl-cl-gobject-introspection))
6558
6559 (define-public sbcl-string-case
6560 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
6561 (revision "0"))
6562 (package
6563 (name "sbcl-string-case")
6564 (version (git-version "0.0.2" revision commit))
6565 (home-page "https://github.com/pkhuong/string-case")
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url home-page)
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
6576 (build-system asdf-build-system/sbcl)
6577 (synopsis "Efficient string= case in Common Lisp")
6578 (description
6579 "@code{string-case} is a Common Lisp macro that generates specialised decision
6580 trees to dispatch on string equality.")
6581 (license license:bsd-3))))
6582
6583 (define-public cl-string-case
6584 (sbcl-package->cl-source-package sbcl-string-case))
6585
6586 (define-public ecl-string-case
6587 (sbcl-package->ecl-package sbcl-string-case))
6588
6589 (define-public sbcl-garbage-pools
6590 (let ((commit "9a7cb7f48b04197c0495df3b6d2e8395ad13f790")
6591 (revision "1"))
6592 (package
6593 (name "sbcl-garbage-pools")
6594 (version (git-version "0.1.2" revision commit))
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "https://github.com/archimag/garbage-pools")
6600 (commit commit)))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32 "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1"))))
6604 (build-system asdf-build-system/sbcl)
6605 (home-page "https://github.com/archimag/garbage-pools")
6606 (synopsis "Resource management pools for Common Lisp")
6607 (description "GARBAGE-POOLS is Common Lisp re-implementation of the APR
6608 Pools for resource management.")
6609 (license license:expat))))
6610
6611 (define-public ecl-garbage-pools
6612 (sbcl-package->ecl-package sbcl-garbage-pools))
6613
6614 (define-public cl-garbage-pools
6615 (sbcl-package->cl-source-package sbcl-garbage-pools))
6616
6617 (define-public sbcl-global-vars
6618 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
6619 (revision "0"))
6620 (package
6621 (name "sbcl-global-vars")
6622 (version (git-version "1.0.0" revision commit))
6623 (home-page "https://github.com/lmj/global-vars")
6624 (source
6625 (origin
6626 (method git-fetch)
6627 (uri (git-reference
6628 (url home-page)
6629 (commit commit)))
6630 (file-name (git-file-name name version))
6631 (sha256
6632 (base32
6633 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
6634 (build-system asdf-build-system/sbcl)
6635 (synopsis "Efficient global variables in Common Lisp")
6636 (description
6637 "In Common Lisp, a special variable that is never dynamically bound
6638 typically serves as a stand-in for a global variable. The @code{global-vars}
6639 library provides true global variables that are implemented by some compilers.
6640 An attempt to rebind a global variable properly results in a compiler error.
6641 That is, a global variable cannot be dynamically bound.
6642
6643 Global variables therefore allow us to communicate an intended usage that
6644 differs from special variables. Global variables are also more efficient than
6645 special variables, especially in the presence of threads.")
6646 (license license:expat))))
6647
6648 (define-public cl-global-vars
6649 (sbcl-package->cl-source-package sbcl-global-vars))
6650
6651 (define-public ecl-global-vars
6652 (sbcl-package->ecl-package sbcl-global-vars))
6653
6654 (define-public sbcl-trivial-file-size
6655 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
6656 (revision "0"))
6657 (package
6658 (name "sbcl-trivial-file-size")
6659 (version (git-version "0.0.0" revision commit))
6660 (home-page "https://github.com/ruricolist/trivial-file-size")
6661 (source
6662 (origin
6663 (method git-fetch)
6664 (uri (git-reference
6665 (url home-page)
6666 (commit commit)))
6667 (file-name (git-file-name name version))
6668 (sha256
6669 (base32
6670 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
6671 (build-system asdf-build-system/sbcl)
6672 (native-inputs
6673 `(("fiveam" ,sbcl-fiveam)))
6674 (synopsis "Size of a file in bytes in Common Lisp")
6675 (description
6676 "The canonical way to determine the size of a file in bytes, using Common Lisp,
6677 is to open the file with an element type of (unsigned-byte 8) and then
6678 calculate the length of the stream. This is less than ideal. In most cases
6679 it is better to get the size of the file from its metadata, using a system
6680 call.
6681
6682 This library exports a single function, file-size-in-octets. It returns the
6683 size of a file in bytes, using system calls when possible.")
6684 (license license:expat))))
6685
6686 (define-public cl-trivial-file-size
6687 (sbcl-package->cl-source-package sbcl-trivial-file-size))
6688
6689 (define-public ecl-trivial-file-size
6690 (sbcl-package->ecl-package sbcl-trivial-file-size))
6691
6692 (define-public sbcl-trivial-macroexpand-all
6693 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
6694 (revision "0"))
6695 (package
6696 (name "sbcl-trivial-macroexpand-all")
6697 (version (git-version "0.0.0" revision commit))
6698 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
6699 (source
6700 (origin
6701 (method git-fetch)
6702 (uri (git-reference
6703 (url home-page)
6704 (commit commit)))
6705 (file-name (git-file-name name version))
6706 (sha256
6707 (base32
6708 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
6709 (build-system asdf-build-system/sbcl)
6710 (native-inputs
6711 `(("fiveam" ,sbcl-fiveam)))
6712 (synopsis "Portable macroexpand-all for Common Lisp")
6713 (description
6714 "This library provides a macroexpand-all function that calls the
6715 implementation specific equivalent.")
6716 (license license:unlicense))))
6717
6718 (define-public cl-trivial-macroexpand-all
6719 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
6720
6721 (define-public ecl-trivial-macroexpand-all
6722 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
6723
6724 (define-public sbcl-serapeum
6725 (let ((commit "c5e352a9f04a84a93742193c01734f4fb31d9f82")
6726 (revision "3"))
6727 (package
6728 (name "sbcl-serapeum")
6729 (version (git-version "0.0.0" revision commit))
6730 (home-page "https://github.com/ruricolist/serapeum")
6731 (source
6732 (origin
6733 (method git-fetch)
6734 (uri (git-reference
6735 (url home-page)
6736 (commit commit)))
6737 (file-name (git-file-name name version))
6738 (sha256
6739 (base32
6740 "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw"))))
6741 (build-system asdf-build-system/sbcl)
6742 (inputs
6743 `(("alexandria" ,sbcl-alexandria)
6744 ("trivia" ,sbcl-trivia)
6745 ("split-sequence" ,sbcl-split-sequence)
6746 ("string-case" ,sbcl-string-case)
6747 ("parse-number" ,sbcl-parse-number)
6748 ("trivial-garbage" ,sbcl-trivial-garbage)
6749 ("bordeaux-threads" ,sbcl-bordeaux-threads)
6750 ("named-readtables" ,sbcl-named-readtables)
6751 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6752 ("parse-declarations-1.0" ,sbcl-parse-declarations)
6753 ("global-vars" ,sbcl-global-vars)
6754 ("trivial-file-size" ,sbcl-trivial-file-size)
6755 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
6756 (native-inputs
6757 `(("fiveam" ,sbcl-fiveam)
6758 ("local-time" ,sbcl-local-time)))
6759 (arguments
6760 '(#:phases
6761 (modify-phases %standard-phases
6762 (add-after 'unpack 'disable-failing-tests
6763 (lambda* (#:key inputs #:allow-other-keys)
6764 (substitute* "serapeum.asd"
6765 ;; Guix does not have Quicklisp, and probably never will.
6766 (("\\(:file \"quicklisp\"\\)") ""))
6767 #t)))))
6768 (synopsis "Common Lisp utility library beyond Alexandria")
6769 (description
6770 "Serapeum is a conservative library of Common Lisp utilities. It is a
6771 supplement, not a competitor, to Alexandria.")
6772 (license license:expat))))
6773
6774 (define-public cl-serapeum
6775 (sbcl-package->cl-source-package sbcl-serapeum))
6776
6777 (define-public ecl-serapeum
6778 (sbcl-package->ecl-package sbcl-serapeum))
6779
6780 (define-public sbcl-arrows
6781 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
6782 (revision "0"))
6783 (package
6784 (name "sbcl-arrows")
6785 (version (git-version "0.2.0" revision commit))
6786 (source
6787 (origin
6788 (method git-fetch)
6789 (uri (git-reference
6790 (url "https://gitlab.com/Harleqin/arrows.git")
6791 (commit commit)))
6792 (file-name (git-file-name name version))
6793 (sha256
6794 (base32
6795 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
6796 (build-system asdf-build-system/sbcl)
6797 (native-inputs
6798 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
6799 (synopsis "Clojure-like arrow macros for Common Lisp")
6800 (description
6801 "This library implements the @code{->} and @code{->>} macros from
6802 Clojure, as well as several expansions on the idea.")
6803 (home-page "https://gitlab.com/Harleqin/arrows")
6804 (license license:public-domain))))
6805
6806 (define-public cl-arrows
6807 (sbcl-package->cl-source-package sbcl-arrows))
6808
6809 (define-public ecl-arrows
6810 (sbcl-package->ecl-package sbcl-arrows))
6811
6812 (define-public sbcl-simple-parallel-tasks
6813 (let ((commit "ce7b60f788d8f68dfb69b24aac54c0e3b63379a6")
6814 (revision "1"))
6815 (package
6816 (name "sbcl-simple-parallel-tasks")
6817 (version (git-version "1.0" revision commit))
6818 (source
6819 (origin
6820 (method git-fetch)
6821 (uri (git-reference
6822 (url "https://github.com/glv2/simple-parallel-tasks")
6823 (commit commit)))
6824 (file-name (git-file-name name version))
6825 (sha256
6826 (base32 "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7"))))
6827 (build-system asdf-build-system/sbcl)
6828 (native-inputs
6829 `(("fiveam" ,sbcl-fiveam)))
6830 (inputs
6831 `(("chanl" ,sbcl-chanl)))
6832 (synopsis "Common Lisp library to evaluate some forms in parallel")
6833 (description "This is a simple Common Lisp library to evaluate some
6834 forms in parallel.")
6835 (home-page "https://github.com/glv2/simple-parallel-tasks")
6836 (license license:gpl3))))
6837
6838 (define-public cl-simple-parallel-tasks
6839 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
6840
6841 (define-public ecl-simple-parallel-tasks
6842 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
6843
6844 (define-public sbcl-cl-heap
6845 (package
6846 (name "sbcl-cl-heap")
6847 (version "0.1.6")
6848 (source
6849 (origin
6850 (method url-fetch)
6851 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
6852 "cl-heap_" version ".tar.gz"))
6853 (sha256
6854 (base32
6855 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
6856 (build-system asdf-build-system/sbcl)
6857 (native-inputs
6858 `(("xlunit" ,sbcl-xlunit)))
6859 (arguments
6860 `(#:test-asd-file "cl-heap-tests.asd"))
6861 (synopsis "Heap and priority queue data structures for Common Lisp")
6862 (description
6863 "CL-HEAP provides various implementations of heap data structures (a
6864 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
6865 (home-page "https://common-lisp.net/project/cl-heap/")
6866 (license license:gpl3+)))
6867
6868 (define-public cl-heap
6869 (sbcl-package->cl-source-package sbcl-cl-heap))
6870
6871 (define-public ecl-cl-heap
6872 (sbcl-package->ecl-package sbcl-cl-heap))
6873
6874 (define-public sbcl-curry-compose-reader-macros
6875 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
6876 (revision "0"))
6877 (package
6878 (name "sbcl-curry-compose-reader-macros")
6879 (version (git-version "1.0.0" revision commit))
6880 (source
6881 (origin
6882 (method git-fetch)
6883 (uri
6884 (git-reference
6885 (url "https://github.com/eschulte/curry-compose-reader-macros")
6886 (commit commit)))
6887 (file-name (git-file-name name version))
6888 (sha256
6889 (base32
6890 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
6891 (build-system asdf-build-system/sbcl)
6892 (inputs
6893 `(("alexandria" ,sbcl-alexandria)
6894 ("named-readtables" ,sbcl-named-readtables)))
6895 (synopsis "Reader macros for partial application and composition")
6896 (description
6897 "This Common Lisp library provides reader macros for concise expression
6898 of function partial application and composition.")
6899 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
6900 (license license:public-domain))))
6901
6902 (define-public cl-curry-compose-reader-macros
6903 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
6904
6905 (define-public ecl-curry-compose-reader-macros
6906 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
6907
6908 (define-public sbcl-yason
6909 (package
6910 (name "sbcl-yason")
6911 (version "0.7.7")
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
6916 (url "https://github.com/phmarek/yason")
6917 (commit (string-append "v" version))))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32
6921 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
6922 (build-system asdf-build-system/sbcl)
6923 (inputs
6924 `(("alexandria" ,sbcl-alexandria)
6925 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6926 (synopsis "Common Lisp JSON parser/encoder")
6927 (description
6928 "YASON is a Common Lisp library for encoding and decoding data in the
6929 JSON interchange format.")
6930 (home-page "https://github.com/phmarek/yason")
6931 (license license:bsd-3)))
6932
6933 (define-public cl-yason
6934 (sbcl-package->cl-source-package sbcl-yason))
6935
6936 (define-public ecl-yason
6937 (sbcl-package->ecl-package sbcl-yason))
6938
6939 (define-public sbcl-stefil
6940 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
6941 (revision "0"))
6942 (package
6943 (name "sbcl-stefil")
6944 (version (git-version "0.1" revision commit))
6945 (source
6946 (origin
6947 (method git-fetch)
6948 (uri (git-reference
6949 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
6950 (commit commit)))
6951 (file-name (git-file-name name version))
6952 (sha256
6953 (base32
6954 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
6955 (build-system asdf-build-system/sbcl)
6956 (inputs
6957 `(("alexandria" ,sbcl-alexandria)
6958 ("iterate" ,sbcl-iterate)
6959 ("metabang-bind" ,sbcl-metabang-bind)
6960 ("swank" ,sbcl-slime-swank)))
6961 (arguments
6962 '(#:phases
6963 (modify-phases %standard-phases
6964 (add-after 'unpack 'drop-unnecessary-dependency
6965 (lambda _
6966 (substitute* "package.lisp"
6967 ((":stefil-system") ""))
6968 #t)))))
6969 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
6970 (synopsis "Simple test framework")
6971 (description
6972 "Stefil is a simple test framework for Common Lisp, with a focus on
6973 interactive development.")
6974 (license license:public-domain))))
6975
6976 (define-public cl-stefil
6977 (sbcl-package->cl-source-package sbcl-stefil))
6978
6979 (define-public ecl-stefil
6980 (sbcl-package->ecl-package sbcl-stefil))
6981
6982 (define-public sbcl-graph
6983 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
6984 (revision "0"))
6985 (package
6986 (name "sbcl-graph")
6987 (version (git-version "0.0.0" revision commit))
6988 (source
6989 (origin
6990 (method git-fetch)
6991 (uri
6992 (git-reference
6993 (url "https://github.com/eschulte/graph")
6994 (commit commit)))
6995 (file-name (git-file-name name version))
6996 (sha256
6997 (base32
6998 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))))
6999 (build-system asdf-build-system/sbcl)
7000 (native-inputs
7001 `(("stefil" ,sbcl-stefil)))
7002 (inputs
7003 `(("alexandria" ,sbcl-alexandria)
7004 ("cl-heap" ,sbcl-cl-heap)
7005 ("cl-ppcre" ,sbcl-cl-ppcre)
7006 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7007 ("metabang-bind" ,sbcl-metabang-bind)
7008 ("named-readtables" ,sbcl-named-readtables)
7009 ("yason" ,sbcl-yason)))
7010 (arguments
7011 '(#:asd-systems '("graph"
7012 "graph/dot"
7013 "graph/json")))
7014 (synopsis "Graph data structure and algorithms for Common Lisp")
7015 (description
7016 "The GRAPH Common Lisp library provides a data structures to represent
7017 graphs, as well as some graph manipulation and analysis algorithms (shortest
7018 path, maximum flow, minimum spanning tree, etc.).")
7019 (home-page "https://eschulte.github.io/graph/")
7020 (license license:gpl3+))))
7021
7022 (define-public cl-graph
7023 (sbcl-package->cl-source-package sbcl-graph))
7024
7025 (define-public ecl-graph
7026 (sbcl-package->ecl-package sbcl-graph))
7027
7028 (define-public sbcl-trivial-indent
7029 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7030 (revision "0"))
7031 (package
7032 (name "sbcl-trivial-indent")
7033 (version (git-version "1.0.0" revision commit))
7034 (source
7035 (origin
7036 (method git-fetch)
7037 (uri
7038 (git-reference
7039 (url "https://github.com/Shinmera/trivial-indent")
7040 (commit commit)))
7041 (file-name (git-file-name name version))
7042 (sha256
7043 (base32
7044 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7045 (build-system asdf-build-system/sbcl)
7046 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7047 (description
7048 "This library allows you to define custom indentation hints for your
7049 macros if the one recognised by SLIME automatically produces unwanted
7050 results.")
7051 (home-page "https://shinmera.github.io/trivial-indent/")
7052 (license license:zlib))))
7053
7054 (define-public cl-trivial-indent
7055 (sbcl-package->cl-source-package sbcl-trivial-indent))
7056
7057 (define-public ecl-trivial-indent
7058 (sbcl-package->ecl-package sbcl-trivial-indent))
7059
7060 (define-public sbcl-documentation-utils
7061 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7062 (revision "0"))
7063 (package
7064 (name "sbcl-documentation-utils")
7065 (version (git-version "1.2.0" revision commit))
7066 (source
7067 (origin
7068 (method git-fetch)
7069 (uri
7070 (git-reference
7071 (url "https://github.com/Shinmera/documentation-utils")
7072 (commit commit)))
7073 (file-name (git-file-name name version))
7074 (sha256
7075 (base32
7076 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7077 (build-system asdf-build-system/sbcl)
7078 (inputs
7079 `(("trivial-indent" ,sbcl-trivial-indent)))
7080 (synopsis "Few simple tools to document Common Lisp libraries")
7081 (description
7082 "This is a small library to help you with managing the Common Lisp
7083 docstrings for your library.")
7084 (home-page "https://shinmera.github.io/documentation-utils/")
7085 (license license:zlib))))
7086
7087 (define-public cl-documentation-utils
7088 (sbcl-package->cl-source-package sbcl-documentation-utils))
7089
7090 (define-public ecl-documentation-utils
7091 (sbcl-package->ecl-package sbcl-documentation-utils))
7092
7093 (define-public sbcl-documentation-utils-extensions
7094 (let ((commit "f67f8a05d583174662a594b79356b201c1d9d750"))
7095 (package
7096 (name "sbcl-documentation-utils-extensions")
7097 (version (git-version "0.0.0" "1" commit))
7098 (source
7099 (origin
7100 (method git-fetch)
7101 (uri
7102 (git-reference
7103 (url "https://github.com/sirherrbatka/documentation-utils-extensions/")
7104 (commit commit)))
7105 (file-name (git-file-name name version))
7106 (sha256
7107 (base32
7108 "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f"))))
7109 (build-system asdf-build-system/sbcl)
7110 (inputs
7111 `(("documentation-utils" ,sbcl-documentation-utils)))
7112 (home-page "https://github.com/sirherrbatka/documentation-utils-extensions")
7113 (synopsis "Set of extensions for documentation-utils")
7114 (description
7115 "Use @code{rich-formatter} to format documentation with sections @code{:syntax},
7116 @code{:arguments}, @code{:examples}, @code{:description}, @code{:returns},
7117 @code{:side-effects}, @code{:thread-safety}, @code{:affected-by},
7118 @code{:see-also} and @code{:notes}. Gather unformatted input by using
7119 @code{rich-aggregating-formatter} and @code{*DOCUMENTATION*} variable. Find
7120 gathered documentation with find-documentation function. Execute code stored
7121 in documentation with @code{execute-documentation}. See the examples in the
7122 @code{src/documentation.lisp} file. See the @code{documentation-utils} system
7123 for more information.")
7124 (license license:expat))))
7125
7126 (define-public cl-documentation-utils-extensions
7127 (sbcl-package->cl-source-package sbcl-documentation-utils-extensions))
7128
7129 (define-public ecl-documentation-utils-extensions
7130 (sbcl-package->ecl-package sbcl-documentation-utils-extensions))
7131
7132 (define-public sbcl-form-fiddle
7133 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7134 (revision "0"))
7135 (package
7136 (name "sbcl-form-fiddle")
7137 (version (git-version "1.1.0" revision commit))
7138 (source
7139 (origin
7140 (method git-fetch)
7141 (uri
7142 (git-reference
7143 (url "https://github.com/Shinmera/form-fiddle")
7144 (commit commit)))
7145 (file-name (git-file-name name version))
7146 (sha256
7147 (base32
7148 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7149 (build-system asdf-build-system/sbcl)
7150 (inputs
7151 `(("documentation-utils" ,sbcl-documentation-utils)))
7152 (synopsis "Utilities to destructure Common Lisp lambda forms")
7153 (description
7154 "Often times we need to destructure a form definition in a Common Lisp
7155 macro. This library provides a set of simple utilities to help with that.")
7156 (home-page "https://shinmera.github.io/form-fiddle/")
7157 (license license:zlib))))
7158
7159 (define-public cl-form-fiddle
7160 (sbcl-package->cl-source-package sbcl-form-fiddle))
7161
7162 (define-public ecl-form-fiddle
7163 (sbcl-package->ecl-package sbcl-form-fiddle))
7164
7165 (define-public sbcl-parachute
7166 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7167 (revision "0"))
7168 (package
7169 (name "sbcl-parachute")
7170 (version (git-version "1.1.1" revision commit))
7171 (source
7172 (origin
7173 (method git-fetch)
7174 (uri
7175 (git-reference
7176 (url "https://github.com/Shinmera/parachute")
7177 (commit commit)))
7178 (file-name (git-file-name name version))
7179 (sha256
7180 (base32
7181 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7182 (build-system asdf-build-system/sbcl)
7183 (inputs
7184 `(("documentation-utils" ,sbcl-documentation-utils)
7185 ("form-fiddle" ,sbcl-form-fiddle)))
7186 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7187 (description
7188 "Parachute is a simple-to-use and extensible testing framework.
7189 In Parachute, things are organised as a bunch of named tests within a package.
7190 Each test can contain a bunch of test forms that make up its body.")
7191 (home-page "https://shinmera.github.io/parachute/")
7192 (license license:zlib))))
7193
7194 (define-public cl-parachute
7195 (sbcl-package->cl-source-package sbcl-parachute))
7196
7197 (define-public ecl-parachute
7198 (sbcl-package->ecl-package sbcl-parachute))
7199
7200 (define-public sbcl-array-utils
7201 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7202 (revision "0"))
7203 (package
7204 (name "sbcl-array-utils")
7205 (version (git-version "1.1.1" revision commit))
7206 (source
7207 (origin
7208 (method git-fetch)
7209 (uri
7210 (git-reference
7211 (url "https://github.com/Shinmera/array-utils")
7212 (commit commit)))
7213 (file-name (git-file-name name version))
7214 (sha256
7215 (base32
7216 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7217 (build-system asdf-build-system/sbcl)
7218 (native-inputs
7219 `(("parachute" ,sbcl-parachute)))
7220 (inputs
7221 `(("documentation-utils" ,sbcl-documentation-utils)))
7222 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7223 (description
7224 "A miniature toolkit that contains some useful shifting/popping/pushing
7225 functions for arrays and vectors. Originally from Plump.")
7226 (home-page "https://shinmera.github.io/array-utils/")
7227 (license license:zlib))))
7228
7229 (define-public cl-array-utils
7230 (sbcl-package->cl-source-package sbcl-array-utils))
7231
7232 (define-public ecl-array-utils
7233 (sbcl-package->ecl-package sbcl-array-utils))
7234
7235 (define-public sbcl-plump
7236 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7237 (revision "1"))
7238 (package
7239 (name "sbcl-plump")
7240 (version (git-version "2.0.0" revision commit))
7241 (source
7242 (origin
7243 (method git-fetch)
7244 (uri
7245 (git-reference
7246 (url "https://github.com/Shinmera/plump")
7247 (commit commit)))
7248 (file-name (git-file-name name version))
7249 (sha256
7250 (base32
7251 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7252 (build-system asdf-build-system/sbcl)
7253 (inputs
7254 `(("array-utils" ,sbcl-array-utils)
7255 ("documentation-utils" ,sbcl-documentation-utils)))
7256 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7257 (description
7258 "Plump is a parser for HTML/XML-like documents, focusing on being
7259 lenient towards invalid markup. It can handle things like invalid attributes,
7260 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7261 tags and so on. It parses documents to a class representation and offers a
7262 small set of DOM functions to manipulate it. It can be extended to parse to
7263 your own classes.")
7264 (home-page "https://shinmera.github.io/plump/")
7265 (license license:zlib))))
7266
7267 (define-public cl-plump
7268 (sbcl-package->cl-source-package sbcl-plump))
7269
7270 (define-public ecl-plump
7271 (sbcl-package->ecl-package sbcl-plump))
7272
7273 ;;; Split the antik package in two to work around the circular dependency
7274 ;;; between antik/antik and antik/gsll.
7275 (define-public sbcl-antik-base
7276 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7277 (revision "1"))
7278 (package
7279 (name "sbcl-antik-base")
7280 (version (git-version "0.0.0" revision commit))
7281 (source
7282 (origin
7283 (method git-fetch)
7284 (uri (git-reference
7285 (url "https://gitlab.common-lisp.net/antik/antik.git")
7286 (commit commit)))
7287 (file-name (git-file-name name version))
7288 (sha256
7289 (base32
7290 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7291 (build-system asdf-build-system/sbcl)
7292 (inputs
7293 `(("alexandria" ,sbcl-alexandria)
7294 ("cffi" ,sbcl-cffi)
7295 ("cl-ppcre" ,sbcl-cl-ppcre)
7296 ("drakma" ,sbcl-drakma)
7297 ("fare-utils" ,sbcl-fare-utils)
7298 ("iterate" ,sbcl-iterate)
7299 ("metabang-bind" ,sbcl-metabang-bind)
7300 ("named-readtables" ,sbcl-named-readtables)
7301 ("split-sequence" ,sbcl-split-sequence)
7302 ("static-vectors" ,sbcl-static-vectors)
7303 ("trivial-garbage" ,sbcl-trivial-garbage)
7304 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7305 (native-inputs
7306 `(("lisp-unit" ,sbcl-lisp-unit)))
7307 (arguments
7308 '(#:asd-systems '("antik-base"
7309 "foreign-array")
7310 #:phases
7311 (modify-phases %standard-phases
7312 (add-after 'unpack 'fix-build
7313 (lambda _
7314 (for-each delete-file
7315 '("antik.asd"
7316 "physical-dimension.asd"
7317 "science-data.asd"))
7318 #t)))))
7319 (synopsis "Scientific and engineering computation in Common Lisp")
7320 (description
7321 "Antik provides a foundation for scientific and engineering
7322 computation in Common Lisp. It is designed not only to facilitate
7323 numerical computations, but to permit the use of numerical computation
7324 libraries and the interchange of data and procedures, whether
7325 foreign (non-Lisp) or Lisp libraries. It is named after the
7326 Antikythera mechanism, one of the oldest examples of a scientific
7327 computer known.")
7328 (home-page "https://common-lisp.net/project/antik/")
7329 (license license:gpl3))))
7330
7331 (define-public cl-antik-base
7332 (sbcl-package->cl-source-package sbcl-antik-base))
7333
7334 (define-public ecl-antik-base
7335 (let ((pkg (sbcl-package->ecl-package sbcl-antik-base)))
7336 (package
7337 (inherit pkg)
7338 (arguments
7339 (substitute-keyword-arguments (package-arguments pkg)
7340 ((#:phases phases)
7341 `(modify-phases ,phases
7342 (add-after 'unpack 'fix-readtable
7343 (lambda _
7344 (substitute* "input-output/readtable.lisp"
7345 (("#-ccl")
7346 "#-(or ccl ecl)"))
7347 #t)))))))))
7348
7349 (define-public sbcl-gsll
7350 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7351 (revision "1"))
7352 (package
7353 (name "sbcl-gsll")
7354 (version (git-version "0.0.0" revision commit))
7355 (source
7356 (origin
7357 (method git-fetch)
7358 (uri (git-reference
7359 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7360 (commit commit)))
7361 (file-name (git-file-name name version))
7362 (sha256
7363 (base32
7364 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7365 (build-system asdf-build-system/sbcl)
7366 (native-inputs
7367 `(("lisp-unit" ,sbcl-lisp-unit)))
7368 (inputs
7369 `(("alexandria" ,sbcl-alexandria)
7370 ("antik-base" ,sbcl-antik-base)
7371 ("cffi" ,sbcl-cffi)
7372 ("gsl" ,gsl)
7373 ("metabang-bind" ,sbcl-metabang-bind)
7374 ("trivial-features" ,sbcl-trivial-features)
7375 ("trivial-garbage" ,sbcl-trivial-garbage)))
7376 (arguments
7377 `(#:tests? #f
7378 #:phases
7379 (modify-phases %standard-phases
7380 (add-after 'unpack 'fix-cffi-paths
7381 (lambda* (#:key inputs #:allow-other-keys)
7382 (substitute* "gsll.asd"
7383 ((":depends-on \\(#:foreign-array")
7384 ":depends-on (#:foreign-array #:cffi-libffi"))
7385 (substitute* "init/init.lisp"
7386 (("libgslcblas.so" all)
7387 (string-append
7388 (assoc-ref inputs "gsl") "/lib/" all)))
7389 (substitute* "init/init.lisp"
7390 (("libgsl.so" all)
7391 (string-append
7392 (assoc-ref inputs "gsl") "/lib/" all))))))))
7393 (synopsis "GNU Scientific Library for Lisp")
7394 (description
7395 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7396 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7397 full range of common mathematical operations useful to scientific and
7398 engineering applications. The design of the GSLL interface is such
7399 that access to most of the GSL library is possible in a Lisp-natural
7400 way; the intent is that the user not be hampered by the restrictions
7401 of the C language in which GSL has been written. GSLL thus provides
7402 interactive use of GSL for getting quick answers, even for someone not
7403 intending to program in Lisp.")
7404 (home-page "https://common-lisp.net/project/gsll/")
7405 (license license:gpl3))))
7406
7407 (define-public cl-gsll
7408 (sbcl-package->cl-source-package sbcl-gsll))
7409
7410 (define-public ecl-gsll
7411 (sbcl-package->ecl-package sbcl-gsll))
7412
7413 (define-public sbcl-antik
7414 (package
7415 (inherit sbcl-antik-base)
7416 (name "sbcl-antik")
7417 (inputs
7418 `(("antik-base" ,sbcl-antik-base)
7419 ("gsll" ,sbcl-gsll)))
7420 (arguments
7421 '(#:asd-systems '("antik"
7422 "science-data")
7423 #:phases
7424 (modify-phases %standard-phases
7425 (add-after 'unpack 'fix-build
7426 (lambda _
7427 (for-each delete-file
7428 '("antik-base.asd"
7429 "foreign-array.asd"))
7430 #t)))))))
7431
7432 (define-public cl-antik
7433 (sbcl-package->cl-source-package sbcl-antik))
7434
7435 (define-public sbcl-cl-interpol
7436 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7437 (revision "1"))
7438 (package
7439 (name "sbcl-cl-interpol")
7440 (version (git-version "0.2.6" revision commit))
7441 (source
7442 (origin
7443 (method git-fetch)
7444 (uri (git-reference
7445 (url "https://github.com/edicl/cl-interpol")
7446 (commit commit)))
7447 (file-name (git-file-name name version))
7448 (sha256
7449 (base32
7450 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7451 (build-system asdf-build-system/sbcl)
7452 (inputs
7453 `(("cl-unicode" ,sbcl-cl-unicode)
7454 ("named-readtables" ,sbcl-named-readtables)))
7455 (native-inputs
7456 `(("flexi-streams" ,sbcl-flexi-streams)))
7457 (synopsis "String interpolation for Common Lisp")
7458 (description
7459 "CL-INTERPOL is a library for Common Lisp which modifies the
7460 reader so that you can have interpolation within strings similar to
7461 Perl or Unix Shell scripts. It also provides various ways to insert
7462 arbitrary characters into literal strings even if your editor/IDE
7463 doesn't support them.")
7464 (home-page "https://edicl.github.io/cl-interpol/")
7465 (license license:bsd-3))))
7466
7467 (define-public cl-interpol
7468 (sbcl-package->cl-source-package sbcl-cl-interpol))
7469
7470 (define-public ecl-cl-interpol
7471 (sbcl-package->ecl-package sbcl-cl-interpol))
7472
7473 (define-public sbcl-symbol-munger
7474 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7475 (revision "1"))
7476 (package
7477 (name "sbcl-symbol-munger")
7478 (version (git-version "0.0.1" revision commit))
7479 (source
7480 (origin
7481 (method git-fetch)
7482 (uri (git-reference
7483 (url "https://github.com/AccelerationNet/symbol-munger")
7484 (commit commit)))
7485 (file-name (git-file-name name version))
7486 (sha256
7487 (base32
7488 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7489 (build-system asdf-build-system/sbcl)
7490 (inputs
7491 `(("alexandria" ,sbcl-alexandria)
7492 ("iterate" ,sbcl-iterate)))
7493 (arguments
7494 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7495 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7496 '(#:tests? #f))
7497 (synopsis
7498 "Capitalization and spacing conversion functions for Common Lisp")
7499 (description
7500 "This is a Common Lisp library to change the capitalization and spacing
7501 of a string or a symbol. It can convert to and from Lisp, english, underscore
7502 and camel-case rules.")
7503 (home-page "https://github.com/AccelerationNet/symbol-munger")
7504 ;; The package declares a BSD license, but all of the license
7505 ;; text is MIT.
7506 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7507 (license license:expat))))
7508
7509 (define-public cl-symbol-munger
7510 (sbcl-package->cl-source-package sbcl-symbol-munger))
7511
7512 (define-public ecl-symbol-munger
7513 (sbcl-package->ecl-package sbcl-symbol-munger))
7514
7515 (define-public sbcl-lisp-unit2
7516 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7517 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7518 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7519 (revision "1"))
7520 (package
7521 (name "sbcl-lisp-unit2")
7522 (version (git-version "0.2.0" revision commit))
7523 (source
7524 (origin
7525 (method git-fetch)
7526 (uri (git-reference
7527 (url "https://github.com/AccelerationNet/lisp-unit2")
7528 (commit commit)))
7529 (file-name (git-file-name name version))
7530 (sha256
7531 (base32
7532 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7533 (build-system asdf-build-system/sbcl)
7534 (inputs
7535 `(("alexandria" ,sbcl-alexandria)
7536 ("cl-interpol" ,sbcl-cl-interpol)
7537 ("iterate" ,sbcl-iterate)
7538 ("symbol-munger" ,sbcl-symbol-munger)))
7539 (synopsis "Test Framework for Common Lisp")
7540 (description
7541 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7542 style of JUnit for Java. It is a new version of the lisp-unit library written
7543 by Chris Riesbeck.")
7544 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7545 (license license:expat))))
7546
7547 (define-public cl-lisp-unit2
7548 (sbcl-package->cl-source-package sbcl-lisp-unit2))
7549
7550 (define-public ecl-lisp-unit2
7551 (sbcl-package->ecl-package sbcl-lisp-unit2))
7552
7553 (define-public sbcl-cl-csv
7554 (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
7555 (revision "2"))
7556 (package
7557 (name "sbcl-cl-csv")
7558 (version (git-version "1.0.6" revision commit))
7559 (source
7560 (origin
7561 (method git-fetch)
7562 (uri (git-reference
7563 (url "https://github.com/AccelerationNet/cl-csv")
7564 (commit commit)))
7565 (file-name (git-file-name name version))
7566 (sha256
7567 (base32
7568 "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
7569 (build-system asdf-build-system/sbcl)
7570 (arguments
7571 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
7572 `(#:tests? #f))
7573 (inputs
7574 `(("alexandria" ,sbcl-alexandria)
7575 ("cl-interpol" ,sbcl-cl-interpol)
7576 ("iterate" ,sbcl-iterate)))
7577 (native-inputs
7578 `(("lisp-unit2" ,sbcl-lisp-unit2)))
7579 (synopsis "Common lisp library for comma-separated values")
7580 (description
7581 "This is a Common Lisp library providing functions to read/write CSV
7582 from/to strings, streams and files.")
7583 (home-page "https://github.com/AccelerationNet/cl-csv")
7584 (license license:bsd-3))))
7585
7586 (define-public cl-csv
7587 (sbcl-package->cl-source-package sbcl-cl-csv))
7588
7589 (define-public ecl-cl-csv
7590 (sbcl-package->ecl-package sbcl-cl-csv))
7591
7592 (define-public sbcl-external-program
7593 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
7594 (revision "1"))
7595 (package
7596 (name "sbcl-external-program")
7597 (version (git-version "0.0.6" revision commit))
7598 (source
7599 (origin
7600 (method git-fetch)
7601 (uri (git-reference
7602 (url "https://github.com/sellout/external-program")
7603 (commit commit)))
7604 (file-name (git-file-name name version))
7605 (sha256
7606 (base32
7607 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
7608 (build-system asdf-build-system/sbcl)
7609 (inputs
7610 `(("trivial-features" ,sbcl-trivial-features)))
7611 (native-inputs
7612 `(("fiveam" ,sbcl-fiveam)))
7613 (synopsis "Common Lisp library for running external programs")
7614 (description
7615 "EXTERNAL-PROGRAM enables running programs outside the Lisp
7616 process. It is an attempt to make the RUN-PROGRAM functionality in
7617 implementations like SBCL and CCL as portable as possible without
7618 sacrificing much in the way of power.")
7619 (home-page "https://github.com/sellout/external-program")
7620 (license license:llgpl))))
7621
7622 (define-public cl-external-program
7623 (sbcl-package->cl-source-package sbcl-external-program))
7624
7625 (define-public ecl-external-program
7626 (sbcl-package->ecl-package sbcl-external-program))
7627
7628 (define-public sbcl-cl-ana
7629 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
7630 (revision "1"))
7631 (package
7632 (name "sbcl-cl-ana")
7633 (version (git-version "0.0.0" revision commit))
7634 (source
7635 (origin
7636 (method git-fetch)
7637 (uri (git-reference
7638 (url "https://github.com/ghollisjr/cl-ana")
7639 (commit commit)))
7640 (file-name (git-file-name name version))
7641 (sha256
7642 (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
7643 (build-system asdf-build-system/sbcl)
7644 (native-inputs
7645 `(("cl-fad" ,sbcl-cl-fad)))
7646 (inputs
7647 `(("alexandria" ,sbcl-alexandria)
7648 ("antik" ,sbcl-antik)
7649 ("cffi" ,sbcl-cffi)
7650 ("cl-csv" ,sbcl-cl-csv)
7651 ("closer-mop" ,sbcl-closer-mop)
7652 ("external-program" ,sbcl-external-program)
7653 ("gsl" ,gsl)
7654 ("gsll" ,sbcl-gsll)
7655 ("hdf5" ,hdf5-parallel-openmpi)
7656 ("iterate" ,sbcl-iterate)
7657 ("libffi" ,libffi)
7658 ("split-sequence" ,sbcl-split-sequence)))
7659 (arguments
7660 `(#:phases
7661 (modify-phases %standard-phases
7662 (add-after 'unpack 'fix-paths
7663 (lambda* (#:key inputs #:allow-other-keys)
7664 (substitute* "hdf-cffi/hdf-cffi.lisp"
7665 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
7666 (string-append (assoc-ref inputs "hdf5")
7667 "/lib/libhdf5.so")))
7668 (substitute* "gsl-cffi/gsl-cffi.lisp"
7669 (("define-foreign-library gsl-cffi" all)
7670 (string-append all " (:unix "
7671 (assoc-ref inputs "gsl")
7672 "/lib/libgsl.so)")))
7673 #t)))))
7674 (synopsis "Common Lisp data analysis library")
7675 (description
7676 "CL-ANA is a data analysis library in Common Lisp providing tabular and
7677 binned data analysis along with nonlinear least squares fitting and
7678 visualization.")
7679 (home-page "https://github.com/ghollisjr/cl-ana")
7680 (license license:gpl3))))
7681
7682 (define-public cl-ana
7683 (sbcl-package->cl-source-package sbcl-cl-ana))
7684
7685 (define-public sbcl-archive
7686 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
7687 (revision "1"))
7688 (package
7689 (name "sbcl-archive")
7690 (version (git-version "0.9" revision commit))
7691 (source (origin
7692 (method git-fetch)
7693 (uri (git-reference
7694 (url "https://github.com/sharplispers/archive")
7695 (commit commit)))
7696 (file-name (git-file-name name version))
7697 (sha256
7698 (base32
7699 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
7700 (build-system asdf-build-system/sbcl)
7701 (inputs
7702 `(("cl-fad" ,sbcl-cl-fad)
7703 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7704 (synopsis "Common Lisp library for tar and cpio archives")
7705 (description
7706 "This is a Common Lisp library to read and write disk-based file
7707 archives such as those generated by the tar and cpio programs on Unix.")
7708 (home-page "https://github.com/sharplispers/archive")
7709 (license license:bsd-3))))
7710
7711 (define-public cl-archive
7712 (sbcl-package->cl-source-package sbcl-archive))
7713
7714 (define-public ecl-archive
7715 (sbcl-package->ecl-package sbcl-archive))
7716
7717 (define-public sbcl-misc-extensions
7718 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
7719 (revision "1"))
7720 (package
7721 (name "sbcl-misc-extensions")
7722 (version (git-version "3.3" revision commit))
7723 (source
7724 (origin
7725 (method git-fetch)
7726 (uri (git-reference
7727 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
7728 (commit commit)))
7729 (file-name (git-file-name name version))
7730 (sha256
7731 (base32
7732 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
7733 (build-system asdf-build-system/sbcl)
7734 (synopsis "Collection of small macros and extensions for Common Lisp")
7735 (description
7736 "This project is intended as a catchall for small, general-purpose
7737 extensions to Common Lisp. It contains:
7738
7739 @itemize
7740 @item @code{new-let}, a macro that combines and generalizes @code{let},
7741 @code{let*} and @code{multiple-value-bind},
7742 @item @code{gmap}, an iteration macro that generalizes @code{map}.
7743 @end itemize\n")
7744 (home-page "https://common-lisp.net/project/misc-extensions/")
7745 (license license:public-domain))))
7746
7747 (define-public cl-misc-extensions
7748 (sbcl-package->cl-source-package sbcl-misc-extensions))
7749
7750 (define-public ecl-misc-extensions
7751 (sbcl-package->ecl-package sbcl-misc-extensions))
7752
7753 (define-public sbcl-mt19937
7754 (package
7755 (name "sbcl-mt19937")
7756 (version "1.1")
7757 (source
7758 (origin
7759 (method url-fetch)
7760 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
7761 "mt19937-latest.tar.gz"))
7762 (sha256
7763 (base32
7764 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
7765 (build-system asdf-build-system/sbcl)
7766 (synopsis "Mersenne Twister pseudo-random number generator")
7767 (description
7768 "MT19937 is a portable Mersenne Twister pseudo-random number generator
7769 for Common Lisp.")
7770 (home-page "https://www.cliki.net/mt19937")
7771 (license license:public-domain)))
7772
7773 (define-public cl-mt19937
7774 (sbcl-package->cl-source-package sbcl-mt19937))
7775
7776 (define-public ecl-mt19937
7777 (sbcl-package->ecl-package sbcl-mt19937))
7778
7779 (define-public sbcl-fset
7780 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
7781 (revision "1"))
7782 (package
7783 (name "sbcl-fset")
7784 (version (git-version "1.3.2" revision commit))
7785 (source
7786 (origin
7787 (method git-fetch)
7788 (uri (git-reference
7789 (url "https://github.com/slburson/fset")
7790 (commit commit)))
7791 (file-name (git-file-name name version))
7792 (sha256
7793 (base32
7794 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
7795 (snippet '(begin
7796 ;; Remove obsolete copy of system definition.
7797 (delete-file "Code/fset.asd")
7798 #t))))
7799 (build-system asdf-build-system/sbcl)
7800 (inputs
7801 `(("misc-extensions" ,sbcl-misc-extensions)
7802 ("mt19937" ,sbcl-mt19937)
7803 ("named-readtables" ,sbcl-named-readtables)))
7804 (synopsis "Functional set-theoretic collections library")
7805 (description
7806 "FSet is a functional set-theoretic collections library for Common Lisp.
7807 Functional means that all update operations return a new collection rather than
7808 modifying an existing one in place. Set-theoretic means that collections may
7809 be nested arbitrarily with no additional programmer effort; for instance, sets
7810 may contain sets, maps may be keyed by sets, etc.")
7811 (home-page "https://common-lisp.net/project/fset/Site/index.html")
7812 (license license:llgpl))))
7813
7814 (define-public cl-fset
7815 (sbcl-package->cl-source-package sbcl-fset))
7816
7817 (define-public ecl-fset
7818 (package
7819 (inherit (sbcl-package->ecl-package sbcl-fset))
7820 (arguments
7821 ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined".
7822 '(#:tests? #f))))
7823
7824 (define-public sbcl-cl-cont
7825 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
7826 (revision "1"))
7827 (package
7828 (name "sbcl-cl-cont")
7829 (version (git-version "0.3.8" revision commit))
7830 (source
7831 (origin
7832 (method git-fetch)
7833 (uri (git-reference
7834 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
7835 (commit commit)))
7836 (file-name (git-file-name name version))
7837 (sha256
7838 (base32
7839 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
7840 (build-system asdf-build-system/sbcl)
7841 (inputs
7842 `(("alexandria" ,sbcl-alexandria)
7843 ("closer-mop" ,sbcl-closer-mop)))
7844 (native-inputs
7845 `(("rt" ,sbcl-rt)))
7846 (synopsis "Delimited continuations for Common Lisp")
7847 (description
7848 "This is a library that implements delimited continuations by
7849 transforming Common Lisp code to continuation passing style.")
7850 (home-page "https://common-lisp.net/project/cl-cont/")
7851 (license license:llgpl))))
7852
7853 (define-public cl-cont
7854 (sbcl-package->cl-source-package sbcl-cl-cont))
7855
7856 (define-public ecl-cl-cont
7857 (sbcl-package->ecl-package sbcl-cl-cont))
7858
7859 (define-public sbcl-cl-coroutine
7860 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
7861 (revision "1"))
7862 (package
7863 (name "sbcl-cl-coroutine")
7864 (version (git-version "0.1" revision commit))
7865 (source
7866 (origin
7867 (method git-fetch)
7868 (uri (git-reference
7869 (url "https://github.com/takagi/cl-coroutine")
7870 (commit commit)))
7871 (file-name (git-file-name name version))
7872 (sha256
7873 (base32
7874 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
7875 (build-system asdf-build-system/sbcl)
7876 (inputs
7877 `(("alexandria" ,sbcl-alexandria)
7878 ("cl-cont" ,sbcl-cl-cont)))
7879 (native-inputs
7880 `(("prove" ,sbcl-prove)))
7881 (arguments
7882 `(;; TODO: Fix the tests. They fail with:
7883 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
7884 #:tests? #f
7885 #:phases
7886 (modify-phases %standard-phases
7887 (add-after 'unpack 'fix-tests
7888 (lambda _
7889 (substitute* "cl-coroutine-test.asd"
7890 (("cl-test-more")
7891 "prove"))
7892 #t)))))
7893 (synopsis "Coroutine library for Common Lisp")
7894 (description
7895 "This is a coroutine library for Common Lisp implemented using the
7896 continuations of the @code{cl-cont} library.")
7897 (home-page "https://github.com/takagi/cl-coroutine")
7898 (license license:llgpl))))
7899
7900 (define-public cl-coroutine
7901 (sbcl-package->cl-source-package sbcl-cl-coroutine))
7902
7903 (define-public ecl-cl-coroutine
7904 (sbcl-package->ecl-package sbcl-cl-coroutine))
7905
7906 (define-public sbcl-vom
7907 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
7908 (revision "1"))
7909 (package
7910 (name "sbcl-vom")
7911 (version (git-version "0.1.4" revision commit))
7912 (source
7913 (origin
7914 (method git-fetch)
7915 (uri (git-reference
7916 (url "https://github.com/orthecreedence/vom")
7917 (commit commit)))
7918 (file-name (git-file-name name version))
7919 (sha256
7920 (base32
7921 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
7922 (build-system asdf-build-system/sbcl)
7923 (synopsis "Tiny logging utility for Common Lisp")
7924 (description
7925 "Vom is a logging library for Common Lisp. It's goal is to be useful
7926 and small. It does not provide a lot of features as other loggers do, but
7927 has a small codebase that's easy to understand and use.")
7928 (home-page "https://github.com/orthecreedence/vom")
7929 (license license:expat))))
7930
7931 (define-public cl-vom
7932 (sbcl-package->cl-source-package sbcl-vom))
7933
7934 (define-public ecl-vom
7935 (sbcl-package->ecl-package sbcl-vom))
7936
7937 (define-public sbcl-cl-libuv
7938 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
7939 (revision "1"))
7940 (package
7941 (name "sbcl-cl-libuv")
7942 (version (git-version "0.1.6" revision commit))
7943 (source
7944 (origin
7945 (method git-fetch)
7946 (uri (git-reference
7947 (url "https://github.com/orthecreedence/cl-libuv")
7948 (commit commit)))
7949 (file-name (git-file-name name version))
7950 (sha256
7951 (base32
7952 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
7953 (build-system asdf-build-system/sbcl)
7954 (inputs
7955 `(("alexandria" ,sbcl-alexandria)
7956 ("cffi" ,sbcl-cffi)
7957 ("libuv" ,libuv)))
7958 (arguments
7959 `(#:phases
7960 (modify-phases %standard-phases
7961 (add-after 'unpack 'fix-paths
7962 (lambda* (#:key inputs #:allow-other-keys)
7963 (substitute* "lib.lisp"
7964 (("/usr/lib/libuv.so")
7965 (string-append (assoc-ref inputs "libuv")
7966 "/lib/libuv.so")))
7967 #t))
7968 (add-after 'fix-paths 'fix-system-definition
7969 (lambda _
7970 (substitute* "cl-libuv.asd"
7971 (("#:cffi #:alexandria")
7972 "#:cffi #:cffi-grovel #:alexandria"))
7973 #t)))))
7974 (synopsis "Common Lisp bindings to libuv")
7975 (description
7976 "This library provides low-level libuv bindings for Common Lisp.")
7977 (home-page "https://github.com/orthecreedence/cl-libuv")
7978 (license license:expat))))
7979
7980 (define-public cl-libuv
7981 (sbcl-package->cl-source-package sbcl-cl-libuv))
7982
7983 (define-public ecl-cl-libuv
7984 (sbcl-package->ecl-package sbcl-cl-libuv))
7985
7986 (define-public sbcl-cl-async
7987 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
7988 (revision "1"))
7989 (package
7990 (name "sbcl-cl-async")
7991 (version (git-version "0.6.1" revision commit))
7992 (source
7993 (origin
7994 (method git-fetch)
7995 (uri (git-reference
7996 (url "https://github.com/orthecreedence/cl-async")
7997 (commit commit)))
7998 (file-name (git-file-name name version))
7999 (sha256
8000 (base32
8001 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
8002 (build-system asdf-build-system/sbcl)
8003 (inputs
8004 `(("babel" ,sbcl-babel)
8005 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8006 ("cffi" ,sbcl-cffi)
8007 ("cl-libuv" ,sbcl-cl-libuv)
8008 ("cl-ppcre" ,sbcl-cl-ppcre)
8009 ("fast-io" ,sbcl-fast-io)
8010 ("openssl" ,openssl)
8011 ("static-vectors" ,sbcl-static-vectors)
8012 ("trivial-features" ,sbcl-trivial-features)
8013 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
8014 ("vom" ,sbcl-vom)))
8015 (arguments
8016 `(#:asd-systems '("cl-async"
8017 "cl-async-repl"
8018 "cl-async-ssl")
8019 #:phases
8020 (modify-phases %standard-phases
8021 (add-after 'unpack 'fix-paths
8022 (lambda* (#:key inputs #:allow-other-keys)
8023 (substitute* "src/ssl/package.lisp"
8024 (("libcrypto\\.so")
8025 (string-append (assoc-ref inputs "openssl")
8026 "/lib/libcrypto.so"))
8027 (("libssl\\.so")
8028 (string-append (assoc-ref inputs "openssl")
8029 "/lib/libssl.so")))
8030 #t)))))
8031 (synopsis "Asynchronous operations for Common Lisp")
8032 (description
8033 "Cl-async is a library for general purpose, non-blocking programming in
8034 Common Lisp. It uses the libuv library as backend.")
8035 (home-page "https://orthecreedence.github.io/cl-async/")
8036 (license license:expat))))
8037
8038 (define-public cl-async
8039 (sbcl-package->cl-source-package sbcl-cl-async))
8040
8041 (define-public ecl-cl-async
8042 (sbcl-package->ecl-package sbcl-cl-async))
8043
8044 (define-public sbcl-blackbird
8045 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
8046 (revision "1"))
8047 (package
8048 (name "sbcl-blackbird")
8049 (version (git-version "0.5.2" revision commit))
8050 (source
8051 (origin
8052 (method git-fetch)
8053 (uri (git-reference
8054 (url "https://github.com/orthecreedence/blackbird")
8055 (commit commit)))
8056 (file-name (git-file-name name version))
8057 (sha256
8058 (base32
8059 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
8060 (build-system asdf-build-system/sbcl)
8061 (inputs
8062 `(("vom" ,sbcl-vom)))
8063 (native-inputs
8064 `(("cl-async" ,sbcl-cl-async)
8065 ("fiveam" ,sbcl-fiveam)))
8066 (synopsis "Promise implementation for Common Lisp")
8067 (description
8068 "This is a standalone promise implementation for Common Lisp. It is
8069 the successor to the now-deprecated cl-async-future project.")
8070 (home-page "https://orthecreedence.github.io/blackbird/")
8071 (license license:expat))))
8072
8073 (define-public cl-blackbird
8074 (sbcl-package->cl-source-package sbcl-blackbird))
8075
8076 (define-public ecl-blackbird
8077 (sbcl-package->ecl-package sbcl-blackbird))
8078
8079 (define-public sbcl-cl-async-future
8080 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
8081 (revision "1"))
8082 (package
8083 (name "sbcl-cl-async-future")
8084 (version (git-version "0.4.4.1" revision commit))
8085 (source
8086 (origin
8087 (method git-fetch)
8088 (uri (git-reference
8089 (url "https://github.com/orthecreedence/cl-async-future")
8090 (commit commit)))
8091 (file-name (git-file-name name version))
8092 (sha256
8093 (base32
8094 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
8095 (build-system asdf-build-system/sbcl)
8096 (inputs
8097 `(("blackbird" ,sbcl-blackbird)))
8098 (native-inputs
8099 `(("cl-async" ,sbcl-cl-async)
8100 ("eos" ,sbcl-eos)))
8101 (synopsis "Futures implementation for Common Lisp")
8102 (description
8103 "This is futures implementation for Common Lisp. It plugs in nicely
8104 to cl-async.")
8105 (home-page "https://orthecreedence.github.io/cl-async/future")
8106 (license license:expat))))
8107
8108 (define-public cl-async-future
8109 (sbcl-package->cl-source-package sbcl-cl-async-future))
8110
8111 (define-public ecl-cl-async-future
8112 (sbcl-package->ecl-package sbcl-cl-async-future))
8113
8114 (define-public sbcl-green-threads
8115 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
8116 (revision "1"))
8117 (package
8118 (name "sbcl-green-threads")
8119 (version (git-version "0.3" revision commit))
8120 (source
8121 (origin
8122 (method git-fetch)
8123 (uri (git-reference
8124 (url "https://github.com/thezerobit/green-threads")
8125 (commit commit)))
8126 (file-name (git-file-name name version))
8127 (sha256
8128 (base32
8129 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
8130 (build-system asdf-build-system/sbcl)
8131 (inputs
8132 `(("cl-async-future" ,sbcl-cl-async-future)
8133 ("cl-cont" ,sbcl-cl-cont)))
8134 (native-inputs
8135 `(("prove" ,sbcl-prove)))
8136 (arguments
8137 `(;; TODO: Fix the tests. They fail with:
8138 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
8139 #:tests? #f
8140 #:phases
8141 (modify-phases %standard-phases
8142 (add-after 'unpack 'fix-tests
8143 (lambda _
8144 (substitute* "green-threads-test.asd"
8145 (("cl-test-more")
8146 "prove"))
8147 #t)))))
8148 (synopsis "Cooperative multitasking library for Common Lisp")
8149 (description
8150 "This library allows for cooperative multitasking with help of cl-cont
8151 for continuations. It tries to mimic the API of bordeaux-threads as much as
8152 possible.")
8153 (home-page "https://github.com/thezerobit/green-threads")
8154 (license license:bsd-3))))
8155
8156 (define-public cl-green-threads
8157 (sbcl-package->cl-source-package sbcl-green-threads))
8158
8159 (define-public ecl-green-threads
8160 (sbcl-package->ecl-package sbcl-green-threads))
8161
8162 (define-public sbcl-cl-base32
8163 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
8164 (revision "1"))
8165 (package
8166 (name "sbcl-cl-base32")
8167 (version (git-version "0.1" revision commit))
8168 (source
8169 (origin
8170 (method git-fetch)
8171 (uri (git-reference
8172 (url "https://github.com/hargettp/cl-base32")
8173 (commit commit)))
8174 (file-name (git-file-name name version))
8175 (sha256
8176 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
8177 (build-system asdf-build-system/sbcl)
8178 (native-inputs
8179 `(("lisp-unit" ,sbcl-lisp-unit)))
8180 (synopsis "Common Lisp library for base32 encoding and decoding")
8181 (description
8182 "This package provides functions for base32 encoding and decoding as
8183 defined in RFC4648.")
8184 (home-page "https://github.com/hargettp/cl-base32")
8185 (license license:expat))))
8186
8187 (define-public cl-base32
8188 (sbcl-package->cl-source-package sbcl-cl-base32))
8189
8190 (define-public ecl-cl-base32
8191 (sbcl-package->ecl-package sbcl-cl-base32))
8192
8193 (define-public sbcl-cl-z85
8194 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
8195 (revision "1"))
8196 (package
8197 (name "sbcl-cl-z85")
8198 (version (git-version "1.0" revision commit))
8199 (source
8200 (origin
8201 (method git-fetch)
8202 (uri (git-reference
8203 (url "https://github.com/glv2/cl-z85")
8204 (commit commit)))
8205 (file-name (git-file-name name version))
8206 (sha256
8207 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
8208 (build-system asdf-build-system/sbcl)
8209 (native-inputs
8210 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
8211 ("fiveam" ,sbcl-fiveam)))
8212 (synopsis "Common Lisp library for Z85 encoding and decoding")
8213 (description
8214 "This package provides functions to encode or decode byte vectors or
8215 byte streams using the Z85 format, which is a base-85 encoding used by
8216 ZeroMQ.")
8217 (home-page "https://github.com/glv2/cl-z85")
8218 (license license:gpl3+))))
8219
8220 (define-public cl-z85
8221 (sbcl-package->cl-source-package sbcl-cl-z85))
8222
8223 (define-public ecl-cl-z85
8224 (sbcl-package->ecl-package sbcl-cl-z85))
8225
8226 (define-public sbcl-ltk
8227 (package
8228 (name "sbcl-ltk")
8229 (version "0.992")
8230 (source
8231 (origin
8232 (method git-fetch)
8233 (uri (git-reference
8234 (url "https://github.com/herth/ltk")
8235 (commit version)))
8236 (file-name (git-file-name name version))
8237 (sha256
8238 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
8239 (build-system asdf-build-system/sbcl)
8240 (inputs
8241 `(("imagemagick" ,imagemagick)
8242 ("tk" ,tk)))
8243 (arguments
8244 `(#:asd-systems '("ltk"
8245 "ltk-mw"
8246 "ltk-remote")
8247 #:tests? #f
8248 #:phases
8249 (modify-phases %standard-phases
8250 (add-after 'unpack 'fix-paths
8251 (lambda* (#:key inputs #:allow-other-keys)
8252 (substitute* "ltk/ltk.lisp"
8253 (("#-freebsd \"wish\"")
8254 (string-append "#-freebsd \""
8255 (assoc-ref inputs "tk")
8256 "/bin/wish\""))
8257 (("do-execute \"convert\"")
8258 (string-append "do-execute \""
8259 (assoc-ref inputs "imagemagick")
8260 "/bin/convert\"")))
8261 #t))
8262 (add-after 'unpack 'fix-build
8263 (lambda _
8264 (substitute* "ltk/ltk-remote.lisp"
8265 (("\\(:export")
8266 "(:shadow #:raise) (:export"))
8267 #t)))))
8268 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8269 (description
8270 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
8271 in pure Common Lisp and does not require any Tk knowledge for its usage.")
8272 (home-page "http://www.peter-herth.de/ltk/")
8273 (license license:llgpl)))
8274
8275 (define-public cl-ltk
8276 (sbcl-package->cl-source-package sbcl-ltk))
8277
8278 (define-public ecl-ltk
8279 (sbcl-package->ecl-package sbcl-ltk))
8280
8281 (define-public sbcl-cl-lex
8282 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
8283 (revision "1"))
8284 (package
8285 (name "sbcl-cl-lex")
8286 (version (git-version "1.1.3" revision commit))
8287 (source
8288 (origin
8289 (method git-fetch)
8290 (uri (git-reference
8291 (url "https://github.com/djr7C4/cl-lex")
8292 (commit commit)))
8293 (file-name (git-file-name name version))
8294 (sha256
8295 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
8296 (build-system asdf-build-system/sbcl)
8297 (inputs
8298 `(("cl-ppcre" ,sbcl-cl-ppcre)))
8299 (synopsis "Common Lisp macros for generating lexical analyzers")
8300 (description
8301 "This is a Common Lisp library providing a set of macros for generating
8302 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
8303 be used with @code{cl-yacc}.")
8304 (home-page "https://github.com/djr7C4/cl-lex")
8305 (license license:gpl3))))
8306
8307 (define-public cl-lex
8308 (sbcl-package->cl-source-package sbcl-cl-lex))
8309
8310 (define-public ecl-cl-lex
8311 (sbcl-package->ecl-package sbcl-cl-lex))
8312
8313 (define-public sbcl-clunit2
8314 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
8315 (revision "1"))
8316 (package
8317 (name "sbcl-clunit2")
8318 (version (git-version "0.2.4" revision commit))
8319 (source
8320 (origin
8321 (method git-fetch)
8322 (uri (git-reference
8323 (url "https://notabug.org/cage/clunit2.git")
8324 (commit commit)))
8325 (file-name (git-file-name name version))
8326 (sha256
8327 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
8328 (build-system asdf-build-system/sbcl)
8329 (synopsis "Unit testing framework for Common Lisp")
8330 (description
8331 "CLUnit is a Common Lisp unit testing framework. It is designed to be
8332 easy to use so that you can quickly start testing.")
8333 (home-page "https://notabug.org/cage/clunit2")
8334 (license license:expat))))
8335
8336 (define-public cl-clunit2
8337 (sbcl-package->cl-source-package sbcl-clunit2))
8338
8339 (define-public ecl-clunit2
8340 (sbcl-package->ecl-package sbcl-clunit2))
8341
8342 (define-public sbcl-cl-colors2
8343 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
8344 (revision "1"))
8345 (package
8346 (name "sbcl-cl-colors2")
8347 (version (git-version "0.2.1" revision commit))
8348 (source
8349 (origin
8350 (method git-fetch)
8351 (uri (git-reference
8352 (url "https://notabug.org/cage/cl-colors2.git")
8353 (commit commit)))
8354 (file-name (git-file-name name version))
8355 (sha256
8356 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
8357 (build-system asdf-build-system/sbcl)
8358 (native-inputs
8359 `(("clunit2" ,sbcl-clunit2)))
8360 (inputs
8361 `(("alexandria" ,sbcl-alexandria)
8362 ("cl-ppcre" ,sbcl-cl-ppcre)))
8363 (synopsis "Color library for Common Lisp")
8364 (description
8365 "This is a very simple color library for Common Lisp, providing:
8366
8367 @itemize
8368 @item Types for representing colors in HSV and RGB spaces.
8369 @item Simple conversion functions between the above types (and also
8370 hexadecimal representation for RGB).
8371 @item Some predefined colors (currently X11 color names -- of course
8372 the library does not depend on X11).
8373 @end itemize\n")
8374 (home-page "https://notabug.org/cage/cl-colors2")
8375 (license license:boost1.0))))
8376
8377 (define-public cl-colors2
8378 (sbcl-package->cl-source-package sbcl-cl-colors2))
8379
8380 (define-public ecl-cl-colors2
8381 (sbcl-package->ecl-package sbcl-cl-colors2))
8382
8383 (define-public sbcl-cl-jpeg
8384 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
8385 (revision "1"))
8386 (package
8387 (name "sbcl-cl-jpeg")
8388 (version (git-version "2.8" revision commit))
8389 (source
8390 (origin
8391 (method git-fetch)
8392 (uri (git-reference
8393 (url "https://github.com/sharplispers/cl-jpeg")
8394 (commit commit)))
8395 (file-name (git-file-name name version))
8396 (sha256
8397 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
8398 (build-system asdf-build-system/sbcl)
8399 (synopsis "JPEG image library for Common Lisp")
8400 (description
8401 "This is a baseline JPEG codec written in Common Lisp. It can be used
8402 for reading and writing JPEG image files.")
8403 (home-page "https://github.com/sharplispers/cl-jpeg")
8404 (license license:bsd-3))))
8405
8406 (define-public cl-jpeg
8407 (sbcl-package->cl-source-package sbcl-cl-jpeg))
8408
8409 (define-public ecl-cl-jpeg
8410 (sbcl-package->ecl-package sbcl-cl-jpeg))
8411
8412 (define-public sbcl-nodgui
8413 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
8414 (revision "1"))
8415 (package
8416 (name "sbcl-nodgui")
8417 (version (git-version "0.0.5" revision commit))
8418 (source
8419 (origin
8420 (method git-fetch)
8421 (uri (git-reference
8422 (url "https://notabug.org/cage/nodgui.git")
8423 (commit commit)))
8424 (file-name (git-file-name name version))
8425 (sha256
8426 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
8427 (build-system asdf-build-system/sbcl)
8428 (inputs
8429 `(("alexandria" ,sbcl-alexandria)
8430 ("bordeaux-threads" ,sbcl-bordeaux-threads)
8431 ("cl-colors2" ,sbcl-cl-colors2)
8432 ("cl-jpeg" ,sbcl-cl-jpeg)
8433 ("cl-lex" ,sbcl-cl-lex)
8434 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
8435 ("cl-unicode" ,sbcl-cl-unicode)
8436 ("cl-yacc" ,sbcl-cl-yacc)
8437 ("clunit2" ,sbcl-clunit2)
8438 ("named-readtables" ,sbcl-named-readtables)
8439 ("parse-number" ,sbcl-parse-number)
8440 ("tk" ,tk)))
8441 (arguments
8442 `(#:phases (modify-phases %standard-phases
8443 (add-after 'unpack 'fix-paths
8444 (lambda* (#:key inputs #:allow-other-keys)
8445 (substitute* "src/wish-communication.lisp"
8446 (("#-freebsd \"wish\"")
8447 (string-append "#-freebsd \""
8448 (assoc-ref inputs "tk")
8449 "/bin/wish\"")))
8450 #t)))))
8451 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
8452 (description
8453 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
8454 toolkit. It also provides a few additional widgets more than the standard Tk
8455 ones.")
8456 (home-page "https://www.autistici.org/interzona/nodgui.html")
8457 (license license:llgpl))))
8458
8459 (define-public cl-nodgui
8460 (sbcl-package->cl-source-package sbcl-nodgui))
8461
8462 (define-public ecl-nodgui
8463 (sbcl-package->ecl-package sbcl-nodgui))
8464
8465 (define-public sbcl-salza2
8466 (package
8467 (name "sbcl-salza2")
8468 (version "2.0.9")
8469 (source
8470 (origin
8471 (method git-fetch)
8472 (uri (git-reference
8473 (url "https://github.com/xach/salza2")
8474 (commit (string-append "release-" version))))
8475 (file-name (git-file-name name version))
8476 (sha256
8477 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
8478 (build-system asdf-build-system/sbcl)
8479 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
8480 (description
8481 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
8482 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
8483 respectively.")
8484 (home-page "https://www.xach.com/lisp/salza2/")
8485 (license license:bsd-2)))
8486
8487 (define-public cl-salza2
8488 (sbcl-package->cl-source-package sbcl-salza2))
8489
8490 (define-public ecl-salza2
8491 (sbcl-package->ecl-package sbcl-salza2))
8492
8493 (define-public sbcl-png-read
8494 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
8495 (revision "1"))
8496 (package
8497 (name "sbcl-png-read")
8498 (version (git-version "0.3.1" revision commit))
8499 (source
8500 (origin
8501 (method git-fetch)
8502 (uri (git-reference
8503 (url "https://github.com/Ramarren/png-read")
8504 (commit commit)))
8505 (file-name (git-file-name name version))
8506 (sha256
8507 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
8508 (build-system asdf-build-system/sbcl)
8509 (inputs
8510 `(("babel" ,sbcl-babel)
8511 ("chipz" ,sbcl-chipz)
8512 ("iterate" ,sbcl-iterate)))
8513 (synopsis "PNG decoder for Common Lisp")
8514 (description "This is a Common Lisp library for reading PNG images.")
8515 (home-page "https://github.com/Ramarren/png-read")
8516 (license license:bsd-3))))
8517
8518 (define-public cl-png-read
8519 (sbcl-package->cl-source-package sbcl-png-read))
8520
8521 (define-public ecl-png-read
8522 (sbcl-package->ecl-package sbcl-png-read))
8523
8524 (define-public sbcl-zpng
8525 (package
8526 (name "sbcl-zpng")
8527 (version "1.2.2")
8528 (source
8529 (origin
8530 (method git-fetch)
8531 (uri (git-reference
8532 (url "https://github.com/xach/zpng")
8533 (commit (string-append "release-" version))))
8534 (file-name (git-file-name name version))
8535 (sha256
8536 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
8537 (build-system asdf-build-system/sbcl)
8538 (inputs
8539 `(("salza2" ,sbcl-salza2)))
8540 (synopsis "PNG encoder for Common Lisp")
8541 (description "This is a Common Lisp library for creating PNG images.")
8542 (home-page "https://www.xach.com/lisp/zpng/")
8543 (license license:bsd-2)))
8544
8545 (define-public cl-zpng
8546 (sbcl-package->cl-source-package sbcl-zpng))
8547
8548 (define-public ecl-zpng
8549 (sbcl-package->ecl-package sbcl-zpng))
8550
8551 (define-public sbcl-cl-qrencode
8552 (package
8553 (name "sbcl-cl-qrencode")
8554 (version "0.1.2")
8555 (source
8556 (origin
8557 (method git-fetch)
8558 (uri (git-reference
8559 (url "https://github.com/jnjcc/cl-qrencode")
8560 (commit (string-append "v" version))))
8561 (file-name (git-file-name name version))
8562 (sha256
8563 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
8564 (build-system asdf-build-system/sbcl)
8565 (native-inputs
8566 `(("lisp-unit" ,sbcl-lisp-unit)))
8567 (inputs
8568 `(("zpng" ,sbcl-zpng)))
8569 (synopsis "QR code encoder for Common Lisp")
8570 (description
8571 "This Common Lisp library provides function to make QR codes and to save
8572 them as PNG files.")
8573 (home-page "https://github.com/jnjcc/cl-qrencode")
8574 (license license:gpl2+)))
8575
8576 (define-public cl-qrencode
8577 (sbcl-package->cl-source-package sbcl-cl-qrencode))
8578
8579 (define-public ecl-cl-qrencode
8580 (sbcl-package->ecl-package sbcl-cl-qrencode))
8581
8582 (define-public sbcl-hdf5-cffi
8583 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
8584 (revision "1"))
8585 (package
8586 (name "sbcl-hdf5-cffi")
8587 (version (git-version "1.8.18" revision commit))
8588 (source
8589 (origin
8590 (method git-fetch)
8591 (uri (git-reference
8592 (url "https://github.com/hdfgroup/hdf5-cffi")
8593 (commit commit)))
8594 (file-name (git-file-name name version))
8595 (sha256
8596 (base32
8597 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
8598 (build-system asdf-build-system/sbcl)
8599 (synopsis "Common Lisp bindings for the HDF5 library")
8600 (description
8601 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
8602 (home-page "https://github.com/hdfgroup/hdf5-cffi")
8603 (license (license:non-copyleft
8604 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
8605 commit
8606 "/LICENSE")))
8607 (inputs
8608 `(("cffi" ,sbcl-cffi)
8609 ("hdf5" ,hdf5-1.10)))
8610 (native-inputs
8611 `(("fiveam" ,sbcl-fiveam)))
8612 (arguments
8613 `(#:test-asd-file "hdf5-cffi.test.asd"
8614 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
8615 ;; I don't know if there is a way to tell asdf-build-system to load
8616 ;; an additional system first, so tests are disabled.
8617 #:tests? #f
8618 #:phases
8619 (modify-phases %standard-phases
8620 (add-after 'unpack 'fix-paths
8621 (lambda* (#:key inputs #:allow-other-keys)
8622 (substitute* "src/library.lisp"
8623 (("libhdf5.so")
8624 (string-append
8625 (assoc-ref inputs "hdf5")
8626 "/lib/libhdf5.so")))))
8627 (add-after 'unpack 'fix-dependencies
8628 (lambda* (#:key inputs #:allow-other-keys)
8629 (substitute* "hdf5-cffi.asd"
8630 ((":depends-on \\(:cffi\\)")
8631 ":depends-on (:cffi :cffi-grovel)"))
8632 (substitute* "hdf5-cffi.test.asd"
8633 ((":depends-on \\(:cffi :hdf5-cffi")
8634 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
8635
8636 (define-public cl-hdf5-cffi
8637 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
8638
8639 (define-public ecl-hdf5-cffi
8640 (sbcl-package->ecl-package sbcl-hdf5-cffi))
8641
8642 (define-public sbcl-cl-randist
8643 (package
8644 (name "sbcl-cl-randist")
8645 (version "0.4.2")
8646 (source
8647 (origin
8648 (method git-fetch)
8649 (uri (git-reference
8650 (url "https://github.com/lvaruzza/cl-randist")
8651 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
8652 (file-name (git-file-name name version))
8653 (sha256
8654 (base32
8655 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
8656 (build-system asdf-build-system/sbcl)
8657 (synopsis "Random distributions for Common Lisp")
8658 (description
8659 "Manual translation from C to Common Lisp of some random number
8660 generation functions from the GSL library.")
8661 (home-page "https://github.com/lvaruzza/cl-randist")
8662 (license license:bsd-2)
8663 (arguments
8664 `(#:tests? #f))))
8665
8666 (define-public cl-randist
8667 (sbcl-package->cl-source-package sbcl-cl-randist))
8668
8669 (define-public ecl-cl-randist
8670 (sbcl-package->ecl-package sbcl-cl-randist))
8671
8672 (define-public sbcl-float-features
8673 (package
8674 (name "sbcl-float-features")
8675 (version "1.0.0")
8676 (source
8677 (origin
8678 (method git-fetch)
8679 (uri (git-reference
8680 (url "https://github.com/Shinmera/float-features")
8681 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
8682 (file-name (git-file-name name version))
8683 (sha256
8684 (base32
8685 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
8686 (build-system asdf-build-system/sbcl)
8687 (synopsis "Common Lisp IEEE float portability library")
8688 (description
8689 "Portability library for IEEE float features that are not
8690 covered by the Common Lisp standard.")
8691 (home-page "https://github.com/Shinmera/float-features")
8692 (license license:zlib)
8693 (inputs
8694 `(("documentation-utils" ,sbcl-documentation-utils)))
8695 (arguments
8696 `(#:tests? #f))))
8697
8698 (define-public cl-float-features
8699 (sbcl-package->cl-source-package sbcl-float-features))
8700
8701 (define-public ecl-float-features
8702 (sbcl-package->ecl-package sbcl-float-features))
8703
8704 (define-public sbcl-function-cache
8705 (package
8706 (name "sbcl-function-cache")
8707 (version "1.0.3")
8708 (source
8709 (origin
8710 (method git-fetch)
8711 (uri (git-reference
8712 (url "https://github.com/AccelerationNet/function-cache")
8713 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
8714 (file-name (git-file-name name version))
8715 (sha256
8716 (base32
8717 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
8718 (build-system asdf-build-system/sbcl)
8719 (synopsis "Function caching / memoization library for Common Lisp")
8720 (description
8721 "A common lisp library that provides extensible function result
8722 caching based on arguments (an expanded form of memoization).")
8723 (home-page "https://github.com/AccelerationNet/function-cache")
8724 (license
8725 (license:non-copyleft
8726 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
8727 (inputs
8728 `(("alexandria" ,sbcl-alexandria)
8729 ("cl-interpol" ,sbcl-cl-interpol)
8730 ("iterate" ,sbcl-iterate)
8731 ("symbol-munger" ,sbcl-symbol-munger)
8732 ("closer-mop" ,sbcl-closer-mop)))
8733 (arguments
8734 `(#:tests? #f))))
8735
8736 (define-public cl-function-cache
8737 (sbcl-package->cl-source-package sbcl-function-cache))
8738
8739 (define-public ecl-function-cache
8740 (sbcl-package->ecl-package sbcl-function-cache))
8741
8742 (define-public sbcl-type-r
8743 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
8744 (revision "1"))
8745 (package
8746 (name "sbcl-type-r")
8747 (version (git-version "0.0.0" revision commit))
8748 (source
8749 (origin
8750 (method git-fetch)
8751 (uri (git-reference
8752 (url "https://github.com/guicho271828/type-r")
8753 (commit commit)))
8754 (file-name (git-file-name name version))
8755 (sha256
8756 (base32
8757 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
8758 (build-system asdf-build-system/sbcl)
8759 (synopsis "Parser interface for Common Lisp built-in compound types")
8760 (description
8761 "Collections of accessor functions and patterns to access
8762 the elements in compound type specifier, e.g. @code{dimensions} in
8763 @code{(array element-type dimensions)}")
8764 (home-page "https://github.com/guicho271828/type-r")
8765 (license license:lgpl3+)
8766 (inputs
8767 `(("trivia" ,sbcl-trivia)
8768 ("alexandria" ,sbcl-alexandria)))
8769 (native-inputs
8770 `(("fiveam" ,sbcl-fiveam)))
8771 (arguments
8772 `(#:test-asd-file "type-r.test.asd")))))
8773
8774 (define-public cl-type-r
8775 (sbcl-package->cl-source-package sbcl-type-r))
8776
8777 (define-public ecl-type-r
8778 (sbcl-package->ecl-package sbcl-type-r))
8779
8780 (define-public sbcl-trivialib-type-unify
8781 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
8782 (revision "1"))
8783 (package
8784 (name "sbcl-trivialib-type-unify")
8785 (version (git-version "0.1" revision commit))
8786 (source
8787 (origin
8788 (method git-fetch)
8789 (uri (git-reference
8790 (url "https://github.com/guicho271828/trivialib.type-unify")
8791 (commit commit)))
8792 (file-name (git-file-name name version))
8793 (sha256
8794 (base32
8795 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
8796 (build-system asdf-build-system/sbcl)
8797 (synopsis "Common Lisp type unification")
8798 (description
8799 "Unifies a parametrized type specifier against an actual type specifier.
8800 Importantly, it handles complicated array-subtypes and number-related types
8801 correctly.")
8802 (home-page "https://github.com/guicho271828/trivialib.type-unify")
8803 (license license:lgpl3+)
8804 (inputs
8805 `(("alexandria" ,sbcl-alexandria)
8806 ("trivia" ,sbcl-trivia)
8807 ("introspect-environment" ,sbcl-introspect-environment)
8808 ("type-r" ,sbcl-type-r)))
8809 (native-inputs
8810 `(("fiveam" ,sbcl-fiveam)))
8811 (arguments
8812 `(#:asd-systems '("trivialib.type-unify")
8813 #:test-asd-file "trivialib.type-unify.test.asd")))))
8814
8815 (define-public cl-trivialib-type-unify
8816 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
8817
8818 (define-public ecl-trivialib-type-unify
8819 (sbcl-package->ecl-package sbcl-trivialib-type-unify))
8820
8821 (define-public sbcl-specialized-function
8822 (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35")
8823 (revision "2"))
8824 (package
8825 (name "sbcl-specialized-function")
8826 (version (git-version "0.0.0" revision commit))
8827 (source
8828 (origin
8829 (method git-fetch)
8830 (uri (git-reference
8831 (url "https://github.com/numcl/specialized-function")
8832 (commit commit)))
8833 (file-name (git-file-name name version))
8834 (sha256
8835 (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82"))))
8836 (build-system asdf-build-system/sbcl)
8837 (synopsis "Julia-like dispatch for Common Lisp")
8838 (description
8839 "This library is part of NUMCL. It provides a macro
8840 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
8841 lazily compiling a type-specific version of the function from the same
8842 code. The main target of this macro is speed.")
8843 (home-page "https://github.com/numcl/specialized-function")
8844 (license license:lgpl3+)
8845 (inputs
8846 `(("trivia" ,sbcl-trivia)
8847 ("alexandria" ,sbcl-alexandria)
8848 ("iterate" ,sbcl-iterate)
8849 ("lisp-namespace" ,sbcl-lisp-namespace)
8850 ("type-r" ,sbcl-type-r)
8851 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
8852 (native-inputs
8853 `(("fiveam" ,sbcl-fiveam)))
8854 (arguments
8855 `(#:asd-files '("specialized-function.asd")
8856 #:test-asd-file "specialized-function.test.asd"
8857 ;; Tests fail because they try to use an internal symbol of SBCL
8858 ;; that does not exists in recent versions:
8859 ;; "The variable SB-VM:COMPLEX-VECTOR-NIL-WIDETAG is unbound."
8860 #:tests? #f)))))
8861
8862 (define-public cl-specialized-function
8863 (sbcl-package->cl-source-package sbcl-specialized-function))
8864
8865 (define-public ecl-specialized-function
8866 (sbcl-package->ecl-package sbcl-specialized-function))
8867
8868 (define-public sbcl-constantfold
8869 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
8870 (revision "1"))
8871 (package
8872 (name "sbcl-constantfold")
8873 (version (git-version "0.1" revision commit))
8874 (source
8875 (origin
8876 (method git-fetch)
8877 (uri (git-reference
8878 (url "https://github.com/numcl/constantfold")
8879 (commit commit)))
8880 (file-name (git-file-name name version))
8881 (sha256
8882 (base32
8883 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
8884 (build-system asdf-build-system/sbcl)
8885 (synopsis "Support library for numcl")
8886 (description
8887 "Support library for numcl. Registers a function as an
8888 additional form that is considered as a candidate for a constant.")
8889 (home-page "https://github.com/numcl/constantfold")
8890 (license license:lgpl3+)
8891 (inputs
8892 `(("trivia" ,sbcl-trivia)
8893 ("alexandria" ,sbcl-alexandria)
8894 ("iterate" ,sbcl-iterate)
8895 ("lisp-namespace" ,sbcl-lisp-namespace)))
8896 (native-inputs
8897 `(("fiveam" ,sbcl-fiveam)))
8898 (arguments
8899 `(#:asd-files '("constantfold.asd")
8900 #:test-asd-file "constantfold.test.asd")))))
8901
8902 (define-public cl-constantfold
8903 (sbcl-package->cl-source-package sbcl-constantfold))
8904
8905 (define-public ecl-constantfold
8906 (sbcl-package->ecl-package sbcl-constantfold))
8907
8908 (define-public sbcl-gtype
8909 (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18")
8910 (revision "2"))
8911 (package
8912 (name "sbcl-gtype")
8913 (version (git-version "0.1" revision commit))
8914 (source
8915 (origin
8916 (method git-fetch)
8917 (uri (git-reference
8918 (url "https://github.com/numcl/gtype")
8919 (commit commit)))
8920 (file-name (git-file-name name version))
8921 (sha256
8922 (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h"))))
8923 (build-system asdf-build-system/sbcl)
8924 (synopsis "C++/Julia-like parametric types in Common Lisp")
8925 (description
8926 "Support library for numcl that provides Julia-like runtime parametric
8927 type correctness in Common Lisp. It is based on CLtL2 extensions.")
8928 (home-page "https://github.com/numcl/gtype")
8929 (license license:lgpl3+)
8930 (inputs
8931 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
8932 ("trivial-cltl2" ,sbcl-trivial-cltl2)
8933 ("trivia" ,sbcl-trivia)
8934 ("alexandria" ,sbcl-alexandria)
8935 ("iterate" ,sbcl-iterate)
8936 ("type-r" ,sbcl-type-r)))
8937 (native-inputs
8938 `(("fiveam" ,sbcl-fiveam)))
8939 (arguments
8940 `(#:asd-files '("gtype.asd")
8941 #:test-asd-file "gtype.test.asd")))))
8942
8943 (define-public cl-gtype
8944 (sbcl-package->cl-source-package sbcl-gtype))
8945
8946 (define-public ecl-gtype
8947 (let ((pkg (sbcl-package->ecl-package sbcl-gtype)))
8948 (package
8949 (inherit pkg)
8950 (arguments
8951 (substitute-keyword-arguments (package-arguments pkg)
8952 ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp.
8953 ((#:tests? _ #f) #f))))))
8954
8955 (define-public sbcl-numcl
8956 (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a")
8957 (revision "2"))
8958 (package
8959 (name "sbcl-numcl")
8960 (version (git-version "0.1.0" revision commit))
8961 (source
8962 (origin
8963 (method git-fetch)
8964 (uri (git-reference
8965 (url "https://github.com/numcl/numcl")
8966 (commit commit)))
8967 (file-name (git-file-name name version))
8968 (sha256
8969 (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4"))))
8970 (build-system asdf-build-system/sbcl)
8971 (synopsis "Numpy clone in Common Lisp")
8972 (description
8973 "This is a Numpy clone in Common Lisp. At the moment the
8974 library is written in pure Common Lisp, focusing more on correctness
8975 and usefulness, not speed. Track the progress at
8976 @url{https://github.com/numcl/numcl/projects/1}.")
8977 (home-page "https://github.com/numcl/numcl")
8978 (license license:lgpl3+)
8979 (inputs
8980 `(("trivia" ,sbcl-trivia)
8981 ("alexandria" ,sbcl-alexandria)
8982 ("iterate" ,sbcl-iterate)
8983 ("lisp-namespace" ,sbcl-lisp-namespace)
8984 ("type-r" ,sbcl-type-r)
8985 ("constantfold" ,sbcl-constantfold)
8986 ("cl-randist" ,sbcl-cl-randist)
8987 ("float-features" ,sbcl-float-features)
8988 ("function-cache" ,sbcl-function-cache)
8989 ("specialized-function" ,sbcl-specialized-function)
8990 ("gtype" ,sbcl-gtype)))
8991 (native-inputs
8992 `(("fiveam" ,sbcl-fiveam)))
8993 (arguments
8994 `(#:asd-files '("numcl.asd")
8995 #:test-asd-file "numcl.test.asd"
8996 ;; Tests fail on SBCL with "Heap exhausted, game over",
8997 ;; but they pass on ECL.
8998 #:tests? #f)))))
8999
9000 (define-public cl-numcl
9001 (sbcl-package->cl-source-package sbcl-numcl))
9002
9003 (define-public ecl-numcl
9004 (let ((pkg (sbcl-package->ecl-package sbcl-numcl)))
9005 (package
9006 (inherit pkg)
9007 (arguments
9008 (substitute-keyword-arguments (package-arguments pkg)
9009 ((#:tests? _ #f) #t))))))
9010
9011 (define-public sbcl-pzmq
9012 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
9013 (revision "1"))
9014 (package
9015 (name "sbcl-pzmq")
9016 (version (git-version "0.0.0" revision commit))
9017 (source
9018 (origin
9019 (method git-fetch)
9020 (uri (git-reference
9021 (url "https://github.com/orivej/pzmq")
9022 (commit commit)))
9023 (file-name (git-file-name name version))
9024 (sha256
9025 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
9026 (build-system asdf-build-system/sbcl)
9027 (native-inputs
9028 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9029 ("fiveam" ,sbcl-fiveam)
9030 ("let-plus" ,sbcl-let-plus)))
9031 (inputs
9032 `(("cffi" ,sbcl-cffi)
9033 ("zeromq" ,zeromq)))
9034 (arguments
9035 `(#:phases (modify-phases %standard-phases
9036 (add-after 'unpack 'fix-paths
9037 (lambda* (#:key inputs #:allow-other-keys)
9038 (substitute* "c-api.lisp"
9039 (("\"libzmq")
9040 (string-append "\""
9041 (assoc-ref inputs "zeromq")
9042 "/lib/libzmq")))
9043 #t)))))
9044 (synopsis "Common Lisp bindings for the ZeroMQ library")
9045 (description "This Common Lisp library provides bindings for the ZeroMQ
9046 lightweight messaging kernel.")
9047 (home-page "https://github.com/orivej/pzmq")
9048 (license license:unlicense))))
9049
9050 (define-public cl-pzmq
9051 (sbcl-package->cl-source-package sbcl-pzmq))
9052
9053 (define-public ecl-pzmq
9054 (sbcl-package->ecl-package sbcl-pzmq))
9055
9056 (define-public sbcl-clss
9057 (let ((revision "1")
9058 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
9059 (package
9060 (name "sbcl-clss")
9061 (version (git-version "0.3.1" revision commit))
9062 (source
9063 (origin
9064 (method git-fetch)
9065 (uri
9066 (git-reference
9067 (url "https://github.com/Shinmera/clss")
9068 (commit commit)))
9069 (sha256
9070 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
9071 (file-name (git-file-name name version))))
9072 (inputs
9073 `(("array-utils" ,sbcl-array-utils)
9074 ("plump" ,sbcl-plump)))
9075 (build-system asdf-build-system/sbcl)
9076 (synopsis "DOM tree searching engine based on CSS selectors")
9077 (description "CLSS is a DOM traversal engine based on CSS
9078 selectors. It makes use of the Plump-DOM and is used by lQuery.")
9079 (home-page "https://github.com/Shinmera/clss")
9080 (license license:zlib))))
9081
9082 (define-public cl-clss
9083 (sbcl-package->cl-source-package sbcl-clss))
9084
9085 (define-public ecl-clss
9086 (sbcl-package->ecl-package sbcl-clss))
9087
9088 (define-public sbcl-lquery
9089 (let ((revision "1")
9090 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
9091 (package
9092 (name "sbcl-lquery")
9093 (version (git-version "3.2.1" revision commit))
9094 (source
9095 (origin
9096 (method git-fetch)
9097 (uri
9098 (git-reference
9099 (url "https://github.com/Shinmera/lquery")
9100 (commit commit)))
9101 (sha256
9102 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
9103 (file-name (git-file-name name version))))
9104 (native-inputs
9105 `(("fiveam" ,sbcl-fiveam)))
9106 (inputs
9107 `(("array-utils" ,sbcl-array-utils)
9108 ("form-fiddle" ,sbcl-form-fiddle)
9109 ("plump" ,sbcl-plump)
9110 ("clss" ,sbcl-clss)))
9111 (build-system asdf-build-system/sbcl)
9112 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
9113 (description "@code{lQuery} is a DOM manipulation library written in
9114 Common Lisp, inspired by and based on the jQuery syntax and
9115 functions. It uses Plump and CLSS as DOM and selector engines. The
9116 main idea behind lQuery is to provide a simple interface for crawling
9117 and modifying HTML sites, as well as to allow for an alternative
9118 approach to templating.")
9119 (home-page "https://github.com/Shinmera/lquery")
9120 (license license:zlib))))
9121
9122 (define-public cl-lquery
9123 (sbcl-package->cl-source-package sbcl-lquery))
9124
9125 (define-public ecl-lquery
9126 (sbcl-package->ecl-package sbcl-lquery))
9127
9128 (define-public sbcl-cl-mysql
9129 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
9130 (revision "1"))
9131 (package
9132 (name "sbcl-cl-mysql")
9133 (version (git-version "0.1" revision commit))
9134 (source
9135 (origin
9136 (method git-fetch)
9137 (uri (git-reference
9138 (url "https://github.com/hackinghat/cl-mysql")
9139 (commit commit)))
9140 (file-name (git-file-name name version))
9141 (sha256
9142 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
9143 (build-system asdf-build-system/sbcl)
9144 (native-inputs
9145 `(("stefil" ,sbcl-stefil)))
9146 (inputs
9147 `(("cffi" ,sbcl-cffi)
9148 ("mariadb-lib" ,mariadb "lib")))
9149 (arguments
9150 `(#:tests? #f ; TODO: Tests require a running server
9151 #:phases
9152 (modify-phases %standard-phases
9153 (add-after 'unpack 'fix-paths
9154 (lambda* (#:key inputs #:allow-other-keys)
9155 (substitute* "system.lisp"
9156 (("libmysqlclient_r" all)
9157 (string-append (assoc-ref inputs "mariadb-lib")
9158 "/lib/"
9159 all)))
9160 #t)))))
9161 (synopsis "Common Lisp wrapper for MySQL")
9162 (description
9163 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
9164 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
9165 (license license:expat))))
9166
9167 (define-public cl-mysql
9168 (sbcl-package->cl-source-package sbcl-cl-mysql))
9169
9170 (define-public ecl-cl-mysql
9171 (sbcl-package->ecl-package sbcl-cl-mysql))
9172
9173 (define-public sbcl-postmodern
9174 (package
9175 (name "sbcl-postmodern")
9176 (version "1.32.6")
9177 (source
9178 (origin
9179 (method git-fetch)
9180 (uri (git-reference
9181 (url "https://github.com/marijnh/Postmodern")
9182 (commit (string-append "v" version))))
9183 (file-name (git-file-name name version))
9184 (sha256
9185 (base32 "0bfx0hcb9wv47qd334xs0fpmisl75dpvasq1zai210s5wqg0km6d"))))
9186 (build-system asdf-build-system/sbcl)
9187 (native-inputs
9188 `(("fiveam" ,sbcl-fiveam)))
9189 (inputs
9190 `(("alexandria" ,sbcl-alexandria)
9191 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9192 ("cl-base64" ,sbcl-cl-base64)
9193 ("cl-unicode" ,sbcl-cl-unicode)
9194 ("closer-mop" ,sbcl-closer-mop)
9195 ("global-vars" ,sbcl-global-vars)
9196 ("ironclad" ,sbcl-ironclad)
9197 ("local-time" ,sbcl-local-time)
9198 ("md5" ,sbcl-md5)
9199 ("split-sequence" ,sbcl-split-sequence)
9200 ("uax-15" ,sbcl-uax-15)
9201 ("usocket" ,sbcl-usocket)))
9202 (arguments
9203 ;; TODO: (Sharlatan-20210114T171037+0000) tests still failing but on other
9204 ;; step, some functionality in `local-time' prevents passing tests.
9205 ;; Error:
9206 ;;
9207 ;; Can't create directory
9208 ;; /gnu/store
9209 ;; /4f47agf1kyiz057ppy6x5p98i7mcbfsv-sbcl-local-time-1.0.6-2.a177eb9
9210 ;; /lib/common-lisp/sbcl/local-time/src/integration/
9211 ;;
9212 `(#:tests? #f
9213 #:asd-systems '("cl-postgres"
9214 "s-sql"
9215 "postmodern"
9216 "simple-date"
9217 "simple-date/postgres-glue")))
9218 (synopsis "Common Lisp library for interacting with PostgreSQL")
9219 (description
9220 "@code{postmodern} is a Common Lisp library for interacting with
9221 PostgreSQL databases. It provides the following features:
9222
9223 @itemize
9224 @item Efficient communication with the database server without need for
9225 foreign libraries.
9226 @item Support for UTF-8 on Unicode-aware Lisp implementations.
9227 @item A syntax for mixing SQL and Lisp code.
9228 @item Convenient support for prepared statements and stored procedures.
9229 @item A metaclass for simple database-access objects.
9230 @end itemize\n
9231
9232 This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date
9233
9234 @code{SIMPLE-DATE} is a very basic implementation of date and time objects, used
9235 to support storing and retrieving time-related SQL types. It is not loaded by
9236 default and you can use local-time (which has support for timezones) instead.
9237
9238 @code{S-SQL} is used to compile s-expressions to strings of SQL code, escaping
9239 any Lisp values inside, and doing as much as possible of the work at compile
9240 time.
9241
9242 @code{CL-POSTGRES} is the low-level library used for interfacing with a PostgreSQL
9243 server over a socket.
9244
9245 @code{POSTMODERN} itself is a wrapper around these packages and provides higher
9246 level functions, a very simple data access object that can be mapped directly to
9247 database tables and some convient utilities. It then tries to put all these
9248 things together into a convenient programming interface")
9249 (home-page "https://marijnhaverbeke.nl/postmodern/")
9250 (license license:zlib)))
9251
9252 (define-public cl-postmodern
9253 (sbcl-package->cl-source-package sbcl-postmodern))
9254
9255 (define-public ecl-postmodern
9256 (package
9257 (inherit (sbcl-package->ecl-package sbcl-postmodern))
9258 (arguments
9259 `(#:tests? #f
9260 #:asd-systems '("cl-postgres"
9261 "s-sql"
9262 "postmodern"
9263 "simple-date"
9264 "simple-date/postgres-glue")
9265 #:phases
9266 (modify-phases %standard-phases
9267 (add-after 'unpack 'fix-build
9268 (lambda _
9269 (substitute* "cl-postgres.asd"
9270 ((":or :sbcl :allegro :ccl :clisp" all)
9271 (string-append all " :ecl")))
9272 #t)))))))
9273
9274 (define-public sbcl-db3
9275 (let ((commit "38e5ad35f025769fb7f8dcdc6e56df3e8efd8e6d")
9276 (revision "1"))
9277 (package
9278 (name "sbcl-db3")
9279 (version (git-version "0.0.0" revision commit))
9280 (source
9281 (origin
9282 (method git-fetch)
9283 (uri (git-reference
9284 (url "https://github.com/dimitri/cl-db3")
9285 (commit commit)))
9286 (file-name (git-file-name "cl-db3" version))
9287 (sha256
9288 (base32 "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5"))))
9289 (build-system asdf-build-system/sbcl)
9290 (home-page "https://github.com/dimitri/cl-db3")
9291 (synopsis "Common Lisp library to read dBase III database files")
9292 (description
9293 "This is a Common Lisp library for processing data found in dBase III
9294 database files (dbf and db3 files).")
9295 (license license:public-domain))))
9296
9297 (define-public ecl-db3
9298 (sbcl-package->ecl-package sbcl-db3))
9299
9300 (define-public cl-db3
9301 (sbcl-package->cl-source-package sbcl-db3))
9302
9303 (define-public sbcl-dbi
9304 ;; Master includes a breaking change which other packages depend on since
9305 ;; Quicklisp decided to follow it:
9306 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
9307 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
9308 (package
9309 (name "sbcl-dbi")
9310 (version (git-version "0.9.4" "1" commit))
9311 (source
9312 (origin
9313 (method git-fetch)
9314 (uri (git-reference
9315 (url "https://github.com/fukamachi/cl-dbi")
9316 (commit commit)))
9317 (file-name (git-file-name name version))
9318 (sha256
9319 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
9320 (build-system asdf-build-system/sbcl)
9321 (native-inputs
9322 `(("rove" ,sbcl-rove)
9323 ("trivial-types" ,sbcl-trivial-types)))
9324 (inputs
9325 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9326 ("cl-mysql" ,sbcl-cl-mysql)
9327 ("cl-sqlite" ,sbcl-cl-sqlite)
9328 ("closer-mop" ,sbcl-closer-mop)
9329 ("postmodern" ,sbcl-postmodern)
9330 ("split-sequence" ,sbcl-split-sequence)
9331 ("trivial-garbage" ,sbcl-trivial-garbage)))
9332 (arguments
9333 `(#:asd-systems '("dbi"
9334 "dbd-mysql"
9335 "dbd-postgres"
9336 "dbd-sqlite3")))
9337 (synopsis "Database independent interface for Common Lisp")
9338 (description
9339 "@code{dbi} is a Common Lisp library providing a database independent
9340 interface for MySQL, PostgreSQL and SQLite.")
9341 (home-page "https://github.com/fukamachi/cl-dbi")
9342 (license license:llgpl))))
9343
9344 (define-public cl-dbi
9345 (sbcl-package->cl-source-package sbcl-dbi))
9346
9347 (define-public ecl-dbi
9348 (sbcl-package->ecl-package sbcl-dbi))
9349
9350 (define-public sbcl-uffi
9351 (package
9352 (name "sbcl-uffi")
9353 (version "2.1.2")
9354 (source
9355 (origin
9356 (method git-fetch)
9357 (uri (git-reference
9358 (url "http://git.kpe.io/uffi.git")
9359 (commit (string-append "v" version))))
9360 (file-name (git-file-name name version))
9361 (sha256
9362 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
9363 (build-system asdf-build-system/sbcl)
9364 (arguments
9365 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
9366 #:asd-files '("uffi.asd")
9367 #:phases
9368 (modify-phases %standard-phases
9369 (add-after 'unpack 'fix-permissions
9370 (lambda _
9371 (make-file-writable "doc/html.tar.gz")
9372 #t)))))
9373 (synopsis "Universal foreign function library for Common Lisp")
9374 (description
9375 "UFFI provides a universal foreign function interface (FFI)
9376 for Common Lisp.")
9377 (home-page "http://quickdocs.org/uffi/")
9378 (license license:llgpl)))
9379
9380 (define-public cl-uffi
9381 (package
9382 (inherit (sbcl-package->cl-source-package sbcl-uffi))
9383 (arguments
9384 `(#:phases
9385 ;; asdf-build-system/source has its own phases and does not inherit
9386 ;; from asdf-build-system/sbcl phases.
9387 (modify-phases %standard-phases/source
9388 ;; Already done in SBCL package.
9389 (delete 'reset-gzip-timestamps))))))
9390
9391 (define-public sbcl-clsql
9392 (package
9393 (name "sbcl-clsql")
9394 (version "6.7.0")
9395 (source
9396 (origin
9397 (method git-fetch)
9398 (uri (git-reference
9399 (url "http://git.kpe.io/clsql.git")
9400 (commit (string-append "v" version))))
9401 (file-name (git-file-name name version))
9402 (sha256
9403 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
9404 (snippet
9405 '(begin
9406 ;; Remove precompiled libraries.
9407 (delete-file "db-mysql/clsql_mysql.dll")
9408 (delete-file "uffi/clsql_uffi.dll")
9409 (delete-file "uffi/clsql_uffi.lib")
9410 #t))))
9411 (build-system asdf-build-system/sbcl)
9412 (native-inputs
9413 `(("rt" ,sbcl-rt)))
9414 (inputs
9415 `(("cffi" ,sbcl-cffi)
9416 ("md5" ,sbcl-md5)
9417 ("mysql" ,mysql)
9418 ("postgresql" ,postgresql)
9419 ("postmodern" ,sbcl-postmodern)
9420 ("sqlite" ,sqlite)
9421 ("uffi" ,sbcl-uffi)
9422 ("zlib" ,zlib)))
9423 (arguments
9424 `(#:asd-files '("clsql.asd"
9425 "clsql-uffi.asd"
9426 "clsql-sqlite3.asd"
9427 "clsql-postgresql.asd"
9428 "clsql-postgresql-socket3.asd"
9429 "clsql-mysql.asd")
9430 #:asd-systems '("clsql"
9431 "clsql-sqlite3"
9432 "clsql-postgresql"
9433 "clsql-postgresql-socket3"
9434 "clsql-mysql")
9435 #:phases
9436 (modify-phases %standard-phases
9437 (add-after 'unpack 'fix-permissions
9438 (lambda _
9439 (make-file-writable "doc/html.tar.gz")
9440 #t))
9441 (add-after 'unpack 'fix-build
9442 (lambda _
9443 (substitute* "clsql-uffi.asd"
9444 (("\\(:version uffi \"2.0\"\\)")
9445 "uffi"))
9446 (substitute* "db-postgresql/postgresql-api.lisp"
9447 (("\\(data :cstring\\)")
9448 "(data :string)"))
9449 #t))
9450 (add-after 'unpack 'fix-paths
9451 (lambda* (#:key inputs outputs #:allow-other-keys)
9452 (substitute* "db-sqlite3/sqlite3-loader.lisp"
9453 (("libsqlite3")
9454 (string-append (assoc-ref inputs "sqlite")
9455 "/lib/libsqlite3")))
9456 (substitute* "db-postgresql/postgresql-loader.lisp"
9457 (("libpq")
9458 (string-append (assoc-ref inputs "postgresql")
9459 "/lib/libpq")))
9460 (let ((lib (string-append "#p\""
9461 (assoc-ref outputs "out")
9462 "/lib/\"")))
9463 (substitute* "clsql-mysql.asd"
9464 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
9465 lib))
9466 (substitute* "db-mysql/mysql-loader.lisp"
9467 (("libmysqlclient" all)
9468 (string-append (assoc-ref inputs "mysql") "/lib/" all))
9469 (("clsql-mysql-system::\\*library-file-dir\\*")
9470 lib)))
9471 #t))
9472 (add-before 'build 'build-helper-library
9473 (lambda* (#:key inputs outputs #:allow-other-keys)
9474 (let* ((mysql (assoc-ref inputs "mysql"))
9475 (inc-dir (string-append mysql "/include/mysql"))
9476 (lib-dir (string-append mysql "/lib"))
9477 (shared-lib-dir (string-append (assoc-ref outputs "out")
9478 "/lib"))
9479 (shared-lib (string-append shared-lib-dir
9480 "/clsql_mysql.so")))
9481 (mkdir-p shared-lib-dir)
9482 (invoke "gcc" "-fPIC" "-shared"
9483 "-I" inc-dir
9484 "db-mysql/clsql_mysql.c"
9485 "-Wl,-soname=clsql_mysql"
9486 "-L" lib-dir "-lmysqlclient" "-lz"
9487 "-o" shared-lib)
9488 #t)))
9489 (add-after 'unpack 'fix-tests
9490 (lambda _
9491 (substitute* "clsql.asd"
9492 (("clsql-tests :force t")
9493 "clsql-tests"))
9494 #t)))))
9495 (synopsis "Common Lisp SQL Interface library")
9496 (description
9497 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
9498 Xanalys CommonSQL interface for Lispworks. It provides low-level database
9499 interfaces as well as a functional and an object oriented interface.")
9500 (home-page "http://clsql.kpe.io/")
9501 (license license:llgpl)))
9502
9503 (define-public cl-clsql
9504 (package
9505 (inherit (sbcl-package->cl-source-package sbcl-clsql))
9506 (native-inputs
9507 `(("rt" ,cl-rt)))
9508 (inputs
9509 `(("mysql" ,mysql)
9510 ("postgresql" ,postgresql)
9511 ("sqlite" ,sqlite)
9512 ("zlib" ,zlib)))
9513 (propagated-inputs
9514 `(("cffi" ,cl-cffi)
9515 ("md5" ,cl-md5)
9516 ("postmodern" ,cl-postmodern)
9517 ("uffi" ,cl-uffi)))
9518 (arguments
9519 `(#:phases
9520 ;; asdf-build-system/source has its own phases and does not inherit
9521 ;; from asdf-build-system/sbcl phases.
9522 (modify-phases %standard-phases/source
9523 (add-after 'unpack 'fix-permissions
9524 (lambda _
9525 (make-file-writable "doc/html.tar.gz")
9526 #t)))))))
9527
9528 (define-public ecl-clsql
9529 (let ((pkg (sbcl-package->ecl-package sbcl-clsql)))
9530 (package
9531 (inherit pkg)
9532 (inputs
9533 (alist-delete "uffi" (package-inputs pkg)))
9534 (arguments
9535 (substitute-keyword-arguments (package-arguments pkg)
9536 ((#:asd-files asd-files '())
9537 `(cons "clsql-cffi.asd" ,asd-files)))))))
9538
9539 (define-public sbcl-sycamore
9540 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
9541 (package
9542 (name "sbcl-sycamore")
9543 (version "0.0.20120604")
9544 (source
9545 (origin
9546 (method git-fetch)
9547 (uri (git-reference
9548 (url "https://github.com/ndantam/sycamore/")
9549 (commit commit)))
9550 (file-name (git-file-name name version))
9551 (sha256
9552 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
9553 (build-system asdf-build-system/sbcl)
9554 (inputs
9555 `(("alexandria" ,sbcl-alexandria)
9556 ("cl-ppcre" ,sbcl-cl-ppcre)))
9557 (synopsis "Purely functional data structure library in Common Lisp")
9558 (description
9559 "Sycamore is a fast, purely functional data structure library in Common Lisp.
9560 If features:
9561
9562 @itemize
9563 @item Fast, purely functional weight-balanced binary trees.
9564 @item Leaf nodes are simple-vectors, greatly reducing tree height.
9565 @item Interfaces for tree Sets and Maps (dictionaries).
9566 @item Ropes.
9567 @item Purely functional pairing heaps.
9568 @item Purely functional amortized queue.
9569 @end itemize\n")
9570 (home-page "http://ndantam.github.io/sycamore/")
9571 (license license:bsd-3))))
9572
9573 (define-public cl-sycamore
9574 (sbcl-package->cl-source-package sbcl-sycamore))
9575
9576 (define-public ecl-sycamore
9577 (sbcl-package->ecl-package sbcl-sycamore))
9578
9579 (define-public sbcl-trivial-package-local-nicknames
9580 (package
9581 (name "sbcl-trivial-package-local-nicknames")
9582 (version "0.2")
9583 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
9584 (source
9585 (origin
9586 (method git-fetch)
9587 (uri (git-reference
9588 (url home-page)
9589 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
9590 (file-name (git-file-name name version))
9591 (sha256
9592 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
9593 (build-system asdf-build-system/sbcl)
9594 (synopsis "Common Lisp compatibility library for package local nicknames")
9595 (description
9596 "This library is a portable compatibility layer around package local nicknames (PLN).
9597 This was done so there is a portability library for the PLN API not included
9598 in DEFPACKAGE.")
9599 (license license:unlicense)))
9600
9601 (define-public cl-trivial-package-local-nicknames
9602 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
9603
9604 (define-public ecl-trivial-package-local-nicknames
9605 (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames))
9606
9607 (define-public sbcl-enchant
9608 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
9609 (package
9610 (name "sbcl-enchant")
9611 (version (git-version "0.0.0" "1" commit))
9612 (home-page "https://github.com/tlikonen/cl-enchant")
9613 (source
9614 (origin
9615 (method git-fetch)
9616 (uri (git-reference
9617 (url home-page)
9618 (commit commit)))
9619 (file-name (git-file-name name version))
9620 (sha256
9621 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
9622 (build-system asdf-build-system/sbcl)
9623 (inputs
9624 `(("enchant" ,enchant)
9625 ("cffi" ,sbcl-cffi)))
9626 (arguments
9627 `(#:phases
9628 (modify-phases %standard-phases
9629 (add-after 'unpack 'fix-paths
9630 (lambda* (#:key inputs #:allow-other-keys)
9631 (substitute* "load-enchant.lisp"
9632 (("libenchant")
9633 (string-append
9634 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
9635 (synopsis "Common Lisp interface for the Enchant spell-checker library")
9636 (description
9637 "Enchant is a Common Lisp interface for the Enchant spell-checker
9638 library. The Enchant library is a generic spell-checker library which uses
9639 other spell-checkers transparently as back-end. The library supports the
9640 multiple checkers, including Aspell and Hunspell.")
9641 (license license:public-domain))))
9642
9643 (define-public cl-enchant
9644 (sbcl-package->cl-source-package sbcl-enchant))
9645
9646 (define-public ecl-enchant
9647 (sbcl-package->ecl-package sbcl-enchant))
9648
9649 (define-public sbcl-cl-change-case
9650 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
9651 (package
9652 (name "sbcl-cl-change-case")
9653 (version (git-version "0.1.0" "1" commit))
9654 (home-page "https://github.com/rudolfochrist/cl-change-case")
9655 (source
9656 (origin
9657 (method git-fetch)
9658 (uri (git-reference
9659 (url home-page)
9660 (commit commit)))
9661 (file-name (git-file-name name version))
9662 (sha256
9663 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
9664 (build-system asdf-build-system/sbcl)
9665 (inputs
9666 `(("cl-ppcre" ,sbcl-cl-ppcre)
9667 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
9668 (native-inputs
9669 `(("fiveam" ,sbcl-fiveam)))
9670 (arguments
9671 '(;; FIXME: Test pass but phase fails with 'Component
9672 ;; "cl-change-case-test" not found, required by'.
9673 #:tests? #f
9674 #:test-asd-file "cl-change-case-test.asd"))
9675 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
9676 (description
9677 "@code{cl-change-case} is library to convert strings between camelCase,
9678 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
9679 (license license:llgpl))))
9680
9681 (define-public cl-change-case
9682 (sbcl-package->cl-source-package sbcl-cl-change-case))
9683
9684 (define-public ecl-cl-change-case
9685 (sbcl-package->ecl-package sbcl-cl-change-case))
9686
9687 (define-public sbcl-moptilities
9688 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
9689 (package
9690 (name "sbcl-moptilities")
9691 (version (git-version "0.3.13" "1" commit))
9692 (home-page "https://github.com/gwkkwg/moptilities/")
9693 (source
9694 (origin
9695 (method git-fetch)
9696 (uri (git-reference
9697 (url home-page)
9698 (commit commit)))
9699 (file-name (git-file-name name version))
9700 (sha256
9701 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
9702 (build-system asdf-build-system/sbcl)
9703 (inputs
9704 `(("closer-mop" ,sbcl-closer-mop)))
9705 (native-inputs
9706 `(("lift" ,sbcl-lift)))
9707 (arguments
9708 `(#:phases
9709 (modify-phases %standard-phases
9710 (add-after 'unpack 'fix-tests
9711 (lambda _
9712 (substitute* "lift-standard.config"
9713 ((":relative-to lift-test")
9714 ":relative-to moptilities-test"))
9715 #t)))))
9716 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
9717 (description
9718 "MOP utilities provide a common interface between Lisps and make the
9719 MOP easier to use.")
9720 (license license:expat))))
9721
9722 (define-public cl-moptilities
9723 (sbcl-package->cl-source-package sbcl-moptilities))
9724
9725 (define-public sbcl-osicat
9726 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
9727 (package
9728 (name "sbcl-osicat")
9729 (version (git-version "0.7.0" "1" commit))
9730 (home-page "http://www.common-lisp.net/project/osicat/")
9731 (source
9732 (origin
9733 (method git-fetch)
9734 (uri (git-reference
9735 (url "https://github.com/osicat/osicat")
9736 (commit commit)))
9737 (file-name (git-file-name name version))
9738 (sha256
9739 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
9740 (build-system asdf-build-system/sbcl)
9741 (inputs
9742 `(("alexandria" ,sbcl-alexandria)
9743 ("cffi" ,sbcl-cffi)
9744 ("trivial-features" ,sbcl-trivial-features)))
9745 (native-inputs
9746 `(("rt" ,sbcl-rt)))
9747 (synopsis "Operating system interface for Common Lisp")
9748 (description
9749 "Osicat is a lightweight operating system interface for Common Lisp on
9750 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
9751 accompaniment to the standard ANSI facilities.")
9752 (license license:expat))))
9753
9754 (define-public cl-osicat
9755 (sbcl-package->cl-source-package sbcl-osicat))
9756
9757 (define-public ecl-osicat
9758 (sbcl-package->ecl-package sbcl-osicat))
9759
9760 (define-public sbcl-clx-xembed
9761 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
9762 (revision "1"))
9763 (package
9764 (name "sbcl-clx-xembed")
9765 (version (git-version "0.1" revision commit))
9766 (home-page "https://github.com/laynor/clx-xembed")
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
9771 (url "https://github.com/laynor/clx-xembed")
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
9776 (build-system asdf-build-system/sbcl)
9777 (arguments
9778 `(#:asd-systems '("xembed")))
9779 (inputs
9780 `(("sbcl-clx" ,sbcl-clx)))
9781 (synopsis "CL(x) xembed protocol implementation ")
9782 (description "CL(x) xembed protocol implementation")
9783 ;; MIT License
9784 (license license:expat))))
9785
9786 (define-public cl-clx-xembed
9787 (sbcl-package->cl-source-package sbcl-clx-xembed))
9788
9789 (define-public ecl-clx-xembed
9790 (sbcl-package->ecl-package sbcl-clx-xembed))
9791
9792 (define-public sbcl-quantile-estimator
9793 (package
9794 (name "sbcl-quantile-estimator")
9795 (version "0.0.1")
9796 (source
9797 (origin
9798 (method git-fetch)
9799 (uri (git-reference
9800 (url "https://github.com/deadtrickster/quantile-estimator.cl")
9801 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
9802 (file-name (git-file-name name version))
9803 (sha256
9804 (base32
9805 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
9806 (build-system asdf-build-system/sbcl)
9807 (arguments
9808 '(#:asd-files '("quantile-estimator.asd")))
9809 (inputs
9810 `(("alexandria" ,sbcl-alexandria)))
9811 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
9812 (synopsis
9813 "Effective computation of biased quantiles over data streams")
9814 (description
9815 "Common Lisp implementation of Graham Cormode and S.
9816 Muthukrishnan's Effective Computation of Biased Quantiles over Data
9817 Streams in ICDE’05.")
9818 (license license:expat)))
9819
9820 (define-public cl-quantile-estimator
9821 (sbcl-package->cl-source-package sbcl-quantile-estimator))
9822
9823 (define-public ecl-quantile-estimator
9824 (sbcl-package->ecl-package sbcl-quantile-estimator))
9825
9826 (define-public sbcl-prometheus
9827 (package
9828 (name "sbcl-prometheus")
9829 (version "0.4.1")
9830 (source
9831 (origin
9832 (method git-fetch)
9833 (uri (git-reference
9834 (url "https://github.com/deadtrickster/prometheus.cl")
9835 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
9836 (file-name (git-file-name name version))
9837 (sha256
9838 (base32
9839 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
9840 (build-system asdf-build-system/sbcl)
9841 (inputs
9842 `(("alexandria" ,sbcl-alexandria)
9843 ("bordeaux-threads" ,sbcl-bordeaux-threads)
9844 ("cffi" ,sbcl-cffi)
9845 ("cl-fad" ,sbcl-cl-fad)
9846 ("cl-ppcre" ,sbcl-cl-ppcre)
9847 ("drakma" ,sbcl-drakma)
9848 ("hunchentoot" ,sbcl-hunchentoot)
9849 ("local-time" ,sbcl-local-time)
9850 ("quantile-estimator" ,sbcl-quantile-estimator)
9851 ("salza2" ,sbcl-salza2)
9852 ("split-sequence" ,sbcl-split-sequence)
9853 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9854 (arguments
9855 '(#:asd-files '("prometheus.asd"
9856 "prometheus.collectors.sbcl.asd"
9857 "prometheus.collectors.process.asd"
9858 "prometheus.formats.text.asd"
9859 "prometheus.exposers.hunchentoot.asd"
9860 "prometheus.pushgateway.asd")
9861 #:asd-systems '("prometheus"
9862 "prometheus.collectors.sbcl"
9863 "prometheus.collectors.process"
9864 "prometheus.formats.text"
9865 "prometheus.exposers.hunchentoot"
9866 "prometheus.pushgateway")))
9867 (home-page "https://github.com/deadtrickster/prometheus.cl")
9868 (synopsis "Prometheus.io Common Lisp client")
9869 (description "Prometheus.io Common Lisp client.")
9870 (license license:expat)))
9871
9872 (define-public cl-prometheus
9873 (sbcl-package->cl-source-package sbcl-prometheus))
9874
9875 (define-public ecl-prometheus
9876 (sbcl-package->ecl-package sbcl-prometheus))
9877
9878 (define-public sbcl-uuid
9879 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
9880 (package
9881 (name "sbcl-uuid")
9882 (version (git-version "2012.12.26" "1" commit))
9883 (source
9884 (origin
9885 (method git-fetch)
9886 (uri (git-reference
9887 (url "https://github.com/dardoria/uuid")
9888 (commit commit)))
9889 (file-name (git-file-name name version))
9890 (sha256
9891 (base32
9892 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
9893 (build-system asdf-build-system/sbcl)
9894 (inputs
9895 `(("ironclad" ,sbcl-ironclad)
9896 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
9897 (home-page "https://github.com/dardoria/uuid")
9898 (synopsis
9899 "Common Lisp implementation of UUIDs according to RFC4122")
9900 (description
9901 "Common Lisp implementation of UUIDs according to RFC4122.")
9902 (license license:llgpl))))
9903
9904 (define-public cl-uuid
9905 (sbcl-package->cl-source-package sbcl-uuid))
9906
9907 (define-public ecl-uuid
9908 (sbcl-package->ecl-package sbcl-uuid))
9909
9910 (define-public sbcl-dissect
9911 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
9912 (package
9913 (name "sbcl-dissect")
9914 (version (git-version "1.0.0" "1" commit))
9915 (source
9916 (origin
9917 (method git-fetch)
9918 (uri (git-reference
9919 (url "https://github.com/Shinmera/dissect")
9920 (commit commit)))
9921 (file-name (git-file-name name version))
9922 (sha256
9923 (base32
9924 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
9925 (build-system asdf-build-system/sbcl)
9926 (inputs
9927 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9928 (home-page "https://shinmera.github.io/dissect/")
9929 (synopsis
9930 "Introspection library for the call stack and restarts")
9931 (description
9932 "Dissect is a small Common Lisp library for introspecting the call stack
9933 and active restarts.")
9934 (license license:zlib))))
9935
9936 (define-public cl-dissect
9937 (sbcl-package->cl-source-package sbcl-dissect))
9938
9939 (define-public ecl-dissect
9940 (sbcl-package->ecl-package sbcl-dissect))
9941
9942 (define-public sbcl-rove
9943 (package
9944 (name "sbcl-rove")
9945 (version "0.9.6")
9946 (source
9947 (origin
9948 (method git-fetch)
9949 (uri (git-reference
9950 (url "https://github.com/fukamachi/rove")
9951 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
9952 (file-name (git-file-name name version))
9953 (sha256
9954 (base32
9955 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
9956 (build-system asdf-build-system/sbcl)
9957 (inputs
9958 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9959 ("dissect" ,sbcl-dissect)
9960 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9961 (home-page "https://github.com/fukamachi/rove")
9962 (synopsis
9963 "Yet another common lisp testing library")
9964 (description
9965 "Rove is a unit testing framework for Common Lisp applications.
9966 This is intended to be a successor of Prove.")
9967 (license license:bsd-3)))
9968
9969 (define-public cl-rove
9970 (sbcl-package->cl-source-package sbcl-rove))
9971
9972 (define-public ecl-rove
9973 (sbcl-package->ecl-package sbcl-rove))
9974
9975 (define-public sbcl-exponential-backoff
9976 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
9977 (package
9978 (name "sbcl-exponential-backoff")
9979 (version (git-version "0" "1" commit))
9980 (source
9981 (origin
9982 (method git-fetch)
9983 (uri (git-reference
9984 (url "https://github.com/death/exponential-backoff")
9985 (commit commit)))
9986 (file-name (git-file-name name version))
9987 (sha256
9988 (base32
9989 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
9990 (build-system asdf-build-system/sbcl)
9991 (home-page "https://github.com/death/exponential-backoff")
9992 (synopsis "Exponential backoff algorithm in Common Lisp")
9993 (description
9994 "An implementation of the exponential backoff algorithm in Common Lisp.
9995 Inspired by the implementation found in Chromium. Read the header file to
9996 learn about each of the parameters.")
9997 (license license:expat))))
9998
9999 (define-public cl-exponential-backoff
10000 (sbcl-package->cl-source-package sbcl-exponential-backoff))
10001
10002 (define-public ecl-exponential-backoff
10003 (sbcl-package->ecl-package sbcl-exponential-backoff))
10004
10005 (define-public sbcl-sxql
10006 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
10007 (package
10008 (name "sbcl-sxql")
10009 (version (git-version "0.1.0" "1" commit))
10010 (source
10011 (origin
10012 (method git-fetch)
10013 (uri (git-reference
10014 (url "https://github.com/fukamachi/sxql")
10015 (commit commit)))
10016 (file-name (git-file-name name version))
10017 (sha256
10018 (base32
10019 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
10020 (build-system asdf-build-system/sbcl)
10021 (arguments
10022 `(#:test-asd-file "sxql-test.asd"))
10023 (inputs
10024 `(("alexandria" ,sbcl-alexandria)
10025 ("cl-syntax" ,sbcl-cl-syntax)
10026 ("iterate" ,sbcl-iterate)
10027 ("optima" ,sbcl-optima)
10028 ("split-sequence" ,sbcl-split-sequence)
10029 ("trivial-types" ,sbcl-trivial-types)))
10030 (native-inputs
10031 `(("prove" ,sbcl-prove)))
10032 (home-page "https://github.com/fukamachi/sxql")
10033 (synopsis "SQL generator for Common Lisp")
10034 (description "SQL generator for Common Lisp.")
10035 (license license:bsd-3))))
10036
10037 (define-public cl-sxql
10038 (sbcl-package->cl-source-package sbcl-sxql))
10039
10040 (define-public ecl-sxql
10041 (sbcl-package->ecl-package sbcl-sxql))
10042
10043 (define-public sbcl-1am
10044 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
10045 (package
10046 (name "sbcl-1am")
10047 (version (git-version "0.0" "1" commit))
10048 (source
10049 (origin
10050 (method git-fetch)
10051 (uri (git-reference
10052 (url "https://github.com/lmj/1am")
10053 (commit commit)))
10054 (file-name (git-file-name name version))
10055 (sha256
10056 (base32
10057 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
10058 (build-system asdf-build-system/sbcl)
10059 (arguments
10060 `(#:asd-systems '("1am")))
10061 (home-page "https://github.com/lmj/1am")
10062 (synopsis "Minimal testing framework for Common Lisp")
10063 (description "A minimal testing framework for Common Lisp.")
10064 (license license:expat))))
10065
10066 (define-public cl-1am
10067 (sbcl-package->cl-source-package sbcl-1am))
10068
10069 (define-public ecl-1am
10070 (sbcl-package->ecl-package sbcl-1am))
10071
10072 (define-public sbcl-cl-ascii-table
10073 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
10074 (revision "1"))
10075 (package
10076 (name "sbcl-cl-ascii-table")
10077 (version (git-version "0.0.0" revision commit))
10078 (source
10079 (origin
10080 (method git-fetch)
10081 (uri (git-reference
10082 (url "https://github.com/telephil/cl-ascii-table")
10083 (commit commit)))
10084 (file-name (git-file-name name version))
10085 (sha256
10086 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
10087 (build-system asdf-build-system/sbcl)
10088 (synopsis "Library to make ascii-art tables")
10089 (description
10090 "This is a Common Lisp library to present tabular data in ascii-art
10091 tables.")
10092 (home-page "https://github.com/telephil/cl-ascii-table")
10093 (license license:expat))))
10094
10095 (define-public cl-ascii-table
10096 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
10097
10098 (define-public ecl-cl-ascii-table
10099 (sbcl-package->ecl-package sbcl-cl-ascii-table))
10100
10101 (define-public sbcl-cl-rdkafka
10102 (package
10103 (name "sbcl-cl-rdkafka")
10104 (version "1.0.2")
10105 (source
10106 (origin
10107 (method git-fetch)
10108 (uri (git-reference
10109 (url "https://github.com/SahilKang/cl-rdkafka")
10110 (commit (string-append "v" version))))
10111 (file-name (git-file-name name version))
10112 (sha256
10113 (base32
10114 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
10115 (build-system asdf-build-system/sbcl)
10116 (arguments
10117 `(#:tests? #f ; Attempts to connect to locally running Kafka
10118 #:phases
10119 (modify-phases %standard-phases
10120 (add-after 'unpack 'fix-paths
10121 (lambda* (#:key inputs #:allow-other-keys)
10122 (substitute* "src/low-level/librdkafka-bindings.lisp"
10123 (("librdkafka" all)
10124 (string-append (assoc-ref inputs "librdkafka") "/lib/"
10125 all))))))))
10126 (inputs
10127 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10128 ("cffi" ,sbcl-cffi)
10129 ("librdkafka" ,librdkafka)
10130 ("lparallel" ,sbcl-lparallel)
10131 ("trivial-garbage" ,sbcl-trivial-garbage)))
10132 (home-page "https://github.com/SahilKang/cl-rdkafka")
10133 (synopsis "Common Lisp client library for Apache Kafka")
10134 (description "A Common Lisp client library for Apache Kafka.")
10135 (license license:gpl3)))
10136
10137 (define-public cl-rdkafka
10138 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
10139
10140 (define-public ecl-cl-rdkafka
10141 (sbcl-package->ecl-package sbcl-cl-rdkafka))
10142
10143 (define-public sbcl-acclimation
10144 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
10145 (package
10146 (name "sbcl-acclimation")
10147 (version (git-version "0.0.0" "1" commit))
10148 (source
10149 (origin
10150 (method git-fetch)
10151 (uri (git-reference
10152 (url "https://github.com/robert-strandh/Acclimation")
10153 (commit commit)))
10154 (file-name (git-file-name name version))
10155 (sha256
10156 (base32
10157 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
10158 (build-system asdf-build-system/sbcl)
10159 (home-page "https://github.com/robert-strandh/Acclimation")
10160 (synopsis "Internationalization library for Common Lisp")
10161 (description "This project is meant to provide tools for
10162 internationalizing Common Lisp programs.
10163
10164 One important aspect of internationalization is of course the language used in
10165 error messages, documentation strings, etc. But with this project we provide
10166 tools for all other aspects of internationalization as well, including dates,
10167 weight, temperature, names of physical quantitites, etc.")
10168 (license license:bsd-2))))
10169
10170 (define-public cl-acclimation
10171 (sbcl-package->cl-source-package sbcl-acclimation))
10172
10173 (define-public ecl-acclimation
10174 (sbcl-package->ecl-package sbcl-acclimation))
10175
10176 (define-public sbcl-clump
10177 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
10178 (package
10179 (name "sbcl-clump")
10180 (version (git-version "0.0.0" "1" commit))
10181 (source
10182 (origin
10183 (method git-fetch)
10184 (uri (git-reference
10185 (url "https://github.com/robert-strandh/Clump")
10186 (commit commit)))
10187 (file-name (git-file-name name version))
10188 (sha256
10189 (base32
10190 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
10191 (inputs
10192 `(("acclimation" ,sbcl-acclimation)))
10193 (build-system asdf-build-system/sbcl)
10194 (home-page "https://github.com/robert-strandh/Clump")
10195 (synopsis "Collection of tree implementations for Common Lisp")
10196 (description "The purpose of this library is to provide a collection of
10197 implementations of trees.
10198
10199 In contrast to existing libraries such as cl-containers, it does not impose a
10200 particular use for the trees. Instead, it aims for a stratified design,
10201 allowing client code to choose between different levels of abstraction.
10202
10203 As a consequence of this policy, low-level interfaces are provided where
10204 the concrete representation is exposed, but also high level interfaces
10205 where the trees can be used as search trees or as trees that represent
10206 sequences of objects.")
10207 (license license:bsd-2))))
10208
10209 (define-public cl-clump
10210 (sbcl-package->cl-source-package sbcl-clump))
10211
10212 (define-public ecl-clump
10213 (sbcl-package->ecl-package sbcl-clump))
10214
10215 (define-public sbcl-cluffer
10216 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
10217 (package
10218 (name "sbcl-cluffer")
10219 (version (git-version "0.0.0" "1" commit))
10220 (source
10221 (origin
10222 (method git-fetch)
10223 (uri (git-reference
10224 (url "https://github.com/robert-strandh/cluffer")
10225 (commit commit)))
10226 (file-name (git-file-name name version))
10227 (sha256
10228 (base32
10229 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
10230 (build-system asdf-build-system/sbcl)
10231 (inputs
10232 `(("acclimation" ,sbcl-acclimation)
10233 ("clump" ,sbcl-clump)))
10234 (home-page "https://github.com/robert-strandh/cluffer")
10235 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
10236 (description "Cluffer is a library for representing the buffer of a text
10237 editor. As such, it defines a set of CLOS protocols for client code to
10238 interact with the buffer contents in various ways, and it supplies different
10239 implementations of those protocols for different purposes.")
10240 (license license:bsd-2))))
10241
10242 (define-public cl-cluffer
10243 (sbcl-package->cl-source-package sbcl-cluffer))
10244
10245 (define-public ecl-cluffer
10246 (sbcl-package->ecl-package sbcl-cluffer))
10247
10248 (define-public sbcl-cl-libsvm-format
10249 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
10250 (revision "0"))
10251 (package
10252 (name "sbcl-cl-libsvm-format")
10253 (version (git-version "0.1.0" revision commit))
10254 (source
10255 (origin
10256 (method git-fetch)
10257 (uri (git-reference
10258 (url "https://github.com/masatoi/cl-libsvm-format")
10259 (commit commit)))
10260 (file-name (git-file-name name version))
10261 (sha256
10262 (base32
10263 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
10264 (build-system asdf-build-system/sbcl)
10265 (native-inputs
10266 `(("prove" ,sbcl-prove)))
10267 (inputs
10268 `(("alexandria" ,sbcl-alexandria)))
10269 (synopsis "LibSVM data format reader for Common Lisp")
10270 (description
10271 "This Common Lisp library provides a fast reader for data in LibSVM
10272 format.")
10273 (home-page "https://github.com/masatoi/cl-libsvm-format")
10274 (license license:expat))))
10275
10276 (define-public cl-libsvm-format
10277 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
10278
10279 (define-public ecl-cl-libsvm-format
10280 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
10281
10282 (define-public sbcl-cl-online-learning
10283 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
10284 (revision "0"))
10285 (package
10286 (name "sbcl-cl-online-learning")
10287 (version (git-version "0.5" revision commit))
10288 (source
10289 (origin
10290 (method git-fetch)
10291 (uri (git-reference
10292 (url "https://github.com/masatoi/cl-online-learning")
10293 (commit commit)))
10294 (file-name (git-file-name name version))
10295 (sha256
10296 (base32
10297 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
10298 (build-system asdf-build-system/sbcl)
10299 (native-inputs
10300 `(("prove" ,sbcl-prove)))
10301 (inputs
10302 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10303 ("cl-store" ,sbcl-cl-store)))
10304 (arguments
10305 `(;; FIXME: Tests pass but then the check phase crashes
10306 #:tests? #f))
10307 (synopsis "Online Machine Learning for Common Lisp")
10308 (description
10309 "This library contains a collection of machine learning algorithms for
10310 online linear classification written in Common Lisp.")
10311 (home-page "https://github.com/masatoi/cl-online-learning")
10312 (license license:expat))))
10313
10314 (define-public cl-online-learning
10315 (sbcl-package->cl-source-package sbcl-cl-online-learning))
10316
10317 (define-public ecl-cl-online-learning
10318 (sbcl-package->ecl-package sbcl-cl-online-learning))
10319
10320 (define-public sbcl-cl-random-forest
10321 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
10322 (revision "1"))
10323 (package
10324 (name "sbcl-cl-random-forest")
10325 (version (git-version "0.1" revision commit))
10326 (source
10327 (origin
10328 (method git-fetch)
10329 (uri (git-reference
10330 (url "https://github.com/masatoi/cl-random-forest")
10331 (commit commit)))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32
10335 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
10336 (build-system asdf-build-system/sbcl)
10337 (native-inputs
10338 `(("prove" ,sbcl-prove)
10339 ("trivial-garbage" ,sbcl-trivial-garbage)))
10340 (inputs
10341 `(("alexandria" ,sbcl-alexandria)
10342 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
10343 ("cl-online-learning" ,sbcl-cl-online-learning)
10344 ("lparallel" ,sbcl-lparallel)))
10345 (arguments
10346 `(#:tests? #f)) ; The tests download data from the Internet
10347 (synopsis "Random Forest and Global Refinement for Common Lisp")
10348 (description
10349 "CL-random-forest is an implementation of Random Forest for multiclass
10350 classification and univariate regression written in Common Lisp. It also
10351 includes an implementation of Global Refinement of Random Forest.")
10352 (home-page "https://github.com/masatoi/cl-random-forest")
10353 (license license:expat))))
10354
10355 (define-public cl-random-forest
10356 (sbcl-package->cl-source-package sbcl-cl-random-forest))
10357
10358 (define-public ecl-cl-random-forest
10359 (sbcl-package->ecl-package sbcl-cl-random-forest))
10360
10361 (define-public sbcl-bordeaux-fft
10362 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
10363 (revision "0"))
10364 (package
10365 (name "sbcl-bordeaux-fft")
10366 (version (git-version "1.0.1" revision commit))
10367 (source
10368 (origin
10369 (method git-fetch)
10370 (uri (git-reference
10371 (url "https://github.com/ahefner/bordeaux-fft")
10372 (commit commit)))
10373 (file-name (git-file-name name version))
10374 (sha256
10375 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
10376 (build-system asdf-build-system/sbcl)
10377 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
10378 (synopsis "Fast Fourier Transform for Common Lisp")
10379 (description
10380 "The Bordeaux-FFT library provides a reasonably efficient implementation
10381 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
10382 portable Common Lisp.")
10383 (license license:gpl2+))))
10384
10385 (define-public cl-bordeaux-fft
10386 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
10387
10388 (define-public ecl-bordeaux-fft
10389 (sbcl-package->ecl-package sbcl-bordeaux-fft))
10390
10391 (define-public sbcl-napa-fft3
10392 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
10393 (revision "0"))
10394 (package
10395 (name "sbcl-napa-fft3")
10396 (version (git-version "0.0.1" revision commit))
10397 (source
10398 (origin
10399 (method git-fetch)
10400 (uri (git-reference
10401 (url "https://github.com/pkhuong/Napa-FFT3")
10402 (commit commit)))
10403 (file-name (git-file-name name version))
10404 (sha256
10405 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
10406 (build-system asdf-build-system/sbcl)
10407 (home-page "https://github.com/pkhuong/Napa-FFT3")
10408 (synopsis "Fast Fourier Transform routines in Common Lisp")
10409 (description
10410 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
10411 buildings blocks to express common operations that involve DFTs: filtering,
10412 convolutions, etc.")
10413 (license license:bsd-3))))
10414
10415 (define-public cl-napa-fft3
10416 (sbcl-package->cl-source-package sbcl-napa-fft3))
10417
10418 (define-public sbcl-cl-tga
10419 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
10420 (revision "0"))
10421 (package
10422 (name "sbcl-cl-tga")
10423 (version (git-version "0.0.0" revision commit))
10424 (source
10425 (origin
10426 (method git-fetch)
10427 (uri (git-reference
10428 (url "https://github.com/fisxoj/cl-tga")
10429 (commit commit)))
10430 (file-name (git-file-name name version))
10431 (sha256
10432 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
10433 (build-system asdf-build-system/sbcl)
10434 (home-page "https://github.com/fisxoj/cl-tga")
10435 (synopsis "TGA file loader for Common Lisp")
10436 (description
10437 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
10438 programs. It's a very simple library, and, at the moment, only supports
10439 non-RLE encoded forms of the files.")
10440 (license license:expat))))
10441
10442 (define-public cl-tga
10443 (sbcl-package->cl-source-package sbcl-cl-tga))
10444
10445 (define-public ecl-cl-tga
10446 (sbcl-package->ecl-package sbcl-cl-tga))
10447
10448 (define-public sbcl-com.gigamonkeys.binary-data
10449 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
10450 (revision "0"))
10451 (package
10452 (name "sbcl-com.gigamonkeys.binary-data")
10453 (version (git-version "0.0.0" revision commit))
10454 (source
10455 (origin
10456 (method git-fetch)
10457 (uri (git-reference
10458 (url "https://github.com/gigamonkey/monkeylib-binary-data")
10459 (commit commit)))
10460 (file-name (git-file-name name version))
10461 (sha256
10462 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
10463 (build-system asdf-build-system/sbcl)
10464 (inputs
10465 `(("alexandria" ,sbcl-alexandria)))
10466 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
10467 (synopsis "Common Lisp library for reading and writing binary data")
10468 (description
10469 "This a Common Lisp library for reading and writing binary data. It is
10470 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
10471 (license license:bsd-3))))
10472
10473 (define-public cl-com.gigamonkeys.binary-data
10474 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
10475
10476 (define-public ecl-com.gigamonkeys.binary-data
10477 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
10478
10479 (define-public sbcl-deflate
10480 (package
10481 (name "sbcl-deflate")
10482 (version "1.0.3")
10483 (source
10484 (origin
10485 (method git-fetch)
10486 (uri (git-reference
10487 (url "https://github.com/pmai/Deflate")
10488 (commit (string-append "release-" version))))
10489 (file-name (git-file-name name version))
10490 (sha256
10491 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
10492 (build-system asdf-build-system/sbcl)
10493 (home-page "https://github.com/pmai/Deflate")
10494 (synopsis "Native deflate decompression for Common Lisp")
10495 (description
10496 "This library is an implementation of Deflate (RFC 1951) decompression,
10497 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
10498 wrappers of deflate streams. It currently does not handle compression.")
10499 (license license:expat)))
10500
10501 (define-public cl-deflate
10502 (sbcl-package->cl-source-package sbcl-deflate))
10503
10504 (define-public ecl-deflate
10505 (sbcl-package->ecl-package sbcl-deflate))
10506
10507 (define-public sbcl-skippy
10508 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
10509 (revision "0"))
10510 (package
10511 (name "sbcl-skippy")
10512 (version (git-version "1.3.12" revision commit))
10513 (source
10514 (origin
10515 (method git-fetch)
10516 (uri (git-reference
10517 (url "https://github.com/xach/skippy")
10518 (commit commit)))
10519 (file-name (git-file-name name version))
10520 (sha256
10521 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
10522 (build-system asdf-build-system/sbcl)
10523 (home-page "https://xach.com/lisp/skippy/")
10524 (synopsis "Common Lisp library for GIF images")
10525 (description
10526 "Skippy is a Common Lisp library to read and write GIF image files.")
10527 (license license:bsd-2))))
10528
10529 (define-public cl-skippy
10530 (sbcl-package->cl-source-package sbcl-skippy))
10531
10532 (define-public ecl-skippy
10533 (sbcl-package->ecl-package sbcl-skippy))
10534
10535 (define-public sbcl-cl-freetype2
10536 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
10537 (revision "0"))
10538 (package
10539 (name "sbcl-cl-freetype2")
10540 (version (git-version "1.1" revision commit))
10541 (source
10542 (origin
10543 (method git-fetch)
10544 (uri (git-reference
10545 (url "https://github.com/rpav/cl-freetype2")
10546 (commit commit)))
10547 (file-name (git-file-name name version))
10548 (sha256
10549 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
10550 (build-system asdf-build-system/sbcl)
10551 (native-inputs
10552 `(("fiveam" ,sbcl-fiveam)))
10553 (inputs
10554 `(("alexandria" ,sbcl-alexandria)
10555 ("cffi" ,sbcl-cffi)
10556 ("freetype" ,freetype)
10557 ("trivial-garbage" ,sbcl-trivial-garbage)))
10558 (arguments
10559 `(#:phases
10560 (modify-phases %standard-phases
10561 (add-after 'unpack 'fix-paths
10562 (lambda* (#:key inputs #:allow-other-keys)
10563 (substitute* "src/ffi/ft2-lib.lisp"
10564 (("\"libfreetype\"")
10565 (string-append "\"" (assoc-ref inputs "freetype")
10566 "/lib/libfreetype\"")))
10567 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
10568 (("-I/usr/include/freetype")
10569 (string-append "-I" (assoc-ref inputs "freetype")
10570 "/include/freetype")))
10571 #t)))))
10572 (home-page "https://github.com/rpav/cl-freetype2")
10573 (synopsis "Common Lisp bindings for Freetype 2")
10574 (description
10575 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
10576 geared toward both using Freetype directly by providing a simplified API, as
10577 well as providing access to the underlying C structures and functions for use
10578 with other libraries which may also use Freetype.")
10579 (license license:bsd-3))))
10580
10581 (define-public cl-freetype2
10582 (sbcl-package->cl-source-package sbcl-cl-freetype2))
10583
10584 (define-public ecl-cl-freetype2
10585 (sbcl-package->ecl-package sbcl-cl-freetype2))
10586
10587 (define-public sbcl-opticl-core
10588 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
10589 (revision "0"))
10590 (package
10591 (name "sbcl-opticl-core")
10592 (version (git-version "0.0.0" revision commit))
10593 (source
10594 (origin
10595 (method git-fetch)
10596 (uri (git-reference
10597 (url "https://github.com/slyrus/opticl-core")
10598 (commit commit)))
10599 (file-name (git-file-name name version))
10600 (sha256
10601 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
10602 (build-system asdf-build-system/sbcl)
10603 (inputs
10604 `(("alexandria" ,sbcl-alexandria)))
10605 (home-page "https://github.com/slyrus/opticl-core")
10606 (synopsis "Core classes and pixel access macros for Opticl")
10607 (description
10608 "This Common Lisp library contains the core classes and pixel access
10609 macros for the Opticl image processing library.")
10610 (license license:bsd-2))))
10611
10612 (define-public cl-opticl-core
10613 (sbcl-package->cl-source-package sbcl-opticl-core))
10614
10615 (define-public ecl-opticl-core
10616 (sbcl-package->ecl-package sbcl-opticl-core))
10617
10618 (define-public sbcl-retrospectiff
10619 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
10620 (revision "0"))
10621 (package
10622 (name "sbcl-retrospectiff")
10623 (version (git-version "0.2" revision commit))
10624 (source
10625 (origin
10626 (method git-fetch)
10627 (uri (git-reference
10628 (url "https://github.com/slyrus/retrospectiff")
10629 (commit commit)))
10630 (file-name (git-file-name name version))
10631 (sha256
10632 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
10633 (build-system asdf-build-system/sbcl)
10634 (native-inputs
10635 `(("fiveam" ,sbcl-fiveam)))
10636 (inputs
10637 `(("cl-jpeg" ,sbcl-cl-jpeg)
10638 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
10639 ("deflate" ,sbcl-deflate)
10640 ("flexi-streams" ,sbcl-flexi-streams)
10641 ("ieee-floats" ,sbcl-ieee-floats)
10642 ("opticl-core" ,sbcl-opticl-core)))
10643 (home-page "https://github.com/slyrus/retrospectiff")
10644 (synopsis "Common Lisp library for TIFF images")
10645 (description
10646 "Retrospectiff is a common lisp library for reading and writing images
10647 in the TIFF (Tagged Image File Format) format.")
10648 (license license:bsd-2))))
10649
10650 (define-public cl-retrospectif
10651 (sbcl-package->cl-source-package sbcl-retrospectiff))
10652
10653 (define-public ecl-retrospectiff
10654 (sbcl-package->ecl-package sbcl-retrospectiff))
10655
10656 (define-public sbcl-mmap
10657 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
10658 (revision "0"))
10659 (package
10660 (name "sbcl-mmap")
10661 (version (git-version "1.0.0" revision commit))
10662 (source
10663 (origin
10664 (method git-fetch)
10665 (uri (git-reference
10666 (url "https://github.com/Shinmera/mmap")
10667 (commit commit)))
10668 (file-name (git-file-name name version))
10669 (sha256
10670 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
10671 (build-system asdf-build-system/sbcl)
10672 (native-inputs
10673 `(("alexandria" ,sbcl-alexandria)
10674 ("cffi" ,sbcl-cffi)
10675 ("parachute" ,sbcl-parachute)
10676 ("trivial-features" ,sbcl-trivial-features)))
10677 (inputs
10678 `(("cffi" ,sbcl-cffi)
10679 ("documentation-utils" ,sbcl-documentation-utils)))
10680 (home-page "https://shinmera.github.io/mmap/")
10681 (synopsis "File memory mapping for Common Lisp")
10682 (description
10683 "This is a utility library providing access to the @emph{mmap} family of
10684 functions in a portable way. It allows you to directly map a file into the
10685 address space of your process without having to manually read it into memory
10686 sequentially. Typically this is much more efficient for files that are larger
10687 than a few Kb.")
10688 (license license:zlib))))
10689
10690 (define-public cl-mmap
10691 (sbcl-package->cl-source-package sbcl-mmap))
10692
10693 (define-public ecl-mmap
10694 (sbcl-package->ecl-package sbcl-mmap))
10695
10696 (define-public sbcl-3bz
10697 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
10698 (revision "0"))
10699 (package
10700 (name "sbcl-3bz")
10701 (version (git-version "0.0.0" revision commit))
10702 (source
10703 (origin
10704 (method git-fetch)
10705 (uri (git-reference
10706 (url "https://github.com/3b/3bz")
10707 (commit commit)))
10708 (file-name (git-file-name name version))
10709 (sha256
10710 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
10711 (build-system asdf-build-system/sbcl)
10712 (inputs
10713 `(("alexandria" ,sbcl-alexandria)
10714 ("babel" ,sbcl-babel)
10715 ("cffi" ,sbcl-cffi)
10716 ("mmap" ,sbcl-mmap)
10717 ("nibbles" ,sbcl-nibbles)
10718 ("trivial-features" ,sbcl-trivial-features)))
10719 (arguments
10720 ;; FIXME: Without the following line, the build fails (see issue 41437).
10721 `(#:asd-systems '("3bz")))
10722 (home-page "https://github.com/3b/3bz")
10723 (synopsis "Deflate decompression for Common Lisp")
10724 (description
10725 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
10726 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
10727 foreign pointers (for use with mmap and similar, etc), and from CL octet
10728 vectors and streams.")
10729 (license license:expat))))
10730
10731 (define-public cl-3bz
10732 (sbcl-package->cl-source-package sbcl-3bz))
10733
10734 (define-public ecl-3bz
10735 (sbcl-package->ecl-package sbcl-3bz))
10736
10737 (define-public sbcl-zpb-exif
10738 (package
10739 (name "sbcl-zpb-exif")
10740 (version "1.2.4")
10741 (source
10742 (origin
10743 (method git-fetch)
10744 (uri (git-reference
10745 (url "https://github.com/xach/zpb-exif")
10746 (commit (string-append "release-" version))))
10747 (file-name (git-file-name name version))
10748 (sha256
10749 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
10750 (build-system asdf-build-system/sbcl)
10751 (home-page "https://xach.com/lisp/zpb-exif/")
10752 (synopsis "EXIF information extractor for Common Lisp")
10753 (description
10754 "This is a Common Lisp library to extract EXIF information from image
10755 files.")
10756 (license license:bsd-2)))
10757
10758 (define-public cl-zpb-exif
10759 (sbcl-package->cl-source-package sbcl-zpb-exif))
10760
10761 (define-public ecl-zpb-exif
10762 (sbcl-package->ecl-package sbcl-zpb-exif))
10763
10764 (define-public sbcl-pngload
10765 (package
10766 (name "sbcl-pngload")
10767 (version "2.0.0")
10768 (source
10769 (origin
10770 (method git-fetch)
10771 (uri (git-reference
10772 (url "https://github.com/bufferswap/pngload")
10773 (commit version)))
10774 (file-name (git-file-name name version))
10775 (sha256
10776 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
10777 (build-system asdf-build-system/sbcl)
10778 (inputs
10779 `(("3bz" ,sbcl-3bz)
10780 ("alexandria" ,sbcl-alexandria)
10781 ("cffi" ,sbcl-cffi)
10782 ("mmap" ,sbcl-mmap)
10783 ("parse-float" ,sbcl-parse-float)
10784 ("static-vectors" ,sbcl-static-vectors)
10785 ("swap-bytes" ,sbcl-swap-bytes)
10786 ("zpb-exif" ,sbcl-zpb-exif)))
10787 (arguments
10788 ;; Test suite disabled because of a dependency cycle.
10789 ;; pngload tests depend on opticl which depends on pngload.
10790 '(#:tests? #f))
10791 (home-page "https://github.com/bufferswap/pngload")
10792 (synopsis "PNG image decoder for Common Lisp")
10793 (description
10794 "This is a Common Lisp library to load images in the PNG image format,
10795 both from files on disk, or streams in memory.")
10796 (license license:expat)))
10797
10798 (define-public cl-pngload
10799 (sbcl-package->cl-source-package sbcl-pngload))
10800
10801 (define-public ecl-pngload
10802 (sbcl-package->ecl-package sbcl-pngload))
10803
10804 (define-public sbcl-opticl
10805 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
10806 (revision "0"))
10807 (package
10808 (name "sbcl-opticl")
10809 (version (git-version "0.0.0" revision commit))
10810 (source
10811 (origin
10812 (method git-fetch)
10813 (uri (git-reference
10814 (url "https://github.com/slyrus/opticl")
10815 (commit commit)))
10816 (file-name (git-file-name name version))
10817 (sha256
10818 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
10819 (build-system asdf-build-system/sbcl)
10820 (native-inputs
10821 `(("fiveam" ,sbcl-fiveam)))
10822 (inputs
10823 `(("alexandria" ,sbcl-alexandria)
10824 ("cl-jpeg" ,sbcl-cl-jpeg)
10825 ("cl-tga" ,sbcl-cl-tga)
10826 ("png-read" ,sbcl-png-read)
10827 ("pngload" ,sbcl-pngload)
10828 ("retrospectiff" ,sbcl-retrospectiff)
10829 ("skippy" ,sbcl-skippy)
10830 ("zpng" ,sbcl-zpng)))
10831 (arguments
10832 '(#:asd-files '("opticl.asd")))
10833 (home-page "https://github.com/slyrus/opticl")
10834 (synopsis "Image processing library for Common Lisp")
10835 (description
10836 "Opticl is a Common Lisp library for representing, processing, loading,
10837 and saving 2-dimensional pixel-based images.")
10838 (license license:bsd-2))))
10839
10840 (define-public cl-opticl
10841 (sbcl-package->cl-source-package sbcl-opticl))
10842
10843 (define-public ecl-opticl
10844 (sbcl-package->ecl-package sbcl-opticl))
10845
10846 (define-public sbcl-mcclim
10847 (let ((commit "04cc542dd4b461b9d56406e40681d1a8f080730f")
10848 (revision "1"))
10849 (package
10850 (name "sbcl-mcclim")
10851 (version (git-version "0.9.7" revision commit))
10852 (source
10853 (origin
10854 (method git-fetch)
10855 (uri (git-reference
10856 (url "https://github.com/mcclim/mcclim")
10857 (commit commit)))
10858 (file-name (git-file-name name version))
10859 (sha256
10860 (base32 "1xjly8i62z72hfhlnz5kjd9i8xhrwckc7avyizxvhih67pkjmsx0"))))
10861 (build-system asdf-build-system/sbcl)
10862 (native-inputs
10863 `(("fiveam" ,sbcl-fiveam)
10864 ("pkg-config" ,pkg-config)))
10865 (inputs
10866 `(("alexandria" ,sbcl-alexandria)
10867 ("babel" ,sbcl-babel)
10868 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10869 ("cl-freetype2" ,sbcl-cl-freetype2)
10870 ("cl-pdf" ,sbcl-cl-pdf)
10871 ("cffi" ,sbcl-cffi)
10872 ("cl-unicode" ,sbcl-cl-unicode)
10873 ("cl-vectors" ,sbcl-cl-vectors)
10874 ("closer-mop" ,sbcl-closer-mop)
10875 ("clx" ,sbcl-clx)
10876 ("flexi-streams" ,sbcl-flexi-streams)
10877 ("flexichain" ,sbcl-flexichain)
10878 ("font-dejavu" ,font-dejavu)
10879 ("fontconfig" ,fontconfig)
10880 ("freetype" ,freetype)
10881 ("harfbuzz" ,harfbuzz)
10882 ("log4cl" ,sbcl-log4cl)
10883 ("opticl" ,sbcl-opticl)
10884 ("spatial-trees" ,sbcl-spatial-trees)
10885 ("swank" ,sbcl-slime-swank)
10886 ("trivial-features" ,sbcl-trivial-features)
10887 ("trivial-garbage" ,sbcl-trivial-garbage)
10888 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
10889 ("zpb-ttf" ,sbcl-zpb-ttf)))
10890 (arguments
10891 '(#:asd-systems '("mcclim"
10892 "clim-examples")
10893 #:phases
10894 (modify-phases %standard-phases
10895 (add-after 'unpack 'fix-paths
10896 (lambda* (#:key inputs #:allow-other-keys)
10897 ;; mcclim-truetype uses DejaVu as default font and
10898 ;; sets the path at build time.
10899 (substitute* "Extensions/fonts/fontconfig.lisp"
10900 (("/usr/share/fonts/truetype/dejavu/")
10901 (string-append (assoc-ref inputs "font-dejavu")
10902 "/share/fonts/truetype/")))
10903 (substitute* "Extensions/fontconfig/src/functions.lisp"
10904 (("libfontconfig\\.so")
10905 (string-append (assoc-ref inputs "fontconfig")
10906 "/lib/libfontconfig.so")))
10907 (substitute* "Extensions/harfbuzz/src/functions.lisp"
10908 (("libharfbuzz\\.so")
10909 (string-append (assoc-ref inputs "harfbuzz")
10910 "/lib/libharfbuzz.so")))
10911 #t))
10912 (add-after 'unpack 'fix-build
10913 (lambda _
10914 ;; The cffi-grovel system does not get loaded automatically,
10915 ;; so we load it explicitly.
10916 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
10917 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
10918 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10919 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
10920 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
10921 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
10922 #t)))))
10923 (home-page "https://common-lisp.net/project/mcclim/")
10924 (synopsis "Common Lisp GUI toolkit")
10925 (description
10926 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
10927 specification}, a toolkit for writing GUIs in Common Lisp.")
10928 (license license:lgpl2.1+))))
10929
10930 (define-public cl-mcclim
10931 (sbcl-package->cl-source-package sbcl-mcclim))
10932
10933 (define-public ecl-mcclim
10934 (sbcl-package->ecl-package sbcl-mcclim))
10935
10936 (define-public sbcl-cl-inflector
10937 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
10938 (revision "1"))
10939 (package
10940 (name "sbcl-cl-inflector")
10941 (version (git-version "0.2" revision commit))
10942 (source
10943 (origin
10944 (method git-fetch)
10945 (uri (git-reference
10946 (url "https://github.com/AccelerationNet/cl-inflector")
10947 (commit commit)))
10948 (file-name (git-file-name name version))
10949 (sha256
10950 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
10951 (build-system asdf-build-system/sbcl)
10952 (native-inputs
10953 `(("lisp-unit2" ,sbcl-lisp-unit2)))
10954 (inputs
10955 `(("alexandria" ,sbcl-alexandria)
10956 ("cl-ppcre" ,sbcl-cl-ppcre)))
10957 (home-page "https://github.com/AccelerationNet/cl-inflector")
10958 (synopsis "Library to pluralize/singularize English and Portuguese words")
10959 (description
10960 "This is a common lisp library to easily pluralize and singularize
10961 English and Portuguese words. This is a port of the ruby ActiveSupport
10962 Inflector module.")
10963 (license license:expat))))
10964
10965 (define-public cl-inflector
10966 (sbcl-package->cl-source-package sbcl-cl-inflector))
10967
10968 (define-public ecl-cl-inflector
10969 (sbcl-package->ecl-package sbcl-cl-inflector))
10970
10971 (define-public sbcl-ixf
10972 (let ((commit "ed26f87e4127e4a9e3aac4ff1e60d1f39cca5183")
10973 (revision "1"))
10974 (package
10975 (name "sbcl-ixf")
10976 (version (git-version "0.1.0" revision commit))
10977 (source
10978 (origin
10979 (method git-fetch)
10980 (uri (git-reference
10981 (url "https://github.com/dimitri/cl-ixf")
10982 (commit commit)))
10983 (file-name (git-file-name "cl-ixf" version))
10984 (sha256
10985 (base32 "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa"))))
10986 (build-system asdf-build-system/sbcl)
10987 (inputs
10988 `(("alexandria" ,sbcl-alexandria)
10989 ("babel" ,sbcl-babel)
10990 ("cl-ppcre" ,sbcl-cl-ppcre)
10991 ("ieee-floats" ,sbcl-ieee-floats)
10992 ("local-time" ,sbcl-local-time)
10993 ("md5" ,sbcl-md5)
10994 ("split-sequence" ,sbcl-split-sequence)))
10995 (home-page "https://github.com/dimitri/cl-ixf")
10996 (synopsis "Parse IBM IXF file format")
10997 (description
10998 "This is a Common Lisp library to handle the IBM PC version of the IXF
10999 (Integration Exchange Format) file format.")
11000 (license license:public-domain))))
11001
11002 (define-public ecl-ixf
11003 (sbcl-package->ecl-package sbcl-ixf))
11004
11005 (define-public cl-ixf
11006 (sbcl-package->cl-source-package sbcl-ixf))
11007
11008 (define-public sbcl-qbase64
11009 (package
11010 (name "sbcl-qbase64")
11011 (version "0.3.0")
11012 (source
11013 (origin
11014 (method git-fetch)
11015 (uri (git-reference
11016 (url "https://github.com/chaitanyagupta/qbase64")
11017 (commit version)))
11018 (file-name (git-file-name name version))
11019 (sha256
11020 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
11021 (build-system asdf-build-system/sbcl)
11022 (inputs
11023 `(("metabang-bind" ,sbcl-metabang-bind)
11024 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11025 (native-inputs
11026 `(("fiveam" ,sbcl-fiveam)))
11027 (home-page "https://github.com/chaitanyagupta/qbase64")
11028 (synopsis "Base64 encoder and decoder for Common Lisp")
11029 (description "@code{qbase64} provides a fast and flexible base64 encoder
11030 and decoder for Common Lisp.")
11031 (license license:bsd-3)))
11032
11033 (define-public cl-qbase64
11034 (sbcl-package->cl-source-package sbcl-qbase64))
11035
11036 (define-public ecl-qbase64
11037 (sbcl-package->ecl-package sbcl-qbase64))
11038
11039 (define-public sbcl-lw-compat
11040 ;; No release since 2013.
11041 (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
11042 (package
11043 (name "sbcl-lw-compat")
11044 (version (git-version "1.0.0" "1" commit))
11045 (source
11046 (origin
11047 (method git-fetch)
11048 (uri (git-reference
11049 (url "https://github.com/pcostanza/lw-compat/")
11050 (commit commit)))
11051 (file-name (git-file-name name version))
11052 (sha256
11053 (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
11054 (build-system asdf-build-system/sbcl)
11055 (home-page "https://github.com/pcostanza/lw-compat/")
11056 (synopsis "LispWorks utilities ported to other Common Lisp implementations")
11057 (description "This package contains a few utility functions from the
11058 LispWorks library that are used in software such as ContextL.")
11059 (license license:expat))))
11060
11061 (define-public cl-lw-compat
11062 (sbcl-package->cl-source-package sbcl-lw-compat))
11063
11064 (define-public ecl-lw-compat
11065 (sbcl-package->ecl-package sbcl-lw-compat))
11066
11067 (define-public sbcl-contextl
11068 ;; No release since 2013.
11069 (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
11070 (package
11071 (name "sbcl-contextl")
11072 (version (git-version "1.0.0" "1" commit))
11073 (source
11074 (origin
11075 (method git-fetch)
11076 (uri (git-reference
11077 (url "https://github.com/pcostanza/contextl/")
11078 (commit commit)))
11079 (file-name (git-file-name name version))
11080 (sha256
11081 (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
11082 (build-system asdf-build-system/sbcl)
11083 (inputs
11084 `(("closer-mop" ,sbcl-closer-mop)
11085 ("lw-compat" ,sbcl-lw-compat)))
11086 (home-page "https://github.com/pcostanza/contextl")
11087 (synopsis "Context-oriented programming for Common Lisp")
11088 (description "ContextL is a CLOS extension for Context-Oriented
11089 Programming (COP).
11090
11091 Find overview of ContextL's features in an overview paper:
11092 @url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
11093 overview article about COP which also contains some ContextL examples:
11094 @url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
11095 (license license:expat))))
11096
11097 (define-public cl-contextl
11098 (sbcl-package->cl-source-package sbcl-contextl))
11099
11100 (define-public ecl-contextl
11101 (sbcl-package->ecl-package sbcl-contextl))
11102
11103 (define-public sbcl-hu.dwim.common-lisp
11104 (package
11105 (name "sbcl-hu.dwim.common-lisp")
11106 (version "2015-07-09")
11107 (source
11108 (origin
11109 (method url-fetch)
11110 (uri (string-append
11111 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
11112 version "/hu.dwim.common-lisp-"
11113 (string-replace-substring version "-" "")
11114 "-darcs.tgz"))
11115 (sha256
11116 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
11117 (build-system asdf-build-system/sbcl)
11118 (native-inputs
11119 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11120 (home-page "http://dwim.hu/")
11121 (synopsis "Redefine some standard Common Lisp names")
11122 (description "This library is a redefinition of the standard Common Lisp
11123 package that includes a number of renames and shadows. ")
11124 (license license:public-domain)))
11125
11126 (define-public cl-hu.dwim.common-lisp
11127 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
11128
11129 (define-public ecl-hu.dwim.common-lisp
11130 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
11131
11132 (define-public sbcl-hu.dwim.common
11133 (package
11134 (name "sbcl-hu.dwim.common")
11135 (version "2015-07-09")
11136 (source
11137 (origin
11138 (method url-fetch)
11139 (uri (string-append
11140 "http://beta.quicklisp.org/archive/hu.dwim.common/"
11141 version "/hu.dwim.common-"
11142 (string-replace-substring version "-" "")
11143 "-darcs.tgz"))
11144 (sha256
11145 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
11146 (build-system asdf-build-system/sbcl)
11147 (native-inputs
11148 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11149 (inputs
11150 `(("alexandria" ,sbcl-alexandria)
11151 ("anaphora" ,sbcl-anaphora)
11152 ("closer-mop" ,sbcl-closer-mop)
11153 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
11154 ("iterate" ,sbcl-iterate)
11155 ("metabang-bind" ,sbcl-metabang-bind)))
11156 (home-page "http://dwim.hu/")
11157 (synopsis "Common Lisp library shared by other hu.dwim systems")
11158 (description "This package contains a support library for other
11159 hu.dwim systems.")
11160 (license license:public-domain)))
11161
11162 (define-public cl-hu.dwim.common
11163 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
11164
11165 (define-public ecl-hu.dwim.common
11166 (sbcl-package->ecl-package sbcl-hu.dwim.common))
11167
11168 (define-public sbcl-hu.dwim.defclass-star
11169 (package
11170 (name "sbcl-hu.dwim.defclass-star")
11171 (version "2015-07-09")
11172 (source
11173 (origin
11174 (method url-fetch)
11175 (uri (string-append
11176 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
11177 version "/hu.dwim.defclass-star-"
11178 (string-replace-substring version "-" "")
11179 "-darcs.tgz"))
11180 (sha256
11181 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
11182 (build-system asdf-build-system/sbcl)
11183 (native-inputs
11184 `(;; These 2 inputs are only needed tests which are disabled, see below.
11185 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
11186 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
11187 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
11188 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
11189 (arguments
11190 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
11191 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
11192 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
11193 #:tests? #f))
11194 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
11195 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
11196 (description "@code{defclass-star} provides defclass* and defcondition* to
11197 simplify class and condition declarations. Features include:
11198
11199 @itemize
11200 @item Automatically export all or select slots at compile time.
11201 @item Define the @code{:initarg} and @code{:accessor} automatically.
11202 @item Specify a name transformer for both the @code{:initarg} and
11203 @code{:accessor}, etc.
11204 @item Specify the @code{:initform} as second slot value.
11205 @end itemize
11206
11207 See
11208 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
11209 for an example.")
11210 (license license:public-domain)))
11211
11212 (define-public cl-hu.dwim.defclass-star
11213 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
11214
11215 (define-public ecl-hu.dwim.defclass-star
11216 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
11217
11218 (define-public sbcl-livesupport
11219 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
11220 (revision "1"))
11221 (package
11222 (name "sbcl-livesupport")
11223 (version (git-version "0.0.0" revision commit))
11224 (source
11225 (origin
11226 (method git-fetch)
11227 (uri (git-reference
11228 (url "https://github.com/cbaggers/livesupport")
11229 (commit commit)))
11230 (file-name (git-file-name name version))
11231 (sha256
11232 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
11233 (build-system asdf-build-system/sbcl)
11234 (home-page "https://github.com/cbaggers/livesupport")
11235 (synopsis "Some helpers that make livecoding a little easier")
11236 (description "This package provides a macro commonly used in livecoding to
11237 enable continuing when errors are raised. Simply wrap around a chunk of code
11238 and it provides a restart called @code{continue} which ignores the error and
11239 carrys on from the end of the body.")
11240 (license license:bsd-2))))
11241
11242 (define-public cl-livesupport
11243 (sbcl-package->cl-source-package sbcl-livesupport))
11244
11245 (define-public ecl-livesupport
11246 (sbcl-package->ecl-package sbcl-livesupport))
11247
11248 (define-public sbcl-envy
11249 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
11250 (revision "1"))
11251 (package
11252 (name "sbcl-envy")
11253 (version (git-version "0.1" revision commit))
11254 (home-page "https://github.com/fukamachi/envy")
11255 (source
11256 (origin
11257 (method git-fetch)
11258 (uri (git-reference
11259 (url home-page)
11260 (commit commit)))
11261 (file-name (git-file-name name version))
11262 (sha256
11263 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
11264 (build-system asdf-build-system/sbcl)
11265 ;; (native-inputs ; Only for tests.
11266 ;; `(("prove" ,sbcl-prove)
11267 ;; ("osicat" ,sbcl-osicat)))
11268 (arguments
11269 '(#:phases
11270 (modify-phases %standard-phases
11271 (add-after 'unpack 'fix-tests
11272 (lambda _
11273 (substitute* "envy-test.asd"
11274 (("cl-test-more") "prove"))
11275 #t)))
11276 ;; Tests fail with
11277 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
11278 ;; like xsubseq. Why?
11279 #:tests? #f))
11280 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
11281 (description "Envy is a configuration manager for various applications.
11282 Envy uses an environment variable to determine a configuration to use. This
11283 can separate configuration system from an implementation.")
11284 (license license:bsd-2))))
11285
11286 (define-public cl-envy
11287 (sbcl-package->cl-source-package sbcl-envy))
11288
11289 (define-public ecl-envy
11290 (sbcl-package->ecl-package sbcl-envy))
11291
11292 (define-public sbcl-mito
11293 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
11294 (revision "1"))
11295 (package
11296 (name "sbcl-mito")
11297 (version (git-version "0.1" revision commit))
11298 (home-page "https://github.com/fukamachi/mito")
11299 (source
11300 (origin
11301 (method git-fetch)
11302 (uri (git-reference
11303 (url home-page)
11304 (commit commit)))
11305 (file-name (git-file-name name version))
11306 (sha256
11307 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
11308 (build-system asdf-build-system/sbcl)
11309 (native-inputs
11310 `(("prove" ,sbcl-prove)))
11311 (inputs
11312 `(("alexandria" ,sbcl-alexandria)
11313 ("cl-ppcre" ,sbcl-cl-ppcre)
11314 ("cl-reexport" ,sbcl-cl-reexport)
11315 ("closer-mop" ,sbcl-closer-mop)
11316 ("dbi" ,sbcl-dbi)
11317 ("dissect" ,sbcl-dissect)
11318 ("esrap" ,sbcl-esrap)
11319 ("local-time" ,sbcl-local-time)
11320 ("optima" ,sbcl-optima)
11321 ("sxql" ,sbcl-sxql)
11322 ("uuid" ,sbcl-uuid)))
11323 (arguments
11324 '(#:phases
11325 (modify-phases %standard-phases
11326 (add-after 'unpack 'remove-non-functional-tests
11327 (lambda _
11328 (substitute* "mito-test.asd"
11329 (("\\(:test-file \"db/mysql\"\\)") "")
11330 (("\\(:test-file \"db/postgres\"\\)") "")
11331 (("\\(:test-file \"dao\"\\)") "")
11332 ;; TODO: migration/sqlite3 should work, re-enable once
11333 ;; upstream has fixed it:
11334 ;; https://github.com/fukamachi/mito/issues/70
11335 (("\\(:test-file \"migration/sqlite3\"\\)") "")
11336 (("\\(:test-file \"migration/mysql\"\\)") "")
11337 (("\\(:test-file \"migration/postgres\"\\)") "")
11338 (("\\(:test-file \"postgres-types\"\\)") "")
11339 (("\\(:test-file \"mixin\"\\)") ""))
11340 #t)))
11341 ;; TODO: While all enabled tests pass, the phase fails with:
11342 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
11343 #:tests? #f))
11344 (synopsis "ORM for Common Lisp with migrations and relationships support")
11345 (description "Mito is yet another object relational mapper, and it aims
11346 to be a successor of Integral.
11347
11348 @itemize
11349 @item Support MySQL, PostgreSQL and SQLite3.
11350 @item Add id (serial/uuid primary key), created_at and updated_at by default
11351 like Ruby's ActiveRecord.
11352 @item Migrations.
11353 @item Database schema versioning.
11354 @end itemize\n")
11355 (license license:llgpl))))
11356
11357 (define-public cl-mito
11358 (sbcl-package->cl-source-package sbcl-mito))
11359
11360 (define-public ecl-mito
11361 (sbcl-package->ecl-package sbcl-mito))
11362
11363 (define-public sbcl-kebab
11364 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
11365 (revision "1"))
11366 (package
11367 (name "sbcl-kebab")
11368 (version (git-version "0.1" revision commit))
11369 (home-page "https://github.com/pocket7878/kebab")
11370 (source
11371 (origin
11372 (method git-fetch)
11373 (uri (git-reference
11374 (url home-page)
11375 (commit commit)))
11376 (file-name (git-file-name name version))
11377 (sha256
11378 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
11379 (build-system asdf-build-system/sbcl)
11380 (inputs
11381 `(("cl-ppcre" ,sbcl-cl-ppcre)
11382 ("alexandria" ,sbcl-alexandria)
11383 ("cl-interpol" ,sbcl-cl-interpol)
11384 ("split-sequence" ,sbcl-split-sequence)))
11385 (native-inputs
11386 `(("prove" ,sbcl-prove)))
11387 (arguments
11388 ;; Tests passes but the phase fails with
11389 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
11390 `(#:tests? #f))
11391 (synopsis "Common Lisp case converter")
11392 (description "This Common Lisp library converts strings, symbols and
11393 keywords between any of the following typographical cases: PascalCase,
11394 camelCase, snake_case, kebab-case (lisp-case).")
11395 (license license:llgpl))))
11396
11397 (define-public cl-kebab
11398 (sbcl-package->cl-source-package sbcl-kebab))
11399
11400 (define-public ecl-kebab
11401 (sbcl-package->ecl-package sbcl-kebab))
11402
11403 (define-public sbcl-datafly
11404 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
11405 (revision "1"))
11406 (package
11407 (name "sbcl-datafly")
11408 (version (git-version "0.1" revision commit))
11409 (home-page "https://github.com/fukamachi/datafly")
11410 (source
11411 (origin
11412 (method git-fetch)
11413 (uri (git-reference
11414 (url home-page)
11415 (commit commit)))
11416 (file-name (git-file-name name version))
11417 (sha256
11418 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
11419 (build-system asdf-build-system/sbcl)
11420 (inputs
11421 `(("alexandria" ,sbcl-alexandria)
11422 ("iterate" ,sbcl-iterate)
11423 ("optima" ,sbcl-optima)
11424 ("trivial-types" ,sbcl-trivial-types)
11425 ("closer-mop" ,sbcl-closer-mop)
11426 ("cl-syntax" ,sbcl-cl-syntax)
11427 ("sxql" ,sbcl-sxql)
11428 ("dbi" ,sbcl-dbi)
11429 ("babel" ,sbcl-babel)
11430 ("local-time" ,sbcl-local-time)
11431 ("function-cache" ,sbcl-function-cache)
11432 ("jonathan" ,sbcl-jonathan)
11433 ("kebab" ,sbcl-kebab)
11434 ("log4cl" ,sbcl-log4cl)))
11435 (native-inputs
11436 `(("prove" ,sbcl-prove)))
11437 (arguments
11438 ;; TODO: Tests fail with
11439 ;; While evaluating the form starting at line 22, column 0
11440 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
11441 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11442 ;; {10009F8083}>:
11443 ;; Error when binding parameter 1 to value NIL.
11444 ;; Code RANGE: column index out of range.
11445 `(#:tests? #f))
11446 (synopsis "Lightweight database library for Common Lisp")
11447 (description "Datafly is a lightweight database library for Common Lisp.")
11448 (license license:bsd-3))))
11449
11450 (define-public cl-datafly
11451 (sbcl-package->cl-source-package sbcl-datafly))
11452
11453 (define-public ecl-datafly
11454 (sbcl-package->ecl-package sbcl-datafly))
11455
11456 (define-public sbcl-do-urlencode
11457 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
11458 (revision "1"))
11459 (package
11460 (name "sbcl-do-urlencode")
11461 (version (git-version "0.0.0" revision commit))
11462 (home-page "https://github.com/drdo/do-urlencode")
11463 (source
11464 (origin
11465 (method git-fetch)
11466 (uri (git-reference
11467 (url home-page)
11468 (commit commit)))
11469 (file-name (git-file-name name version))
11470 (sha256
11471 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
11472 (build-system asdf-build-system/sbcl)
11473 (inputs
11474 `(("alexandria" ,sbcl-alexandria)
11475 ("babel" ,sbcl-babel)))
11476 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
11477 (description "This library provides trivial percent encoding and
11478 decoding functions for URLs.")
11479 (license license:isc))))
11480
11481 (define-public cl-do-urlencode
11482 (sbcl-package->cl-source-package sbcl-do-urlencode))
11483
11484 (define-public ecl-do-urlencode
11485 (sbcl-package->ecl-package sbcl-do-urlencode))
11486
11487 (define-public sbcl-cl-emb
11488 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
11489 (revision "1"))
11490 (package
11491 (name "sbcl-cl-emb")
11492 (version (git-version "0.4.3" revision commit))
11493 (home-page "https://common-lisp.net/project/cl-emb/")
11494 (source
11495 (origin
11496 (method git-fetch)
11497 (uri (git-reference
11498 (url "https://github.com/38a938c2/cl-emb")
11499 (commit commit)))
11500 (file-name (git-file-name name version))
11501 (sha256
11502 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
11503 (build-system asdf-build-system/sbcl)
11504 (inputs
11505 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11506 (synopsis "Templating system for Common Lisp")
11507 (description "A mixture of features from eRuby and HTML::Template. You
11508 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
11509 that and not limited to a certain server or text format.")
11510 (license license:llgpl))))
11511
11512 (define-public cl-emb
11513 (sbcl-package->cl-source-package sbcl-cl-emb))
11514
11515 (define-public ecl-cl-emb
11516 (sbcl-package->ecl-package sbcl-cl-emb))
11517
11518 (define-public sbcl-cl-project
11519 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
11520 (revision "1"))
11521 (package
11522 (name "sbcl-cl-project")
11523 (version (git-version "0.3.1" revision commit))
11524 (home-page "https://github.com/fukamachi/cl-project")
11525 (source
11526 (origin
11527 (method git-fetch)
11528 (uri (git-reference
11529 (url home-page)
11530 (commit commit)))
11531 (file-name (git-file-name name version))
11532 (sha256
11533 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
11534 (build-system asdf-build-system/sbcl)
11535 (inputs
11536 `(("cl-emb" ,sbcl-cl-emb)
11537 ("cl-ppcre" ,sbcl-cl-ppcre)
11538 ("local-time" ,sbcl-local-time)
11539 ("prove" ,sbcl-prove)))
11540 (arguments
11541 ;; Tests depend on caveman, which in turns depends on cl-project.
11542 '(#:tests? #f
11543 #:asd-files '("cl-project.asd")))
11544 (synopsis "Generate a skeleton for modern Common Lisp projects")
11545 (description "This library provides a modern project skeleton generator.
11546 In contract with other generators, CL-Project generates one package per file
11547 and encourages unit testing by generating a system for unit testing, so you
11548 can begin writing unit tests as soon as the project is generated.")
11549 (license license:llgpl))))
11550
11551 (define-public cl-project
11552 (sbcl-package->cl-source-package sbcl-cl-project))
11553
11554 (define-public ecl-cl-project
11555 (sbcl-package->ecl-package sbcl-cl-project))
11556
11557 (define-public sbcl-caveman
11558 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
11559 (revision "1"))
11560 (package
11561 (name "sbcl-caveman")
11562 (version (git-version "2.4.0" revision commit))
11563 (home-page "http://8arrow.org/caveman/")
11564 (source
11565 (origin
11566 (method git-fetch)
11567 (uri (git-reference
11568 (url "https://github.com/fukamachi/caveman/")
11569 (commit commit)))
11570 (file-name (git-file-name name version))
11571 (sha256
11572 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
11573 (build-system asdf-build-system/sbcl)
11574 (inputs
11575 `(("ningle" ,cl-ningle)
11576 ("lack" ,sbcl-lack)
11577 ("cl-project" ,sbcl-cl-project)
11578 ("dbi" ,sbcl-dbi)
11579 ("cl-syntax" ,sbcl-cl-syntax)
11580 ("myway" ,sbcl-myway)
11581 ("quri" ,sbcl-quri)))
11582 (native-inputs
11583 `(("usocket" ,sbcl-usocket)
11584 ("dexador" ,sbcl-dexador)))
11585 (arguments
11586 `(#:asd-files '("caveman2.asd")
11587 #:asd-systems '("caveman2")
11588 #:phases
11589 (modify-phases %standard-phases
11590 (add-after 'unpack 'remove-v1
11591 (lambda _
11592 (delete-file-recursively "v1")
11593 (for-each delete-file
11594 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
11595 ;; TODO: Tests fail with:
11596 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
11597 ;; While evaluating the form starting at line 38, column 0
11598 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
11599 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
11600 ;; {10009F8083}>:
11601 ;; Component "myapp573" not found
11602 #:tests? #f))
11603 (synopsis "Lightweight web application framework in Common Lisp")
11604 (description "Caveman is intended to be a collection of common parts for
11605 web applications. Caveman2 has three design goals:
11606
11607 @itemize
11608 @item Be extensible.
11609 @item Be practical.
11610 @item Don't force anything.
11611 @end itemize\n")
11612 (license license:llgpl))))
11613
11614 (define-public cl-caveman
11615 (package
11616 (inherit
11617 (sbcl-package->cl-source-package sbcl-caveman))
11618 (propagated-inputs
11619 `(("ningle" ,cl-ningle)))))
11620
11621 (define-public ecl-caveman
11622 (sbcl-package->ecl-package sbcl-caveman))
11623
11624 (define-public sbcl-lambda-fiddle
11625 (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch
11626 (revision "1"))
11627 (package
11628 (name "sbcl-lambda-fiddle")
11629 (version (git-version "1.0.0" revision commit))
11630 (source
11631 (origin
11632 (method git-fetch)
11633 (uri (git-reference
11634 (url "https://github.com/Shinmera/lambda-fiddle")
11635 (commit commit)))
11636 (file-name (git-file-name name version))
11637 (sha256
11638 (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
11639 (build-system asdf-build-system/sbcl)
11640 (home-page "https://github.com/Shinmera/lambda-fiddle")
11641 (synopsis "Collection of utilities to process lambda-lists")
11642 (description "This collection of utilities is useful in contexts where
11643 you want a macro that uses lambda-lists in some fashion but need more precise
11644 processing.")
11645 (license license:zlib))))
11646
11647 (define-public cl-lambda-fiddle
11648 (sbcl-package->cl-source-package sbcl-lambda-fiddle))
11649
11650 (define-public ecl-lambda-fiddle
11651 (sbcl-package->ecl-package sbcl-lambda-fiddle))
11652
11653 (define-public sbcl-xmls
11654 (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch
11655 (revision "1"))
11656 (package
11657 (name "sbcl-xmls")
11658 (version (git-version "3.0.2" revision commit))
11659 (source
11660 (origin
11661 (method git-fetch)
11662 (uri (git-reference
11663 (url "https://github.com/rpgoldman/xmls")
11664 (commit commit)))
11665 (file-name (git-file-name name version))
11666 (sha256
11667 (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp"))))
11668 (native-inputs
11669 `(("fiveam" ,sbcl-fiveam)))
11670 (build-system asdf-build-system/sbcl)
11671 (home-page "https://github.com/rpgoldman/xmls")
11672 (synopsis "Non-validating XML parser for Common Lisp")
11673 (description "Xmls is a self-contained, easily embedded parser that
11674 recognizes a useful subset of the XML spec. It provides a simple mapping from
11675 XML to Lisp structures or s-expressions and back.")
11676 (license license:bsd-2))))
11677
11678 (define-public cl-xmls
11679 (sbcl-package->cl-source-package sbcl-xmls))
11680
11681 (define-public ecl-xmls
11682 (sbcl-package->ecl-package sbcl-xmls))
11683
11684 (define-public sbcl-geco
11685 (package
11686 (name "sbcl-geco")
11687 (version "2.1.1")
11688 (source
11689 (origin
11690 (method git-fetch)
11691 (uri (git-reference
11692 (url "https://github.com/gpwwjr/GECO")
11693 (commit (string-append "v" version))))
11694 (file-name (git-file-name "geco" version))
11695 (sha256
11696 (base32 "1rc8a4mk40hjx5qy980hjylv6xxqdbq38hg8c4w30y93abfd519s"))))
11697 (build-system asdf-build-system/sbcl)
11698 (home-page "http://hiwaay.net/~gpw/geco/geco.html")
11699 (synopsis "Genetic algorithm toolkit for Common Lisp")
11700 (description
11701 "GECO (Genetic Evolution through Combination of Objects) is an extensible,
11702 object-oriented framework for prototyping genetic algorithms in Common Lisp.")
11703 (license license:lgpl2.1+)))
11704
11705 (define-public cl-geco
11706 (sbcl-package->cl-source-package sbcl-geco))
11707
11708 (define-public ecl-geco
11709 (sbcl-package->ecl-package sbcl-geco))
11710
11711 (define-public sbcl-html-entities
11712 (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
11713 (package
11714 (name "sbcl-html-entities")
11715 (version (git-version "0.02" "1" commit))
11716 (source
11717 (origin
11718 (method git-fetch)
11719 (uri (git-reference
11720 (url "https://github.com/BnMcGn/html-entities/")
11721 (commit commit)))
11722 (file-name (git-file-name name version))
11723 (sha256
11724 (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
11725 (build-system asdf-build-system/sbcl)
11726 (inputs
11727 `(("ppcre" ,sbcl-cl-ppcre)))
11728 (native-inputs
11729 `(("fiveam" ,sbcl-fiveam)))
11730 (home-page "https://github.com/BnMcGn/html-entities/")
11731 (synopsis "Encode and decode entities in HTML with Common Lisp")
11732 (description "Html-entities is a Common Lisp library that lets you
11733 encode and decode entities in HTML.")
11734 (license license:expat))))
11735
11736 (define-public cl-html-entities
11737 (sbcl-package->cl-source-package sbcl-html-entities))
11738
11739 (define-public ecl-html-entities
11740 (sbcl-package->ecl-package sbcl-html-entities))
11741
11742 (define-public sbcl-quicksearch
11743 (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
11744 (package
11745 (name "sbcl-quicksearch")
11746 (version (git-version "0.01.04" "1" commit))
11747 (source
11748 (origin
11749 (method git-fetch)
11750 (uri (git-reference
11751 (url "https://github.com/tkych/quicksearch/")
11752 (commit commit)))
11753 (file-name (git-file-name name version))
11754 (sha256
11755 (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
11756 (build-system asdf-build-system/sbcl)
11757 (inputs
11758 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11759 ("iterate" ,sbcl-iterate)
11760 ("alexandria" ,sbcl-alexandria)
11761 ("anaphora" ,sbcl-anaphora)
11762 ("ppcre" ,sbcl-cl-ppcre)
11763 ("drakma" ,sbcl-drakma)
11764 ("html-entities" ,sbcl-html-entities)
11765 ("yason" ,sbcl-yason)
11766 ("flexi-streams" ,sbcl-flexi-streams)
11767 ("do-urlencode" ,sbcl-do-urlencode)))
11768 (home-page "https://github.com/tkych/quicksearch/")
11769 (synopsis "Search Engine Interface for Common Lisp packages")
11770 (description "Quicksearch is a search-engine-interface for Common Lisp.
11771 The goal of Quicksearch is to find the Common Lisp library quickly. For
11772 example, if you will find the library about json, just type @code{(qs:?
11773 'json)} at REPL.
11774
11775 The function @code{quicksearch} searches for Common Lisp projects in
11776 Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
11777 function @code{?} is abbreviation wrapper for @code{quicksearch}.")
11778 (license license:expat))))
11779
11780 (define-public cl-quicksearch
11781 (sbcl-package->cl-source-package sbcl-quicksearch))
11782
11783 (define-public ecl-quicksearch
11784 (sbcl-package->ecl-package sbcl-quicksearch))
11785
11786 (define-public sbcl-agutil
11787 (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
11788 (package
11789 (name "sbcl-agutil")
11790 (version (git-version "0.0.1" "1" commit))
11791 (source
11792 (origin
11793 (method git-fetch)
11794 (uri (git-reference
11795 (url "https://github.com/alex-gutev/agutil/")
11796 (commit commit)))
11797 (file-name (git-file-name name version))
11798 (sha256
11799 (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
11800 (build-system asdf-build-system/sbcl)
11801 (inputs
11802 `(("alexandria" ,sbcl-alexandria)
11803 ("trivia" ,sbcl-trivia)))
11804 (home-page "https://github.com/alex-gutev/agutil/")
11805 (synopsis "Collection of Common Lisp utilities")
11806 (description "A collection of Common Lisp utility functions and macros
11807 mostly not found in other utility packages.")
11808 (license license:expat))))
11809
11810 (define-public cl-agutil
11811 (sbcl-package->cl-source-package sbcl-agutil))
11812
11813 (define-public ecl-agutil
11814 (sbcl-package->ecl-package sbcl-agutil))
11815
11816 (define-public sbcl-custom-hash-table
11817 (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
11818 (package
11819 (name "sbcl-custom-hash-table")
11820 (version (git-version "0.3" "1" commit))
11821 (source
11822 (origin
11823 (method git-fetch)
11824 (uri (git-reference
11825 (url "https://github.com/metawilm/cl-custom-hash-table")
11826 (commit commit)))
11827 (file-name (git-file-name name version))
11828 (sha256
11829 (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
11830 (build-system asdf-build-system/sbcl)
11831 (arguments
11832 '(#:asd-files '("cl-custom-hash-table.asd")
11833 #:asd-systems '("cl-custom-hash-table")))
11834 (home-page "https://github.com/metawilm/cl-custom-hash-table")
11835 (synopsis "Custom hash tables for Common Lisp")
11836 (description "This library allows creation of hash tables with arbitrary
11837 @code{test}/@code{hash} functions, in addition to the @code{test} functions
11838 allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
11839 @code{EQUALP}), even in implementations that don't support this functionality
11840 directly.")
11841 (license license:expat))))
11842
11843 (define-public cl-custom-hash-table
11844 (sbcl-package->cl-source-package sbcl-custom-hash-table))
11845
11846 (define-public ecl-custom-hash-table
11847 (sbcl-package->ecl-package sbcl-custom-hash-table))
11848
11849 (define-public sbcl-collectors
11850 (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
11851 (package
11852 (name "sbcl-collectors")
11853 (version (git-version "0.1" "1" commit))
11854 (source
11855 (origin
11856 (method git-fetch)
11857 (uri (git-reference
11858 (url "https://github.com/AccelerationNet/collectors")
11859 (commit commit)))
11860 (file-name (git-file-name name version))
11861 (sha256
11862 (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
11863 (build-system asdf-build-system/sbcl)
11864 (inputs
11865 `(("alexandria" ,sbcl-alexandria)
11866 ("closer-mop" ,sbcl-closer-mop)
11867 ("symbol-munger" ,sbcl-symbol-munger)))
11868 (native-inputs
11869 `(("lisp-unit2" ,sbcl-lisp-unit2)))
11870 (home-page "https://github.com/AccelerationNet/collectors/")
11871 (synopsis "Common lisp library providing collector macros")
11872 (description "A small collection of common lisp macros to make
11873 collecting values easier.")
11874 (license license:bsd-3))))
11875
11876 (define-public cl-collectors
11877 (sbcl-package->cl-source-package sbcl-collectors))
11878
11879 (define-public ecl-collectors
11880 (sbcl-package->ecl-package sbcl-collectors))
11881
11882 (define-public sbcl-cl-environments
11883 (let ((commit "0b22154c5afefef23d1eba9a4fae11d73580ef41")) ; No version in 2 years.
11884 (package
11885 (name "sbcl-cl-environments")
11886 (version (git-version "0.2.3" "1" commit))
11887 (source
11888 (origin
11889 (method git-fetch)
11890 (uri (git-reference
11891 (url "https://github.com/alex-gutev/cl-environments")
11892 (commit commit)))
11893 (file-name (git-file-name name version))
11894 (sha256
11895 (base32
11896 "18r3wfarr7lgn78m6c66r0r9aazirv07gy7xgvqkl9pmrz1bc47m"))))
11897 (build-system asdf-build-system/sbcl)
11898 (propagated-inputs
11899 `(("alexandria" ,cl-alexandria)
11900 ("anaphora" ,cl-anaphora)
11901 ("collectors" ,cl-collectors)
11902 ("optima" ,cl-optima)))
11903 (native-inputs
11904 `(("prove" ,sbcl-prove)))
11905 (home-page "https://github.com/alex-gutev/cl-environments")
11906 (synopsis "Implements the Common Lisp standard environment access API")
11907 (description "This library provides a uniform API, as specified in Common
11908 Lisp the Language 2, for accessing information about variable and function
11909 bindings from implementation-defined lexical environment objects. All major
11910 Common Lisp implementations are supported, even those which don't support the
11911 CLTL2 environment access API.")
11912 (license license:expat))))
11913
11914 (define-public cl-environments
11915 (sbcl-package->cl-source-package sbcl-cl-environments))
11916
11917 (define-public ecl-environments
11918 (sbcl-package->ecl-package sbcl-cl-environments))
11919
11920 (define-public sbcl-static-dispatch
11921 (package
11922 (name "sbcl-static-dispatch")
11923 (version "0.3")
11924 (source
11925 (origin
11926 (method git-fetch)
11927 (uri (git-reference
11928 (url "https://github.com/alex-gutev/static-dispatch")
11929 (commit (string-append "v" version))))
11930 (file-name (git-file-name name version))
11931 (sha256
11932 (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0"))))
11933 (build-system asdf-build-system/sbcl)
11934 (inputs
11935 `(("agutil" ,sbcl-agutil)
11936 ("alexandria" ,sbcl-alexandria)
11937 ("anaphora" ,sbcl-anaphora)
11938 ("arrows" ,sbcl-arrows)
11939 ("closer-mop" ,sbcl-closer-mop)
11940 ("iterate" ,sbcl-iterate)
11941 ("trivia" ,sbcl-trivia)))
11942 (propagated-inputs
11943 ;; FIXME: `sbcl-cl-environments' input fails with
11944 ;;
11945 ;; compiling #<CL-SOURCE-FILE "collectors" "collectors">
11946 ;; Unhandled SB-INT:SIMPLE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
11947 ;; {1008238213}>:
11948 ;; Error opening #P"/.../cl-environments/src/common/package-tmp5GEXGEG5.fasl":
11949 ;; Permission denied
11950 `(("cl-environments" ,cl-environments)))
11951 (native-inputs
11952 `(("prove" ,sbcl-prove)))
11953 (arguments
11954 `(#:phases
11955 (modify-phases %standard-phases
11956 ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed.
11957 ;; https://github.com/nightfly19/cl-arrows/issues/5
11958 (add-after 'unpack 'use-arrows-instead-of-cl-arrows
11959 (lambda _
11960 (for-each
11961 (lambda (file)
11962 (substitute* file
11963 ((":cl-arrows") ":arrows")))
11964 '("static-dispatch.asd"
11965 "src/package.lisp"
11966 "test/methods.lisp"
11967 "test/test.lisp")))))))
11968 (home-page "https://github.com/alex-gutev/static-dispatch")
11969 (synopsis "Static generic function dispatch for Common Lisp")
11970 (description "Static dispatch is a Common Lisp library, inspired by
11971 @code{inlined-generic-function}, which allows standard Common Lisp generic
11972 function dispatch to be performed statically (at compile time) rather than
11973 dynamically (runtime). This is similar to what is known as \"overloading\" in
11974 languages such as C++ and Java.
11975
11976 The purpose of static dispatch is to provide an optimization in cases where
11977 the usual dynamic dispatch is too slow, and the dynamic features of generic
11978 functions, such as adding/removing methods at runtime are not required. An
11979 example of such a case is a generic equality comparison function. Currently
11980 generic functions are considered far too slow to implement generic arithmetic
11981 and comparison operations when used heavily in numeric code.")
11982 (license license:expat)))
11983
11984 (define-public cl-static-dispatch
11985 (sbcl-package->cl-source-package sbcl-static-dispatch))
11986
11987 (define-public ecl-static-dispatch
11988 (sbcl-package->ecl-package sbcl-static-dispatch))
11989
11990 (define-public sbcl-generic-cl
11991 ;; Latest commit includes a necessary fix for our Guix build.
11992 (let ((commit "8e5a81487ee3c13fe5ffdc8bdda161d476639535"))
11993 (package
11994 (name "sbcl-generic-cl")
11995 (version (git-version "0.7.1" "1" commit))
11996 (source
11997 (origin
11998 (method git-fetch)
11999 (uri (git-reference
12000 (url "https://github.com/alex-gutev/generic-cl")
12001 (commit commit)))
12002 (file-name (git-file-name name version))
12003 (sha256
12004 (base32
12005 "11w0g79s4wmc78vmfng437rmsgnp5qn246zcyr540fp5nw0ad6ix"))))
12006 (build-system asdf-build-system/sbcl)
12007 (inputs
12008 `(("agutil" ,sbcl-agutil)
12009 ("alexandria" ,sbcl-alexandria)
12010 ("anaphora" ,sbcl-anaphora)
12011 ("arrows" ,sbcl-arrows)
12012 ("cl-custom-hash-table" ,sbcl-custom-hash-table)
12013 ("trivia" ,sbcl-trivia)))
12014 (propagated-inputs
12015 ;; FIXME: Same error as for `sbcl-static-dispatch'.
12016 `(("static-dispatch" ,cl-static-dispatch)))
12017 (native-inputs
12018 `(("prove" ,sbcl-prove)))
12019 (arguments
12020 ;; Tests fail because SBCL head size is not high enough.
12021 ;; https://github.com/alex-gutev/generic-cl/issues/6
12022 `(#:tests? #f))
12023 (home-page "https://alex-gutev.github.io/generic-cl/")
12024 (synopsis "Generic function interface to standard Common Lisp functions")
12025 (description "@code{generic-cl} provides a generic function wrapper over
12026 various functions in the Common Lisp standard, such as equality predicates and
12027 sequence operations. The goal of this wrapper is to provide a standard
12028 interface to common operations, such as testing for the equality of two
12029 objects, which is extensible to user-defined types.")
12030 (license license:expat))))
12031
12032 (define-public cl-generic-cl
12033 (sbcl-package->cl-source-package sbcl-generic-cl))
12034
12035 (define-public ecl-generic-cl
12036 (sbcl-package->ecl-package sbcl-generic-cl))
12037
12038 (define-public sbcl-defpackage-plus
12039 (let ((revision "0")
12040 (commit "5492e27e0bdb7b75fa5177ea4388519dc7a75f11"))
12041 (package
12042 (name "sbcl-defpackage-plus")
12043 (version (git-version "1.0" revision commit))
12044 (source
12045 (origin
12046 (method git-fetch)
12047 (uri (git-reference
12048 (url "https://github.com/rpav/defpackage-plus")
12049 (commit commit)))
12050 (file-name (git-file-name name version))
12051 (sha256
12052 (base32 "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq"))))
12053 (build-system asdf-build-system/sbcl)
12054 (inputs
12055 `(("alexandria" ,sbcl-alexandria)))
12056 (home-page "https://github.com/rpav/defpackage-plus")
12057 (synopsis "Extensible @code{DEFPACKAGE} variant with version support")
12058 (description
12059 "@code{DEFPACKAGE-PLUS} is an extensible @code{DEFPACKAGE} variant with
12060 predictable cross-platform behavior and some utilities useful for versioning.")
12061 (license license:bsd-2))))
12062
12063 (define-public cl-defpackage-plus
12064 (sbcl-package->cl-source-package sbcl-defpackage-plus))
12065
12066 (define-public ecl-defpackage-plus
12067 (sbcl-package->ecl-package sbcl-defpackage-plus))
12068
12069 (define-public sbcl-deploy
12070 ;; tagged branch is outdated
12071 (let ((revision "1")
12072 (commit "59fd49719ef651a8fc11750bcfb337f132cff75f"))
12073 (package
12074 (name "sbcl-deploy")
12075 (version (git-version "1.0.0" revision commit))
12076 (source
12077 (origin
12078 (method git-fetch)
12079 (uri (git-reference
12080 (url "https://github.com/Shinmera/deploy")
12081 (commit commit)))
12082 (file-name (git-file-name name version))
12083 (sha256
12084 (base32 "1vl2116z4kw2pd3qd3n6mmg8g0mnwxr9dgddk86g7j1bis1z8k9a"))))
12085 (build-system asdf-build-system/sbcl)
12086 (inputs
12087 `(("cffi" ,sbcl-cffi)
12088 ("documentation-utils" ,sbcl-documentation-utils)))
12089 (arguments
12090 '(#:asd-files '("deploy.asd")))
12091 (home-page "https://shinmera.github.io/deploy/")
12092 (synopsis "Deployment tools for standalone Common Lisp application")
12093 (description
12094 "This is a system to help you easily and quickly deploy standalone
12095 common lisp applications as binaries. Specifically it is geared towards
12096 applications with foreign library dependencies that run some kind of GUI.")
12097 (license license:artistic2.0))))
12098
12099 (define-public cl-deploy
12100 (sbcl-package->cl-source-package sbcl-deploy))
12101
12102 (define-public ecl-deploy
12103 (sbcl-package->ecl-package sbcl-deploy))
12104
12105 (define-public sbcl-deeds
12106 ;; taged branch is outdated
12107 (let ((revision "1")
12108 (commit "f5df54eac79b58a34030e0eb8acf3952c788410d"))
12109 (package
12110 (name "sbcl-deeds")
12111 (version (git-version "1.1.1" revision commit))
12112 (source
12113 (origin
12114 (method git-fetch)
12115 (uri (git-reference
12116 (url "https://github.com/Shinmera/deeds")
12117 (commit commit)))
12118 (file-name (git-file-name name version))
12119 (sha256
12120 (base32 "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k"))))
12121 (build-system asdf-build-system/sbcl)
12122 (inputs
12123 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12124 ("closer-mop" ,sbcl-closer-mop)
12125 ("form-fiddle" ,sbcl-form-fiddle)
12126 ("lambda-fiddle" ,sbcl-lambda-fiddle)))
12127 (home-page "https://github.com/Shinmera/deeds")
12128 (synopsis "Extensible Event Delivery System")
12129 (description
12130 "@code{deeds} allows for efficient event delivery to multiple handlers
12131 with a complex event filtering system.")
12132 (license license:zlib))))
12133
12134 (define-public cl-deeds
12135 (sbcl-package->cl-source-package sbcl-deeds))
12136
12137 (define-public ecl-deeds
12138 (sbcl-package->ecl-package sbcl-deeds))
12139
12140 (define-public sbcl-make-hash
12141 ;; no tagged branch
12142 (let ((revision "1")
12143 (commit "ae0909cd8e697520a1085fac6f54ac2b448ebd21"))
12144 (package
12145 (name "sbcl-make-hash")
12146 (version (git-version "1.0.2" revision commit))
12147 (source
12148 (origin
12149 (method git-fetch)
12150 (uri (git-reference
12151 (url "https://github.com/genovese/make-hash")
12152 (commit commit)))
12153 (file-name (git-file-name name version))
12154 (sha256
12155 (base32 "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8"))))
12156 (build-system asdf-build-system/sbcl)
12157 (home-page "https://github.com/genovese/make-hash")
12158 (synopsis "Common Lisp package for flexible hash table creation")
12159 (description
12160 "This is a Common Lisp package for hash table creation with flexible,
12161 extensible initializers.")
12162 (license license:bsd-3))))
12163
12164 (define-public cl-make-hash
12165 (sbcl-package->cl-source-package sbcl-make-hash))
12166
12167 (define-public ecl-make-hash
12168 (sbcl-package->ecl-package sbcl-make-hash))
12169
12170 (define-public sbcl-claw-support
12171 (package
12172 (name "sbcl-claw-support")
12173 (version "1.0.0")
12174 (source
12175 (origin
12176 (method git-fetch)
12177 (uri (git-reference
12178 (url "https://github.com/borodust/claw-support")
12179 (commit "9a15c8bed04585f45e6a461bcda1b475144dbd0b")))
12180 (file-name (git-file-name name version))
12181 (sha256
12182 (base32 "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23"))))
12183 (build-system asdf-build-system/sbcl)
12184 (home-page "https://github.com/borodust/claw-support")
12185 (synopsis "Support routines for claw")
12186 (description
12187 "This package provides support routines for the @code{claw} Common Lisp
12188 package.")
12189 (license license:expat)))
12190
12191 (define-public cl-claw-support
12192 (sbcl-package->cl-source-package sbcl-claw-support))
12193
12194 (define-public ecl-claw-support
12195 (sbcl-package->ecl-package sbcl-claw-support))
12196
12197 (define-public sbcl-array-operations
12198 (let ((commit "75cbc3b1adb2e3ce2109489753d0f290b071e81b")
12199 (revision "0"))
12200 (package
12201 (name "sbcl-array-operations")
12202 (version (git-version "0.0.0" revision commit))
12203 (source
12204 (origin
12205 (method git-fetch)
12206 (uri (git-reference
12207 (url "https://github.com/bendudson/array-operations")
12208 (commit commit)))
12209 (file-name (git-file-name "array-operations" version))
12210 (sha256
12211 (base32 "0ip49hhq32w80qsc7jmspyda5r2rsszvw0mk2r3341cld78sz9ya"))))
12212 (build-system asdf-build-system/sbcl)
12213 (native-inputs
12214 `(("alexandria" ,sbcl-alexandria)
12215 ("clunit2" ,sbcl-clunit2)))
12216 (inputs
12217 `(("let-plus" ,sbcl-let-plus)))
12218 (synopsis "Simple array operations library for Common Lisp")
12219 (description
12220 "This library is a collection of functions and macros for manipulating
12221 Common Lisp arrays and performing numerical calculations with them.")
12222 (home-page "https://github.com/bendudson/array-operations")
12223 (license license:expat))))
12224
12225 (define-public cl-array-operations
12226 (sbcl-package->cl-source-package sbcl-array-operations))
12227
12228 (define-public ecl-array-operations
12229 (sbcl-package->ecl-package sbcl-array-operations))
12230
12231 (define-public sbcl-clml
12232 (let ((commit "95505b54c8c7b4b27f500c3be97fa5732f4b51a8")
12233 (revision "0"))
12234 (package
12235 (name "sbcl-clml")
12236 (version (git-version "0.0.0" revision commit))
12237 (source
12238 (origin
12239 (method git-fetch)
12240 (uri (git-reference
12241 (url "https://github.com/mmaul/clml")
12242 (commit commit)))
12243 (file-name (git-file-name "clml" version))
12244 (sha256
12245 (base32 "006pii59nmpc61n7p7h8ha5vjg6x0dya327i58z0rnvxs249h345"))
12246 ;; TODO: Remove this when the patch has been merged upstream.
12247 (patches (search-patches "sbcl-clml-fix-types.patch"))))
12248 (build-system asdf-build-system/sbcl)
12249 (inputs
12250 `(("alexandia" ,sbcl-alexandria)
12251 ("array-operations" ,sbcl-array-operations)
12252 ("cl-fad" ,sbcl-cl-fad)
12253 ("cl-ppcre" ,sbcl-cl-ppcre)
12254 ("drakma" ,sbcl-drakma)
12255 ("introspect-environment" ,sbcl-introspect-environment)
12256 ("iterate" ,sbcl-iterate)
12257 ("lparallel" ,sbcl-lparallel)
12258 ("parse-number" ,sbcl-parse-number)
12259 ("split-sequence" ,sbcl-split-sequence)
12260 ("trivial-garbage" ,sbcl-trivial-garbage)))
12261 (synopsis "Common Lisp machine learning library")
12262 (description
12263 "CLML (Common Lisp Machine Learning) is a high performance and large
12264 scale statistical machine learning package")
12265 (home-page "https://mmaul.github.io/clml/")
12266 (license license:llgpl))))
12267
12268 (define-public cl-clml
12269 (sbcl-package->cl-source-package sbcl-clml))
12270
12271 (define-public sbcl-utm-ups
12272 (let ((commit "780f1d8ab6290ad2be0f40e2cddc2535fa6fe979")
12273 (revision "0"))
12274 (package
12275 (name "sbcl-utm-ups")
12276 (version (git-version "1.0" revision commit))
12277 (source
12278 (origin
12279 (method git-fetch)
12280 (uri (git-reference
12281 (url "https://github.com/glv2/utm-ups")
12282 (commit commit)))
12283 (file-name (git-file-name "utm-ups" version))
12284 (sha256
12285 (base32 "0l3kr2m56skf5cx3kkkdcis7msmidcsixx9fqjapkcjsj8x67aqq"))))
12286 (build-system asdf-build-system/sbcl)
12287 (native-inputs
12288 `(("fiveam" ,sbcl-fiveam)))
12289 (synopsis
12290 "Convert coordinates between latitude/longitude and UTM or UPS")
12291 (description
12292 "This a Common Lisp library to convert geographic coordinates between
12293 latitude/longitude and UTM (Universal Transverse Mercator) or UPS (Universal
12294 Polar Stereographic).")
12295 (home-page "https://github.com/glv2/utm-ups")
12296 (license license:gpl3+))))
12297
12298 (define-public cl-utm-ups
12299 (sbcl-package->cl-source-package sbcl-utm-ups))
12300
12301 (define-public ecl-utm-ups
12302 (sbcl-package->ecl-package sbcl-utm-ups))
12303
12304 (define-public sbcl-mgrs
12305 (let ((commit "00455460407b7e5509d1be3da09bf6152956761f")
12306 (revision "0"))
12307 (package
12308 (name "sbcl-mgrs")
12309 (version (git-version "1.0" revision commit))
12310 (source
12311 (origin
12312 (method git-fetch)
12313 (uri (git-reference
12314 (url "https://github.com/glv2/mgrs")
12315 (commit commit)))
12316 (file-name (git-file-name "mgrs" version))
12317 (sha256
12318 (base32 "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz"))))
12319 (build-system asdf-build-system/sbcl)
12320 (native-inputs
12321 `(("fiveam" ,sbcl-fiveam)))
12322 (inputs
12323 `(("utm-ups" ,sbcl-utm-ups)))
12324 (synopsis
12325 "Convert coordinates between latitude/longitude and MGRS")
12326 (description
12327 "This a Common Lisp library to convert geographic coordinates between
12328 latitude/longitude and MGRS.")
12329 (home-page "https://github.com/glv2/mgrs")
12330 (license license:gpl3+))))
12331
12332 (define-public cl-mgrs
12333 (sbcl-package->cl-source-package sbcl-mgrs))
12334
12335 (define-public ecl-mgrs
12336 (sbcl-package->ecl-package sbcl-mgrs))
12337
12338 (define-public sbcl-maidenhead
12339 (let ((commit "b756d235c27b5d6798867aa240318af1a8f35d6d")
12340 (revision "0"))
12341 (package
12342 (name "sbcl-maidenhead")
12343 (version (git-version "1.0" revision commit))
12344 (source
12345 (origin
12346 (method git-fetch)
12347 (uri (git-reference
12348 (url "https://github.com/glv2/maidenhead")
12349 (commit commit)))
12350 (file-name (git-file-name "maidenhead" version))
12351 (sha256
12352 (base32 "02p990zprhjvifmsfk8yh3frvz6xyw26ikzxvzglqdixbal36nr3"))))
12353 (build-system asdf-build-system/sbcl)
12354 (native-inputs
12355 `(("fiveam" ,sbcl-fiveam)))
12356 (synopsis
12357 "Convert coordinates between latitude/longitude and Maidenhead")
12358 (description
12359 "This a Common Lisp library to convert geographic coordinates between
12360 latitude/longitude and Maidenhead locator system.")
12361 (home-page "https://github.com/glv2/maidenhead")
12362 (license license:gpl3+))))
12363
12364 (define-public cl-maidenhead
12365 (sbcl-package->cl-source-package sbcl-maidenhead))
12366
12367 (define-public ecl-maidenhead
12368 (sbcl-package->ecl-package sbcl-maidenhead))
12369
12370 (define-public sbcl-olc
12371 (let ((commit "517e27fa57d9a119b00a29c4b6b31e553deff309")
12372 (revision "0"))
12373 (package
12374 (name "sbcl-olc")
12375 (version (git-version "1.0" revision commit))
12376 (source
12377 (origin
12378 (method git-fetch)
12379 (uri (git-reference
12380 (url "https://github.com/glv2/olc")
12381 (commit commit)))
12382 (file-name (git-file-name "olc" version))
12383 (sha256
12384 (base32 "1lnfhp6z6kc8l605zp4siyjiw74y1h4bdq3jfizi084v505wxhgr"))))
12385 (build-system asdf-build-system/sbcl)
12386 (native-inputs
12387 `(("fiveam" ,sbcl-fiveam)))
12388 (synopsis
12389 "Convert coordinates between latitude/longitude and Open Location Code")
12390 (description
12391 "This a Common Lisp library to convert geographic coordinates between
12392 latitude/longitude and Open Location Code.")
12393 (home-page "https://github.com/glv2/olc")
12394 (license license:gpl3+))))
12395
12396 (define-public cl-olc
12397 (sbcl-package->cl-source-package sbcl-olc))
12398
12399 (define-public ecl-olc
12400 (sbcl-package->ecl-package sbcl-olc))
12401
12402 (define-public sbcl-regex
12403 (let ((commit "fbc9a9f313b9edc1788f33d4b23a29151635ae22"))
12404 (package
12405 (name "sbcl-regex")
12406 (version (git-version "1" "1" commit))
12407 (source
12408 (origin
12409 (method git-fetch)
12410 (uri (git-reference
12411 (url "https://github.com/michaelw/regex/")
12412 (commit commit)))
12413 (file-name (git-file-name name version))
12414 (sha256
12415 (base32 "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a"))))
12416 (build-system asdf-build-system/sbcl)
12417 (home-page "https://github.com/michaelw/regex/")
12418 (synopsis "Regular expression engine for Common Lisp")
12419 (description
12420 "This Common Lisp package provides a regular expression engine.")
12421 (license license:bsd-2))))
12422
12423 (define-public cl-regex
12424 (sbcl-package->cl-source-package sbcl-regex))
12425
12426 (define-public ecl-regex
12427 (sbcl-package->ecl-package sbcl-regex))
12428
12429 (define-public sbcl-clawk
12430 (let ((commit "3a91634df686417114044a98c063cbe76bfac7b6"))
12431 (package
12432 (name "sbcl-clawk")
12433 (version (git-version "4" "1" commit))
12434 (source
12435 (origin
12436 (method git-fetch)
12437 (uri (git-reference
12438 (url "https://github.com/sharplispers/clawk")
12439 (commit commit)))
12440 (file-name (git-file-name name version))
12441 (sha256
12442 (base32 "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a"))))
12443 (build-system asdf-build-system/sbcl)
12444 (inputs
12445 `(("sbcl-regex" ,sbcl-regex)))
12446 (home-page "https://github.com/sharplispers/clawk")
12447 (synopsis "Common Lisp AWK")
12448 (description
12449 "CLAWK is an AWK implementation embedded into Common Lisp.")
12450 (license license:bsd-2))))
12451
12452 (define-public cl-clawk
12453 (sbcl-package->cl-source-package sbcl-clawk))
12454
12455 (define-public ecl-clawk
12456 (sbcl-package->ecl-package sbcl-clawk))
12457
12458 (define-public sbcl-check-it
12459 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
12460 (package
12461 (name "sbcl-check-it")
12462 (version (git-version "0.1.0" "1" commit))
12463 (source
12464 (origin
12465 (method git-fetch)
12466 (uri (git-reference
12467 (url "https://github.com/DalekBaldwin/check-it/")
12468 (commit commit)))
12469 (file-name (git-file-name name version))
12470 (sha256
12471 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
12472 (build-system asdf-build-system/sbcl)
12473 (inputs
12474 `(("alexandria" ,sbcl-alexandria)
12475 ("closer-mop" ,sbcl-closer-mop)
12476 ("optima" ,sbcl-optima)))
12477 (native-inputs
12478 `(("stefil" ,sbcl-stefil)))
12479 (home-page "https://github.com/arclanguage/Clamp")
12480 (synopsis "Randomized specification-based testing for Common Lisp")
12481 (description
12482 "This is a randomized property-based testing library for Common Lisp.
12483 Rather than being a full-fledged general test framework in its own right, it's
12484 designed to embed randomized tests in whatever framework you like.")
12485 (license license:llgpl))))
12486
12487 (define-public cl-check-it
12488 (sbcl-package->cl-source-package sbcl-check-it))
12489
12490 (define-public ecl-check-it
12491 (sbcl-package->ecl-package sbcl-check-it))
12492
12493 (define-public sbcl-clamp
12494 (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1"))
12495 (package
12496 (name "sbcl-clamp")
12497 (version (git-version "0.3" "1" commit))
12498 (source
12499 (origin
12500 (method git-fetch)
12501 (uri (git-reference
12502 (url "https://github.com/arclanguage/Clamp")
12503 (commit commit)))
12504 (file-name (git-file-name name version))
12505 (sha256
12506 (base32 "0fdr9nqfmmpxm6hvjdxi1jkclya9xlnrw1yc3cn1m4ww3f50p31m"))))
12507 (build-system asdf-build-system/sbcl)
12508 (inputs
12509 `(("iterate" ,sbcl-iterate)
12510 ("cl-syntax" ,sbcl-cl-syntax)))
12511 (native-inputs
12512 `(("cl-unit" ,sbcl-clunit)
12513 ("check-it" ,sbcl-check-it)))
12514 (arguments
12515 `(#:phases
12516 (modify-phases %standard-phases
12517 (add-after 'unpack 'fix-build
12518 (lambda _
12519 (substitute* "clamp.asd"
12520 (("\\(:file \"read\" :depends-on \\(\"aliases\"\\)\\)")
12521 "(:file \"read\" :depends-on (\"aliases\" \"base\"))"))
12522 #t)))))
12523 (home-page "https://github.com/arclanguage/Clamp")
12524 (synopsis "Common Lisp with Arc macros and procedures")
12525 (description
12526 "Clamp is an attempt to bring the powerful, but verbose, language of
12527 Common Lisp up to the terseness of Arc.
12528
12529 There are two parts to Clamp. There is the core of Clamp, which implements
12530 the utilities of Arc that are easily converted from Arc to Common Lisp. The
12531 other part is the \"experimental\" part. It contains features of Arc that are
12532 not so easy to copy (ssyntax, argument destructuring, etc.).")
12533 (license license:artistic2.0))))
12534
12535 (define-public cl-clamp
12536 (sbcl-package->cl-source-package sbcl-clamp))
12537
12538 (define-public ecl-clamp
12539 (sbcl-package->ecl-package sbcl-clamp))
12540
12541 (define-public sbcl-trivial-shell
12542 (let ((commit "e02ec191b34b52deca5d1c4ee99d4fa13b8772e0"))
12543 (package
12544 (name "sbcl-trivial-shell")
12545 (version (git-version "0.2.0" "1" commit))
12546 (source
12547 (origin
12548 (method git-fetch)
12549 (uri (git-reference
12550 (url "https://github.com/gwkkwg/trivial-shell")
12551 (commit commit)))
12552 (file-name (git-file-name name version))
12553 (sha256
12554 (base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
12555 (build-system asdf-build-system/sbcl)
12556 (native-inputs
12557 `(("lift" ,sbcl-lift)))
12558 (home-page "http://common-lisp.net/project/trivial-shell/")
12559 (synopsis "Common Lisp access to the shell")
12560 (description
12561 "A simple Common-Lisp interface to the underlying operating system.
12562 It's independent of the implementation and operating system.")
12563 (license license:expat))))
12564
12565 (define-public cl-trivial-shell
12566 (sbcl-package->cl-source-package sbcl-trivial-shell))
12567
12568 (define-public ecl-trivial-shell
12569 (sbcl-package->ecl-package sbcl-trivial-shell))
12570
12571 (define-public sbcl-clesh
12572 (let ((commit "44e96e04a72e5bc006dc4eb02ce8962348dd4a11"))
12573 (package
12574 (name "sbcl-clesh")
12575 (version (git-version "0.0.0" "1" commit))
12576 (source
12577 (origin
12578 (method git-fetch)
12579 (uri (git-reference
12580 (url "https://github.com/Neronus/Clesh")
12581 (commit commit)))
12582 (file-name (git-file-name name version))
12583 (sha256
12584 (base32 "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318"))))
12585 (build-system asdf-build-system/sbcl)
12586 (inputs
12587 `(("trivial-shell" ,sbcl-trivial-shell)
12588 ("named-readtables" ,sbcl-named-readtables)))
12589 (home-page "https://github.com/Neronus/Clesh")
12590 (synopsis "Embed shell code in Common Lisp")
12591 (description
12592 "This is a very short and simple program, written in Common Lisp, that
12593 extends Common Lisp to embed shell code in a manner similar to Perl's
12594 backtick. It has been forked from SHELISP.")
12595 (license license:bsd-2))))
12596
12597 (define-public cl-clesh
12598 (sbcl-package->cl-source-package sbcl-clesh))
12599
12600 (define-public ecl-clesh
12601 (sbcl-package->ecl-package sbcl-clesh))
12602
12603 (define-public sbcl-trivial-download
12604 (let ((commit "d2472061d86b1cf3d32f388daacd4e32a13af699"))
12605 (package
12606 (name "sbcl-trivial-download")
12607 (version (git-version "0.3" "1" commit))
12608 (source
12609 (origin
12610 (method git-fetch)
12611 (uri (git-reference
12612 (url "https://github.com/eudoxia0/trivial-download/")
12613 (commit commit)))
12614 (file-name (git-file-name name version))
12615 (sha256
12616 (base32 "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv"))))
12617 (build-system asdf-build-system/sbcl)
12618 (inputs
12619 `(("drakma" ,sbcl-drakma)))
12620 (home-page "https://github.com/eudoxia0/trivial-download/")
12621 (synopsis "Download files from Common Lisp")
12622 (description
12623 "@code{trivial-download} allows you to download files from the Internet
12624 from Common Lisp. It provides a progress bar.")
12625 (license license:bsd-2))))
12626
12627 (define-public cl-trivial-download
12628 (sbcl-package->cl-source-package sbcl-trivial-download))
12629
12630 (define-public ecl-trivial-download
12631 (sbcl-package->ecl-package sbcl-trivial-download))
12632
12633 (define-public sbcl-gtwiwtg
12634 (package
12635 (name "sbcl-gtwiwtg")
12636 (version "0.1.1")
12637 (source
12638 (origin
12639 (method git-fetch)
12640 (uri (git-reference
12641 (url "https://github.com/cbeo/gtwiwtg/")
12642 (commit version)))
12643 (file-name (git-file-name name version))
12644 (sha256
12645 (base32 "0lkraw0dwh4is4x5sp5rjrw6f93m0gr9849abrbi12s25ws7jbw4"))))
12646 (build-system asdf-build-system/sbcl)
12647 (native-inputs
12648 `(("osicat" ,sbcl-osicat)
12649 ("prove" ,sbcl-prove)))
12650 (home-page "https://github.com/cbeo/gtwiwtg/")
12651 (synopsis "Naive generators for Common Lisp")
12652 (description
12653 "The GTWIWTG library (Generators The Way I Want Them Generated --
12654 technically not generators, but iterators) is meant to be small, explorable,
12655 and understandable.")
12656 (license license:gpl3)))
12657
12658 (define-public cl-gtwiwtg
12659 (sbcl-package->cl-source-package sbcl-gtwiwtg))
12660
12661 (define-public ecl-gtwiwtg
12662 (sbcl-package->ecl-package sbcl-gtwiwtg))
12663
12664 (define-public sbcl-cl-progress-bar
12665 (let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
12666 (package
12667 (name "sbcl-cl-progress-bar")
12668 (version (git-version "0.0.0" "1" commit))
12669 (source
12670 (origin
12671 (method git-fetch)
12672 (uri (git-reference
12673 (url "https://github.com/sirherrbatka/cl-progress-bar/")
12674 (commit commit)))
12675 (file-name (git-file-name name version))
12676 (sha256
12677 (base32 "1ldb4qhmx431n3lsq71ynwb9ybazbfqd55icjbhi06mj52ngndir"))))
12678 (build-system asdf-build-system/sbcl)
12679 (inputs
12680 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12681 ("documentation-utils-extensions" ,sbcl-documentation-utils-extensions)))
12682 (home-page "https://github.com/sirherrbatka/cl-progress-bar/")
12683 (synopsis "Progress bars in Common Lisp")
12684 (description
12685 "This library provides almost the same code as used inside Quicklisp
12686 for drawning progress bars")
12687 (license license:expat))))
12688
12689 (define-public cl-progress-bar
12690 (sbcl-package->cl-source-package sbcl-cl-progress-bar))
12691
12692 (define-public ecl-cl-progress-bar
12693 (sbcl-package->ecl-package sbcl-cl-progress-bar))
12694
12695 (define-public sbcl-repl-utilities
12696 (let ((commit "e0de9c92e774f77cab1a4cd92e2ac922ac3a807e"))
12697 (package
12698 (name "sbcl-repl-utilities")
12699 (version (git-version "0.0.0" "1" commit))
12700 (source
12701 (origin
12702 (method git-fetch)
12703 (uri (git-reference
12704 (url "https://github.com/m-n/repl-utilities/")
12705 (commit commit)))
12706 (file-name (git-file-name name version))
12707 (sha256
12708 (base32 "1r5icmw3ha5y77kvzqni3a9bcd66d9pz5mjsbw04xg3jk0d15cgz"))))
12709 (build-system asdf-build-system/sbcl)
12710 (home-page "https://github.com/m-n/repl-utilities")
12711 (synopsis "Ease common tasks at the Common Lisp REPL")
12712 (description
12713 "@code{repl-utilities} is a set of utilities which ease life at the
12714 REPL. It includes three sorts of features: introspective procedures,
12715 miscellaneous utility functions, and, pulling them together, methods to
12716 conveniently keep these symbols and optionally additional symbols available in
12717 whichever package you switch to.")
12718 (license license:bsd-2))))
12719
12720 (define-public cl-repl-utilities
12721 (sbcl-package->cl-source-package sbcl-repl-utilities))
12722
12723 (define-public ecl-repl-utilities
12724 (sbcl-package->ecl-package sbcl-repl-utilities))
12725
12726 (define-public sbcl-supertrace
12727 (let ((commit "66d22c3ff131ecd1c8048dfced1d62ed6024ecb0"))
12728 (package
12729 (name "sbcl-supertrace")
12730 (version (git-version "0.1.0" "1" commit))
12731 (source
12732 (origin
12733 (method git-fetch)
12734 (uri (git-reference
12735 (url "https://github.com/fukamachi/supertrace")
12736 (commit commit)))
12737 (file-name (git-file-name name version))
12738 (sha256
12739 (base32 "0n369n6b7y1m49biccnnr7svymjdsk8sksrkqrn3mj21vgv7s7bg"))))
12740 (build-system asdf-build-system/sbcl)
12741 (native-inputs
12742 `(("cffi-grovel" ,sbcl-cffi)
12743 ("rove" ,sbcl-rove)
12744 ("cl-ppcre" ,sbcl-cl-ppcre)
12745 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
12746 (inputs
12747 `(("cffi" ,sbcl-cffi)))
12748 (home-page "https://github.com/fukamachi/supertrace")
12749 (synopsis "Improved Common Lisp tracing for debugging and profiling")
12750 (description
12751 "Supertrace provides a superior Common Lisp @code{trace} functionality
12752 for debugging and profiling real world applications.")
12753 (license license:bsd-2))))
12754
12755 (define-public cl-supertrace
12756 (sbcl-package->cl-source-package sbcl-supertrace))
12757
12758 (define-public ecl-supertrace
12759 (sbcl-package->ecl-package sbcl-supertrace))
12760
12761 (define-public sbcl-trivial-benchmark
12762 (let ((commit "42d76733dd2e873471c6f1e27d39113293f7dd5c"))
12763 (package
12764 (name "sbcl-trivial-benchmark")
12765 (version (git-version "2.0.0" "1" commit))
12766 (source
12767 (origin
12768 (method git-fetch)
12769 (uri (git-reference
12770 (url "https://github.com/Shinmera/trivial-benchmark/")
12771 (commit commit)))
12772 (file-name (git-file-name name version))
12773 (sha256
12774 (base32 "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa"))))
12775 (build-system asdf-build-system/sbcl)
12776 (inputs
12777 `(("alexandria" ,sbcl-alexandria)))
12778 (home-page "http://shinmera.github.io/trivial-benchmark/")
12779 (synopsis "Easy to use benchmarking system for Common Lisp")
12780 (description
12781 "Trivial-Benchmark runs a block of code many times and outputs some
12782 statistical data for it. On SBCL this includes the data from @code{time}, for
12783 all other implementations just the @code{real-time} and @code{run-time} data.
12784 However, you can extend the system by adding your own @code{metrics} to it, or
12785 even by adding additional statistical @code{compute}ations. ")
12786 (license license:zlib))))
12787
12788 (define-public cl-trivial-benchmark
12789 (sbcl-package->cl-source-package sbcl-trivial-benchmark))
12790
12791 (define-public ecl-trivial-benchmark
12792 (sbcl-package->ecl-package sbcl-trivial-benchmark))
12793
12794 (define-public sbcl-glyphs
12795 (let ((commit "1ff5714e8c1dca327bc604dfe3e3d1f4b7755373"))
12796 (package
12797 (name "sbcl-glyphs")
12798 (version (git-version "0.0.0" "1" commit))
12799 (source
12800 (origin
12801 (method git-fetch)
12802 (uri (git-reference
12803 (url "https://github.com/ahungry/glyphs/")
12804 (commit commit)))
12805 (file-name (git-file-name name version))
12806 (sha256
12807 (base32 "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf"))))
12808 (build-system asdf-build-system/sbcl)
12809 (inputs
12810 `(("cl-ppcre" ,sbcl-cl-ppcre)
12811 ("parenscript" ,sbcl-parenscript)
12812 ("named-readtables" ,sbcl-named-readtables)))
12813 (home-page "https://github.com/ahungry/glyphs/")
12814 (synopsis "Reduce Common Lisp verbosity")
12815 (description
12816 "This library is a little experiment in reducing verbosity in Common
12817 Lisp, inspired by BODOL (@url{https://github.com/bodil/BODOL}).")
12818 (license license:gpl3))))
12819
12820 (define-public cl-glyphs
12821 (sbcl-package->cl-source-package sbcl-glyphs))
12822
12823 (define-public ecl-glyphs
12824 (sbcl-package->ecl-package sbcl-glyphs))
12825
12826 (define-public sbcl-zs3
12827 (package
12828 (name "sbcl-zs3")
12829 (version "1.3.3")
12830 (source
12831 (origin
12832 (method git-fetch)
12833 (uri
12834 (git-reference
12835 (url "https://github.com/xach/zs3")
12836 (commit (string-append "release-" version))))
12837 (file-name (git-file-name "zs3" version))
12838 (sha256
12839 (base32 "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3"))))
12840 (build-system asdf-build-system/sbcl)
12841 (inputs
12842 `(("drakma" ,sbcl-drakma)
12843 ("alexandria" ,sbcl-alexandria)
12844 ("cxml" ,sbcl-cxml)
12845 ("ironclad" ,sbcl-ironclad)
12846 ("puri" ,sbcl-puri)
12847 ("cl-base64" ,sbcl-cl-base64)))
12848 (synopsis "Work with Amazon S3 and Amazon CloudFront from Common Lisp")
12849 (description "This is ZS3, a library for working with Amazon's Simple Storage
12850 Service (S3) and CloudFront service from Common Lisp.")
12851 (home-page "https://github.com/xach/zs3")
12852 (license license:bsd-2)))
12853
12854 (define-public cl-zs3
12855 (sbcl-package->cl-source-package sbcl-zs3))
12856
12857 (define-public ecl-zs3
12858 (sbcl-package->ecl-package sbcl-zs3))
12859
12860 (define-public sbcl-simple-neural-network
12861 (package
12862 (name "sbcl-simple-neural-network")
12863 (version "3.1")
12864 (source
12865 (origin
12866 (method git-fetch)
12867 (uri (git-reference
12868 (url "https://github.com/glv2/simple-neural-network")
12869 (commit (string-append "v" version))))
12870 (file-name (git-file-name "simple-neural-network" version))
12871 (sha256
12872 (base32 "1jj1c90fr5clwka0jv32hv6xp1bkdlpa6x5jh19an13rhx8ll4zr"))))
12873 (build-system asdf-build-system/sbcl)
12874 (native-inputs
12875 `(("chipz" ,sbcl-chipz)
12876 ("fiveam" ,sbcl-fiveam)))
12877 (inputs
12878 `(("cl-store" ,sbcl-cl-store)
12879 ("lparallel" ,sbcl-lparallel)))
12880 (arguments
12881 `(#:phases
12882 (modify-phases %standard-phases
12883 (add-after 'check 'remove-test-data
12884 (lambda* (#:key outputs #:allow-other-keys)
12885 (let ((out (assoc-ref outputs "out")))
12886 (for-each delete-file (find-files out "\\.gz$"))))))))
12887 (synopsis "Simple neural network in Common Lisp")
12888 (description
12889 "@code{simple-neural-network} is a Common Lisp library for creating,
12890 training and using basic neural networks. The networks created by this
12891 library are feedforward neural networks trained using backpropagation.")
12892 (home-page "https://github.com/glv2/simple-neural-network")
12893 (license license:gpl3+)))
12894
12895 (define-public cl-simple-neural-network
12896 (sbcl-package->cl-source-package sbcl-simple-neural-network))
12897
12898 (define-public ecl-simple-neural-network
12899 (sbcl-package->ecl-package sbcl-simple-neural-network))
12900
12901 (define-public sbcl-zstd
12902 (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06")
12903 (revision "1"))
12904 (package
12905 (name "sbcl-zstd")
12906 (version (git-version "1.0" revision commit))
12907 (source
12908 (origin
12909 (method git-fetch)
12910 (uri (git-reference
12911 (url "https://github.com/glv2/cl-zstd")
12912 (commit commit)))
12913 (file-name (git-file-name "cl-zstd" version))
12914 (sha256
12915 (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql"))))
12916 (build-system asdf-build-system/sbcl)
12917 (native-inputs
12918 `(("fiveam" ,sbcl-fiveam)))
12919 (inputs
12920 `(("cffi" ,sbcl-cffi)
12921 ("cl-octet-streams" ,sbcl-cl-octet-streams)
12922 ("zstd-lib" ,zstd "lib")))
12923 (arguments
12924 '(#:phases
12925 (modify-phases %standard-phases
12926 (add-after 'unpack 'fix-paths
12927 (lambda* (#:key inputs #:allow-other-keys)
12928 (substitute* "src/libzstd.lisp"
12929 (("libzstd\\.so")
12930 (string-append (assoc-ref inputs "zstd-lib")
12931 "/lib/libzstd.so")))
12932 #t)))))
12933 (synopsis "Common Lisp library for Zstandard (de)compression")
12934 (description
12935 "This Common Lisp library provides functions for Zstandard
12936 compression/decompression using bindings to the libzstd C library.")
12937 (home-page "https://github.com/glv2/cl-zstd")
12938 (license license:gpl3+))))
12939
12940 (define-public cl-zstd
12941 (sbcl-package->cl-source-package sbcl-zstd))
12942
12943 (define-public ecl-zstd
12944 (sbcl-package->ecl-package sbcl-zstd))
12945
12946 (define-public sbcl-agnostic-lizard
12947 (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
12948 (revision "1"))
12949 (package
12950 (name "sbcl-agnostic-lizard")
12951 (version (git-version "0.0.0" revision commit))
12952 (source
12953 (origin
12954 (method git-fetch)
12955 (uri (git-reference
12956 (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
12957 (commit commit)))
12958 (file-name (git-file-name name version))
12959 (sha256
12960 (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
12961 (build-system asdf-build-system/sbcl)
12962 (synopsis "Almost correct portable code walker for Common Lisp")
12963 (description
12964 "Agnostic Lizard is a portable implementation of a code walker and in
12965 particular of the macroexpand-all function (and macro) that makes a best
12966 effort to be correct while not expecting much beyond what the Common Lisp
12967 standard requires.
12968
12969 It aims to be implementation-agnostic and to climb the syntax trees.")
12970 (home-page "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
12971 (license license:gpl3+))))
12972
12973 (define-public cl-agnostic-lizard
12974 (sbcl-package->cl-source-package sbcl-agnostic-lizard))
12975
12976 (define-public ecl-agnostic-lizard
12977 (sbcl-package->ecl-package sbcl-agnostic-lizard))
12978
12979 (define-public sbcl-dynamic-classes
12980 (package
12981 (name "sbcl-dynamic-classes")
12982 (version "1.0.2")
12983 (source
12984 (origin
12985 (method git-fetch)
12986 (uri (git-reference
12987 (url "https://github.com/gwkkwg/dynamic-classes")
12988 (commit (string-append "version-" version))))
12989 (file-name (git-file-name "dynamic-classes" version))
12990 (sha256
12991 (base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
12992 (build-system asdf-build-system/sbcl)
12993 (inputs
12994 `(("metatilities-base" ,sbcl-metatilities-base)))
12995 (arguments
12996 ;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
12997 ;; test suites. lift-standard.config contains referances to deprecated
12998 ;; functionality.
12999 `(#:tests? #f))
13000 (home-page "https://common-lisp.net/project/dynamic-classes/")
13001 (synopsis "Dynamic class definition for Common Lisp")
13002 (description "Dynamic-Classes helps to ease the prototyping process by
13003 bringing dynamism to class definition.")
13004 (license license:expat)))
13005
13006 (define-public ecl-dynamic-classes
13007 (sbcl-package->ecl-package sbcl-dynamic-classes))
13008
13009 (define-public cl-dynamic-classes
13010 (sbcl-package->cl-source-package sbcl-dynamic-classes))
13011
13012 (define-public sbcl-cl-markdown
13013 ;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
13014 ;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
13015 ;; #:container-dynamic-classes
13016 (package
13017 (name "sbcl-cl-markdown")
13018 (version "0.10.4")
13019 (source
13020 (origin
13021 (method git-fetch)
13022 (uri (git-reference
13023 (url "https://github.com/gwkkwg/cl-markdown")
13024 (commit (string-append "version-" version))))
13025 (file-name (git-file-name "cl-markdown" version))
13026 (sha256
13027 (base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
13028 (build-system asdf-build-system/sbcl)
13029 (inputs
13030 `(("anaphora" ,sbcl-anaphora)
13031 ("cl-containers" ,sbcl-cl-containers)
13032 ("cl-ppcre" ,sbcl-cl-ppcre)
13033 ("dynamic-classes" ,sbcl-dynamic-classes)
13034 ("metabang-bind" ,sbcl-metabang-bind)
13035 ("metatilities-base" ,sbcl-metatilities-base)))
13036 (arguments
13037 ;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
13038 ;; available systems, which themself are abandoned.
13039 `(#:tests? #f))
13040 (home-page "https://common-lisp.net/project/cl-markdown/")
13041 (synopsis "Common Lisp rewrite of Markdown")
13042 (description
13043 "This is an implementation of a Markdown parser in Common Lisp.")
13044 (license license:expat)))
13045
13046 (define-public ecl-cl-markdown
13047 (sbcl-package->ecl-package sbcl-cl-markdown))
13048
13049 (define-public cl-markdown
13050 (sbcl-package->cl-source-package sbcl-cl-markdown))
13051
13052 (define-public sbcl-magicffi
13053 (let ((commit "d88f2f280c31f639e4e05be75215d8a8dce6aef2"))
13054 (package
13055 (name "sbcl-magicffi")
13056 (version (git-version "0.0.0" "1" commit))
13057 (source
13058 (origin
13059 (method git-fetch)
13060 (uri (git-reference
13061 (url "https://github.com/dochang/magicffi/")
13062 (commit commit)))
13063 (file-name (git-file-name name version))
13064 (sha256
13065 (base32 "0p6ysa92fk34bhxpw7bycbfgw150fv11z9x8jr9xb4lh8cm2hvp6"))))
13066 (build-system asdf-build-system/sbcl)
13067 (native-inputs
13068 `(("alexandria" ,sbcl-alexandria)))
13069 (inputs
13070 `(("cffi" ,sbcl-cffi)
13071 ("ppcre" ,sbcl-cl-ppcre)
13072 ("libmagic" ,file)))
13073 (arguments
13074 `(#:phases
13075 (modify-phases %standard-phases
13076 (add-after 'unpack 'fix-paths
13077 (lambda* (#:key inputs #:allow-other-keys)
13078 (let ((magic (assoc-ref inputs "libmagic")))
13079 (substitute* "grovel.lisp"
13080 (("/usr/include/magic.h")
13081 (string-append magic "/include/magic.h")))
13082 (substitute* "api.lisp"
13083 ((":default \"libmagic\"" all)
13084 (string-append ":default \"" magic "/lib/libmagic\"")))))))))
13085 (home-page "https://common-lisp.net/project/magicffi/")
13086 (synopsis "Common Lisp interface to libmagic based on CFFI")
13087 (description
13088 "MAGICFFI is a Common Lisp CFFI interface to libmagic(3), the file type
13089 determination library using @emph{magic} numbers.")
13090 (license license:bsd-2))))
13091
13092 (define-public ecl-magicffi
13093 (sbcl-package->ecl-package sbcl-magicffi))
13094
13095 (define-public cl-magicffi
13096 (sbcl-package->cl-source-package sbcl-magicffi))
13097
13098 (define-public sbcl-shlex
13099 (let ((commit "c5616dffca0d4d8ddbc1cd6f37a96d88477b2740"))
13100 (package
13101 (name "sbcl-shlex")
13102 (version (git-version "0.0.0" "1" commit))
13103 (source
13104 (origin
13105 (method git-fetch)
13106 (uri (git-reference
13107 (url "https://github.com/ruricolist/cl-shlex")
13108 (commit commit)))
13109 (file-name (git-file-name name version))
13110 (sha256
13111 (base32 "1nas024n4wv319bf40aal96g72bgi9nkapj2chywj2cc6r8hzkfg"))))
13112 (build-system asdf-build-system/sbcl)
13113 (inputs
13114 `(("alexandria" ,sbcl-alexandria)
13115 ("serapeum" ,sbcl-serapeum)
13116 ("ppcre" ,sbcl-cl-ppcre)
13117 ("unicode" ,sbcl-cl-unicode)))
13118 (home-page "https://github.com/ruricolist/cl-shlex")
13119 (synopsis "Common Lisp lexical analyzer for shell-like syntaxes")
13120 (description
13121 "This library contains a lexer for syntaxes that use shell-like rules
13122 for quoting and commenting. It is a port of the @code{shlex} module from Python’s
13123 standard library.")
13124 (license license:expat))))
13125
13126 (define-public ecl-shlex
13127 (sbcl-package->ecl-package sbcl-shlex))
13128
13129 (define-public cl-shlex
13130 (sbcl-package->cl-source-package sbcl-shlex))
13131
13132 (define-public sbcl-cmd
13133 (let ((commit "8e68274a935ae61f38d3309c08765d8a49d09c1f"))
13134 (package
13135 (name "sbcl-cmd")
13136 (version (git-version "0.0.1" "1" commit))
13137 (source
13138 (origin
13139 (method git-fetch)
13140 (uri (git-reference
13141 (url "https://github.com/ruricolist/cmd/")
13142 (commit commit)))
13143 (file-name (git-file-name name version))
13144 (sha256
13145 (base32 "06bwwhy7wmk6fpjrqj1bfscn8rnmk8z9kwc00adp8iq6w5yjsbbj"))))
13146 (build-system asdf-build-system/sbcl)
13147 (inputs
13148 `(("alexandria" ,sbcl-alexandria)
13149 ("serapeum" ,sbcl-serapeum)
13150 ("shlex" ,sbcl-shlex)
13151 ("trivia" ,sbcl-trivia)))
13152 (home-page "https://github.com/ruricolist/cmd")
13153 (synopsis "Conveniently run external programs from Common Lisp")
13154 (description
13155 "A utility for running external programs, built on UIOP.
13156 Cmd is designed to be natural to use, protect against shell interpolation and
13157 be usable from multi-threaded programs.")
13158 (license license:expat))))
13159
13160 (define-public ecl-cmd
13161 (sbcl-package->ecl-package sbcl-cmd))
13162
13163 (define-public cl-cmd
13164 (sbcl-package->ecl-package sbcl-cmd))