gnu: sbcl-bordeaux-threads: Update to 0.8.7.
[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 ng0 <ng0@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 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 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 Guillaume Le Vaillant <glv@posteo.net>
18 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
19 ;;;
20 ;;; This file is part of GNU Guix.
21 ;;;
22 ;;; GNU Guix is free software; you can redistribute it and/or modify it
23 ;;; under the terms of the GNU General Public License as published by
24 ;;; the Free Software Foundation; either version 3 of the License, or (at
25 ;;; your option) any later version.
26 ;;;
27 ;;; GNU Guix is distributed in the hope that it will be useful, but
28 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 ;;; GNU General Public License for more details.
31 ;;;
32 ;;; You should have received a copy of the GNU General Public License
33 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35 ;;; This file only contains Common Lisp libraries.
36 ;;; Common Lisp compilers and tooling go to lisp.scm.
37 ;;; Common Lisp applications should go to the most appropriate file,
38 ;;; e.g. StumpWM is in wm.scm.
39
40 (define-module (gnu packages lisp-xyz)
41 #:use-module (gnu packages)
42 #:use-module ((guix licenses) #:prefix license:)
43 #:use-module (guix packages)
44 #:use-module (guix download)
45 #:use-module (guix git-download)
46 #:use-module (guix hg-download)
47 #:use-module (guix utils)
48 #:use-module (guix build-system asdf)
49 #:use-module (guix build-system trivial)
50 #:use-module (gnu packages c)
51 #:use-module (gnu packages compression)
52 #:use-module (gnu packages glib)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages imagemagick)
55 #:use-module (gnu packages libevent)
56 #:use-module (gnu packages libffi)
57 #:use-module (gnu packages lisp)
58 #:use-module (gnu packages maths)
59 #:use-module (gnu packages pkg-config)
60 #:use-module (gnu packages python)
61 #:use-module (gnu packages python-xyz)
62 #:use-module (gnu packages sqlite)
63 #:use-module (gnu packages tcl)
64 #:use-module (gnu packages tls)
65 #:use-module (gnu packages webkit)
66 #:use-module (gnu packages xdisorg)
67 #:use-module (ice-9 match)
68 #:use-module (srfi srfi-19))
69
70 (define-public sbcl-alexandria
71 (let ((revision "1")
72 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
73 (package
74 (name "sbcl-alexandria")
75 (version (git-version "1.0.0" revision commit))
76 (source
77 (origin
78 (method git-fetch)
79 (uri (git-reference
80 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
81 (commit commit)))
82 (sha256
83 (base32
84 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
85 (file-name (git-file-name name version))))
86 (build-system asdf-build-system/sbcl)
87 (native-inputs
88 `(("rt" ,sbcl-rt)))
89 (synopsis "Collection of portable utilities for Common Lisp")
90 (description
91 "Alexandria is a collection of portable utilities. It does not contain
92 conceptual extensions to Common Lisp. It is conservative in scope, and
93 portable between implementations.")
94 (home-page "https://common-lisp.net/project/alexandria/")
95 (license license:public-domain))))
96
97 (define-public cl-alexandria
98 (sbcl-package->cl-source-package sbcl-alexandria))
99
100 (define-public ecl-alexandria
101 (sbcl-package->ecl-package sbcl-alexandria))
102
103 (define-public sbcl-net.didierverna.asdf-flv
104 (package
105 (name "sbcl-net.didierverna.asdf-flv")
106 (version "2.1")
107 (source
108 (origin
109 (method git-fetch)
110 (uri (git-reference
111 (url "https://github.com/didierverna/asdf-flv")
112 (commit (string-append "version-" version))))
113 (file-name (git-file-name "asdf-flv" version))
114 (sha256
115 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
116 (build-system asdf-build-system/sbcl)
117 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
118 (description "ASDF-FLV provides support for file-local variables through
119 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
120 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
121 dynamic binding is created before processing the file, so that any
122 modification to the variable becomes essentially file-local.
123
124 In order to make one or several variables file-local, use the macros
125 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
126 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
127 (license (license:non-copyleft
128 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
129 "GNU All-Permissive License"))))
130
131 (define-public cl-net.didierverna.asdf-flv
132 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
133
134 (define-public ecl-net.didierverna.asdf-flv
135 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
136
137 (define-public sbcl-fiveam
138 (package
139 (name "sbcl-fiveam")
140 (version "1.4.1")
141 (source
142 (origin
143 (method git-fetch)
144 (uri (git-reference
145 (url "https://github.com/sionescu/fiveam.git")
146 (commit (string-append "v" version))))
147 (file-name (git-file-name "fiveam" version))
148 (sha256
149 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
150 (inputs
151 `(("alexandria" ,sbcl-alexandria)
152 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
153 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
154 (build-system asdf-build-system/sbcl)
155 (synopsis "Common Lisp testing framework")
156 (description "FiveAM is a simple (as far as writing and running tests
157 goes) regression testing framework. It has been designed with Common Lisp's
158 interactive development model in mind.")
159 (home-page "https://common-lisp.net/project/fiveam/")
160 (license license:bsd-3)))
161
162 (define-public cl-fiveam
163 (sbcl-package->cl-source-package sbcl-fiveam))
164
165 (define-public ecl-fiveam
166 (sbcl-package->ecl-package sbcl-fiveam))
167
168 (define-public sbcl-bordeaux-threads
169 (package
170 (name "sbcl-bordeaux-threads")
171 (version "0.8.7")
172 (source (origin
173 (method git-fetch)
174 (uri (git-reference
175 (url "https://github.com/sionescu/bordeaux-threads.git")
176 (commit (string-append "v" version))))
177 (sha256
178 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
179 (file-name
180 (git-file-name "bordeaux-threads" version))))
181 (inputs `(("alexandria" ,sbcl-alexandria)))
182 (native-inputs `(("fiveam" ,sbcl-fiveam)))
183 (build-system asdf-build-system/sbcl)
184 (synopsis "Portable shared-state concurrency library for Common Lisp")
185 (description "BORDEAUX-THREADS is a proposed standard for a minimal
186 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
187 support.")
188 (home-page "https://common-lisp.net/project/bordeaux-threads/")
189 (license license:x11)))
190
191 (define-public cl-bordeaux-threads
192 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
193
194 (define-public ecl-bordeaux-threads
195 (sbcl-package->ecl-package sbcl-bordeaux-threads))
196
197 (define-public sbcl-trivial-gray-streams
198 (let ((revision "1")
199 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
200 (package
201 (name "sbcl-trivial-gray-streams")
202 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
203 (source
204 (origin
205 (method git-fetch)
206 (uri
207 (git-reference
208 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
209 (commit commit)))
210 (sha256
211 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
212 (file-name
213 (string-append "trivial-gray-streams-" version "-checkout"))))
214 (build-system asdf-build-system/sbcl)
215 (synopsis "Compatibility layer for Gray streams implementations")
216 (description "Gray streams is an interface proposed for inclusion with
217 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
218 popular CL implementations implement it. This package provides an extremely
219 thin compatibility layer for gray streams.")
220 (home-page "http://www.cliki.net/trivial-gray-streams")
221 (license license:x11))))
222
223 (define-public cl-trivial-gray-streams
224 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
225
226 (define-public ecl-trivial-gray-streams
227 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
228
229 (define-public sbcl-fiasco
230 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
231 (revision "1"))
232 (package
233 (name "sbcl-fiasco")
234 (version (git-version "0.0.1" revision commit))
235 (source
236 (origin
237 (method git-fetch)
238 (uri (git-reference
239 (url "https://github.com/joaotavora/fiasco.git")
240 (commit commit)))
241 (file-name (git-file-name "fiasco" version))
242 (sha256
243 (base32
244 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
245 (build-system asdf-build-system/sbcl)
246 (inputs
247 `(("alexandria" ,sbcl-alexandria)
248 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
249 (synopsis "Simple and powerful test framework for Common Lisp")
250 (description "A Common Lisp test framework that treasures your failures,
251 logical continuation of Stefil. It focuses on interactive debugging.")
252 (home-page "https://github.com/joaotavora/fiasco")
253 ;; LICENCE specifies this is public-domain unless the legislation
254 ;; doesn't allow or recognize it. In that case it falls back to a
255 ;; permissive licence.
256 (license (list license:public-domain
257 (license:x11-style "file://LICENCE"))))))
258
259 (define-public cl-fiasco
260 (sbcl-package->cl-source-package sbcl-fiasco))
261
262 (define-public ecl-fiasco
263 (sbcl-package->ecl-package sbcl-fiasco))
264
265 (define-public sbcl-flexi-streams
266 (package
267 (name "sbcl-flexi-streams")
268 (version "1.0.16")
269 (source
270 (origin
271 (method git-fetch)
272 (uri (git-reference
273 (url "https://github.com/edicl/flexi-streams.git")
274 (commit (string-append "v" version))))
275 (file-name (git-file-name "flexi-streams" version))
276 (sha256
277 (base32 "0gvykjlmja060zqq6nn6aqxlshh6r6ijahmmgf20q0d839rwpgxc"))))
278 (build-system asdf-build-system/sbcl)
279 (arguments
280 `(#:phases
281 (modify-phases %standard-phases
282 (add-after 'unpack 'make-git-checkout-writable
283 (lambda _
284 (for-each make-file-writable (find-files "."))
285 #t)))))
286 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
287 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
288 (description "Flexi-streams is an implementation of \"virtual\" bivalent
289 streams that can be layered atop real binary or bivalent streams and that can
290 be used to read and write character data in various single- or multi-octet
291 encodings which can be changed on the fly. It also supplies in-memory binary
292 streams which are similar to string streams.")
293 (home-page "http://weitz.de/flexi-streams/")
294 (license license:bsd-3)))
295
296 (define-public cl-flexi-streams
297 (sbcl-package->cl-source-package sbcl-flexi-streams))
298
299 (define-public ecl-flexi-streams
300 (sbcl-package->ecl-package sbcl-flexi-streams))
301
302 (define-public sbcl-cl-ppcre
303 (package
304 (name "sbcl-cl-ppcre")
305 (version "2.0.11")
306 (source
307 (origin
308 (method git-fetch)
309 (uri (git-reference
310 (url "https://github.com/edicl/cl-ppcre.git")
311 (commit (string-append "v" version))))
312 (file-name (git-file-name "cl-ppcre" version))
313 (sha256
314 (base32 "0q3iany07vgqm144lw6pj0af2d3vsikpbkwcxr30fci3kzsq4f49"))))
315 (build-system asdf-build-system/sbcl)
316 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
317 (synopsis "Portable regular expression library for Common Lisp")
318 (description "CL-PPCRE is a portable regular expression library for Common
319 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
320 compatible with ANSI-compliant Common Lisp implementations.")
321 (home-page "http://weitz.de/cl-ppcre/")
322 (license license:bsd-2)))
323
324 (define-public cl-ppcre
325 (sbcl-package->cl-source-package sbcl-cl-ppcre))
326
327 (define-public ecl-cl-ppcre
328 (sbcl-package->ecl-package sbcl-cl-ppcre))
329
330 (define sbcl-cl-unicode-base
331 (let ((revision "1")
332 (commit "9fcd06fba1ddc9e66aed2f2d6c32dc9b764f03ea"))
333 (package
334 (name "sbcl-cl-unicode-base")
335 (version (string-append "0.1.5-" revision "." (string-take commit 7)))
336 (source (origin
337 (method git-fetch)
338 (uri (git-reference
339 (url "https://github.com/edicl/cl-unicode.git")
340 (commit commit)))
341 (file-name (string-append "cl-unicode-" version "-checkout"))
342 (sha256
343 (base32
344 "1jicprb5b3bv57dy1kg03572gxkcaqdjhak00426s76g0plmx5ki"))))
345 (build-system asdf-build-system/sbcl)
346 (arguments
347 '(#:asd-file "cl-unicode.asd"
348 #:asd-system-name "cl-unicode/base"))
349 (inputs
350 `(("cl-ppcre" ,sbcl-cl-ppcre)))
351 (home-page "http://weitz.de/cl-unicode/")
352 (synopsis "Portable Unicode library for Common Lisp")
353 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
354 is compatible with perl. It is pretty fast, thread-safe, and compatible with
355 ANSI-compliant Common Lisp implementations.")
356 (license license:bsd-2))))
357
358 (define-public sbcl-cl-unicode
359 (package
360 (inherit sbcl-cl-unicode-base)
361 (name "sbcl-cl-unicode")
362 (inputs
363 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
364 ,@(package-inputs sbcl-cl-unicode-base)))
365 (native-inputs
366 `(("flexi-streams" ,sbcl-flexi-streams)))
367 (arguments '())))
368
369 (define-public ecl-cl-unicode
370 (sbcl-package->ecl-package sbcl-cl-unicode))
371
372 (define-public cl-unicode
373 (sbcl-package->cl-source-package sbcl-cl-unicode))
374
375 (define-public sbcl-zpb-ttf
376 (package
377 (name "sbcl-zpb-ttf")
378 (version "1.0.3")
379 (source
380 (origin
381 (method git-fetch)
382 (uri (git-reference
383 (url "https://github.com/xach/zpb-ttf.git")
384 (commit (string-append "release-" version))))
385 (file-name (git-file-name name version))
386 (sha256
387 (base32
388 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
389 (build-system asdf-build-system/sbcl)
390 (home-page "https://github.com/xach/zpb-ttf")
391 (synopsis "TrueType font file access for Common Lisp")
392 (description
393 "ZPB-TTF is a TrueType font file parser that provides an interface for
394 reading typographic metrics, glyph outlines, and other information from the
395 file.")
396 (license license:bsd-2)))
397
398 (define-public ecl-zpb-ttf
399 (sbcl-package->ecl-package sbcl-zpb-ttf))
400
401 (define-public cl-zpb-ttf
402 (sbcl-package->cl-source-package sbcl-zpb-ttf))
403
404 (define-public sbcl-cl-aa
405 (package
406 (name "sbcl-cl-aa")
407 (version "0.1.5")
408 (source
409 (origin
410 (method url-fetch)
411 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
412 "files/cl-vectors-" version ".tar.gz"))
413 (sha256
414 (base32
415 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
416 (build-system asdf-build-system/sbcl)
417 (arguments '(#:asd-file "cl-aa.asd"))
418 (home-page "http://projects.tuxee.net/cl-vectors/")
419 (synopsis "Polygon rasterizer")
420 (description
421 "This is a Common Lisp library implementing the AA polygon rasterization
422 algorithm from the @url{http://antigrain.com, Antigrain} project.")
423 (license license:expat)))
424
425 (define-public ecl-cl-aa
426 (sbcl-package->ecl-package sbcl-cl-aa))
427
428 (define-public cl-aa
429 (sbcl-package->cl-source-package sbcl-cl-aa))
430
431 (define-public sbcl-cl-paths
432 (package
433 (inherit sbcl-cl-aa)
434 (name "sbcl-cl-paths")
435 (arguments '(#:asd-file "cl-paths.asd"))
436 (synopsis "Facilities to create and manipulate vectorial paths")
437 (description
438 "This package provides facilities to create and manipulate vectorial
439 paths.")))
440
441 (define-public ecl-cl-paths
442 (sbcl-package->ecl-package sbcl-cl-paths))
443
444 (define-public cl-paths
445 (sbcl-package->cl-source-package sbcl-cl-paths))
446
447 (define-public sbcl-cl-paths-ttf
448 (package
449 (inherit sbcl-cl-aa)
450 (name "sbcl-cl-paths-ttf")
451 (arguments '(#:asd-file "cl-paths-ttf.asd"))
452 (inputs
453 `(("cl-paths" ,sbcl-cl-paths)
454 ("zpb-ttf" ,sbcl-zpb-ttf)))
455 (synopsis "Facilities to create and manipulate vectorial paths")
456 (description
457 "This package provides facilities to create and manipulate vectorial
458 paths.")))
459
460 (define-public ecl-cl-paths-ttf
461 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
462
463 (define-public cl-paths-ttf
464 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
465
466 (define-public sbcl-cl-vectors
467 (package
468 (inherit sbcl-cl-aa)
469 (name "sbcl-cl-vectors")
470 (arguments '(#:asd-file "cl-vectors.asd"))
471 (inputs
472 `(("cl-aa" ,sbcl-cl-aa)
473 ("cl-paths" ,sbcl-cl-paths)))
474 (synopsis "Create, transform and render anti-aliased vectorial paths")
475 (description
476 "This is a pure Common Lisp library to create, transform and render
477 anti-aliased vectorial paths.")))
478
479 (define-public ecl-cl-vectors
480 (sbcl-package->ecl-package sbcl-cl-vectors))
481
482 (define-public cl-vectors
483 (sbcl-package->cl-source-package sbcl-cl-vectors))
484
485 (define-public sbcl-spatial-trees
486 ;; There have been no releases.
487 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
488 (revision "1"))
489 (package
490 (name "sbcl-spatial-trees")
491 (version (git-version "0" revision commit))
492 (source
493 (origin
494 (method git-fetch)
495 (uri (git-reference
496 (url "https://github.com/rpav/spatial-trees.git")
497 (commit commit)))
498 (file-name (git-file-name name version))
499 (sha256
500 (base32
501 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
502 (build-system asdf-build-system/sbcl)
503 (arguments
504 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
505 #:asd-file "spatial-trees.asd"
506 #:test-asd-file "spatial-trees.test.asd"))
507 (native-inputs
508 `(("fiveam" ,sbcl-fiveam)))
509 (home-page "https://github.com/rpav/spatial-trees")
510 (synopsis "Dynamic index data structures for spatially-extended data")
511 (description
512 "Spatial-trees is a set of dynamic index data structures for
513 spatially-extended data.")
514 (license license:bsd-3))))
515
516 (define-public ecl-spatial-trees
517 (sbcl-package->ecl-package sbcl-spatial-trees))
518
519 (define-public cl-spatial-trees
520 (sbcl-package->cl-source-package sbcl-spatial-trees))
521
522 (define-public sbcl-flexichain
523 ;; There are no releases.
524 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
525 (revision "1"))
526 (package
527 (name "sbcl-flexichain")
528 (version "1.5.1")
529 (source
530 (origin
531 (method git-fetch)
532 (uri (git-reference
533 (url "https://github.com/robert-strandh/Flexichain.git")
534 (commit commit)))
535 (file-name (git-file-name name version))
536 (sha256
537 (base32
538 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
539 (build-system asdf-build-system/sbcl)
540 (home-page "https://github.com/robert-strandh/Flexichain.git")
541 (synopsis "Dynamically add elements to or remove them from sequences")
542 (description
543 "This package provides an implementation of the flexichain protocol,
544 allowing client code to dynamically add elements to, and delete elements from
545 a sequence (or chain) of such elements.")
546 (license license:lgpl2.1+))))
547
548 (define-public ecl-flexichain
549 (sbcl-package->ecl-package sbcl-flexichain))
550
551 (define-public cl-flexichain
552 (sbcl-package->cl-source-package sbcl-flexichain))
553
554 (define-public sbcl-cl-pdf
555 ;; There are no releases
556 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
557 (revision "1"))
558 (package
559 (name "sbcl-cl-pdf")
560 (version (git-version "0" revision commit))
561 (source
562 (origin
563 (method git-fetch)
564 (uri (git-reference
565 (url "https://github.com/mbattyani/cl-pdf.git")
566 (commit commit)))
567 (file-name (git-file-name name version))
568 (sha256
569 (base32
570 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
571 (build-system asdf-build-system/sbcl)
572 (inputs
573 `(("iterate" ,sbcl-iterate)
574 ("zpb-ttf" ,sbcl-zpb-ttf)))
575 (home-page "https://github.com/mbattyani/cl-pdf")
576 (synopsis "Common Lisp library for generating PDF files")
577 (description
578 "CL-PDF is a cross-platform Common Lisp library for generating PDF
579 files.")
580 (license license:bsd-2))))
581
582 (define-public ecl-cl-pdf
583 (sbcl-package->ecl-package sbcl-cl-pdf))
584
585 (define-public cl-pdf
586 (sbcl-package->cl-source-package sbcl-cl-pdf))
587
588 (define-public sbcl-clx
589 (package
590 (name "sbcl-clx")
591 (version "0.7.5")
592 (source
593 (origin
594 (method git-fetch)
595 (uri
596 (git-reference
597 (url "https://github.com/sharplispers/clx.git")
598 (commit version)))
599 (sha256
600 (base32
601 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
602 (file-name (string-append "clx-" version))))
603 (build-system asdf-build-system/sbcl)
604 (native-inputs
605 `(("fiasco" ,sbcl-fiasco)))
606 (home-page "http://www.cliki.net/portable-clx")
607 (synopsis "X11 client library for Common Lisp")
608 (description "CLX is an X11 client library for Common Lisp. The code was
609 originally taken from a CMUCL distribution, was modified somewhat in order to
610 make it compile and run under SBCL, then a selection of patches were added
611 from other CLXes around the net.")
612 (license license:x11)))
613
614 (define-public cl-clx
615 (sbcl-package->cl-source-package sbcl-clx))
616
617 (define-public ecl-clx
618 (sbcl-package->ecl-package sbcl-clx))
619
620 (define-public sbcl-cl-ppcre-unicode
621 (package (inherit sbcl-cl-ppcre)
622 (name "sbcl-cl-ppcre-unicode")
623 (arguments
624 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
625 #:asd-file "cl-ppcre-unicode.asd"))
626 (inputs
627 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
628 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
629
630 ;; The slynk that users expect to install includes all of slynk's contrib
631 ;; modules. Therefore, we build the base module and all contribs first; then
632 ;; we expose the union of these as `sbcl-slynk'. The following variable
633 ;; describes the base module.
634 (define sbcl-slynk-boot0
635 (let ((revision "2")
636 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
637 (package
638 (name "sbcl-slynk-boot0")
639 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
640 (source
641 (origin
642 (method git-fetch)
643 (uri
644 (git-reference
645 (url "https://github.com/joaotavora/sly.git")
646 (commit commit)))
647 (sha256
648 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
649 (file-name (string-append "slynk-" version "-checkout"))
650 (modules '((guix build utils)
651 (ice-9 ftw)))
652 (snippet
653 '(begin
654 ;; Move the contribs into the main source directory for easier
655 ;; access
656 (substitute* "slynk/slynk.asd"
657 (("\\.\\./contrib")
658 "contrib")
659 (("\\(defsystem :slynk/util")
660 "(defsystem :slynk/util :depends-on (:slynk)")
661 ((":depends-on \\(:slynk :slynk/util\\)")
662 ":depends-on (:slynk :slynk-util)"))
663 (substitute* "contrib/slynk-trace-dialog.lisp"
664 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
665 "nil"))
666 (substitute* "contrib/slynk-profiler.lisp"
667 (("slynk:to-line")
668 "slynk-pprint-to-line"))
669 (substitute* "contrib/slynk-fancy-inspector.lisp"
670 (("slynk/util") "slynk-util")
671 ((":compile-toplevel :load-toplevel") ""))
672 (rename-file "contrib" "slynk/contrib")
673 ;; Move slynk's contents into the base directory for easier
674 ;; access
675 (for-each (lambda (file)
676 (unless (string-prefix? "." file)
677 (rename-file (string-append "slynk/" file)
678 (string-append "./" (basename file)))))
679 (scandir "slynk"))
680 #t))))
681 (build-system asdf-build-system/sbcl)
682 (arguments
683 `(#:tests? #f ; No test suite
684 #:asd-system-name "slynk"))
685 (synopsis "Common Lisp IDE for Emacs")
686 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
687 It also features a completely redesigned REPL based on Emacs's own
688 full-featured comint.el, live code annotations, and a consistent interactive
689 button interface. Everything can be copied to the REPL. One can create
690 multiple inspectors with independent history.")
691 (home-page "https://github.com/joaotavora/sly")
692 (license license:public-domain)
693 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
694
695 (define-public cl-slynk
696 (package
697 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
698 (name "cl-slynk")))
699
700 (define ecl-slynk-boot0
701 (sbcl-package->ecl-package sbcl-slynk-boot0))
702
703 (define sbcl-slynk-arglists
704 (package
705 (inherit sbcl-slynk-boot0)
706 (name "sbcl-slynk-arglists")
707 (inputs `(("slynk" ,sbcl-slynk-boot0)))
708 (arguments
709 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
710 ((#:asd-file _ "") "slynk.asd")
711 ((#:asd-system-name _ #f) "slynk/arglists")))))
712
713 (define ecl-slynk-arglists
714 (sbcl-package->ecl-package sbcl-slynk-arglists))
715
716 (define sbcl-slynk-util
717 (package
718 (inherit sbcl-slynk-boot0)
719 (name "sbcl-slynk-util")
720 (inputs `(("slynk" ,sbcl-slynk-boot0)))
721 (arguments
722 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
723 ((#:asd-file _ "") "slynk.asd")
724 ((#:asd-system-name _ #f) "slynk/util")))))
725
726 (define ecl-slynk-util
727 (sbcl-package->ecl-package sbcl-slynk-util))
728
729 (define sbcl-slynk-fancy-inspector
730 (package
731 (inherit sbcl-slynk-arglists)
732 (name "sbcl-slynk-fancy-inspector")
733 (inputs `(("slynk-util" ,sbcl-slynk-util)
734 ,@(package-inputs sbcl-slynk-arglists)))
735 (arguments
736 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
737 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
738
739 (define ecl-slynk-fancy-inspector
740 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
741
742 (define sbcl-slynk-package-fu
743 (package
744 (inherit sbcl-slynk-arglists)
745 (name "sbcl-slynk-package-fu")
746 (arguments
747 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
748 ((#:asd-system-name _ #f) "slynk/package-fu")))))
749
750 (define ecl-slynk-package-fu
751 (sbcl-package->ecl-package sbcl-slynk-package-fu))
752
753 (define sbcl-slynk-mrepl
754 (package
755 (inherit sbcl-slynk-fancy-inspector)
756 (name "sbcl-slynk-mrepl")
757 (arguments
758 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
759 ((#:asd-system-name _ #f) "slynk/mrepl")))))
760
761 (define ecl-slynk-mrepl
762 (sbcl-package->ecl-package sbcl-slynk-mrepl))
763
764 (define sbcl-slynk-trace-dialog
765 (package
766 (inherit sbcl-slynk-arglists)
767 (name "sbcl-slynk-trace-dialog")
768 (arguments
769 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
770 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
771
772 (define ecl-slynk-trace-dialog
773 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
774
775 (define sbcl-slynk-profiler
776 (package
777 (inherit sbcl-slynk-arglists)
778 (name "sbcl-slynk-profiler")
779 (arguments
780 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
781 ((#:asd-system-name _ #f) "slynk/profiler")))))
782
783 (define ecl-slynk-profiler
784 (sbcl-package->ecl-package sbcl-slynk-profiler))
785
786 (define sbcl-slynk-stickers
787 (package
788 (inherit sbcl-slynk-arglists)
789 (name "sbcl-slynk-stickers")
790 (arguments
791 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
792 ((#:asd-system-name _ #f) "slynk/stickers")))))
793
794 (define ecl-slynk-stickers
795 (sbcl-package->ecl-package sbcl-slynk-stickers))
796
797 (define sbcl-slynk-indentation
798 (package
799 (inherit sbcl-slynk-arglists)
800 (name "sbcl-slynk-indentation")
801 (arguments
802 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
803 ((#:asd-system-name _ #f) "slynk/indentation")))))
804
805 (define ecl-slynk-indentation
806 (sbcl-package->ecl-package sbcl-slynk-indentation))
807
808 (define sbcl-slynk-retro
809 (package
810 (inherit sbcl-slynk-arglists)
811 (name "sbcl-slynk-retro")
812 (arguments
813 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
814 ((#:asd-system-name _ #f) "slynk/retro")))))
815
816 (define ecl-slynk-retro
817 (sbcl-package->ecl-package sbcl-slynk-retro))
818
819 (define slynk-systems
820 '("slynk"
821 "slynk-util"
822 "slynk-arglists"
823 "slynk-fancy-inspector"
824 "slynk-package-fu"
825 "slynk-mrepl"
826 "slynk-profiler"
827 "slynk-trace-dialog"
828 "slynk-stickers"
829 "slynk-indentation"
830 "slynk-retro"))
831
832 (define-public sbcl-slynk
833 (package
834 (inherit sbcl-slynk-boot0)
835 (name "sbcl-slynk")
836 (inputs
837 `(("slynk" ,sbcl-slynk-boot0)
838 ("slynk-util" ,sbcl-slynk-util)
839 ("slynk-arglists" ,sbcl-slynk-arglists)
840 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
841 ("slynk-package-fu" ,sbcl-slynk-package-fu)
842 ("slynk-mrepl" ,sbcl-slynk-mrepl)
843 ("slynk-profiler" ,sbcl-slynk-profiler)
844 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
845 ("slynk-stickers" ,sbcl-slynk-stickers)
846 ("slynk-indentation" ,sbcl-slynk-indentation)
847 ("slynk-retro" ,sbcl-slynk-retro)))
848 (native-inputs `(("sbcl" ,sbcl)))
849 (build-system trivial-build-system)
850 (source #f)
851 (outputs '("out" "image"))
852 (arguments
853 `(#:modules ((guix build union)
854 (guix build utils)
855 (guix build lisp-utils))
856 #:builder
857 (begin
858 (use-modules (ice-9 match)
859 (srfi srfi-1)
860 (guix build union)
861 (guix build lisp-utils))
862
863 (union-build
864 (assoc-ref %outputs "out")
865 (filter-map
866 (match-lambda
867 ((name . path)
868 (if (string-prefix? "slynk" name) path #f)))
869 %build-inputs))
870
871 (prepend-to-source-registry
872 (string-append (assoc-ref %outputs "out") "//"))
873
874 (parameterize ((%lisp-type "sbcl")
875 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
876 "/bin/sbcl")))
877 (build-image (string-append
878 (assoc-ref %outputs "image")
879 "/bin/slynk")
880 %outputs
881 #:dependencies ',slynk-systems))
882 #t)))))
883
884 (define-public ecl-slynk
885 (package
886 (inherit sbcl-slynk)
887 (name "ecl-slynk")
888 (inputs
889 (map (match-lambda
890 ((name pkg . _)
891 (list name (sbcl-package->ecl-package pkg))))
892 (package-inputs sbcl-slynk)))
893 (native-inputs '())
894 (outputs '("out"))
895 (arguments
896 '(#:modules ((guix build union))
897 #:builder
898 (begin
899 (use-modules (ice-9 match)
900 (guix build union))
901 (match %build-inputs
902 (((names . paths) ...)
903 (union-build (assoc-ref %outputs "out")
904 paths)
905 #t)))))))
906
907 (define-public sbcl-parse-js
908 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
909 (revision "1"))
910 (package
911 (name "sbcl-parse-js")
912 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
913 (source
914 (origin
915 (method git-fetch)
916 (uri (git-reference
917 (url "http://marijn.haverbeke.nl/git/parse-js")
918 (commit commit)))
919 (file-name (string-append name "-" commit "-checkout"))
920 (sha256
921 (base32
922 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
923 (build-system asdf-build-system/sbcl)
924 (home-page "http://marijnhaverbeke.nl/parse-js/")
925 (synopsis "Parse JavaScript")
926 (description "Parse-js is a Common Lisp package for parsing
927 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
928 (license license:zlib))))
929
930 (define-public cl-parse-js
931 (sbcl-package->cl-source-package sbcl-parse-js))
932
933 (define-public sbcl-parse-number
934 (package
935 (name "sbcl-parse-number")
936 (version "1.7")
937 (source
938 (origin
939 (method git-fetch)
940 (uri (git-reference
941 (url "https://github.com/sharplispers/parse-number/")
942 (commit (string-append "v" version))))
943 (file-name (git-file-name name version))
944 (sha256
945 (base32
946 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
947 (build-system asdf-build-system/sbcl)
948 (home-page "http://www.cliki.net/PARSE-NUMBER")
949 (synopsis "Parse numbers")
950 (description "@code{parse-number} is a library of functions for parsing
951 strings into one of the standard Common Lisp number types without using the
952 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
953 the string into one of the standard Common Lisp number types, if possible, or
954 else @code{parse-number} signals an error of type @code{invalid-number}.")
955 (license license:bsd-3)))
956
957 (define-public cl-parse-number
958 (sbcl-package->cl-source-package sbcl-parse-number))
959
960 (define-public sbcl-iterate
961 (package
962 (name "sbcl-iterate")
963 ;; The latest official release (1.4.3) fails to build so we have to take
964 ;; the current darcs tarball from quicklisp.
965 (version "20160825")
966 (source
967 (origin
968 (method url-fetch)
969 (uri (string-append "http://beta.quicklisp.org/archive/iterate/"
970 "2016-08-25/iterate-"
971 version "-darcs.tgz"))
972 (sha256
973 (base32
974 "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
975 (build-system asdf-build-system/sbcl)
976 (native-inputs
977 `(("rt" ,sbcl-rt)))
978 (home-page "https://common-lisp.net/project/iterate/")
979 (synopsis "Iteration construct for Common Lisp")
980 (description "@code{iterate} is an iteration construct for Common Lisp.
981 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
982
983 @itemize
984 @item it is extensible,
985 @item it helps editors like Emacs indent iterate forms by having a more
986 lisp-like syntax, and
987 @item it isn't part of the ANSI standard for Common Lisp.
988 @end itemize\n")
989 (license license:expat)))
990
991 (define-public cl-iterate
992 (sbcl-package->cl-source-package sbcl-iterate))
993
994 (define-public ecl-iterate
995 (sbcl-package->ecl-package sbcl-iterate))
996
997 (define-public sbcl-cl-uglify-js
998 ;; There have been many bug fixes since the 2010 release.
999 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1000 (revision "1"))
1001 (package
1002 (name "sbcl-cl-uglify-js")
1003 (version (string-append "0.1-" revision "." (string-take commit 9)))
1004 (source
1005 (origin
1006 (method git-fetch)
1007 (uri (git-reference
1008 (url "https://github.com/mishoo/cl-uglify-js.git")
1009 (commit commit)))
1010 (file-name (git-file-name name version))
1011 (sha256
1012 (base32
1013 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1014 (build-system asdf-build-system/sbcl)
1015 (inputs
1016 `(("sbcl-parse-js" ,sbcl-parse-js)
1017 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1018 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1019 ("sbcl-parse-number" ,sbcl-parse-number)
1020 ("sbcl-iterate" ,sbcl-iterate)))
1021 (home-page "https://github.com/mishoo/cl-uglify-js")
1022 (synopsis "JavaScript compressor library for Common Lisp")
1023 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1024 compressor. It works on data produced by @code{parse-js} to generate a
1025 @dfn{minified} version of the code. Currently it can:
1026
1027 @itemize
1028 @item reduce variable names (usually to single letters)
1029 @item join consecutive @code{var} statements
1030 @item resolve simple binary expressions
1031 @item group most consecutive statements using the @code{sequence} operator (comma)
1032 @item remove unnecessary blocks
1033 @item convert @code{IF} expressions in various ways that result in smaller code
1034 @item remove some unreachable code
1035 @end itemize\n")
1036 (license license:zlib))))
1037
1038 (define-public cl-uglify-js
1039 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1040
1041 (define-public uglify-js
1042 (package
1043 (inherit sbcl-cl-uglify-js)
1044 (name "uglify-js")
1045 (build-system trivial-build-system)
1046 (arguments
1047 `(#:modules ((guix build utils))
1048 #:builder
1049 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1050 (script (string-append bin "uglify-js")))
1051 (use-modules (guix build utils))
1052 (mkdir-p bin)
1053 (with-output-to-file script
1054 (lambda _
1055 (format #t "#!~a/bin/sbcl --script
1056 (require :asdf)
1057 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1058 (assoc-ref %build-inputs "sbcl")
1059 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1060 ;; FIXME: cannot use progn here because otherwise it fails to
1061 ;; find cl-uglify-js.
1062 (for-each
1063 write
1064 '(;; Quiet, please!
1065 (let ((*standard-output* (make-broadcast-stream))
1066 (*error-output* (make-broadcast-stream)))
1067 (asdf:load-system :cl-uglify-js))
1068 (let ((file (cadr *posix-argv*)))
1069 (if file
1070 (format t "~a"
1071 (cl-uglify-js:ast-gen-code
1072 (cl-uglify-js:ast-mangle
1073 (cl-uglify-js:ast-squeeze
1074 (with-open-file (in file)
1075 (parse-js:parse-js in))))
1076 :beautify nil))
1077 (progn
1078 (format *error-output*
1079 "Please provide a JavaScript file.~%")
1080 (sb-ext:exit :code 1))))))))
1081 (chmod script #o755)
1082 #t)))
1083 (inputs
1084 `(("sbcl" ,sbcl)
1085 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1086 (synopsis "JavaScript compressor")))
1087
1088 (define-public sbcl-cl-strings
1089 (let ((revision "1")
1090 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1091 (package
1092 (name "sbcl-cl-strings")
1093 (version (git-version "0.0.0" revision commit))
1094 (source
1095 (origin
1096 (method git-fetch)
1097 (uri (git-reference
1098 (url "https://github.com/diogoalexandrefranco/cl-strings")
1099 (commit commit)))
1100 (sha256
1101 (base32
1102 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1103 (file-name (string-append "cl-strings-" version "-checkout"))))
1104 (build-system asdf-build-system/sbcl)
1105 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1106 (description
1107 "@command{cl-strings} is a small, portable, dependency-free set of
1108 utilities that make it even easier to manipulate text in Common Lisp. It has
1109 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1110 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1111 (license license:expat))))
1112
1113 (define-public cl-strings
1114 (sbcl-package->cl-source-package sbcl-cl-strings))
1115
1116 (define-public ecl-cl-strings
1117 (sbcl-package->ecl-package sbcl-cl-strings))
1118
1119 (define-public sbcl-trivial-features
1120 (package
1121 (name "sbcl-trivial-features")
1122 (version "0.8")
1123 (source
1124 (origin
1125 (method git-fetch)
1126 (uri (git-reference
1127 (url "https://github.com/trivial-features/trivial-features.git")
1128 (commit (string-append "v" version))))
1129 (file-name (git-file-name "trivial-features" version))
1130 (sha256
1131 (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9"))))
1132 (build-system asdf-build-system/sbcl)
1133 (arguments '(#:tests? #f))
1134 (home-page "http://cliki.net/trivial-features")
1135 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1136 (description "Trivial-features ensures that @code{*FEATURES*} is
1137 consistent across multiple Common Lisp implementations.")
1138 (license license:expat)))
1139
1140 (define-public cl-trivial-features
1141 (sbcl-package->cl-source-package sbcl-trivial-features))
1142
1143 (define-public ecl-trivial-features
1144 (sbcl-package->ecl-package sbcl-trivial-features))
1145
1146 (define-public sbcl-hu.dwim.asdf
1147 (package
1148 (name "sbcl-hu.dwim.asdf")
1149 (version "20190521")
1150 (source
1151 (origin
1152 (method url-fetch)
1153 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1154 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1155 (sha256
1156 (base32
1157 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1158 (build-system asdf-build-system/sbcl)
1159 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1160 (synopsis "Extensions to ASDF")
1161 (description "Various ASDF extensions such as attached test and
1162 documentation system, explicit development support, etc.")
1163 (license license:public-domain)))
1164
1165 (define-public cl-hu.dwim.asdf
1166 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1167
1168 (define-public ecl-hu.dwim.asdf
1169 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1170
1171 (define-public sbcl-hu.dwim.stefil
1172 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1173 (package
1174 (name "sbcl-hu.dwim.stefil")
1175 (version (git-version "0.0.0" "1" commit))
1176 (source
1177 (origin
1178 (method git-fetch)
1179 (uri
1180 (git-reference
1181 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1182 (commit commit)))
1183 (sha256
1184 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1185 (file-name (git-file-name "hu.dwim.stefil" version))))
1186 (build-system asdf-build-system/sbcl)
1187 (native-inputs
1188 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1189 (inputs
1190 `(("sbcl-alexandria" ,sbcl-alexandria)))
1191 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1192 (synopsis "Simple test framework")
1193 (description "Stefil is a simple test framework for Common Lisp,
1194 with a focus on interactive development.")
1195 (license license:public-domain))))
1196
1197 (define-public cl-hu.dwim.stefil
1198 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1199
1200 (define-public ecl-hu.dwim.stefil
1201 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1202
1203 (define-public sbcl-babel
1204 (package
1205 (name "sbcl-babel")
1206 (version "0.5.0")
1207 (source
1208 (origin
1209 (method git-fetch)
1210 (uri (git-reference
1211 (url "https://github.com/cl-babel/babel.git")
1212 (commit (string-append "v" version))))
1213 (file-name (git-file-name "babel" version))
1214 (sha256
1215 (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f"))))
1216 (build-system asdf-build-system/sbcl)
1217 (native-inputs
1218 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1219 (inputs
1220 `(("sbcl-alexandria" ,sbcl-alexandria)
1221 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1222 (home-page "https://common-lisp.net/project/babel/")
1223 (synopsis "Charset encoding and decoding library")
1224 (description "Babel is a charset encoding and decoding library, not unlike
1225 GNU libiconv, but completely written in Common Lisp.")
1226 (license license:expat)))
1227
1228 (define-public cl-babel
1229 (sbcl-package->cl-source-package sbcl-babel))
1230
1231 (define-public ecl-babel
1232 (sbcl-package->ecl-package sbcl-babel))
1233
1234 (define-public sbcl-cl-yacc
1235 (package
1236 (name "sbcl-cl-yacc")
1237 (version "0.3")
1238 (source
1239 (origin
1240 (method git-fetch)
1241 (uri (git-reference
1242 (url "https://github.com/jech/cl-yacc")
1243 (commit (string-append "cl-yacc-" version))))
1244 (sha256
1245 (base32
1246 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1247 (file-name (string-append "cl-yacc-" version "-checkout"))))
1248 (build-system asdf-build-system/sbcl)
1249 (arguments
1250 `(#:asd-file "yacc.asd"
1251 #:asd-system-name "yacc"))
1252 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1253 (description
1254 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1255 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1256
1257 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1258 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1259 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1260 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1261 (license license:expat)))
1262
1263 (define-public cl-yacc
1264 (sbcl-package->cl-source-package sbcl-cl-yacc))
1265
1266 (define-public ecl-cl-yacc
1267 (sbcl-package->ecl-package sbcl-cl-yacc))
1268
1269 (define-public sbcl-jpl-util
1270 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1271 (package
1272 (name "sbcl-jpl-util")
1273 (version "20151005")
1274 (source
1275 (origin
1276 (method git-fetch)
1277 (uri (git-reference
1278 ;; Quicklisp uses this fork.
1279 (url "https://github.com/hawkir/cl-jpl-util")
1280 (commit commit)))
1281 (file-name
1282 (git-file-name "jpl-util" version))
1283 (sha256
1284 (base32
1285 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1286 (build-system asdf-build-system/sbcl)
1287 (synopsis "Collection of Common Lisp utility functions and macros")
1288 (description
1289 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1290 and macros, primarily for software projects written in CL by the author.")
1291 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1292 (license license:isc))))
1293
1294 (define-public cl-jpl-util
1295 (sbcl-package->cl-source-package sbcl-jpl-util))
1296
1297 (define-public ecl-jpl-util
1298 (sbcl-package->ecl-package sbcl-jpl-util))
1299
1300 (define-public sbcl-jpl-queues
1301 (package
1302 (name "sbcl-jpl-queues")
1303 (version "0.1")
1304 (source
1305 (origin
1306 (method url-fetch)
1307 (uri (string-append
1308 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1309 version
1310 ".tar.gz"))
1311 (sha256
1312 (base32
1313 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1314 (build-system asdf-build-system/sbcl)
1315 (inputs
1316 `(("jpl-util" ,sbcl-jpl-util)
1317 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1318 (arguments
1319 ;; Tests seem to be broken.
1320 `(#:tests? #f))
1321 (synopsis "Common Lisp library implementing a few different kinds of queues")
1322 (description
1323 "A Common Lisp library implementing a few different kinds of queues:
1324
1325 @itemize
1326 @item Bounded and unbounded FIFO queues.
1327 @item Lossy bounded FIFO queues that drop elements when full.
1328 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1329 @end itemize
1330
1331 Additionally, a synchronization wrapper is provided to make any queue
1332 conforming to the @command{jpl-queues} API thread-safe for lightweight
1333 multithreading applications. (See Calispel for a more sophisticated CL
1334 multithreaded message-passing library with timeouts and alternation among
1335 several blockable channels.)")
1336 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1337 (license license:isc)))
1338
1339 (define-public cl-jpl-queues
1340 (sbcl-package->cl-source-package sbcl-jpl-queues))
1341
1342 (define-public ecl-jpl-queues
1343 (sbcl-package->ecl-package sbcl-jpl-queues))
1344
1345 (define-public sbcl-eos
1346 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1347 (package
1348 (name "sbcl-eos")
1349 (version (git-version "0.0.0" "1" commit))
1350 (source
1351 (origin
1352 (method git-fetch)
1353 (uri (git-reference
1354 (url "https://github.com/adlai/Eos")
1355 (commit commit)))
1356 (sha256
1357 (base32
1358 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1359 (file-name (git-file-name "eos" version))))
1360 (build-system asdf-build-system/sbcl)
1361 (synopsis "Unit Testing for Common Lisp")
1362 (description
1363 "Eos was a unit testing library for Common Lisp.
1364 It began as a fork of FiveAM; however, FiveAM development has continued, while
1365 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1366 (home-page "https://github.com/adlai/Eos")
1367 (license license:expat))))
1368
1369 (define-public cl-eos
1370 (sbcl-package->cl-source-package sbcl-eos))
1371
1372 (define-public ecl-eos
1373 (sbcl-package->ecl-package sbcl-eos))
1374
1375 (define-public sbcl-esrap
1376 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1377 (package
1378 (name "sbcl-esrap")
1379 (version (git-version "0.0.0" "1" commit))
1380 (source
1381 (origin
1382 (method git-fetch)
1383 (uri (git-reference
1384 (url "https://github.com/nikodemus/esrap")
1385 (commit commit)))
1386 (sha256
1387 (base32
1388 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1389 (file-name (git-file-name "esrap" version))))
1390 (build-system asdf-build-system/sbcl)
1391 (native-inputs
1392 `(("eos" ,sbcl-eos))) ;For testing only.
1393 (inputs
1394 `(("alexandria" ,sbcl-alexandria)))
1395 (synopsis "Common Lisp packrat parser")
1396 (description
1397 "A packrat parser for Common Lisp.
1398 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1399
1400 @itemize
1401 @item dynamic redefinition of nonterminals
1402 @item inline grammars
1403 @item semantic predicates
1404 @item introspective facilities (describing grammars, tracing, setting breaks)
1405 @end itemize\n")
1406 (home-page "https://nikodemus.github.io/esrap/")
1407 (license license:expat))))
1408
1409 (define-public cl-esrap
1410 (sbcl-package->cl-source-package sbcl-esrap))
1411
1412 (define-public ecl-esrap
1413 (sbcl-package->ecl-package sbcl-esrap))
1414
1415 (define-public sbcl-split-sequence
1416 (package
1417 (name "sbcl-split-sequence")
1418 (version "1.4.1")
1419 (source
1420 (origin
1421 (method git-fetch)
1422 (uri (git-reference
1423 (url "https://github.com/sharplispers/split-sequence")
1424 (commit (string-append "v" version))))
1425 (sha256
1426 (base32
1427 "0c3zp6b7fmmp93sfhq112ind4zkld49ycw68z409xpnz3gc0wpf0"))
1428 (file-name (git-file-name "split-sequence" version))))
1429 (build-system asdf-build-system/sbcl)
1430 (arguments
1431 ;; TODO: Tests seem to be broken.
1432 ;; https://github.com/sharplispers/split-sequence/issues/8
1433 `(#:tests? #f))
1434 (synopsis "Member of the Common Lisp Utilities family of programs")
1435 (description
1436 "Splits sequence into a list of subsequences delimited by objects
1437 satisfying the test.")
1438 (home-page "https://cliki.net/split-sequence")
1439 (license license:expat)))
1440
1441 (define-public cl-split-sequence
1442 (sbcl-package->cl-source-package sbcl-split-sequence))
1443
1444 (define-public ecl-split-sequence
1445 (sbcl-package->ecl-package sbcl-split-sequence))
1446
1447 (define-public sbcl-html-encode
1448 (package
1449 (name "sbcl-html-encode")
1450 (version "1.2")
1451 (source
1452 (origin
1453 (method url-fetch)
1454 (uri (string-append
1455 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1456 version ".tgz"))
1457 (sha256
1458 (base32
1459 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1460 (file-name (string-append "colorize" version "-checkout"))))
1461 (build-system asdf-build-system/sbcl)
1462 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1463 (description
1464 "A library for encoding text in various web-savvy encodings.")
1465 (home-page "http://quickdocs.org/html-encode/")
1466 (license license:expat)))
1467
1468 (define-public cl-html-encode
1469 (sbcl-package->cl-source-package sbcl-html-encode))
1470
1471 (define-public ecl-html-encode
1472 (sbcl-package->ecl-package sbcl-html-encode))
1473
1474 (define-public sbcl-colorize
1475 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1476 (package
1477 (name "sbcl-colorize")
1478 (version (git-version "0.0.0" "1" commit))
1479 (source
1480 (origin
1481 (method git-fetch)
1482 (uri (git-reference
1483 (url "https://github.com/kingcons/colorize")
1484 (commit commit)))
1485 (sha256
1486 (base32
1487 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1488 (file-name (git-file-name "colorize" version))))
1489 (build-system asdf-build-system/sbcl)
1490 (inputs
1491 `(("alexandria" ,sbcl-alexandria)
1492 ("split-sequence" ,sbcl-split-sequence)
1493 ("html-encode" ,sbcl-html-encode)))
1494 (synopsis "Common Lisp for syntax highlighting")
1495 (description
1496 "@command{colorize} is a Lisp library for syntax highlighting
1497 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1498 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1499 (home-page "https://github.com/kingcons/colorize")
1500 ;; TODO: Missing license?
1501 (license license:expat))))
1502
1503 (define-public cl-colorize
1504 (sbcl-package->cl-source-package sbcl-colorize))
1505
1506 (define-public ecl-colorize
1507 (sbcl-package->ecl-package sbcl-colorize))
1508
1509 (define-public sbcl-3bmd
1510 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1511 (package
1512 (name "sbcl-3bmd")
1513 (version (git-version "0.0.0" "1" commit))
1514 (source
1515 (origin
1516 (method git-fetch)
1517 (uri (git-reference
1518 (url "https://github.com/3b/3bmd")
1519 (commit commit)))
1520 (sha256
1521 (base32
1522 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1523 (file-name (git-file-name "3bmd" version))))
1524 (build-system asdf-build-system/sbcl)
1525 (arguments
1526 ;; FIXME: We need to specify the name because the build-system thinks
1527 ;; "3" is a version marker.
1528 `(#:asd-system-name "3bmd"))
1529 (inputs
1530 `(("esrap" ,sbcl-esrap)
1531 ("split-sequence" ,sbcl-split-sequence)))
1532 (synopsis "Markdown processor in Command Lisp using esrap parser")
1533 (description
1534 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1535 parsing, and grammar based on @command{peg-markdown}.")
1536 (home-page "https://github.com/3b/3bmd")
1537 (license license:expat))))
1538
1539 (define-public cl-3bmd
1540 (sbcl-package->cl-source-package sbcl-3bmd))
1541
1542 (define-public ecl-3bmd
1543 (sbcl-package->ecl-package sbcl-3bmd))
1544
1545 (define-public sbcl-3bmd-ext-code-blocks
1546 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1547 (package
1548 (inherit sbcl-3bmd)
1549 (name "sbcl-3bmd-ext-code-blocks")
1550 (arguments
1551 `(#:asd-system-name "3bmd-ext-code-blocks"
1552 #:asd-file "3bmd-ext-code-blocks.asd"))
1553 (inputs
1554 `(("3bmd" ,sbcl-3bmd)
1555 ("colorize" ,sbcl-colorize)))
1556 (synopsis "3bmd extension which adds support for GitHub-style fenced
1557 code blocks")
1558 (description
1559 "3bmd extension which adds support for GitHub-style fenced code blocks,
1560 with @command{colorize} support."))))
1561
1562 (define-public cl-3bmd-ext-code-blocks
1563 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1564
1565 (define-public ecl-3bmd-ext-code-blocks
1566 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1567
1568 (define-public sbcl-cl-fad
1569 (package
1570 (name "sbcl-cl-fad")
1571 (version "0.7.5")
1572 (source
1573 (origin
1574 (method git-fetch)
1575 (uri (git-reference
1576 (url "https://github.com/edicl/cl-fad/")
1577 (commit (string-append "v" version))))
1578 (sha256
1579 (base32
1580 "1l1qmk9z57q84bz5r04sxsksggsnd7dgkxlybzh9imz6ma7sm52m"))
1581 (file-name (string-append "cl-fad" version "-checkout"))))
1582 (build-system asdf-build-system/sbcl)
1583 (inputs
1584 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1585 (synopsis "Portable pathname library for Common Lisp")
1586 (description
1587 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1588 Lisp's standard pathname functions. It is intended to provide some
1589 unification between current CL implementations on Windows, OS X, Linux, and
1590 Unix. Most of the code was written by Peter Seibel for his book Practical
1591 Common Lisp.")
1592 (home-page "https://edicl.github.io/cl-fad/")
1593 (license license:bsd-2)))
1594
1595 (define-public cl-fad
1596 (sbcl-package->cl-source-package sbcl-cl-fad))
1597
1598 (define-public ecl-cl-fad
1599 (sbcl-package->ecl-package sbcl-cl-fad))
1600
1601 (define-public sbcl-rt
1602 (package
1603 (name "sbcl-rt")
1604 (version "1990.12.19")
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-"
1609 "20101006-git" ".tgz"))
1610 (sha256
1611 (base32
1612 "1jncar0xwkqk8yrc2dln389ivvgzs7ijdhhs3zpfyi5d21f0qa1v"))))
1613 (build-system asdf-build-system/sbcl)
1614 (synopsis "MIT Regression Tester")
1615 (description
1616 "RT provides a framework for writing regression test suites.")
1617 (home-page "https://github.com/sharplispers/nibbles")
1618 (license license:unlicense)))
1619
1620 (define-public cl-rt
1621 (sbcl-package->cl-source-package sbcl-rt))
1622
1623 (define-public ecl-rt
1624 (sbcl-package->ecl-package sbcl-rt))
1625
1626 (define-public sbcl-nibbles
1627 (package
1628 (name "sbcl-nibbles")
1629 (version "0.14")
1630 (source
1631 (origin
1632 (method git-fetch)
1633 (uri (git-reference
1634 (url "https://github.com/sharplispers/nibbles/")
1635 (commit (string-append "v" version))))
1636 (sha256
1637 (base32
1638 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1639 (file-name (git-file-name "nibbles" version))))
1640 (build-system asdf-build-system/sbcl)
1641 (native-inputs
1642 ;; Tests only.
1643 `(("rt" ,sbcl-rt)))
1644 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1645 (description
1646 "When dealing with network protocols and file formats, it's common to
1647 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1648 flavors. Common Lisp sort of supports this by specifying :element-type for
1649 streams, but that facility is underspecified and there's nothing similar for
1650 read/write from octet vectors. What most people wind up doing is rolling their
1651 own small facility for their particular needs and calling it a day.
1652
1653 This library attempts to be comprehensive and centralize such
1654 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1655 vectors in signed or unsigned flavors are provided; these functions are also
1656 SETFable. Since it's sometimes desirable to read/write directly from streams,
1657 functions for doing so are also provided. On some implementations,
1658 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1659 also be supported.")
1660 (home-page "https://github.com/sharplispers/nibbles")
1661 (license license:bsd-3)))
1662
1663 (define-public cl-nibbles
1664 (sbcl-package->cl-source-package sbcl-nibbles))
1665
1666 (define-public ecl-nibbles
1667 (sbcl-package->ecl-package sbcl-nibbles))
1668
1669 (define-public sbcl-ironclad
1670 (package
1671 (name "sbcl-ironclad")
1672 (version "0.48")
1673 (source
1674 (origin
1675 (method git-fetch)
1676 (uri (git-reference
1677 (url "https://github.com/sharplispers/ironclad/")
1678 (commit (string-append "v" version))))
1679 (sha256
1680 (base32
1681 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
1682 (file-name (git-file-name name version))))
1683 (build-system asdf-build-system/sbcl)
1684 (native-inputs
1685 ;; Tests only.
1686 `(("rt" ,sbcl-rt)))
1687 (inputs
1688 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1689 ("flexi-streams" ,sbcl-flexi-streams)))
1690 (synopsis "Cryptographic toolkit written in Common Lisp")
1691 (description
1692 "Ironclad is a cryptography library written entirely in Common Lisp.
1693 It includes support for several popular ciphers, digests, MACs and public key
1694 cryptography algorithms. For several implementations that support Gray
1695 streams, support is included for convenient stream wrappers.")
1696 (home-page "https://github.com/sharplispers/ironclad")
1697 (license license:bsd-3)))
1698
1699 (define-public cl-ironclad
1700 (sbcl-package->cl-source-package sbcl-ironclad))
1701
1702 (define-public ecl-ironclad
1703 (sbcl-package->ecl-package sbcl-ironclad))
1704
1705 (define-public sbcl-named-readtables
1706 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1707 (revision "1"))
1708 (package
1709 (name "sbcl-named-readtables")
1710 (version (string-append "0.9-" revision "." (string-take commit 7)))
1711 (source
1712 (origin
1713 (method git-fetch)
1714 (uri (git-reference
1715 (url "https://github.com/melisgl/named-readtables.git")
1716 (commit commit)))
1717 (sha256
1718 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1719 (file-name (git-file-name "named-readtables" version))))
1720 (build-system asdf-build-system/sbcl)
1721 (arguments
1722 ;; Tests seem to be broken.
1723 `(#:tests? #f))
1724 (home-page "https://github.com/melisgl/named-readtables/")
1725 (synopsis "Library that creates a namespace for named readtables")
1726 (description "Named readtables is a library that creates a namespace for
1727 named readtables, which is akin to package namespacing in Common Lisp.")
1728 (license license:bsd-3))))
1729
1730 (define-public cl-named-readtables
1731 (sbcl-package->cl-source-package sbcl-named-readtables))
1732
1733 (define-public ecl-named-readtables
1734 (sbcl-package->ecl-package sbcl-named-readtables))
1735
1736 (define-public sbcl-pythonic-string-reader
1737 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1738 (package
1739 (name "sbcl-pythonic-string-reader")
1740 (version (git-version "0.0.0" "1" commit))
1741 (source
1742 (origin
1743 (method git-fetch)
1744 (uri (git-reference
1745 (url "https://github.com/smithzvk/pythonic-string-reader/")
1746 (commit commit)))
1747 (sha256
1748 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1749 (file-name (git-file-name "pythonic-string-reader" version))))
1750 (build-system asdf-build-system/sbcl)
1751 (inputs
1752 `(("named-readtables" ,sbcl-named-readtables)))
1753 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1754 (synopsis "Read table modification inspired by Python's three quote strings")
1755 (description "This piece of code sets up some reader macros that make it
1756 simpler to input string literals which contain backslashes and double quotes
1757 This is very useful for writing complicated docstrings and, as it turns out,
1758 writing code that contains string literals that contain code themselves.")
1759 (license license:bsd-3))))
1760
1761 (define-public cl-pythonic-string-reader
1762 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1763
1764 (define-public ecl-pythonic-string-reader
1765 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1766
1767 ;; SLIME does not have a ASDF system definition to build all of Swank. As a
1768 ;; result, the asdf-build-system/sbcl will produce an almost empty package.
1769 ;; Some work was done to fix this at
1770 ;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1771 ;; and is now lagging behind. Building SBCL fasls might not be worth the
1772 ;; hassle, so let's just ship the source then.
1773 (define-public cl-slime-swank
1774 (package
1775 (name "cl-slime-swank")
1776 (version "2.24")
1777 (source
1778 (origin
1779 (file-name (string-append name "-" version ".tar.gz"))
1780 (method git-fetch)
1781 (uri (git-reference
1782 (url "https://github.com/slime/slime/")
1783 (commit (string-append "v" version))))
1784 (sha256
1785 (base32
1786 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1787 (build-system asdf-build-system/source)
1788 (home-page "https://github.com/slime/slime")
1789 (synopsis "Common Lisp Swank server")
1790 (description
1791 "This is only useful if you want to start a Swank server in a Lisp
1792 processes that doesn't run under Emacs. Lisp processes created by
1793 @command{M-x slime} automatically start the server.")
1794 (license (list license:gpl2+ license:public-domain))))
1795
1796 (define-public sbcl-slime-swank
1797 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1798
1799 (define-public sbcl-mgl-pax
1800 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1801 (package
1802 (name "sbcl-mgl-pax")
1803 (version (git-version "0.0.0" "1" commit))
1804 (source
1805 (origin
1806 (method git-fetch)
1807 (uri (git-reference
1808 (url "https://github.com/melisgl/mgl-pax")
1809 (commit commit)))
1810 (sha256
1811 (base32
1812 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1813 (file-name (git-file-name "mgl-pax" version))))
1814 (build-system asdf-build-system/sbcl)
1815 (inputs
1816 `(("3bmd" ,sbcl-3bmd)
1817 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1818 ("babel" ,sbcl-babel)
1819 ("cl-fad" ,sbcl-cl-fad)
1820 ("ironclad" ,sbcl-ironclad)
1821 ("named-readtables" ,sbcl-named-readtables)
1822 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1823 (propagated-inputs
1824 ;; Packages having mgl-pax as input complain that it can't find
1825 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1826 `(("swank" ,cl-slime-swank)))
1827 (synopsis "Exploratory programming environment and documentation generator")
1828 (description
1829 "PAX provides an extremely poor man's Explorable Programming
1830 environment. Narrative primarily lives in so called sections that mix markdown
1831 docstrings with references to functions, variables, etc, all of which should
1832 probably have their own docstrings.
1833
1834 The primary focus is on making code easily explorable by using SLIME's
1835 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1836 fanciness in Emacs Integration. Generating documentation from sections and all
1837 the referenced items in Markdown or HTML format is also implemented.
1838
1839 With the simplistic tools provided, one may accomplish similar effects as with
1840 Literate Programming, but documentation is generated from code, not vice versa
1841 and there is no support for chunking yet. Code is first, code must look
1842 pretty, documentation is code.")
1843 (home-page "http://quotenil.com/")
1844 (license license:expat))))
1845
1846 (define-public cl-mgl-pax
1847 (sbcl-package->cl-source-package sbcl-mgl-pax))
1848
1849 (define-public ecl-mgl-pax
1850 (sbcl-package->ecl-package sbcl-mgl-pax))
1851
1852 (define-public sbcl-lisp-unit
1853 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1854 (package
1855 (name "sbcl-lisp-unit")
1856 (version (git-version "0.0.0" "1" commit))
1857 (source
1858 (origin
1859 (method git-fetch)
1860 (uri (git-reference
1861 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1862 (commit commit)))
1863 (sha256
1864 (base32
1865 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1866 (file-name (git-file-name "lisp-unit" version))))
1867 (build-system asdf-build-system/sbcl)
1868 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1869 (description
1870 "@command{lisp-unit} is a Common Lisp library that supports unit
1871 testing. It is an extension of the library written by Chris Riesbeck.")
1872 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1873 (license license:expat))))
1874
1875 (define-public cl-lisp-unit
1876 (sbcl-package->cl-source-package sbcl-lisp-unit))
1877
1878 (define-public ecl-lisp-unit
1879 (sbcl-package->ecl-package sbcl-lisp-unit))
1880
1881 (define-public sbcl-anaphora
1882 (package
1883 (name "sbcl-anaphora")
1884 (version "0.9.6")
1885 (source
1886 (origin
1887 (method git-fetch)
1888 (uri (git-reference
1889 (url "https://github.com/tokenrove/anaphora")
1890 (commit version)))
1891 (sha256
1892 (base32
1893 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1894 (file-name (git-file-name "anaphora" version))))
1895 (build-system asdf-build-system/sbcl)
1896 (native-inputs
1897 `(("rt" ,sbcl-rt)))
1898 (synopsis "The anaphoric macro collection from Hell")
1899 (description
1900 "Anaphora is the anaphoric macro collection from Hell: it includes many
1901 new fiends in addition to old friends like @command{aif} and
1902 @command{awhen}.")
1903 (home-page "https://github.com/tokenrove/anaphora")
1904 (license license:public-domain)))
1905
1906 (define-public cl-anaphora
1907 (sbcl-package->cl-source-package sbcl-anaphora))
1908
1909 (define-public ecl-anaphora
1910 (sbcl-package->ecl-package sbcl-anaphora))
1911
1912 (define-public sbcl-lift
1913 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1914 (package
1915 (name "sbcl-lift")
1916 (version (git-version "1.7.1" "1" commit))
1917 (source
1918 (origin
1919 (method git-fetch)
1920 (uri (git-reference
1921 (url "https://github.com/gwkkwg/lift")
1922 (commit commit)))
1923 (sha256
1924 (base32
1925 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1926 (file-name (git-file-name "lift" version))
1927 (modules '((guix build utils)))
1928 (snippet
1929 ;; Don't keep the bundled website
1930 `(begin
1931 (delete-file-recursively "website")
1932 #t))))
1933 (build-system asdf-build-system/sbcl)
1934 (arguments
1935 ;; The tests require a debugger, but we run with the debugger disabled.
1936 '(#:tests? #f))
1937 (synopsis "LIsp Framework for Testing")
1938 (description
1939 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1940 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1941 testcases are organized into hierarchical testsuites each of which can have
1942 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1943 supports randomized testing, benchmarking, profiling, and reporting.")
1944 (home-page "https://github.com/gwkkwg/lift")
1945 (license license:expat))))
1946
1947 (define-public cl-lift
1948 (sbcl-package->cl-source-package sbcl-lift))
1949
1950 (define-public ecl-lift
1951 (sbcl-package->ecl-package sbcl-lift))
1952
1953 (define-public sbcl-let-plus
1954 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1955 (package
1956 (name "sbcl-let-plus")
1957 (version (git-version "0.0.0" "1" commit))
1958 (source
1959 (origin
1960 (method git-fetch)
1961 (uri (git-reference
1962 (url "https://github.com/sharplispers/let-plus")
1963 (commit commit)))
1964 (sha256
1965 (base32
1966 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
1967 (file-name (git-file-name "let-plus" version))))
1968 (build-system asdf-build-system/sbcl)
1969 (inputs
1970 `(("alexandria" ,sbcl-alexandria)
1971 ("anaphora" ,sbcl-anaphora)))
1972 (native-inputs
1973 `(("lift" ,sbcl-lift)))
1974 (synopsis "Destructuring extension of let*")
1975 (description
1976 "This library implements the let+ macro, which is a dectructuring
1977 extension of let*. It features:
1978
1979 @itemize
1980 @item Clean, consistent syntax and small implementation (less than 300 LOC,
1981 not counting tests)
1982 @item Placeholder macros allow editor hints and syntax highlighting
1983 @item @command{&ign} for ignored values (in forms where that makes sense)
1984 @item Very easy to extend
1985 @end itemize\n")
1986 (home-page "https://github.com/sharplispers/let-plus")
1987 (license license:boost1.0))))
1988
1989 (define-public cl-let-plus
1990 (sbcl-package->cl-source-package sbcl-let-plus))
1991
1992 (define-public ecl-let-plus
1993 (sbcl-package->ecl-package sbcl-let-plus))
1994
1995 (define-public sbcl-cl-colors
1996 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
1997 (package
1998 (name "sbcl-cl-colors")
1999 (version (git-version "0.0.0" "1" commit))
2000 (source
2001 (origin
2002 (method git-fetch)
2003 (uri (git-reference
2004 (url "https://github.com/tpapp/cl-colors")
2005 (commit commit)))
2006 (sha256
2007 (base32
2008 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2009 (file-name (git-file-name "cl-colors" version))))
2010 (build-system asdf-build-system/sbcl)
2011 (inputs
2012 `(("alexandria" ,sbcl-alexandria)
2013 ("let-plus" ,sbcl-let-plus)))
2014 (synopsis "Simple color library for Common Lisp")
2015 (description
2016 "This is a very simple color library for Common Lisp, providing
2017
2018 @itemize
2019 @item Types for representing colors in HSV and RGB spaces.
2020 @item Simple conversion functions between the above types (and also
2021 hexadecimal representation for RGB).
2022 @item Some predefined colors (currently X11 color names – of course the
2023 library does not depend on X11).Because color in your terminal is nice.
2024 @end itemize
2025
2026 This library is no longer supported by its author.")
2027 (home-page "https://github.com/tpapp/cl-colors")
2028 (license license:boost1.0))))
2029
2030 (define-public cl-colors
2031 (sbcl-package->cl-source-package sbcl-cl-colors))
2032
2033 (define-public ecl-cl-colors
2034 (sbcl-package->ecl-package sbcl-cl-colors))
2035
2036 (define-public sbcl-cl-ansi-text
2037 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2038 (package
2039 (name "sbcl-cl-ansi-text")
2040 (version (git-version "1.0.0" "1" commit))
2041 (source
2042 (origin
2043 (method git-fetch)
2044 (uri (git-reference
2045 (url "https://github.com/pnathan/cl-ansi-text")
2046 (commit commit)))
2047 (sha256
2048 (base32
2049 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2050 (file-name (git-file-name "cl-ansi-text" version))))
2051 (build-system asdf-build-system/sbcl)
2052 (inputs
2053 `(("alexandria" ,sbcl-alexandria)
2054 ("cl-colors" ,sbcl-cl-colors)))
2055 (native-inputs
2056 `(("fiveam" ,sbcl-fiveam)))
2057 (synopsis "ANSI terminal color implementation for Common Lisp")
2058 (description
2059 "@command{cl-ansi-text} provides utilities which enable printing to an
2060 ANSI terminal with colored text. It provides the macro @command{with-color}
2061 which causes everything printed in the body to be displayed with the provided
2062 color. It further provides functions which will print the argument with the
2063 named color.")
2064 (home-page "https://github.com/pnathan/cl-ansi-text")
2065 (license license:llgpl))))
2066
2067 (define-public cl-ansi-text
2068 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2069
2070 (define-public ecl-cl-ansi-text
2071 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2072
2073 (define-public sbcl-prove-asdf
2074 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2075 (package
2076 (name "sbcl-prove-asdf")
2077 (version (git-version "1.0.0" "1" commit))
2078 (source
2079 (origin
2080 (method git-fetch)
2081 (uri (git-reference
2082 (url "https://github.com/fukamachi/prove")
2083 (commit commit)))
2084 (sha256
2085 (base32
2086 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2087 (file-name (git-file-name "prove" version))))
2088 (build-system asdf-build-system/sbcl)
2089 (arguments
2090 `(#:asd-file "prove-asdf.asd"))
2091 (synopsis "Test requirement for the Common Lisp 'prove' library")
2092 (description
2093 "Test requirement for the Common Lisp @command{prove} library.")
2094 (home-page "https://github.com/fukamachi/prove")
2095 (license license:expat))))
2096
2097 (define-public cl-prove-asdf
2098 (sbcl-package->cl-source-package sbcl-prove-asdf))
2099
2100 (define-public ecl-prove-asdf
2101 (sbcl-package->ecl-package sbcl-prove-asdf))
2102
2103 (define-public sbcl-prove
2104 (package
2105 (inherit sbcl-prove-asdf)
2106 (name "sbcl-prove")
2107 (inputs
2108 `(("alexandria" ,sbcl-alexandria)
2109 ("cl-ppcre" ,sbcl-cl-ppcre)
2110 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2111 (native-inputs
2112 `(("prove-asdf" ,sbcl-prove-asdf)))
2113 (arguments
2114 `(#:asd-file "prove.asd"))
2115 (synopsis "Yet another unit testing framework for Common Lisp")
2116 (description
2117 "This project was originally called @command{cl-test-more}.
2118 @command{prove} is yet another unit testing framework for Common Lisp. The
2119 advantages of @command{prove} are:
2120
2121 @itemize
2122 @item Various simple functions for testing and informative error messages
2123 @item ASDF integration
2124 @item Extensible test reporters
2125 @item Colorizes the report if it's available (note for SLIME)
2126 @item Reports test durations
2127 @end itemize\n")))
2128
2129 (define-public cl-prove
2130 (sbcl-package->cl-source-package sbcl-prove))
2131
2132 (define-public ecl-prove
2133 (sbcl-package->ecl-package sbcl-prove))
2134
2135 (define-public sbcl-proc-parse
2136 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2137 (package
2138 (name "sbcl-proc-parse")
2139 (version (git-version "0.0.0" "1" commit))
2140 (source
2141 (origin
2142 (method git-fetch)
2143 (uri (git-reference
2144 (url "https://github.com/fukamachi/proc-parse")
2145 (commit commit)))
2146 (sha256
2147 (base32
2148 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2149 (file-name (git-file-name "proc-parse" version))))
2150 (build-system asdf-build-system/sbcl)
2151 (inputs
2152 `(("alexandria" ,sbcl-alexandria)
2153 ("babel" ,sbcl-babel)))
2154 (native-inputs
2155 `(("prove" ,sbcl-prove)
2156 ("prove-asdf" ,sbcl-prove-asdf)))
2157 (arguments
2158 ;; TODO: Tests don't find "proc-parse-test", why?
2159 `(#:tests? #f))
2160 (synopsis "Procedural vector parser")
2161 (description
2162 "This is a string/octets parser library for Common Lisp with speed and
2163 readability in mind. Unlike other libraries, the code is not a
2164 pattern-matching-like, but a char-by-char procedural parser.")
2165 (home-page "https://github.com/fukamachi/proc-parse")
2166 (license license:bsd-2))))
2167
2168 (define-public cl-proc-parse
2169 (sbcl-package->cl-source-package sbcl-proc-parse))
2170
2171 (define-public ecl-proc-parse
2172 (sbcl-package->ecl-package sbcl-proc-parse))
2173
2174 (define-public sbcl-parse-float
2175 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2176 (package
2177 (name "sbcl-parse-float")
2178 (version (git-version "0.0.0" "1" commit))
2179 (source
2180 (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/soemraws/parse-float")
2184 (commit commit)))
2185 (sha256
2186 (base32
2187 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2188 (file-name (git-file-name "proc-parse" version))))
2189 (build-system asdf-build-system/sbcl)
2190 (inputs
2191 `(("alexandria" ,sbcl-alexandria)
2192 ("babel" ,sbcl-babel)))
2193 (native-inputs
2194 `(("prove" ,sbcl-prove)
2195 ("prove-asdf" ,sbcl-prove-asdf)))
2196 (arguments
2197 ;; TODO: Tests don't find "proc-parse-test", why?
2198 `(#:tests? #f))
2199 (synopsis "Parse a floating point value from a string in Common Lisp")
2200 (description
2201 "This package exports the following function to parse floating-point
2202 values from a string in Common Lisp.")
2203 (home-page "https://github.com/soemraws/parse-float")
2204 (license license:public-domain))))
2205
2206 (define-public cl-parse-float
2207 (sbcl-package->cl-source-package sbcl-parse-float))
2208
2209 (define-public ecl-parse-float
2210 (sbcl-package->ecl-package sbcl-parse-float))
2211
2212 (define-public sbcl-ascii-strings
2213 (let ((revision "1")
2214 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2215 (package
2216 (name "sbcl-ascii-strings")
2217 (version (string-append "0-" revision "." (string-take changeset 7)))
2218 (source
2219 (origin
2220 (method hg-fetch)
2221 (uri (hg-reference
2222 (url "https://bitbucket.org/vityok/cl-string-match/")
2223 (changeset changeset)))
2224 (sha256
2225 (base32
2226 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2227 (file-name (git-file-name "cl-string-match" version))))
2228 (build-system asdf-build-system/sbcl)
2229 (inputs
2230 `(("alexandria" ,sbcl-alexandria)
2231 ("babel" ,sbcl-babel)))
2232 (arguments
2233 `(#:asd-file "ascii-strings.asd"))
2234 (synopsis "Operations on ASCII strings")
2235 (description
2236 "Operations on ASCII strings. Essentially this can be any kind of
2237 single-byte encoded strings.")
2238 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2239 (license license:bsd-3))))
2240
2241 (define-public cl-ascii-strings
2242 (sbcl-package->cl-source-package sbcl-ascii-strings))
2243
2244 (define-public ecl-ascii-strings
2245 (sbcl-package->ecl-package sbcl-ascii-strings))
2246
2247 (define-public sbcl-simple-scanf
2248 (package
2249 (inherit sbcl-ascii-strings)
2250 (name "sbcl-simple-scanf")
2251 (inputs
2252 `(("alexandria" ,sbcl-alexandria)
2253 ("iterate" ,sbcl-iterate)
2254 ("proc-parse" ,sbcl-proc-parse)
2255 ("parse-float" ,sbcl-parse-float)))
2256 (arguments
2257 `(#:asd-file "simple-scanf.asd"))
2258 (synopsis "Simple scanf-like functionality implementation")
2259 (description
2260 "A simple scanf-like functionality implementation.")))
2261
2262 (define-public cl-simple-scanf
2263 (sbcl-package->cl-source-package sbcl-simple-scanf))
2264
2265 (define-public ecl-simple-scanf
2266 (sbcl-package->ecl-package sbcl-simple-scanf))
2267
2268 (define-public sbcl-cl-string-match
2269 (package
2270 (inherit sbcl-ascii-strings)
2271 (name "sbcl-cl-string-match")
2272 (inputs
2273 `(("alexandria" ,sbcl-alexandria)
2274 ("ascii-strings" ,sbcl-ascii-strings)
2275 ("yacc" ,sbcl-cl-yacc)
2276 ("jpl-util" ,sbcl-jpl-util)
2277 ("jpl-queues" ,sbcl-jpl-queues)
2278 ("mgl-pax" ,sbcl-mgl-pax)
2279 ("iterate" ,sbcl-iterate)))
2280 ;; TODO: Tests are not evaluated properly.
2281 (native-inputs
2282 ;; For testing:
2283 `(("lisp-unit" ,sbcl-lisp-unit)
2284 ("simple-scanf" ,sbcl-simple-scanf)))
2285 (arguments
2286 `(#:tests? #f
2287 #:asd-file "cl-string-match.asd"))
2288 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2289 (description
2290 "@command{cl-strings} is a small, portable, dependency-free set of
2291 utilities that make it even easier to manipulate text in Common Lisp. It has
2292 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2293
2294 (define-public cl-string-match
2295 (sbcl-package->cl-source-package sbcl-cl-string-match))
2296
2297 (define-public ecl-cl-string-match
2298 (sbcl-package->ecl-package sbcl-cl-string-match))
2299
2300 (define-public sbcl-ptester
2301 (package
2302 (name "sbcl-ptester")
2303 (version "20160929")
2304 (source
2305 (origin
2306 (method url-fetch)
2307 (uri (string-append "http://beta.quicklisp.org/archive/ptester/"
2308 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
2309 "/ptester-"
2310 version
2311 "-git.tgz"))
2312 (sha256
2313 (base32
2314 "04rlq1zljhxc65pm31bah3sq3as24l0sdivz440s79qlnnyh13hz"))))
2315 (build-system asdf-build-system/sbcl)
2316 (home-page "http://quickdocs.org/ptester/")
2317 (synopsis "Portable test harness package")
2318 (description
2319 "@command{ptester} is a portable testing framework based on Franz's
2320 tester module.")
2321 (license license:lgpl3+)))
2322
2323 (define-public cl-ptester
2324 (sbcl-package->cl-source-package sbcl-ptester))
2325
2326 (define-public ecl-ptester
2327 (sbcl-package->ecl-package sbcl-ptester))
2328
2329 (define-public sbcl-puri
2330 (package
2331 (name "sbcl-puri")
2332 (version "20180228")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append "http://beta.quicklisp.org/archive/puri/"
2337 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
2338 "/puri-"
2339 version
2340 "-git.tgz"))
2341 (sha256
2342 (base32
2343 "1s4r5adrjy5asry45xbcbklxhdjydvf6n55z897nvyw33bigrnbz"))))
2344 (build-system asdf-build-system/sbcl)
2345 ;; REVIEW: Webiste down?
2346 (native-inputs
2347 `(("ptester" ,sbcl-ptester)))
2348 (home-page "http://files.kpe.io/puri/")
2349 (synopsis "Portable URI Library")
2350 (description
2351 "This is portable Universal Resource Identifier library for Common Lisp
2352 programs. It parses URI according to the RFC 2396 specification")
2353 (license license:lgpl3+)))
2354
2355 (define-public cl-puri
2356 (sbcl-package->cl-source-package sbcl-puri))
2357
2358 (define-public ecl-puri
2359 (sbcl-package->ecl-package sbcl-puri))
2360
2361 (define-public sbcl-queues
2362 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2363 (package
2364 (name "sbcl-queues")
2365 (version (git-version "0.0.0" "1" commit))
2366 (source
2367 (origin
2368 (method git-fetch)
2369 (uri (git-reference
2370 (url "https://github.com/oconnore/queues")
2371 (commit commit)))
2372 (file-name (git-file-name "queues" version))
2373 (sha256
2374 (base32
2375 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2376 (build-system asdf-build-system/sbcl)
2377 (home-page "https://github.com/oconnore/queues")
2378 (synopsis "Common Lisp queue library")
2379 (description
2380 "This is a simple queue library for Common Lisp with features such as
2381 non-consing thread safe queues and fibonacci priority queues.")
2382 (license license:expat))))
2383
2384 (define-public cl-queues
2385 (sbcl-package->cl-source-package sbcl-queues))
2386
2387 (define-public ecl-queues
2388 (sbcl-package->ecl-package sbcl-queues))
2389
2390 (define-public sbcl-queues.simple-queue
2391 (package
2392 (inherit sbcl-queues)
2393 (name "sbcl-queues.simple-queue")
2394 (inputs
2395 `(("sbcl-queues" ,sbcl-queues)))
2396 (arguments
2397 `(#:asd-file "queues.simple-queue.asd"))
2398 (synopsis "Simple queue implementation")
2399 (description
2400 "This is a simple queue library for Common Lisp with features such as
2401 non-consing thread safe queues and fibonacci priority queues.")
2402 (license license:expat)))
2403
2404 (define-public cl-queues.simple-queue
2405 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2406
2407 (define-public ecl-queues.simple-queue
2408 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2409
2410 (define-public sbcl-queues.simple-cqueue
2411 (package
2412 (inherit sbcl-queues)
2413 (name "sbcl-queues.simple-cqueue")
2414 (inputs
2415 `(("sbcl-queues" ,sbcl-queues)
2416 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2417 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2418 (arguments
2419 `(#:asd-file "queues.simple-cqueue.asd"))
2420 (synopsis "Thread safe queue implementation")
2421 (description
2422 "This is a simple queue library for Common Lisp with features such as
2423 non-consing thread safe queues and fibonacci priority queues.")
2424 (license license:expat)))
2425
2426 (define-public cl-queues.simple-cqueue
2427 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2428
2429 (define-public ecl-queues.simple-cqueue
2430 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2431
2432 (define-public sbcl-queues.priority-queue
2433 (package
2434 (inherit sbcl-queues)
2435 (name "sbcl-queues.priority-queue")
2436 (inputs
2437 `(("sbcl-queues" ,sbcl-queues)))
2438 (arguments
2439 `(#:asd-file "queues.priority-queue.asd"))
2440 (synopsis "Priority queue (Fibonacci) implementation")
2441 (description
2442 "This is a simple queue library for Common Lisp with features such as
2443 non-consing thread safe queues and fibonacci priority queues.")
2444 (license license:expat)))
2445
2446 (define-public cl-queues.priority-queue
2447 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2448
2449 (define-public ecl-queues.priority-queue
2450 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2451
2452 (define-public sbcl-queues.priority-cqueue
2453 (package
2454 (inherit sbcl-queues)
2455 (name "sbcl-queues.priority-cqueue")
2456 (inputs
2457 `(("sbcl-queues" ,sbcl-queues)
2458 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2459 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2460 (arguments
2461 `(#:asd-file "queues.priority-cqueue.asd"))
2462 (synopsis "Thread safe fibonacci priority queue implementation")
2463 (description
2464 "This is a simple queue library for Common Lisp with features such as
2465 non-consing thread safe queues and fibonacci priority queues.")
2466 (license license:expat)))
2467
2468 (define-public cl-queues.priority-cqueue
2469 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2470
2471 (define-public ecl-queues.priority-cqueue
2472 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2473
2474 (define sbcl-cffi-bootstrap
2475 (package
2476 (name "sbcl-cffi-bootstrap")
2477 (version "0.21.0")
2478 (source
2479 (origin
2480 (method git-fetch)
2481 (uri (git-reference
2482 (url "https://github.com/cffi/cffi.git")
2483 (commit (string-append "v" version))))
2484 (file-name (git-file-name "cffi-bootstrap" version))
2485 (sha256
2486 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
2487 (build-system asdf-build-system/sbcl)
2488 (inputs
2489 `(("libffi" ,libffi)
2490 ("alexandria" ,sbcl-alexandria)
2491 ("babel" ,sbcl-babel)
2492 ("trivial-features" ,sbcl-trivial-features)))
2493 (native-inputs
2494 `(("pkg-config" ,pkg-config)))
2495 (arguments
2496 '(#:phases
2497 (modify-phases %standard-phases
2498 (add-after 'unpack 'fix-paths
2499 (lambda* (#:key inputs #:allow-other-keys)
2500 (substitute* "libffi/libffi.lisp"
2501 (("libffi.so.6" all) (string-append
2502 (assoc-ref inputs "libffi")
2503 "/lib/" all)))
2504 (substitute* "toolchain/c-toolchain.lisp"
2505 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2506 #:asd-system-name "cffi"
2507 #:tests? #f))
2508 (home-page "https://common-lisp.net/project/cffi/")
2509 (synopsis "Common Foreign Function Interface for Common Lisp")
2510 (description "The Common Foreign Function Interface (CFFI)
2511 purports to be a portable foreign function interface for Common Lisp.
2512 The CFFI library is composed of a Lisp-implementation-specific backend
2513 in the CFFI-SYS package, and a portable frontend in the CFFI
2514 package.")
2515 (license license:expat)))
2516
2517 (define-public sbcl-cffi-toolchain
2518 (package
2519 (inherit sbcl-cffi-bootstrap)
2520 (name "sbcl-cffi-toolchain")
2521 (inputs
2522 `(("libffi" ,libffi)
2523 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2524 (arguments
2525 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2526 ((#:asd-system-name _) #f)
2527 ((#:tests? _) #t)))))
2528
2529 (define-public sbcl-cffi-libffi
2530 (package
2531 (inherit sbcl-cffi-toolchain)
2532 (name "sbcl-cffi-libffi")
2533 (inputs
2534 `(("cffi" ,sbcl-cffi-bootstrap)
2535 ("cffi-grovel" ,sbcl-cffi-grovel)
2536 ("trivial-features" ,sbcl-trivial-features)
2537 ("libffi" ,libffi)))))
2538
2539 (define-public sbcl-cffi-grovel
2540 (package
2541 (inherit sbcl-cffi-toolchain)
2542 (name "sbcl-cffi-grovel")
2543 (inputs
2544 `(("libffi" ,libffi)
2545 ("cffi" ,sbcl-cffi-bootstrap)
2546 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2547 ("alexandria" ,sbcl-alexandria)))
2548 (arguments
2549 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2550 ((#:phases phases)
2551 `(modify-phases ,phases
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
2559 (define-public sbcl-cffi
2560 (package
2561 (inherit sbcl-cffi-toolchain)
2562 (name "sbcl-cffi")
2563 (inputs (package-inputs sbcl-cffi-bootstrap))
2564 (native-inputs
2565 `(("cffi-grovel" ,sbcl-cffi-grovel)
2566 ("cffi-libffi" ,sbcl-cffi-libffi)
2567 ("rt" ,sbcl-rt)
2568 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2569 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2570
2571 (define-public cl-cffi
2572 (sbcl-package->cl-source-package sbcl-cffi))
2573
2574 (define-public sbcl-cl-sqlite
2575 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2576 (package
2577 (name "sbcl-cl-sqlite")
2578 (version (git-version "0.2" "1" commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/dmitryvk/cl-sqlite")
2584 (commit commit)))
2585 (file-name (git-file-name "cl-sqlite" version))
2586 (sha256
2587 (base32
2588 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2589 (build-system asdf-build-system/sbcl)
2590 (inputs
2591 `(("iterate" ,sbcl-iterate)
2592 ("cffi" ,sbcl-cffi)
2593 ("sqlite" ,sqlite)))
2594 (native-inputs
2595 `(("fiveam" ,sbcl-fiveam)
2596 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2597 (arguments
2598 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2599 #:asd-file "sqlite.asd"
2600 #:asd-system-name "sqlite"
2601 #:phases
2602 (modify-phases %standard-phases
2603 (add-after 'unpack 'fix-paths
2604 (lambda* (#:key inputs #:allow-other-keys)
2605 (substitute* "sqlite-ffi.lisp"
2606 (("libsqlite3" all) (string-append
2607 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2608 (home-page "https://common-lisp.net/project/cl-sqlite/")
2609 (synopsis "Common Lisp binding for SQLite")
2610 (description
2611 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2612 relational database engine.")
2613 (license license:public-domain))))
2614
2615 (define-public cl-sqlite
2616 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2617
2618 (define-public sbcl-parenscript
2619 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2620 (package
2621 (name "sbcl-parenscript")
2622 (version (git-version "2.6" "1" commit))
2623 (source
2624 (origin
2625 (method git-fetch)
2626 (uri (git-reference
2627 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2628 (commit commit)))
2629 (file-name (git-file-name "parenscript" version))
2630 (sha256
2631 (base32
2632 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2633 (build-system asdf-build-system/sbcl)
2634 (inputs
2635 `(("cl-ppcre" ,sbcl-cl-ppcre)
2636 ("anaphora" ,sbcl-anaphora)
2637 ("named-readtables" ,sbcl-named-readtables)))
2638 (home-page "https://common-lisp.net/project/parenscript/")
2639 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2640 (description
2641 "Parenscript is a translator from an extended subset of Common Lisp to
2642 JavaScript. Parenscript code can run almost identically on both the
2643 browser (as JavaScript) and server (as Common Lisp).
2644
2645 Parenscript code is treated the same way as Common Lisp code, making the full
2646 power of Lisp macros available for JavaScript. This provides a web
2647 development environment that is unmatched in its ability to reduce code
2648 duplication and provide advanced meta-programming facilities to web
2649 developers.
2650
2651 At the same time, Parenscript is different from almost all other \"language
2652 X\" to JavaScript translators in that it imposes almost no overhead:
2653
2654 @itemize
2655 @item No run-time dependencies: Any piece of Parenscript code is runnable
2656 as-is. There are no JavaScript files to include.
2657 @item Native types: Parenscript works entirely with native JavaScript data
2658 types. There are no new types introduced, and object prototypes are not
2659 touched.
2660 @item Native calling convention: Any JavaScript code can be called without the
2661 need for bindings. Likewise, Parenscript can be used to make efficient,
2662 self-contained JavaScript libraries.
2663 @item Readable code: Parenscript generates concise, formatted, idiomatic
2664 JavaScript code. Identifier names are preserved. This enables seamless
2665 debugging in tools like Firebug.
2666 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2667 Lisp features. The generated code is almost as fast as hand-written
2668 JavaScript.
2669 @end itemize\n")
2670 (license license:bsd-3))))
2671
2672 (define-public cl-parenscript
2673 (sbcl-package->cl-source-package sbcl-parenscript))
2674
2675 (define-public ecl-parenscript
2676 (sbcl-package->ecl-package sbcl-parenscript))
2677
2678 (define-public sbcl-cl-json
2679 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2680 (package
2681 (name "sbcl-cl-json")
2682 (version (git-version "0.5" "1" commit))
2683 (source
2684 (origin
2685 (method git-fetch)
2686 (uri (git-reference
2687 (url "https://github.com/hankhero/cl-json")
2688 (commit commit)))
2689 (file-name (git-file-name "cl-json" version))
2690 (sha256
2691 (base32
2692 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2693 (build-system asdf-build-system/sbcl)
2694 (native-inputs
2695 `(("fiveam" ,sbcl-fiveam)))
2696 (home-page "https://github.com/hankhero/cl-json")
2697 (synopsis "JSON encoder and decoder for Common-Lisp")
2698 (description
2699 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2700 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2701 and the decoder are highly customizable; at the same time, the default
2702 settings ensure a very simple mode of operation, similar to that provided by
2703 @command{yason} or @command{st-json}.")
2704 (license license:expat))))
2705
2706 (define-public cl-json
2707 (sbcl-package->cl-source-package sbcl-cl-json))
2708
2709 (define-public ecl-cl-json
2710 (sbcl-package->ecl-package sbcl-cl-json))
2711
2712 (define-public sbcl-unix-opts
2713 (package
2714 (name "sbcl-unix-opts")
2715 (version "0.1.7")
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/libre-man/unix-opts")
2721 (commit version)))
2722 (file-name (git-file-name "unix-opts" version))
2723 (sha256
2724 (base32
2725 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2726 (build-system asdf-build-system/sbcl)
2727 (home-page "https://github.com/hankhero/cl-json")
2728 (synopsis "Unix-style command line options parser")
2729 (description
2730 "This is a minimalistic parser of command line options. The main
2731 advantage of the library is the ability to concisely define command line
2732 options once and then use this definition for parsing and extraction of
2733 command line arguments, as well as printing description of command line
2734 options (you get --help for free). This way you don't need to repeat
2735 yourself. Also, @command{unix-opts} doesn't depend on anything and allows to
2736 precisely control behavior of the parser via Common Lisp restarts.")
2737 (license license:expat)))
2738
2739 (define-public cl-unix-opts
2740 (sbcl-package->cl-source-package sbcl-unix-opts))
2741
2742 (define-public ecl-unix-opts
2743 (sbcl-package->ecl-package sbcl-unix-opts))
2744
2745 (define-public sbcl-trivial-garbage
2746 (package
2747 (name "sbcl-trivial-garbage")
2748 (version "0.21")
2749 (source
2750 (origin
2751 (method git-fetch)
2752 (uri (git-reference
2753 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2754 (commit (string-append "v" version))))
2755 (file-name (git-file-name "trivial-garbage" version))
2756 (sha256
2757 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2758 (build-system asdf-build-system/sbcl)
2759 (native-inputs
2760 `(("rt" ,sbcl-rt)))
2761 (home-page "https://common-lisp.net/project/trivial-garbage/")
2762 (synopsis "Portable GC-related APIs for Common Lisp")
2763 (description "@command{trivial-garbage} provides a portable API to
2764 finalizers, weak hash-tables and weak pointers on all major implementations of
2765 the Common Lisp programming language.")
2766 (license license:public-domain)))
2767
2768 (define-public cl-trivial-garbage
2769 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2770
2771 (define-public ecl-trivial-garbage
2772 (sbcl-package->ecl-package sbcl-trivial-garbage))
2773
2774 (define-public sbcl-closer-mop
2775 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2776 (package
2777 (name "sbcl-closer-mop")
2778 (version (git-version "1.0.0" "1" commit))
2779 (source
2780 (origin
2781 (method git-fetch)
2782 (uri (git-reference
2783 (url "https://github.com/pcostanza/closer-mop")
2784 (commit commit)))
2785 (sha256
2786 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2787 (file-name (git-file-name "closer-mop" version ))))
2788 (build-system asdf-build-system/sbcl)
2789 (home-page "https://github.com/pcostanza/closer-mop")
2790 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2791 (description "Closer to MOP is a compatibility layer that rectifies many
2792 of the absent or incorrect CLOS MOP features across a broad range of Common
2793 Lisp implementations.")
2794 (license license:expat))))
2795
2796 (define-public cl-closer-mop
2797 (sbcl-package->cl-source-package sbcl-closer-mop))
2798
2799 (define-public ecl-closer-mop
2800 (sbcl-package->ecl-package sbcl-closer-mop))
2801
2802 (define sbcl-cl-cffi-gtk-boot0
2803 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2804 (package
2805 (name "sbcl-cl-cffi-gtk-boot0")
2806 (version (git-version "0.11.2" "1" commit))
2807 (source
2808 (origin
2809 (method git-fetch)
2810 (uri (git-reference
2811 (url "https://github.com/Ferada/cl-cffi-gtk/")
2812 (commit commit)))
2813 (file-name (git-file-name "cl-cffi-gtk" version))
2814 (sha256
2815 (base32
2816 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2817 (build-system asdf-build-system/sbcl)
2818 (inputs
2819 `(("iterate" ,sbcl-iterate)
2820 ("cffi" ,sbcl-cffi)
2821 ("trivial-features" ,sbcl-trivial-features)))
2822 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2823 (synopsis "Common Lisp binding for GTK+3")
2824 (description
2825 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2826 is a library for creating graphical user interfaces.")
2827 (license license:lgpl3))))
2828
2829 (define-public sbcl-cl-cffi-gtk-glib
2830 (package
2831 (inherit sbcl-cl-cffi-gtk-boot0)
2832 (name "sbcl-cl-cffi-gtk-glib")
2833 (inputs
2834 `(("glib" ,glib)
2835 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2836 (arguments
2837 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2838 #:phases
2839 (modify-phases %standard-phases
2840 (add-after 'unpack 'fix-paths
2841 (lambda* (#:key inputs #:allow-other-keys)
2842 (substitute* "glib/glib.init.lisp"
2843 (("libglib|libgthread" all) (string-append
2844 (assoc-ref inputs "glib") "/lib/" all))))))))))
2845
2846 (define-public sbcl-cl-cffi-gtk-gobject
2847 (package
2848 (inherit sbcl-cl-cffi-gtk-boot0)
2849 (name "sbcl-cl-cffi-gtk-gobject")
2850 (inputs
2851 `(("glib" ,glib)
2852 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2853 ("trivial-garbage" ,sbcl-trivial-garbage)
2854 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2855 ("closer-mop" ,sbcl-closer-mop)
2856 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2857 (arguments
2858 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2859 #:phases
2860 (modify-phases %standard-phases
2861 (add-after 'unpack 'fix-paths
2862 (lambda* (#:key inputs #:allow-other-keys)
2863 (substitute* "gobject/gobject.init.lisp"
2864 (("libgobject" all) (string-append
2865 (assoc-ref inputs "glib") "/lib/" all))))))))))
2866
2867 (define-public sbcl-cl-cffi-gtk-gio
2868 (package
2869 (inherit sbcl-cl-cffi-gtk-boot0)
2870 (name "sbcl-cl-cffi-gtk-gio")
2871 (inputs
2872 `(("glib" ,glib)
2873 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2874 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2875 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2876 (arguments
2877 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2878 #:phases
2879 (modify-phases %standard-phases
2880 (add-after 'unpack 'fix-paths
2881 (lambda* (#:key inputs #:allow-other-keys)
2882 (substitute* "gio/gio.init.lisp"
2883 (("libgio" all)
2884 (string-append
2885 (assoc-ref inputs "glib") "/lib/" all))))))))))
2886
2887 (define-public sbcl-cl-cffi-gtk-cairo
2888 (package
2889 (inherit sbcl-cl-cffi-gtk-boot0)
2890 (name "sbcl-cl-cffi-gtk-cairo")
2891 (inputs
2892 `(("cairo" ,cairo)
2893 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2894 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2895 (arguments
2896 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2897 #:phases
2898 (modify-phases %standard-phases
2899 (add-after 'unpack 'fix-paths
2900 (lambda* (#:key inputs #:allow-other-keys)
2901 (substitute* "cairo/cairo.init.lisp"
2902 (("libcairo" all)
2903 (string-append
2904 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2905
2906 (define-public sbcl-cl-cffi-gtk-pango
2907 (package
2908 (inherit sbcl-cl-cffi-gtk-boot0)
2909 (name "sbcl-cl-cffi-gtk-pango")
2910 (inputs
2911 `(("pango" ,pango)
2912 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2913 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2914 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2915 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2916 (arguments
2917 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2918 #:phases
2919 (modify-phases %standard-phases
2920 (add-after 'unpack 'fix-paths
2921 (lambda* (#:key inputs #:allow-other-keys)
2922 (substitute* "pango/pango.init.lisp"
2923 (("libpango" all)
2924 (string-append
2925 (assoc-ref inputs "pango") "/lib/" all))))))))))
2926
2927 (define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2928 (package
2929 (inherit sbcl-cl-cffi-gtk-boot0)
2930 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2931 (inputs
2932 `(("gdk-pixbuf" ,gdk-pixbuf)
2933 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2934 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2935 (arguments
2936 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2937 #:phases
2938 (modify-phases %standard-phases
2939 (add-after 'unpack 'fix-paths
2940 (lambda* (#:key inputs #:allow-other-keys)
2941 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2942 (("libgdk_pixbuf" all)
2943 (string-append
2944 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2945
2946 (define-public sbcl-cl-cffi-gtk-gdk
2947 (package
2948 (inherit sbcl-cl-cffi-gtk-boot0)
2949 (name "sbcl-cl-cffi-gtk-gdk")
2950 (inputs
2951 `(("gtk" ,gtk+)
2952 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2953 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2954 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
2955 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2956 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
2957 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2958 (arguments
2959 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
2960 #:phases
2961 (modify-phases %standard-phases
2962 (add-after 'unpack 'fix-paths
2963 (lambda* (#:key inputs #:allow-other-keys)
2964 (substitute* "gdk/gdk.init.lisp"
2965 (("libgdk" all)
2966 (string-append
2967 (assoc-ref inputs "gtk") "/lib/" all)))
2968 (substitute* "gdk/gdk.package.lisp"
2969 (("libgtk" all)
2970 (string-append
2971 (assoc-ref inputs "gtk") "/lib/" all))))))))))
2972
2973 (define-public sbcl-cl-cffi-gtk
2974 (package
2975 (inherit sbcl-cl-cffi-gtk-boot0)
2976 (name "sbcl-cl-cffi-gtk")
2977 (inputs
2978 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2979 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2980 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2981 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
2982 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2983 (native-inputs
2984 `(("fiveam" ,sbcl-fiveam)))
2985 (arguments
2986 `(#:asd-file "gtk/cl-cffi-gtk.asd"
2987 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2988 ;; TODO: Tests fail with memory fault.
2989 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2990 #:tests? #f))))
2991
2992 (define-public cl-cffi-gtk
2993 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2994
2995 (define-public sbcl-cl-webkit
2996 (let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31"))
2997 (package
2998 (name "sbcl-cl-webkit")
2999 (version (git-version "2.4" "1" commit))
3000 (source
3001 (origin
3002 (method git-fetch)
3003 (uri (git-reference
3004 (url "https://github.com/jmercouris/cl-webkit")
3005 (commit commit)))
3006 (file-name (git-file-name "cl-webkit" version))
3007 (sha256
3008 (base32
3009 "0f5lyn9i7xrn3g1bddga377mcbawkbxydijpg389q4n04gqj0vwf"))))
3010 (build-system asdf-build-system/sbcl)
3011 (inputs
3012 `(("cffi" ,sbcl-cffi)
3013 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3014 ("webkitgtk" ,webkitgtk)))
3015 (arguments
3016 `(#:asd-file "webkit2/cl-webkit2.asd"
3017 #:asd-system-name "cl-webkit2"
3018 #:phases
3019 (modify-phases %standard-phases
3020 (add-after 'unpack 'fix-paths
3021 (lambda* (#:key inputs #:allow-other-keys)
3022 (substitute* "webkit2/webkit2.init.lisp"
3023 (("libwebkit2gtk" all)
3024 (string-append
3025 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3026 (home-page "https://github.com/jmercouris/cl-webkit")
3027 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3028 (description
3029 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3030 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3031 browsing capabilities to an application, leveraging the full power of the
3032 WebKit browsing engine.")
3033 (license license:expat))))
3034
3035 (define-public cl-webkit
3036 (sbcl-package->cl-source-package sbcl-cl-webkit))
3037
3038 (define-public sbcl-lparallel
3039 (package
3040 (name "sbcl-lparallel")
3041 (version "2.8.4")
3042 (source
3043 (origin
3044 (method git-fetch)
3045 (uri (git-reference
3046 (url "https://github.com/lmj/lparallel/")
3047 (commit (string-append "lparallel-" version))))
3048 (file-name (git-file-name "lparallel" version))
3049 (sha256
3050 (base32
3051 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3052 (build-system asdf-build-system/sbcl)
3053 (inputs
3054 `(("alexandria" ,sbcl-alexandria)
3055 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3056 ("trivial-garbage" ,sbcl-trivial-garbage)))
3057 (home-page "https://lparallel.org/")
3058 (synopsis "Parallelism for Common Lisp")
3059 (description
3060 "@command{lparallel} is a library for parallel programming in Common
3061 Lisp, featuring:
3062
3063 @itemize
3064 @item a simple model of task submission with receiving queue,
3065 @item constructs for expressing fine-grained parallelism,
3066 @item asynchronous condition handling across thread boundaries,
3067 @item parallel versions of map, reduce, sort, remove, and many others,
3068 @item promises, futures, and delayed evaluation constructs,
3069 @item computation trees for parallelizing interconnected tasks,
3070 @item bounded and unbounded FIFO queues,
3071 @item high and low priority tasks,
3072 @item task killing by category,
3073 @item integrated timeouts.
3074 @end itemize\n")
3075 (license license:expat)))
3076
3077 (define-public cl-lparallel
3078 (sbcl-package->cl-source-package sbcl-lparallel))
3079
3080 (define-public ecl-lparallel
3081 (sbcl-package->ecl-package sbcl-lparallel))
3082
3083 (define-public sbcl-cl-markup
3084 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3085 (package
3086 (name "sbcl-cl-markup")
3087 (version (git-version "0.1" "1" commit))
3088 (source
3089 (origin
3090 (method git-fetch)
3091 (uri (git-reference
3092 (url "https://github.com/arielnetworks/cl-markup/")
3093 (commit commit)))
3094 (file-name (git-file-name "cl-markup" version))
3095 (sha256
3096 (base32
3097 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3098 (build-system asdf-build-system/sbcl)
3099 (home-page "https://github.com/arielnetworks/cl-markup/")
3100 (synopsis "Markup generation library for Common Lisp")
3101 (description
3102 "A modern markup generation library for Common Lisp that features:
3103
3104 @itemize
3105 @item Fast (even faster through compiling the code)
3106 @item Safety
3107 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3108 @item Output with doctype
3109 @item Direct output to stream
3110 @end itemize\n")
3111 (license license:lgpl3+))))
3112
3113 (define-public cl-markup
3114 (sbcl-package->cl-source-package sbcl-cl-markup))
3115
3116 (define-public ecl-cl-markup
3117 (sbcl-package->ecl-package sbcl-cl-markup))
3118
3119 (define-public sbcl-cl-css
3120 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3121 (package
3122 (name "sbcl-cl-css")
3123 (version (git-version "0.1" "1" commit))
3124 (source
3125 (origin
3126 (method git-fetch)
3127 (uri (git-reference
3128 (url "https://github.com/inaimathi/cl-css/")
3129 (commit commit)))
3130 (file-name (git-file-name "cl-css" version))
3131 (sha256
3132 (base32
3133 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3134 (build-system asdf-build-system/sbcl)
3135 (home-page "https://github.com/inaimathi/cl-css/")
3136 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3137 (description
3138 "This is a dead-simple, non validating, inline CSS generator for Common
3139 Lisp. Its goals are axiomatic syntax, simple implementation to support
3140 portability, and boilerplate reduction in CSS.")
3141 (license license:expat))))
3142
3143 (define-public cl-css
3144 (sbcl-package->cl-source-package sbcl-cl-css))
3145
3146 (define-public ecl-cl-css
3147 (sbcl-package->ecl-package sbcl-cl-css))
3148
3149 (define-public sbcl-portable-threads
3150 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3151 (package
3152 (name "sbcl-portable-threads")
3153 (version (git-version "2.3" "1" commit))
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/binghe/portable-threads/")
3159 (commit commit)))
3160 (file-name (git-file-name "portable-threads" version))
3161 (sha256
3162 (base32
3163 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3164 (build-system asdf-build-system/sbcl)
3165 (arguments
3166 `(;; Tests seem broken.
3167 #:tests? #f))
3168 (home-page "https://github.com/binghe/portable-threads")
3169 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3170 (description
3171 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3172 Lisp (from GBBopen project).")
3173 (license license:asl2.0))))
3174
3175 (define-public cl-portable-threads
3176 (sbcl-package->cl-source-package sbcl-portable-threads))
3177
3178 (define-public ecl-portable-threada
3179 (sbcl-package->ecl-package sbcl-portable-threads))
3180
3181 (define-public sbcl-usocket-boot0
3182 ;; usocket's test rely on usocket-server which depends on usocket itself.
3183 ;; We break this cyclic dependency with -boot0 that packages usocket.
3184 (let ((commit "86e7efbfe50101931edf4b67cdcfa7e221ecfde9"))
3185 (package
3186 (name "sbcl-usocket-boot0")
3187 (version (git-version "0.7.1" "1" commit))
3188 (source
3189 (origin
3190 (method git-fetch)
3191 (uri (git-reference
3192 (url "https://github.com/usocket/usocket/")
3193 (commit commit)))
3194 (file-name (git-file-name "usocket" version))
3195 (sha256
3196 (base32
3197 "1lk6ipakrib7kdgzw44hrgmls9akp5pz4h35yynw0k5zwmmq6374"))))
3198 (build-system asdf-build-system/sbcl)
3199 (inputs
3200 `(("split-sequence" ,sbcl-split-sequence)))
3201 (arguments
3202 `(#:tests? #f
3203 #:asd-system-name "usocket"))
3204 (home-page "https://common-lisp.net/project/usocket/")
3205 (synopsis "Universal socket library for Common Lisp (server side)")
3206 (description
3207 "This library strives to provide a portable TCP/IP and UDP/IP socket
3208 interface for as many Common Lisp implementations as possible, while keeping
3209 the abstraction and portability layer as thin as possible.")
3210 (license license:expat))))
3211
3212 (define-public sbcl-usocket-server
3213 (package
3214 (inherit sbcl-usocket-boot0)
3215 (name "sbcl-usocket-server")
3216 (inputs
3217 `(("usocket" ,sbcl-usocket-boot0)
3218 ("portable-threads" ,sbcl-portable-threads)))
3219 (arguments
3220 '(#:asd-system-name "usocket-server"))
3221 (synopsis "Universal socket library for Common Lisp (server side)")))
3222
3223 (define-public cl-usocket-server
3224 (sbcl-package->cl-source-package sbcl-usocket-server))
3225
3226 (define-public ecl-socket-server
3227 (sbcl-package->ecl-package sbcl-usocket-server))
3228
3229 (define-public sbcl-usocket
3230 (package
3231 (inherit sbcl-usocket-boot0)
3232 (name "sbcl-usocket")
3233 (arguments
3234 ;; FIXME: Tests need network access?
3235 `(#:tests? #f))
3236 (native-inputs
3237 ;; Testing only.
3238 `(("usocket-server" ,sbcl-usocket-server)
3239 ("rt" ,sbcl-rt)))))
3240
3241 (define-public cl-usocket
3242 (sbcl-package->cl-source-package sbcl-usocket))
3243
3244 (define-public ecl-socket
3245 (sbcl-package->ecl-package sbcl-usocket))
3246
3247 (define-public sbcl-s-xml
3248 (package
3249 (name "sbcl-s-xml")
3250 (version "3")
3251 (source
3252 (origin
3253 (method url-fetch)
3254 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3255 (sha256
3256 (base32
3257 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3258 (build-system asdf-build-system/sbcl)
3259 (home-page "https://common-lisp.net/project/s-xml/")
3260 (synopsis "Simple XML parser implemented in Common Lisp")
3261 (description
3262 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3263 parser implementation has the following features:
3264
3265 @itemize
3266 @item It works (handling many common XML usages).
3267 @item It is very small (the core is about 700 lines of code, including
3268 comments and whitespace).
3269 @item It has a core API that is simple, efficient and pure functional, much
3270 like that from SSAX (see also http://ssax.sourceforge.net).
3271 @item It supports different DOM models: an XSML-based one, an LXML-based one
3272 and a classic xml-element struct based one.
3273 @item It is reasonably time and space efficient (internally avoiding garbage
3274 generatation as much as possible).
3275 @item It does support CDATA.
3276 @item It should support the same character sets as your Common Lisp
3277 implementation.
3278 @item It does support XML name spaces.
3279 @end itemize
3280
3281 This XML parser implementation has the following limitations:
3282
3283 @itemize
3284 @item It does not support any special tags (like processing instructions).
3285 @item It is not validating, even skips DTD's all together.
3286 @end itemize\n")
3287 (license license:lgpl3+)))
3288
3289 (define-public cl-s-xml
3290 (sbcl-package->cl-source-package sbcl-s-xml))
3291
3292 (define-public ecl-s-xml
3293 (sbcl-package->ecl-package sbcl-s-xml))
3294
3295 (define-public sbcl-s-xml-rpc
3296 (package
3297 (name "sbcl-s-xml-rpc")
3298 (version "7")
3299 (source
3300 (origin
3301 (method url-fetch)
3302 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3303 (sha256
3304 (base32
3305 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3306 (build-system asdf-build-system/sbcl)
3307 (inputs
3308 `(("s-xml" ,sbcl-s-xml)))
3309 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3310 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3311 (description
3312 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3313 client and server.")
3314 (license license:lgpl3+)))
3315
3316 (define-public cl-s-xml-rpc
3317 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3318
3319 (define-public ecl-s-xml-rpc
3320 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3321
3322 (define-public sbcl-trivial-clipboard
3323 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3324 (package
3325 (name "sbcl-trivial-clipboard")
3326 (version (git-version "0.0.0.0" "2" commit))
3327 (source
3328 (origin
3329 (method git-fetch)
3330 (uri (git-reference
3331 (url "https://github.com/snmsts/trivial-clipboard")
3332 (commit commit)))
3333 (file-name (git-file-name "trivial-clipboard" version))
3334 (sha256
3335 (base32
3336 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3337 (build-system asdf-build-system/sbcl)
3338 (inputs
3339 `(("xclip" ,xclip)))
3340 (native-inputs
3341 `(("fiveam" ,sbcl-fiveam)))
3342 (arguments
3343 `(#:phases
3344 (modify-phases %standard-phases
3345 (add-after 'unpack 'fix-paths
3346 (lambda* (#:key inputs #:allow-other-keys)
3347 (substitute* "src/text.lisp"
3348 (("\\(executable-find \"xclip\"\\)")
3349 (string-append "(executable-find \""
3350 (assoc-ref inputs "xclip")
3351 "/bin/xclip\")"))))))))
3352 (home-page "https://github.com/snmsts/trivial-clipboard")
3353 (synopsis "Access system clipboard in Common Lisp")
3354 (description
3355 "@command{trivial-clipboard} gives access to the system clipboard.")
3356 (license license:expat))))
3357
3358 (define-public cl-trivial-clipboard
3359 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3360
3361 (define-public ecl-trivial-clipboard
3362 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3363
3364 (define-public sbcl-trivial-backtrace
3365 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3366 (revision "1"))
3367 (package
3368 (name "sbcl-trivial-backtrace")
3369 (version (git-version "0.0.0" revision commit))
3370 (source
3371 (origin
3372 (method git-fetch)
3373 (uri (git-reference
3374 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3375 (commit commit)))
3376 (file-name (git-file-name "trivial-backtrace" version))
3377 (sha256
3378 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3379 (build-system asdf-build-system/sbcl)
3380 (inputs
3381 `(("sbcl-lift" ,sbcl-lift)))
3382 (arguments
3383 `(#:phases
3384 (modify-phases %standard-phases
3385 (add-after 'check 'delete-test-results
3386 (lambda* (#:key outputs #:allow-other-keys)
3387 (let ((test-results (string-append (assoc-ref outputs "out")
3388 "/share/common-lisp/"
3389 (%lisp-type) "-source"
3390 "/trivial-backtrace"
3391 "/test-results")))
3392 (when (file-exists? test-results)
3393 (delete-file-recursively test-results)))
3394 #t)))))
3395 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3396 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3397 (description
3398 "On of the many things that didn't quite get into the Common Lisp
3399 standard was how to get a Lisp to output its call stack when something has
3400 gone wrong. As such, each Lisp has developed its own notion of what to
3401 display, how to display it, and what sort of arguments can be used to
3402 customize it. @code{trivial-backtrace} is a simple solution to generating a
3403 backtrace portably.")
3404 (license license:expat))))
3405
3406 (define-public cl-trivial-backtrace
3407 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3408
3409 (define-public sbcl-rfc2388
3410 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3411 (revision "1"))
3412 (package
3413 (name "sbcl-rfc2388")
3414 (version (git-version "0.0.0" revision commit))
3415 (source
3416 (origin
3417 (method git-fetch)
3418 (uri (git-reference
3419 (url "https://github.com/jdz/rfc2388.git")
3420 (commit commit)))
3421 (file-name (git-file-name "rfc2388" version))
3422 (sha256
3423 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3424 (build-system asdf-build-system/sbcl)
3425 (home-page "https://github.com/jdz/rfc2388/")
3426 (synopsis "An implementation of RFC 2388 in Common Lisp")
3427 (description
3428 "This package contains an implementation of RFC 2388, which is used to
3429 process form data posted with HTTP POST method using enctype
3430 \"multipart/form-data\".")
3431 (license license:bsd-2))))
3432
3433 (define-public cl-rfc2388
3434 (sbcl-package->cl-source-package sbcl-rfc2388))
3435
3436 (define-public sbcl-md5
3437 (package
3438 (name "sbcl-md5")
3439 (version "2.0.4")
3440 (source
3441 (origin
3442 (method url-fetch)
3443 (uri (string-append
3444 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3445 (sha256
3446 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3447 (build-system asdf-build-system/sbcl)
3448 (home-page "https://github.com/pmai/md5")
3449 (synopsis
3450 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3451 (description
3452 "This package implements The MD5 Message-Digest Algorithm, as defined in
3453 RFC 1321 by R. Rivest, published April 1992.")
3454 (license license:public-domain)))
3455
3456 (define-public cl-md5
3457 (sbcl-package->cl-source-package sbcl-md5))
3458
3459 (define-public sbcl-cl+ssl
3460 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3461 (revision "1"))
3462 (package
3463 (name "sbcl-cl+ssl")
3464 (version (git-version "0.0.0" revision commit))
3465 (source
3466 (origin
3467 (method git-fetch)
3468 (uri (git-reference
3469 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3470 (commit commit)))
3471 (file-name (git-file-name "cl+ssl" version))
3472 (sha256
3473 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3474 (build-system asdf-build-system/sbcl)
3475 (arguments
3476 '(#:phases
3477 (modify-phases %standard-phases
3478 (add-after 'unpack 'fix-paths
3479 (lambda* (#:key inputs #:allow-other-keys)
3480 (substitute* "src/reload.lisp"
3481 (("libssl.so" all)
3482 (string-append
3483 (assoc-ref inputs "openssl") "/lib/" all))))))))
3484 (inputs
3485 `(("openssl" ,openssl)
3486 ("sbcl-cffi" ,sbcl-cffi)
3487 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3488 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3489 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3490 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3491 ("sbcl-alexandria" ,sbcl-alexandria)
3492 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3493 (home-page "http://common-lisp.net/project/cl-plus-ssl/")
3494 (synopsis "Common Lisp bindings to OpenSSL")
3495 (description
3496 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3497 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3498 Development into CL+SSL was done by David Lichteblau.")
3499 (license license:expat))))
3500
3501 (define-public cl-cl+ssl
3502 (sbcl-package->cl-source-package sbcl-cl+ssl))
3503
3504 (define-public sbcl-kmrcl
3505 (let ((version "1.109.0")
3506 (commit "5260068b2eb735af6796740c2db4955afac21636")
3507 (revision "1"))
3508 (package
3509 (name "sbcl-kmrcl")
3510 (version (git-version version revision commit))
3511 (source
3512 (origin
3513 (method git-fetch)
3514 (uri (git-reference
3515 (url "http://git.kpe.io/kmrcl.git/")
3516 (commit commit)))
3517 (file-name (git-file-name name version))
3518 (sha256
3519 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3520 (build-system asdf-build-system/sbcl)
3521 (arguments
3522 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3523 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3524 '(#:tests? #f))
3525 (inputs
3526 `(("sbcl-rt" ,sbcl-rt)))
3527 (home-page "http://files.kpe.io/kmrcl/")
3528 (synopsis "General utilities for Common Lisp programs")
3529 (description
3530 "KMRCL is a collection of utilities used by a number of Kevin
3531 Rosenberg's CL packages.")
3532 (license license:llgpl))))
3533
3534 (define-public cl-kmrcl
3535 (sbcl-package->cl-source-package sbcl-kmrcl))
3536
3537 (define-public sbcl-cl-base64
3538 (let ((version "3.3.3"))
3539 (package
3540 (name "sbcl-cl-base64")
3541 (version version)
3542 (source
3543 (origin
3544 (method git-fetch)
3545 (uri (git-reference
3546 (url "http://git.kpe.io/cl-base64.git")
3547 (commit (string-append "v" version))))
3548 (file-name (git-file-name "cl-base64" version))
3549 (sha256
3550 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3551 (build-system asdf-build-system/sbcl)
3552 (arguments
3553 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3554 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3555 ;; to toplevel
3556 '(#:tests? #f))
3557 (inputs
3558 `(("sbcl-ptester" ,sbcl-ptester)
3559 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3560 (home-page "http://files.kpe.io/cl-base64/")
3561 (synopsis
3562 "Common Lisp package to encode and decode base64 with URI support")
3563 (description
3564 "This package provides highly optimized base64 encoding and decoding.
3565 Besides conversion to and from strings, integer conversions are supported.
3566 Encoding with Uniform Resource Identifiers is supported by using a modified
3567 encoding table that uses only URI-compatible characters.")
3568 (license license:bsd-3))))
3569
3570 (define-public cl-base64
3571 (sbcl-package->cl-source-package sbcl-cl-base64))
3572
3573 (define-public sbcl-chunga
3574 (package
3575 (name "sbcl-chunga")
3576 (version "1.1.7")
3577 (source
3578 (origin
3579 (method git-fetch)
3580 (uri (git-reference
3581 (url "https://github.com/edicl/chunga.git")
3582 (commit (string-append "v" version))))
3583 (file-name (git-file-name name version))
3584 (sha256
3585 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3586 (build-system asdf-build-system/sbcl)
3587 (inputs
3588 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3589 (home-page "https://edicl.github.io/chunga/")
3590 (synopsis "Portable chunked streams for Common Lisp")
3591 (description
3592 "Chunga implements streams capable of chunked encoding on demand as
3593 defined in RFC 2616.")
3594 (license license:bsd-2)))
3595
3596 (define-public cl-chunga
3597 (sbcl-package->cl-source-package sbcl-chunga))
3598
3599 (define-public sbcl-cl-who
3600 (let ((version "1.1.4")
3601 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3602 (revision "1"))
3603 (package
3604 (name "sbcl-cl-who")
3605 (version (git-version version revision commit))
3606 (source
3607 (origin
3608 (method git-fetch)
3609 (uri (git-reference
3610 (url "https://github.com/edicl/cl-who.git")
3611 (commit commit)))
3612 (file-name (git-file-name name version))
3613 (sha256
3614 (base32
3615 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3616 (build-system asdf-build-system/sbcl)
3617 (native-inputs
3618 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3619 (home-page "https://edicl.github.io/cl-who/")
3620 (synopsis "Yet another Lisp markup language")
3621 (description
3622 "There are plenty of Lisp Markup Languages out there - every Lisp
3623 programmer seems to write at least one during his career - and CL-WHO (where
3624 WHO means \"with-html-output\" for want of a better acronym) is probably just
3625 as good or bad as the next one.")
3626 (license license:bsd-2))))
3627
3628 (define-public cl-cl-who
3629 (sbcl-package->cl-source-package sbcl-cl-who))
3630
3631 (define-public sbcl-chipz
3632 (let ((version "0.8")
3633 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3634 (revision "1"))
3635 (package
3636 (name "sbcl-chipz")
3637 (version (git-version version revision commit))
3638 (source
3639 (origin
3640 (method git-fetch)
3641 (uri (git-reference
3642 (url "https://github.com/froydnj/chipz.git")
3643 (commit commit)))
3644 (file-name (git-file-name name version))
3645 (sha256
3646 (base32
3647 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3648 (build-system asdf-build-system/sbcl)
3649 (native-inputs
3650 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3651 (home-page "http://method-combination.net/lisp/chipz/")
3652 (synopsis
3653 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3654 data")
3655 (description
3656 "DEFLATE data, defined in RFC1951, forms the core of popular
3657 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3658 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3659 the format used by the popular compression tool bzip2.")
3660 ;; The author describes it as "MIT-like"
3661 (license license:expat))))
3662
3663 (define-public cl-chipz
3664 (sbcl-package->cl-source-package sbcl-chipz))
3665
3666 (define-public sbcl-drakma
3667 (let ((version "2.0.4")
3668 (commit "7647c0ae842ff2058624e53979c7f297760c97a7")
3669 (revision "1"))
3670 (package
3671 (name "sbcl-drakma")
3672 (version (git-version version revision commit))
3673 (source
3674 (origin
3675 (method git-fetch)
3676 (uri (git-reference
3677 (url "https://github.com/edicl/drakma.git")
3678 (commit commit)))
3679 (file-name (git-file-name name version))
3680 (sha256
3681 (base32
3682 "1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
3683 (build-system asdf-build-system/sbcl)
3684 (inputs
3685 `(("sbcl-puri" ,sbcl-puri)
3686 ("sbcl-cl-base64" ,sbcl-cl-base64)
3687 ("sbcl-chunga" ,sbcl-chunga)
3688 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3689 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3690 ("sbcl-chipz" ,sbcl-chipz)
3691 ("sbcl-usocket" ,sbcl-usocket)
3692 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3693 (native-inputs
3694 `(("sbcl-fiveam" ,sbcl-fiveam)))
3695 (home-page "https://edicl.github.io/drakma/")
3696 (synopsis "HTTP client written in Common Lisp")
3697 (description
3698 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3699 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3700 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3701 (license license:bsd-2))))
3702
3703 (define-public cl-drakma
3704 (sbcl-package->cl-source-package sbcl-drakma))
3705
3706 (define-public sbcl-hunchentoot
3707 (package
3708 (name "sbcl-hunchentoot")
3709 (version "1.2.38")
3710 (source
3711 (origin
3712 (method git-fetch)
3713 (uri (git-reference
3714 (url "https://github.com/edicl/hunchentoot.git")
3715 (commit (string-append "v" version))))
3716 (file-name (git-file-name "hunchentoot" version))
3717 (sha256
3718 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3719 (build-system asdf-build-system/sbcl)
3720 (native-inputs
3721 `(("sbcl-cl-who" ,sbcl-cl-who)
3722 ("sbcl-drakma" ,sbcl-drakma)))
3723 (inputs
3724 `(("sbcl-chunga" ,sbcl-chunga)
3725 ("sbcl-cl-base64" ,sbcl-cl-base64)
3726 ("sbcl-cl-fad" ,sbcl-cl-fad)
3727 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3728 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3729 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3730 ("sbcl-md5" ,sbcl-md5)
3731 ("sbcl-rfc2388" ,sbcl-rfc2388)
3732 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3733 ("sbcl-usocket" ,sbcl-usocket)))
3734 (home-page "https://edicl.github.io/hunchentoot/")
3735 (synopsis "Web server written in Common Lisp")
3736 (description
3737 "Hunchentoot is a web server written in Common Lisp and at the same
3738 time a toolkit for building dynamic websites. As a stand-alone web server,
3739 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3740 connections (keep-alive), and SSL.")
3741 (license license:bsd-2)))
3742
3743 (define-public cl-hunchentoot
3744 (sbcl-package->cl-source-package sbcl-hunchentoot))
3745
3746 (define-public sbcl-trivial-types
3747 (package
3748 (name "sbcl-trivial-types")
3749 (version "0.0.1")
3750 (source
3751 (origin
3752 (method git-fetch)
3753 (uri (git-reference
3754 (url "https://github.com/m2ym/trivial-types.git")
3755 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3756 (file-name (git-file-name name version))
3757 (sha256
3758 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3759 (build-system asdf-build-system/sbcl)
3760 (home-page "https://github.com/m2ym/trivial-types")
3761 (synopsis "Trivial type definitions for Common Lisp")
3762 (description
3763 "TRIVIAL-TYPES provides missing but important type definitions such as
3764 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3765 (license license:llgpl)))
3766
3767 (define-public cl-trivial-types
3768 (sbcl-package->cl-source-package sbcl-trivial-types))
3769
3770 (define-public sbcl-cl-syntax
3771 (package
3772 (name "sbcl-cl-syntax")
3773 (version "0.0.3")
3774 (source
3775 (origin
3776 (method git-fetch)
3777 (uri (git-reference
3778 (url "https://github.com/m2ym/cl-syntax.git")
3779 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3780 (file-name (git-file-name "cl-syntax" version))
3781 (sha256
3782 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3783 (build-system asdf-build-system/sbcl)
3784 (arguments
3785 '(#:asd-file "cl-syntax.asd"
3786 #:asd-system-name "cl-syntax"))
3787 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3788 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3789 (home-page "https://github.com/m2ym/cl-syntax")
3790 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3791 (description
3792 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3793 (license license:llgpl)))
3794
3795 (define-public cl-syntax
3796 (sbcl-package->cl-source-package sbcl-cl-syntax))
3797
3798 (define-public sbcl-cl-annot
3799 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3800 (revision "1"))
3801 (package
3802 (name "sbcl-cl-annot")
3803 (version (git-version "0.0.0" revision commit))
3804 (source
3805 (origin
3806 (method git-fetch)
3807 (uri (git-reference
3808 (url "https://github.com/m2ym/cl-annot.git")
3809 (commit commit)))
3810 (file-name (git-file-name name version))
3811 (sha256
3812 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3813 (build-system asdf-build-system/sbcl)
3814 (arguments
3815 '(#:asd-file "cl-annot.asd"
3816 #:asd-system-name "cl-annot"))
3817 (inputs
3818 `(("sbcl-alexandria" ,sbcl-alexandria)))
3819 (home-page "https://github.com/m2ym/cl-annot")
3820 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3821 (description
3822 "@code{cl-annot} is an general annotation library for Common Lisp.")
3823 (license license:llgpl))))
3824
3825 (define-public cl-annot
3826 (sbcl-package->cl-source-package sbcl-cl-annot))
3827
3828 (define-public sbcl-cl-syntax-annot
3829 (package
3830 (name "sbcl-cl-syntax-annot")
3831 (version "0.0.3")
3832 (source
3833 (origin
3834 (method git-fetch)
3835 (uri (git-reference
3836 (url "https://github.com/m2ym/cl-syntax.git")
3837 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3838 (file-name (git-file-name name version))
3839 (sha256
3840 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3841 (build-system asdf-build-system/sbcl)
3842 (arguments
3843 '(#:asd-file "cl-syntax-annot.asd"
3844 #:asd-system-name "cl-syntax-annot"))
3845 (inputs
3846 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3847 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3848 (home-page "https://github.com/m2ym/cl-syntax")
3849 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3850 (description
3851 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3852 SLIME.")
3853 (license license:llgpl)))
3854
3855 (define-public cl-syntax-annot
3856 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3857
3858 (define-public sbcl-cl-utilities
3859 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3860 (revision "1"))
3861 (package
3862 (name "sbcl-cl-utilities")
3863 (version (git-version "0.0.0" revision commit))
3864 (source
3865 (origin
3866 (method url-fetch)
3867 (uri
3868 (string-append
3869 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3870 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3871 (sha256
3872 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3873 (build-system asdf-build-system/sbcl)
3874 (arguments
3875 '(#:asd-file "cl-utilities.asd"
3876 #:asd-system-name "cl-utilities"
3877 #:phases
3878 (modify-phases %standard-phases
3879 (add-after 'unpack 'fix-paths
3880 (lambda* (#:key inputs #:allow-other-keys)
3881 (substitute* "rotate-byte.lisp"
3882 (("in-package :cl-utilities)" all)
3883 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3884 (home-page "http://common-lisp.net/project/cl-utilities")
3885 (synopsis "A collection of semi-standard utilities")
3886 (description
3887 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3888 is a collection of Common Lisp Utilities, things that everybody writes since
3889 they're not part of the official standard. There are some very useful things
3890 there; the only problems are that they aren't implemented as well as you'd
3891 like (some aren't implemented at all) and they aren't conveniently packaged
3892 and maintained. It takes quite a bit of work to carefully implement utilities
3893 for common use, commented and documented, with error checking placed
3894 everywhere some dumb user might make a mistake.")
3895 (license license:public-domain))))
3896
3897 (define-public cl-utilities
3898 (sbcl-package->cl-source-package sbcl-cl-utilities))
3899
3900 (define-public sbcl-map-set
3901 (let ((commit "7b4b545b68b8")
3902 (revision "1"))
3903 (package
3904 (name "sbcl-map-set")
3905 (version (git-version "0.0.0" revision commit))
3906 (source
3907 (origin
3908 (method url-fetch)
3909 (uri (string-append
3910 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3911 commit ".tar.gz"))
3912 (sha256
3913 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3914 (build-system asdf-build-system/sbcl)
3915 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3916 (synopsis "Set-like data structure")
3917 (description
3918 "Implementation of a set-like data structure with constant time
3919 addition, removal, and random selection.")
3920 (license license:bsd-3))))
3921
3922 (define-public cl-map-set
3923 (sbcl-package->cl-source-package sbcl-map-set))
3924
3925 (define-public sbcl-quri
3926 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3927 (revision "1"))
3928 (package
3929 (name "sbcl-quri")
3930 (version (git-version "0.1.0" revision commit))
3931 (source
3932 (origin
3933 (method git-fetch)
3934 (uri (git-reference
3935 (url "https://github.com/fukamachi/quri.git")
3936 (commit commit)))
3937 (file-name (git-file-name name version))
3938 (sha256
3939 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3940 (build-system asdf-build-system/sbcl)
3941 (arguments
3942 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3943 ;; required by #<SYSTEM "quri">. Why?
3944 '(#:tests? #f))
3945 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3946 ("sbcl-prove" ,sbcl-prove)))
3947 (inputs `(("sbcl-babel" ,sbcl-babel)
3948 ("sbcl-split-sequence" ,sbcl-split-sequence)
3949 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3950 ("sbcl-alexandria" ,sbcl-alexandria)))
3951 (home-page "https://github.com/fukamachi/quri")
3952 (synopsis "Yet another URI library for Common Lisp")
3953 (description
3954 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3955 Lisp. It is intended to be a replacement of PURI.")
3956 (license license:bsd-3))))
3957
3958 (define-public cl-quri
3959 (sbcl-package->cl-source-package sbcl-quri))
3960
3961 (define-public sbcl-myway
3962 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3963 (revision "1"))
3964 (package
3965 (name "sbcl-myway")
3966 (version (git-version "0.1.0" revision commit))
3967 (source
3968 (origin
3969 (method git-fetch)
3970 (uri (git-reference
3971 (url "https://github.com/fukamachi/myway.git")
3972 (commit commit)))
3973 (file-name (git-file-name "myway" version))
3974 (sha256
3975 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3976 (build-system asdf-build-system/sbcl)
3977 (arguments
3978 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3979 ;; by #<SYSTEM "myway">. Why?
3980 '(#:tests? #f))
3981 (native-inputs
3982 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3983 ("sbcl-prove" ,sbcl-prove)))
3984 (inputs
3985 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3986 ("sbcl-quri" ,sbcl-quri)
3987 ("sbcl-map-set" ,sbcl-map-set)))
3988 (home-page "https://github.com/fukamachi/myway")
3989 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3990 (description "My Way is a Sinatra-compatible URL routing library.")
3991 (license license:llgpl))))
3992
3993 (define-public cl-myway
3994 (sbcl-package->cl-source-package sbcl-myway))
3995
3996 (define-public sbcl-xsubseq
3997 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3998 (revision "1"))
3999 (package
4000 (name "sbcl-xsubseq")
4001 (version (git-version "0.0.1" revision commit))
4002 (source
4003 (origin
4004 (method git-fetch)
4005 (uri (git-reference
4006 (url "https://github.com/fukamachi/xsubseq")
4007 (commit commit)))
4008 (file-name (git-file-name name version))
4009 (sha256
4010 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4011 (build-system asdf-build-system/sbcl)
4012 (arguments
4013 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4014 ;; required by #<SYSTEM "xsubseq">. Why?
4015 '(#:tests? #f))
4016 (native-inputs
4017 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4018 ("sbcl-prove" ,sbcl-prove)))
4019 (home-page "https://github.com/fukamachi/xsubseq")
4020 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4021 (description
4022 "XSubseq provides functions to be able to handle \"subseq\"s more
4023 effieiently.")
4024 (license license:bsd-2))))
4025
4026 (define-public cl-xsubseq
4027 (sbcl-package->cl-source-package sbcl-xsubseq))
4028
4029 (define-public sbcl-smart-buffer
4030 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4031 (revision "1"))
4032 (package
4033 (name "sbcl-smart-buffer")
4034 (version (git-version "0.0.1" revision commit))
4035 (source
4036 (origin
4037 (method git-fetch)
4038 (uri (git-reference
4039 (url "https://github.com/fukamachi/smart-buffer")
4040 (commit commit)))
4041 (file-name (git-file-name name version))
4042 (sha256
4043 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4044 (build-system asdf-build-system/sbcl)
4045 (arguments
4046 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4047 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4048 `(#:tests? #f))
4049 (native-inputs
4050 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4051 ("sbcl-prove" ,sbcl-prove)))
4052 (inputs
4053 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4054 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4055 (home-page "https://github.com/fukamachi/smart-buffer")
4056 (synopsis "Smart octets buffer")
4057 (description
4058 "Smart-buffer provides an output buffer which changes the destination
4059 depending on content size.")
4060 (license license:bsd-3))))
4061
4062 (define-public cl-smart-buffer
4063 (sbcl-package->cl-source-package sbcl-smart-buffer))
4064
4065 (define-public sbcl-fast-http
4066 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4067 (revision "1"))
4068 (package
4069 (name "sbcl-fast-http")
4070 (version (git-version "0.2.0" revision commit))
4071 (source
4072 (origin
4073 (method git-fetch)
4074 (uri (git-reference
4075 (url "https://github.com/fukamachi/fast-http")
4076 (commit commit)))
4077 (file-name (git-file-name name version))
4078 (sha256
4079 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4080 (build-system asdf-build-system/sbcl)
4081 (arguments
4082 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4083 ;; required by #<SYSTEM "fast-http">. Why?
4084 `(#:tests? #f))
4085 (native-inputs
4086 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4087 ("sbcl-prove" ,sbcl-prove)))
4088 (inputs
4089 `(("sbcl-alexandria" ,sbcl-alexandria)
4090 ("sbcl-proc-parse" ,sbcl-proc-parse)
4091 ("sbcl-xsubseq" ,sbcl-xsubseq)
4092 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4093 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4094 (home-page "https://github.com/fukamachi/fast-http")
4095 (synopsis "HTTP request/response parser for Common Lisp")
4096 (description
4097 "@code{fast-http} is a HTTP request/response protocol parser for Common
4098 Lisp.")
4099 ;; Author specified the MIT license
4100 (license license:expat))))
4101
4102 (define-public cl-fast-http
4103 (sbcl-package->cl-source-package sbcl-fast-http))
4104
4105 (define-public sbcl-static-vectors
4106 (let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
4107 (revision "1"))
4108 (package
4109 (name "sbcl-static-vectors")
4110 (version (git-version "1.8.3" revision commit))
4111 (source
4112 (origin
4113 (method git-fetch)
4114 (uri (git-reference
4115 (url "https://github.com/sionescu/static-vectors.git")
4116 (commit commit)))
4117 (file-name (git-file-name name version))
4118 (sha256
4119 (base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
4120 (native-inputs
4121 `(("sbcl-fiveam" ,sbcl-fiveam)))
4122 (inputs
4123 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4124 ("sbcl-cffi" ,sbcl-cffi)))
4125 (build-system asdf-build-system/sbcl)
4126 (home-page "http://common-lisp.net/projects/iolib/")
4127 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4128 (description
4129 "With @code{static-vectors}, you can create vectors allocated in static
4130 memory.")
4131 (license license:expat))))
4132
4133 (define-public cl-static-vectors
4134 (sbcl-package->cl-source-package sbcl-static-vectors))
4135
4136 (define-public sbcl-marshal
4137 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4138 (revision "1"))
4139 (package
4140 (name "sbcl-marshal")
4141 (version (git-version "1.3.0" revision commit))
4142 (source
4143 (origin
4144 (method git-fetch)
4145 (uri (git-reference
4146 (url "https://github.com/wlbr/cl-marshal.git")
4147 (commit commit)))
4148 (file-name (git-file-name name version))
4149 (sha256
4150 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4151 (build-system asdf-build-system/sbcl)
4152 (home-page "https://github.com/wlbr/cl-marshal")
4153 (synopsis "Simple (de)serialization of Lisp datastructures")
4154 (description
4155 "Simple and fast marshalling of Lisp datastructures. Convert any object
4156 into a string representation, put it on a stream an revive it from there.
4157 Only minimal changes required to make your CLOS objects serializable.")
4158 (license license:expat))))
4159
4160 (define-public cl-marshal
4161 (sbcl-package->cl-source-package sbcl-marshal))
4162
4163 (define-public sbcl-checkl
4164 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4165 (revision "1"))
4166 (package
4167 (name "sbcl-checkl")
4168 (version (git-version "0.0.0" revision commit))
4169 (source
4170 (origin
4171 (method git-fetch)
4172 (uri (git-reference
4173 (url "https://github.com/rpav/CheckL.git")
4174 (commit commit)))
4175 (file-name (git-file-name name version))
4176 (sha256
4177 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4178 (build-system asdf-build-system/sbcl)
4179 (arguments
4180 ;; Error while trying to load definition for system checkl-test from
4181 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4182 ;; is undefined.
4183 '(#:tests? #f))
4184 (native-inputs
4185 `(("sbcl-fiveam" ,sbcl-fiveam)))
4186 (inputs
4187 `(("sbcl-marshal" ,sbcl-marshal)))
4188 (home-page "https://github.com/rpav/CheckL/")
4189 (synopsis "Dynamic testing for Common Lisp")
4190 (description
4191 "CheckL lets you write tests dynamically, it checks resulting values
4192 against the last run.")
4193 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4194 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4195 ;; stronger of the two and so I think only listing this should suffice.
4196 (license license:llgpl))))
4197
4198 (define-public cl-checkl
4199 (sbcl-package->cl-source-package sbcl-checkl))
4200
4201 (define-public sbcl-fast-io
4202 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4203 (revision "1"))
4204 (package
4205 (name "sbcl-fast-io")
4206 (version (git-version "1.0.0" revision commit))
4207 (source
4208 (origin
4209 (method git-fetch)
4210 (uri (git-reference
4211 (url "https://github.com/rpav/fast-io.git")
4212 (commit commit)))
4213 (file-name (git-file-name name version))
4214 (sha256
4215 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4216 (build-system asdf-build-system/sbcl)
4217 (arguments
4218 ;; Error while trying to load definition for system fast-io-test from
4219 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4220 ;; is undefined.
4221 '(#:tests? #f))
4222 (native-inputs
4223 `(("sbcl-fiveam" ,sbcl-fiveam)
4224 ("sbcl-checkl" ,sbcl-checkl)))
4225 (inputs
4226 `(("sbcl-alexandria" ,sbcl-alexandria)
4227 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4228 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4229 (home-page "https://github.com/rpav/fast-io")
4230 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4231 (description
4232 "Fast-io is about improving performance to octet-vectors and octet
4233 streams (though primarily the former, while wrapping the latter).")
4234 ;; Author specifies this as NewBSD which is an alias
4235 (license license:bsd-3))))
4236
4237 (define-public cl-fast-io
4238 (sbcl-package->cl-source-package sbcl-fast-io))
4239
4240 (define-public sbcl-jonathan
4241 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4242 (revision "1"))
4243 (package
4244 (name "sbcl-jonathan")
4245 (version (git-version "0.1.0" revision commit))
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/Rudolph-Miller/jonathan.git")
4251 (commit commit)))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4255 (build-system asdf-build-system/sbcl)
4256 (arguments
4257 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4258 ;; required by #<SYSTEM "jonathan">. Why?
4259 `(#:tests? #f))
4260 (native-inputs
4261 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4262 ("sbcl-prove" ,sbcl-prove)))
4263 (inputs
4264 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4265 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4266 ("sbcl-fast-io" ,sbcl-fast-io)
4267 ("sbcl-proc-parse" ,sbcl-proc-parse)
4268 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4269 (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
4270 (synopsis "JSON encoder and decoder")
4271 (description
4272 "High performance JSON encoder and decoder. Currently support: SBCL,
4273 CCL.")
4274 ;; Author specifies the MIT license
4275 (license license:expat))))
4276
4277 (define-public cl-jonathan
4278 (sbcl-package->cl-source-package sbcl-jonathan))
4279
4280 (define-public sbcl-http-body
4281 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4282 (revision "1"))
4283 (package
4284 (name "sbcl-http-body")
4285 (version (git-version "0.1.0" revision commit))
4286 (source
4287 (origin
4288 (method git-fetch)
4289 (uri (git-reference
4290 (url "https://github.com/fukamachi/http-body")
4291 (commit commit)))
4292 (file-name (git-file-name name version))
4293 (sha256
4294 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4295 (build-system asdf-build-system/sbcl)
4296 (arguments
4297 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4298 ;; found, required by #<SYSTEM "http-body">. Why?
4299 `(#:tests? #f))
4300 (native-inputs
4301 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4302 ("sbcl-prove" ,sbcl-prove)))
4303 (inputs
4304 `(("sbcl-fast-http" ,sbcl-fast-http)
4305 ("sbcl-jonathan" ,sbcl-jonathan)
4306 ("sbcl-quri" ,sbcl-quri)))
4307 (home-page "https://github.com/fukamachi/http-body")
4308 (synopsis "HTTP POST data parser")
4309 (description
4310 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4311 supports application/x-www-form-urlencoded, application/json, and
4312 multipart/form-data.")
4313 (license license:bsd-2))))
4314
4315 (define-public cl-http-body
4316 (sbcl-package->cl-source-package sbcl-http-body))
4317
4318 (define-public sbcl-circular-streams
4319 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4320 (revision "1"))
4321 (package
4322 (name "sbcl-circular-streams")
4323 (version (git-version "0.1.0" revision commit))
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/fukamachi/circular-streams")
4329 (commit commit)))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4333 (build-system asdf-build-system/sbcl)
4334 (arguments
4335 ;; The tests depend on cl-test-more which is now prove. Prove
4336 ;; tests aren't working for some reason.
4337 `(#:tests? #f))
4338 (inputs
4339 `(("sbcl-fast-io" ,sbcl-fast-io)
4340 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4341 (home-page "https://github.com/fukamachi/circular-streams")
4342 (synopsis "Circularly readable streams for Common Lisp")
4343 (description
4344 "Circular-Streams allows you to read streams circularly by wrapping real
4345 streams. Once you reach end-of-file of a stream, it's file position will be
4346 reset to 0 and you're able to read it again.")
4347 (license license:llgpl))))
4348
4349 (define-public cl-circular-streams
4350 (sbcl-package->cl-source-package sbcl-circular-streams))
4351
4352 (define-public sbcl-lack-request
4353 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4354 (revision "1"))
4355 (package
4356 (name "sbcl-lack-request")
4357 (version (git-version "0.1.0" revision commit))
4358 (source
4359 (origin
4360 (method git-fetch)
4361 (uri (git-reference
4362 (url "https://github.com/fukamachi/lack.git")
4363 (commit commit)))
4364 (file-name (git-file-name "lack-request" version))
4365 (sha256
4366 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4367 (build-system asdf-build-system/sbcl)
4368 (arguments
4369 '(#:asd-file "lack-request.asd"
4370 #:asd-system-name "lack-request"
4371 #:test-asd-file "t-lack-request.asd"
4372 ;; XXX: Component :CLACK-TEST not found
4373 #:tests? #f))
4374 (native-inputs
4375 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4376 ("sbcl-prove" ,sbcl-prove)))
4377 (inputs
4378 `(("sbcl-quri" ,sbcl-quri)
4379 ("sbcl-http-body" ,sbcl-http-body)
4380 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4381 (home-page "https://github.com/fukamachi/lack")
4382 (synopsis "Lack, the core of Clack")
4383 (description
4384 "Lack is a Common Lisp library which allows web applications to be
4385 constructed of modular components. It was originally a part of Clack, however
4386 it's going to be rewritten as an individual project since Clack v2 with
4387 performance and simplicity in mind.")
4388 (license license:llgpl))))
4389
4390 (define-public cl-lack-request
4391 (sbcl-package->cl-source-package sbcl-lack-request))
4392
4393 (define-public sbcl-local-time
4394 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4395 (revision "1"))
4396 (package
4397 (name "sbcl-local-time")
4398 (version (git-version "1.0.6" revision commit))
4399 (source
4400 (origin
4401 (method git-fetch)
4402 (uri (git-reference
4403 (url "https://github.com/dlowe-net/local-time.git")
4404 (commit commit)))
4405 (file-name (git-file-name name version))
4406 (sha256
4407 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4408 (build-system asdf-build-system/sbcl)
4409 (arguments
4410 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4411 ;; "local-time/test">
4412 '(#:tests? #f))
4413 (native-inputs
4414 `(("stefil" ,sbcl-hu.dwim.stefil)))
4415 (inputs
4416 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4417 (home-page "https://common-lisp.net/project/local-time/")
4418 (synopsis "Time manipulation library for Common Lisp")
4419 (description
4420 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4421 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4422 Long Painful History of Time\".")
4423 (license license:expat))))
4424
4425 (define-public cl-local-time
4426 (sbcl-package->cl-source-package sbcl-local-time))
4427
4428 (define-public sbcl-lack-response
4429 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4430 (revision "1"))
4431 (package
4432 (name "sbcl-lack-response")
4433 (version (git-version "0.1.0" revision commit))
4434 (source
4435 (origin
4436 (method git-fetch)
4437 (uri (git-reference
4438 (url "https://github.com/fukamachi/lack.git")
4439 (commit commit)))
4440 (file-name (git-file-name name version))
4441 (sha256
4442 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4443 (build-system asdf-build-system/sbcl)
4444 (arguments
4445 '(#:asd-file "lack-response.asd"
4446 #:asd-system-name "lack-response"
4447 ;; XXX: no tests for lack-response.
4448 #:tests? #f))
4449 (native-inputs
4450 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4451 ("sbcl-prove" ,sbcl-prove)))
4452 (inputs
4453 `(("sbcl-quri" ,sbcl-quri)
4454 ("sbcl-http-body" ,sbcl-http-body)
4455 ("sbcl-circular-streams" ,sbcl-circular-streams)
4456 ("sbcl-local-time" ,sbcl-local-time)))
4457 (home-page "https://github.com/fukamachi/lack")
4458 (synopsis "Lack, the core of Clack")
4459 (description
4460 "Lack is a Common Lisp library which allows web applications to be
4461 constructed of modular components. It was originally a part of Clack, however
4462 it's going to be rewritten as an individual project since Clack v2 with
4463 performance and simplicity in mind.")
4464 (license license:llgpl))))
4465
4466 (define-public cl-lack-response
4467 (sbcl-package->cl-source-package sbcl-lack-response))
4468
4469 (define-public sbcl-lack-component
4470 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4471 (revision "1"))
4472 (package
4473 (name "sbcl-lack-component")
4474 (version (git-version "0.0.0" revision commit))
4475 (source
4476 (origin
4477 (method git-fetch)
4478 (uri (git-reference
4479 (url "https://github.com/fukamachi/lack.git")
4480 (commit commit)))
4481 (file-name (git-file-name "lack-component" version))
4482 (sha256
4483 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4484 (build-system asdf-build-system/sbcl)
4485 (arguments
4486 '(#:asd-file "lack-component.asd"
4487 #:asd-system-name "lack-component"
4488 #:test-asd-file "t-lack-component.asd"
4489 ;; XXX: Component :LACK-TEST not found
4490 #:tests? #f))
4491 (native-inputs
4492 `(("prove-asdf" ,sbcl-prove-asdf)))
4493 (home-page "https://github.com/fukamachi/lack")
4494 (synopsis "Lack, the core of Clack")
4495 (description
4496 "Lack is a Common Lisp library which allows web applications to be
4497 constructed of modular components. It was originally a part of Clack, however
4498 it's going to be rewritten as an individual project since Clack v2 with
4499 performance and simplicity in mind.")
4500 (license license:llgpl))))
4501
4502 (define-public cl-lack-component
4503 (sbcl-package->cl-source-package sbcl-lack-component))
4504
4505 (define-public sbcl-lack-util
4506 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4507 (revision "1"))
4508 (package
4509 (name "sbcl-lack-util")
4510 (version (git-version "0.1.0" revision commit))
4511 (source
4512 (origin
4513 (method git-fetch)
4514 (uri (git-reference
4515 (url "https://github.com/fukamachi/lack.git")
4516 (commit commit)))
4517 (file-name (git-file-name "lack-util" version))
4518 (sha256
4519 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4520 (build-system asdf-build-system/sbcl)
4521 (arguments
4522 '(#:asd-file "lack-util.asd"
4523 #:asd-system-name "lack-util"
4524 #:test-asd-file "t-lack-util.asd"
4525 ;; XXX: Component :LACK-TEST not found
4526 #:tests? #f))
4527 (native-inputs
4528 `(("prove-asdf" ,sbcl-prove-asdf)))
4529 (inputs
4530 `(("sbcl-ironclad" ,sbcl-ironclad)))
4531 (home-page "https://github.com/fukamachi/lack")
4532 (synopsis "Lack, the core of Clack")
4533 (description
4534 "Lack is a Common Lisp library which allows web applications to be
4535 constructed of modular components. It was originally a part of Clack, however
4536 it's going to be rewritten as an individual project since Clack v2 with
4537 performance and simplicity in mind.")
4538 (license license:llgpl))))
4539
4540 (define-public cl-lack-util
4541 (sbcl-package->cl-source-package sbcl-lack-util))
4542
4543 (define-public sbcl-lack-middleware-backtrace
4544 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4545 (revision "1"))
4546 (package
4547 (name "sbcl-lack-middleware-backtrace")
4548 (version (git-version "0.1.0" revision commit))
4549 (source
4550 (origin
4551 (method git-fetch)
4552 (uri (git-reference
4553 (url "https://github.com/fukamachi/lack.git")
4554 (commit commit)))
4555 (file-name (git-file-name "lack-middleware-backtrace" version))
4556 (sha256
4557 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4558 (build-system asdf-build-system/sbcl)
4559 (arguments
4560 '(#:asd-file "lack-middleware-backtrace.asd"
4561 #:asd-system-name "lack-middleware-backtrace"
4562 #:test-asd-file "t-lack-middleware-backtrace.asd"
4563 ;; XXX: Component :LACK not found
4564 #:tests? #f))
4565 (native-inputs
4566 `(("prove-asdf" ,sbcl-prove-asdf)))
4567 (home-page "https://github.com/fukamachi/lack")
4568 (synopsis "Lack, the core of Clack")
4569 (description
4570 "Lack is a Common Lisp library which allows web applications to be
4571 constructed of modular components. It was originally a part of Clack, however
4572 it's going to be rewritten as an individual project since Clack v2 with
4573 performance and simplicity in mind.")
4574 (license license:llgpl))))
4575
4576 (define-public cl-lack-middleware-backtrace
4577 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4578
4579 (define-public sbcl-trivial-mimes
4580 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4581 (revision "1"))
4582 (package
4583 (name "sbcl-trivial-mimes")
4584 (version (git-version "1.1.0" revision commit))
4585 (source
4586 (origin
4587 (method git-fetch)
4588 (uri (git-reference
4589 (url "https://github.com/Shinmera/trivial-mimes.git")
4590 (commit commit)))
4591 (file-name (git-file-name name version))
4592 (sha256
4593 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4594 (build-system asdf-build-system/sbcl)
4595 (arguments
4596 '(#:phases
4597 (modify-phases %standard-phases
4598 (add-after
4599 'unpack 'fix-paths
4600 (lambda* (#:key inputs #:allow-other-keys)
4601 (let ((anchor "#p\"/etc/mime.types\""))
4602 (substitute* "mime-types.lisp"
4603 ((anchor all)
4604 (string-append
4605 anchor "\n"
4606 "(asdf:system-relative-pathname :trivial-mimes "
4607 "\"../../share/common-lisp/" (%lisp-type)
4608 "-source/trivial-mimes/mime.types\")")))))))))
4609 (native-inputs
4610 `(("stefil" ,sbcl-hu.dwim.stefil)))
4611 (inputs
4612 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4613 (home-page "http://shinmera.github.io/trivial-mimes/")
4614 (synopsis "Tiny Common Lisp library to detect mime types in files")
4615 (description
4616 "This is a teensy library that provides some functions to determine the
4617 mime-type of a file.")
4618 (license license:artistic2.0))))
4619
4620 (define-public cl-trivial-mimes
4621 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4622
4623 (define-public ecl-trivial-mimes
4624 (sbcl-package->ecl-package sbcl-trivial-mimes))
4625
4626 (define-public sbcl-lack-middleware-static
4627 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4628 (revision "1"))
4629 (package
4630 (name "sbcl-lack-middleware-static")
4631 (version (git-version "0.1.0" revision commit))
4632 (source
4633 (origin
4634 (method git-fetch)
4635 (uri (git-reference
4636 (url "https://github.com/fukamachi/lack.git")
4637 (commit commit)))
4638 (file-name (git-file-name "lack-middleware-static" version))
4639 (sha256
4640 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4641 (build-system asdf-build-system/sbcl)
4642 (arguments
4643 '(#:asd-file "lack-middleware-static.asd"
4644 #:asd-system-name "lack-middleware-static"
4645 #:test-asd-file "t-lack-middleware-static.asd"
4646 ;; XXX: Component :LACK not found
4647 #:tests? #f))
4648 (native-inputs
4649 `(("prove-asdf" ,sbcl-prove-asdf)))
4650 (inputs
4651 `(("sbcl-ironclad" ,sbcl-ironclad)
4652 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4653 ("sbcl-local-time" ,sbcl-local-time)))
4654 (home-page "https://github.com/fukamachi/lack")
4655 (synopsis "Lack, the core of Clack")
4656 (description
4657 "Lack is a Common Lisp library which allows web applications to be
4658 constructed of modular components. It was originally a part of Clack, however
4659 it's going to be rewritten as an individual project since Clack v2 with
4660 performance and simplicity in mind.")
4661 (license license:llgpl))))
4662
4663 (define-public cl-lack-middleware-static
4664 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4665
4666 (define-public sbcl-lack
4667 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4668 (revision "1"))
4669 (package
4670 (name "sbcl-lack")
4671 (version (git-version "0.1.0" revision commit))
4672 (source
4673 (origin
4674 (method git-fetch)
4675 (uri (git-reference
4676 (url "https://github.com/fukamachi/lack.git")
4677 (commit commit)))
4678 (file-name (git-file-name "lack" version))
4679 (sha256
4680 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4681 (build-system asdf-build-system/sbcl)
4682 (arguments
4683 '(#:test-asd-file "t-lack.asd"
4684 ;; XXX: Component :CLACK not found
4685 #:tests? #f))
4686 (native-inputs
4687 `(("prove-asdf" ,sbcl-prove-asdf)))
4688 (inputs
4689 `(("sbcl-lack-component" ,sbcl-lack-component)
4690 ("sbcl-lack-util" ,sbcl-lack-util)))
4691 (home-page "https://github.com/fukamachi/lack")
4692 (synopsis "Lack, the core of Clack")
4693 (description
4694 "Lack is a Common Lisp library which allows web applications to be
4695 constructed of modular components. It was originally a part of Clack, however
4696 it's going to be rewritten as an individual project since Clack v2 with
4697 performance and simplicity in mind.")
4698 (license license:llgpl))))
4699
4700 (define-public cl-lack
4701 (sbcl-package->cl-source-package sbcl-lack))
4702
4703 (define-public sbcl-ningle
4704 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4705 (revision "1"))
4706 (package
4707 (name "sbcl-ningle")
4708 (version (git-version "0.3.0" revision commit))
4709 (source
4710 (origin
4711 (method git-fetch)
4712 (uri (git-reference
4713 (url "https://github.com/fukamachi/ningle.git")
4714 (commit commit)))
4715 (file-name (git-file-name name version))
4716 (sha256
4717 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4718 (build-system asdf-build-system/sbcl)
4719 (arguments
4720 ;; TODO: pull in clack-test
4721 '(#:tests? #f
4722 #:phases
4723 (modify-phases %standard-phases
4724 (delete 'cleanup-files)
4725 (delete 'cleanup)
4726 (add-before 'cleanup 'combine-fasls
4727 (lambda* (#:key outputs #:allow-other-keys)
4728 (let* ((out (assoc-ref outputs "out"))
4729 (lib (string-append out "/lib/sbcl"))
4730 (ningle-path (string-append lib "/ningle"))
4731 (fasl-files (find-files out "\\.fasl$")))
4732 (mkdir-p ningle-path)
4733 (let ((fasl-path (lambda (name)
4734 (string-append ningle-path
4735 "/"
4736 (basename name)
4737 "--system.fasl"))))
4738 (for-each (lambda (file)
4739 (rename-file file
4740 (fasl-path
4741 (basename file ".fasl"))))
4742 fasl-files))
4743 fasl-files)
4744 #t)))))
4745 (native-inputs
4746 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4747 ("sbcl-prove" ,sbcl-prove)))
4748 (inputs
4749 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4750 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4751 ("sbcl-myway" ,sbcl-myway)
4752 ("sbcl-lack-request" ,sbcl-lack-request)
4753 ("sbcl-lack-response" ,sbcl-lack-response)
4754 ("sbcl-lack-component" ,sbcl-lack-component)
4755 ("sbcl-alexandria" ,sbcl-alexandria)
4756 ("sbcl-babel" ,sbcl-babel)))
4757 (home-page "http://8arrow.org/ningle/")
4758 (synopsis "Super micro framework for Common Lisp")
4759 (description
4760 "Ningle is a lightweight web application framework for Common Lisp.")
4761 (license license:llgpl))))
4762
4763 (define-public cl-ningle
4764 (sbcl-package->cl-source-package sbcl-ningle))
4765
4766 (define-public sbcl-clack
4767 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4768 (revision "1"))
4769 (package
4770 (name "sbcl-clack")
4771 (version (git-version "2.0.0" revision commit))
4772 (source
4773 (origin
4774 (method git-fetch)
4775 (uri (git-reference
4776 (url "https://github.com/fukamachi/clack.git")
4777 (commit commit)))
4778 (file-name (git-file-name name version))
4779 (sha256
4780 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4781 (build-system asdf-build-system/sbcl)
4782 (inputs
4783 `(("sbcl-lack" ,sbcl-lack)
4784 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4785 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4786 (home-page "https://github.com/fukamachi/clack")
4787 (synopsis "Web Application Environment for Common Lisp")
4788 (description
4789 "Clack is a web application environment for Common Lisp inspired by
4790 Python's WSGI and Ruby's Rack.")
4791 (license license:llgpl))))
4792
4793 (define-public cl-clack
4794 (sbcl-package->cl-source-package sbcl-clack))
4795
4796 (define-public sbcl-log4cl
4797 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4798 (revision "1"))
4799 (package
4800 (name "sbcl-log4cl")
4801 (build-system asdf-build-system/sbcl)
4802 (version "1.1.2")
4803 (source
4804 (origin
4805 (method git-fetch)
4806 (uri (git-reference
4807 (url "https://github.com/sharplispers/log4cl")
4808 (commit commit)))
4809 (file-name (git-file-name name version))
4810 (sha256
4811 (base32
4812 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4813 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4814 (arguments
4815 `(#:tests? #f))
4816 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4817 (synopsis "Common Lisp logging framework, modeled after Log4J")
4818 (home-page "https://github.com/7max/log4cl")
4819 (description "This is a Common Lisp logging framework that can log at
4820 various levels and mix text with expressions.")
4821 (license license:asl2.0))))
4822
4823 (define-public cl-log4cl
4824 (sbcl-package->cl-source-package sbcl-log4cl))
4825
4826 (define-public ecl-log4cl
4827 (sbcl-package->ecl-package sbcl-log4cl))
4828
4829 (define-public sbcl-find-port
4830 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4831 (revision "1"))
4832 (package
4833 (name "sbcl-find-port")
4834 (build-system asdf-build-system/sbcl)
4835 (version "0.1")
4836 (home-page "https://github.com/eudoxia0/find-port")
4837 (source
4838 (origin
4839 (method git-fetch)
4840 (uri (git-reference
4841 (url home-page)
4842 (commit commit)))
4843 (file-name (git-file-name name version))
4844 (sha256
4845 (base32
4846 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4847 (native-inputs
4848 `(("fiveam" ,sbcl-fiveam)))
4849 (inputs
4850 `(("sbcl-usocket" ,sbcl-usocket)))
4851 (synopsis "Find open ports programmatically in Common Lisp")
4852 (description "This is a small Common Lisp library that finds an open
4853 port within a range.")
4854 (license license:expat))))
4855
4856 (define-public cl-find-port
4857 (sbcl-package->cl-source-package sbcl-find-port))
4858
4859 (define-public ecl-find-port
4860 (sbcl-package->ecl-package sbcl-find-port))
4861
4862 (define-public sbcl-clunit
4863 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4864 (revision "1"))
4865 (package
4866 (name "sbcl-clunit")
4867 (version (git-version "0.2.3" revision commit))
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/tgutu/clunit.git")
4873 (commit commit)))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32
4877 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4878 (build-system asdf-build-system/sbcl)
4879 (synopsis "CLUnit is a Common Lisp unit testing framework")
4880 (description
4881 "CLUnit is a Common Lisp unit testing framework. It is designed
4882 to be easy to use so that you can quickly start testing. CLUnit
4883 provides a rich set of features aimed at improving your unit testing
4884 experience.")
4885 (home-page "http://tgutu.github.io/clunit/")
4886 ;; MIT License
4887 (license license:expat))))
4888
4889 (define-public cl-clunit
4890 (sbcl-package->cl-source-package sbcl-clunit))
4891
4892 (define-public ecl-clunit
4893 (sbcl-package->ecl-package sbcl-clunit))
4894
4895 (define-public sbcl-py4cl
4896 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4897 (revision "1"))
4898 (package
4899 (name "sbcl-py4cl")
4900 (version (git-version "0.0.0" revision commit))
4901 (source
4902 (origin
4903 (method git-fetch)
4904 (uri (git-reference
4905 (url "https://github.com/bendudson/py4cl.git")
4906 (commit commit)))
4907 (file-name (git-file-name name version))
4908 (sha256
4909 (base32
4910 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4911 (modules '((guix build utils)))))
4912 (build-system asdf-build-system/sbcl)
4913 (native-inputs
4914 `(("sbcl-clunit" ,sbcl-clunit)))
4915 (inputs
4916 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4917 (propagated-inputs
4918 ;; This package doesn't do anything without python available
4919 `(("python" ,python)
4920 ;; For multi-dimensional array support
4921 ("python-numpy" ,python-numpy)))
4922 (arguments
4923 '(#:phases
4924 (modify-phases %standard-phases
4925 (add-after 'unpack 'replace-*base-directory*-var
4926 (lambda* (#:key outputs #:allow-other-keys)
4927 ;; In the ASD, the author makes an attempt to
4928 ;; programatically determine the location of the
4929 ;; source-code so lisp can call into "py4cl.py". We can
4930 ;; hard-code this since we know where this file will
4931 ;; reside.
4932 (substitute* "src/callpython.lisp"
4933 (("py4cl/config:\\*base-directory\\*")
4934 (string-append
4935 "\""
4936 (assoc-ref outputs "out")
4937 "/share/common-lisp/sbcl-source/py4cl/"
4938 "\""))))))))
4939 (synopsis "Call python from Common Lisp")
4940 (description
4941 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4942 Lisp to interact with Python code. It uses streams to communicate with a
4943 separate python process, the approach taken by cl4py. This is different to
4944 the CFFI approach used by burgled-batteries, but has the same goal.")
4945 (home-page "https://github.com/bendudson/py4cl")
4946 ;; MIT License
4947 (license license:expat))))
4948
4949 (define-public cl-py4cl
4950 (sbcl-package->cl-source-package sbcl-py4cl))
4951
4952 (define-public ecl-py4cl
4953 (sbcl-package->ecl-package sbcl-py4cl))
4954
4955 (define-public sbcl-parse-declarations
4956 (package
4957 (name "sbcl-parse-declarations")
4958 (version "1.0.0")
4959 (source
4960 (origin
4961 (method url-fetch)
4962 (uri (string-append
4963 "http://beta.quicklisp.org/archive/parse-declarations/"
4964 "2010-10-06/parse-declarations-20101006-darcs.tgz"))
4965 (sha256
4966 (base32
4967 "0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd"))))
4968 (build-system asdf-build-system/sbcl)
4969 (arguments
4970 `(#:asd-file "parse-declarations-1.0.asd"
4971 #:asd-system-name "parse-declarations-1.0"))
4972 (home-page "https://common-lisp.net/project/parse-declarations/")
4973 (synopsis "Parse, filter, and build declarations")
4974 (description
4975 "Parse-Declarations is a Common Lisp library to help writing
4976 macros which establish bindings. To be semantically correct, such
4977 macros must take user declarations into account, as these may affect
4978 the bindings they establish. Yet the ANSI standard of Common Lisp does
4979 not provide any operators to work with declarations in a convenient,
4980 high-level way. This library provides such operators.")
4981 ;; MIT License
4982 (license license:expat)))
4983
4984 (define-public cl-parse-declarations
4985 (sbcl-package->cl-source-package sbcl-parse-declarations))
4986
4987 (define-public ecl-parse-declarations
4988 (sbcl-package->ecl-package sbcl-parse-declarations))
4989
4990 (define-public sbcl-cl-quickcheck
4991 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4992 (revision "1"))
4993 (package
4994 (name "sbcl-cl-quickcheck")
4995 (version (git-version "0.0.4" revision commit))
4996 (source
4997 (origin
4998 (method git-fetch)
4999 (uri (git-reference
5000 (url "https://github.com/mcandre/cl-quickcheck.git")
5001 (commit commit)))
5002 (file-name (git-file-name name version))
5003 (sha256
5004 (base32
5005 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5006 (build-system asdf-build-system/sbcl)
5007 (synopsis
5008 "Common Lisp port of the QuickCheck unit test framework")
5009 (description
5010 "Common Lisp port of the QuickCheck unit test framework")
5011 (home-page "https://github.com/mcandre/cl-quickcheck")
5012 ;; MIT
5013 (license license:expat))))
5014
5015 (define-public cl-cl-quickcheck
5016 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5017
5018 (define-public ecl-cl-quickcheck
5019 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5020
5021 (define-public sbcl-burgled-batteries3
5022 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5023 (revision "1"))
5024 (package
5025 (name "sbcl-burgled-batteries3")
5026 (version (git-version "0.0.0" revision commit))
5027 (source
5028 (origin
5029 (method git-fetch)
5030 (uri (git-reference
5031 (url "https://github.com/snmsts/burgled-batteries3.git")
5032 (commit commit)))
5033 (file-name (git-file-name name version))
5034 (sha256
5035 (base32
5036 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5037 (build-system asdf-build-system/sbcl)
5038 (arguments
5039 '(#:tests? #f
5040 #:phases
5041 (modify-phases %standard-phases
5042 (add-after 'unpack 'set-*cpython-include-dir*-var
5043 (lambda* (#:key inputs #:allow-other-keys)
5044 (substitute* "grovel-include-dir.lisp"
5045 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5046 (string-append
5047 "(defparameter *cpython-include-dir* \""
5048 (assoc-ref inputs "python")
5049 "/include/python3.7m"
5050 "\")")))
5051 (substitute* "ffi-interface.lisp"
5052 (("\\*cpython-lib\\*")
5053 (format #f "'(\"~a/lib/libpython3.so\")"
5054 (assoc-ref inputs "python"))))
5055 #t)))))
5056 (native-inputs
5057 `(("python" ,python)
5058 ("sbcl-cl-fad" ,sbcl-cl-fad)
5059 ("sbcl-lift" ,sbcl-lift)
5060 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5061 (inputs
5062 `(("sbcl-cffi" ,sbcl-cffi)
5063 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5064 ("sbcl-alexandria" , sbcl-alexandria)
5065 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5066 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5067 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5068 (description
5069 "This package provides a shim between Python3 (specifically, the
5070 CPython implementation of Python) and Common Lisp.")
5071 (home-page "https://github.com/snmsts/burgled-batteries3")
5072 ;; MIT
5073 (license license:expat))))
5074
5075 (define-public cl-burgled-batteries3
5076 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5077
5078 (define-public ecl-burgled-batteries3
5079 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5080
5081 (define-public sbcl-metabang-bind
5082 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5083 (revision "1"))
5084 (package
5085 (name "sbcl-metabang-bind")
5086 (version (git-version "0.8.0" revision commit))
5087 (source
5088 (origin
5089 (method git-fetch)
5090 (uri (git-reference
5091 (url "https://github.com/gwkkwg/metabang-bind.git")
5092 (commit commit)))
5093 (file-name (git-file-name name version))
5094 (sha256
5095 (base32
5096 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5097 (build-system asdf-build-system/sbcl)
5098 (native-inputs
5099 `(("sbcl-lift" ,sbcl-lift)))
5100 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5101 (description
5102 "Bind extends the idea of of let and destructing to provide a uniform
5103 syntax for all your accessor needs. It combines @code{let},
5104 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5105 editing, property or association-lists, and @code{multiple-value-bind} and a
5106 whole lot more into a single form.")
5107 (home-page "https://common-lisp.net/project/metabang-bind/")
5108 ;; MIT License
5109 (license license:expat))))
5110
5111 (define-public cl-metabang-bind
5112 (sbcl-package->cl-source-package sbcl-metabang-bind))
5113
5114 (define-public ecl-metabang-bind
5115 (sbcl-package->ecl-package sbcl-metabang-bind))
5116
5117 (define-public sbcl-fare-utils
5118 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5119 (revision "1"))
5120 (package
5121 (name "sbcl-fare-utils")
5122 (version (git-version "1.0.0.5" revision commit))
5123 (source
5124 (origin
5125 (method git-fetch)
5126 (uri
5127 (git-reference
5128 (url
5129 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5130 (commit commit)))
5131 (file-name (git-file-name name version))
5132 (sha256
5133 (base32
5134 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5135 (build-system asdf-build-system/sbcl)
5136 (arguments
5137 `(#:test-asd-file "test/fare-utils-test.asd"))
5138 (native-inputs
5139 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5140 (synopsis "Collection of utilities and data structures")
5141 (description
5142 "fare-utils is a small collection of utilities. It contains a lot of
5143 basic everyday functions and macros.")
5144 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5145 ;; MIT License
5146 (license license:expat))))
5147
5148 (define-public cl-fare-utils
5149 (sbcl-package->cl-source-package sbcl-fare-utils))
5150
5151 (define-public ecl-fare-utils
5152 (sbcl-package->ecl-package sbcl-fare-utils))
5153
5154 (define-public sbcl-trivial-utf-8
5155 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5156 (revision "1"))
5157 (package
5158 (name "sbcl-trivial-utf-8")
5159 (version (git-version "0.0.0" revision commit))
5160 (source
5161 (origin
5162 (method git-fetch)
5163 (uri
5164 (git-reference
5165 (url (string-append "https://gitlab.common-lisp.net/"
5166 "trivial-utf-8/trivial-utf-8.git"))
5167 (commit commit)))
5168 (file-name (git-file-name name version))
5169 (sha256
5170 (base32
5171 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5172 (arguments
5173 ;; Guix incorrectly assumes the "8" is part of the version
5174 ;; number and lobs it off.
5175 `(#:asd-file "trivial-utf-8.asd"
5176 #:asd-system-name "trivial-utf-8"))
5177 (build-system asdf-build-system/sbcl)
5178 (synopsis "UTF-8 input/output library")
5179 (description
5180 "The Babel library solves a similar problem while understanding more
5181 encodings. Trivial UTF-8 was written before Babel existed, but for new
5182 projects you might be better off going with Babel. The one plus that Trivial
5183 UTF-8 has is that it doesn't depend on any other libraries.")
5184 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5185 (license license:bsd-3))))
5186
5187 (define-public cl-trivial-utf-8
5188 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5189
5190 (define-public ecl-trivial-utf-8
5191 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5192
5193 (define-public sbcl-idna
5194 (package
5195 (name "sbcl-idna")
5196 (build-system asdf-build-system/sbcl)
5197 (version "0.2.2")
5198 (home-page "https://github.com/antifuchs/idna")
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url home-page)
5204 (commit version)))
5205 (file-name (git-file-name name version))
5206 (sha256
5207 (base32
5208 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5209 (inputs
5210 `(("split-sequence" ,sbcl-split-sequence)))
5211 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5212 (description "This Common Lisp library provides string encoding and
5213 decoding routines for IDNA, the International Domain Names in Applications.")
5214 (license license:expat)))
5215
5216 (define-public cl-idna
5217 (sbcl-package->cl-source-package sbcl-idna))
5218
5219 (define-public ecl-idna
5220 (sbcl-package->ecl-package sbcl-idna))
5221
5222 (define-public sbcl-swap-bytes
5223 (package
5224 (name "sbcl-swap-bytes")
5225 (build-system asdf-build-system/sbcl)
5226 (version "1.1")
5227 (home-page "https://github.com/sionescu/swap-bytes")
5228 (source
5229 (origin
5230 (method git-fetch)
5231 (uri (git-reference
5232 (url home-page)
5233 (commit (string-append "v" version))))
5234 (file-name (git-file-name name version))
5235 (sha256
5236 (base32
5237 "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
5238 (inputs
5239 `(("trivial-features" ,sbcl-trivial-features)))
5240 (native-inputs
5241 `(("fiveam" ,sbcl-fiveam)))
5242 (arguments
5243 ;; TODO: Tests fail, why?
5244 `(#:tests? #f))
5245 (synopsis "Efficient endianness conversion for Common Lisp")
5246 (description "This Common Lisp library provides optimized byte-swapping
5247 primitives. The library can change endianness of unsigned integers of length
5248 1/2/4/8. Very useful in implementing various network protocols and file
5249 formats.")
5250 (license license:expat)))
5251
5252 (define-public cl-swap-bytes
5253 (sbcl-package->cl-source-package sbcl-swap-bytes))
5254
5255 (define-public ecl-swap-bytes
5256 (sbcl-package->ecl-package sbcl-swap-bytes))
5257
5258 (define-public sbcl-iolib.asdf
5259 ;; Latest release is from June 2017.
5260 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5261 (revision "1"))
5262 (package
5263 (name "sbcl-iolib.asdf")
5264 (build-system asdf-build-system/sbcl)
5265 (version "0.8.3")
5266 (home-page "https://github.com/sionescu/iolib")
5267 (source
5268 (origin
5269 (method git-fetch)
5270 (uri (git-reference
5271 (url home-page)
5272 (commit commit)))
5273 (file-name (git-file-name name version))
5274 (sha256
5275 (base32
5276 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5277 (inputs
5278 `(("alexandria" ,sbcl-alexandria)))
5279 (arguments
5280 '(#:asd-file "iolib.asdf.asd"))
5281 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5282 (description "IOlib is to be a better and more modern I/O library than
5283 the standard Common Lisp library. It contains a socket library, a DNS
5284 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5285 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5286 (license license:expat))))
5287
5288 (define-public sbcl-iolib.conf
5289 (package
5290 (inherit sbcl-iolib.asdf)
5291 (name "sbcl-iolib.conf")
5292 (inputs
5293 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5294 (arguments
5295 '(#:asd-file "iolib.conf.asd"))
5296 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5297
5298 (define-public sbcl-iolib.common-lisp
5299 (package
5300 (inherit sbcl-iolib.asdf)
5301 (name "sbcl-iolib.common-lisp")
5302 (inputs
5303 `(("iolib.asdf" ,sbcl-iolib.asdf)
5304 ("iolib.conf" ,sbcl-iolib.conf)))
5305 (arguments
5306 '(#:asd-file "iolib.common-lisp.asd"))
5307 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5308
5309 (define-public sbcl-iolib.base
5310 (package
5311 (inherit sbcl-iolib.asdf)
5312 (name "sbcl-iolib.base")
5313 (inputs
5314 `(("iolib.asdf" ,sbcl-iolib.asdf)
5315 ("iolib.conf" ,sbcl-iolib.conf)
5316 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5317 ("split-sequence" ,sbcl-split-sequence)))
5318 (arguments
5319 '(#:asd-file "iolib.base.asd"))
5320 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5321
5322 (define-public sbcl-iolib.grovel
5323 (package
5324 (inherit sbcl-iolib.asdf)
5325 (name "sbcl-iolib.grovel")
5326 (inputs
5327 `(("iolib.asdf" ,sbcl-iolib.asdf)
5328 ("iolib.conf" ,sbcl-iolib.conf)
5329 ("iolib.base", sbcl-iolib.base)
5330 ("cffi", sbcl-cffi)))
5331 (arguments
5332 '(#:asd-file "iolib.grovel.asd"
5333 #:phases
5334 (modify-phases %standard-phases
5335 (add-after 'install 'install-header
5336 (lambda* (#:key outputs #:allow-other-keys)
5337 ;; This header is required by sbcl-iolib.
5338 (install-file "src/grovel/grovel-common.h"
5339 (string-append (assoc-ref outputs "out")
5340 "/lib/sbcl"))
5341 #t)))))
5342 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5343
5344 (define-public sbcl-iolib
5345 (package
5346 (inherit sbcl-iolib.asdf)
5347 (name "sbcl-iolib")
5348 (inputs
5349 `(("iolib.asdf" ,sbcl-iolib.asdf)
5350 ("iolib.conf" ,sbcl-iolib.conf)
5351 ("iolib.grovel" ,sbcl-iolib.grovel)
5352 ("iolib.base" ,sbcl-iolib.base)
5353 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5354 ("idna" ,sbcl-idna)
5355 ("swap-bytes" ,sbcl-swap-bytes)
5356 ("libfixposix" ,libfixposix)
5357 ("cffi" ,sbcl-cffi)))
5358 (native-inputs
5359 `(("fiveam" ,sbcl-fiveam)))
5360 (arguments
5361 '(#:asd-file "iolib.asd"
5362 #:asd-system-name "iolib"
5363 #:test-asd-file "iolib.tests.asd"
5364 #:phases
5365 (modify-phases %standard-phases
5366 (add-after 'unpack 'fix-paths
5367 (lambda* (#:key inputs #:allow-other-keys)
5368 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5369 (("\\(:default \"libfixposix\"\\)")
5370 (string-append
5371 "(:default \""
5372 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5373 ;; Socket tests need Internet access, disable them.
5374 (substitute* "iolib.tests.asd"
5375 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5376 "")))))))
5377 (synopsis "Common Lisp I/O library")))
5378
5379 (define-public cl-iolib
5380 (sbcl-package->cl-source-package sbcl-iolib))
5381
5382 (define sbcl-iolib+multiplex
5383 (package
5384 (inherit sbcl-iolib)
5385 (name "sbcl-iolib+multiplex")
5386 (arguments
5387 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5388 ((#:asd-system-name _) "iolib/multiplex")))))
5389
5390 (define sbcl-iolib+syscalls
5391 (package
5392 (inherit sbcl-iolib)
5393 (name "sbcl-iolib+syscalls")
5394 (arguments
5395 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5396 ((#:asd-system-name _) "iolib/syscalls")))))
5397
5398 (define sbcl-iolib+streams
5399 (package
5400 (inherit sbcl-iolib)
5401 (name "sbcl-iolib+streams")
5402 (arguments
5403 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5404 ((#:asd-system-name _) "iolib/streams")))))
5405
5406 (define sbcl-iolib+sockets
5407 (package
5408 (inherit sbcl-iolib)
5409 (name "sbcl-iolib+sockets")
5410 (arguments
5411 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5412 ((#:asd-system-name _) "iolib/sockets")))))
5413
5414 (define-public sbcl-ieee-floats
5415 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5416 (revision "1"))
5417 (package
5418 (name "sbcl-ieee-floats")
5419 (build-system asdf-build-system/sbcl)
5420 (version (git-version "20170924" revision commit))
5421 (home-page "https://github.com/marijnh/ieee-floats/")
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 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5432 (native-inputs
5433 `(("fiveam" ,sbcl-fiveam)))
5434 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5435 (description "This is a Common Lisp library that allows to convert
5436 floating point values to IEEE 754 binary representation.")
5437 (license license:bsd-3))))
5438
5439 (define-public cl-ieee-floats
5440 (sbcl-package->cl-source-package sbcl-ieee-floats))
5441
5442 (define sbcl-closure-common
5443 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5444 (revision "1"))
5445 (package
5446 (name "sbcl-closure-common")
5447 (build-system asdf-build-system/sbcl)
5448 (version (git-version "20101006" revision commit))
5449 (home-page "https://common-lisp.net/project/cxml/")
5450 (source
5451 (origin
5452 (method git-fetch)
5453 (uri (git-reference
5454 (url "https://github.com/sharplispers/closure-common")
5455 (commit commit)))
5456 (file-name (git-file-name name version))
5457 (sha256
5458 (base32
5459 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5460 (inputs
5461 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5462 ("babel" ,sbcl-babel)))
5463 (synopsis "Support Common Lisp library for CXML")
5464 (description "Closure-common is an internal helper library. The name
5465 Closure is a reference to the web browser it was originally written for.")
5466 ;; TODO: License?
5467 (license #f))))
5468
5469 (define-public sbcl-cxml+xml
5470 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5471 (revision "1"))
5472 (package
5473 (name "sbcl-cxml+xml")
5474 (build-system asdf-build-system/sbcl)
5475 (version (git-version "0.0.0" revision commit))
5476 (home-page "https://common-lisp.net/project/cxml/")
5477 (source
5478 (origin
5479 (method git-fetch)
5480 (uri (git-reference
5481 (url "https://github.com/sharplispers/cxml")
5482 (commit commit)))
5483 (file-name (git-file-name name version))
5484 (sha256
5485 (base32
5486 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5487 (inputs
5488 `(("closure-common" ,sbcl-closure-common)
5489 ("puri" ,sbcl-puri)
5490 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5491 (arguments
5492 `(#:asd-file "cxml.asd"
5493 #:asd-system-name "cxml/xml"))
5494 (synopsis "Common Lisp XML parser")
5495 (description "CXML implements a namespace-aware, validating XML 1.0
5496 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5497 offered, one SAX-like, the other similar to StAX.")
5498 (license license:llgpl))))
5499
5500 (define sbcl-cxml+dom
5501 (package
5502 (inherit sbcl-cxml+xml)
5503 (name "sbcl-cxml+dom")
5504 (inputs
5505 `(("closure-common" ,sbcl-closure-common)
5506 ("puri" ,sbcl-puri)
5507 ("cxml+xml" ,sbcl-cxml+xml)))
5508 (arguments
5509 `(#:asd-file "cxml.asd"
5510 #:asd-system-name "cxml/dom"))))
5511
5512 (define sbcl-cxml+klacks
5513 (package
5514 (inherit sbcl-cxml+xml)
5515 (name "sbcl-cxml+klacks")
5516 (inputs
5517 `(("closure-common" ,sbcl-closure-common)
5518 ("puri" ,sbcl-puri)
5519 ("cxml+xml" ,sbcl-cxml+xml)))
5520 (arguments
5521 `(#:asd-file "cxml.asd"
5522 #:asd-system-name "cxml/klacks"))))
5523
5524 (define sbcl-cxml+test
5525 (package
5526 (inherit sbcl-cxml+xml)
5527 (name "sbcl-cxml+test")
5528 (inputs
5529 `(("closure-common" ,sbcl-closure-common)
5530 ("puri" ,sbcl-puri)
5531 ("cxml+xml" ,sbcl-cxml+xml)))
5532 (arguments
5533 `(#:asd-file "cxml.asd"
5534 #:asd-system-name "cxml/test"))))
5535
5536 (define-public sbcl-cxml
5537 (package
5538 (inherit sbcl-cxml+xml)
5539 (name "sbcl-cxml")
5540 (inputs
5541 `(("closure-common" ,sbcl-closure-common)
5542 ("puri" ,sbcl-puri)
5543 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5544 ("cxml+dom" ,sbcl-cxml+dom)
5545 ("cxml+klacks" ,sbcl-cxml+klacks)
5546 ("cxml+test" ,sbcl-cxml+test)))
5547 (arguments
5548 `(#:asd-file "cxml.asd"
5549 #:asd-system-name "cxml"
5550 #:phases
5551 (modify-phases %standard-phases
5552 (add-after 'build 'install-dtd
5553 (lambda* (#:key outputs #:allow-other-keys)
5554 (install-file "catalog.dtd"
5555 (string-append
5556 (assoc-ref outputs "out")
5557 "/lib/" (%lisp-type)))))
5558 (add-after 'create-asd 'remove-component
5559 ;; XXX: The original .asd has no components, but our build system
5560 ;; creates an entry nonetheless. We need to remove it for the
5561 ;; generated .asd to load properly. See trivia.trivial for a
5562 ;; similar problem.
5563 (lambda* (#:key outputs #:allow-other-keys)
5564 (let* ((out (assoc-ref outputs "out"))
5565 (asd (string-append out "/lib/sbcl/cxml.asd")))
5566 (substitute* asd
5567 ((" :components
5568 ")
5569 ""))
5570 (substitute* asd
5571 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5572 ""))))))))))
5573
5574 (define-public cl-cxml
5575 (sbcl-package->cl-source-package sbcl-cxml))
5576
5577 (define-public sbcl-cl-reexport
5578 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5579 (revision "1"))
5580 (package
5581 (name "sbcl-cl-reexport")
5582 (build-system asdf-build-system/sbcl)
5583 (version (git-version "0.1" revision commit))
5584 (home-page "https://github.com/takagi/cl-reexport")
5585 (source
5586 (origin
5587 (method git-fetch)
5588 (uri (git-reference
5589 (url home-page)
5590 (commit commit)))
5591 (file-name (git-file-name name version))
5592 (sha256
5593 (base32
5594 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5595 (inputs
5596 `(("alexandria" ,sbcl-alexandria)))
5597 (arguments
5598 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5599 `(#:tests? #f))
5600 (synopsis "HTTP cookie manager for Common Lisp")
5601 (description "cl-cookie is a Common Lisp library featuring parsing of
5602 cookie headers, cookie creation, cookie jar creation and more.")
5603 (license license:llgpl))))
5604
5605 (define-public cl-reexport
5606 (sbcl-package->cl-source-package sbcl-cl-reexport))
5607
5608 (define-public sbcl-cl-cookie
5609 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5610 (revision "1"))
5611 (package
5612 (name "sbcl-cl-cookie")
5613 (build-system asdf-build-system/sbcl)
5614 (version (git-version "0.9.10" revision commit))
5615 (home-page "https://github.com/fukamachi/cl-cookie")
5616 (source
5617 (origin
5618 (method git-fetch)
5619 (uri (git-reference
5620 (url home-page)
5621 (commit commit)))
5622 (file-name (git-file-name name version))
5623 (sha256
5624 (base32
5625 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5626 (inputs
5627 `(("proc-parse" ,sbcl-proc-parse)
5628 ("alexandria" ,sbcl-alexandria)
5629 ("quri" ,sbcl-quri)
5630 ("cl-ppcre" ,sbcl-cl-ppcre)
5631 ("local-time" ,sbcl-local-time)))
5632 (native-inputs
5633 `(("prove-asdf" ,sbcl-prove-asdf)
5634 ("prove" ,sbcl-prove)))
5635 (arguments
5636 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5637 `(#:tests? #f))
5638 (synopsis "HTTP cookie manager for Common Lisp")
5639 (description "cl-cookie is a Common Lisp library featuring parsing of
5640 cookie headers, cookie creation, cookie jar creation and more.")
5641 (license license:bsd-2))))
5642
5643 (define-public cl-cookie
5644 (sbcl-package->cl-source-package sbcl-cl-cookie))
5645
5646 (define-public sbcl-dexador
5647 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5648 (revision "1"))
5649 (package
5650 (name "sbcl-dexador")
5651 (build-system asdf-build-system/sbcl)
5652 (version (git-version "0.9.10" revision commit))
5653 (home-page "https://github.com/fukamachi/dexador")
5654 (source
5655 (origin
5656 (method git-fetch)
5657 (uri (git-reference
5658 (url home-page)
5659 (commit commit)))
5660 (file-name (git-file-name name version))
5661 (sha256
5662 (base32
5663 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5664 (inputs
5665 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5666 ("babel" ,sbcl-babel)
5667 ("usocket" ,sbcl-usocket)
5668 ("fast-http" ,sbcl-fast-http)
5669 ("quri" ,sbcl-quri)
5670 ("fast-io" ,sbcl-fast-io)
5671 ("chunga" ,sbcl-chunga)
5672 ("cl-ppcre" ,sbcl-cl-ppcre)
5673 ("cl-cookie" ,sbcl-cl-cookie)
5674 ("trivial-mimes" ,sbcl-trivial-mimes)
5675 ("chipz" ,sbcl-chipz)
5676 ("cl-base64" ,sbcl-cl-base64)
5677 ("cl-reexport" ,sbcl-cl-reexport)
5678 ("cl+ssl" ,sbcl-cl+ssl)
5679 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5680 ("alexandria" ,sbcl-alexandria)))
5681 (native-inputs
5682 `(("prove" ,sbcl-prove)
5683 ("prove-asdf" ,sbcl-prove-asdf)
5684 ("lack-request" ,sbcl-lack-request)
5685 ("clack" ,sbcl-clack)
5686 ("babel" ,sbcl-babel)
5687 ("alexandria" ,sbcl-alexandria)
5688 ("cl-ppcre" ,sbcl-cl-ppcre)
5689 ("local-time" ,sbcl-local-time)))
5690 (arguments
5691 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5692 `(#:tests? #f
5693 #:phases
5694 (modify-phases %standard-phases
5695 (add-after 'unpack 'fix-permissions
5696 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5697 (synopsis "Yet another HTTP client for Common Lisp")
5698 (description "Dexador is yet another HTTP client for Common Lisp with
5699 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5700 (license license:expat))))
5701
5702 (define-public cl-dexador
5703 (package
5704 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5705 (arguments
5706 `(#:phases
5707 ;; asdf-build-system/source has its own phases and does not inherit
5708 ;; from asdf-build-system/sbcl phases.
5709 (modify-phases %standard-phases/source
5710 (add-after 'unpack 'fix-permissions
5711 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5712
5713 (define-public ecl-dexador
5714 (sbcl-package->ecl-package sbcl-dexador))
5715
5716 (define-public sbcl-lisp-namespace
5717 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5718 (revision "1"))
5719 (package
5720 (name "sbcl-lisp-namespace")
5721 (build-system asdf-build-system/sbcl)
5722 (version (git-version "0.1" revision commit))
5723 (home-page "https://github.com/guicho271828/lisp-namespace")
5724 (source
5725 (origin
5726 (method git-fetch)
5727 (uri (git-reference
5728 (url home-page)
5729 (commit commit)))
5730 (file-name (git-file-name name version))
5731 (sha256
5732 (base32
5733 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5734 (inputs
5735 `(("alexandria" ,sbcl-alexandria)))
5736 (native-inputs
5737 `(("fiveam" ,sbcl-fiveam)))
5738 (arguments
5739 `(#:test-asd-file "lisp-namespace.test.asd"
5740 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5741 #:tests? #f))
5742 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5743 (description "Common Lisp already has major 2 namespaces, function
5744 namespace and value namespace (or variable namespace), but there are actually
5745 more — e.g., class namespace.
5746 This library offers macros to deal with symbols from any namespace.")
5747 (license license:llgpl))))
5748
5749 (define-public cl-lisp-namespace
5750 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5751
5752 (define-public sbcl-trivial-cltl2
5753 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5754 (revision "1"))
5755 (package
5756 (name "sbcl-trivial-cltl2")
5757 (build-system asdf-build-system/sbcl)
5758 (version (git-version "0.1.1" revision commit))
5759 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5760 (source
5761 (origin
5762 (method git-fetch)
5763 (uri (git-reference
5764 (url home-page)
5765 (commit commit)))
5766 (file-name (git-file-name name version))
5767 (sha256
5768 (base32
5769 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5770 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5771 (description "This library is a portable compatibility layer around
5772 \"Common Lisp the Language, 2nd
5773 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5774 and it exports symbols from implementation-specific packages.")
5775 (license license:llgpl))))
5776
5777 (define-public cl-trivial-cltl2
5778 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5779
5780 (define-public sbcl-introspect-environment
5781 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5782 (revision "1"))
5783 (package
5784 (name "sbcl-introspect-environment")
5785 (build-system asdf-build-system/sbcl)
5786 (version (git-version "0.1" revision commit))
5787 (home-page "https://github.com/Bike/introspect-environment")
5788 (source
5789 (origin
5790 (method git-fetch)
5791 (uri (git-reference
5792 (url home-page)
5793 (commit commit)))
5794 (file-name (git-file-name name version))
5795 (sha256
5796 (base32
5797 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5798 (native-inputs
5799 `(("fiveam" ,sbcl-fiveam)))
5800 (synopsis "Common Lisp environment introspection portability layer")
5801 (description "This library is a small interface to portable but
5802 nonstandard introspection of Common Lisp environments. It is intended to
5803 allow a bit more compile-time introspection of environments in Common Lisp.
5804
5805 Quite a bit of information is available at the time a macro or compiler-macro
5806 runs; inlining info, type declarations, that sort of thing. This information
5807 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5808 such.
5809
5810 This info ought to be accessible through the standard @code{&environment}
5811 parameters, but it is not. Several implementations keep the information for
5812 their own purposes but do not make it available to user programs, because
5813 there is no standard mechanism to do so.
5814
5815 This library uses implementation-specific hooks to make information available
5816 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5817 implementations have implementations of the functions that do as much as they
5818 can and/or provide reasonable defaults.")
5819 (license license:wtfpl2))))
5820
5821 (define-public cl-introspect-environment
5822 (sbcl-package->cl-source-package sbcl-introspect-environment))
5823
5824 (define-public sbcl-type-i
5825 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5826 (revision "1"))
5827 (package
5828 (name "sbcl-type-i")
5829 (build-system asdf-build-system/sbcl)
5830 (version (git-version "0.1" revision commit))
5831 (home-page "https://github.com/guicho271828/type-i")
5832 (source
5833 (origin
5834 (method git-fetch)
5835 (uri (git-reference
5836 (url home-page)
5837 (commit commit)))
5838 (file-name (git-file-name name version))
5839 (sha256
5840 (base32
5841 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5842 (inputs
5843 `(("alexandria" ,sbcl-alexandria)
5844 ("introspect-environment" ,sbcl-introspect-environment)
5845 ("trivia.trivial" ,sbcl-trivia.trivial)))
5846 (native-inputs
5847 `(("fiveam" ,sbcl-fiveam)))
5848 (arguments
5849 `(#:test-asd-file "type-i.test.asd"))
5850 (synopsis "Type inference utility on unary predicates for Common Lisp")
5851 (description "This library tries to provide a way to detect what kind of
5852 type the given predicate is trying to check. This is different from inferring
5853 the return type of a function.")
5854 (license license:llgpl))))
5855
5856 (define-public cl-type-i
5857 (sbcl-package->cl-source-package sbcl-type-i))
5858
5859 (define-public sbcl-optima
5860 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5861 (revision "1"))
5862 (package
5863 (name "sbcl-optima")
5864 (build-system asdf-build-system/sbcl)
5865 (version (git-version "1.0" revision commit))
5866 (home-page "https://github.com/m2ym/optima")
5867 (source
5868 (origin
5869 (method git-fetch)
5870 (uri (git-reference
5871 (url home-page)
5872 (commit commit)))
5873 (file-name (git-file-name name version))
5874 (sha256
5875 (base32
5876 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5877 (inputs
5878 `(("alexandria" ,sbcl-alexandria)
5879 ("closer-mop" ,sbcl-closer-mop)))
5880 (native-inputs
5881 `(("eos" ,sbcl-eos)))
5882 (arguments
5883 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5884 `(#:tests? #f
5885 #:test-asd-file "optima.test.asd"))
5886 (synopsis "Optimized pattern matching library for Common Lisp")
5887 (description "Optima is a fast pattern matching library which uses
5888 optimizing techniques widely used in the functional programming world.")
5889 (license license:expat))))
5890
5891 (define-public cl-optima
5892 (sbcl-package->cl-source-package sbcl-optima))
5893
5894 (define-public sbcl-fare-quasiquote
5895 (package
5896 (name "sbcl-fare-quasiquote")
5897 (build-system asdf-build-system/sbcl)
5898 (version "20171130")
5899 (home-page "http://common-lisp.net/project/fare-quasiquote")
5900 (source
5901 (origin
5902 (method url-fetch)
5903 (uri (string-append "http://beta.quicklisp.org/archive/fare-quasiquote/"
5904 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
5905 "/fare-quasiquote-"
5906 version
5907 "-git.tgz"))
5908 (sha256
5909 (base32
5910 "00brmh7ndsi0c97nibi8cy10j3l4gmkyrfrr5jr5lzkfb7ngyfqa"))))
5911 (inputs
5912 `(("fare-utils" ,sbcl-fare-utils)))
5913 (arguments
5914 ;; XXX: Circular dependencies: Tests depend on subsystems, which depend on the main systems.
5915 `(#:tests? #f
5916 #:phases
5917 (modify-phases %standard-phases
5918 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5919 ;; commits after 1.0.0.5, but ASDF fails to read the
5920 ;; "-REVISION-COMMIT" part generated by Guix.
5921 (add-after 'unpack 'patch-requirement
5922 (lambda _
5923 (substitute* "fare-quasiquote.asd"
5924 (("\\(:version \"fare-utils\" \"1.0.0\"\\)") "\"fare-utils\"")))))))
5925 (synopsis "Pattern-matching friendly implementation of quasiquote for Common Lisp")
5926 (description "The main purpose of this n+2nd reimplementation of
5927 quasiquote is enable matching of quasiquoted patterns, using Optima or
5928 Trivia.")
5929 (license license:expat)))
5930
5931 (define-public cl-fare-quasiquote
5932 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5933
5934 (define-public sbcl-fare-quasiquote-optima
5935 (package
5936 (inherit sbcl-fare-quasiquote)
5937 (name "sbcl-fare-quasiquote-optima")
5938 (inputs
5939 `(("optima" ,sbcl-optima)
5940 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
5941 (arguments
5942 '(#:phases
5943 (modify-phases %standard-phases
5944 (add-after 'unpack 'patch-requirement
5945 (lambda _
5946 (substitute* "fare-quasiquote-optima.asd"
5947 (("\\(:version \"optima\" \"1\\.0\"\\)")
5948 "\"optima\""))
5949 #t)))))))
5950
5951 (define-public cl-fare-quasiquote-optima
5952 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
5953
5954 (define-public sbcl-fare-quasiquote-readtable
5955 (package
5956 (inherit sbcl-fare-quasiquote)
5957 (name "sbcl-fare-quasiquote-readtable")
5958 (inputs
5959 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
5960 ("named-readtables" ,sbcl-named-readtables)))
5961 (description "The main purpose of this n+2nd reimplementation of
5962 quasiquote is enable matching of quasiquoted patterns, using Optima or
5963 Trivia.
5964
5965 This package uses fare-quasiquote with named-readtable.")))
5966
5967 (define-public cl-fare-quasiquote-readtable
5968 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
5969
5970 ;; TODO: Add support for component-less system in asdf-build-system/sbcl.
5971 (define-public cl-fare-quasiquote-extras
5972 (package
5973 (inherit cl-fare-quasiquote)
5974 (name "cl-fare-quasiquote-extras")
5975 (build-system asdf-build-system/source)
5976 (propagated-inputs
5977 `(("fare-quasiquote" ,cl-fare-quasiquote)
5978 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
5979 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
5980 (description "This library combines @code{fare-quasiquote-readtable} and
5981 @code{fare-quasiquote-optima}.")))
5982
5983 (define-public sbcl-trivia.level0
5984 (let ((commit "902e0c65602bbfe96ae82e679330b3771ddc7603")
5985 (revision "1"))
5986 (package
5987 (name "sbcl-trivia.level0")
5988 (build-system asdf-build-system/sbcl)
5989 (version (git-version "0.0.0" revision commit))
5990 (home-page "https://github.com/guicho271828/trivia")
5991 (source
5992 (origin
5993 (method git-fetch)
5994 (uri (git-reference
5995 (url home-page)
5996 (commit commit)))
5997 (file-name (git-file-name name version))
5998 (sha256
5999 (base32
6000 "11qbab30qqnfy9mx3x9fvgcw1jbvh1qn2cqv3p8xdn2m8981jvhr"))))
6001 (inputs
6002 `(("alexandria" ,sbcl-alexandria)))
6003 (synopsis "Pattern matching in Common Lisp")
6004 (description "Trivia is a pattern matching compiler that is compatible
6005 with Optima, another pattern matching library for Common Lisp. It is meant to
6006 be faster and more extensible than Optima.")
6007 (license license:llgpl))))
6008
6009 (define-public sbcl-trivia.level1
6010 (package
6011 (inherit sbcl-trivia.level0)
6012 (name "sbcl-trivia.level1")
6013 (inputs
6014 `(("trivia.level0" ,sbcl-trivia.level0)))
6015 (description "Trivia is a pattern matching compiler that is compatible
6016 with Optima, another pattern matching library for Common Lisp. It is meant to
6017 be faster and more extensible than Optima.
6018
6019 This system contains the core patterns of Trivia.")))
6020
6021 (define-public sbcl-trivia.level2
6022 (package
6023 (inherit sbcl-trivia.level0)
6024 (name "sbcl-trivia.level2")
6025 (inputs
6026 `(("trivia.level1" ,sbcl-trivia.level1)
6027 ("lisp-namespace" ,sbcl-lisp-namespace)
6028 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6029 ("closer-mop" ,sbcl-closer-mop)))
6030 (description "Trivia is a pattern matching compiler that is compatible
6031 with Optima, another pattern matching library for Common Lisp. It is meant to
6032 be faster and more extensible than Optima.
6033
6034 This system contains a non-optimized pattern matcher compatible with Optima,
6035 with extensible optimizer interface.")))
6036
6037 (define-public sbcl-trivia.trivial
6038 (package
6039 (inherit sbcl-trivia.level0)
6040 (name "sbcl-trivia.trivial")
6041 (inputs
6042 `(("trivia.level2" ,sbcl-trivia.level2)))
6043 (arguments
6044 `(#:phases
6045 (modify-phases %standard-phases
6046 (replace 'create-asd-file
6047 (lambda* (#:key outputs inputs #:allow-other-keys)
6048 (let* ((out (assoc-ref outputs "out"))
6049 (lib (string-append out "/lib/" (%lisp-type)))
6050 (level2 (assoc-ref inputs "trivia.level2")))
6051 (mkdir-p lib)
6052 (install-file "trivia.trivial.asd" lib)
6053 ;; XXX: This .asd does not have any component and the build
6054 ;; system fails to work in this case. We should update the
6055 ;; build system to handle component-less .asd.
6056 ;; TODO: How do we append to file in Guile? It seems that
6057 ;; (open-file ... "a") gets a "Permission denied".
6058 (substitute* (string-append lib "/trivia.trivial.asd")
6059 (("\"\\)")
6060 (string-append "\")
6061
6062 (progn (asdf/source-registry:ensure-source-registry)
6063 (setf (gethash
6064 \"trivia.level2\"
6065 asdf/source-registry:*source-registry*)
6066 #p\""
6067 level2
6068 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6069 (description "Trivia is a pattern matching compiler that is compatible
6070 with Optima, another pattern matching library for Common Lisp. It is meant to
6071 be faster and more extensible than Optima.
6072
6073 This system contains the base level system of Trivia with a trivial optimizer.")))
6074
6075 (define-public sbcl-trivia.balland2006
6076 (package
6077 (inherit sbcl-trivia.level0)
6078 (name "sbcl-trivia.balland2006")
6079 (inputs
6080 `(("trivia.trivial" ,sbcl-trivia.trivial)
6081 ("iterate" ,sbcl-iterate)
6082 ("type-i" ,sbcl-type-i)
6083 ("alexandria" ,sbcl-alexandria)))
6084 (arguments
6085 ;; Tests are done in trivia itself.
6086 `(#:tests? #f))
6087 (description "Trivia is a pattern matching compiler that is compatible
6088 with Optima, another pattern matching library for Common Lisp. It is meant to
6089 be faster and more extensible than Optima.
6090
6091 This system contains the base level system of Trivia with a trivial optimizer.")))
6092
6093 (define-public sbcl-trivia.ppcre
6094 (package
6095 (inherit sbcl-trivia.level0)
6096 (name "sbcl-trivia.ppcre")
6097 (inputs
6098 `(("trivia.trivial" ,sbcl-trivia.trivial)
6099 ("cl-ppcre" ,sbcl-cl-ppcre)))
6100 (description "Trivia is a pattern matching compiler that is compatible
6101 with Optima, another pattern matching library for Common Lisp. It is meant to
6102 be faster and more extensible than Optima.
6103
6104 This system contains the PPCRE extension.")))
6105
6106 (define-public sbcl-trivia.quasiquote
6107 (package
6108 (inherit sbcl-trivia.level0)
6109 (name "sbcl-trivia.quasiquote")
6110 (inputs
6111 `(("trivia.trivial" ,sbcl-trivia.trivial)
6112 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6113 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6114 (description "Trivia is a pattern matching compiler that is compatible
6115 with Optima, another pattern matching library for Common Lisp. It is meant to
6116 be faster and more extensible than Optima.
6117
6118 This system contains the fare-quasiquote extension.")))
6119
6120 (define-public sbcl-trivia.cffi
6121 (package
6122 (inherit sbcl-trivia.level0)
6123 (name "sbcl-trivia.cffi")
6124 (inputs
6125 `(("cffi" ,sbcl-cffi)
6126 ("trivia.trivial" ,sbcl-trivia.trivial)))
6127 (description "Trivia is a pattern matching compiler that is compatible
6128 with Optima, another pattern matching library for Common Lisp. It is meant to
6129 be faster and more extensible than Optima.
6130
6131 This system contains the CFFI foreign slot access extension.")))
6132
6133 (define-public sbcl-trivia
6134 (package
6135 (inherit sbcl-trivia.level0)
6136 (name "sbcl-trivia")
6137 (inputs
6138 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6139 (native-inputs
6140 `(("fiveam" ,sbcl-fiveam)
6141 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6142 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6143 ("trivia.cffi" ,sbcl-trivia.cffi)
6144 ("optima" ,sbcl-optima)))
6145 (arguments
6146 `(#:test-asd-file "trivia.test.asd"
6147 #:phases
6148 (modify-phases %standard-phases
6149 (add-after 'create-asd 'remove-component
6150 ;; XXX: The original .asd has no components, but our build system
6151 ;; creates an entry nonetheless. We need to remove it for the
6152 ;; generated .asd to load properly. See trivia.trivial for a
6153 ;; similar problem.
6154 (lambda* (#:key outputs #:allow-other-keys)
6155 (let* ((out (assoc-ref outputs "out"))
6156 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6157 (substitute* asd
6158 ((" :components
6159 ")
6160 ""))
6161 (substitute* asd
6162 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6163 ""))))))))
6164 (description "Trivia is a pattern matching compiler that is compatible
6165 with Optima, another pattern matching library for Common Lisp. It is meant to
6166 be faster and more extensible than Optima.")))
6167
6168 (define-public cl-trivia
6169 (sbcl-package->cl-source-package sbcl-trivia))
6170
6171 (define-public sbcl-mk-string-metrics
6172 (package
6173 (name "sbcl-mk-string-metrics")
6174 (version "0.1.2")
6175 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6176 (source (origin
6177 (method git-fetch)
6178 (uri (git-reference
6179 (url home-page)
6180 (commit version)))
6181 (sha256
6182 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6183 (file-name (git-file-name name version))))
6184 (build-system asdf-build-system/sbcl)
6185 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6186 (description "This library implements efficient algorithms that calculate
6187 various string metrics in Common Lisp:
6188
6189 @itemize
6190 @item Damerau-Levenshtein distance
6191 @item Hamming distance
6192 @item Jaccard similarity coefficient
6193 @item Jaro distance
6194 @item Jaro-Winkler distance
6195 @item Levenshtein distance
6196 @item Normalized Damerau-Levenshtein distance
6197 @item Normalized Levenshtein distance
6198 @item Overlap coefficient
6199 @end itemize\n")
6200 (license license:x11)))
6201
6202 (define-public cl-mk-string-metrics
6203 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6204
6205 (define-public sbcl-cl-str
6206 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6207 (package
6208 (name "sbcl-cl-str")
6209 (version (git-version "0.8" "1" commit))
6210 (home-page "https://github.com/vindarel/cl-str")
6211 (source (origin
6212 (method git-fetch)
6213 (uri (git-reference
6214 (url home-page)
6215 (commit commit)))
6216 (sha256
6217 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6218 (file-name (git-file-name name version))))
6219 (build-system asdf-build-system/sbcl)
6220 (inputs
6221 `(("cl-ppcre" ,sbcl-cl-ppcre)
6222 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6223 (native-inputs
6224 `(("prove" ,sbcl-prove)
6225 ("prove-asdf" ,sbcl-prove-asdf)))
6226 (arguments
6227 `(#:asd-file "str.asd"
6228 #:asd-system-name "str"
6229 #:test-asd-file "str.test.asd"))
6230 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6231 (description "A modern and consistent Common Lisp string manipulation
6232 library that focuses on modernity, simplicity and discoverability:
6233 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6234 @code{str:concat strings} instead of an unusual format construct; one
6235 discoverable library instead of many; consistency and composability, where
6236 @code{s} is always the last argument, which makes it easier to feed pipes and
6237 arrows.")
6238 (license license:expat))))
6239
6240 (define-public cl-str
6241 (sbcl-package->cl-source-package sbcl-cl-str))
6242
6243 (define-public sbcl-cl-xmlspam
6244 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6245 (package
6246 (name "sbcl-cl-xmlspam")
6247 (build-system asdf-build-system/sbcl)
6248 (version (git-version "0.0.0" "1" commit))
6249 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6250 (source
6251 (origin
6252 (method git-fetch)
6253 (uri (git-reference
6254 (url home-page)
6255 (commit commit)))
6256 (file-name (string-append name "-" version))
6257 (sha256
6258 (base32
6259 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6260 (inputs
6261 `(("cxml" ,sbcl-cxml)
6262 ("cl-ppcre" ,sbcl-cl-ppcre)))
6263 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6264 (description "CXML does an excellent job at parsing XML elements, but what
6265 do you do when you have a XML file that's larger than you want to fit in
6266 memory, and you want to extract some information from it? Writing code to deal
6267 with SAX events, or even using Klacks, quickly becomes tedious.
6268 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6269 to write code that mirrors the structure of the XML that it's parsing. It
6270 also makes it easy to shift paradigms when necessary - the usual Lisp control
6271 constructs can be used interchangeably with pattern matching, and the full
6272 power of CXML is available when necessary.")
6273 (license license:bsd-3))))
6274
6275 ;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6276 ;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6277 ;; asdf-build-system/sbcl.
6278 (define-public cl-dbus
6279 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6280 (revision "1"))
6281 (package
6282 (name "cl-dbus")
6283 (build-system asdf-build-system/source)
6284 (version (git-version "20190408" revision commit))
6285 (home-page "https://github.com/death/dbus")
6286 (source
6287 (origin
6288 (method git-fetch)
6289 (uri (git-reference
6290 (url home-page)
6291 (commit commit)))
6292 (file-name (git-file-name name version))
6293 (sha256
6294 (base32
6295 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6296 ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
6297 (propagated-inputs
6298 `(("alexandria" ,sbcl-alexandria)
6299 ("trivial-garbage" ,sbcl-trivial-garbage)
6300 ("babel" ,sbcl-babel)
6301 ("iolib" ,sbcl-iolib)
6302 ("iolib+multiplex" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+multiplex))
6303 ("iolib+syscalls" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+syscalls))
6304 ("iolib+streams" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+streams))
6305 ("iolib+sockets" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+sockets))
6306 ("ieee-floats" ,sbcl-ieee-floats)
6307 ("flexi-streams" ,sbcl-flexi-streams)
6308 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6309 ("ironclad" ,sbcl-ironclad)))
6310 (synopsis "D-Bus client library for Common Lisp")
6311 (description "This is a Common Lisp library that allows to publish D-Bus
6312 objects as well as send and notify other objects connected to a bus.")
6313 (license license:bsd-2))))
6314
6315 (define-public sbcl-cl-hooks
6316 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6317 (revision "1"))
6318 (package
6319 (name "sbcl-cl-hooks")
6320 (build-system asdf-build-system/sbcl)
6321 (version (git-version "0.2.1" revision commit))
6322 (home-page "https://github.com/scymtym/architecture.hooks")
6323 (source
6324 (origin
6325 (method git-fetch)
6326 (uri (git-reference
6327 (url home-page)
6328 (commit commit)))
6329 (file-name (git-file-name name version))
6330 (sha256
6331 (base32
6332 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6333 (inputs
6334 `(("alexandria" ,sbcl-alexandria)
6335 ("let-plus" ,sbcl-let-plus)
6336 ("trivial-garbage" ,sbcl-trivial-garbage)
6337 ("closer-mop" ,sbcl-closer-mop)))
6338 (native-inputs
6339 `(("fiveam" ,sbcl-fiveam)))
6340 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6341 (description "A hook, in the present context, is a certain kind of
6342 extension point in a program that allows interleaving the execution of
6343 arbitrary code with the execution of a the program without introducing any
6344 coupling between the two. Hooks are used extensively in the extensible editor
6345 Emacs.
6346
6347 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6348 possible using the flexible multi-method dispatch mechanism. It may even seem
6349 that the concept of hooks does not provide any benefits over the possibilities
6350 of CLOS. However, there are some differences:
6351
6352 @itemize
6353
6354 @item There can be only one method for each combination of specializers and
6355 qualifiers. As a result this kind of extension point cannot be used by
6356 multiple extensions independently.
6357 @item Removing code previously attached via a @code{:before}, @code{:after} or
6358 @code{:around} method can be cumbersome.
6359 @item There could be other or even multiple extension points besides @code{:before}
6360 and @code{:after} in a single method.
6361 @item Attaching codes to individual objects using eql specializers can be
6362 cumbersome.
6363 @item Introspection of code attached a particular extension point is
6364 cumbersome since this requires enumerating and inspecting the methods of a
6365 generic function.
6366 @end itemize
6367
6368 This library tries to complement some of these weaknesses of method-based
6369 extension-points via the concept of hooks.")
6370 (license license:llgpl))))
6371
6372 (define-public cl-hooks
6373 (sbcl-package->cl-source-package sbcl-cl-hooks))
6374
6375 (define-public ecl-cl-hooks
6376 (sbcl-package->ecl-package sbcl-cl-hooks))
6377
6378 (define-public sbcl-s-sysdeps
6379 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6380 (revision "1"))
6381 (package
6382 (name "sbcl-s-sysdeps")
6383 (build-system asdf-build-system/sbcl)
6384 (version (git-version "1" revision commit))
6385 (home-page "https://github.com/svenvc/s-sysdeps")
6386 (source
6387 (origin
6388 (method git-fetch)
6389 (uri (git-reference
6390 (url home-page)
6391 (commit commit)))
6392 (file-name (git-file-name name version))
6393 (sha256
6394 (base32
6395 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6396 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6397 (description "@code{s-sysdeps} is an abstraction layer over platform
6398 dependent functionality. This simple package is used as a building block in a
6399 number of other open source projects.
6400
6401 @code{s-sysdeps} abstracts:
6402
6403 @itemize
6404 @item managing processes,
6405 @item implementing a standard TCP/IP server,
6406 @item opening a client TCP/IP socket stream,
6407 @item working with process locks.
6408 @end itemize\n")
6409 (license license:llgpl))))
6410
6411 (define-public cl-s-sysdeps
6412 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6413
6414 (define-public ecl-s-sysdeps
6415 (sbcl-package->ecl-package sbcl-s-sysdeps))
6416
6417 (define-public sbcl-cl-prevalence
6418 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6419 (revision "1"))
6420 (package
6421 (name "sbcl-cl-prevalence")
6422 (build-system asdf-build-system/sbcl)
6423 (version (git-version "5" revision commit))
6424 (home-page "https://github.com/40ants/cl-prevalence")
6425 (source
6426 (origin
6427 (method git-fetch)
6428 (uri (git-reference
6429 (url home-page)
6430 (commit commit)))
6431 (file-name (git-file-name name version))
6432 (sha256
6433 (base32
6434 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6435 (inputs
6436 `(("s-sysdeps" ,sbcl-s-sysdeps)
6437 ("s-xml" ,sbcl-s-xml)))
6438 (synopsis "Implementation of object prevalence for Common Lisp")
6439 (description "This Common Lisp library implements object prevalence (see
6440 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6441 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6442 classes and cyclic data structures are supported.")
6443 (license license:llgpl))))
6444
6445 (define-public cl-prevalence
6446 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6447
6448 (define-public ecl-cl-prevalence
6449 (sbcl-package->ecl-package sbcl-cl-prevalence))
6450
6451 (define-public sbcl-series
6452 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6453 (revision "1"))
6454 (package
6455 (name "sbcl-series")
6456 (version (git-version "2.2.11" revision commit))
6457 (source
6458 (origin
6459 (method git-fetch)
6460 (uri (git-reference
6461 (url "git://git.code.sf.net/p/series/series")
6462 (commit commit)))
6463 (file-name (git-file-name name version))
6464 (sha256
6465 (base32
6466 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6467 (build-system asdf-build-system/sbcl)
6468 (arguments
6469 ;; Disable the tests, they are apparently buggy and I didn't find
6470 ;; a simple way to make them run and pass.
6471 '(#:tests? #f))
6472 (synopsis "Series data structure for Common Lisp")
6473 (description
6474 "This Common Lisp library provides a series data structure much like
6475 a sequence, with similar kinds of operations. The difference is that in many
6476 situations, operations on series may be composed functionally and yet execute
6477 iteratively, without the need to construct intermediate series values
6478 explicitly. In this manner, series provide both the clarity of a functional
6479 programming style and the efficiency of an iterative programming style.")
6480 (home-page "http://series.sourceforge.net/")
6481 (license license:expat))))
6482
6483 (define-public cl-series
6484 (sbcl-package->cl-source-package sbcl-series))
6485
6486 (define-public ecl-series
6487 (sbcl-package->ecl-package sbcl-series))
6488
6489 (define-public sbcl-periods
6490 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6491 (revision "1"))
6492 (package
6493 (name "sbcl-periods")
6494 (version (git-version "0.0.2" revision commit))
6495 (source
6496 (origin
6497 (method git-fetch)
6498 (uri (git-reference
6499 (url "https://github.com/jwiegley/periods.git")
6500 (commit commit)))
6501 (file-name (git-file-name name version))
6502 (sha256
6503 (base32
6504 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6505 (build-system asdf-build-system/sbcl)
6506 (inputs
6507 `(("local-time" ,sbcl-local-time)))
6508 (synopsis "Common Lisp library for manipulating date/time objects")
6509 (description
6510 "Periods is a Common Lisp library providing a set of utilities for
6511 manipulating times, distances between times, and both contiguous and
6512 discontiguous ranges of time.")
6513 (home-page "https://github.com/jwiegley/periods")
6514 (license license:bsd-3))))
6515
6516 (define-public cl-periods
6517 (sbcl-package->cl-source-package sbcl-periods))
6518
6519 (define-public ecl-periods
6520 (sbcl-package->ecl-package sbcl-periods))
6521
6522 (define-public sbcl-periods-series
6523 (package
6524 (inherit sbcl-periods)
6525 (name "sbcl-periods-series")
6526 (inputs
6527 `(("periods" ,sbcl-periods)
6528 ("series" ,sbcl-series)))
6529 (arguments
6530 '(#:asd-file "periods-series.asd"
6531 #:asd-system-name "periods-series"))
6532 (description
6533 "Periods-series is an extension of the periods Common Lisp library
6534 providing functions compatible with the series Common Lisp library.")))
6535
6536 (define-public cl-periods-series
6537 (sbcl-package->cl-source-package sbcl-periods-series))
6538
6539 (define-public ecl-periods-series
6540 (sbcl-package->ecl-package sbcl-periods-series))
6541
6542 (define-public sbcl-metatilities-base
6543 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6544 (revision "1"))
6545 (package
6546 (name "sbcl-metatilities-base")
6547 (version (git-version "0.6.6" revision commit))
6548 (source
6549 (origin
6550 (method git-fetch)
6551 (uri (git-reference
6552 (url "https://github.com/gwkkwg/metatilities-base.git")
6553 (commit commit)))
6554 (file-name (git-file-name name version))
6555 (sha256
6556 (base32
6557 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6558 (build-system asdf-build-system/sbcl)
6559 (native-inputs
6560 `(("lift" ,sbcl-lift)))
6561 (synopsis "Core of the metatilities Common Lisp library")
6562 (description
6563 "Metatilities-base is the core of the metatilities Common Lisp library
6564 which implements a set of utilities.")
6565 (home-page "https://common-lisp.net/project/metatilities-base/")
6566 (license license:expat))))
6567
6568 (define-public cl-metatilities-base
6569 (sbcl-package->cl-source-package sbcl-metatilities-base))
6570
6571 (define-public ecl-metatilities-base
6572 (sbcl-package->ecl-package sbcl-metatilities-base))
6573
6574 (define-public sbcl-cl-containers
6575 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
6576 (revision "1"))
6577 (package
6578 (name "sbcl-cl-containers")
6579 (version (git-version "0.12.1" revision commit))
6580 (source
6581 (origin
6582 (method git-fetch)
6583 (uri (git-reference
6584 (url "https://github.com/gwkkwg/cl-containers.git")
6585 (commit commit)))
6586 (file-name (git-file-name name version))
6587 (sha256
6588 (base32
6589 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
6590 (build-system asdf-build-system/sbcl)
6591 (native-inputs
6592 `(("lift" ,sbcl-lift)))
6593 (inputs
6594 `(("metatilities-base" ,sbcl-metatilities-base)))
6595 (arguments
6596 '(#:phases
6597 (modify-phases %standard-phases
6598 (add-after 'unpack 'relax-version-checks
6599 (lambda _
6600 (substitute* "cl-containers.asd"
6601 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6602 "\"metatilities-base\""))
6603 (substitute* "cl-containers-test.asd"
6604 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6605 "\"lift\""))
6606 #t)))))
6607 (synopsis "Container library for Common Lisp")
6608 (description
6609 "Common Lisp ships with a set of powerful built in data structures
6610 including the venerable list, full featured arrays, and hash-tables.
6611 CL-containers enhances and builds on these structures by adding containers
6612 that are not available in native Lisp (for example: binary search trees,
6613 red-black trees, sparse arrays and so on), and by providing a standard
6614 interface so that they are simpler to use and so that changing design
6615 decisions becomes significantly easier.")
6616 (home-page "https://common-lisp.net/project/cl-containers/")
6617 (license license:expat))))
6618
6619 (define-public cl-containers
6620 (sbcl-package->cl-source-package sbcl-cl-containers))
6621
6622 (define-public ecl-cl-containers
6623 (sbcl-package->ecl-package sbcl-cl-containers))
6624
6625 (define-public sbcl-xlunit
6626 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6627 (revision "1"))
6628 (package
6629 (name "sbcl-xlunit")
6630 (version (git-version "0.6.3" revision commit))
6631 (source
6632 (origin
6633 (method git-fetch)
6634 (uri (git-reference
6635 (url "http://git.kpe.io/xlunit.git")
6636 (commit commit)))
6637 (file-name (git-file-name name version))
6638 (sha256
6639 (base32
6640 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6641 (build-system asdf-build-system/sbcl)
6642 (arguments
6643 '(#:phases
6644 (modify-phases %standard-phases
6645 (add-after 'unpack 'fix-tests
6646 (lambda _
6647 (substitute* "xlunit.asd"
6648 ((" :force t") ""))
6649 #t)))))
6650 (synopsis "Unit testing package for Common Lisp")
6651 (description
6652 "The XLUnit package is a toolkit for building test suites. It is based
6653 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6654 (home-page "http://quickdocs.org/xlunit/")
6655 (license license:bsd-3))))
6656
6657 (define-public cl-xlunit
6658 (sbcl-package->cl-source-package sbcl-xlunit))
6659
6660 (define-public ecl-xlunit
6661 (sbcl-package->ecl-package sbcl-xlunit))
6662
6663 (define-public sbcl-fprog
6664 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6665 (revision "1"))
6666 (package
6667 (name "sbcl-fprog")
6668 (version (git-version "1.0.0" revision commit))
6669 (source
6670 (origin
6671 (method git-fetch)
6672 (uri (git-reference
6673 (url "https://github.com/jwiegley/cambl.git")
6674 (commit commit)))
6675 (file-name (git-file-name name version))
6676 (sha256
6677 (base32
6678 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6679 (build-system asdf-build-system/sbcl)
6680 (synopsis "Functional programming utilities for Common Lisp")
6681 (description
6682 "@code{fprog} is a Common Lisp library allowing iteration over
6683 immutable lists sharing identical sublists.")
6684 (home-page "https://github.com/jwiegley/cambl")
6685 (license license:bsd-3))))
6686
6687 (define-public cl-fprog
6688 (sbcl-package->cl-source-package sbcl-fprog))
6689
6690 (define-public ecl-fprog
6691 (sbcl-package->ecl-package sbcl-fprog))
6692
6693 (define-public sbcl-cambl
6694 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6695 (revision "1"))
6696 (package
6697 (inherit sbcl-fprog)
6698 (name "sbcl-cambl")
6699 (version (git-version "4.0.0" revision commit))
6700 (native-inputs
6701 `(("xlunit" ,sbcl-xlunit)))
6702 (inputs
6703 `(("alexandria" ,sbcl-alexandria)
6704 ("cl-containers" ,sbcl-cl-containers)
6705 ("local-time" ,sbcl-local-time)
6706 ("periods" ,sbcl-periods)
6707 ("fprog" ,sbcl-fprog)))
6708 (synopsis "Commoditized amounts and balances for Common Lisp")
6709 (description
6710 "CAMBL is a Common Lisp library providing a convenient facility for
6711 working with commoditized values. It does not allow compound units (and so is
6712 not suited for scientific operations) but does work rather nicely for the
6713 purpose of financial calculations."))))
6714
6715 (define-public cl-cambl
6716 (sbcl-package->cl-source-package sbcl-cambl))
6717
6718 (define-public ecl-cambl
6719 (sbcl-package->ecl-package sbcl-cambl))
6720
6721 (define-public sbcl-cl-ledger
6722 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6723 (revision "1"))
6724 (package
6725 (name "sbcl-cl-ledger")
6726 (version (git-version "4.0.0" revision commit))
6727 (source
6728 (origin
6729 (method git-fetch)
6730 (uri (git-reference
6731 (url "https://github.com/ledger/cl-ledger.git")
6732 (commit commit)))
6733 (file-name (git-file-name name version))
6734 (sha256
6735 (base32
6736 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6737 (build-system asdf-build-system/sbcl)
6738 (inputs
6739 `(("cambl" ,sbcl-cambl)
6740 ("cl-ppcre" ,sbcl-cl-ppcre)
6741 ("local-time" ,sbcl-local-time)
6742 ("periods-series" ,sbcl-periods-series)))
6743 (arguments
6744 '(#:phases
6745 (modify-phases %standard-phases
6746 (add-after 'unpack 'fix-system-definition
6747 (lambda _
6748 (substitute* "cl-ledger.asd"
6749 ((" :build-operation program-op") "")
6750 ((" :build-pathname \"cl-ledger\"") "")
6751 ((" :entry-point \"ledger::main\"") ""))
6752 #t)))))
6753 (synopsis "Common Lisp port of the Ledger accounting system")
6754 (description
6755 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6756 system.")
6757 (home-page "https://github.com/ledger/cl-ledger")
6758 (license license:bsd-3))))
6759
6760 (define-public cl-ledger
6761 (sbcl-package->cl-source-package sbcl-cl-ledger))
6762
6763 (define-public ecl-cl-ledger
6764 (sbcl-package->ecl-package sbcl-cl-ledger))
6765
6766 (define-public sbcl-bst
6767 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6768 (revision "1"))
6769 (package
6770 (name "sbcl-bst")
6771 (version (git-version "1.1" revision commit))
6772 (source
6773 (origin
6774 (method git-fetch)
6775 (uri (git-reference
6776 (url "https://github.com/glv2/bst.git")
6777 (commit commit)))
6778 (file-name (git-file-name name version))
6779 (sha256
6780 (base32
6781 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6782 (build-system asdf-build-system/sbcl)
6783 (native-inputs
6784 `(("alexandria" ,sbcl-alexandria)
6785 ("fiveam" ,sbcl-fiveam)))
6786 (synopsis "Binary search tree for Common Lisp")
6787 (description
6788 "BST is a Common Lisp library for working with binary search trees that
6789 can contain any kind of values.")
6790 (home-page "https://github.com/glv2/bst")
6791 (license license:gpl3))))
6792
6793 (define-public cl-bst
6794 (sbcl-package->cl-source-package sbcl-bst))
6795
6796 (define-public ecl-bst
6797 (sbcl-package->ecl-package sbcl-bst))
6798
6799 (define-public sbcl-cl-octet-streams
6800 (package
6801 (name "sbcl-cl-octet-streams")
6802 (version "1.0")
6803 (source
6804 (origin
6805 (method git-fetch)
6806 (uri (git-reference
6807 (url "https://github.com/glv2/cl-octet-streams.git")
6808 (commit (string-append "v" version))))
6809 (file-name (git-file-name name version))
6810 (sha256
6811 (base32
6812 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6813 (build-system asdf-build-system/sbcl)
6814 (native-inputs
6815 `(("fiveam" ,sbcl-fiveam)))
6816 (inputs
6817 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6818 (synopsis "In-memory octet streams for Common Lisp")
6819 (description
6820 "CL-octet-streams is a library implementing in-memory octet
6821 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6822 cl-plumbing libraries.")
6823 (home-page "https://github.com/glv2/cl-octet-streams")
6824 (license license:gpl3+)))
6825
6826 (define-public cl-octet-streams
6827 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6828
6829 (define-public ecl-cl-octet-streams
6830 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6831
6832 (define-public sbcl-lzlib
6833 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6834 (revision "1"))
6835 (package
6836 (name "sbcl-lzlib")
6837 (version (git-version "1.0" revision commit))
6838 (source
6839 (origin
6840 (method git-fetch)
6841 (uri (git-reference
6842 (url "https://github.com/glv2/cl-lzlib.git")
6843 (commit commit)))
6844 (file-name (git-file-name name version))
6845 (sha256
6846 (base32
6847 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6848 (build-system asdf-build-system/sbcl)
6849 (native-inputs
6850 `(("fiveam" ,sbcl-fiveam)))
6851 (inputs
6852 `(("cffi" ,sbcl-cffi)
6853 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6854 ("lzlib" ,lzlib)))
6855 (arguments
6856 '(#:phases
6857 (modify-phases %standard-phases
6858 (add-after 'unpack 'fix-paths
6859 (lambda* (#:key inputs #:allow-other-keys)
6860 (substitute* "src/lzlib.lisp"
6861 (("liblz\\.so")
6862 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6863 #t)))))
6864 (synopsis "Common Lisp library for lzip (de)compression")
6865 (description
6866 "This Common Lisp library provides functions for lzip (LZMA)
6867 compression/decompression using bindings to the lzlib C library.")
6868 (home-page "https://github.com/glv2/cl-lzlib")
6869 (license license:gpl3+))))
6870
6871 (define-public cl-lzlib
6872 (sbcl-package->cl-source-package sbcl-lzlib))
6873
6874 (define-public ecl-lzlib
6875 (sbcl-package->ecl-package sbcl-lzlib))
6876
6877 (define-public sbcl-chanl
6878 (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
6879 (revision "0"))
6880 (package
6881 (name "sbcl-chanl")
6882 (version (git-version "0.4.1" revision commit))
6883 (source
6884 (origin
6885 (method git-fetch)
6886 (uri (git-reference
6887 (url "https://github.com/zkat/chanl.git")
6888 (commit commit)))
6889 (file-name (git-file-name name version))
6890 (sha256
6891 (base32
6892 "0ag3wz7yrqwp0s5069wwda98z3rrqd25spg8sa8rdqghj084w28w"))))
6893 (build-system asdf-build-system/sbcl)
6894 (native-inputs
6895 `(("fiveam" ,sbcl-fiveam)))
6896 (inputs
6897 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6898 (synopsis "Portable channel-based concurrency for Common Lisp")
6899 (description "Common Lisp library for channel-based concurrency. In
6900 a nutshell, you create various threads sequentially executing tasks you need
6901 done, and use channel objects to communicate and synchronize the state of these
6902 threads.")
6903 (home-page "https://github.com/zkat/chanl")
6904 (license (list license:expat license:bsd-3)))))
6905
6906 (define-public cl-chanl
6907 (sbcl-package->cl-source-package sbcl-chanl))
6908
6909 (define-public ecl-chanl
6910 (let ((base (sbcl-package->ecl-package sbcl-chanl)))
6911 (package
6912 (inherit base)
6913 (arguments
6914 (substitute-keyword-arguments (package-arguments base)
6915 ;; The CHANL.ACTORS package uses the :ARGUMENTS option of
6916 ;; DEFINE-METHOD-COMBINATION, which is not implemented in ECL yet
6917 ;; (see https://gitlab.com/embeddable-common-lisp/ecl/issues/305).
6918 ;; So let's disable it for now, as it allows compiling the library
6919 ;; and using the rest of it.
6920 ((#:phases phases '%standard-phases)
6921 `(modify-phases ,phases
6922 (add-after 'unpack 'disable-chanl-actors
6923 (lambda _
6924 (substitute* "chanl.asd"
6925 (("\\(:file \"actors\"\\)") ""))
6926 #t))))
6927 ;; Disable the tests for now, as the SEND-SEQUENCE test seems to
6928 ;; never end.
6929 ((#:tests? _ #f) #f))))))
6930
6931 (define-public sbcl-cl-store
6932 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6933 (revision "1"))
6934 (package
6935 (name "sbcl-cl-store")
6936 (version (git-version "0.8.11" revision commit))
6937 (source
6938 (origin
6939 (method git-fetch)
6940 (uri (git-reference
6941 (url "https://github.com/skypher/cl-store.git")
6942 (commit commit)))
6943 (file-name (git-file-name name version))
6944 (sha256
6945 (base32
6946 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6947 (build-system asdf-build-system/sbcl)
6948 (native-inputs
6949 `(("rt" ,sbcl-rt)))
6950 (synopsis "Common Lisp library to serialize data")
6951 (description
6952 "CL-STORE is a portable serialization package which should give you the
6953 ability to store all Common Lisp data types into streams.")
6954 (home-page "https://www.common-lisp.net/project/cl-store/")
6955 (license license:expat))))
6956
6957 (define-public cl-store
6958 (sbcl-package->cl-source-package sbcl-cl-store))
6959
6960 (define-public ecl-cl-store
6961 (sbcl-package->ecl-package sbcl-cl-store))
6962
6963 (define-public sbcl-cl-gobject-introspection
6964 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6965 (revision "0"))
6966 (package
6967 (name "sbcl-cl-gobject-introspection")
6968 (version (git-version "0.3" revision commit))
6969 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6970 (source
6971 (origin
6972 (method git-fetch)
6973 (uri (git-reference
6974 (url home-page)
6975 (commit commit)))
6976 (file-name (git-file-name name version))
6977 (sha256
6978 (base32
6979 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
6980 (build-system asdf-build-system/sbcl)
6981 (inputs
6982 `(("alexandria" ,sbcl-alexandria)
6983 ("cffi" ,sbcl-cffi)
6984 ("iterate" ,sbcl-iterate)
6985 ("trivial-garbage" ,sbcl-trivial-garbage)
6986 ("glib" ,glib)
6987 ("gobject-introspection" ,gobject-introspection)))
6988 (native-inputs
6989 `(("fiveam" ,sbcl-fiveam)))
6990 (arguments
6991 ;; TODO: Tests fail, see
6992 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
6993 '(#:tests? #f
6994 #:phases
6995 (modify-phases %standard-phases
6996 (add-after (quote unpack) (quote fix-paths)
6997 (lambda* (#:key inputs #:allow-other-keys)
6998 (substitute* "src/init.lisp"
6999 (("libgobject-2\\.0\\.so")
7000 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7001 (("libgirepository-1\\.0\\.so")
7002 (string-append (assoc-ref inputs "gobject-introspection")
7003 "/lib/libgirepository-1.0.so")))
7004 #t)))))
7005 (synopsis "Common Lisp bindings to GObject Introspection")
7006 (description
7007 "This library is a bridge between Common Lisp and GObject
7008 Introspection, which enables Common Lisp programs to access the full interface
7009 of C+GObject libraries without the need of writing dedicated bindings.")
7010 (license (list license:bsd-3
7011 ;; Tests are under a different license.
7012 license:llgpl)))))
7013
7014 (define-public cl-gobject-introspection
7015 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7016
7017 (define-public sbcl-string-case
7018 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7019 (revision "0"))
7020 (package
7021 (name "sbcl-string-case")
7022 (version (git-version "0.0.2" revision commit))
7023 (home-page "https://github.com/pkhuong/string-case")
7024 (source
7025 (origin
7026 (method git-fetch)
7027 (uri (git-reference
7028 (url home-page)
7029 (commit commit)))
7030 (file-name (git-file-name name version))
7031 (sha256
7032 (base32
7033 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7034 (build-system asdf-build-system/sbcl)
7035 (synopsis "Efficient string= case in Common Lisp")
7036 (description
7037 "@code{string-case} is a Common Lisp macro that generates specialised decision
7038 trees to dispatch on string equality.")
7039 (license license:bsd-3))))
7040
7041 (define-public cl-string-case
7042 (sbcl-package->cl-source-package sbcl-string-case))
7043
7044 (define-public ecl-string-case
7045 (sbcl-package->ecl-package sbcl-string-case))
7046
7047 (define-public sbcl-global-vars
7048 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7049 (revision "0"))
7050 (package
7051 (name "sbcl-global-vars")
7052 (version (git-version "1.0.0" revision commit))
7053 (home-page "https://github.com/lmj/global-vars")
7054 (source
7055 (origin
7056 (method git-fetch)
7057 (uri (git-reference
7058 (url home-page)
7059 (commit commit)))
7060 (file-name (git-file-name name version))
7061 (sha256
7062 (base32
7063 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7064 (build-system asdf-build-system/sbcl)
7065 (synopsis "Efficient global variables in Common Lisp")
7066 (description
7067 "In Common Lisp, a special variable that is never dynamically bound
7068 typically serves as a stand-in for a global variable. The @code{global-vars}
7069 library provides true global variables that are implemented by some compilers.
7070 An attempt to rebind a global variable properly results in a compiler error.
7071 That is, a global variable cannot be dynamically bound.
7072
7073 Global variables therefore allow us to communicate an intended usage that
7074 differs from special variables. Global variables are also more efficient than
7075 special variables, especially in the presence of threads.")
7076 (license license:expat))))
7077
7078 (define-public cl-global-vars
7079 (sbcl-package->cl-source-package sbcl-global-vars))
7080
7081 (define-public ecl-global-vars
7082 (sbcl-package->ecl-package sbcl-global-vars))
7083
7084 (define-public sbcl-trivial-file-size
7085 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7086 (revision "0"))
7087 (package
7088 (name "sbcl-trivial-file-size")
7089 (version (git-version "0.0.0" revision commit))
7090 (home-page "https://github.com/ruricolist/trivial-file-size")
7091 (source
7092 (origin
7093 (method git-fetch)
7094 (uri (git-reference
7095 (url home-page)
7096 (commit commit)))
7097 (file-name (git-file-name name version))
7098 (sha256
7099 (base32
7100 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7101 (build-system asdf-build-system/sbcl)
7102 (native-inputs
7103 `(("fiveam" ,sbcl-fiveam)))
7104 (synopsis "Size of a file in bytes in Common Lisp")
7105 (description
7106 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7107 is to open the file with an element type of (unsigned-byte 8) and then
7108 calculate the length of the stream. This is less than ideal. In most cases
7109 it is better to get the size of the file from its metadata, using a system
7110 call.
7111
7112 This library exports a single function, file-size-in-octets. It returns the
7113 size of a file in bytes, using system calls when possible.")
7114 (license license:expat))))
7115
7116 (define-public cl-trivial-file-size
7117 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7118
7119 (define-public ecl-trivial-file-size
7120 (sbcl-package->ecl-package sbcl-trivial-file-size))
7121
7122 (define-public sbcl-trivial-macroexpand-all
7123 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7124 (revision "0"))
7125 (package
7126 (name "sbcl-trivial-macroexpand-all")
7127 (version (git-version "0.0.0" revision commit))
7128 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7129 (source
7130 (origin
7131 (method git-fetch)
7132 (uri (git-reference
7133 (url home-page)
7134 (commit commit)))
7135 (file-name (git-file-name name version))
7136 (sha256
7137 (base32
7138 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7139 (build-system asdf-build-system/sbcl)
7140 (native-inputs
7141 `(("fiveam" ,sbcl-fiveam)))
7142 (synopsis "Portable macroexpand-all for Common Lisp")
7143 (description
7144 "This library provides a macroexpand-all function that calls the
7145 implementation specific equivalent.")
7146 (license license:unlicense))))
7147
7148 (define-public cl-trivial-macroexpand-all
7149 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7150
7151 (define-public ecl-trivial-macroexpand-all
7152 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7153
7154 (define-public sbcl-serapeum
7155 (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
7156 (revision "0"))
7157 (package
7158 (name "sbcl-serapeum")
7159 (version (git-version "0.0.0" revision commit))
7160 (home-page "https://github.com/ruricolist/serapeum")
7161 (source
7162 (origin
7163 (method git-fetch)
7164 (uri (git-reference
7165 (url home-page)
7166 (commit commit)))
7167 (file-name (git-file-name name version))
7168 (sha256
7169 (base32
7170 "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
7171 (build-system asdf-build-system/sbcl)
7172 (inputs
7173 `(("alexandria" ,sbcl-alexandria)
7174 ("trivia" ,sbcl-trivia)
7175 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7176 ("split-sequence" ,sbcl-split-sequence)
7177 ("string-case" ,sbcl-string-case)
7178 ("parse-number" ,sbcl-parse-number)
7179 ("trivial-garbage" ,sbcl-trivial-garbage)
7180 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7181 ("named-readtables" ,sbcl-named-readtables)
7182 ("fare-quasiquote-extras" ,cl-fare-quasiquote-extras)
7183 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7184 ("global-vars" ,sbcl-global-vars)
7185 ("trivial-file-size" ,sbcl-trivial-file-size)
7186 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7187 (native-inputs
7188 `(("fiveam" ,sbcl-fiveam)
7189 ("local-time" ,sbcl-local-time)))
7190 (arguments
7191 '(#:phases
7192 (modify-phases %standard-phases
7193 (add-after 'unpack 'disable-failing-tests
7194 (lambda* (#:key inputs #:allow-other-keys)
7195 (substitute* "serapeum.asd"
7196 ;; Guix does not have Quicklisp, and probably never will.
7197 (("\\(:file \"quicklisp\"\\)") ""))
7198 #t)))))
7199 (synopsis "Common Lisp utility library beyond Alexandria")
7200 (description
7201 "Serapeum is a conservative library of Common Lisp utilities. It is a
7202 supplement, not a competitor, to Alexandria.")
7203 (license license:expat))))
7204
7205 (define-public cl-serapeum
7206 (sbcl-package->cl-source-package sbcl-serapeum))
7207
7208 (define-public sbcl-arrows
7209 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7210 (revision "0"))
7211 (package
7212 (name "sbcl-arrows")
7213 (version (git-version "0.2.0" revision commit))
7214 (source
7215 (origin
7216 (method git-fetch)
7217 (uri (git-reference
7218 (url "https://gitlab.com/Harleqin/arrows.git")
7219 (commit commit)))
7220 (file-name (git-file-name name version))
7221 (sha256
7222 (base32
7223 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7224 (build-system asdf-build-system/sbcl)
7225 (native-inputs
7226 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7227 (synopsis "Clojure-like arrow macros for Common Lisp")
7228 (description
7229 "This library implements the @code{->} and @code{->>} macros from
7230 Clojure, as well as several expansions on the idea.")
7231 (home-page "https://gitlab.com/Harleqin/arrows")
7232 (license license:public-domain))))
7233
7234 (define-public cl-arrows
7235 (sbcl-package->cl-source-package sbcl-arrows))
7236
7237 (define-public ecl-arrows
7238 (sbcl-package->ecl-package sbcl-arrows))
7239
7240 (define-public sbcl-simple-parallel-tasks
7241 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7242 (revision "0"))
7243 (package
7244 (name "sbcl-simple-parallel-tasks")
7245 (version (git-version "1.0" revision commit))
7246 (source
7247 (origin
7248 (method git-fetch)
7249 (uri (git-reference
7250 (url "https://github.com/glv2/simple-parallel-tasks.git")
7251 (commit commit)))
7252 (file-name (git-file-name name version))
7253 (sha256
7254 (base32
7255 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7256 (build-system asdf-build-system/sbcl)
7257 (native-inputs
7258 `(("fiveam" ,sbcl-fiveam)))
7259 (inputs
7260 `(("chanl" ,sbcl-chanl)))
7261 (synopsis "Common Lisp library to evaluate some forms in parallel")
7262 (description "This is a simple Common Lisp library to evaluate some
7263 forms in parallel.")
7264 (home-page "https://github.com/glv2/simple-parallel-tasks")
7265 (license license:gpl3))))
7266
7267 (define-public cl-simple-parallel-tasks
7268 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7269
7270 (define-public ecl-simple-parallel-tasks
7271 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7272
7273 (define-public sbcl-cl-heap
7274 (package
7275 (name "sbcl-cl-heap")
7276 (version "0.1.6")
7277 (source
7278 (origin
7279 (method url-fetch)
7280 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7281 "cl-heap_" version ".tar.gz"))
7282 (sha256
7283 (base32
7284 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7285 (build-system asdf-build-system/sbcl)
7286 (native-inputs
7287 `(("xlunit" ,sbcl-xlunit)))
7288 (arguments
7289 `(#:test-asd-file "cl-heap-tests.asd"))
7290 (synopsis "Heap and priority queue data structures for Common Lisp")
7291 (description
7292 "CL-HEAP provides various implementations of heap data structures (a
7293 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7294 (home-page "https://common-lisp.net/project/cl-heap/")
7295 (license license:gpl3+)))
7296
7297 (define-public cl-heap
7298 (sbcl-package->cl-source-package sbcl-cl-heap))
7299
7300 (define-public ecl-cl-heap
7301 (sbcl-package->ecl-package sbcl-cl-heap))
7302
7303 (define-public sbcl-curry-compose-reader-macros
7304 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7305 (revision "0"))
7306 (package
7307 (name "sbcl-curry-compose-reader-macros")
7308 (version (git-version "1.0.0" revision commit))
7309 (source
7310 (origin
7311 (method git-fetch)
7312 (uri
7313 (git-reference
7314 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7315 (commit commit)))
7316 (file-name (git-file-name name version))
7317 (sha256
7318 (base32
7319 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7320 (build-system asdf-build-system/sbcl)
7321 (inputs
7322 `(("alexandria" ,sbcl-alexandria)
7323 ("named-readtables" ,sbcl-named-readtables)))
7324 (synopsis "Reader macros for partial application and composition")
7325 (description
7326 "This Common Lisp library provides reader macros for concise expression
7327 of function partial application and composition.")
7328 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7329 (license license:public-domain))))
7330
7331 (define-public cl-curry-compose-reader-macros
7332 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7333
7334 (define-public ecl-curry-compose-reader-macros
7335 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7336
7337 (define-public sbcl-yason
7338 (package
7339 (name "sbcl-yason")
7340 (version "0.7.7")
7341 (source
7342 (origin
7343 (method git-fetch)
7344 (uri (git-reference
7345 (url "https://github.com/phmarek/yason.git")
7346 (commit (string-append "v" version))))
7347 (file-name (git-file-name name version))
7348 (sha256
7349 (base32
7350 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7351 (build-system asdf-build-system/sbcl)
7352 (inputs
7353 `(("alexandria" ,sbcl-alexandria)
7354 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7355 (synopsis "Common Lisp JSON parser/encoder")
7356 (description
7357 "YASON is a Common Lisp library for encoding and decoding data in the
7358 JSON interchange format.")
7359 (home-page "https://github.com/phmarek/yason")
7360 (license license:bsd-3)))
7361
7362 (define-public cl-yason
7363 (sbcl-package->cl-source-package sbcl-yason))
7364
7365 (define-public ecl-yason
7366 (sbcl-package->ecl-package sbcl-yason))
7367
7368 (define-public sbcl-stefil
7369 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7370 (revision "0"))
7371 (package
7372 (name "sbcl-stefil")
7373 (version (git-version "0.1" revision commit))
7374 (source
7375 (origin
7376 (method git-fetch)
7377 (uri (git-reference
7378 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7379 (commit commit)))
7380 (file-name (git-file-name name version))
7381 (sha256
7382 (base32
7383 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7384 (build-system asdf-build-system/sbcl)
7385 (inputs
7386 `(("alexandria" ,sbcl-alexandria)
7387 ("iterate" ,sbcl-iterate)
7388 ("metabang-bind" ,sbcl-metabang-bind)))
7389 (propagated-inputs
7390 ;; Swank doesn't have a pre-compiled package, therefore we must
7391 ;; propagate its sources.
7392 `(("swank" ,cl-slime-swank)))
7393 (arguments
7394 '(#:phases
7395 (modify-phases %standard-phases
7396 (add-after 'unpack 'drop-unnecessary-dependency
7397 (lambda _
7398 (substitute* "package.lisp"
7399 ((":stefil-system") ""))
7400 #t)))))
7401 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7402 (synopsis "Simple test framework")
7403 (description
7404 "Stefil is a simple test framework for Common Lisp, with a focus on
7405 interactive development.")
7406 (license license:public-domain))))
7407
7408 (define-public cl-stefil
7409 (sbcl-package->cl-source-package sbcl-stefil))
7410
7411 (define-public sbcl-graph
7412 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7413 (revision "0"))
7414 (package
7415 (name "sbcl-graph")
7416 (version (git-version "0.0.0" revision commit))
7417 (source
7418 (origin
7419 (method git-fetch)
7420 (uri
7421 (git-reference
7422 (url "https://github.com/eschulte/graph.git")
7423 (commit commit)))
7424 (file-name (git-file-name name version))
7425 (sha256
7426 (base32
7427 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7428 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7429 (build-system asdf-build-system/sbcl)
7430 (native-inputs
7431 `(("stefil" ,sbcl-stefil)))
7432 (inputs
7433 `(("alexandria" ,sbcl-alexandria)
7434 ("cl-heap" ,sbcl-cl-heap)
7435 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7436 ("metabang-bind" ,sbcl-metabang-bind)
7437 ("named-readtables" ,sbcl-named-readtables)))
7438 (arguments
7439 '(#:test-asd-file "graph-test.asd"))
7440 (synopsis "Graph data structure and algorithms for Common Lisp")
7441 (description
7442 "The GRAPH Common Lisp library provides a data structures to represent
7443 graphs, as well as some graph manipulation and analysis algorithms (shortest
7444 path, maximum flow, minimum spanning tree, etc.).")
7445 (home-page "https://eschulte.github.io/graph/")
7446 (license license:gpl3+))))
7447
7448 (define-public cl-graph
7449 (sbcl-package->cl-source-package sbcl-graph))
7450
7451 (define-public sbcl-graph-dot
7452 (package
7453 (inherit sbcl-graph)
7454 (name "sbcl-graph-dot")
7455 (inputs
7456 `(("alexandria" ,sbcl-alexandria)
7457 ("cl-ppcre" ,sbcl-cl-ppcre)
7458 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7459 ("graph" ,sbcl-graph)
7460 ("metabang-bind" ,sbcl-metabang-bind)
7461 ("named-readtables" ,sbcl-named-readtables)))
7462 (arguments
7463 (substitute-keyword-arguments (package-arguments sbcl-graph)
7464 ((#:asd-file _ "") "graph-dot.asd")
7465 ((#:asd-system-name _ #f) "graph-dot")))
7466 (synopsis "Serialize graphs to and from DOT format")))
7467
7468 (define-public sbcl-graph-json
7469 (package
7470 (inherit sbcl-graph)
7471 (name "sbcl-graph-json")
7472 (inputs
7473 `(("alexandria" ,sbcl-alexandria)
7474 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7475 ("graph" ,sbcl-graph)
7476 ("metabang-bind" ,sbcl-metabang-bind)
7477 ("named-readtables" ,sbcl-named-readtables)
7478 ("yason" ,sbcl-yason)))
7479 (arguments
7480 (substitute-keyword-arguments (package-arguments sbcl-graph)
7481 ((#:asd-file _ "") "graph-json.asd")
7482 ((#:asd-system-name _ #f) "graph-json")))
7483 (synopsis "Serialize graphs to and from JSON format")))
7484
7485 (define-public sbcl-trivial-indent
7486 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7487 (revision "0"))
7488 (package
7489 (name "sbcl-trivial-indent")
7490 (version (git-version "1.0.0" revision commit))
7491 (source
7492 (origin
7493 (method git-fetch)
7494 (uri
7495 (git-reference
7496 (url "https://github.com/Shinmera/trivial-indent")
7497 (commit commit)))
7498 (file-name (git-file-name name version))
7499 (sha256
7500 (base32
7501 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7502 (build-system asdf-build-system/sbcl)
7503 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7504 (description
7505 "This library allows you to define custom indentation hints for your
7506 macros if the one recognised by SLIME automatically produces unwanted
7507 results.")
7508 (home-page "https://shinmera.github.io/trivial-indent/")
7509 (license license:zlib))))
7510
7511 (define-public cl-trivial-indent
7512 (sbcl-package->cl-source-package sbcl-trivial-indent))
7513
7514 (define-public sbcl-documentation-utils
7515 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7516 (revision "0"))
7517 (package
7518 (name "sbcl-documentation-utils")
7519 (version (git-version "1.2.0" revision commit))
7520 (source
7521 (origin
7522 (method git-fetch)
7523 (uri
7524 (git-reference
7525 (url "https://github.com/Shinmera/documentation-utils.git")
7526 (commit commit)))
7527 (file-name (git-file-name name version))
7528 (sha256
7529 (base32
7530 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7531 (build-system asdf-build-system/sbcl)
7532 (inputs
7533 `(("trivial-indent" ,sbcl-trivial-indent)))
7534 (synopsis "Few simple tools to document Common Lisp libraries")
7535 (description
7536 "This is a small library to help you with managing the Common Lisp
7537 docstrings for your library.")
7538 (home-page "https://shinmera.github.io/documentation-utils/")
7539 (license license:zlib))))
7540
7541 (define-public cl-documentation-utils
7542 (sbcl-package->cl-source-package sbcl-documentation-utils))
7543
7544 (define-public sbcl-form-fiddle
7545 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7546 (revision "0"))
7547 (package
7548 (name "sbcl-form-fiddle")
7549 (version (git-version "1.1.0" revision commit))
7550 (source
7551 (origin
7552 (method git-fetch)
7553 (uri
7554 (git-reference
7555 (url "https://github.com/Shinmera/form-fiddle")
7556 (commit commit)))
7557 (file-name (git-file-name name version))
7558 (sha256
7559 (base32
7560 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7561 (build-system asdf-build-system/sbcl)
7562 (inputs
7563 `(("documentation-utils" ,sbcl-documentation-utils)))
7564 (synopsis "Utilities to destructure Common Lisp lambda forms")
7565 (description
7566 "Often times we need to destructure a form definition in a Common Lisp
7567 macro. This library provides a set of simple utilities to help with that.")
7568 (home-page "https://shinmera.github.io/form-fiddle/")
7569 (license license:zlib))))
7570
7571 (define-public cl-form-fiddle
7572 (sbcl-package->cl-source-package sbcl-form-fiddle))
7573
7574 (define-public sbcl-parachute
7575 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7576 (revision "0"))
7577 (package
7578 (name "sbcl-parachute")
7579 (version (git-version "1.1.1" revision commit))
7580 (source
7581 (origin
7582 (method git-fetch)
7583 (uri
7584 (git-reference
7585 (url "https://github.com/Shinmera/parachute")
7586 (commit commit)))
7587 (file-name (git-file-name name version))
7588 (sha256
7589 (base32
7590 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7591 (build-system asdf-build-system/sbcl)
7592 (inputs
7593 `(("documentation-utils" ,sbcl-documentation-utils)
7594 ("form-fiddle" ,sbcl-form-fiddle)))
7595 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7596 (description
7597 "Parachute is a simple-to-use and extensible testing framework.
7598 In Parachute, things are organised as a bunch of named tests within a package.
7599 Each test can contain a bunch of test forms that make up its body.")
7600 (home-page "https://shinmera.github.io/parachute/")
7601 (license license:zlib))))
7602
7603 (define-public cl-parachute
7604 (sbcl-package->cl-source-package sbcl-parachute))
7605
7606 (define-public sbcl-array-utils
7607 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7608 (revision "0"))
7609 (package
7610 (name "sbcl-array-utils")
7611 (version (git-version "1.1.1" revision commit))
7612 (source
7613 (origin
7614 (method git-fetch)
7615 (uri
7616 (git-reference
7617 (url "https://github.com/Shinmera/array-utils")
7618 (commit commit)))
7619 (file-name (git-file-name name version))
7620 (sha256
7621 (base32
7622 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7623 (build-system asdf-build-system/sbcl)
7624 (native-inputs
7625 `(("parachute" ,sbcl-parachute)))
7626 (inputs
7627 `(("documentation-utils" ,sbcl-documentation-utils)))
7628 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7629 (description
7630 "A miniature toolkit that contains some useful shifting/popping/pushing
7631 functions for arrays and vectors. Originally from Plump.")
7632 (home-page "https://shinmera.github.io/array-utils/")
7633 (license license:zlib))))
7634
7635 (define-public cl-array-utils
7636 (sbcl-package->cl-source-package sbcl-array-utils))
7637
7638 (define-public sbcl-plump
7639 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7640 (revision "0"))
7641 (package
7642 (name "sbcl-plump")
7643 (version (git-version "2.0.0" revision commit))
7644 (source
7645 (origin
7646 (method git-fetch)
7647 (uri
7648 (git-reference
7649 (url "https://github.com/Shinmera/plump")
7650 (commit commit)))
7651 (file-name (git-file-name name version))
7652 (sha256
7653 (base32
7654 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7655 (build-system asdf-build-system/sbcl)
7656 (inputs
7657 `(("array-utils" ,sbcl-array-utils)
7658 ("documentation-utils" ,sbcl-documentation-utils)))
7659 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7660 (description
7661 "Plump is a parser for HTML/XML-like documents, focusing on being
7662 lenient towards invalid markup. It can handle things like invalid attributes,
7663 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7664 tags and so on. It parses documents to a class representation and offers a
7665 small set of DOM functions to manipulate it. It can be extended to parse to
7666 your own classes.")
7667 (home-page "https://shinmera.github.io/plump/")
7668 (license license:zlib))))
7669
7670 (define-public cl-plump
7671 (sbcl-package->cl-source-package sbcl-plump))
7672
7673 (define-public sbcl-antik-base
7674 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7675 (revision "1"))
7676 (package
7677 (name "sbcl-antik-base")
7678 (version (git-version "0.0.0" revision commit))
7679 (source
7680 (origin
7681 (method git-fetch)
7682 (uri (git-reference
7683 (url "https://gitlab.common-lisp.net/antik/antik.git")
7684 (commit commit)))
7685 (file-name (git-file-name name version))
7686 (sha256
7687 (base32
7688 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7689 (build-system asdf-build-system/sbcl)
7690 (inputs
7691 `(("alexandria" ,sbcl-alexandria)
7692 ("cl-ppcre" ,sbcl-cl-ppcre)
7693 ("iterate" ,sbcl-iterate)
7694 ("metabang-bind" ,sbcl-metabang-bind)
7695 ("named-readtables" ,sbcl-named-readtables)
7696 ("split-sequence" ,sbcl-split-sequence)))
7697 (native-inputs
7698 `(("lisp-unit" ,sbcl-lisp-unit)))
7699 (synopsis "Scientific and engineering computation in Common Lisp")
7700 (description
7701 "Antik provides a foundation for scientific and engineering
7702 computation in Common Lisp. It is designed not only to facilitate
7703 numerical computations, but to permit the use of numerical computation
7704 libraries and the interchange of data and procedures, whether
7705 foreign (non-Lisp) or Lisp libraries. It is named after the
7706 Antikythera mechanism, one of the oldest examples of a scientific
7707 computer known.")
7708 (home-page "https://common-lisp.net/project/antik/")
7709 (license license:gpl3))))
7710
7711 (define-public cl-antik-base
7712 (sbcl-package->cl-source-package sbcl-antik-base))
7713
7714 (define-public ecl-antik-base
7715 (sbcl-package->ecl-package sbcl-antik-base))
7716
7717 (define-public sbcl-foreign-array
7718 (package
7719 (inherit sbcl-antik-base)
7720 (name "sbcl-foreign-array")
7721 (arguments
7722 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7723 ((#:asd-file _ "") "foreign-array.asd")
7724 ((#:asd-system-name _ #f) "foreign-array")))
7725 (inputs
7726 `(("antik-base" ,sbcl-antik-base)
7727 ("cffi" ,sbcl-cffi)
7728 ("trivial-garbage" ,sbcl-trivial-garbage)
7729 ("static-vectors" ,sbcl-static-vectors)))
7730 (synopsis "Common Lisp library providing access to foreign arrays")))
7731
7732 (define-public cl-foreign-array
7733 (sbcl-package->cl-source-package sbcl-foreign-array))
7734
7735 (define-public ecl-foreign-array
7736 (sbcl-package->ecl-package sbcl-foreign-array))
7737
7738 (define-public sbcl-physical-dimension
7739 (package
7740 (inherit sbcl-antik-base)
7741 (name "sbcl-physical-dimension")
7742 (inputs
7743 `(("fare-utils" ,sbcl-fare-utils)
7744 ("foreign-array" ,sbcl-foreign-array)
7745 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7746 (arguments
7747 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7748 ((#:asd-file _ "") "physical-dimension.asd")
7749 ((#:asd-system-name _ #f) "physical-dimension")))
7750 (synopsis
7751 "Common Lisp library providing computations with physical units")))
7752
7753 (define-public cl-physical-dimension
7754 (sbcl-package->cl-source-package sbcl-physical-dimension))
7755
7756 (define-public sbcl-science-data
7757 (package
7758 (inherit sbcl-antik-base)
7759 (name "sbcl-science-data")
7760 (inputs
7761 `(("physical-dimension" ,sbcl-physical-dimension)
7762 ("drakma" ,sbcl-drakma)))
7763 (arguments
7764 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7765 ((#:asd-file _ "") "science-data.asd")
7766 ((#:asd-system-name _ #f) "science-data")))
7767 (synopsis
7768 "Common Lisp library for scientific and engineering numerical data")))
7769
7770 (define-public cl-science-data
7771 (sbcl-package->cl-source-package sbcl-science-data))
7772
7773 (define-public sbcl-gsll
7774 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7775 (revision "1"))
7776 (package
7777 (name "sbcl-gsll")
7778 (version (git-version "0.0.0" revision commit))
7779 (source
7780 (origin
7781 (method git-fetch)
7782 (uri (git-reference
7783 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7784 (commit commit)))
7785 (file-name (git-file-name name version))
7786 (sha256
7787 (base32
7788 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7789 (build-system asdf-build-system/sbcl)
7790 (native-inputs
7791 `(("lisp-unit" ,sbcl-lisp-unit)))
7792 (inputs
7793 `(("alexandria" ,sbcl-alexandria)
7794 ("cffi-grovel" ,sbcl-cffi-grovel)
7795 ("cffi-libffi" ,sbcl-cffi-libffi)
7796 ("foreign-array" ,sbcl-foreign-array)
7797 ("gsl" ,gsl)
7798 ("metabang-bind" ,sbcl-metabang-bind)
7799 ("trivial-features" ,sbcl-trivial-features)
7800 ("trivial-garbage" ,sbcl-trivial-garbage)))
7801 (arguments
7802 `(#:tests? #f
7803 #:phases
7804 (modify-phases %standard-phases
7805 (add-after 'unpack 'fix-cffi-paths
7806 (lambda* (#:key inputs #:allow-other-keys)
7807 (substitute* "gsll.asd"
7808 ((":depends-on \\(#:foreign-array")
7809 ":depends-on (#:foreign-array #:cffi-libffi"))
7810 (substitute* "init/init.lisp"
7811 (("libgslcblas.so" all)
7812 (string-append
7813 (assoc-ref inputs "gsl") "/lib/" all)))
7814 (substitute* "init/init.lisp"
7815 (("libgsl.so" all)
7816 (string-append
7817 (assoc-ref inputs "gsl") "/lib/" all))))))))
7818 (synopsis "GNU Scientific Library for Lisp")
7819 (description
7820 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7821 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7822 full range of common mathematical operations useful to scientific and
7823 engineering applications. The design of the GSLL interface is such
7824 that access to most of the GSL library is possible in a Lisp-natural
7825 way; the intent is that the user not be hampered by the restrictions
7826 of the C language in which GSL has been written. GSLL thus provides
7827 interactive use of GSL for getting quick answers, even for someone not
7828 intending to program in Lisp.")
7829 (home-page "https://common-lisp.net/project/gsll/")
7830 (license license:gpl3))))
7831
7832 (define-public cl-gsll
7833 (sbcl-package->cl-source-package sbcl-gsll))
7834
7835 (define-public sbcl-antik
7836 (package
7837 (inherit sbcl-antik-base)
7838 (name "sbcl-antik")
7839 (inputs
7840 `(("gsll" ,sbcl-gsll)
7841 ("physical-dimension" ,sbcl-physical-dimension)))
7842 (arguments
7843 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7844 ((#:asd-file _ "") "antik.asd")
7845 ((#:asd-system-name _ #f) "antik")))))
7846
7847 (define-public cl-antik
7848 (sbcl-package->cl-source-package sbcl-antik))
7849
7850 (define-public sbcl-cl-interpol
7851 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7852 (revision "1"))
7853 (package
7854 (name "sbcl-cl-interpol")
7855 (version (git-version "0.2.6" revision commit))
7856 (source
7857 (origin
7858 (method git-fetch)
7859 (uri (git-reference
7860 (url "https://github.com/edicl/cl-interpol.git")
7861 (commit commit)))
7862 (file-name (git-file-name name version))
7863 (sha256
7864 (base32
7865 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7866 (build-system asdf-build-system/sbcl)
7867 (inputs
7868 `(("cl-unicode" ,sbcl-cl-unicode)
7869 ("named-readtables" ,sbcl-named-readtables)))
7870 (native-inputs
7871 `(("flexi-streams" ,sbcl-flexi-streams)))
7872 (synopsis "String interpolation for Common Lisp")
7873 (description
7874 "CL-INTERPOL is a library for Common Lisp which modifies the
7875 reader so that you can have interpolation within strings similar to
7876 Perl or Unix Shell scripts. It also provides various ways to insert
7877 arbitrary characters into literal strings even if your editor/IDE
7878 doesn't support them.")
7879 (home-page "https://edicl.github.io/cl-interpol/")
7880 (license license:bsd-3))))
7881
7882 (define-public cl-interpol
7883 (sbcl-package->cl-source-package sbcl-cl-interpol))
7884
7885 (define-public ecl-cl-interpol
7886 (sbcl-package->ecl-package sbcl-cl-interpol))
7887
7888 (define sbcl-symbol-munger-boot0
7889 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7890 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7891 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7892 (revision "1"))
7893 (package
7894 (name "sbcl-symbol-munger-boot0")
7895 (version (git-version "0.0.1" revision commit))
7896 (source
7897 (origin
7898 (method git-fetch)
7899 (uri (git-reference
7900 (url "https://github.com/AccelerationNet/symbol-munger.git")
7901 (commit commit)))
7902 (file-name (git-file-name name version))
7903 (sha256
7904 (base32
7905 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7906 (build-system asdf-build-system/sbcl)
7907 (arguments
7908 `(#:asd-file "symbol-munger.asd"
7909 #:asd-system-name "symbol-munger"))
7910 (inputs
7911 `(("iterate" ,sbcl-iterate)
7912 ("alexandria" ,sbcl-alexandria)))
7913 (native-inputs
7914 `(("lisp-unit" ,sbcl-lisp-unit)))
7915 (synopsis
7916 "Capitalization and spacing conversion functions for Common Lisp")
7917 (description
7918 "This is a Common Lisp library to change the capitalization and spacing
7919 of a string or a symbol. It can convert to and from Lisp, english, underscore
7920 and camel-case rules.")
7921 (home-page "https://github.com/AccelerationNet/symbol-munger")
7922 ;; The package declares a BSD license, but all of the license
7923 ;; text is MIT.
7924 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7925 (license license:expat))))
7926
7927 (define sbcl-lisp-unit2-boot0
7928 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7929 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7930 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7931 (revision "1"))
7932 (package
7933 (name "sbcl-lisp-unit2-boot0")
7934 (version (git-version "0.2.0" revision commit))
7935 (source
7936 (origin
7937 (method git-fetch)
7938 (uri (git-reference
7939 (url "https://github.com/AccelerationNet/lisp-unit2.git")
7940 (commit commit)))
7941 (file-name (git-file-name name version))
7942 (sha256
7943 (base32
7944 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7945 (build-system asdf-build-system/sbcl)
7946 (arguments
7947 `(#:asd-file "lisp-unit2.asd"
7948 #:asd-system-name "lisp-unit2"))
7949 (inputs
7950 `(("alexandria" ,sbcl-alexandria)
7951 ("cl-interpol" ,sbcl-cl-interpol)
7952 ("iterate" ,sbcl-iterate)
7953 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
7954 (synopsis "Test Framework for Common Lisp")
7955 (description
7956 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7957 style of JUnit for Java. It is a new version of the lisp-unit library written
7958 by Chris Riesbeck.")
7959 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7960 (license license:expat))))
7961
7962 (define-public sbcl-symbol-munger
7963 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7964 (revision "1"))
7965 (package
7966 (name "sbcl-symbol-munger")
7967 (version (git-version "0.0.1" revision commit))
7968 (source
7969 (origin
7970 (method git-fetch)
7971 (uri (git-reference
7972 (url "https://github.com/AccelerationNet/symbol-munger.git")
7973 (commit commit)))
7974 (file-name (git-file-name name version))
7975 (sha256
7976 (base32
7977 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7978 (build-system asdf-build-system/sbcl)
7979 (inputs
7980 `(("alexandria" ,sbcl-alexandria)
7981 ("iterate" ,sbcl-iterate)))
7982 (native-inputs
7983 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
7984 (synopsis
7985 "Capitalization and spacing conversion functions for Common Lisp")
7986 (description
7987 "This is a Common Lisp library to change the capitalization and spacing
7988 of a string or a symbol. It can convert to and from Lisp, english, underscore
7989 and camel-case rules.")
7990 (home-page "https://github.com/AccelerationNet/symbol-munger")
7991 ;; The package declares a BSD license, but all of the license
7992 ;; text is MIT.
7993 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7994 (license license:expat))))
7995
7996 (define-public cl-symbol-munger
7997 (sbcl-package->cl-source-package sbcl-symbol-munger))
7998
7999 (define-public ecl-symbol-munger
8000 (sbcl-package->ecl-package sbcl-symbol-munger))
8001
8002 (define-public sbcl-lisp-unit2
8003 (package
8004 (inherit sbcl-lisp-unit2-boot0)
8005 (name "sbcl-lisp-unit2")
8006 (inputs
8007 `(("alexandria" ,sbcl-alexandria)
8008 ("cl-interpol" ,sbcl-cl-interpol)
8009 ("iterate" ,sbcl-iterate)
8010 ("symbol-munger" ,sbcl-symbol-munger)))))
8011
8012 (define-public cl-lisp-unit2
8013 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8014
8015 (define-public ecl-lisp-unit2
8016 (sbcl-package->ecl-package sbcl-lisp-unit2))
8017
8018 (define-public sbcl-cl-csv
8019 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8020 (revision "1"))
8021 (package
8022 (name "sbcl-cl-csv")
8023 (version (git-version "1.0.6" revision commit))
8024 (source
8025 (origin
8026 (method git-fetch)
8027 (uri (git-reference
8028 (url "https://github.com/AccelerationNet/cl-csv.git")
8029 (commit commit)))
8030 (file-name (git-file-name name version))
8031 (sha256
8032 (base32
8033 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8034 (build-system asdf-build-system/sbcl)
8035 (arguments
8036 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8037 `(#:tests? #f))
8038 (inputs
8039 `(("alexandria" ,sbcl-alexandria)
8040 ("cl-interpol" ,sbcl-cl-interpol)
8041 ("iterate" ,sbcl-iterate)))
8042 (native-inputs
8043 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8044 (synopsis "Common lisp library for comma-separated values")
8045 (description
8046 "This is a Common Lisp library providing functions to read/write CSV
8047 from/to strings, streams and files.")
8048 (home-page "https://github.com/AccelerationNet/cl-csv")
8049 (license license:bsd-3))))
8050
8051 (define-public cl-csv
8052 (sbcl-package->cl-source-package sbcl-cl-csv))
8053
8054 (define-public ecl-cl-csv
8055 (sbcl-package->ecl-package sbcl-cl-csv))
8056
8057 (define-public sbcl-external-program
8058 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8059 (revision "1"))
8060 (package
8061 (name "sbcl-external-program")
8062 (version (git-version "0.0.6" revision commit))
8063 (source
8064 (origin
8065 (method git-fetch)
8066 (uri (git-reference
8067 (url "https://github.com/sellout/external-program.git")
8068 (commit commit)))
8069 (file-name (git-file-name name version))
8070 (sha256
8071 (base32
8072 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8073 (build-system asdf-build-system/sbcl)
8074 (inputs
8075 `(("trivial-features" ,sbcl-trivial-features)))
8076 (native-inputs
8077 `(("fiveam" ,sbcl-fiveam)))
8078 (synopsis "Common Lisp library for running external programs")
8079 (description
8080 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8081 process. It is an attempt to make the RUN-PROGRAM functionality in
8082 implementations like SBCL and CCL as portable as possible without
8083 sacrificing much in the way of power.")
8084 (home-page "https://github.com/sellout/external-program")
8085 (license license:llgpl))))
8086
8087 (define-public cl-external-program
8088 (sbcl-package->cl-source-package sbcl-external-program))
8089
8090 (define-public ecl-external-program
8091 (sbcl-package->ecl-package sbcl-external-program))
8092
8093 (define sbcl-cl-ana-boot0
8094 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8095 (revision "1"))
8096 (package
8097 (name "sbcl-cl-ana-boot0")
8098 (version (git-version "0.0.0" revision commit))
8099 (source
8100 (origin
8101 (method git-fetch)
8102 (uri (git-reference
8103 (url "https://github.com/ghollisjr/cl-ana.git")
8104 (commit commit)))
8105 (file-name (git-file-name name version))
8106 (sha256
8107 (base32
8108 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8109 (build-system asdf-build-system/sbcl)
8110 (synopsis "Common Lisp data analysis library")
8111 (description
8112 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8113 binned data analysis along with nonlinear least squares fitting and
8114 visualization.")
8115 (home-page "https://github.com/ghollisjr/cl-ana")
8116 (license license:gpl3))))
8117
8118 (define-public sbcl-cl-ana.pathname-utils
8119 (package
8120 (inherit sbcl-cl-ana-boot0)
8121 (name "sbcl-cl-ana.pathname-utils")
8122 (arguments
8123 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8124 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8125 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8126
8127 (define-public cl-ana.pathname-utils
8128 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8129
8130 (define-public ecl-cl-ana.pathname-utils
8131 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
8132
8133 (define-public sbcl-cl-ana.package-utils
8134 (package
8135 (inherit sbcl-cl-ana-boot0)
8136 (name "sbcl-cl-ana.package-utils")
8137 (inputs
8138 `(("alexandria" ,sbcl-alexandria)))
8139 (arguments
8140 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8141 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8142 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8143
8144 (define-public cl-ana.package-utils
8145 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8146
8147 (define-public ecl-cl-ana.package-utils
8148 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
8149
8150 (define-public sbcl-cl-ana.string-utils
8151 (package
8152 (inherit sbcl-cl-ana-boot0)
8153 (name "sbcl-cl-ana.string-utils")
8154 (inputs
8155 `(("split-sequence" ,sbcl-split-sequence)))
8156 (arguments
8157 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8158 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8159 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8160
8161 (define-public cl-ana.string-utils
8162 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8163
8164 (define-public ecl-cl-ana.string-utils
8165 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
8166
8167 (define-public sbcl-cl-ana.functional-utils
8168 (package
8169 (inherit sbcl-cl-ana-boot0)
8170 (name "sbcl-cl-ana.functional-utils")
8171 (arguments
8172 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8173 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8174 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8175
8176 (define-public cl-ana.functional-utils
8177 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8178
8179 (define-public ecl-cl-ana.functional-utils
8180 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
8181
8182 (define-public sbcl-cl-ana.list-utils
8183 (package
8184 (inherit sbcl-cl-ana-boot0)
8185 (name "sbcl-cl-ana.list-utils")
8186 (inputs
8187 `(("alexandria" ,sbcl-alexandria)
8188 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8189 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8190 (arguments
8191 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8192 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8193 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8194
8195 (define-public cl-ana.list-utils
8196 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8197
8198 (define-public ecl-cl-ana.list-utils
8199 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
8200
8201 (define-public sbcl-cl-ana.generic-math
8202 (package
8203 (inherit sbcl-cl-ana-boot0)
8204 (name "sbcl-cl-ana.generic-math")
8205 (inputs
8206 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8207 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8208 (arguments
8209 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8210 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8211 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8212
8213 (define-public cl-ana.generic-math
8214 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8215
8216 (define-public ecl-cl-ana.generic-math
8217 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
8218
8219 (define-public sbcl-cl-ana.math-functions
8220 (package
8221 (inherit sbcl-cl-ana-boot0)
8222 (name "sbcl-cl-ana.math-functions")
8223 (inputs
8224 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8225 ("gsll" ,sbcl-gsll)))
8226 (arguments
8227 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8228 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8229 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8230
8231 (define-public cl-ana.math-functions
8232 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
8233
8234 (define-public sbcl-cl-ana.calculus
8235 (package
8236 (inherit sbcl-cl-ana-boot0)
8237 (name "sbcl-cl-ana.calculus")
8238 (inputs
8239 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8240 (arguments
8241 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8242 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8243 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8244
8245 (define-public cl-ana.calculus
8246 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8247
8248 (define-public ecl-cl-ana.calculus
8249 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
8250
8251 (define-public sbcl-cl-ana.symbol-utils
8252 (package
8253 (inherit sbcl-cl-ana-boot0)
8254 (name "sbcl-cl-ana.symbol-utils")
8255 (inputs
8256 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8257 (arguments
8258 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8259 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8260 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8261
8262 (define-public cl-ana.symbol-utils
8263 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8264
8265 (define-public ecl-cl-ana.symbol-utils
8266 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
8267
8268 (define-public sbcl-cl-ana.macro-utils
8269 (package
8270 (inherit sbcl-cl-ana-boot0)
8271 (name "sbcl-cl-ana.macro-utils")
8272 (inputs
8273 `(("alexandria" ,sbcl-alexandria)
8274 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8275 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8276 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8277 ("split-sequence" ,sbcl-split-sequence)))
8278 (arguments
8279 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8280 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8281 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8282
8283 (define-public cl-ana.macro-utils
8284 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8285
8286 (define-public ecl-cl-ana.macro-utils
8287 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
8288
8289 (define-public sbcl-cl-ana.binary-tree
8290 (package
8291 (inherit sbcl-cl-ana-boot0)
8292 (name "sbcl-cl-ana.binary-tree")
8293 (inputs
8294 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8295 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8296 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8297 (arguments
8298 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8299 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8300 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8301
8302 (define-public cl-ana.binary-tree
8303 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8304
8305 (define-public ecl-cl-ana.binary-tree
8306 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
8307
8308 (define-public sbcl-cl-ana.tensor
8309 (package
8310 (inherit sbcl-cl-ana-boot0)
8311 (name "sbcl-cl-ana.tensor")
8312 (inputs
8313 `(("alexandria" ,sbcl-alexandria)
8314 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8315 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8316 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8317 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8318 (arguments
8319 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8320 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8321 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8322
8323 (define-public cl-ana.tensor
8324 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8325
8326 (define-public ecl-cl-ana.tensor
8327 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
8328
8329 (define-public sbcl-cl-ana.error-propogation
8330 (package
8331 (inherit sbcl-cl-ana-boot0)
8332 (name "sbcl-cl-ana.error-propogation")
8333 (inputs
8334 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8335 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8336 (arguments
8337 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8338 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8339 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8340
8341 (define-public cl-ana.error-propogation
8342 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
8343
8344 (define-public sbcl-cl-ana.quantity
8345 (package
8346 (inherit sbcl-cl-ana-boot0)
8347 (name "sbcl-cl-ana.quantity")
8348 (inputs
8349 `(("alexandria" ,sbcl-alexandria)
8350 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8351 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8352 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8353 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8354 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8355 (arguments
8356 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8357 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8358 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8359
8360 (define-public cl-ana.quantity
8361 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
8362
8363 (define-public sbcl-cl-ana.table
8364 (package
8365 (inherit sbcl-cl-ana-boot0)
8366 (name "sbcl-cl-ana.table")
8367 (inputs
8368 `(("alexandria" ,sbcl-alexandria)
8369 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8370 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8371 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8372 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8373 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8374 (arguments
8375 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8376 ((#:asd-file _ "") "table/cl-ana.table.asd")
8377 ((#:asd-system-name _ #f) "cl-ana.table")))))
8378
8379 (define-public cl-ana.table
8380 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8381
8382 (define-public ecl-cl-ana.table
8383 (sbcl-package->ecl-package sbcl-cl-ana.table))
8384
8385 (define-public sbcl-cl-ana.table-utils
8386 (package
8387 (inherit sbcl-cl-ana-boot0)
8388 (name "sbcl-cl-ana.table-utils")
8389 (inputs
8390 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8391 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8392 ("cl-ana.table" ,sbcl-cl-ana.table)))
8393 (arguments
8394 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8395 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8396 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8397
8398 (define-public cl-ana.table-utils
8399 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8400
8401 (define-public ecl-cl-ana.table-utils
8402 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
8403
8404 (define-public sbcl-cl-ana.hdf-cffi
8405 (package
8406 (inherit sbcl-cl-ana-boot0)
8407 (name "sbcl-cl-ana.hdf-cffi")
8408 (inputs
8409 `(("cffi" ,sbcl-cffi)
8410 ("hdf5" ,hdf5-parallel-openmpi)))
8411 (arguments
8412 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8413 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8414 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8415 ((#:phases phases '%standard-phases)
8416 `(modify-phases ,phases
8417 (add-after 'unpack 'fix-paths
8418 (lambda* (#:key inputs #:allow-other-keys)
8419 (substitute* "hdf-cffi/hdf-cffi.lisp"
8420 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8421 (string-append
8422 (assoc-ref inputs "hdf5")
8423 "/lib/libhdf5.so")))))))))))
8424
8425 (define-public cl-ana.hdf-cffi
8426 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8427
8428 (define-public ecl-cl-ana.hdf-cffi
8429 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
8430
8431 (define-public sbcl-cl-ana.int-char
8432 (package
8433 (inherit sbcl-cl-ana-boot0)
8434 (name "sbcl-cl-ana.int-char")
8435 (arguments
8436 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8437 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8438 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8439
8440 (define-public cl-ana.int-char
8441 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8442
8443 (define-public ecl-cl-ana.int-char
8444 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
8445
8446 (define-public sbcl-cl-ana.memoization
8447 (package
8448 (inherit sbcl-cl-ana-boot0)
8449 (name "sbcl-cl-ana.memoization")
8450 (inputs
8451 `(("alexandria" ,sbcl-alexandria)))
8452 (arguments
8453 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8454 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8455 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8456
8457 (define-public cl-ana.memoization
8458 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8459
8460 (define-public ecl-cl-ana.memoization
8461 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
8462
8463 (define-public sbcl-cl-ana.typespec
8464 (package
8465 (inherit sbcl-cl-ana-boot0)
8466 (name "sbcl-cl-ana.typespec")
8467 (inputs
8468 `(("alexandria" ,sbcl-alexandria)
8469 ("cffi" ,sbcl-cffi)
8470 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8471 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8472 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8473 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8474 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8475 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8476 (arguments
8477 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8478 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8479 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8480
8481 (define-public cl-ana.typespec
8482 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8483
8484 (define-public ecl-cl-ana.typespec
8485 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
8486
8487 (define-public sbcl-cl-ana.hdf-typespec
8488 (package
8489 (inherit sbcl-cl-ana-boot0)
8490 (name "sbcl-cl-ana.hdf-typespec")
8491 (inputs
8492 `(("alexandria" ,sbcl-alexandria)
8493 ("cffi" ,sbcl-cffi)
8494 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8495 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8496 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8497 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8498 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8499 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8500 (arguments
8501 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8502 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8503 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8504
8505 (define-public cl-ana.hdf-typespec
8506 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8507
8508 (define-public ecl-cl-ana.hdf-typespec
8509 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
8510
8511 (define-public sbcl-cl-ana.hdf-utils
8512 (package
8513 (inherit sbcl-cl-ana-boot0)
8514 (name "sbcl-cl-ana.hdf-utils")
8515 (inputs
8516 `(("alexandria" ,sbcl-alexandria)
8517 ("cffi" ,sbcl-cffi)
8518 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8519 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8520 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8521 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8522 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8523 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8524 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8525 (arguments
8526 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8527 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8528 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8529
8530 (define-public cl-ana.hdf-utils
8531 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8532
8533 (define-public ecl-cl-ana.hdf-utils
8534 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
8535
8536 (define-public sbcl-cl-ana.typed-table
8537 (package
8538 (inherit sbcl-cl-ana-boot0)
8539 (name "sbcl-cl-ana.typed-table")
8540 (inputs
8541 `(("alexandria" ,sbcl-alexandria)
8542 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8543 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8544 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8545 ("cl-ana.table" ,sbcl-cl-ana.table)
8546 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8547 (arguments
8548 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8549 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8550 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8551
8552 (define-public cl-ana.typed-table
8553 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8554
8555 (define-public ecl-cl-ana.typed-table
8556 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8557
8558 (define-public sbcl-cl-ana.hdf-table
8559 (package
8560 (inherit sbcl-cl-ana-boot0)
8561 (name "sbcl-cl-ana.hdf-table")
8562 (inputs
8563 `(("alexandria" ,sbcl-alexandria)
8564 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8565 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8566 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8567 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8568 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8569 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8570 ("cl-ana.table" ,sbcl-cl-ana.table)
8571 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8572 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8573 (arguments
8574 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8575 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8576 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8577
8578 (define-public cl-ana.hdf-table
8579 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8580
8581 (define-public ecl-cl-ana.hdf-table
8582 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
8583
8584 (define-public sbcl-cl-ana.gsl-cffi
8585 (package
8586 (inherit sbcl-cl-ana-boot0)
8587 (name "sbcl-cl-ana.gsl-cffi")
8588 (inputs
8589 `(("cffi" ,sbcl-cffi)
8590 ("gsl" ,gsl)))
8591 (arguments
8592 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8593 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8594 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8595 ((#:phases phases '%standard-phases)
8596 `(modify-phases ,phases
8597 (add-after 'unpack 'fix-paths
8598 (lambda* (#:key inputs #:allow-other-keys)
8599 (substitute* "gsl-cffi/gsl-cffi.lisp"
8600 (("define-foreign-library gsl-cffi" all)
8601 (string-append all " (:unix "
8602 (assoc-ref inputs "gsl")
8603 "/lib/libgsl.so)")))))))))))
8604
8605 (define-public cl-ana.gsl-cffi
8606 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8607
8608 (define-public ecl-cl-ana.gsl-cffi
8609 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
8610
8611 (define-public sbcl-cl-ana.ntuple-table
8612 (package
8613 (inherit sbcl-cl-ana-boot0)
8614 (name "sbcl-cl-ana.ntuple-table")
8615 (inputs
8616 `(("alexandria" ,sbcl-alexandria)
8617 ("cffi" ,sbcl-cffi)
8618 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8619 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8620 ("cl-ana.table" ,sbcl-cl-ana.table)
8621 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8622 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8623 ("gsll" ,sbcl-gsll)))
8624 (arguments
8625 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8626 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8627 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8628
8629 (define-public cl-ana.ntuple-table
8630 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
8631
8632 (define-public sbcl-cl-ana.csv-table
8633 (package
8634 (inherit sbcl-cl-ana-boot0)
8635 (name "sbcl-cl-ana.csv-table")
8636 (inputs
8637 `(("alexandria" ,sbcl-alexandria)
8638 ("antik" ,sbcl-antik)
8639 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8640 ("cl-ana.table" ,sbcl-cl-ana.table)
8641 ("cl-csv" ,sbcl-cl-csv)
8642 ("iterate" ,sbcl-iterate)))
8643 (arguments
8644 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8645 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8646 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8647
8648 (define-public cl-ana.csv-table
8649 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
8650
8651 (define-public sbcl-cl-ana.reusable-table
8652 (package
8653 (inherit sbcl-cl-ana-boot0)
8654 (name "sbcl-cl-ana.reusable-table")
8655 (inputs
8656 `(("alexandria" ,sbcl-alexandria)
8657 ("cl-ana.table" ,sbcl-cl-ana.table)))
8658 (arguments
8659 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8660 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8661 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8662
8663 (define-public cl-ana.reusable-table
8664 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8665
8666 (define-public ecl-cl-ana.reusable-table
8667 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
8668
8669 (define-public sbcl-cl-ana.linear-algebra
8670 (package
8671 (inherit sbcl-cl-ana-boot0)
8672 (name "sbcl-cl-ana.linear-algebra")
8673 (inputs
8674 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8675 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8676 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8677 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8678 ("gsll" ,sbcl-gsll)))
8679 (arguments
8680 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8681 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8682 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8683
8684 (define-public cl-ana.linear-algebra
8685 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
8686
8687 (define-public sbcl-cl-ana.lorentz
8688 (package
8689 (inherit sbcl-cl-ana-boot0)
8690 (name "sbcl-cl-ana.lorentz")
8691 (inputs
8692 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8693 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8694 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8695 ("iterate" ,sbcl-iterate)))
8696 (arguments
8697 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8698 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8699 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8700
8701 (define-public cl-ana.lorentz
8702 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
8703
8704 (define-public sbcl-cl-ana.clos-utils
8705 (package
8706 (inherit sbcl-cl-ana-boot0)
8707 (name "sbcl-cl-ana.clos-utils")
8708 (inputs
8709 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8710 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8711 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8712 ("closer-mop" ,sbcl-closer-mop)))
8713 (arguments
8714 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8715 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8716 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8717
8718 (define-public cl-ana.clos-utils
8719 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8720
8721 (define-public ecl-cl-ana.clos-utils
8722 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
8723
8724 (define-public sbcl-cl-ana.hash-table-utils
8725 (package
8726 (inherit sbcl-cl-ana-boot0)
8727 (name "sbcl-cl-ana.hash-table-utils")
8728 (arguments
8729 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8730 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8731 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8732
8733 (define-public cl-ana.hash-table-utils
8734 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8735
8736 (define-public ecl-cl-ana.hash-table-utils
8737 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
8738
8739 (define-public sbcl-cl-ana.map
8740 (package
8741 (inherit sbcl-cl-ana-boot0)
8742 (name "sbcl-cl-ana.map")
8743 (inputs
8744 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8745 (arguments
8746 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8747 ((#:asd-file _ "") "map/cl-ana.map.asd")
8748 ((#:asd-system-name _ #f) "cl-ana.map")))))
8749
8750 (define-public cl-ana.map
8751 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8752
8753 (define-public ecl-cl-ana.map
8754 (sbcl-package->ecl-package sbcl-cl-ana.map))
8755
8756 (define-public sbcl-cl-ana.fitting
8757 (package
8758 (inherit sbcl-cl-ana-boot0)
8759 (name "sbcl-cl-ana.fitting")
8760 (inputs
8761 `(("alexandria" ,sbcl-alexandria)
8762 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8763 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8764 ("cl-ana.map" ,sbcl-cl-ana.map)
8765 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8766 ("gsll" ,sbcl-gsll)))
8767 (arguments
8768 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8769 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8770 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8771
8772 (define-public cl-ana.fitting
8773 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
8774
8775 (define-public sbcl-cl-ana.histogram
8776 (package
8777 (inherit sbcl-cl-ana-boot0)
8778 (name "sbcl-cl-ana.histogram")
8779 (inputs
8780 `(("alexandria" ,sbcl-alexandria)
8781 ("iterate" ,sbcl-iterate)
8782 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8783 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8784 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8785 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8786 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8787 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8788 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8789 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8790 ("cl-ana.map" ,sbcl-cl-ana.map)
8791 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8792 (arguments
8793 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8794 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8795 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8796
8797 (define-public cl-ana.histogram
8798 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
8799
8800 (define-public sbcl-cl-ana.file-utils
8801 (package
8802 (inherit sbcl-cl-ana-boot0)
8803 (name "sbcl-cl-ana.file-utils")
8804 (inputs
8805 `(("external-program" ,sbcl-external-program)
8806 ("split-sequence" ,sbcl-split-sequence)))
8807 (arguments
8808 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8809 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8810 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8811
8812 (define-public cl-ana.file-utils
8813 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8814
8815 (define-public ecl-cl-ana.file-utils
8816 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
8817
8818 (define-public sbcl-cl-ana.statistics
8819 (package
8820 (inherit sbcl-cl-ana-boot0)
8821 (name "sbcl-cl-ana.statistics")
8822 (inputs
8823 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8824 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8825 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8826 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8827 ("cl-ana.map" ,sbcl-cl-ana.map)))
8828 (arguments
8829 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8830 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8831 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8832
8833 (define-public cl-ana.statistics
8834 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
8835
8836 (define-public sbcl-cl-ana.gnuplot-interface
8837 (package
8838 (inherit sbcl-cl-ana-boot0)
8839 (name "sbcl-cl-ana.gnuplot-interface")
8840 (inputs
8841 `(("external-program" ,sbcl-external-program)))
8842 (arguments
8843 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8844 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8845 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8846
8847 (define-public cl-ana.gnuplot-interface
8848 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8849
8850 (define-public ecl-cl-ana.gnuplot-interface
8851 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
8852
8853 (define-public sbcl-cl-ana.plotting
8854 (package
8855 (inherit sbcl-cl-ana-boot0)
8856 (name "sbcl-cl-ana.plotting")
8857 (inputs
8858 `(("alexandria" ,sbcl-alexandria)
8859 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8860 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8861 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8862 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8863 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8864 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8865 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8866 ("cl-ana.map" ,sbcl-cl-ana.map)
8867 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8868 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8869 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8870 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8871 ("external-program" ,sbcl-external-program)
8872 ("split-sequence" ,sbcl-split-sequence)))
8873 (arguments
8874 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8875 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8876 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8877
8878 (define-public cl-ana.plotting
8879 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
8880
8881 (define-public sbcl-cl-ana.table-viewing
8882 (package
8883 (inherit sbcl-cl-ana-boot0)
8884 (name "sbcl-cl-ana.table-viewing")
8885 (inputs
8886 `(("alexandria" ,sbcl-alexandria)
8887 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8888 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8889 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8890 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8891 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8892 ("cl-ana.table" ,sbcl-cl-ana.table)))
8893 (arguments
8894 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8895 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8896 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8897
8898 (define-public cl-ana.table-viewing
8899 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
8900
8901 (define-public sbcl-cl-ana.serialization
8902 (package
8903 (inherit sbcl-cl-ana-boot0)
8904 (name "sbcl-cl-ana.serialization")
8905 (inputs
8906 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8907 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8908 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
8909 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8910 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8911 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8912 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8913 (arguments
8914 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8915 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
8916 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
8917
8918 (define-public cl-ana.serialization
8919 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
8920
8921 (define-public sbcl-cl-ana.makeres
8922 (package
8923 (inherit sbcl-cl-ana-boot0)
8924 (name "sbcl-cl-ana.makeres")
8925 (inputs
8926 `(("alexandria" ,sbcl-alexandria)
8927 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8928 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
8929 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8930 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8931 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8932 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8933 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8934 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8935 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8936 ("cl-ana.map" ,sbcl-cl-ana.map)
8937 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8938 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8939 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8940 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
8941 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
8942 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8943 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8944 ("cl-ana.table" ,sbcl-cl-ana.table)
8945 ("external-program" ,sbcl-external-program)))
8946 (native-inputs
8947 `(("cl-fad" ,sbcl-cl-fad)))
8948 (arguments
8949 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8950 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
8951 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
8952
8953 (define-public cl-ana.makeres
8954 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
8955
8956 (define-public sbcl-cl-ana.makeres-macro
8957 (package
8958 (inherit sbcl-cl-ana-boot0)
8959 (name "sbcl-cl-ana.makeres-macro")
8960 (inputs
8961 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8962 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8963 (arguments
8964 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8965 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
8966 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
8967
8968 (define-public cl-ana.makeres-macro
8969 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
8970
8971 (define-public sbcl-cl-ana.makeres-block
8972 (package
8973 (inherit sbcl-cl-ana-boot0)
8974 (name "sbcl-cl-ana.makeres-block")
8975 (inputs
8976 `(("alexandria" ,sbcl-alexandria)
8977 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8978 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8979 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8980 (arguments
8981 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8982 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
8983 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
8984
8985 (define-public cl-ana.makeres-block
8986 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
8987
8988 (define-public sbcl-cl-ana.makeres-progress
8989 (package
8990 (inherit sbcl-cl-ana-boot0)
8991 (name "sbcl-cl-ana.makeres-progress")
8992 (inputs
8993 `(("alexandria" ,sbcl-alexandria)
8994 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8995 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8996 (arguments
8997 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8998 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
8999 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9000
9001 (define-public cl-ana.makeres-progress
9002 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
9003
9004 (define-public sbcl-cl-ana.makeres-table
9005 (package
9006 (inherit sbcl-cl-ana-boot0)
9007 (name "sbcl-cl-ana.makeres-table")
9008 (inputs
9009 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9010 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9011 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9012 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9013 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9014 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9015 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9016 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9017 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9018 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9019 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9020 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9021 ("cl-ana.table" ,sbcl-cl-ana.table)))
9022 (native-inputs
9023 `(("cl-fad" ,sbcl-cl-fad)))
9024 (arguments
9025 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9026 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9027 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9028
9029 (define-public cl-ana.makeres-table
9030 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
9031
9032 (define-public sbcl-cl-ana.makeres-graphviz
9033 (package
9034 (inherit sbcl-cl-ana-boot0)
9035 (name "sbcl-cl-ana.makeres-graphviz")
9036 (inputs
9037 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9038 ("external-program" ,sbcl-external-program)))
9039 (arguments
9040 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9041 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9042 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9043
9044 (define-public cl-ana.makeres-graphviz
9045 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
9046
9047 (define-public sbcl-cl-ana.makeres-branch
9048 (package
9049 (inherit sbcl-cl-ana-boot0)
9050 (name "sbcl-cl-ana.makeres-branch")
9051 (inputs
9052 `(("alexandria" ,sbcl-alexandria)
9053 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9054 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9055 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9056 ("cl-ana.map" ,sbcl-cl-ana.map)
9057 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9058 (arguments
9059 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9060 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9061 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9062
9063 (define-public cl-ana.makeres-branch
9064 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
9065
9066 (define-public sbcl-cl-ana.makeres-utils
9067 (package
9068 (inherit sbcl-cl-ana-boot0)
9069 (name "sbcl-cl-ana.makeres-utils")
9070 (inputs
9071 `(("alexandria" ,sbcl-alexandria)
9072 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9073 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9074 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9075 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9076 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9077 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9078 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9079 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9080 ("cl-ana.map" ,sbcl-cl-ana.map)
9081 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9082 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9083 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9084 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9085 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9086 ("cl-ana.table" ,sbcl-cl-ana.table)))
9087 (native-inputs
9088 `(("cl-fad" ,sbcl-cl-fad)))
9089 (arguments
9090 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9091 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9092 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9093
9094 (define-public cl-ana.makeres-utils
9095 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
9096
9097 (define-public sbcl-cl-ana.statistical-learning
9098 (package
9099 (inherit sbcl-cl-ana-boot0)
9100 (name "sbcl-cl-ana.statistical-learning")
9101 (inputs
9102 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9103 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9104 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9105 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9106 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9107 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9108 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9109 ("cl-ana.map" ,sbcl-cl-ana.map)
9110 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9111 (native-inputs
9112 `(("cl-fad" ,sbcl-cl-fad)))
9113 (arguments
9114 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9115 ((#:asd-file _ "")
9116 "statistical-learning/cl-ana.statistical-learning.asd")
9117 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9118
9119 (define-public cl-ana.statistical-learning
9120 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
9121
9122 (define-public sbcl-cl-ana
9123 (package
9124 (inherit sbcl-cl-ana-boot0)
9125 (name "sbcl-cl-ana")
9126 (inputs
9127 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9128 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9129 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9130 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9131 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9132 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9133 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9134 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9135 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9136 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9137 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9138 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9139 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9140 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9141 ("cl-ana.map" ,sbcl-cl-ana.map)
9142 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9143 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9144 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9145 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9146 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9147 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9148 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9149 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9150 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9151 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9152 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9153 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9154 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9155 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9156 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9157 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9158 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9159 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9160 ("cl-ana.table" ,sbcl-cl-ana.table)
9161 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9162 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9163 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9164 ("libffi" ,libffi)))
9165 (native-inputs
9166 `(("cl-fad" ,sbcl-cl-fad)))
9167 (arguments
9168 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9169 ((#:asd-file _ "") "cl-ana.asd")
9170 ((#:asd-system-name _ #f) "cl-ana")))))
9171
9172 (define-public cl-ana
9173 (sbcl-package->cl-source-package sbcl-cl-ana))
9174
9175 (define-public sbcl-archive
9176 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9177 (revision "1"))
9178 (package
9179 (name "sbcl-archive")
9180 (version (git-version "0.9" revision commit))
9181 (source (origin
9182 (method git-fetch)
9183 (uri (git-reference
9184 (url "https://github.com/sharplispers/archive.git")
9185 (commit commit)))
9186 (file-name (git-file-name name version))
9187 (sha256
9188 (base32
9189 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9190 (build-system asdf-build-system/sbcl)
9191 (inputs
9192 `(("cl-fad" ,sbcl-cl-fad)
9193 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9194 (synopsis "Common Lisp library for tar and cpio archives")
9195 (description
9196 "This is a Common Lisp library to read and write disk-based file
9197 archives such as those generated by the tar and cpio programs on Unix.")
9198 (home-page "https://github.com/sharplispers/archive")
9199 (license license:bsd-3))))
9200
9201 (define-public cl-archive
9202 (sbcl-package->cl-source-package sbcl-archive))
9203
9204 (define-public ecl-archive
9205 (sbcl-package->ecl-package sbcl-archive))
9206
9207 (define-public sbcl-misc-extensions
9208 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9209 (revision "1"))
9210 (package
9211 (name "sbcl-misc-extensions")
9212 (version (git-version "3.3" revision commit))
9213 (source
9214 (origin
9215 (method git-fetch)
9216 (uri (git-reference
9217 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9218 (commit commit)))
9219 (file-name (git-file-name name version))
9220 (sha256
9221 (base32
9222 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9223 (build-system asdf-build-system/sbcl)
9224 (synopsis "Collection of small macros and extensions for Common Lisp")
9225 (description
9226 "This project is intended as a catchall for small, general-purpose
9227 extensions to Common Lisp. It contains:
9228
9229 @itemize
9230 @item @code{new-let}, a macro that combines and generalizes @code{let},
9231 @code{let*} and @code{multiple-value-bind},
9232 @item @code{gmap}, an iteration macro that generalizes @code{map}.
9233 @end itemize\n")
9234 (home-page "https://common-lisp.net/project/misc-extensions/")
9235 (license license:public-domain))))
9236
9237 (define-public cl-misc-extensions
9238 (sbcl-package->cl-source-package sbcl-misc-extensions))
9239
9240 (define-public ecl-misc-extensions
9241 (sbcl-package->ecl-package sbcl-misc-extensions))
9242
9243 (define-public sbcl-mt19937
9244 (package
9245 (name "sbcl-mt19937")
9246 (version "1.1")
9247 (source
9248 (origin
9249 (method url-fetch)
9250 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9251 "mt19937-latest.tar.gz"))
9252 (sha256
9253 (base32
9254 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9255 (build-system asdf-build-system/sbcl)
9256 (synopsis "Mersenne Twister pseudo-random number generator")
9257 (description
9258 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9259 for Common Lisp.")
9260 (home-page "https://www.cliki.net/mt19937")
9261 (license license:public-domain)))
9262
9263 (define-public cl-mt19937
9264 (sbcl-package->cl-source-package sbcl-mt19937))
9265
9266 (define-public ecl-mt19937
9267 (sbcl-package->ecl-package sbcl-mt19937))
9268
9269 (define-public sbcl-fset
9270 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9271 (revision "1"))
9272 (package
9273 (name "sbcl-fset")
9274 (version (git-version "1.3.2" revision commit))
9275 (source
9276 (origin
9277 (method git-fetch)
9278 (uri (git-reference
9279 (url "https://github.com/slburson/fset")
9280 (commit commit)))
9281 (file-name (git-file-name name version))
9282 (sha256
9283 (base32
9284 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9285 (snippet '(begin
9286 ;; Remove obsolete copy of system definition.
9287 (delete-file "Code/fset.asd")
9288 #t))))
9289 (build-system asdf-build-system/sbcl)
9290 (inputs
9291 `(("misc-extensions" ,sbcl-misc-extensions)
9292 ("mt19937" ,sbcl-mt19937)
9293 ("named-readtables" ,sbcl-named-readtables)))
9294 (synopsis "Functional set-theoretic collections library")
9295 (description
9296 "FSet is a functional set-theoretic collections library for Common Lisp.
9297 Functional means that all update operations return a new collection rather than
9298 modifying an existing one in place. Set-theoretic means that collections may
9299 be nested arbitrarily with no additional programmer effort; for instance, sets
9300 may contain sets, maps may be keyed by sets, etc.")
9301 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9302 (license license:llgpl))))
9303
9304 (define-public cl-fset
9305 (sbcl-package->cl-source-package sbcl-fset))
9306
9307 (define-public sbcl-cl-cont
9308 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9309 (revision "1"))
9310 (package
9311 (name "sbcl-cl-cont")
9312 (version (git-version "0.3.8" revision commit))
9313 (source
9314 (origin
9315 (method git-fetch)
9316 (uri (git-reference
9317 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9318 (commit commit)))
9319 (file-name (git-file-name name version))
9320 (sha256
9321 (base32
9322 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9323 (build-system asdf-build-system/sbcl)
9324 (inputs
9325 `(("alexandria" ,sbcl-alexandria)
9326 ("closer-mop" ,sbcl-closer-mop)))
9327 (native-inputs
9328 `(("rt" ,sbcl-rt)))
9329 (synopsis "Delimited continuations for Common Lisp")
9330 (description
9331 "This is a library that implements delimited continuations by
9332 transforming Common Lisp code to continuation passing style.")
9333 (home-page "https://common-lisp.net/project/cl-cont/")
9334 (license license:llgpl))))
9335
9336 (define-public cl-cont
9337 (sbcl-package->cl-source-package sbcl-cl-cont))
9338
9339 (define-public ecl-cl-cont
9340 (sbcl-package->ecl-package sbcl-cl-cont))
9341
9342 (define-public sbcl-cl-coroutine
9343 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9344 (revision "1"))
9345 (package
9346 (name "sbcl-cl-coroutine")
9347 (version (git-version "0.1" revision commit))
9348 (source
9349 (origin
9350 (method git-fetch)
9351 (uri (git-reference
9352 (url "https://github.com/takagi/cl-coroutine.git")
9353 (commit commit)))
9354 (file-name (git-file-name name version))
9355 (sha256
9356 (base32
9357 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9358 (build-system asdf-build-system/sbcl)
9359 (inputs
9360 `(("alexandria" ,sbcl-alexandria)
9361 ("cl-cont" ,sbcl-cl-cont)))
9362 (native-inputs
9363 `(("prove" ,sbcl-prove)))
9364 (arguments
9365 `(;; TODO: Fix the tests. They fail with:
9366 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9367 #:tests? #f
9368 #:phases
9369 (modify-phases %standard-phases
9370 (add-after 'unpack 'fix-tests
9371 (lambda _
9372 (substitute* "cl-coroutine-test.asd"
9373 (("cl-test-more")
9374 "prove"))
9375 #t)))))
9376 (synopsis "Coroutine library for Common Lisp")
9377 (description
9378 "This is a coroutine library for Common Lisp implemented using the
9379 continuations of the @code{cl-cont} library.")
9380 (home-page "https://github.com/takagi/cl-coroutine")
9381 (license license:llgpl))))
9382
9383 (define-public cl-coroutine
9384 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9385
9386 (define-public ecl-cl-coroutine
9387 (sbcl-package->ecl-package sbcl-cl-coroutine))
9388
9389 (define-public sbcl-vom
9390 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9391 (revision "1"))
9392 (package
9393 (name "sbcl-vom")
9394 (version (git-version "0.1.4" revision commit))
9395 (source
9396 (origin
9397 (method git-fetch)
9398 (uri (git-reference
9399 (url "https://github.com/orthecreedence/vom.git")
9400 (commit commit)))
9401 (file-name (git-file-name name version))
9402 (sha256
9403 (base32
9404 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9405 (build-system asdf-build-system/sbcl)
9406 (synopsis "Tiny logging utility for Common Lisp")
9407 (description
9408 "Vom is a logging library for Common Lisp. It's goal is to be useful
9409 and small. It does not provide a lot of features as other loggers do, but
9410 has a small codebase that's easy to understand and use.")
9411 (home-page "https://github.com/orthecreedence/vom")
9412 (license license:expat))))
9413
9414 (define-public cl-vom
9415 (sbcl-package->cl-source-package sbcl-vom))
9416
9417 (define-public ecl-vom
9418 (sbcl-package->ecl-package sbcl-vom))
9419
9420 (define-public sbcl-cl-libuv
9421 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9422 (revision "1"))
9423 (package
9424 (name "sbcl-cl-libuv")
9425 (version (git-version "0.1.6" revision commit))
9426 (source
9427 (origin
9428 (method git-fetch)
9429 (uri (git-reference
9430 (url "https://github.com/orthecreedence/cl-libuv.git")
9431 (commit commit)))
9432 (file-name (git-file-name name version))
9433 (sha256
9434 (base32
9435 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9436 (build-system asdf-build-system/sbcl)
9437 (inputs
9438 `(("alexandria" ,sbcl-alexandria)
9439 ("cffi" ,sbcl-cffi)
9440 ("cffi-grovel" ,sbcl-cffi-grovel)
9441 ("libuv" ,libuv)))
9442 (arguments
9443 `(#:phases
9444 (modify-phases %standard-phases
9445 (add-after 'unpack 'fix-paths
9446 (lambda* (#:key inputs #:allow-other-keys)
9447 (substitute* "lib.lisp"
9448 (("/usr/lib/libuv.so")
9449 (string-append (assoc-ref inputs "libuv")
9450 "/lib/libuv.so")))
9451 #t))
9452 (add-after 'fix-paths 'fix-system-definition
9453 (lambda _
9454 (substitute* "cl-libuv.asd"
9455 (("#:cffi #:alexandria")
9456 "#:cffi #:cffi-grovel #:alexandria"))
9457 #t)))))
9458 (synopsis "Common Lisp bindings to libuv")
9459 (description
9460 "This library provides low-level libuv bindings for Common Lisp.")
9461 (home-page "https://github.com/orthecreedence/cl-libuv")
9462 (license license:expat))))
9463
9464 (define-public cl-libuv
9465 (sbcl-package->cl-source-package sbcl-cl-libuv))
9466
9467 (define-public ecl-cl-libuv
9468 (sbcl-package->ecl-package sbcl-cl-libuv))
9469
9470 (define-public sbcl-cl-async-base
9471 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9472 (revision "1"))
9473 (package
9474 (name "sbcl-cl-async-base")
9475 (version (git-version "0.6.1" revision commit))
9476 (source
9477 (origin
9478 (method git-fetch)
9479 (uri (git-reference
9480 (url "https://github.com/orthecreedence/cl-async.git")
9481 (commit commit)))
9482 (file-name (git-file-name name version))
9483 (sha256
9484 (base32
9485 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9486 (build-system asdf-build-system/sbcl)
9487 (inputs
9488 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9489 ("cffi" ,sbcl-cffi)
9490 ("cl-libuv" ,sbcl-cl-libuv)))
9491 (arguments
9492 `(#:asd-file "cl-async.asd"))
9493 (synopsis "Base system for cl-async")
9494 (description
9495 "Cl-async is a library for general purpose, non-blocking programming in
9496 Common Lisp. It uses the libuv library as backend.")
9497 (home-page "https://orthecreedence.github.io/cl-async/")
9498 (license license:expat))))
9499
9500 (define-public cl-async-base
9501 (sbcl-package->cl-source-package sbcl-cl-async-base))
9502
9503 (define-public ecl-cl-async-base
9504 (sbcl-package->ecl-package sbcl-cl-async-base))
9505
9506 (define-public sbcl-cl-async-util
9507 (package
9508 (inherit sbcl-cl-async-base)
9509 (name "sbcl-cl-async-util")
9510 (inputs
9511 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9512 ("cffi" ,sbcl-cffi)
9513 ("cl-async-base" ,sbcl-cl-async-base)
9514 ("cl-libuv" ,sbcl-cl-libuv)
9515 ("cl-ppcre" ,sbcl-cl-ppcre)
9516 ("fast-io" ,sbcl-fast-io)
9517 ("vom" ,sbcl-vom)))
9518 (synopsis "Internal utilities for cl-async")))
9519
9520 (define-public cl-async-util
9521 (sbcl-package->cl-source-package sbcl-cl-async-util))
9522
9523 (define-public ecl-cl-async-util
9524 (sbcl-package->ecl-package sbcl-cl-async-util))
9525
9526 (define-public sbcl-cl-async
9527 (package
9528 (inherit sbcl-cl-async-base)
9529 (name "sbcl-cl-async")
9530 (inputs
9531 `(("babel" ,sbcl-babel)
9532 ("cffi" ,sbcl-cffi)
9533 ("cl-async-base" ,sbcl-cl-async-base)
9534 ("cl-async-util" ,sbcl-cl-async-util)
9535 ("cl-libuv" ,sbcl-cl-libuv)
9536 ("cl-ppcre" ,sbcl-cl-ppcre)
9537 ("static-vectors" ,sbcl-static-vectors)
9538 ("trivial-features" ,sbcl-trivial-features)
9539 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9540 (synopsis "Asynchronous operations for Common Lisp")))
9541
9542 (define-public cl-async
9543 (sbcl-package->cl-source-package sbcl-cl-async))
9544
9545 (define-public ecl-cl-async
9546 (sbcl-package->ecl-package sbcl-cl-async))
9547
9548 (define-public sbcl-cl-async-repl
9549 (package
9550 (inherit sbcl-cl-async-base)
9551 (name "sbcl-cl-async-repl")
9552 (inputs
9553 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9554 ("cl-async" ,sbcl-cl-async)))
9555 (arguments
9556 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9557 ((#:asd-file _ "") "cl-async-repl.asd")))
9558 (synopsis "REPL integration for cl-async")))
9559
9560 (define-public cl-async-repl
9561 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9562
9563 (define-public ecl-cl-async-repl
9564 (sbcl-package->ecl-package sbcl-cl-async-repl))
9565
9566 (define-public sbcl-cl-async-ssl
9567 (package
9568 (inherit sbcl-cl-async-base)
9569 (name "sbcl-cl-async-ssl")
9570 (inputs
9571 `(("cffi" ,sbcl-cffi)
9572 ("cl-async" ,sbcl-cl-async)
9573 ("openssl" ,openssl)
9574 ("vom" ,sbcl-vom)))
9575 (arguments
9576 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9577 ((#:asd-file _ "") "cl-async-ssl.asd")
9578 ((#:phases phases '%standard-phases)
9579 `(modify-phases ,phases
9580 (add-after 'unpack 'fix-paths
9581 (lambda* (#:key inputs #:allow-other-keys)
9582 (substitute* "src/ssl/package.lisp"
9583 (("libcrypto\\.so")
9584 (string-append (assoc-ref inputs "openssl")
9585 "/lib/libcrypto.so"))
9586 (("libssl\\.so")
9587 (string-append (assoc-ref inputs "openssl")
9588 "/lib/libssl.so")))
9589 #t))))))
9590 (synopsis "SSL wrapper around cl-async socket implementation")))
9591
9592 (define-public cl-async-ssl
9593 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9594
9595 (define-public ecl-cl-async-ssl
9596 (sbcl-package->ecl-package sbcl-cl-async-ssl))
9597
9598 (define-public sbcl-blackbird
9599 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9600 (revision "1"))
9601 (package
9602 (name "sbcl-blackbird")
9603 (version (git-version "0.5.2" revision commit))
9604 (source
9605 (origin
9606 (method git-fetch)
9607 (uri (git-reference
9608 (url "https://github.com/orthecreedence/blackbird.git")
9609 (commit commit)))
9610 (file-name (git-file-name name version))
9611 (sha256
9612 (base32
9613 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9614 (build-system asdf-build-system/sbcl)
9615 (inputs
9616 `(("vom" ,sbcl-vom)))
9617 (native-inputs
9618 `(("cl-async" ,sbcl-cl-async)
9619 ("fiveam" ,sbcl-fiveam)))
9620 (synopsis "Promise implementation for Common Lisp")
9621 (description
9622 "This is a standalone promise implementation for Common Lisp. It is
9623 the successor to the now-deprecated cl-async-future project.")
9624 (home-page "http://orthecreedence.github.io/blackbird/")
9625 (license license:expat))))
9626
9627 (define-public cl-blackbird
9628 (sbcl-package->cl-source-package sbcl-blackbird))
9629
9630 (define-public ecl-blackbird
9631 (sbcl-package->ecl-package sbcl-blackbird))
9632
9633 (define-public sbcl-cl-async-future
9634 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9635 (revision "1"))
9636 (package
9637 (name "sbcl-cl-async-future")
9638 (version (git-version "0.4.4.1" revision commit))
9639 (source
9640 (origin
9641 (method git-fetch)
9642 (uri (git-reference
9643 (url "https://github.com/orthecreedence/cl-async-future.git")
9644 (commit commit)))
9645 (file-name (git-file-name name version))
9646 (sha256
9647 (base32
9648 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9649 (build-system asdf-build-system/sbcl)
9650 (inputs
9651 `(("blackbird" ,sbcl-blackbird)))
9652 (native-inputs
9653 `(("cl-async" ,sbcl-cl-async)
9654 ("eos" ,sbcl-eos)))
9655 (synopsis "Futures implementation for Common Lisp")
9656 (description
9657 "This is futures implementation for Common Lisp. It plugs in nicely
9658 to cl-async.")
9659 (home-page "http://orthecreedence.github.io/cl-async/future")
9660 (license license:expat))))
9661
9662 (define-public cl-async-future
9663 (sbcl-package->cl-source-package sbcl-cl-async-future))
9664
9665 (define-public ecl-cl-async-future
9666 (sbcl-package->ecl-package sbcl-cl-async-future))
9667
9668 (define-public sbcl-green-threads
9669 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9670 (revision "1"))
9671 (package
9672 (name "sbcl-green-threads")
9673 (version (git-version "0.3" revision commit))
9674 (source
9675 (origin
9676 (method git-fetch)
9677 (uri (git-reference
9678 (url "https://github.com/thezerobit/green-threads.git")
9679 (commit commit)))
9680 (file-name (git-file-name name version))
9681 (sha256
9682 (base32
9683 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9684 (build-system asdf-build-system/sbcl)
9685 (inputs
9686 `(("cl-async-future" ,sbcl-cl-async-future)
9687 ("cl-cont" ,sbcl-cl-cont)))
9688 (native-inputs
9689 `(("prove" ,sbcl-prove)))
9690 (arguments
9691 `(;; TODO: Fix the tests. They fail with:
9692 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9693 #:tests? #f
9694 #:phases
9695 (modify-phases %standard-phases
9696 (add-after 'unpack 'fix-tests
9697 (lambda _
9698 (substitute* "green-threads-test.asd"
9699 (("cl-test-more")
9700 "prove"))
9701 #t)))))
9702 (synopsis "Cooperative multitasking library for Common Lisp")
9703 (description
9704 "This library allows for cooperative multitasking with help of cl-cont
9705 for continuations. It tries to mimic the API of bordeaux-threads as much as
9706 possible.")
9707 (home-page "https://github.com/thezerobit/green-threads")
9708 (license license:bsd-3))))
9709
9710 (define-public cl-green-threads
9711 (sbcl-package->cl-source-package sbcl-green-threads))
9712
9713 (define-public ecl-green-threads
9714 (sbcl-package->ecl-package sbcl-green-threads))
9715
9716 (define-public sbcl-cl-base32
9717 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9718 (revision "1"))
9719 (package
9720 (name "sbcl-cl-base32")
9721 (version (git-version "0.1" revision commit))
9722 (source
9723 (origin
9724 (method git-fetch)
9725 (uri (git-reference
9726 (url "https://github.com/hargettp/cl-base32.git")
9727 (commit commit)))
9728 (file-name (git-file-name name version))
9729 (sha256
9730 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9731 (build-system asdf-build-system/sbcl)
9732 (native-inputs
9733 `(("lisp-unit" ,sbcl-lisp-unit)))
9734 (synopsis "Common Lisp library for base32 encoding and decoding")
9735 (description
9736 "This package provides functions for base32 encoding and decoding as
9737 defined in RFC4648.")
9738 (home-page "https://github.com/hargettp/cl-base32")
9739 (license license:expat))))
9740
9741 (define-public cl-base32
9742 (sbcl-package->cl-source-package sbcl-cl-base32))
9743
9744 (define-public ecl-cl-base32
9745 (sbcl-package->ecl-package sbcl-cl-base32))
9746
9747 (define-public sbcl-cl-z85
9748 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9749 (revision "1"))
9750 (package
9751 (name "sbcl-cl-z85")
9752 (version (git-version "1.0" revision commit))
9753 (source
9754 (origin
9755 (method git-fetch)
9756 (uri (git-reference
9757 (url "https://github.com/glv2/cl-z85.git")
9758 (commit commit)))
9759 (file-name (git-file-name name version))
9760 (sha256
9761 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9762 (build-system asdf-build-system/sbcl)
9763 (native-inputs
9764 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9765 ("fiveam" ,sbcl-fiveam)))
9766 (synopsis "Common Lisp library for Z85 encoding and decoding")
9767 (description
9768 "This package provides functions to encode or decode byte vectors or
9769 byte streams using the Z85 format, which is a base-85 encoding used by
9770 ZeroMQ.")
9771 (home-page "https://github.com/glv2/cl-z85")
9772 (license license:gpl3+))))
9773
9774 (define-public cl-z85
9775 (sbcl-package->cl-source-package sbcl-cl-z85))
9776
9777 (define-public ecl-cl-z85
9778 (sbcl-package->ecl-package sbcl-cl-z85))
9779
9780 (define-public sbcl-ltk
9781 (package
9782 (name "sbcl-ltk")
9783 (version "0.992")
9784 (source
9785 (origin
9786 (method git-fetch)
9787 (uri (git-reference
9788 (url "https://github.com/herth/ltk.git")
9789 (commit version)))
9790 (file-name (git-file-name name version))
9791 (sha256
9792 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9793 (build-system asdf-build-system/sbcl)
9794 (inputs
9795 `(("imagemagick" ,imagemagick)
9796 ("tk" ,tk)))
9797 (arguments
9798 `(#:asd-file "ltk/ltk.asd"
9799 #:tests? #f
9800 #:phases (modify-phases %standard-phases
9801 (add-after 'unpack 'fix-paths
9802 (lambda* (#:key inputs #:allow-other-keys)
9803 (substitute* "ltk/ltk.lisp"
9804 (("#-freebsd \"wish\"")
9805 (string-append "#-freebsd \""
9806 (assoc-ref inputs "tk")
9807 "/bin/wish\""))
9808 (("do-execute \"convert\"")
9809 (string-append "do-execute \""
9810 (assoc-ref inputs "imagemagick")
9811 "/bin/convert\"")))
9812 #t)))))
9813 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9814 (description
9815 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9816 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9817 (home-page "http://www.peter-herth.de/ltk/")
9818 (license license:llgpl)))
9819
9820 (define-public cl-ltk
9821 (sbcl-package->cl-source-package sbcl-ltk))
9822
9823 (define-public ecl-ltk
9824 (sbcl-package->ecl-package sbcl-ltk))
9825
9826 (define-public sbcl-ltk-mw
9827 (package
9828 (inherit sbcl-ltk)
9829 (name "sbcl-ltk-mw")
9830 (inputs
9831 `(("ltk" ,sbcl-ltk)))
9832 (arguments
9833 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9834 ((#:asd-file _) "ltk/ltk-mw.asd")
9835 ((#:phases _) '%standard-phases)))
9836 (synopsis "Extra widgets for LTK")
9837 (description
9838 "This is a collection of higher-level widgets built on top of LTK.")))
9839
9840 (define-public cl-ltk-mw
9841 (sbcl-package->cl-source-package sbcl-ltk-mw))
9842
9843 (define-public ecl-ltk-mw
9844 (sbcl-package->ecl-package sbcl-ltk-mw))
9845
9846 (define-public sbcl-ltk-remote
9847 (package
9848 (inherit sbcl-ltk)
9849 (name "sbcl-ltk-remote")
9850 (inputs
9851 `(("ltk" ,sbcl-ltk)))
9852 (arguments
9853 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9854 ((#:asd-file _) "ltk/ltk-remote.asd")
9855 ((#:phases _) '%standard-phases)))
9856 (synopsis "Remote GUI support for LTK")
9857 (description
9858 "This LTK extension allows the GUI to be displayed on a computer different
9859 from the one running the Lisp program by using a TCP connection.")))
9860
9861 (define-public cl-ltk-remote
9862 (sbcl-package->cl-source-package sbcl-ltk-remote))
9863
9864 (define-public sbcl-cl-lex
9865 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9866 (revision "1"))
9867 (package
9868 (name "sbcl-cl-lex")
9869 (version (git-version "1.1.3" revision commit))
9870 (source
9871 (origin
9872 (method git-fetch)
9873 (uri (git-reference
9874 (url "https://github.com/djr7C4/cl-lex.git")
9875 (commit commit)))
9876 (file-name (git-file-name name version))
9877 (sha256
9878 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9879 (build-system asdf-build-system/sbcl)
9880 (inputs
9881 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9882 (synopsis "Common Lisp macros for generating lexical analyzers")
9883 (description
9884 "This is a Common Lisp library providing a set of macros for generating
9885 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9886 be used with @code{cl-yacc}.")
9887 (home-page "https://github.com/djr7C4/cl-lex")
9888 (license license:gpl3))))
9889
9890 (define-public cl-lex
9891 (sbcl-package->cl-source-package sbcl-cl-lex))
9892
9893 (define-public ecl-cl-lex
9894 (sbcl-package->ecl-package sbcl-cl-lex))
9895
9896 (define-public sbcl-clunit2
9897 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9898 (revision "1"))
9899 (package
9900 (name "sbcl-clunit2")
9901 (version (git-version "0.2.4" revision commit))
9902 (source
9903 (origin
9904 (method git-fetch)
9905 (uri (git-reference
9906 (url "https://notabug.org/cage/clunit2.git")
9907 (commit commit)))
9908 (file-name (git-file-name name version))
9909 (sha256
9910 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9911 (build-system asdf-build-system/sbcl)
9912 (synopsis "Unit testing framework for Common Lisp")
9913 (description
9914 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9915 easy to use so that you can quickly start testing.")
9916 (home-page "https://notabug.org/cage/clunit2")
9917 (license license:expat))))
9918
9919 (define-public cl-clunit2
9920 (sbcl-package->cl-source-package sbcl-clunit2))
9921
9922 (define-public ecl-clunit2
9923 (sbcl-package->ecl-package sbcl-clunit2))
9924
9925 (define-public sbcl-cl-colors2
9926 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9927 (revision "1"))
9928 (package
9929 (name "sbcl-cl-colors2")
9930 (version (git-version "0.2.1" revision commit))
9931 (source
9932 (origin
9933 (method git-fetch)
9934 (uri (git-reference
9935 (url "https://notabug.org/cage/cl-colors2.git")
9936 (commit commit)))
9937 (file-name (git-file-name name version))
9938 (sha256
9939 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9940 (build-system asdf-build-system/sbcl)
9941 (native-inputs
9942 `(("clunit2" ,sbcl-clunit2)))
9943 (inputs
9944 `(("alexandria" ,sbcl-alexandria)
9945 ("cl-ppcre" ,sbcl-cl-ppcre)))
9946 (synopsis "Color library for Common Lisp")
9947 (description
9948 "This is a very simple color library for Common Lisp, providing:
9949
9950 @itemize
9951 @item Types for representing colors in HSV and RGB spaces.
9952 @item Simple conversion functions between the above types (and also
9953 hexadecimal representation for RGB).
9954 @item Some predefined colors (currently X11 color names -- of course
9955 the library does not depend on X11).
9956 @end itemize\n")
9957 (home-page "https://notabug.org/cage/cl-colors2")
9958 (license license:boost1.0))))
9959
9960 (define-public cl-colors2
9961 (sbcl-package->cl-source-package sbcl-cl-colors2))
9962
9963 (define-public ecl-cl-colors2
9964 (sbcl-package->ecl-package sbcl-cl-colors2))
9965
9966 (define-public sbcl-cl-jpeg
9967 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9968 (revision "1"))
9969 (package
9970 (name "sbcl-cl-jpeg")
9971 (version (git-version "2.8" revision commit))
9972 (source
9973 (origin
9974 (method git-fetch)
9975 (uri (git-reference
9976 (url "https://github.com/sharplispers/cl-jpeg.git")
9977 (commit commit)))
9978 (file-name (git-file-name name version))
9979 (sha256
9980 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9981 (build-system asdf-build-system/sbcl)
9982 (synopsis "JPEG image library for Common Lisp")
9983 (description
9984 "This is a baseline JPEG codec written in Common Lisp. It can be used
9985 for reading and writing JPEG image files.")
9986 (home-page "https://github.com/sharplispers/cl-jpeg")
9987 (license license:bsd-3))))
9988
9989 (define-public cl-jpeg
9990 (sbcl-package->cl-source-package sbcl-cl-jpeg))
9991
9992 (define-public ecl-cl-jpeg
9993 (sbcl-package->ecl-package sbcl-cl-jpeg))
9994
9995 (define-public sbcl-nodgui
9996 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
9997 (revision "1"))
9998 (package
9999 (name "sbcl-nodgui")
10000 (version (git-version "0.0.5" revision commit))
10001 (source
10002 (origin
10003 (method git-fetch)
10004 (uri (git-reference
10005 (url "https://notabug.org/cage/nodgui.git")
10006 (commit commit)))
10007 (file-name (git-file-name name version))
10008 (sha256
10009 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10010 (build-system asdf-build-system/sbcl)
10011 (inputs
10012 `(("alexandria" ,sbcl-alexandria)
10013 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10014 ("cl-colors2" ,sbcl-cl-colors2)
10015 ("cl-jpeg" ,sbcl-cl-jpeg)
10016 ("cl-lex" ,sbcl-cl-lex)
10017 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10018 ("cl-unicode" ,sbcl-cl-unicode)
10019 ("cl-yacc" ,sbcl-cl-yacc)
10020 ("clunit2" ,sbcl-clunit2)
10021 ("named-readtables" ,sbcl-named-readtables)
10022 ("parse-number" ,sbcl-parse-number)
10023 ("tk" ,tk)))
10024 (arguments
10025 `(#:phases (modify-phases %standard-phases
10026 (add-after 'unpack 'fix-paths
10027 (lambda* (#:key inputs #:allow-other-keys)
10028 (substitute* "src/wish-communication.lisp"
10029 (("#-freebsd \"wish\"")
10030 (string-append "#-freebsd \""
10031 (assoc-ref inputs "tk")
10032 "/bin/wish\"")))
10033 #t)))))
10034 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10035 (description
10036 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10037 toolkit. It also provides a few additional widgets more than the standard Tk
10038 ones.")
10039 (home-page "https://www.autistici.org/interzona/nodgui.html")
10040 (license license:llgpl))))
10041
10042 (define-public cl-nodgui
10043 (sbcl-package->cl-source-package sbcl-nodgui))
10044
10045 (define-public ecl-nodgui
10046 (sbcl-package->ecl-package sbcl-nodgui))
10047
10048 (define-public sbcl-salza2
10049 (package
10050 (name "sbcl-salza2")
10051 (version "2.0.9")
10052 (source
10053 (origin
10054 (method git-fetch)
10055 (uri (git-reference
10056 (url "https://github.com/xach/salza2.git")
10057 (commit (string-append "release-" version))))
10058 (file-name (git-file-name name version))
10059 (sha256
10060 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10061 (build-system asdf-build-system/sbcl)
10062 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10063 (description
10064 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10065 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10066 respectively.")
10067 (home-page "https://www.xach.com/lisp/salza2/")
10068 (license license:bsd-2)))
10069
10070 (define-public cl-salza2
10071 (sbcl-package->cl-source-package sbcl-salza2))
10072
10073 (define-public ecl-salza2
10074 (sbcl-package->ecl-package sbcl-salza2))
10075
10076 (define-public sbcl-png-read
10077 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10078 (revision "1"))
10079 (package
10080 (name "sbcl-png-read")
10081 (version (git-version "0.3.1" revision commit))
10082 (source
10083 (origin
10084 (method git-fetch)
10085 (uri (git-reference
10086 (url "https://github.com/Ramarren/png-read.git")
10087 (commit commit)))
10088 (file-name (git-file-name name version))
10089 (sha256
10090 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10091 (build-system asdf-build-system/sbcl)
10092 (inputs
10093 `(("babel" ,sbcl-babel)
10094 ("chipz" ,sbcl-chipz)
10095 ("iterate" ,sbcl-iterate)))
10096 (synopsis "PNG decoder for Common Lisp")
10097 (description "This is a Common Lisp library for reading PNG images.")
10098 (home-page "https://github.com/Ramarren/png-read")
10099 (license license:bsd-3))))
10100
10101 (define-public cl-png-read
10102 (sbcl-package->cl-source-package sbcl-png-read))
10103
10104 (define-public ecl-png-read
10105 (sbcl-package->ecl-package sbcl-png-read))
10106
10107 (define-public sbcl-zpng
10108 (package
10109 (name "sbcl-zpng")
10110 (version "1.2.2")
10111 (source
10112 (origin
10113 (method git-fetch)
10114 (uri (git-reference
10115 (url "https://github.com/xach/zpng.git")
10116 (commit (string-append "release-" version))))
10117 (file-name (git-file-name name version))
10118 (sha256
10119 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10120 (build-system asdf-build-system/sbcl)
10121 (inputs
10122 `(("salza2" ,sbcl-salza2)))
10123 (synopsis "PNG encoder for Common Lisp")
10124 (description "This is a Common Lisp library for creating PNG images.")
10125 (home-page "https://www.xach.com/lisp/zpng/")
10126 (license license:bsd-2)))
10127
10128 (define-public cl-zpng
10129 (sbcl-package->cl-source-package sbcl-zpng))
10130
10131 (define-public ecl-zpng
10132 (sbcl-package->ecl-package sbcl-zpng))
10133
10134 (define-public sbcl-cl-qrencode
10135 (package
10136 (name "sbcl-cl-qrencode")
10137 (version "0.1.2")
10138 (source
10139 (origin
10140 (method git-fetch)
10141 (uri (git-reference
10142 (url "https://github.com/jnjcc/cl-qrencode.git")
10143 (commit (string-append "v" version))))
10144 (file-name (git-file-name name version))
10145 (sha256
10146 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10147 (build-system asdf-build-system/sbcl)
10148 (native-inputs
10149 `(("lisp-unit" ,sbcl-lisp-unit)))
10150 (inputs
10151 `(("zpng" ,sbcl-zpng)))
10152 (synopsis "QR code encoder for Common Lisp")
10153 (description
10154 "This Common Lisp library provides function to make QR codes and to save
10155 them as PNG files.")
10156 (home-page "https://github.com/jnjcc/cl-qrencode")
10157 (license license:gpl2+)))
10158
10159 (define-public cl-qrencode
10160 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10161
10162 (define-public ecl-cl-qrencode
10163 (sbcl-package->ecl-package sbcl-cl-qrencode))