gnu: Add cl-pzmq.
[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 ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
20 ;;;
21 ;;; This file is part of GNU Guix.
22 ;;;
23 ;;; GNU Guix is free software; you can redistribute it and/or modify it
24 ;;; under the terms of the GNU General Public License as published by
25 ;;; the Free Software Foundation; either version 3 of the License, or (at
26 ;;; your option) any later version.
27 ;;;
28 ;;; GNU Guix is distributed in the hope that it will be useful, but
29 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
30 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 ;;; GNU General Public License for more details.
32 ;;;
33 ;;; You should have received a copy of the GNU General Public License
34 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35
36 ;;; This file only contains Common Lisp libraries.
37 ;;; Common Lisp compilers and tooling go to lisp.scm.
38 ;;; Common Lisp applications should go to the most appropriate file,
39 ;;; e.g. StumpWM is in wm.scm.
40
41 (define-module (gnu packages lisp-xyz)
42 #:use-module (gnu packages)
43 #:use-module ((guix licenses) #:prefix license:)
44 #:use-module (guix packages)
45 #:use-module (guix download)
46 #:use-module (guix git-download)
47 #:use-module (guix hg-download)
48 #:use-module (guix utils)
49 #:use-module (guix build-system asdf)
50 #:use-module (guix build-system trivial)
51 #:use-module (gnu packages c)
52 #:use-module (gnu packages compression)
53 #:use-module (gnu packages glib)
54 #:use-module (gnu packages gtk)
55 #:use-module (gnu packages imagemagick)
56 #:use-module (gnu packages libevent)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages lisp)
59 #:use-module (gnu packages maths)
60 #:use-module (gnu packages networking)
61 #:use-module (gnu packages pkg-config)
62 #:use-module (gnu packages python)
63 #:use-module (gnu packages python-xyz)
64 #:use-module (gnu packages sqlite)
65 #:use-module (gnu packages tcl)
66 #:use-module (gnu packages tls)
67 #:use-module (gnu packages webkit)
68 #:use-module (gnu packages xdisorg)
69 #:use-module (ice-9 match)
70 #:use-module (srfi srfi-19))
71
72 (define-public sbcl-alexandria
73 (let ((revision "1")
74 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
75 (package
76 (name "sbcl-alexandria")
77 (version (git-version "1.0.0" revision commit))
78 (source
79 (origin
80 (method git-fetch)
81 (uri (git-reference
82 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
83 (commit commit)))
84 (sha256
85 (base32
86 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
87 (file-name (git-file-name name version))))
88 (build-system asdf-build-system/sbcl)
89 (native-inputs
90 `(("rt" ,sbcl-rt)))
91 (synopsis "Collection of portable utilities for Common Lisp")
92 (description
93 "Alexandria is a collection of portable utilities. It does not contain
94 conceptual extensions to Common Lisp. It is conservative in scope, and
95 portable between implementations.")
96 (home-page "https://common-lisp.net/project/alexandria/")
97 (license license:public-domain))))
98
99 (define-public cl-alexandria
100 (sbcl-package->cl-source-package sbcl-alexandria))
101
102 (define-public ecl-alexandria
103 (sbcl-package->ecl-package sbcl-alexandria))
104
105 (define-public sbcl-net.didierverna.asdf-flv
106 (package
107 (name "sbcl-net.didierverna.asdf-flv")
108 (version "2.1")
109 (source
110 (origin
111 (method git-fetch)
112 (uri (git-reference
113 (url "https://github.com/didierverna/asdf-flv")
114 (commit (string-append "version-" version))))
115 (file-name (git-file-name "asdf-flv" version))
116 (sha256
117 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
118 (build-system asdf-build-system/sbcl)
119 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
120 (description "ASDF-FLV provides support for file-local variables through
121 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
122 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
123 dynamic binding is created before processing the file, so that any
124 modification to the variable becomes essentially file-local.
125
126 In order to make one or several variables file-local, use the macros
127 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
128 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
129 (license (license:non-copyleft
130 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
131 "GNU All-Permissive License"))))
132
133 (define-public cl-net.didierverna.asdf-flv
134 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
135
136 (define-public ecl-net.didierverna.asdf-flv
137 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
138
139 (define-public sbcl-fiveam
140 (package
141 (name "sbcl-fiveam")
142 (version "1.4.1")
143 (source
144 (origin
145 (method git-fetch)
146 (uri (git-reference
147 (url "https://github.com/sionescu/fiveam.git")
148 (commit (string-append "v" version))))
149 (file-name (git-file-name "fiveam" version))
150 (sha256
151 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
152 (inputs
153 `(("alexandria" ,sbcl-alexandria)
154 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
155 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
156 (build-system asdf-build-system/sbcl)
157 (synopsis "Common Lisp testing framework")
158 (description "FiveAM is a simple (as far as writing and running tests
159 goes) regression testing framework. It has been designed with Common Lisp's
160 interactive development model in mind.")
161 (home-page "https://common-lisp.net/project/fiveam/")
162 (license license:bsd-3)))
163
164 (define-public cl-fiveam
165 (sbcl-package->cl-source-package sbcl-fiveam))
166
167 (define-public ecl-fiveam
168 (sbcl-package->ecl-package sbcl-fiveam))
169
170 (define-public sbcl-bordeaux-threads
171 (package
172 (name "sbcl-bordeaux-threads")
173 (version "0.8.7")
174 (source (origin
175 (method git-fetch)
176 (uri (git-reference
177 (url "https://github.com/sionescu/bordeaux-threads.git")
178 (commit (string-append "v" version))))
179 (sha256
180 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
181 (file-name
182 (git-file-name "bordeaux-threads" version))))
183 (inputs `(("alexandria" ,sbcl-alexandria)))
184 (native-inputs `(("fiveam" ,sbcl-fiveam)))
185 (build-system asdf-build-system/sbcl)
186 (synopsis "Portable shared-state concurrency library for Common Lisp")
187 (description "BORDEAUX-THREADS is a proposed standard for a minimal
188 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
189 support.")
190 (home-page "https://common-lisp.net/project/bordeaux-threads/")
191 (license license:x11)))
192
193 (define-public cl-bordeaux-threads
194 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
195
196 (define-public ecl-bordeaux-threads
197 (sbcl-package->ecl-package sbcl-bordeaux-threads))
198
199 (define-public sbcl-trivial-gray-streams
200 (let ((revision "1")
201 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
202 (package
203 (name "sbcl-trivial-gray-streams")
204 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
205 (source
206 (origin
207 (method git-fetch)
208 (uri
209 (git-reference
210 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
211 (commit commit)))
212 (sha256
213 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
214 (file-name
215 (string-append "trivial-gray-streams-" version "-checkout"))))
216 (build-system asdf-build-system/sbcl)
217 (synopsis "Compatibility layer for Gray streams implementations")
218 (description "Gray streams is an interface proposed for inclusion with
219 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
220 popular CL implementations implement it. This package provides an extremely
221 thin compatibility layer for gray streams.")
222 (home-page "https://www.cliki.net/trivial-gray-streams")
223 (license license:x11))))
224
225 (define-public cl-trivial-gray-streams
226 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
227
228 (define-public ecl-trivial-gray-streams
229 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
230
231 (define-public sbcl-fiasco
232 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
233 (revision "1"))
234 (package
235 (name "sbcl-fiasco")
236 (version (git-version "0.0.1" revision commit))
237 (source
238 (origin
239 (method git-fetch)
240 (uri (git-reference
241 (url "https://github.com/joaotavora/fiasco.git")
242 (commit commit)))
243 (file-name (git-file-name "fiasco" version))
244 (sha256
245 (base32
246 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
247 (build-system asdf-build-system/sbcl)
248 (inputs
249 `(("alexandria" ,sbcl-alexandria)
250 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
251 (synopsis "Simple and powerful test framework for Common Lisp")
252 (description "A Common Lisp test framework that treasures your failures,
253 logical continuation of Stefil. It focuses on interactive debugging.")
254 (home-page "https://github.com/joaotavora/fiasco")
255 ;; LICENCE specifies this is public-domain unless the legislation
256 ;; doesn't allow or recognize it. In that case it falls back to a
257 ;; permissive licence.
258 (license (list license:public-domain
259 (license:x11-style "file://LICENCE"))))))
260
261 (define-public cl-fiasco
262 (sbcl-package->cl-source-package sbcl-fiasco))
263
264 (define-public ecl-fiasco
265 (sbcl-package->ecl-package sbcl-fiasco))
266
267 (define-public sbcl-flexi-streams
268 (package
269 (name "sbcl-flexi-streams")
270 (version "1.0.18")
271 (source
272 (origin
273 (method git-fetch)
274 (uri (git-reference
275 (url "https://github.com/edicl/flexi-streams.git")
276 (commit (string-append "v" version))))
277 (file-name (git-file-name "flexi-streams" version))
278 (sha256
279 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
280 (build-system asdf-build-system/sbcl)
281 (arguments
282 `(#:phases
283 (modify-phases %standard-phases
284 (add-after 'unpack 'make-git-checkout-writable
285 (lambda _
286 (for-each make-file-writable (find-files "."))
287 #t)))))
288 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
289 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
290 (description "Flexi-streams is an implementation of \"virtual\" bivalent
291 streams that can be layered atop real binary or bivalent streams and that can
292 be used to read and write character data in various single- or multi-octet
293 encodings which can be changed on the fly. It also supplies in-memory binary
294 streams which are similar to string streams.")
295 (home-page "http://weitz.de/flexi-streams/")
296 (license license:bsd-3)))
297
298 (define-public cl-flexi-streams
299 (sbcl-package->cl-source-package sbcl-flexi-streams))
300
301 (define-public ecl-flexi-streams
302 (sbcl-package->ecl-package sbcl-flexi-streams))
303
304 (define-public sbcl-cl-ppcre
305 (package
306 (name "sbcl-cl-ppcre")
307 (version "2.1.1")
308 (source
309 (origin
310 (method git-fetch)
311 (uri (git-reference
312 (url "https://github.com/edicl/cl-ppcre.git")
313 (commit (string-append "v" version))))
314 (file-name (git-file-name "cl-ppcre" version))
315 (sha256
316 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
317 (build-system asdf-build-system/sbcl)
318 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
319 (synopsis "Portable regular expression library for Common Lisp")
320 (description "CL-PPCRE is a portable regular expression library for Common
321 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
322 compatible with ANSI-compliant Common Lisp implementations.")
323 (home-page "http://weitz.de/cl-ppcre/")
324 (license license:bsd-2)))
325
326 (define-public cl-ppcre
327 (sbcl-package->cl-source-package sbcl-cl-ppcre))
328
329 (define-public ecl-cl-ppcre
330 (sbcl-package->ecl-package sbcl-cl-ppcre))
331
332 (define sbcl-cl-unicode-base
333 (package
334 (name "sbcl-cl-unicode-base")
335 (version "0.1.6")
336 (source (origin
337 (method git-fetch)
338 (uri (git-reference
339 (url "https://github.com/edicl/cl-unicode.git")
340 (commit (string-append "v" version))))
341 (file-name (git-file-name name version))
342 (sha256
343 (base32
344 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
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 (define-public ecl-cl-ppcre-unicode
631 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
632
633 ;; The slynk that users expect to install includes all of slynk's contrib
634 ;; modules. Therefore, we build the base module and all contribs first; then
635 ;; we expose the union of these as `sbcl-slynk'. The following variable
636 ;; describes the base module.
637 (define sbcl-slynk-boot0
638 (let ((revision "2")
639 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
640 (package
641 (name "sbcl-slynk-boot0")
642 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
643 (source
644 (origin
645 (method git-fetch)
646 (uri
647 (git-reference
648 (url "https://github.com/joaotavora/sly.git")
649 (commit commit)))
650 (sha256
651 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
652 (file-name (string-append "slynk-" version "-checkout"))
653 (modules '((guix build utils)
654 (ice-9 ftw)))
655 (snippet
656 '(begin
657 ;; Move the contribs into the main source directory for easier
658 ;; access
659 (substitute* "slynk/slynk.asd"
660 (("\\.\\./contrib")
661 "contrib")
662 (("\\(defsystem :slynk/util")
663 "(defsystem :slynk/util :depends-on (:slynk)")
664 ((":depends-on \\(:slynk :slynk/util\\)")
665 ":depends-on (:slynk :slynk-util)"))
666 (substitute* "contrib/slynk-trace-dialog.lisp"
667 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
668 "nil"))
669 (substitute* "contrib/slynk-profiler.lisp"
670 (("slynk:to-line")
671 "slynk-pprint-to-line"))
672 (substitute* "contrib/slynk-fancy-inspector.lisp"
673 (("slynk/util") "slynk-util")
674 ((":compile-toplevel :load-toplevel") ""))
675 (rename-file "contrib" "slynk/contrib")
676 ;; Move slynk's contents into the base directory for easier
677 ;; access
678 (for-each (lambda (file)
679 (unless (string-prefix? "." file)
680 (rename-file (string-append "slynk/" file)
681 (string-append "./" (basename file)))))
682 (scandir "slynk"))
683 #t))))
684 (build-system asdf-build-system/sbcl)
685 (arguments
686 `(#:tests? #f ; No test suite
687 #:asd-system-name "slynk"))
688 (synopsis "Common Lisp IDE for Emacs")
689 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
690 It also features a completely redesigned REPL based on Emacs's own
691 full-featured comint.el, live code annotations, and a consistent interactive
692 button interface. Everything can be copied to the REPL. One can create
693 multiple inspectors with independent history.")
694 (home-page "https://github.com/joaotavora/sly")
695 (license license:public-domain)
696 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
697
698 (define-public cl-slynk
699 (package
700 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
701 (name "cl-slynk")))
702
703 (define ecl-slynk-boot0
704 (sbcl-package->ecl-package sbcl-slynk-boot0))
705
706 (define sbcl-slynk-arglists
707 (package
708 (inherit sbcl-slynk-boot0)
709 (name "sbcl-slynk-arglists")
710 (inputs `(("slynk" ,sbcl-slynk-boot0)))
711 (arguments
712 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
713 ((#:asd-file _ "") "slynk.asd")
714 ((#:asd-system-name _ #f) "slynk/arglists")))))
715
716 (define ecl-slynk-arglists
717 (sbcl-package->ecl-package sbcl-slynk-arglists))
718
719 (define sbcl-slynk-util
720 (package
721 (inherit sbcl-slynk-boot0)
722 (name "sbcl-slynk-util")
723 (inputs `(("slynk" ,sbcl-slynk-boot0)))
724 (arguments
725 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
726 ((#:asd-file _ "") "slynk.asd")
727 ((#:asd-system-name _ #f) "slynk/util")))))
728
729 (define ecl-slynk-util
730 (sbcl-package->ecl-package sbcl-slynk-util))
731
732 (define sbcl-slynk-fancy-inspector
733 (package
734 (inherit sbcl-slynk-arglists)
735 (name "sbcl-slynk-fancy-inspector")
736 (inputs `(("slynk-util" ,sbcl-slynk-util)
737 ,@(package-inputs sbcl-slynk-arglists)))
738 (arguments
739 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
740 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
741
742 (define ecl-slynk-fancy-inspector
743 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
744
745 (define sbcl-slynk-package-fu
746 (package
747 (inherit sbcl-slynk-arglists)
748 (name "sbcl-slynk-package-fu")
749 (arguments
750 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
751 ((#:asd-system-name _ #f) "slynk/package-fu")))))
752
753 (define ecl-slynk-package-fu
754 (sbcl-package->ecl-package sbcl-slynk-package-fu))
755
756 (define sbcl-slynk-mrepl
757 (package
758 (inherit sbcl-slynk-fancy-inspector)
759 (name "sbcl-slynk-mrepl")
760 (arguments
761 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
762 ((#:asd-system-name _ #f) "slynk/mrepl")))))
763
764 (define ecl-slynk-mrepl
765 (sbcl-package->ecl-package sbcl-slynk-mrepl))
766
767 (define sbcl-slynk-trace-dialog
768 (package
769 (inherit sbcl-slynk-arglists)
770 (name "sbcl-slynk-trace-dialog")
771 (arguments
772 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
773 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
774
775 (define ecl-slynk-trace-dialog
776 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
777
778 (define sbcl-slynk-profiler
779 (package
780 (inherit sbcl-slynk-arglists)
781 (name "sbcl-slynk-profiler")
782 (arguments
783 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
784 ((#:asd-system-name _ #f) "slynk/profiler")))))
785
786 (define ecl-slynk-profiler
787 (sbcl-package->ecl-package sbcl-slynk-profiler))
788
789 (define sbcl-slynk-stickers
790 (package
791 (inherit sbcl-slynk-arglists)
792 (name "sbcl-slynk-stickers")
793 (arguments
794 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
795 ((#:asd-system-name _ #f) "slynk/stickers")))))
796
797 (define ecl-slynk-stickers
798 (sbcl-package->ecl-package sbcl-slynk-stickers))
799
800 (define sbcl-slynk-indentation
801 (package
802 (inherit sbcl-slynk-arglists)
803 (name "sbcl-slynk-indentation")
804 (arguments
805 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
806 ((#:asd-system-name _ #f) "slynk/indentation")))))
807
808 (define ecl-slynk-indentation
809 (sbcl-package->ecl-package sbcl-slynk-indentation))
810
811 (define sbcl-slynk-retro
812 (package
813 (inherit sbcl-slynk-arglists)
814 (name "sbcl-slynk-retro")
815 (arguments
816 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
817 ((#:asd-system-name _ #f) "slynk/retro")))))
818
819 (define ecl-slynk-retro
820 (sbcl-package->ecl-package sbcl-slynk-retro))
821
822 (define slynk-systems
823 '("slynk"
824 "slynk-util"
825 "slynk-arglists"
826 "slynk-fancy-inspector"
827 "slynk-package-fu"
828 "slynk-mrepl"
829 "slynk-profiler"
830 "slynk-trace-dialog"
831 "slynk-stickers"
832 "slynk-indentation"
833 "slynk-retro"))
834
835 (define-public sbcl-slynk
836 (package
837 (inherit sbcl-slynk-boot0)
838 (name "sbcl-slynk")
839 (inputs
840 `(("slynk" ,sbcl-slynk-boot0)
841 ("slynk-util" ,sbcl-slynk-util)
842 ("slynk-arglists" ,sbcl-slynk-arglists)
843 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
844 ("slynk-package-fu" ,sbcl-slynk-package-fu)
845 ("slynk-mrepl" ,sbcl-slynk-mrepl)
846 ("slynk-profiler" ,sbcl-slynk-profiler)
847 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
848 ("slynk-stickers" ,sbcl-slynk-stickers)
849 ("slynk-indentation" ,sbcl-slynk-indentation)
850 ("slynk-retro" ,sbcl-slynk-retro)))
851 (native-inputs `(("sbcl" ,sbcl)))
852 (build-system trivial-build-system)
853 (source #f)
854 (outputs '("out" "image"))
855 (arguments
856 `(#:modules ((guix build union)
857 (guix build utils)
858 (guix build lisp-utils))
859 #:builder
860 (begin
861 (use-modules (ice-9 match)
862 (srfi srfi-1)
863 (guix build union)
864 (guix build lisp-utils))
865
866 (union-build
867 (assoc-ref %outputs "out")
868 (filter-map
869 (match-lambda
870 ((name . path)
871 (if (string-prefix? "slynk" name) path #f)))
872 %build-inputs))
873
874 (prepend-to-source-registry
875 (string-append (assoc-ref %outputs "out") "//"))
876
877 (parameterize ((%lisp-type "sbcl")
878 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
879 "/bin/sbcl")))
880 (build-image (string-append
881 (assoc-ref %outputs "image")
882 "/bin/slynk")
883 %outputs
884 #:dependencies ',slynk-systems))
885 #t)))))
886
887 (define-public ecl-slynk
888 (package
889 (inherit sbcl-slynk)
890 (name "ecl-slynk")
891 (inputs
892 (map (match-lambda
893 ((name pkg . _)
894 (list name (sbcl-package->ecl-package pkg))))
895 (package-inputs sbcl-slynk)))
896 (native-inputs '())
897 (outputs '("out"))
898 (arguments
899 '(#:modules ((guix build union))
900 #:builder
901 (begin
902 (use-modules (ice-9 match)
903 (guix build union))
904 (match %build-inputs
905 (((names . paths) ...)
906 (union-build (assoc-ref %outputs "out")
907 paths)
908 #t)))))))
909
910 (define-public sbcl-parse-js
911 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
912 (revision "1"))
913 (package
914 (name "sbcl-parse-js")
915 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
916 (source
917 (origin
918 (method git-fetch)
919 (uri (git-reference
920 (url "http://marijn.haverbeke.nl/git/parse-js")
921 (commit commit)))
922 (file-name (string-append name "-" commit "-checkout"))
923 (sha256
924 (base32
925 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
926 (build-system asdf-build-system/sbcl)
927 (home-page "http://marijnhaverbeke.nl/parse-js/")
928 (synopsis "Parse JavaScript")
929 (description "Parse-js is a Common Lisp package for parsing
930 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
931 (license license:zlib))))
932
933 (define-public cl-parse-js
934 (sbcl-package->cl-source-package sbcl-parse-js))
935
936 (define-public sbcl-parse-number
937 (package
938 (name "sbcl-parse-number")
939 (version "1.7")
940 (source
941 (origin
942 (method git-fetch)
943 (uri (git-reference
944 (url "https://github.com/sharplispers/parse-number/")
945 (commit (string-append "v" version))))
946 (file-name (git-file-name name version))
947 (sha256
948 (base32
949 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
950 (build-system asdf-build-system/sbcl)
951 (home-page "http://www.cliki.net/PARSE-NUMBER")
952 (synopsis "Parse numbers")
953 (description "@code{parse-number} is a library of functions for parsing
954 strings into one of the standard Common Lisp number types without using the
955 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
956 the string into one of the standard Common Lisp number types, if possible, or
957 else @code{parse-number} signals an error of type @code{invalid-number}.")
958 (license license:bsd-3)))
959
960 (define-public cl-parse-number
961 (sbcl-package->cl-source-package sbcl-parse-number))
962
963 (define-public sbcl-iterate
964 (package
965 (name "sbcl-iterate")
966 (version "1.5")
967 (source
968 (origin
969 (method url-fetch)
970 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
971 "iterate-" version ".tar.gz"))
972 (sha256
973 (base32
974 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
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 "2.0.0")
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 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1428 (file-name (git-file-name "split-sequence" version))))
1429 (build-system asdf-build-system/sbcl)
1430 (native-inputs
1431 `(("fiveam" ,sbcl-fiveam)))
1432 (synopsis "Member of the Common Lisp Utilities family of programs")
1433 (description
1434 "Splits sequence into a list of subsequences delimited by objects
1435 satisfying the test.")
1436 (home-page "https://cliki.net/split-sequence")
1437 (license license:expat)))
1438
1439 (define-public cl-split-sequence
1440 (sbcl-package->cl-source-package sbcl-split-sequence))
1441
1442 (define-public ecl-split-sequence
1443 (sbcl-package->ecl-package sbcl-split-sequence))
1444
1445 (define-public sbcl-html-encode
1446 (package
1447 (name "sbcl-html-encode")
1448 (version "1.2")
1449 (source
1450 (origin
1451 (method url-fetch)
1452 (uri (string-append
1453 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1454 version ".tgz"))
1455 (sha256
1456 (base32
1457 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1458 (file-name (string-append "colorize" version "-checkout"))))
1459 (build-system asdf-build-system/sbcl)
1460 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1461 (description
1462 "A library for encoding text in various web-savvy encodings.")
1463 (home-page "http://quickdocs.org/html-encode/")
1464 (license license:expat)))
1465
1466 (define-public cl-html-encode
1467 (sbcl-package->cl-source-package sbcl-html-encode))
1468
1469 (define-public ecl-html-encode
1470 (sbcl-package->ecl-package sbcl-html-encode))
1471
1472 (define-public sbcl-colorize
1473 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1474 (package
1475 (name "sbcl-colorize")
1476 (version (git-version "0.0.0" "1" commit))
1477 (source
1478 (origin
1479 (method git-fetch)
1480 (uri (git-reference
1481 (url "https://github.com/kingcons/colorize")
1482 (commit commit)))
1483 (sha256
1484 (base32
1485 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1486 (file-name (git-file-name "colorize" version))))
1487 (build-system asdf-build-system/sbcl)
1488 (inputs
1489 `(("alexandria" ,sbcl-alexandria)
1490 ("split-sequence" ,sbcl-split-sequence)
1491 ("html-encode" ,sbcl-html-encode)))
1492 (synopsis "Common Lisp for syntax highlighting")
1493 (description
1494 "@command{colorize} is a Lisp library for syntax highlighting
1495 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1496 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1497 (home-page "https://github.com/kingcons/colorize")
1498 ;; TODO: Missing license?
1499 (license license:expat))))
1500
1501 (define-public cl-colorize
1502 (sbcl-package->cl-source-package sbcl-colorize))
1503
1504 (define-public ecl-colorize
1505 (sbcl-package->ecl-package sbcl-colorize))
1506
1507 (define-public sbcl-3bmd
1508 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1509 (package
1510 (name "sbcl-3bmd")
1511 (version (git-version "0.0.0" "1" commit))
1512 (source
1513 (origin
1514 (method git-fetch)
1515 (uri (git-reference
1516 (url "https://github.com/3b/3bmd")
1517 (commit commit)))
1518 (sha256
1519 (base32
1520 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1521 (file-name (git-file-name "3bmd" version))))
1522 (build-system asdf-build-system/sbcl)
1523 (arguments
1524 ;; FIXME: We need to specify the name because the build-system thinks
1525 ;; "3" is a version marker.
1526 `(#:asd-system-name "3bmd"))
1527 (inputs
1528 `(("esrap" ,sbcl-esrap)
1529 ("split-sequence" ,sbcl-split-sequence)))
1530 (synopsis "Markdown processor in Command Lisp using esrap parser")
1531 (description
1532 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1533 parsing, and grammar based on @command{peg-markdown}.")
1534 (home-page "https://github.com/3b/3bmd")
1535 (license license:expat))))
1536
1537 (define-public cl-3bmd
1538 (sbcl-package->cl-source-package sbcl-3bmd))
1539
1540 (define-public ecl-3bmd
1541 (sbcl-package->ecl-package sbcl-3bmd))
1542
1543 (define-public sbcl-3bmd-ext-code-blocks
1544 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1545 (package
1546 (inherit sbcl-3bmd)
1547 (name "sbcl-3bmd-ext-code-blocks")
1548 (arguments
1549 `(#:asd-system-name "3bmd-ext-code-blocks"
1550 #:asd-file "3bmd-ext-code-blocks.asd"))
1551 (inputs
1552 `(("3bmd" ,sbcl-3bmd)
1553 ("colorize" ,sbcl-colorize)))
1554 (synopsis "3bmd extension which adds support for GitHub-style fenced
1555 code blocks")
1556 (description
1557 "3bmd extension which adds support for GitHub-style fenced code blocks,
1558 with @command{colorize} support."))))
1559
1560 (define-public cl-3bmd-ext-code-blocks
1561 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1562
1563 (define-public ecl-3bmd-ext-code-blocks
1564 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1565
1566 (define-public sbcl-cl-fad
1567 (package
1568 (name "sbcl-cl-fad")
1569 (version "0.7.6")
1570 (source
1571 (origin
1572 (method git-fetch)
1573 (uri (git-reference
1574 (url "https://github.com/edicl/cl-fad/")
1575 (commit (string-append "v" version))))
1576 (sha256
1577 (base32
1578 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1579 (file-name (string-append "cl-fad" version "-checkout"))))
1580 (build-system asdf-build-system/sbcl)
1581 (inputs
1582 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1583 (synopsis "Portable pathname library for Common Lisp")
1584 (description
1585 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1586 Lisp's standard pathname functions. It is intended to provide some
1587 unification between current CL implementations on Windows, OS X, Linux, and
1588 Unix. Most of the code was written by Peter Seibel for his book Practical
1589 Common Lisp.")
1590 (home-page "https://edicl.github.io/cl-fad/")
1591 (license license:bsd-2)))
1592
1593 (define-public cl-fad
1594 (sbcl-package->cl-source-package sbcl-cl-fad))
1595
1596 (define-public ecl-cl-fad
1597 (sbcl-package->ecl-package sbcl-cl-fad))
1598
1599 (define-public sbcl-rt
1600 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1601 (revision "1"))
1602 (package
1603 (name "sbcl-rt")
1604 (version (git-version "1990.12.19" revision commit))
1605 (source
1606 (origin
1607 (method git-fetch)
1608 (uri (git-reference
1609 (url "http://git.kpe.io/rt.git")
1610 (commit commit)))
1611 (file-name (git-file-name name version))
1612 (sha256
1613 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1614 (build-system asdf-build-system/sbcl)
1615 (synopsis "MIT Regression Tester")
1616 (description
1617 "RT provides a framework for writing regression test suites.")
1618 (home-page "https://www.cliki.net/rt")
1619 (license license:expat))))
1620
1621 (define-public cl-rt
1622 (sbcl-package->cl-source-package sbcl-rt))
1623
1624 (define-public ecl-rt
1625 (sbcl-package->ecl-package sbcl-rt))
1626
1627 (define-public sbcl-nibbles
1628 (package
1629 (name "sbcl-nibbles")
1630 (version "0.14")
1631 (source
1632 (origin
1633 (method git-fetch)
1634 (uri (git-reference
1635 (url "https://github.com/sharplispers/nibbles/")
1636 (commit (string-append "v" version))))
1637 (sha256
1638 (base32
1639 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1640 (file-name (git-file-name "nibbles" version))))
1641 (build-system asdf-build-system/sbcl)
1642 (native-inputs
1643 ;; Tests only.
1644 `(("rt" ,sbcl-rt)))
1645 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1646 (description
1647 "When dealing with network protocols and file formats, it's common to
1648 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1649 flavors. Common Lisp sort of supports this by specifying :element-type for
1650 streams, but that facility is underspecified and there's nothing similar for
1651 read/write from octet vectors. What most people wind up doing is rolling their
1652 own small facility for their particular needs and calling it a day.
1653
1654 This library attempts to be comprehensive and centralize such
1655 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1656 vectors in signed or unsigned flavors are provided; these functions are also
1657 SETFable. Since it's sometimes desirable to read/write directly from streams,
1658 functions for doing so are also provided. On some implementations,
1659 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1660 also be supported.")
1661 (home-page "https://github.com/sharplispers/nibbles")
1662 (license license:bsd-3)))
1663
1664 (define-public cl-nibbles
1665 (sbcl-package->cl-source-package sbcl-nibbles))
1666
1667 (define-public ecl-nibbles
1668 (sbcl-package->ecl-package sbcl-nibbles))
1669
1670 (define-public sbcl-ironclad
1671 (package
1672 (name "sbcl-ironclad")
1673 (version "0.48")
1674 (source
1675 (origin
1676 (method git-fetch)
1677 (uri (git-reference
1678 (url "https://github.com/sharplispers/ironclad/")
1679 (commit (string-append "v" version))))
1680 (sha256
1681 (base32
1682 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
1683 (file-name (git-file-name name version))))
1684 (build-system asdf-build-system/sbcl)
1685 (native-inputs
1686 ;; Tests only.
1687 `(("rt" ,sbcl-rt)))
1688 (inputs
1689 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1690 ("flexi-streams" ,sbcl-flexi-streams)))
1691 (synopsis "Cryptographic toolkit written in Common Lisp")
1692 (description
1693 "Ironclad is a cryptography library written entirely in Common Lisp.
1694 It includes support for several popular ciphers, digests, MACs and public key
1695 cryptography algorithms. For several implementations that support Gray
1696 streams, support is included for convenient stream wrappers.")
1697 (home-page "https://github.com/sharplispers/ironclad")
1698 (license license:bsd-3)))
1699
1700 (define-public cl-ironclad
1701 (sbcl-package->cl-source-package sbcl-ironclad))
1702
1703 (define-public ecl-ironclad
1704 (sbcl-package->ecl-package sbcl-ironclad))
1705
1706 (define-public sbcl-named-readtables
1707 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1708 (revision "1"))
1709 (package
1710 (name "sbcl-named-readtables")
1711 (version (string-append "0.9-" revision "." (string-take commit 7)))
1712 (source
1713 (origin
1714 (method git-fetch)
1715 (uri (git-reference
1716 (url "https://github.com/melisgl/named-readtables.git")
1717 (commit commit)))
1718 (sha256
1719 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1720 (file-name (git-file-name "named-readtables" version))))
1721 (build-system asdf-build-system/sbcl)
1722 (arguments
1723 ;; Tests seem to be broken.
1724 `(#:tests? #f))
1725 (home-page "https://github.com/melisgl/named-readtables/")
1726 (synopsis "Library that creates a namespace for named readtables")
1727 (description "Named readtables is a library that creates a namespace for
1728 named readtables, which is akin to package namespacing in Common Lisp.")
1729 (license license:bsd-3))))
1730
1731 (define-public cl-named-readtables
1732 (sbcl-package->cl-source-package sbcl-named-readtables))
1733
1734 (define-public ecl-named-readtables
1735 (sbcl-package->ecl-package sbcl-named-readtables))
1736
1737 (define-public sbcl-pythonic-string-reader
1738 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1739 (package
1740 (name "sbcl-pythonic-string-reader")
1741 (version (git-version "0.0.0" "1" commit))
1742 (source
1743 (origin
1744 (method git-fetch)
1745 (uri (git-reference
1746 (url "https://github.com/smithzvk/pythonic-string-reader/")
1747 (commit commit)))
1748 (sha256
1749 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1750 (file-name (git-file-name "pythonic-string-reader" version))))
1751 (build-system asdf-build-system/sbcl)
1752 (inputs
1753 `(("named-readtables" ,sbcl-named-readtables)))
1754 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1755 (synopsis "Read table modification inspired by Python's three quote strings")
1756 (description "This piece of code sets up some reader macros that make it
1757 simpler to input string literals which contain backslashes and double quotes
1758 This is very useful for writing complicated docstrings and, as it turns out,
1759 writing code that contains string literals that contain code themselves.")
1760 (license license:bsd-3))))
1761
1762 (define-public cl-pythonic-string-reader
1763 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1764
1765 (define-public ecl-pythonic-string-reader
1766 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1767
1768 ;; SLIME does not have a ASDF system definition to build all of Swank. As a
1769 ;; result, the asdf-build-system/sbcl will produce an almost empty package.
1770 ;; Some work was done to fix this at
1771 ;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1772 ;; and is now lagging behind. Building SBCL fasls might not be worth the
1773 ;; hassle, so let's just ship the source then.
1774 (define-public cl-slime-swank
1775 (package
1776 (name "cl-slime-swank")
1777 (version "2.24")
1778 (source
1779 (origin
1780 (file-name (string-append name "-" version ".tar.gz"))
1781 (method git-fetch)
1782 (uri (git-reference
1783 (url "https://github.com/slime/slime/")
1784 (commit (string-append "v" version))))
1785 (sha256
1786 (base32
1787 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1788 (build-system asdf-build-system/source)
1789 (home-page "https://github.com/slime/slime")
1790 (synopsis "Common Lisp Swank server")
1791 (description
1792 "This is only useful if you want to start a Swank server in a Lisp
1793 processes that doesn't run under Emacs. Lisp processes created by
1794 @command{M-x slime} automatically start the server.")
1795 (license (list license:gpl2+ license:public-domain))))
1796
1797 (define-public sbcl-slime-swank
1798 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1799
1800 (define-public sbcl-mgl-pax
1801 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1802 (package
1803 (name "sbcl-mgl-pax")
1804 (version (git-version "0.0.0" "1" commit))
1805 (source
1806 (origin
1807 (method git-fetch)
1808 (uri (git-reference
1809 (url "https://github.com/melisgl/mgl-pax")
1810 (commit commit)))
1811 (sha256
1812 (base32
1813 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1814 (file-name (git-file-name "mgl-pax" version))))
1815 (build-system asdf-build-system/sbcl)
1816 (inputs
1817 `(("3bmd" ,sbcl-3bmd)
1818 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1819 ("babel" ,sbcl-babel)
1820 ("cl-fad" ,sbcl-cl-fad)
1821 ("ironclad" ,sbcl-ironclad)
1822 ("named-readtables" ,sbcl-named-readtables)
1823 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1824 (propagated-inputs
1825 ;; Packages having mgl-pax as input complain that it can't find
1826 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1827 `(("swank" ,cl-slime-swank)))
1828 (synopsis "Exploratory programming environment and documentation generator")
1829 (description
1830 "PAX provides an extremely poor man's Explorable Programming
1831 environment. Narrative primarily lives in so called sections that mix markdown
1832 docstrings with references to functions, variables, etc, all of which should
1833 probably have their own docstrings.
1834
1835 The primary focus is on making code easily explorable by using SLIME's
1836 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1837 fanciness in Emacs Integration. Generating documentation from sections and all
1838 the referenced items in Markdown or HTML format is also implemented.
1839
1840 With the simplistic tools provided, one may accomplish similar effects as with
1841 Literate Programming, but documentation is generated from code, not vice versa
1842 and there is no support for chunking yet. Code is first, code must look
1843 pretty, documentation is code.")
1844 (home-page "http://quotenil.com/")
1845 (license license:expat))))
1846
1847 (define-public cl-mgl-pax
1848 (sbcl-package->cl-source-package sbcl-mgl-pax))
1849
1850 (define-public ecl-mgl-pax
1851 (sbcl-package->ecl-package sbcl-mgl-pax))
1852
1853 (define-public sbcl-lisp-unit
1854 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1855 (package
1856 (name "sbcl-lisp-unit")
1857 (version (git-version "0.0.0" "1" commit))
1858 (source
1859 (origin
1860 (method git-fetch)
1861 (uri (git-reference
1862 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1863 (commit commit)))
1864 (sha256
1865 (base32
1866 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1867 (file-name (git-file-name "lisp-unit" version))))
1868 (build-system asdf-build-system/sbcl)
1869 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1870 (description
1871 "@command{lisp-unit} is a Common Lisp library that supports unit
1872 testing. It is an extension of the library written by Chris Riesbeck.")
1873 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1874 (license license:expat))))
1875
1876 (define-public cl-lisp-unit
1877 (sbcl-package->cl-source-package sbcl-lisp-unit))
1878
1879 (define-public ecl-lisp-unit
1880 (sbcl-package->ecl-package sbcl-lisp-unit))
1881
1882 (define-public sbcl-anaphora
1883 (package
1884 (name "sbcl-anaphora")
1885 (version "0.9.6")
1886 (source
1887 (origin
1888 (method git-fetch)
1889 (uri (git-reference
1890 (url "https://github.com/tokenrove/anaphora")
1891 (commit version)))
1892 (sha256
1893 (base32
1894 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1895 (file-name (git-file-name "anaphora" version))))
1896 (build-system asdf-build-system/sbcl)
1897 (native-inputs
1898 `(("rt" ,sbcl-rt)))
1899 (synopsis "The anaphoric macro collection from Hell")
1900 (description
1901 "Anaphora is the anaphoric macro collection from Hell: it includes many
1902 new fiends in addition to old friends like @command{aif} and
1903 @command{awhen}.")
1904 (home-page "https://github.com/tokenrove/anaphora")
1905 (license license:public-domain)))
1906
1907 (define-public cl-anaphora
1908 (sbcl-package->cl-source-package sbcl-anaphora))
1909
1910 (define-public ecl-anaphora
1911 (sbcl-package->ecl-package sbcl-anaphora))
1912
1913 (define-public sbcl-lift
1914 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1915 (package
1916 (name "sbcl-lift")
1917 (version (git-version "1.7.1" "1" commit))
1918 (source
1919 (origin
1920 (method git-fetch)
1921 (uri (git-reference
1922 (url "https://github.com/gwkkwg/lift")
1923 (commit commit)))
1924 (sha256
1925 (base32
1926 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1927 (file-name (git-file-name "lift" version))
1928 (modules '((guix build utils)))
1929 (snippet
1930 ;; Don't keep the bundled website
1931 `(begin
1932 (delete-file-recursively "website")
1933 #t))))
1934 (build-system asdf-build-system/sbcl)
1935 (arguments
1936 ;; The tests require a debugger, but we run with the debugger disabled.
1937 '(#:tests? #f))
1938 (synopsis "LIsp Framework for Testing")
1939 (description
1940 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1941 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1942 testcases are organized into hierarchical testsuites each of which can have
1943 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1944 supports randomized testing, benchmarking, profiling, and reporting.")
1945 (home-page "https://github.com/gwkkwg/lift")
1946 (license license:expat))))
1947
1948 (define-public cl-lift
1949 (sbcl-package->cl-source-package sbcl-lift))
1950
1951 (define-public ecl-lift
1952 (sbcl-package->ecl-package sbcl-lift))
1953
1954 (define-public sbcl-let-plus
1955 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1956 (package
1957 (name "sbcl-let-plus")
1958 (version (git-version "0.0.0" "1" commit))
1959 (source
1960 (origin
1961 (method git-fetch)
1962 (uri (git-reference
1963 (url "https://github.com/sharplispers/let-plus")
1964 (commit commit)))
1965 (sha256
1966 (base32
1967 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
1968 (file-name (git-file-name "let-plus" version))))
1969 (build-system asdf-build-system/sbcl)
1970 (inputs
1971 `(("alexandria" ,sbcl-alexandria)
1972 ("anaphora" ,sbcl-anaphora)))
1973 (native-inputs
1974 `(("lift" ,sbcl-lift)))
1975 (synopsis "Destructuring extension of let*")
1976 (description
1977 "This library implements the let+ macro, which is a dectructuring
1978 extension of let*. It features:
1979
1980 @itemize
1981 @item Clean, consistent syntax and small implementation (less than 300 LOC,
1982 not counting tests)
1983 @item Placeholder macros allow editor hints and syntax highlighting
1984 @item @command{&ign} for ignored values (in forms where that makes sense)
1985 @item Very easy to extend
1986 @end itemize\n")
1987 (home-page "https://github.com/sharplispers/let-plus")
1988 (license license:boost1.0))))
1989
1990 (define-public cl-let-plus
1991 (sbcl-package->cl-source-package sbcl-let-plus))
1992
1993 (define-public ecl-let-plus
1994 (sbcl-package->ecl-package sbcl-let-plus))
1995
1996 (define-public sbcl-cl-colors
1997 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
1998 (package
1999 (name "sbcl-cl-colors")
2000 (version (git-version "0.0.0" "1" commit))
2001 (source
2002 (origin
2003 (method git-fetch)
2004 (uri (git-reference
2005 (url "https://github.com/tpapp/cl-colors")
2006 (commit commit)))
2007 (sha256
2008 (base32
2009 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2010 (file-name (git-file-name "cl-colors" version))))
2011 (build-system asdf-build-system/sbcl)
2012 (inputs
2013 `(("alexandria" ,sbcl-alexandria)
2014 ("let-plus" ,sbcl-let-plus)))
2015 (synopsis "Simple color library for Common Lisp")
2016 (description
2017 "This is a very simple color library for Common Lisp, providing
2018
2019 @itemize
2020 @item Types for representing colors in HSV and RGB spaces.
2021 @item Simple conversion functions between the above types (and also
2022 hexadecimal representation for RGB).
2023 @item Some predefined colors (currently X11 color names – of course the
2024 library does not depend on X11).Because color in your terminal is nice.
2025 @end itemize
2026
2027 This library is no longer supported by its author.")
2028 (home-page "https://github.com/tpapp/cl-colors")
2029 (license license:boost1.0))))
2030
2031 (define-public cl-colors
2032 (sbcl-package->cl-source-package sbcl-cl-colors))
2033
2034 (define-public ecl-cl-colors
2035 (sbcl-package->ecl-package sbcl-cl-colors))
2036
2037 (define-public sbcl-cl-ansi-text
2038 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2039 (package
2040 (name "sbcl-cl-ansi-text")
2041 (version (git-version "1.0.0" "1" commit))
2042 (source
2043 (origin
2044 (method git-fetch)
2045 (uri (git-reference
2046 (url "https://github.com/pnathan/cl-ansi-text")
2047 (commit commit)))
2048 (sha256
2049 (base32
2050 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2051 (file-name (git-file-name "cl-ansi-text" version))))
2052 (build-system asdf-build-system/sbcl)
2053 (inputs
2054 `(("alexandria" ,sbcl-alexandria)
2055 ("cl-colors" ,sbcl-cl-colors)))
2056 (native-inputs
2057 `(("fiveam" ,sbcl-fiveam)))
2058 (synopsis "ANSI terminal color implementation for Common Lisp")
2059 (description
2060 "@command{cl-ansi-text} provides utilities which enable printing to an
2061 ANSI terminal with colored text. It provides the macro @command{with-color}
2062 which causes everything printed in the body to be displayed with the provided
2063 color. It further provides functions which will print the argument with the
2064 named color.")
2065 (home-page "https://github.com/pnathan/cl-ansi-text")
2066 (license license:llgpl))))
2067
2068 (define-public cl-ansi-text
2069 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2070
2071 (define-public ecl-cl-ansi-text
2072 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2073
2074 (define-public sbcl-prove-asdf
2075 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2076 (package
2077 (name "sbcl-prove-asdf")
2078 (version (git-version "1.0.0" "1" commit))
2079 (source
2080 (origin
2081 (method git-fetch)
2082 (uri (git-reference
2083 (url "https://github.com/fukamachi/prove")
2084 (commit commit)))
2085 (sha256
2086 (base32
2087 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2088 (file-name (git-file-name "prove" version))))
2089 (build-system asdf-build-system/sbcl)
2090 (arguments
2091 `(#:asd-file "prove-asdf.asd"))
2092 (synopsis "Test requirement for the Common Lisp 'prove' library")
2093 (description
2094 "Test requirement for the Common Lisp @command{prove} library.")
2095 (home-page "https://github.com/fukamachi/prove")
2096 (license license:expat))))
2097
2098 (define-public cl-prove-asdf
2099 (sbcl-package->cl-source-package sbcl-prove-asdf))
2100
2101 (define-public ecl-prove-asdf
2102 (sbcl-package->ecl-package sbcl-prove-asdf))
2103
2104 (define-public sbcl-prove
2105 (package
2106 (inherit sbcl-prove-asdf)
2107 (name "sbcl-prove")
2108 (inputs
2109 `(("alexandria" ,sbcl-alexandria)
2110 ("cl-ppcre" ,sbcl-cl-ppcre)
2111 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2112 (native-inputs
2113 `(("prove-asdf" ,sbcl-prove-asdf)))
2114 (arguments
2115 `(#:asd-file "prove.asd"))
2116 (synopsis "Yet another unit testing framework for Common Lisp")
2117 (description
2118 "This project was originally called @command{cl-test-more}.
2119 @command{prove} is yet another unit testing framework for Common Lisp. The
2120 advantages of @command{prove} are:
2121
2122 @itemize
2123 @item Various simple functions for testing and informative error messages
2124 @item ASDF integration
2125 @item Extensible test reporters
2126 @item Colorizes the report if it's available (note for SLIME)
2127 @item Reports test durations
2128 @end itemize\n")))
2129
2130 (define-public cl-prove
2131 (sbcl-package->cl-source-package sbcl-prove))
2132
2133 (define-public ecl-prove
2134 (sbcl-package->ecl-package sbcl-prove))
2135
2136 (define-public sbcl-proc-parse
2137 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2138 (package
2139 (name "sbcl-proc-parse")
2140 (version (git-version "0.0.0" "1" commit))
2141 (source
2142 (origin
2143 (method git-fetch)
2144 (uri (git-reference
2145 (url "https://github.com/fukamachi/proc-parse")
2146 (commit commit)))
2147 (sha256
2148 (base32
2149 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2150 (file-name (git-file-name "proc-parse" version))))
2151 (build-system asdf-build-system/sbcl)
2152 (inputs
2153 `(("alexandria" ,sbcl-alexandria)
2154 ("babel" ,sbcl-babel)))
2155 (native-inputs
2156 `(("prove" ,sbcl-prove)
2157 ("prove-asdf" ,sbcl-prove-asdf)))
2158 (arguments
2159 ;; TODO: Tests don't find "proc-parse-test", why?
2160 `(#:tests? #f))
2161 (synopsis "Procedural vector parser")
2162 (description
2163 "This is a string/octets parser library for Common Lisp with speed and
2164 readability in mind. Unlike other libraries, the code is not a
2165 pattern-matching-like, but a char-by-char procedural parser.")
2166 (home-page "https://github.com/fukamachi/proc-parse")
2167 (license license:bsd-2))))
2168
2169 (define-public cl-proc-parse
2170 (sbcl-package->cl-source-package sbcl-proc-parse))
2171
2172 (define-public ecl-proc-parse
2173 (sbcl-package->ecl-package sbcl-proc-parse))
2174
2175 (define-public sbcl-parse-float
2176 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2177 (package
2178 (name "sbcl-parse-float")
2179 (version (git-version "0.0.0" "1" commit))
2180 (source
2181 (origin
2182 (method git-fetch)
2183 (uri (git-reference
2184 (url "https://github.com/soemraws/parse-float")
2185 (commit commit)))
2186 (sha256
2187 (base32
2188 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2189 (file-name (git-file-name "proc-parse" version))))
2190 (build-system asdf-build-system/sbcl)
2191 (inputs
2192 `(("alexandria" ,sbcl-alexandria)
2193 ("babel" ,sbcl-babel)))
2194 (native-inputs
2195 `(("prove" ,sbcl-prove)
2196 ("prove-asdf" ,sbcl-prove-asdf)))
2197 (arguments
2198 ;; TODO: Tests don't find "proc-parse-test", why?
2199 `(#:tests? #f))
2200 (synopsis "Parse a floating point value from a string in Common Lisp")
2201 (description
2202 "This package exports the following function to parse floating-point
2203 values from a string in Common Lisp.")
2204 (home-page "https://github.com/soemraws/parse-float")
2205 (license license:public-domain))))
2206
2207 (define-public cl-parse-float
2208 (sbcl-package->cl-source-package sbcl-parse-float))
2209
2210 (define-public ecl-parse-float
2211 (sbcl-package->ecl-package sbcl-parse-float))
2212
2213 (define-public sbcl-ascii-strings
2214 (let ((revision "1")
2215 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2216 (package
2217 (name "sbcl-ascii-strings")
2218 (version (string-append "0-" revision "." (string-take changeset 7)))
2219 (source
2220 (origin
2221 (method hg-fetch)
2222 (uri (hg-reference
2223 (url "https://bitbucket.org/vityok/cl-string-match/")
2224 (changeset changeset)))
2225 (sha256
2226 (base32
2227 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2228 (file-name (git-file-name "cl-string-match" version))))
2229 (build-system asdf-build-system/sbcl)
2230 (inputs
2231 `(("alexandria" ,sbcl-alexandria)
2232 ("babel" ,sbcl-babel)))
2233 (arguments
2234 `(#:asd-file "ascii-strings.asd"))
2235 (synopsis "Operations on ASCII strings")
2236 (description
2237 "Operations on ASCII strings. Essentially this can be any kind of
2238 single-byte encoded strings.")
2239 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2240 (license license:bsd-3))))
2241
2242 (define-public cl-ascii-strings
2243 (sbcl-package->cl-source-package sbcl-ascii-strings))
2244
2245 (define-public ecl-ascii-strings
2246 (sbcl-package->ecl-package sbcl-ascii-strings))
2247
2248 (define-public sbcl-simple-scanf
2249 (package
2250 (inherit sbcl-ascii-strings)
2251 (name "sbcl-simple-scanf")
2252 (inputs
2253 `(("alexandria" ,sbcl-alexandria)
2254 ("iterate" ,sbcl-iterate)
2255 ("proc-parse" ,sbcl-proc-parse)
2256 ("parse-float" ,sbcl-parse-float)))
2257 (arguments
2258 `(#:asd-file "simple-scanf.asd"))
2259 (synopsis "Simple scanf-like functionality implementation")
2260 (description
2261 "A simple scanf-like functionality implementation.")))
2262
2263 (define-public cl-simple-scanf
2264 (sbcl-package->cl-source-package sbcl-simple-scanf))
2265
2266 (define-public ecl-simple-scanf
2267 (sbcl-package->ecl-package sbcl-simple-scanf))
2268
2269 (define-public sbcl-cl-string-match
2270 (package
2271 (inherit sbcl-ascii-strings)
2272 (name "sbcl-cl-string-match")
2273 (inputs
2274 `(("alexandria" ,sbcl-alexandria)
2275 ("ascii-strings" ,sbcl-ascii-strings)
2276 ("yacc" ,sbcl-cl-yacc)
2277 ("jpl-util" ,sbcl-jpl-util)
2278 ("jpl-queues" ,sbcl-jpl-queues)
2279 ("mgl-pax" ,sbcl-mgl-pax)
2280 ("iterate" ,sbcl-iterate)))
2281 ;; TODO: Tests are not evaluated properly.
2282 (native-inputs
2283 ;; For testing:
2284 `(("lisp-unit" ,sbcl-lisp-unit)
2285 ("simple-scanf" ,sbcl-simple-scanf)))
2286 (arguments
2287 `(#:tests? #f
2288 #:asd-file "cl-string-match.asd"))
2289 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2290 (description
2291 "@command{cl-strings} is a small, portable, dependency-free set of
2292 utilities that make it even easier to manipulate text in Common Lisp. It has
2293 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2294
2295 (define-public cl-string-match
2296 (sbcl-package->cl-source-package sbcl-cl-string-match))
2297
2298 (define-public ecl-cl-string-match
2299 (sbcl-package->ecl-package sbcl-cl-string-match))
2300
2301 (define-public sbcl-ptester
2302 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2303 (revision "1"))
2304 (package
2305 (name "sbcl-ptester")
2306 (version (git-version "2.1.3" revision commit))
2307 (source
2308 (origin
2309 (method git-fetch)
2310 (uri (git-reference
2311 (url "http://git.kpe.io/ptester.git")
2312 (commit commit)))
2313 (file-name (git-file-name name version))
2314 (sha256
2315 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2316 (build-system asdf-build-system/sbcl)
2317 (home-page "http://quickdocs.org/ptester/")
2318 (synopsis "Portable test harness package")
2319 (description
2320 "@command{ptester} is a portable testing framework based on Franz's
2321 tester module.")
2322 (license license:llgpl))))
2323
2324 (define-public cl-ptester
2325 (sbcl-package->cl-source-package sbcl-ptester))
2326
2327 (define-public ecl-ptester
2328 (sbcl-package->ecl-package sbcl-ptester))
2329
2330 (define-public sbcl-puri
2331 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2332 (revision "1"))
2333 (package
2334 (name "sbcl-puri")
2335 (version (git-version "1.5.7" revision commit))
2336 (source
2337 (origin
2338 (method git-fetch)
2339 (uri (git-reference
2340 (url "http://git.kpe.io/puri.git")
2341 (commit commit)))
2342 (file-name (git-file-name name version))
2343 (sha256
2344 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2345 (build-system asdf-build-system/sbcl)
2346 (native-inputs
2347 `(("ptester" ,sbcl-ptester)))
2348 (home-page "http://quickdocs.org/puri/")
2349 (synopsis "Portable URI Library")
2350 (description
2351 "This is a portable Universal Resource Identifier library for Common
2352 Lisp programs. It parses URI according to the RFC 2396 specification.")
2353 (license license:llgpl))))
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 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 (package
3185 (name "sbcl-usocket-boot0")
3186 (version "0.8.3")
3187 (source
3188 (origin
3189 (method git-fetch)
3190 (uri (git-reference
3191 (url "https://github.com/usocket/usocket/")
3192 (commit (string-append "v" version))))
3193 (file-name (git-file-name "usocket" version))
3194 (sha256
3195 (base32
3196 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3197 (build-system asdf-build-system/sbcl)
3198 (inputs
3199 `(("split-sequence" ,sbcl-split-sequence)))
3200 (arguments
3201 `(#:tests? #f
3202 #:asd-system-name "usocket"))
3203 (home-page "https://common-lisp.net/project/usocket/")
3204 (synopsis "Universal socket library for Common Lisp (server side)")
3205 (description
3206 "This library strives to provide a portable TCP/IP and UDP/IP socket
3207 interface for as many Common Lisp implementations as possible, while keeping
3208 the abstraction and portability layer as thin as possible.")
3209 (license license:expat)))
3210
3211 (define-public sbcl-usocket-server
3212 (package
3213 (inherit sbcl-usocket-boot0)
3214 (name "sbcl-usocket-server")
3215 (inputs
3216 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3217 ("usocket" ,sbcl-usocket-boot0)))
3218 (arguments
3219 '(#:asd-system-name "usocket-server"))
3220 (synopsis "Universal socket library for Common Lisp (server side)")))
3221
3222 (define-public cl-usocket-server
3223 (sbcl-package->cl-source-package sbcl-usocket-server))
3224
3225 (define-public ecl-socket-server
3226 (sbcl-package->ecl-package sbcl-usocket-server))
3227
3228 (define-public sbcl-usocket
3229 (package
3230 (inherit sbcl-usocket-boot0)
3231 (name "sbcl-usocket")
3232 (arguments
3233 ;; FIXME: Tests need network access?
3234 `(#:tests? #f))
3235 (native-inputs
3236 ;; Testing only.
3237 `(("usocket-server" ,sbcl-usocket-server)
3238 ("rt" ,sbcl-rt)))))
3239
3240 (define-public cl-usocket
3241 (sbcl-package->cl-source-package sbcl-usocket))
3242
3243 (define-public ecl-usocket
3244 (sbcl-package->ecl-package sbcl-usocket))
3245
3246 (define-public sbcl-s-xml
3247 (package
3248 (name "sbcl-s-xml")
3249 (version "3")
3250 (source
3251 (origin
3252 (method url-fetch)
3253 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3254 (sha256
3255 (base32
3256 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3257 (build-system asdf-build-system/sbcl)
3258 (home-page "https://common-lisp.net/project/s-xml/")
3259 (synopsis "Simple XML parser implemented in Common Lisp")
3260 (description
3261 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3262 parser implementation has the following features:
3263
3264 @itemize
3265 @item It works (handling many common XML usages).
3266 @item It is very small (the core is about 700 lines of code, including
3267 comments and whitespace).
3268 @item It has a core API that is simple, efficient and pure functional, much
3269 like that from SSAX (see also http://ssax.sourceforge.net).
3270 @item It supports different DOM models: an XSML-based one, an LXML-based one
3271 and a classic xml-element struct based one.
3272 @item It is reasonably time and space efficient (internally avoiding garbage
3273 generatation as much as possible).
3274 @item It does support CDATA.
3275 @item It should support the same character sets as your Common Lisp
3276 implementation.
3277 @item It does support XML name spaces.
3278 @end itemize
3279
3280 This XML parser implementation has the following limitations:
3281
3282 @itemize
3283 @item It does not support any special tags (like processing instructions).
3284 @item It is not validating, even skips DTD's all together.
3285 @end itemize\n")
3286 (license license:lgpl3+)))
3287
3288 (define-public cl-s-xml
3289 (sbcl-package->cl-source-package sbcl-s-xml))
3290
3291 (define-public ecl-s-xml
3292 (sbcl-package->ecl-package sbcl-s-xml))
3293
3294 (define-public sbcl-s-xml-rpc
3295 (package
3296 (name "sbcl-s-xml-rpc")
3297 (version "7")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3302 (sha256
3303 (base32
3304 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3305 (build-system asdf-build-system/sbcl)
3306 (inputs
3307 `(("s-xml" ,sbcl-s-xml)))
3308 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3309 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3310 (description
3311 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3312 client and server.")
3313 (license license:lgpl3+)))
3314
3315 (define-public cl-s-xml-rpc
3316 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3317
3318 (define-public ecl-s-xml-rpc
3319 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3320
3321 (define-public sbcl-trivial-clipboard
3322 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3323 (package
3324 (name "sbcl-trivial-clipboard")
3325 (version (git-version "0.0.0.0" "2" commit))
3326 (source
3327 (origin
3328 (method git-fetch)
3329 (uri (git-reference
3330 (url "https://github.com/snmsts/trivial-clipboard")
3331 (commit commit)))
3332 (file-name (git-file-name "trivial-clipboard" version))
3333 (sha256
3334 (base32
3335 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3336 (build-system asdf-build-system/sbcl)
3337 (inputs
3338 `(("xclip" ,xclip)))
3339 (native-inputs
3340 `(("fiveam" ,sbcl-fiveam)))
3341 (arguments
3342 `(#:phases
3343 (modify-phases %standard-phases
3344 (add-after 'unpack 'fix-paths
3345 (lambda* (#:key inputs #:allow-other-keys)
3346 (substitute* "src/text.lisp"
3347 (("\\(executable-find \"xclip\"\\)")
3348 (string-append "(executable-find \""
3349 (assoc-ref inputs "xclip")
3350 "/bin/xclip\")"))))))))
3351 (home-page "https://github.com/snmsts/trivial-clipboard")
3352 (synopsis "Access system clipboard in Common Lisp")
3353 (description
3354 "@command{trivial-clipboard} gives access to the system clipboard.")
3355 (license license:expat))))
3356
3357 (define-public cl-trivial-clipboard
3358 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3359
3360 (define-public ecl-trivial-clipboard
3361 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3362
3363 (define-public sbcl-trivial-backtrace
3364 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3365 (revision "1"))
3366 (package
3367 (name "sbcl-trivial-backtrace")
3368 (version (git-version "0.0.0" revision commit))
3369 (source
3370 (origin
3371 (method git-fetch)
3372 (uri (git-reference
3373 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3374 (commit commit)))
3375 (file-name (git-file-name "trivial-backtrace" version))
3376 (sha256
3377 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3378 (build-system asdf-build-system/sbcl)
3379 (inputs
3380 `(("sbcl-lift" ,sbcl-lift)))
3381 (arguments
3382 `(#:phases
3383 (modify-phases %standard-phases
3384 (add-after 'check 'delete-test-results
3385 (lambda* (#:key outputs #:allow-other-keys)
3386 (let ((test-results (string-append (assoc-ref outputs "out")
3387 "/share/common-lisp/"
3388 (%lisp-type) "-source"
3389 "/trivial-backtrace"
3390 "/test-results")))
3391 (when (file-exists? test-results)
3392 (delete-file-recursively test-results)))
3393 #t)))))
3394 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3395 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3396 (description
3397 "On of the many things that didn't quite get into the Common Lisp
3398 standard was how to get a Lisp to output its call stack when something has
3399 gone wrong. As such, each Lisp has developed its own notion of what to
3400 display, how to display it, and what sort of arguments can be used to
3401 customize it. @code{trivial-backtrace} is a simple solution to generating a
3402 backtrace portably.")
3403 (license license:expat))))
3404
3405 (define-public cl-trivial-backtrace
3406 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3407
3408 (define-public sbcl-rfc2388
3409 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3410 (revision "1"))
3411 (package
3412 (name "sbcl-rfc2388")
3413 (version (git-version "0.0.0" revision commit))
3414 (source
3415 (origin
3416 (method git-fetch)
3417 (uri (git-reference
3418 (url "https://github.com/jdz/rfc2388.git")
3419 (commit commit)))
3420 (file-name (git-file-name "rfc2388" version))
3421 (sha256
3422 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3423 (build-system asdf-build-system/sbcl)
3424 (home-page "https://github.com/jdz/rfc2388/")
3425 (synopsis "An implementation of RFC 2388 in Common Lisp")
3426 (description
3427 "This package contains an implementation of RFC 2388, which is used to
3428 process form data posted with HTTP POST method using enctype
3429 \"multipart/form-data\".")
3430 (license license:bsd-2))))
3431
3432 (define-public cl-rfc2388
3433 (sbcl-package->cl-source-package sbcl-rfc2388))
3434
3435 (define-public sbcl-md5
3436 (package
3437 (name "sbcl-md5")
3438 (version "2.0.4")
3439 (source
3440 (origin
3441 (method url-fetch)
3442 (uri (string-append
3443 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3444 (sha256
3445 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3446 (build-system asdf-build-system/sbcl)
3447 (home-page "https://github.com/pmai/md5")
3448 (synopsis
3449 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3450 (description
3451 "This package implements The MD5 Message-Digest Algorithm, as defined in
3452 RFC 1321 by R. Rivest, published April 1992.")
3453 (license license:public-domain)))
3454
3455 (define-public cl-md5
3456 (sbcl-package->cl-source-package sbcl-md5))
3457
3458 (define-public sbcl-cl+ssl
3459 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3460 (revision "1"))
3461 (package
3462 (name "sbcl-cl+ssl")
3463 (version (git-version "0.0.0" revision commit))
3464 (source
3465 (origin
3466 (method git-fetch)
3467 (uri (git-reference
3468 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3469 (commit commit)))
3470 (file-name (git-file-name "cl+ssl" version))
3471 (sha256
3472 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3473 (build-system asdf-build-system/sbcl)
3474 (arguments
3475 '(#:phases
3476 (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-paths
3478 (lambda* (#:key inputs #:allow-other-keys)
3479 (substitute* "src/reload.lisp"
3480 (("libssl.so" all)
3481 (string-append
3482 (assoc-ref inputs "openssl") "/lib/" all))))))))
3483 (inputs
3484 `(("openssl" ,openssl)
3485 ("sbcl-cffi" ,sbcl-cffi)
3486 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3487 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3488 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3489 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3490 ("sbcl-alexandria" ,sbcl-alexandria)
3491 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3492 (home-page "http://common-lisp.net/project/cl-plus-ssl/")
3493 (synopsis "Common Lisp bindings to OpenSSL")
3494 (description
3495 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3496 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3497 Development into CL+SSL was done by David Lichteblau.")
3498 (license license:expat))))
3499
3500 (define-public cl-cl+ssl
3501 (sbcl-package->cl-source-package sbcl-cl+ssl))
3502
3503 (define-public sbcl-kmrcl
3504 (let ((version "1.109.0")
3505 (commit "5260068b2eb735af6796740c2db4955afac21636")
3506 (revision "1"))
3507 (package
3508 (name "sbcl-kmrcl")
3509 (version (git-version version revision commit))
3510 (source
3511 (origin
3512 (method git-fetch)
3513 (uri (git-reference
3514 (url "http://git.kpe.io/kmrcl.git/")
3515 (commit commit)))
3516 (file-name (git-file-name name version))
3517 (sha256
3518 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3519 (build-system asdf-build-system/sbcl)
3520 (arguments
3521 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3522 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3523 '(#:tests? #f))
3524 (inputs
3525 `(("sbcl-rt" ,sbcl-rt)))
3526 (home-page "http://files.kpe.io/kmrcl/")
3527 (synopsis "General utilities for Common Lisp programs")
3528 (description
3529 "KMRCL is a collection of utilities used by a number of Kevin
3530 Rosenberg's CL packages.")
3531 (license license:llgpl))))
3532
3533 (define-public cl-kmrcl
3534 (sbcl-package->cl-source-package sbcl-kmrcl))
3535
3536 (define-public sbcl-cl-base64
3537 (let ((version "3.3.3"))
3538 (package
3539 (name "sbcl-cl-base64")
3540 (version version)
3541 (source
3542 (origin
3543 (method git-fetch)
3544 (uri (git-reference
3545 (url "http://git.kpe.io/cl-base64.git")
3546 (commit (string-append "v" version))))
3547 (file-name (git-file-name "cl-base64" version))
3548 (sha256
3549 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3550 (build-system asdf-build-system/sbcl)
3551 (arguments
3552 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3553 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3554 ;; to toplevel
3555 '(#:tests? #f))
3556 (inputs
3557 `(("sbcl-ptester" ,sbcl-ptester)
3558 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3559 (home-page "http://files.kpe.io/cl-base64/")
3560 (synopsis
3561 "Common Lisp package to encode and decode base64 with URI support")
3562 (description
3563 "This package provides highly optimized base64 encoding and decoding.
3564 Besides conversion to and from strings, integer conversions are supported.
3565 Encoding with Uniform Resource Identifiers is supported by using a modified
3566 encoding table that uses only URI-compatible characters.")
3567 (license license:bsd-3))))
3568
3569 (define-public cl-base64
3570 (sbcl-package->cl-source-package sbcl-cl-base64))
3571
3572 (define-public sbcl-chunga
3573 (package
3574 (name "sbcl-chunga")
3575 (version "1.1.7")
3576 (source
3577 (origin
3578 (method git-fetch)
3579 (uri (git-reference
3580 (url "https://github.com/edicl/chunga.git")
3581 (commit (string-append "v" version))))
3582 (file-name (git-file-name name version))
3583 (sha256
3584 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3585 (build-system asdf-build-system/sbcl)
3586 (inputs
3587 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3588 (home-page "https://edicl.github.io/chunga/")
3589 (synopsis "Portable chunked streams for Common Lisp")
3590 (description
3591 "Chunga implements streams capable of chunked encoding on demand as
3592 defined in RFC 2616.")
3593 (license license:bsd-2)))
3594
3595 (define-public cl-chunga
3596 (sbcl-package->cl-source-package sbcl-chunga))
3597
3598 (define-public sbcl-cl-who
3599 (let ((version "1.1.4")
3600 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3601 (revision "1"))
3602 (package
3603 (name "sbcl-cl-who")
3604 (version (git-version version revision commit))
3605 (source
3606 (origin
3607 (method git-fetch)
3608 (uri (git-reference
3609 (url "https://github.com/edicl/cl-who.git")
3610 (commit commit)))
3611 (file-name (git-file-name name version))
3612 (sha256
3613 (base32
3614 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3615 (build-system asdf-build-system/sbcl)
3616 (native-inputs
3617 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3618 (home-page "https://edicl.github.io/cl-who/")
3619 (synopsis "Yet another Lisp markup language")
3620 (description
3621 "There are plenty of Lisp Markup Languages out there - every Lisp
3622 programmer seems to write at least one during his career - and CL-WHO (where
3623 WHO means \"with-html-output\" for want of a better acronym) is probably just
3624 as good or bad as the next one.")
3625 (license license:bsd-2))))
3626
3627 (define-public cl-cl-who
3628 (sbcl-package->cl-source-package sbcl-cl-who))
3629
3630 (define-public sbcl-chipz
3631 (let ((version "0.8")
3632 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3633 (revision "1"))
3634 (package
3635 (name "sbcl-chipz")
3636 (version (git-version version revision commit))
3637 (source
3638 (origin
3639 (method git-fetch)
3640 (uri (git-reference
3641 (url "https://github.com/froydnj/chipz.git")
3642 (commit commit)))
3643 (file-name (git-file-name name version))
3644 (sha256
3645 (base32
3646 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3647 (build-system asdf-build-system/sbcl)
3648 (native-inputs
3649 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3650 (home-page "http://method-combination.net/lisp/chipz/")
3651 (synopsis
3652 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3653 data")
3654 (description
3655 "DEFLATE data, defined in RFC1951, forms the core of popular
3656 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3657 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3658 the format used by the popular compression tool bzip2.")
3659 ;; The author describes it as "MIT-like"
3660 (license license:expat))))
3661
3662 (define-public cl-chipz
3663 (sbcl-package->cl-source-package sbcl-chipz))
3664
3665 (define-public sbcl-drakma
3666 (package
3667 (name "sbcl-drakma")
3668 (version "2.0.7")
3669 (source
3670 (origin
3671 (method git-fetch)
3672 (uri (git-reference
3673 (url "https://github.com/edicl/drakma.git")
3674 (commit (string-append "v" version))))
3675 (file-name (git-file-name name version))
3676 (sha256
3677 (base32
3678 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3679 (build-system asdf-build-system/sbcl)
3680 (inputs
3681 `(("sbcl-puri" ,sbcl-puri)
3682 ("sbcl-cl-base64" ,sbcl-cl-base64)
3683 ("sbcl-chunga" ,sbcl-chunga)
3684 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3685 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3686 ("sbcl-chipz" ,sbcl-chipz)
3687 ("sbcl-usocket" ,sbcl-usocket)
3688 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3689 (native-inputs
3690 `(("sbcl-fiveam" ,sbcl-fiveam)))
3691 (home-page "https://edicl.github.io/drakma/")
3692 (synopsis "HTTP client written in Common Lisp")
3693 (description
3694 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3695 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3696 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3697 (license license:bsd-2)))
3698
3699 (define-public cl-drakma
3700 (sbcl-package->cl-source-package sbcl-drakma))
3701
3702 (define-public ecl-drakma
3703 (sbcl-package->ecl-package sbcl-drakma))
3704
3705 (define-public sbcl-hunchentoot
3706 (package
3707 (name "sbcl-hunchentoot")
3708 (version "1.2.38")
3709 (source
3710 (origin
3711 (method git-fetch)
3712 (uri (git-reference
3713 (url "https://github.com/edicl/hunchentoot.git")
3714 (commit (string-append "v" version))))
3715 (file-name (git-file-name "hunchentoot" version))
3716 (sha256
3717 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3718 (build-system asdf-build-system/sbcl)
3719 (native-inputs
3720 `(("sbcl-cl-who" ,sbcl-cl-who)
3721 ("sbcl-drakma" ,sbcl-drakma)))
3722 (inputs
3723 `(("sbcl-chunga" ,sbcl-chunga)
3724 ("sbcl-cl-base64" ,sbcl-cl-base64)
3725 ("sbcl-cl-fad" ,sbcl-cl-fad)
3726 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3727 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3728 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3729 ("sbcl-md5" ,sbcl-md5)
3730 ("sbcl-rfc2388" ,sbcl-rfc2388)
3731 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3732 ("sbcl-usocket" ,sbcl-usocket)))
3733 (home-page "https://edicl.github.io/hunchentoot/")
3734 (synopsis "Web server written in Common Lisp")
3735 (description
3736 "Hunchentoot is a web server written in Common Lisp and at the same
3737 time a toolkit for building dynamic websites. As a stand-alone web server,
3738 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3739 connections (keep-alive), and SSL.")
3740 (license license:bsd-2)))
3741
3742 (define-public cl-hunchentoot
3743 (sbcl-package->cl-source-package sbcl-hunchentoot))
3744
3745 (define-public sbcl-trivial-types
3746 (package
3747 (name "sbcl-trivial-types")
3748 (version "0.0.1")
3749 (source
3750 (origin
3751 (method git-fetch)
3752 (uri (git-reference
3753 (url "https://github.com/m2ym/trivial-types.git")
3754 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3755 (file-name (git-file-name name version))
3756 (sha256
3757 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3758 (build-system asdf-build-system/sbcl)
3759 (home-page "https://github.com/m2ym/trivial-types")
3760 (synopsis "Trivial type definitions for Common Lisp")
3761 (description
3762 "TRIVIAL-TYPES provides missing but important type definitions such as
3763 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3764 (license license:llgpl)))
3765
3766 (define-public cl-trivial-types
3767 (sbcl-package->cl-source-package sbcl-trivial-types))
3768
3769 (define-public sbcl-cl-syntax
3770 (package
3771 (name "sbcl-cl-syntax")
3772 (version "0.0.3")
3773 (source
3774 (origin
3775 (method git-fetch)
3776 (uri (git-reference
3777 (url "https://github.com/m2ym/cl-syntax.git")
3778 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3779 (file-name (git-file-name "cl-syntax" version))
3780 (sha256
3781 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3782 (build-system asdf-build-system/sbcl)
3783 (arguments
3784 '(#:asd-file "cl-syntax.asd"
3785 #:asd-system-name "cl-syntax"))
3786 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3787 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3788 (home-page "https://github.com/m2ym/cl-syntax")
3789 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3790 (description
3791 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3792 (license license:llgpl)))
3793
3794 (define-public cl-syntax
3795 (sbcl-package->cl-source-package sbcl-cl-syntax))
3796
3797 (define-public sbcl-cl-annot
3798 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3799 (revision "1"))
3800 (package
3801 (name "sbcl-cl-annot")
3802 (version (git-version "0.0.0" revision commit))
3803 (source
3804 (origin
3805 (method git-fetch)
3806 (uri (git-reference
3807 (url "https://github.com/m2ym/cl-annot.git")
3808 (commit commit)))
3809 (file-name (git-file-name name version))
3810 (sha256
3811 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3812 (build-system asdf-build-system/sbcl)
3813 (arguments
3814 '(#:asd-file "cl-annot.asd"
3815 #:asd-system-name "cl-annot"))
3816 (inputs
3817 `(("sbcl-alexandria" ,sbcl-alexandria)))
3818 (home-page "https://github.com/m2ym/cl-annot")
3819 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3820 (description
3821 "@code{cl-annot} is an general annotation library for Common Lisp.")
3822 (license license:llgpl))))
3823
3824 (define-public cl-annot
3825 (sbcl-package->cl-source-package sbcl-cl-annot))
3826
3827 (define-public sbcl-cl-syntax-annot
3828 (package
3829 (name "sbcl-cl-syntax-annot")
3830 (version "0.0.3")
3831 (source
3832 (origin
3833 (method git-fetch)
3834 (uri (git-reference
3835 (url "https://github.com/m2ym/cl-syntax.git")
3836 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3837 (file-name (git-file-name name version))
3838 (sha256
3839 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3840 (build-system asdf-build-system/sbcl)
3841 (arguments
3842 '(#:asd-file "cl-syntax-annot.asd"
3843 #:asd-system-name "cl-syntax-annot"))
3844 (inputs
3845 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3846 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3847 (home-page "https://github.com/m2ym/cl-syntax")
3848 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3849 (description
3850 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3851 SLIME.")
3852 (license license:llgpl)))
3853
3854 (define-public cl-syntax-annot
3855 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3856
3857 (define-public sbcl-cl-utilities
3858 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3859 (revision "1"))
3860 (package
3861 (name "sbcl-cl-utilities")
3862 (version (git-version "0.0.0" revision commit))
3863 (source
3864 (origin
3865 (method url-fetch)
3866 (uri
3867 (string-append
3868 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3869 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3870 (sha256
3871 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3872 (build-system asdf-build-system/sbcl)
3873 (arguments
3874 '(#:asd-file "cl-utilities.asd"
3875 #:asd-system-name "cl-utilities"
3876 #:phases
3877 (modify-phases %standard-phases
3878 (add-after 'unpack 'fix-paths
3879 (lambda* (#:key inputs #:allow-other-keys)
3880 (substitute* "rotate-byte.lisp"
3881 (("in-package :cl-utilities)" all)
3882 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3883 (home-page "http://common-lisp.net/project/cl-utilities")
3884 (synopsis "A collection of semi-standard utilities")
3885 (description
3886 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3887 is a collection of Common Lisp Utilities, things that everybody writes since
3888 they're not part of the official standard. There are some very useful things
3889 there; the only problems are that they aren't implemented as well as you'd
3890 like (some aren't implemented at all) and they aren't conveniently packaged
3891 and maintained. It takes quite a bit of work to carefully implement utilities
3892 for common use, commented and documented, with error checking placed
3893 everywhere some dumb user might make a mistake.")
3894 (license license:public-domain))))
3895
3896 (define-public cl-utilities
3897 (sbcl-package->cl-source-package sbcl-cl-utilities))
3898
3899 (define-public sbcl-map-set
3900 (let ((commit "7b4b545b68b8")
3901 (revision "1"))
3902 (package
3903 (name "sbcl-map-set")
3904 (version (git-version "0.0.0" revision commit))
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append
3909 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3910 commit ".tar.gz"))
3911 (sha256
3912 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3913 (build-system asdf-build-system/sbcl)
3914 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3915 (synopsis "Set-like data structure")
3916 (description
3917 "Implementation of a set-like data structure with constant time
3918 addition, removal, and random selection.")
3919 (license license:bsd-3))))
3920
3921 (define-public cl-map-set
3922 (sbcl-package->cl-source-package sbcl-map-set))
3923
3924 (define-public sbcl-quri
3925 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3926 (revision "1"))
3927 (package
3928 (name "sbcl-quri")
3929 (version (git-version "0.1.0" revision commit))
3930 (source
3931 (origin
3932 (method git-fetch)
3933 (uri (git-reference
3934 (url "https://github.com/fukamachi/quri.git")
3935 (commit commit)))
3936 (file-name (git-file-name name version))
3937 (sha256
3938 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3939 (build-system asdf-build-system/sbcl)
3940 (arguments
3941 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3942 ;; required by #<SYSTEM "quri">. Why?
3943 '(#:tests? #f))
3944 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3945 ("sbcl-prove" ,sbcl-prove)))
3946 (inputs `(("sbcl-babel" ,sbcl-babel)
3947 ("sbcl-split-sequence" ,sbcl-split-sequence)
3948 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3949 ("sbcl-alexandria" ,sbcl-alexandria)))
3950 (home-page "https://github.com/fukamachi/quri")
3951 (synopsis "Yet another URI library for Common Lisp")
3952 (description
3953 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3954 Lisp. It is intended to be a replacement of PURI.")
3955 (license license:bsd-3))))
3956
3957 (define-public cl-quri
3958 (sbcl-package->cl-source-package sbcl-quri))
3959
3960 (define-public sbcl-myway
3961 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3962 (revision "1"))
3963 (package
3964 (name "sbcl-myway")
3965 (version (git-version "0.1.0" revision commit))
3966 (source
3967 (origin
3968 (method git-fetch)
3969 (uri (git-reference
3970 (url "https://github.com/fukamachi/myway.git")
3971 (commit commit)))
3972 (file-name (git-file-name "myway" version))
3973 (sha256
3974 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3975 (build-system asdf-build-system/sbcl)
3976 (arguments
3977 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3978 ;; by #<SYSTEM "myway">. Why?
3979 '(#:tests? #f))
3980 (native-inputs
3981 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3982 ("sbcl-prove" ,sbcl-prove)))
3983 (inputs
3984 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3985 ("sbcl-quri" ,sbcl-quri)
3986 ("sbcl-map-set" ,sbcl-map-set)))
3987 (home-page "https://github.com/fukamachi/myway")
3988 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3989 (description "My Way is a Sinatra-compatible URL routing library.")
3990 (license license:llgpl))))
3991
3992 (define-public cl-myway
3993 (sbcl-package->cl-source-package sbcl-myway))
3994
3995 (define-public sbcl-xsubseq
3996 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3997 (revision "1"))
3998 (package
3999 (name "sbcl-xsubseq")
4000 (version (git-version "0.0.1" revision commit))
4001 (source
4002 (origin
4003 (method git-fetch)
4004 (uri (git-reference
4005 (url "https://github.com/fukamachi/xsubseq")
4006 (commit commit)))
4007 (file-name (git-file-name name version))
4008 (sha256
4009 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4010 (build-system asdf-build-system/sbcl)
4011 (arguments
4012 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4013 ;; required by #<SYSTEM "xsubseq">. Why?
4014 '(#:tests? #f))
4015 (native-inputs
4016 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4017 ("sbcl-prove" ,sbcl-prove)))
4018 (home-page "https://github.com/fukamachi/xsubseq")
4019 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4020 (description
4021 "XSubseq provides functions to be able to handle \"subseq\"s more
4022 effieiently.")
4023 (license license:bsd-2))))
4024
4025 (define-public cl-xsubseq
4026 (sbcl-package->cl-source-package sbcl-xsubseq))
4027
4028 (define-public sbcl-smart-buffer
4029 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4030 (revision "1"))
4031 (package
4032 (name "sbcl-smart-buffer")
4033 (version (git-version "0.0.1" revision commit))
4034 (source
4035 (origin
4036 (method git-fetch)
4037 (uri (git-reference
4038 (url "https://github.com/fukamachi/smart-buffer")
4039 (commit commit)))
4040 (file-name (git-file-name name version))
4041 (sha256
4042 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4043 (build-system asdf-build-system/sbcl)
4044 (arguments
4045 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4046 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4047 `(#:tests? #f))
4048 (native-inputs
4049 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4050 ("sbcl-prove" ,sbcl-prove)))
4051 (inputs
4052 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4053 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4054 (home-page "https://github.com/fukamachi/smart-buffer")
4055 (synopsis "Smart octets buffer")
4056 (description
4057 "Smart-buffer provides an output buffer which changes the destination
4058 depending on content size.")
4059 (license license:bsd-3))))
4060
4061 (define-public cl-smart-buffer
4062 (sbcl-package->cl-source-package sbcl-smart-buffer))
4063
4064 (define-public sbcl-fast-http
4065 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4066 (revision "1"))
4067 (package
4068 (name "sbcl-fast-http")
4069 (version (git-version "0.2.0" revision commit))
4070 (source
4071 (origin
4072 (method git-fetch)
4073 (uri (git-reference
4074 (url "https://github.com/fukamachi/fast-http")
4075 (commit commit)))
4076 (file-name (git-file-name name version))
4077 (sha256
4078 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4079 (build-system asdf-build-system/sbcl)
4080 (arguments
4081 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4082 ;; required by #<SYSTEM "fast-http">. Why?
4083 `(#:tests? #f))
4084 (native-inputs
4085 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4086 ("sbcl-prove" ,sbcl-prove)))
4087 (inputs
4088 `(("sbcl-alexandria" ,sbcl-alexandria)
4089 ("sbcl-proc-parse" ,sbcl-proc-parse)
4090 ("sbcl-xsubseq" ,sbcl-xsubseq)
4091 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4092 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4093 (home-page "https://github.com/fukamachi/fast-http")
4094 (synopsis "HTTP request/response parser for Common Lisp")
4095 (description
4096 "@code{fast-http} is a HTTP request/response protocol parser for Common
4097 Lisp.")
4098 ;; Author specified the MIT license
4099 (license license:expat))))
4100
4101 (define-public cl-fast-http
4102 (sbcl-package->cl-source-package sbcl-fast-http))
4103
4104 (define-public sbcl-static-vectors
4105 (package
4106 (name "sbcl-static-vectors")
4107 (version "1.8.4")
4108 (source
4109 (origin
4110 (method git-fetch)
4111 (uri (git-reference
4112 (url "https://github.com/sionescu/static-vectors.git")
4113 (commit (string-append "v" version))))
4114 (file-name (git-file-name name version))
4115 (sha256
4116 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4117 (native-inputs
4118 `(("sbcl-fiveam" ,sbcl-fiveam)))
4119 (inputs
4120 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4121 ("sbcl-cffi" ,sbcl-cffi)))
4122 (build-system asdf-build-system/sbcl)
4123 (home-page "https://github.com/sionescu/static-vectors")
4124 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4125 (description
4126 "With @code{static-vectors}, you can create vectors allocated in static
4127 memory.")
4128 (license license:expat)))
4129
4130 (define-public cl-static-vectors
4131 (sbcl-package->cl-source-package sbcl-static-vectors))
4132
4133 (define-public ecl-static-vectors
4134 (sbcl-package->ecl-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 "https://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 "https://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 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4957 (revision "1"))
4958 (package
4959 (name "sbcl-parse-declarations")
4960 (version (git-version "1.0.0" revision commit))
4961 (source
4962 (origin
4963 (method git-fetch)
4964 (uri (git-reference
4965 (url (string-append
4966 "https://gitlab.common-lisp.net/parse-declarations/"
4967 "parse-declarations.git"))
4968 (commit commit)))
4969 (file-name (git-file-name name version))
4970 (sha256
4971 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4972 (build-system asdf-build-system/sbcl)
4973 (arguments
4974 `(#:asd-file "parse-declarations-1.0.asd"
4975 #:asd-system-name "parse-declarations-1.0"))
4976 (home-page "https://common-lisp.net/project/parse-declarations/")
4977 (synopsis "Parse, filter, and build declarations")
4978 (description
4979 "Parse-Declarations is a Common Lisp library to help writing
4980 macros which establish bindings. To be semantically correct, such
4981 macros must take user declarations into account, as these may affect
4982 the bindings they establish. Yet the ANSI standard of Common Lisp does
4983 not provide any operators to work with declarations in a convenient,
4984 high-level way. This library provides such operators.")
4985 ;; MIT License
4986 (license license:expat))))
4987
4988 (define-public cl-parse-declarations
4989 (sbcl-package->cl-source-package sbcl-parse-declarations))
4990
4991 (define-public ecl-parse-declarations
4992 (sbcl-package->ecl-package sbcl-parse-declarations))
4993
4994 (define-public sbcl-cl-quickcheck
4995 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4996 (revision "1"))
4997 (package
4998 (name "sbcl-cl-quickcheck")
4999 (version (git-version "0.0.4" revision commit))
5000 (source
5001 (origin
5002 (method git-fetch)
5003 (uri (git-reference
5004 (url "https://github.com/mcandre/cl-quickcheck.git")
5005 (commit commit)))
5006 (file-name (git-file-name name version))
5007 (sha256
5008 (base32
5009 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5010 (build-system asdf-build-system/sbcl)
5011 (synopsis
5012 "Common Lisp port of the QuickCheck unit test framework")
5013 (description
5014 "Common Lisp port of the QuickCheck unit test framework")
5015 (home-page "https://github.com/mcandre/cl-quickcheck")
5016 ;; MIT
5017 (license license:expat))))
5018
5019 (define-public cl-cl-quickcheck
5020 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5021
5022 (define-public ecl-cl-quickcheck
5023 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5024
5025 (define-public sbcl-burgled-batteries3
5026 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5027 (revision "1"))
5028 (package
5029 (name "sbcl-burgled-batteries3")
5030 (version (git-version "0.0.0" revision commit))
5031 (source
5032 (origin
5033 (method git-fetch)
5034 (uri (git-reference
5035 (url "https://github.com/snmsts/burgled-batteries3.git")
5036 (commit commit)))
5037 (file-name (git-file-name name version))
5038 (sha256
5039 (base32
5040 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5041 (build-system asdf-build-system/sbcl)
5042 (arguments
5043 '(#:tests? #f
5044 #:phases
5045 (modify-phases %standard-phases
5046 (add-after 'unpack 'set-*cpython-include-dir*-var
5047 (lambda* (#:key inputs #:allow-other-keys)
5048 (substitute* "grovel-include-dir.lisp"
5049 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5050 (string-append
5051 "(defparameter *cpython-include-dir* \""
5052 (assoc-ref inputs "python")
5053 "/include/python3.7m"
5054 "\")")))
5055 (substitute* "ffi-interface.lisp"
5056 (("\\*cpython-lib\\*")
5057 (format #f "'(\"~a/lib/libpython3.so\")"
5058 (assoc-ref inputs "python"))))
5059 #t)))))
5060 (native-inputs
5061 `(("python" ,python)
5062 ("sbcl-cl-fad" ,sbcl-cl-fad)
5063 ("sbcl-lift" ,sbcl-lift)
5064 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5065 (inputs
5066 `(("sbcl-cffi" ,sbcl-cffi)
5067 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5068 ("sbcl-alexandria" , sbcl-alexandria)
5069 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5070 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5071 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5072 (description
5073 "This package provides a shim between Python3 (specifically, the
5074 CPython implementation of Python) and Common Lisp.")
5075 (home-page "https://github.com/snmsts/burgled-batteries3")
5076 ;; MIT
5077 (license license:expat))))
5078
5079 (define-public cl-burgled-batteries3
5080 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5081
5082 (define-public ecl-burgled-batteries3
5083 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5084
5085 (define-public sbcl-metabang-bind
5086 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5087 (revision "1"))
5088 (package
5089 (name "sbcl-metabang-bind")
5090 (version (git-version "0.8.0" revision commit))
5091 (source
5092 (origin
5093 (method git-fetch)
5094 (uri (git-reference
5095 (url "https://github.com/gwkkwg/metabang-bind.git")
5096 (commit commit)))
5097 (file-name (git-file-name name version))
5098 (sha256
5099 (base32
5100 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5101 (build-system asdf-build-system/sbcl)
5102 (native-inputs
5103 `(("sbcl-lift" ,sbcl-lift)))
5104 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5105 (description
5106 "Bind extends the idea of of let and destructing to provide a uniform
5107 syntax for all your accessor needs. It combines @code{let},
5108 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5109 editing, property or association-lists, and @code{multiple-value-bind} and a
5110 whole lot more into a single form.")
5111 (home-page "https://common-lisp.net/project/metabang-bind/")
5112 ;; MIT License
5113 (license license:expat))))
5114
5115 (define-public cl-metabang-bind
5116 (sbcl-package->cl-source-package sbcl-metabang-bind))
5117
5118 (define-public ecl-metabang-bind
5119 (sbcl-package->ecl-package sbcl-metabang-bind))
5120
5121 (define-public sbcl-fare-utils
5122 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5123 (revision "1"))
5124 (package
5125 (name "sbcl-fare-utils")
5126 (version (git-version "1.0.0.5" revision commit))
5127 (source
5128 (origin
5129 (method git-fetch)
5130 (uri
5131 (git-reference
5132 (url
5133 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5134 (commit commit)))
5135 (file-name (git-file-name name version))
5136 (sha256
5137 (base32
5138 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5139 (build-system asdf-build-system/sbcl)
5140 (arguments
5141 `(#:test-asd-file "test/fare-utils-test.asd"))
5142 (native-inputs
5143 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5144 (synopsis "Collection of utilities and data structures")
5145 (description
5146 "fare-utils is a small collection of utilities. It contains a lot of
5147 basic everyday functions and macros.")
5148 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5149 ;; MIT License
5150 (license license:expat))))
5151
5152 (define-public cl-fare-utils
5153 (sbcl-package->cl-source-package sbcl-fare-utils))
5154
5155 (define-public ecl-fare-utils
5156 (sbcl-package->ecl-package sbcl-fare-utils))
5157
5158 (define-public sbcl-trivial-utf-8
5159 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5160 (revision "1"))
5161 (package
5162 (name "sbcl-trivial-utf-8")
5163 (version (git-version "0.0.0" revision commit))
5164 (source
5165 (origin
5166 (method git-fetch)
5167 (uri
5168 (git-reference
5169 (url (string-append "https://gitlab.common-lisp.net/"
5170 "trivial-utf-8/trivial-utf-8.git"))
5171 (commit commit)))
5172 (file-name (git-file-name name version))
5173 (sha256
5174 (base32
5175 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5176 (arguments
5177 ;; Guix incorrectly assumes the "8" is part of the version
5178 ;; number and lobs it off.
5179 `(#:asd-file "trivial-utf-8.asd"
5180 #:asd-system-name "trivial-utf-8"))
5181 (build-system asdf-build-system/sbcl)
5182 (synopsis "UTF-8 input/output library")
5183 (description
5184 "The Babel library solves a similar problem while understanding more
5185 encodings. Trivial UTF-8 was written before Babel existed, but for new
5186 projects you might be better off going with Babel. The one plus that Trivial
5187 UTF-8 has is that it doesn't depend on any other libraries.")
5188 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5189 (license license:bsd-3))))
5190
5191 (define-public cl-trivial-utf-8
5192 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5193
5194 (define-public ecl-trivial-utf-8
5195 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5196
5197 (define-public sbcl-idna
5198 (package
5199 (name "sbcl-idna")
5200 (build-system asdf-build-system/sbcl)
5201 (version "0.2.2")
5202 (home-page "https://github.com/antifuchs/idna")
5203 (source
5204 (origin
5205 (method git-fetch)
5206 (uri (git-reference
5207 (url home-page)
5208 (commit version)))
5209 (file-name (git-file-name name version))
5210 (sha256
5211 (base32
5212 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5213 (inputs
5214 `(("split-sequence" ,sbcl-split-sequence)))
5215 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5216 (description "This Common Lisp library provides string encoding and
5217 decoding routines for IDNA, the International Domain Names in Applications.")
5218 (license license:expat)))
5219
5220 (define-public cl-idna
5221 (sbcl-package->cl-source-package sbcl-idna))
5222
5223 (define-public ecl-idna
5224 (sbcl-package->ecl-package sbcl-idna))
5225
5226 (define-public sbcl-swap-bytes
5227 (package
5228 (name "sbcl-swap-bytes")
5229 (build-system asdf-build-system/sbcl)
5230 (version "1.2")
5231 (home-page "https://github.com/sionescu/swap-bytes")
5232 (source
5233 (origin
5234 (method git-fetch)
5235 (uri (git-reference
5236 (url home-page)
5237 (commit (string-append "v" version))))
5238 (file-name (git-file-name name version))
5239 (sha256
5240 (base32
5241 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5242 (inputs
5243 `(("trivial-features" ,sbcl-trivial-features)))
5244 (native-inputs
5245 `(("fiveam" ,sbcl-fiveam)))
5246 (synopsis "Efficient endianness conversion for Common Lisp")
5247 (description "This Common Lisp library provides optimized byte-swapping
5248 primitives. The library can change endianness of unsigned integers of length
5249 1/2/4/8. Very useful in implementing various network protocols and file
5250 formats.")
5251 (license license:expat)))
5252
5253 (define-public cl-swap-bytes
5254 (sbcl-package->cl-source-package sbcl-swap-bytes))
5255
5256 (define-public ecl-swap-bytes
5257 (sbcl-package->ecl-package sbcl-swap-bytes))
5258
5259 (define-public sbcl-iolib.asdf
5260 ;; Latest release is from June 2017.
5261 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5262 (revision "1"))
5263 (package
5264 (name "sbcl-iolib.asdf")
5265 (build-system asdf-build-system/sbcl)
5266 (version "0.8.3")
5267 (home-page "https://github.com/sionescu/iolib")
5268 (source
5269 (origin
5270 (method git-fetch)
5271 (uri (git-reference
5272 (url home-page)
5273 (commit commit)))
5274 (file-name (git-file-name name version))
5275 (sha256
5276 (base32
5277 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5278 (inputs
5279 `(("alexandria" ,sbcl-alexandria)))
5280 (arguments
5281 '(#:asd-file "iolib.asdf.asd"))
5282 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5283 (description "IOlib is to be a better and more modern I/O library than
5284 the standard Common Lisp library. It contains a socket library, a DNS
5285 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5286 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5287 (license license:expat))))
5288
5289 (define-public sbcl-iolib.conf
5290 (package
5291 (inherit sbcl-iolib.asdf)
5292 (name "sbcl-iolib.conf")
5293 (inputs
5294 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5295 (arguments
5296 '(#:asd-file "iolib.conf.asd"))
5297 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5298
5299 (define-public sbcl-iolib.common-lisp
5300 (package
5301 (inherit sbcl-iolib.asdf)
5302 (name "sbcl-iolib.common-lisp")
5303 (inputs
5304 `(("iolib.asdf" ,sbcl-iolib.asdf)
5305 ("iolib.conf" ,sbcl-iolib.conf)))
5306 (arguments
5307 '(#:asd-file "iolib.common-lisp.asd"))
5308 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5309
5310 (define-public sbcl-iolib.base
5311 (package
5312 (inherit sbcl-iolib.asdf)
5313 (name "sbcl-iolib.base")
5314 (inputs
5315 `(("iolib.asdf" ,sbcl-iolib.asdf)
5316 ("iolib.conf" ,sbcl-iolib.conf)
5317 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5318 ("split-sequence" ,sbcl-split-sequence)))
5319 (arguments
5320 '(#:asd-file "iolib.base.asd"))
5321 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5322
5323 (define-public sbcl-iolib.grovel
5324 (package
5325 (inherit sbcl-iolib.asdf)
5326 (name "sbcl-iolib.grovel")
5327 (inputs
5328 `(("iolib.asdf" ,sbcl-iolib.asdf)
5329 ("iolib.conf" ,sbcl-iolib.conf)
5330 ("iolib.base", sbcl-iolib.base)
5331 ("cffi", sbcl-cffi)))
5332 (arguments
5333 '(#:asd-file "iolib.grovel.asd"
5334 #:phases
5335 (modify-phases %standard-phases
5336 (add-after 'install 'install-header
5337 (lambda* (#:key outputs #:allow-other-keys)
5338 ;; This header is required by sbcl-iolib.
5339 (install-file "src/grovel/grovel-common.h"
5340 (string-append (assoc-ref outputs "out")
5341 "/lib/sbcl"))
5342 #t)))))
5343 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5344
5345 (define-public sbcl-iolib
5346 (package
5347 (inherit sbcl-iolib.asdf)
5348 (name "sbcl-iolib")
5349 (inputs
5350 `(("iolib.asdf" ,sbcl-iolib.asdf)
5351 ("iolib.conf" ,sbcl-iolib.conf)
5352 ("iolib.grovel" ,sbcl-iolib.grovel)
5353 ("iolib.base" ,sbcl-iolib.base)
5354 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5355 ("idna" ,sbcl-idna)
5356 ("swap-bytes" ,sbcl-swap-bytes)
5357 ("libfixposix" ,libfixposix)
5358 ("cffi" ,sbcl-cffi)))
5359 (native-inputs
5360 `(("fiveam" ,sbcl-fiveam)))
5361 (arguments
5362 '(#:asd-file "iolib.asd"
5363 #:asd-system-name "iolib"
5364 #:test-asd-file "iolib.tests.asd"
5365 #:phases
5366 (modify-phases %standard-phases
5367 (add-after 'unpack 'fix-paths
5368 (lambda* (#:key inputs #:allow-other-keys)
5369 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5370 (("\\(:default \"libfixposix\"\\)")
5371 (string-append
5372 "(:default \""
5373 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5374 ;; Socket tests need Internet access, disable them.
5375 (substitute* "iolib.tests.asd"
5376 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5377 "")))))))
5378 (synopsis "Common Lisp I/O library")))
5379
5380 (define-public cl-iolib
5381 (sbcl-package->cl-source-package sbcl-iolib))
5382
5383 (define sbcl-iolib+multiplex
5384 (package
5385 (inherit sbcl-iolib)
5386 (name "sbcl-iolib+multiplex")
5387 (arguments
5388 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5389 ((#:asd-system-name _) "iolib/multiplex")))))
5390
5391 (define sbcl-iolib+syscalls
5392 (package
5393 (inherit sbcl-iolib)
5394 (name "sbcl-iolib+syscalls")
5395 (arguments
5396 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5397 ((#:asd-system-name _) "iolib/syscalls")))))
5398
5399 (define sbcl-iolib+streams
5400 (package
5401 (inherit sbcl-iolib)
5402 (name "sbcl-iolib+streams")
5403 (arguments
5404 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5405 ((#:asd-system-name _) "iolib/streams")))))
5406
5407 (define sbcl-iolib+sockets
5408 (package
5409 (inherit sbcl-iolib)
5410 (name "sbcl-iolib+sockets")
5411 (arguments
5412 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5413 ((#:asd-system-name _) "iolib/sockets")))))
5414
5415 (define-public sbcl-ieee-floats
5416 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5417 (revision "1"))
5418 (package
5419 (name "sbcl-ieee-floats")
5420 (build-system asdf-build-system/sbcl)
5421 (version (git-version "20170924" revision commit))
5422 (home-page "https://github.com/marijnh/ieee-floats/")
5423 (source
5424 (origin
5425 (method git-fetch)
5426 (uri (git-reference
5427 (url home-page)
5428 (commit commit)))
5429 (file-name (git-file-name name version))
5430 (sha256
5431 (base32
5432 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5433 (native-inputs
5434 `(("fiveam" ,sbcl-fiveam)))
5435 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5436 (description "This is a Common Lisp library that allows to convert
5437 floating point values to IEEE 754 binary representation.")
5438 (license license:bsd-3))))
5439
5440 (define-public cl-ieee-floats
5441 (sbcl-package->cl-source-package sbcl-ieee-floats))
5442
5443 (define sbcl-closure-common
5444 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5445 (revision "1"))
5446 (package
5447 (name "sbcl-closure-common")
5448 (build-system asdf-build-system/sbcl)
5449 (version (git-version "20101006" revision commit))
5450 (home-page "https://common-lisp.net/project/cxml/")
5451 (source
5452 (origin
5453 (method git-fetch)
5454 (uri (git-reference
5455 (url "https://github.com/sharplispers/closure-common")
5456 (commit commit)))
5457 (file-name (git-file-name name version))
5458 (sha256
5459 (base32
5460 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5461 (inputs
5462 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5463 ("babel" ,sbcl-babel)))
5464 (synopsis "Support Common Lisp library for CXML")
5465 (description "Closure-common is an internal helper library. The name
5466 Closure is a reference to the web browser it was originally written for.")
5467 ;; TODO: License?
5468 (license #f))))
5469
5470 (define-public sbcl-cxml+xml
5471 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5472 (revision "1"))
5473 (package
5474 (name "sbcl-cxml+xml")
5475 (build-system asdf-build-system/sbcl)
5476 (version (git-version "0.0.0" revision commit))
5477 (home-page "https://common-lisp.net/project/cxml/")
5478 (source
5479 (origin
5480 (method git-fetch)
5481 (uri (git-reference
5482 (url "https://github.com/sharplispers/cxml")
5483 (commit commit)))
5484 (file-name (git-file-name name version))
5485 (sha256
5486 (base32
5487 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5488 (inputs
5489 `(("closure-common" ,sbcl-closure-common)
5490 ("puri" ,sbcl-puri)
5491 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5492 (arguments
5493 `(#:asd-file "cxml.asd"
5494 #:asd-system-name "cxml/xml"))
5495 (synopsis "Common Lisp XML parser")
5496 (description "CXML implements a namespace-aware, validating XML 1.0
5497 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5498 offered, one SAX-like, the other similar to StAX.")
5499 (license license:llgpl))))
5500
5501 (define sbcl-cxml+dom
5502 (package
5503 (inherit sbcl-cxml+xml)
5504 (name "sbcl-cxml+dom")
5505 (inputs
5506 `(("closure-common" ,sbcl-closure-common)
5507 ("puri" ,sbcl-puri)
5508 ("cxml+xml" ,sbcl-cxml+xml)))
5509 (arguments
5510 `(#:asd-file "cxml.asd"
5511 #:asd-system-name "cxml/dom"))))
5512
5513 (define sbcl-cxml+klacks
5514 (package
5515 (inherit sbcl-cxml+xml)
5516 (name "sbcl-cxml+klacks")
5517 (inputs
5518 `(("closure-common" ,sbcl-closure-common)
5519 ("puri" ,sbcl-puri)
5520 ("cxml+xml" ,sbcl-cxml+xml)))
5521 (arguments
5522 `(#:asd-file "cxml.asd"
5523 #:asd-system-name "cxml/klacks"))))
5524
5525 (define sbcl-cxml+test
5526 (package
5527 (inherit sbcl-cxml+xml)
5528 (name "sbcl-cxml+test")
5529 (inputs
5530 `(("closure-common" ,sbcl-closure-common)
5531 ("puri" ,sbcl-puri)
5532 ("cxml+xml" ,sbcl-cxml+xml)))
5533 (arguments
5534 `(#:asd-file "cxml.asd"
5535 #:asd-system-name "cxml/test"))))
5536
5537 (define-public sbcl-cxml
5538 (package
5539 (inherit sbcl-cxml+xml)
5540 (name "sbcl-cxml")
5541 (inputs
5542 `(("closure-common" ,sbcl-closure-common)
5543 ("puri" ,sbcl-puri)
5544 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5545 ("cxml+dom" ,sbcl-cxml+dom)
5546 ("cxml+klacks" ,sbcl-cxml+klacks)
5547 ("cxml+test" ,sbcl-cxml+test)))
5548 (arguments
5549 `(#:asd-file "cxml.asd"
5550 #:asd-system-name "cxml"
5551 #:phases
5552 (modify-phases %standard-phases
5553 (add-after 'build 'install-dtd
5554 (lambda* (#:key outputs #:allow-other-keys)
5555 (install-file "catalog.dtd"
5556 (string-append
5557 (assoc-ref outputs "out")
5558 "/lib/" (%lisp-type)))))
5559 (add-after 'create-asd 'remove-component
5560 ;; XXX: The original .asd has no components, but our build system
5561 ;; creates an entry nonetheless. We need to remove it for the
5562 ;; generated .asd to load properly. See trivia.trivial for a
5563 ;; similar problem.
5564 (lambda* (#:key outputs #:allow-other-keys)
5565 (let* ((out (assoc-ref outputs "out"))
5566 (asd (string-append out "/lib/sbcl/cxml.asd")))
5567 (substitute* asd
5568 ((" :components
5569 ")
5570 ""))
5571 (substitute* asd
5572 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5573 ""))))))))))
5574
5575 (define-public cl-cxml
5576 (sbcl-package->cl-source-package sbcl-cxml))
5577
5578 (define-public sbcl-cl-reexport
5579 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5580 (revision "1"))
5581 (package
5582 (name "sbcl-cl-reexport")
5583 (build-system asdf-build-system/sbcl)
5584 (version (git-version "0.1" revision commit))
5585 (home-page "https://github.com/takagi/cl-reexport")
5586 (source
5587 (origin
5588 (method git-fetch)
5589 (uri (git-reference
5590 (url home-page)
5591 (commit commit)))
5592 (file-name (git-file-name name version))
5593 (sha256
5594 (base32
5595 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5596 (inputs
5597 `(("alexandria" ,sbcl-alexandria)))
5598 (arguments
5599 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5600 `(#:tests? #f))
5601 (synopsis "HTTP cookie manager for Common Lisp")
5602 (description "cl-cookie is a Common Lisp library featuring parsing of
5603 cookie headers, cookie creation, cookie jar creation and more.")
5604 (license license:llgpl))))
5605
5606 (define-public cl-reexport
5607 (sbcl-package->cl-source-package sbcl-cl-reexport))
5608
5609 (define-public sbcl-cl-cookie
5610 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5611 (revision "1"))
5612 (package
5613 (name "sbcl-cl-cookie")
5614 (build-system asdf-build-system/sbcl)
5615 (version (git-version "0.9.10" revision commit))
5616 (home-page "https://github.com/fukamachi/cl-cookie")
5617 (source
5618 (origin
5619 (method git-fetch)
5620 (uri (git-reference
5621 (url home-page)
5622 (commit commit)))
5623 (file-name (git-file-name name version))
5624 (sha256
5625 (base32
5626 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5627 (inputs
5628 `(("proc-parse" ,sbcl-proc-parse)
5629 ("alexandria" ,sbcl-alexandria)
5630 ("quri" ,sbcl-quri)
5631 ("cl-ppcre" ,sbcl-cl-ppcre)
5632 ("local-time" ,sbcl-local-time)))
5633 (native-inputs
5634 `(("prove-asdf" ,sbcl-prove-asdf)
5635 ("prove" ,sbcl-prove)))
5636 (arguments
5637 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5638 `(#:tests? #f))
5639 (synopsis "HTTP cookie manager for Common Lisp")
5640 (description "cl-cookie is a Common Lisp library featuring parsing of
5641 cookie headers, cookie creation, cookie jar creation and more.")
5642 (license license:bsd-2))))
5643
5644 (define-public cl-cookie
5645 (sbcl-package->cl-source-package sbcl-cl-cookie))
5646
5647 (define-public sbcl-dexador
5648 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5649 (revision "1"))
5650 (package
5651 (name "sbcl-dexador")
5652 (build-system asdf-build-system/sbcl)
5653 (version (git-version "0.9.10" revision commit))
5654 (home-page "https://github.com/fukamachi/dexador")
5655 (source
5656 (origin
5657 (method git-fetch)
5658 (uri (git-reference
5659 (url home-page)
5660 (commit commit)))
5661 (file-name (git-file-name name version))
5662 (sha256
5663 (base32
5664 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5665 (inputs
5666 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5667 ("babel" ,sbcl-babel)
5668 ("usocket" ,sbcl-usocket)
5669 ("fast-http" ,sbcl-fast-http)
5670 ("quri" ,sbcl-quri)
5671 ("fast-io" ,sbcl-fast-io)
5672 ("chunga" ,sbcl-chunga)
5673 ("cl-ppcre" ,sbcl-cl-ppcre)
5674 ("cl-cookie" ,sbcl-cl-cookie)
5675 ("trivial-mimes" ,sbcl-trivial-mimes)
5676 ("chipz" ,sbcl-chipz)
5677 ("cl-base64" ,sbcl-cl-base64)
5678 ("cl-reexport" ,sbcl-cl-reexport)
5679 ("cl+ssl" ,sbcl-cl+ssl)
5680 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5681 ("alexandria" ,sbcl-alexandria)))
5682 (native-inputs
5683 `(("prove" ,sbcl-prove)
5684 ("prove-asdf" ,sbcl-prove-asdf)
5685 ("lack-request" ,sbcl-lack-request)
5686 ("clack" ,sbcl-clack)
5687 ("babel" ,sbcl-babel)
5688 ("alexandria" ,sbcl-alexandria)
5689 ("cl-ppcre" ,sbcl-cl-ppcre)
5690 ("local-time" ,sbcl-local-time)))
5691 (arguments
5692 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5693 `(#:tests? #f
5694 #:phases
5695 (modify-phases %standard-phases
5696 (add-after 'unpack 'fix-permissions
5697 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5698 (synopsis "Yet another HTTP client for Common Lisp")
5699 (description "Dexador is yet another HTTP client for Common Lisp with
5700 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5701 (license license:expat))))
5702
5703 (define-public cl-dexador
5704 (package
5705 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5706 (arguments
5707 `(#:phases
5708 ;; asdf-build-system/source has its own phases and does not inherit
5709 ;; from asdf-build-system/sbcl phases.
5710 (modify-phases %standard-phases/source
5711 (add-after 'unpack 'fix-permissions
5712 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5713
5714 (define-public ecl-dexador
5715 (sbcl-package->ecl-package sbcl-dexador))
5716
5717 (define-public sbcl-lisp-namespace
5718 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5719 (revision "1"))
5720 (package
5721 (name "sbcl-lisp-namespace")
5722 (build-system asdf-build-system/sbcl)
5723 (version (git-version "0.1" revision commit))
5724 (home-page "https://github.com/guicho271828/lisp-namespace")
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url home-page)
5730 (commit commit)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32
5734 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5735 (inputs
5736 `(("alexandria" ,sbcl-alexandria)))
5737 (native-inputs
5738 `(("fiveam" ,sbcl-fiveam)))
5739 (arguments
5740 `(#:test-asd-file "lisp-namespace.test.asd"
5741 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5742 #:tests? #f))
5743 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5744 (description "Common Lisp already has major 2 namespaces, function
5745 namespace and value namespace (or variable namespace), but there are actually
5746 more — e.g., class namespace.
5747 This library offers macros to deal with symbols from any namespace.")
5748 (license license:llgpl))))
5749
5750 (define-public cl-lisp-namespace
5751 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5752
5753 (define-public sbcl-trivial-cltl2
5754 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5755 (revision "1"))
5756 (package
5757 (name "sbcl-trivial-cltl2")
5758 (build-system asdf-build-system/sbcl)
5759 (version (git-version "0.1.1" revision commit))
5760 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5761 (source
5762 (origin
5763 (method git-fetch)
5764 (uri (git-reference
5765 (url home-page)
5766 (commit commit)))
5767 (file-name (git-file-name name version))
5768 (sha256
5769 (base32
5770 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5771 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5772 (description "This library is a portable compatibility layer around
5773 \"Common Lisp the Language, 2nd
5774 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5775 and it exports symbols from implementation-specific packages.")
5776 (license license:llgpl))))
5777
5778 (define-public cl-trivial-cltl2
5779 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5780
5781 (define-public sbcl-introspect-environment
5782 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5783 (revision "1"))
5784 (package
5785 (name "sbcl-introspect-environment")
5786 (build-system asdf-build-system/sbcl)
5787 (version (git-version "0.1" revision commit))
5788 (home-page "https://github.com/Bike/introspect-environment")
5789 (source
5790 (origin
5791 (method git-fetch)
5792 (uri (git-reference
5793 (url home-page)
5794 (commit commit)))
5795 (file-name (git-file-name name version))
5796 (sha256
5797 (base32
5798 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5799 (native-inputs
5800 `(("fiveam" ,sbcl-fiveam)))
5801 (synopsis "Common Lisp environment introspection portability layer")
5802 (description "This library is a small interface to portable but
5803 nonstandard introspection of Common Lisp environments. It is intended to
5804 allow a bit more compile-time introspection of environments in Common Lisp.
5805
5806 Quite a bit of information is available at the time a macro or compiler-macro
5807 runs; inlining info, type declarations, that sort of thing. This information
5808 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5809 such.
5810
5811 This info ought to be accessible through the standard @code{&environment}
5812 parameters, but it is not. Several implementations keep the information for
5813 their own purposes but do not make it available to user programs, because
5814 there is no standard mechanism to do so.
5815
5816 This library uses implementation-specific hooks to make information available
5817 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5818 implementations have implementations of the functions that do as much as they
5819 can and/or provide reasonable defaults.")
5820 (license license:wtfpl2))))
5821
5822 (define-public cl-introspect-environment
5823 (sbcl-package->cl-source-package sbcl-introspect-environment))
5824
5825 (define-public sbcl-type-i
5826 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5827 (revision "1"))
5828 (package
5829 (name "sbcl-type-i")
5830 (build-system asdf-build-system/sbcl)
5831 (version (git-version "0.1" revision commit))
5832 (home-page "https://github.com/guicho271828/type-i")
5833 (source
5834 (origin
5835 (method git-fetch)
5836 (uri (git-reference
5837 (url home-page)
5838 (commit commit)))
5839 (file-name (git-file-name name version))
5840 (sha256
5841 (base32
5842 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5843 (inputs
5844 `(("alexandria" ,sbcl-alexandria)
5845 ("introspect-environment" ,sbcl-introspect-environment)
5846 ("trivia.trivial" ,sbcl-trivia.trivial)))
5847 (native-inputs
5848 `(("fiveam" ,sbcl-fiveam)))
5849 (arguments
5850 `(#:test-asd-file "type-i.test.asd"))
5851 (synopsis "Type inference utility on unary predicates for Common Lisp")
5852 (description "This library tries to provide a way to detect what kind of
5853 type the given predicate is trying to check. This is different from inferring
5854 the return type of a function.")
5855 (license license:llgpl))))
5856
5857 (define-public cl-type-i
5858 (sbcl-package->cl-source-package sbcl-type-i))
5859
5860 (define-public sbcl-optima
5861 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5862 (revision "1"))
5863 (package
5864 (name "sbcl-optima")
5865 (build-system asdf-build-system/sbcl)
5866 (version (git-version "1.0" revision commit))
5867 (home-page "https://github.com/m2ym/optima")
5868 (source
5869 (origin
5870 (method git-fetch)
5871 (uri (git-reference
5872 (url home-page)
5873 (commit commit)))
5874 (file-name (git-file-name name version))
5875 (sha256
5876 (base32
5877 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5878 (inputs
5879 `(("alexandria" ,sbcl-alexandria)
5880 ("closer-mop" ,sbcl-closer-mop)))
5881 (native-inputs
5882 `(("eos" ,sbcl-eos)))
5883 (arguments
5884 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5885 `(#:tests? #f
5886 #:test-asd-file "optima.test.asd"))
5887 (synopsis "Optimized pattern matching library for Common Lisp")
5888 (description "Optima is a fast pattern matching library which uses
5889 optimizing techniques widely used in the functional programming world.")
5890 (license license:expat))))
5891
5892 (define-public cl-optima
5893 (sbcl-package->cl-source-package sbcl-optima))
5894
5895 (define-public sbcl-fare-quasiquote
5896 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5897 (revision "1"))
5898 (package
5899 (name "sbcl-fare-quasiquote")
5900 (build-system asdf-build-system/sbcl)
5901 (version (git-version "1.0.1" revision commit))
5902 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5903 (source
5904 (origin
5905 (method git-fetch)
5906 (uri (git-reference
5907 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5908 "fare-quasiquote.git"))
5909 (commit commit)))
5910 (file-name (git-file-name name version))
5911 (sha256
5912 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5913 (inputs
5914 `(("fare-utils" ,sbcl-fare-utils)))
5915 (arguments
5916 ;; XXX: Circular dependencies: Tests depend on subsystems,
5917 ;; which depend on the main systems.
5918 `(#:tests? #f
5919 #:phases
5920 (modify-phases %standard-phases
5921 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5922 ;; commits after 1.0.0.5, but ASDF fails to read the
5923 ;; "-REVISION-COMMIT" part generated by Guix.
5924 (add-after 'unpack 'patch-requirement
5925 (lambda _
5926 (substitute* "fare-quasiquote.asd"
5927 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5928 "\"fare-utils\"")))))))
5929 (synopsis "Pattern-matching friendly implementation of quasiquote")
5930 (description "The main purpose of this n+2nd reimplementation of
5931 quasiquote is enable matching of quasiquoted patterns, using Optima or
5932 Trivia.")
5933 (license license:expat))))
5934
5935 (define-public cl-fare-quasiquote
5936 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5937
5938 (define-public sbcl-fare-quasiquote-optima
5939 (package
5940 (inherit sbcl-fare-quasiquote)
5941 (name "sbcl-fare-quasiquote-optima")
5942 (inputs
5943 `(("optima" ,sbcl-optima)
5944 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
5945 (arguments
5946 '(#:phases
5947 (modify-phases %standard-phases
5948 (add-after 'unpack 'patch-requirement
5949 (lambda _
5950 (substitute* "fare-quasiquote-optima.asd"
5951 (("\\(:version \"optima\" \"1\\.0\"\\)")
5952 "\"optima\""))
5953 #t)))))))
5954
5955 (define-public cl-fare-quasiquote-optima
5956 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
5957
5958 (define-public sbcl-fare-quasiquote-readtable
5959 (package
5960 (inherit sbcl-fare-quasiquote)
5961 (name "sbcl-fare-quasiquote-readtable")
5962 (inputs
5963 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
5964 ("named-readtables" ,sbcl-named-readtables)))
5965 (description "The main purpose of this n+2nd reimplementation of
5966 quasiquote is enable matching of quasiquoted patterns, using Optima or
5967 Trivia.
5968
5969 This package uses fare-quasiquote with named-readtable.")))
5970
5971 (define-public cl-fare-quasiquote-readtable
5972 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
5973
5974 ;; TODO: Add support for component-less system in asdf-build-system/sbcl.
5975 (define-public sbcl-fare-quasiquote-extras
5976 (package
5977 (inherit sbcl-fare-quasiquote)
5978 (name "sbcl-fare-quasiquote-extras")
5979 (build-system asdf-build-system/sbcl)
5980 (inputs
5981 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
5982 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
5983 (arguments
5984 `(#:phases
5985 (modify-phases %standard-phases
5986 (replace 'build
5987 (lambda* (#:key outputs #:allow-other-keys)
5988 (let* ((out (assoc-ref outputs "out"))
5989 (lib (string-append out "/lib/" (%lisp-type))))
5990 (mkdir-p lib)
5991 (install-file "fare-quasiquote-extras.asd" lib)
5992 (make-file-writable
5993 (string-append lib "/fare-quasiquote-extras.asd"))
5994 #t)))
5995 (add-after 'create-asd-file 'fix-asd-file
5996 (lambda* (#:key outputs #:allow-other-keys)
5997 (let* ((out (assoc-ref outputs "out"))
5998 (lib (string-append out "/lib/" (%lisp-type)))
5999 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6000 (substitute* asd
6001 ((":class")
6002 "")
6003 (("asdf/bundle:prebuilt-system")
6004 "")
6005 ((":components")
6006 "")
6007 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6008 "")))
6009 #t)))))
6010 (description "This library combines @code{fare-quasiquote-readtable} and
6011 @code{fare-quasiquote-optima}.")))
6012
6013 (define-public cl-fare-quasiquote-extras
6014 (package
6015 (inherit cl-fare-quasiquote)
6016 (name "cl-fare-quasiquote-extras")
6017 (build-system asdf-build-system/source)
6018 (propagated-inputs
6019 `(("fare-quasiquote" ,cl-fare-quasiquote)
6020 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6021 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6022 (description "This library combines @code{fare-quasiquote-readtable} and
6023 @code{fare-quasiquote-optima}.")))
6024
6025 (define-public sbcl-trivia.level0
6026 (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
6027 (revision "1"))
6028 (package
6029 (name "sbcl-trivia.level0")
6030 (build-system asdf-build-system/sbcl)
6031 (version (git-version "0.0.0" revision commit))
6032 (home-page "https://github.com/guicho271828/trivia")
6033 (source
6034 (origin
6035 (method git-fetch)
6036 (uri (git-reference
6037 (url home-page)
6038 (commit commit)))
6039 (file-name (git-file-name name version))
6040 (sha256
6041 (base32
6042 "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
6043 (inputs
6044 `(("alexandria" ,sbcl-alexandria)))
6045 (synopsis "Pattern matching in Common Lisp")
6046 (description "Trivia is a pattern matching compiler that is compatible
6047 with Optima, another pattern matching library for Common Lisp. It is meant to
6048 be faster and more extensible than Optima.")
6049 (license license:llgpl))))
6050
6051 (define-public sbcl-trivia.level1
6052 (package
6053 (inherit sbcl-trivia.level0)
6054 (name "sbcl-trivia.level1")
6055 (inputs
6056 `(("trivia.level0" ,sbcl-trivia.level0)))
6057 (description "Trivia is a pattern matching compiler that is compatible
6058 with Optima, another pattern matching library for Common Lisp. It is meant to
6059 be faster and more extensible than Optima.
6060
6061 This system contains the core patterns of Trivia.")))
6062
6063 (define-public sbcl-trivia.level2
6064 (package
6065 (inherit sbcl-trivia.level0)
6066 (name "sbcl-trivia.level2")
6067 (inputs
6068 `(("trivia.level1" ,sbcl-trivia.level1)
6069 ("lisp-namespace" ,sbcl-lisp-namespace)
6070 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6071 ("closer-mop" ,sbcl-closer-mop)))
6072 (description "Trivia is a pattern matching compiler that is compatible
6073 with Optima, another pattern matching library for Common Lisp. It is meant to
6074 be faster and more extensible than Optima.
6075
6076 This system contains a non-optimized pattern matcher compatible with Optima,
6077 with extensible optimizer interface.")))
6078
6079 (define-public sbcl-trivia.trivial
6080 (package
6081 (inherit sbcl-trivia.level0)
6082 (name "sbcl-trivia.trivial")
6083 (inputs
6084 `(("trivia.level2" ,sbcl-trivia.level2)))
6085 (arguments
6086 `(#:phases
6087 (modify-phases %standard-phases
6088 (replace 'create-asd-file
6089 (lambda* (#:key outputs inputs #:allow-other-keys)
6090 (let* ((out (assoc-ref outputs "out"))
6091 (lib (string-append out "/lib/" (%lisp-type)))
6092 (level2 (assoc-ref inputs "trivia.level2")))
6093 (mkdir-p lib)
6094 (install-file "trivia.trivial.asd" lib)
6095 ;; XXX: This .asd does not have any component and the build
6096 ;; system fails to work in this case. We should update the
6097 ;; build system to handle component-less .asd.
6098 ;; TODO: How do we append to file in Guile? It seems that
6099 ;; (open-file ... "a") gets a "Permission denied".
6100 (substitute* (string-append lib "/trivia.trivial.asd")
6101 (("\"\\)")
6102 (string-append "\")
6103
6104 (progn (asdf/source-registry:ensure-source-registry)
6105 (setf (gethash
6106 \"trivia.level2\"
6107 asdf/source-registry:*source-registry*)
6108 #p\""
6109 level2
6110 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6111 (description "Trivia is a pattern matching compiler that is compatible
6112 with Optima, another pattern matching library for Common Lisp. It is meant to
6113 be faster and more extensible than Optima.
6114
6115 This system contains the base level system of Trivia with a trivial optimizer.")))
6116
6117 (define-public sbcl-trivia.balland2006
6118 (package
6119 (inherit sbcl-trivia.level0)
6120 (name "sbcl-trivia.balland2006")
6121 (inputs
6122 `(("trivia.trivial" ,sbcl-trivia.trivial)
6123 ("iterate" ,sbcl-iterate)
6124 ("type-i" ,sbcl-type-i)
6125 ("alexandria" ,sbcl-alexandria)))
6126 (arguments
6127 ;; Tests are done in trivia itself.
6128 `(#:tests? #f))
6129 (description "Trivia is a pattern matching compiler that is compatible
6130 with Optima, another pattern matching library for Common Lisp. It is meant to
6131 be faster and more extensible than Optima.
6132
6133 This system contains the base level system of Trivia with a trivial optimizer.")))
6134
6135 (define-public sbcl-trivia.ppcre
6136 (package
6137 (inherit sbcl-trivia.level0)
6138 (name "sbcl-trivia.ppcre")
6139 (inputs
6140 `(("trivia.trivial" ,sbcl-trivia.trivial)
6141 ("cl-ppcre" ,sbcl-cl-ppcre)))
6142 (description "Trivia is a pattern matching compiler that is compatible
6143 with Optima, another pattern matching library for Common Lisp. It is meant to
6144 be faster and more extensible than Optima.
6145
6146 This system contains the PPCRE extension.")))
6147
6148 (define-public sbcl-trivia.quasiquote
6149 (package
6150 (inherit sbcl-trivia.level0)
6151 (name "sbcl-trivia.quasiquote")
6152 (inputs
6153 `(("trivia.trivial" ,sbcl-trivia.trivial)
6154 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6155 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6156 (description "Trivia is a pattern matching compiler that is compatible
6157 with Optima, another pattern matching library for Common Lisp. It is meant to
6158 be faster and more extensible than Optima.
6159
6160 This system contains the fare-quasiquote extension.")))
6161
6162 (define-public sbcl-trivia.cffi
6163 (package
6164 (inherit sbcl-trivia.level0)
6165 (name "sbcl-trivia.cffi")
6166 (inputs
6167 `(("cffi" ,sbcl-cffi)
6168 ("trivia.trivial" ,sbcl-trivia.trivial)))
6169 (description "Trivia is a pattern matching compiler that is compatible
6170 with Optima, another pattern matching library for Common Lisp. It is meant to
6171 be faster and more extensible than Optima.
6172
6173 This system contains the CFFI foreign slot access extension.")))
6174
6175 (define-public sbcl-trivia
6176 (package
6177 (inherit sbcl-trivia.level0)
6178 (name "sbcl-trivia")
6179 (inputs
6180 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6181 (native-inputs
6182 `(("fiveam" ,sbcl-fiveam)
6183 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6184 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6185 ("trivia.cffi" ,sbcl-trivia.cffi)
6186 ("optima" ,sbcl-optima)))
6187 (arguments
6188 `(#:test-asd-file "trivia.test.asd"
6189 #:phases
6190 (modify-phases %standard-phases
6191 (add-after 'create-asd 'remove-component
6192 ;; XXX: The original .asd has no components, but our build system
6193 ;; creates an entry nonetheless. We need to remove it for the
6194 ;; generated .asd to load properly. See trivia.trivial for a
6195 ;; similar problem.
6196 (lambda* (#:key outputs #:allow-other-keys)
6197 (let* ((out (assoc-ref outputs "out"))
6198 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6199 (substitute* asd
6200 ((" :components
6201 ")
6202 ""))
6203 (substitute* asd
6204 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6205 ""))))))))
6206 (description "Trivia is a pattern matching compiler that is compatible
6207 with Optima, another pattern matching library for Common Lisp. It is meant to
6208 be faster and more extensible than Optima.")))
6209
6210 (define-public cl-trivia
6211 (sbcl-package->cl-source-package sbcl-trivia))
6212
6213 (define-public sbcl-mk-string-metrics
6214 (package
6215 (name "sbcl-mk-string-metrics")
6216 (version "0.1.2")
6217 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6218 (source (origin
6219 (method git-fetch)
6220 (uri (git-reference
6221 (url home-page)
6222 (commit version)))
6223 (sha256
6224 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6225 (file-name (git-file-name name version))))
6226 (build-system asdf-build-system/sbcl)
6227 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6228 (description "This library implements efficient algorithms that calculate
6229 various string metrics in Common Lisp:
6230
6231 @itemize
6232 @item Damerau-Levenshtein distance
6233 @item Hamming distance
6234 @item Jaccard similarity coefficient
6235 @item Jaro distance
6236 @item Jaro-Winkler distance
6237 @item Levenshtein distance
6238 @item Normalized Damerau-Levenshtein distance
6239 @item Normalized Levenshtein distance
6240 @item Overlap coefficient
6241 @end itemize\n")
6242 (license license:x11)))
6243
6244 (define-public cl-mk-string-metrics
6245 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6246
6247 (define-public sbcl-cl-str
6248 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6249 (package
6250 (name "sbcl-cl-str")
6251 (version (git-version "0.8" "1" commit))
6252 (home-page "https://github.com/vindarel/cl-str")
6253 (source (origin
6254 (method git-fetch)
6255 (uri (git-reference
6256 (url home-page)
6257 (commit commit)))
6258 (sha256
6259 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6260 (file-name (git-file-name name version))))
6261 (build-system asdf-build-system/sbcl)
6262 (inputs
6263 `(("cl-ppcre" ,sbcl-cl-ppcre)
6264 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6265 (native-inputs
6266 `(("prove" ,sbcl-prove)
6267 ("prove-asdf" ,sbcl-prove-asdf)))
6268 (arguments
6269 `(#:asd-file "str.asd"
6270 #:asd-system-name "str"
6271 #:test-asd-file "str.test.asd"))
6272 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6273 (description "A modern and consistent Common Lisp string manipulation
6274 library that focuses on modernity, simplicity and discoverability:
6275 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6276 @code{str:concat strings} instead of an unusual format construct; one
6277 discoverable library instead of many; consistency and composability, where
6278 @code{s} is always the last argument, which makes it easier to feed pipes and
6279 arrows.")
6280 (license license:expat))))
6281
6282 (define-public cl-str
6283 (sbcl-package->cl-source-package sbcl-cl-str))
6284
6285 (define-public sbcl-cl-xmlspam
6286 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6287 (package
6288 (name "sbcl-cl-xmlspam")
6289 (build-system asdf-build-system/sbcl)
6290 (version (git-version "0.0.0" "1" commit))
6291 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6292 (source
6293 (origin
6294 (method git-fetch)
6295 (uri (git-reference
6296 (url home-page)
6297 (commit commit)))
6298 (file-name (string-append name "-" version))
6299 (sha256
6300 (base32
6301 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6302 (inputs
6303 `(("cxml" ,sbcl-cxml)
6304 ("cl-ppcre" ,sbcl-cl-ppcre)))
6305 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6306 (description "CXML does an excellent job at parsing XML elements, but what
6307 do you do when you have a XML file that's larger than you want to fit in
6308 memory, and you want to extract some information from it? Writing code to deal
6309 with SAX events, or even using Klacks, quickly becomes tedious.
6310 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6311 to write code that mirrors the structure of the XML that it's parsing. It
6312 also makes it easy to shift paradigms when necessary - the usual Lisp control
6313 constructs can be used interchangeably with pattern matching, and the full
6314 power of CXML is available when necessary.")
6315 (license license:bsd-3))))
6316
6317 ;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6318 ;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6319 ;; asdf-build-system/sbcl.
6320 (define-public cl-dbus
6321 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6322 (revision "1"))
6323 (package
6324 (name "cl-dbus")
6325 (build-system asdf-build-system/source)
6326 (version (git-version "20190408" revision commit))
6327 (home-page "https://github.com/death/dbus")
6328 (source
6329 (origin
6330 (method git-fetch)
6331 (uri (git-reference
6332 (url home-page)
6333 (commit commit)))
6334 (file-name (git-file-name name version))
6335 (sha256
6336 (base32
6337 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6338 ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
6339 (propagated-inputs
6340 `(("alexandria" ,sbcl-alexandria)
6341 ("trivial-garbage" ,sbcl-trivial-garbage)
6342 ("babel" ,sbcl-babel)
6343 ("iolib" ,sbcl-iolib)
6344 ("iolib+multiplex" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+multiplex))
6345 ("iolib+syscalls" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+syscalls))
6346 ("iolib+streams" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+streams))
6347 ("iolib+sockets" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+sockets))
6348 ("ieee-floats" ,sbcl-ieee-floats)
6349 ("flexi-streams" ,sbcl-flexi-streams)
6350 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6351 ("ironclad" ,sbcl-ironclad)))
6352 (synopsis "D-Bus client library for Common Lisp")
6353 (description "This is a Common Lisp library that allows to publish D-Bus
6354 objects as well as send and notify other objects connected to a bus.")
6355 (license license:bsd-2))))
6356
6357 (define-public sbcl-cl-hooks
6358 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6359 (revision "1"))
6360 (package
6361 (name "sbcl-cl-hooks")
6362 (build-system asdf-build-system/sbcl)
6363 (version (git-version "0.2.1" revision commit))
6364 (home-page "https://github.com/scymtym/architecture.hooks")
6365 (source
6366 (origin
6367 (method git-fetch)
6368 (uri (git-reference
6369 (url home-page)
6370 (commit commit)))
6371 (file-name (git-file-name name version))
6372 (sha256
6373 (base32
6374 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6375 (inputs
6376 `(("alexandria" ,sbcl-alexandria)
6377 ("let-plus" ,sbcl-let-plus)
6378 ("trivial-garbage" ,sbcl-trivial-garbage)
6379 ("closer-mop" ,sbcl-closer-mop)))
6380 (native-inputs
6381 `(("fiveam" ,sbcl-fiveam)))
6382 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6383 (description "A hook, in the present context, is a certain kind of
6384 extension point in a program that allows interleaving the execution of
6385 arbitrary code with the execution of a the program without introducing any
6386 coupling between the two. Hooks are used extensively in the extensible editor
6387 Emacs.
6388
6389 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6390 possible using the flexible multi-method dispatch mechanism. It may even seem
6391 that the concept of hooks does not provide any benefits over the possibilities
6392 of CLOS. However, there are some differences:
6393
6394 @itemize
6395
6396 @item There can be only one method for each combination of specializers and
6397 qualifiers. As a result this kind of extension point cannot be used by
6398 multiple extensions independently.
6399 @item Removing code previously attached via a @code{:before}, @code{:after} or
6400 @code{:around} method can be cumbersome.
6401 @item There could be other or even multiple extension points besides @code{:before}
6402 and @code{:after} in a single method.
6403 @item Attaching codes to individual objects using eql specializers can be
6404 cumbersome.
6405 @item Introspection of code attached a particular extension point is
6406 cumbersome since this requires enumerating and inspecting the methods of a
6407 generic function.
6408 @end itemize
6409
6410 This library tries to complement some of these weaknesses of method-based
6411 extension-points via the concept of hooks.")
6412 (license license:llgpl))))
6413
6414 (define-public cl-hooks
6415 (sbcl-package->cl-source-package sbcl-cl-hooks))
6416
6417 (define-public ecl-cl-hooks
6418 (sbcl-package->ecl-package sbcl-cl-hooks))
6419
6420 (define-public sbcl-s-sysdeps
6421 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6422 (revision "1"))
6423 (package
6424 (name "sbcl-s-sysdeps")
6425 (build-system asdf-build-system/sbcl)
6426 (version (git-version "1" revision commit))
6427 (home-page "https://github.com/svenvc/s-sysdeps")
6428 (source
6429 (origin
6430 (method git-fetch)
6431 (uri (git-reference
6432 (url home-page)
6433 (commit commit)))
6434 (file-name (git-file-name name version))
6435 (sha256
6436 (base32
6437 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6438 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6439 (description "@code{s-sysdeps} is an abstraction layer over platform
6440 dependent functionality. This simple package is used as a building block in a
6441 number of other open source projects.
6442
6443 @code{s-sysdeps} abstracts:
6444
6445 @itemize
6446 @item managing processes,
6447 @item implementing a standard TCP/IP server,
6448 @item opening a client TCP/IP socket stream,
6449 @item working with process locks.
6450 @end itemize\n")
6451 (license license:llgpl))))
6452
6453 (define-public cl-s-sysdeps
6454 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6455
6456 (define-public ecl-s-sysdeps
6457 (sbcl-package->ecl-package sbcl-s-sysdeps))
6458
6459 (define-public sbcl-cl-prevalence
6460 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6461 (revision "1"))
6462 (package
6463 (name "sbcl-cl-prevalence")
6464 (build-system asdf-build-system/sbcl)
6465 (version (git-version "5" revision commit))
6466 (home-page "https://github.com/40ants/cl-prevalence")
6467 (source
6468 (origin
6469 (method git-fetch)
6470 (uri (git-reference
6471 (url home-page)
6472 (commit commit)))
6473 (file-name (git-file-name name version))
6474 (sha256
6475 (base32
6476 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6477 (inputs
6478 `(("s-sysdeps" ,sbcl-s-sysdeps)
6479 ("s-xml" ,sbcl-s-xml)))
6480 (synopsis "Implementation of object prevalence for Common Lisp")
6481 (description "This Common Lisp library implements object prevalence (see
6482 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6483 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6484 classes and cyclic data structures are supported.")
6485 (license license:llgpl))))
6486
6487 (define-public cl-prevalence
6488 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6489
6490 (define-public ecl-cl-prevalence
6491 (sbcl-package->ecl-package sbcl-cl-prevalence))
6492
6493 (define-public sbcl-series
6494 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6495 (revision "1"))
6496 (package
6497 (name "sbcl-series")
6498 (version (git-version "2.2.11" revision commit))
6499 (source
6500 (origin
6501 (method git-fetch)
6502 (uri (git-reference
6503 (url "git://git.code.sf.net/p/series/series")
6504 (commit commit)))
6505 (file-name (git-file-name name version))
6506 (sha256
6507 (base32
6508 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6509 (build-system asdf-build-system/sbcl)
6510 (arguments
6511 ;; Disable the tests, they are apparently buggy and I didn't find
6512 ;; a simple way to make them run and pass.
6513 '(#:tests? #f))
6514 (synopsis "Series data structure for Common Lisp")
6515 (description
6516 "This Common Lisp library provides a series data structure much like
6517 a sequence, with similar kinds of operations. The difference is that in many
6518 situations, operations on series may be composed functionally and yet execute
6519 iteratively, without the need to construct intermediate series values
6520 explicitly. In this manner, series provide both the clarity of a functional
6521 programming style and the efficiency of an iterative programming style.")
6522 (home-page "http://series.sourceforge.net/")
6523 (license license:expat))))
6524
6525 (define-public cl-series
6526 (sbcl-package->cl-source-package sbcl-series))
6527
6528 (define-public ecl-series
6529 (sbcl-package->ecl-package sbcl-series))
6530
6531 (define-public sbcl-periods
6532 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6533 (revision "1"))
6534 (package
6535 (name "sbcl-periods")
6536 (version (git-version "0.0.2" revision commit))
6537 (source
6538 (origin
6539 (method git-fetch)
6540 (uri (git-reference
6541 (url "https://github.com/jwiegley/periods.git")
6542 (commit commit)))
6543 (file-name (git-file-name name version))
6544 (sha256
6545 (base32
6546 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6547 (build-system asdf-build-system/sbcl)
6548 (inputs
6549 `(("local-time" ,sbcl-local-time)))
6550 (synopsis "Common Lisp library for manipulating date/time objects")
6551 (description
6552 "Periods is a Common Lisp library providing a set of utilities for
6553 manipulating times, distances between times, and both contiguous and
6554 discontiguous ranges of time.")
6555 (home-page "https://github.com/jwiegley/periods")
6556 (license license:bsd-3))))
6557
6558 (define-public cl-periods
6559 (sbcl-package->cl-source-package sbcl-periods))
6560
6561 (define-public ecl-periods
6562 (sbcl-package->ecl-package sbcl-periods))
6563
6564 (define-public sbcl-periods-series
6565 (package
6566 (inherit sbcl-periods)
6567 (name "sbcl-periods-series")
6568 (inputs
6569 `(("periods" ,sbcl-periods)
6570 ("series" ,sbcl-series)))
6571 (arguments
6572 '(#:asd-file "periods-series.asd"
6573 #:asd-system-name "periods-series"))
6574 (description
6575 "Periods-series is an extension of the periods Common Lisp library
6576 providing functions compatible with the series Common Lisp library.")))
6577
6578 (define-public cl-periods-series
6579 (sbcl-package->cl-source-package sbcl-periods-series))
6580
6581 (define-public ecl-periods-series
6582 (sbcl-package->ecl-package sbcl-periods-series))
6583
6584 (define-public sbcl-metatilities-base
6585 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6586 (revision "1"))
6587 (package
6588 (name "sbcl-metatilities-base")
6589 (version (git-version "0.6.6" revision commit))
6590 (source
6591 (origin
6592 (method git-fetch)
6593 (uri (git-reference
6594 (url "https://github.com/gwkkwg/metatilities-base.git")
6595 (commit commit)))
6596 (file-name (git-file-name name version))
6597 (sha256
6598 (base32
6599 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6600 (build-system asdf-build-system/sbcl)
6601 (native-inputs
6602 `(("lift" ,sbcl-lift)))
6603 (synopsis "Core of the metatilities Common Lisp library")
6604 (description
6605 "Metatilities-base is the core of the metatilities Common Lisp library
6606 which implements a set of utilities.")
6607 (home-page "https://common-lisp.net/project/metatilities-base/")
6608 (license license:expat))))
6609
6610 (define-public cl-metatilities-base
6611 (sbcl-package->cl-source-package sbcl-metatilities-base))
6612
6613 (define-public ecl-metatilities-base
6614 (sbcl-package->ecl-package sbcl-metatilities-base))
6615
6616 (define-public sbcl-cl-containers
6617 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
6618 (revision "1"))
6619 (package
6620 (name "sbcl-cl-containers")
6621 (version (git-version "0.12.1" revision commit))
6622 (source
6623 (origin
6624 (method git-fetch)
6625 (uri (git-reference
6626 (url "https://github.com/gwkkwg/cl-containers.git")
6627 (commit commit)))
6628 (file-name (git-file-name name version))
6629 (sha256
6630 (base32
6631 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
6632 (build-system asdf-build-system/sbcl)
6633 (native-inputs
6634 `(("lift" ,sbcl-lift)))
6635 (inputs
6636 `(("metatilities-base" ,sbcl-metatilities-base)))
6637 (arguments
6638 '(#:phases
6639 (modify-phases %standard-phases
6640 (add-after 'unpack 'relax-version-checks
6641 (lambda _
6642 (substitute* "cl-containers.asd"
6643 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6644 "\"metatilities-base\""))
6645 (substitute* "cl-containers-test.asd"
6646 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6647 "\"lift\""))
6648 #t)))))
6649 (synopsis "Container library for Common Lisp")
6650 (description
6651 "Common Lisp ships with a set of powerful built in data structures
6652 including the venerable list, full featured arrays, and hash-tables.
6653 CL-containers enhances and builds on these structures by adding containers
6654 that are not available in native Lisp (for example: binary search trees,
6655 red-black trees, sparse arrays and so on), and by providing a standard
6656 interface so that they are simpler to use and so that changing design
6657 decisions becomes significantly easier.")
6658 (home-page "https://common-lisp.net/project/cl-containers/")
6659 (license license:expat))))
6660
6661 (define-public cl-containers
6662 (sbcl-package->cl-source-package sbcl-cl-containers))
6663
6664 (define-public ecl-cl-containers
6665 (sbcl-package->ecl-package sbcl-cl-containers))
6666
6667 (define-public sbcl-xlunit
6668 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6669 (revision "1"))
6670 (package
6671 (name "sbcl-xlunit")
6672 (version (git-version "0.6.3" revision commit))
6673 (source
6674 (origin
6675 (method git-fetch)
6676 (uri (git-reference
6677 (url "http://git.kpe.io/xlunit.git")
6678 (commit commit)))
6679 (file-name (git-file-name name version))
6680 (sha256
6681 (base32
6682 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6683 (build-system asdf-build-system/sbcl)
6684 (arguments
6685 '(#:phases
6686 (modify-phases %standard-phases
6687 (add-after 'unpack 'fix-tests
6688 (lambda _
6689 (substitute* "xlunit.asd"
6690 ((" :force t") ""))
6691 #t)))))
6692 (synopsis "Unit testing package for Common Lisp")
6693 (description
6694 "The XLUnit package is a toolkit for building test suites. It is based
6695 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6696 (home-page "http://quickdocs.org/xlunit/")
6697 (license license:bsd-3))))
6698
6699 (define-public cl-xlunit
6700 (sbcl-package->cl-source-package sbcl-xlunit))
6701
6702 (define-public ecl-xlunit
6703 (sbcl-package->ecl-package sbcl-xlunit))
6704
6705 (define-public sbcl-fprog
6706 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6707 (revision "1"))
6708 (package
6709 (name "sbcl-fprog")
6710 (version (git-version "1.0.0" revision commit))
6711 (source
6712 (origin
6713 (method git-fetch)
6714 (uri (git-reference
6715 (url "https://github.com/jwiegley/cambl.git")
6716 (commit commit)))
6717 (file-name (git-file-name name version))
6718 (sha256
6719 (base32
6720 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6721 (build-system asdf-build-system/sbcl)
6722 (synopsis "Functional programming utilities for Common Lisp")
6723 (description
6724 "@code{fprog} is a Common Lisp library allowing iteration over
6725 immutable lists sharing identical sublists.")
6726 (home-page "https://github.com/jwiegley/cambl")
6727 (license license:bsd-3))))
6728
6729 (define-public cl-fprog
6730 (sbcl-package->cl-source-package sbcl-fprog))
6731
6732 (define-public ecl-fprog
6733 (sbcl-package->ecl-package sbcl-fprog))
6734
6735 (define-public sbcl-cambl
6736 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6737 (revision "1"))
6738 (package
6739 (inherit sbcl-fprog)
6740 (name "sbcl-cambl")
6741 (version (git-version "4.0.0" revision commit))
6742 (native-inputs
6743 `(("xlunit" ,sbcl-xlunit)))
6744 (inputs
6745 `(("alexandria" ,sbcl-alexandria)
6746 ("cl-containers" ,sbcl-cl-containers)
6747 ("local-time" ,sbcl-local-time)
6748 ("periods" ,sbcl-periods)
6749 ("fprog" ,sbcl-fprog)))
6750 (synopsis "Commoditized amounts and balances for Common Lisp")
6751 (description
6752 "CAMBL is a Common Lisp library providing a convenient facility for
6753 working with commoditized values. It does not allow compound units (and so is
6754 not suited for scientific operations) but does work rather nicely for the
6755 purpose of financial calculations."))))
6756
6757 (define-public cl-cambl
6758 (sbcl-package->cl-source-package sbcl-cambl))
6759
6760 (define-public ecl-cambl
6761 (sbcl-package->ecl-package sbcl-cambl))
6762
6763 (define-public sbcl-cl-ledger
6764 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6765 (revision "1"))
6766 (package
6767 (name "sbcl-cl-ledger")
6768 (version (git-version "4.0.0" revision commit))
6769 (source
6770 (origin
6771 (method git-fetch)
6772 (uri (git-reference
6773 (url "https://github.com/ledger/cl-ledger.git")
6774 (commit commit)))
6775 (file-name (git-file-name name version))
6776 (sha256
6777 (base32
6778 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6779 (build-system asdf-build-system/sbcl)
6780 (inputs
6781 `(("cambl" ,sbcl-cambl)
6782 ("cl-ppcre" ,sbcl-cl-ppcre)
6783 ("local-time" ,sbcl-local-time)
6784 ("periods-series" ,sbcl-periods-series)))
6785 (arguments
6786 '(#:phases
6787 (modify-phases %standard-phases
6788 (add-after 'unpack 'fix-system-definition
6789 (lambda _
6790 (substitute* "cl-ledger.asd"
6791 ((" :build-operation program-op") "")
6792 ((" :build-pathname \"cl-ledger\"") "")
6793 ((" :entry-point \"ledger::main\"") ""))
6794 #t)))))
6795 (synopsis "Common Lisp port of the Ledger accounting system")
6796 (description
6797 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6798 system.")
6799 (home-page "https://github.com/ledger/cl-ledger")
6800 (license license:bsd-3))))
6801
6802 (define-public cl-ledger
6803 (sbcl-package->cl-source-package sbcl-cl-ledger))
6804
6805 (define-public ecl-cl-ledger
6806 (sbcl-package->ecl-package sbcl-cl-ledger))
6807
6808 (define-public sbcl-bst
6809 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6810 (revision "1"))
6811 (package
6812 (name "sbcl-bst")
6813 (version (git-version "1.1" revision commit))
6814 (source
6815 (origin
6816 (method git-fetch)
6817 (uri (git-reference
6818 (url "https://github.com/glv2/bst.git")
6819 (commit commit)))
6820 (file-name (git-file-name name version))
6821 (sha256
6822 (base32
6823 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6824 (build-system asdf-build-system/sbcl)
6825 (native-inputs
6826 `(("alexandria" ,sbcl-alexandria)
6827 ("fiveam" ,sbcl-fiveam)))
6828 (synopsis "Binary search tree for Common Lisp")
6829 (description
6830 "BST is a Common Lisp library for working with binary search trees that
6831 can contain any kind of values.")
6832 (home-page "https://github.com/glv2/bst")
6833 (license license:gpl3))))
6834
6835 (define-public cl-bst
6836 (sbcl-package->cl-source-package sbcl-bst))
6837
6838 (define-public ecl-bst
6839 (sbcl-package->ecl-package sbcl-bst))
6840
6841 (define-public sbcl-cl-octet-streams
6842 (package
6843 (name "sbcl-cl-octet-streams")
6844 (version "1.0")
6845 (source
6846 (origin
6847 (method git-fetch)
6848 (uri (git-reference
6849 (url "https://github.com/glv2/cl-octet-streams.git")
6850 (commit (string-append "v" version))))
6851 (file-name (git-file-name name version))
6852 (sha256
6853 (base32
6854 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6855 (build-system asdf-build-system/sbcl)
6856 (native-inputs
6857 `(("fiveam" ,sbcl-fiveam)))
6858 (inputs
6859 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6860 (synopsis "In-memory octet streams for Common Lisp")
6861 (description
6862 "CL-octet-streams is a library implementing in-memory octet
6863 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6864 cl-plumbing libraries.")
6865 (home-page "https://github.com/glv2/cl-octet-streams")
6866 (license license:gpl3+)))
6867
6868 (define-public cl-octet-streams
6869 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6870
6871 (define-public ecl-cl-octet-streams
6872 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6873
6874 (define-public sbcl-lzlib
6875 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6876 (revision "1"))
6877 (package
6878 (name "sbcl-lzlib")
6879 (version (git-version "1.0" revision commit))
6880 (source
6881 (origin
6882 (method git-fetch)
6883 (uri (git-reference
6884 (url "https://github.com/glv2/cl-lzlib.git")
6885 (commit commit)))
6886 (file-name (git-file-name name version))
6887 (sha256
6888 (base32
6889 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6890 (build-system asdf-build-system/sbcl)
6891 (native-inputs
6892 `(("fiveam" ,sbcl-fiveam)))
6893 (inputs
6894 `(("cffi" ,sbcl-cffi)
6895 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6896 ("lzlib" ,lzlib)))
6897 (arguments
6898 '(#:phases
6899 (modify-phases %standard-phases
6900 (add-after 'unpack 'fix-paths
6901 (lambda* (#:key inputs #:allow-other-keys)
6902 (substitute* "src/lzlib.lisp"
6903 (("liblz\\.so")
6904 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6905 #t)))))
6906 (synopsis "Common Lisp library for lzip (de)compression")
6907 (description
6908 "This Common Lisp library provides functions for lzip (LZMA)
6909 compression/decompression using bindings to the lzlib C library.")
6910 (home-page "https://github.com/glv2/cl-lzlib")
6911 (license license:gpl3+))))
6912
6913 (define-public cl-lzlib
6914 (sbcl-package->cl-source-package sbcl-lzlib))
6915
6916 (define-public ecl-lzlib
6917 (sbcl-package->ecl-package sbcl-lzlib))
6918
6919 (define-public sbcl-chanl
6920 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6921 (revision "1"))
6922 (package
6923 (name "sbcl-chanl")
6924 (version (git-version "0.4.1" revision commit))
6925 (source
6926 (origin
6927 (method git-fetch)
6928 (uri (git-reference
6929 (url "https://github.com/zkat/chanl.git")
6930 (commit commit)))
6931 (file-name (git-file-name name version))
6932 (sha256
6933 (base32
6934 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
6935 (build-system asdf-build-system/sbcl)
6936 (native-inputs
6937 `(("fiveam" ,sbcl-fiveam)))
6938 (inputs
6939 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6940 (synopsis "Portable channel-based concurrency for Common Lisp")
6941 (description "Common Lisp library for channel-based concurrency. In
6942 a nutshell, you create various threads sequentially executing tasks you need
6943 done, and use channel objects to communicate and synchronize the state of these
6944 threads.")
6945 (home-page "https://github.com/zkat/chanl")
6946 (license (list license:expat license:bsd-3)))))
6947
6948 (define-public cl-chanl
6949 (sbcl-package->cl-source-package sbcl-chanl))
6950
6951 (define-public ecl-chanl
6952 (sbcl-package->ecl-package sbcl-chanl))
6953
6954 (define-public sbcl-cl-store
6955 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6956 (revision "1"))
6957 (package
6958 (name "sbcl-cl-store")
6959 (version (git-version "0.8.11" revision commit))
6960 (source
6961 (origin
6962 (method git-fetch)
6963 (uri (git-reference
6964 (url "https://github.com/skypher/cl-store.git")
6965 (commit commit)))
6966 (file-name (git-file-name name version))
6967 (sha256
6968 (base32
6969 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
6970 (build-system asdf-build-system/sbcl)
6971 (native-inputs
6972 `(("rt" ,sbcl-rt)))
6973 (synopsis "Common Lisp library to serialize data")
6974 (description
6975 "CL-STORE is a portable serialization package which should give you the
6976 ability to store all Common Lisp data types into streams.")
6977 (home-page "https://www.common-lisp.net/project/cl-store/")
6978 (license license:expat))))
6979
6980 (define-public cl-store
6981 (sbcl-package->cl-source-package sbcl-cl-store))
6982
6983 (define-public ecl-cl-store
6984 (sbcl-package->ecl-package sbcl-cl-store))
6985
6986 (define-public sbcl-cl-gobject-introspection
6987 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6988 (revision "0"))
6989 (package
6990 (name "sbcl-cl-gobject-introspection")
6991 (version (git-version "0.3" revision commit))
6992 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6993 (source
6994 (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url home-page)
6998 (commit commit)))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
7002 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7003 (build-system asdf-build-system/sbcl)
7004 (inputs
7005 `(("alexandria" ,sbcl-alexandria)
7006 ("cffi" ,sbcl-cffi)
7007 ("iterate" ,sbcl-iterate)
7008 ("trivial-garbage" ,sbcl-trivial-garbage)
7009 ("glib" ,glib)
7010 ("gobject-introspection" ,gobject-introspection)))
7011 (native-inputs
7012 `(("fiveam" ,sbcl-fiveam)))
7013 (arguments
7014 ;; TODO: Tests fail, see
7015 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7016 '(#:tests? #f
7017 #:phases
7018 (modify-phases %standard-phases
7019 (add-after (quote unpack) (quote fix-paths)
7020 (lambda* (#:key inputs #:allow-other-keys)
7021 (substitute* "src/init.lisp"
7022 (("libgobject-2\\.0\\.so")
7023 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7024 (("libgirepository-1\\.0\\.so")
7025 (string-append (assoc-ref inputs "gobject-introspection")
7026 "/lib/libgirepository-1.0.so")))
7027 #t)))))
7028 (synopsis "Common Lisp bindings to GObject Introspection")
7029 (description
7030 "This library is a bridge between Common Lisp and GObject
7031 Introspection, which enables Common Lisp programs to access the full interface
7032 of C+GObject libraries without the need of writing dedicated bindings.")
7033 (license (list license:bsd-3
7034 ;; Tests are under a different license.
7035 license:llgpl)))))
7036
7037 (define-public cl-gobject-introspection
7038 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7039
7040 (define-public sbcl-string-case
7041 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7042 (revision "0"))
7043 (package
7044 (name "sbcl-string-case")
7045 (version (git-version "0.0.2" revision commit))
7046 (home-page "https://github.com/pkhuong/string-case")
7047 (source
7048 (origin
7049 (method git-fetch)
7050 (uri (git-reference
7051 (url home-page)
7052 (commit commit)))
7053 (file-name (git-file-name name version))
7054 (sha256
7055 (base32
7056 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7057 (build-system asdf-build-system/sbcl)
7058 (synopsis "Efficient string= case in Common Lisp")
7059 (description
7060 "@code{string-case} is a Common Lisp macro that generates specialised decision
7061 trees to dispatch on string equality.")
7062 (license license:bsd-3))))
7063
7064 (define-public cl-string-case
7065 (sbcl-package->cl-source-package sbcl-string-case))
7066
7067 (define-public ecl-string-case
7068 (sbcl-package->ecl-package sbcl-string-case))
7069
7070 (define-public sbcl-global-vars
7071 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7072 (revision "0"))
7073 (package
7074 (name "sbcl-global-vars")
7075 (version (git-version "1.0.0" revision commit))
7076 (home-page "https://github.com/lmj/global-vars")
7077 (source
7078 (origin
7079 (method git-fetch)
7080 (uri (git-reference
7081 (url home-page)
7082 (commit commit)))
7083 (file-name (git-file-name name version))
7084 (sha256
7085 (base32
7086 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7087 (build-system asdf-build-system/sbcl)
7088 (synopsis "Efficient global variables in Common Lisp")
7089 (description
7090 "In Common Lisp, a special variable that is never dynamically bound
7091 typically serves as a stand-in for a global variable. The @code{global-vars}
7092 library provides true global variables that are implemented by some compilers.
7093 An attempt to rebind a global variable properly results in a compiler error.
7094 That is, a global variable cannot be dynamically bound.
7095
7096 Global variables therefore allow us to communicate an intended usage that
7097 differs from special variables. Global variables are also more efficient than
7098 special variables, especially in the presence of threads.")
7099 (license license:expat))))
7100
7101 (define-public cl-global-vars
7102 (sbcl-package->cl-source-package sbcl-global-vars))
7103
7104 (define-public ecl-global-vars
7105 (sbcl-package->ecl-package sbcl-global-vars))
7106
7107 (define-public sbcl-trivial-file-size
7108 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7109 (revision "0"))
7110 (package
7111 (name "sbcl-trivial-file-size")
7112 (version (git-version "0.0.0" revision commit))
7113 (home-page "https://github.com/ruricolist/trivial-file-size")
7114 (source
7115 (origin
7116 (method git-fetch)
7117 (uri (git-reference
7118 (url home-page)
7119 (commit commit)))
7120 (file-name (git-file-name name version))
7121 (sha256
7122 (base32
7123 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7124 (build-system asdf-build-system/sbcl)
7125 (native-inputs
7126 `(("fiveam" ,sbcl-fiveam)))
7127 (synopsis "Size of a file in bytes in Common Lisp")
7128 (description
7129 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7130 is to open the file with an element type of (unsigned-byte 8) and then
7131 calculate the length of the stream. This is less than ideal. In most cases
7132 it is better to get the size of the file from its metadata, using a system
7133 call.
7134
7135 This library exports a single function, file-size-in-octets. It returns the
7136 size of a file in bytes, using system calls when possible.")
7137 (license license:expat))))
7138
7139 (define-public cl-trivial-file-size
7140 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7141
7142 (define-public ecl-trivial-file-size
7143 (sbcl-package->ecl-package sbcl-trivial-file-size))
7144
7145 (define-public sbcl-trivial-macroexpand-all
7146 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7147 (revision "0"))
7148 (package
7149 (name "sbcl-trivial-macroexpand-all")
7150 (version (git-version "0.0.0" revision commit))
7151 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7152 (source
7153 (origin
7154 (method git-fetch)
7155 (uri (git-reference
7156 (url home-page)
7157 (commit commit)))
7158 (file-name (git-file-name name version))
7159 (sha256
7160 (base32
7161 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7162 (build-system asdf-build-system/sbcl)
7163 (native-inputs
7164 `(("fiveam" ,sbcl-fiveam)))
7165 (synopsis "Portable macroexpand-all for Common Lisp")
7166 (description
7167 "This library provides a macroexpand-all function that calls the
7168 implementation specific equivalent.")
7169 (license license:unlicense))))
7170
7171 (define-public cl-trivial-macroexpand-all
7172 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7173
7174 (define-public ecl-trivial-macroexpand-all
7175 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7176
7177 (define-public sbcl-serapeum
7178 (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
7179 (revision "0"))
7180 (package
7181 (name "sbcl-serapeum")
7182 (version (git-version "0.0.0" revision commit))
7183 (home-page "https://github.com/ruricolist/serapeum")
7184 (source
7185 (origin
7186 (method git-fetch)
7187 (uri (git-reference
7188 (url home-page)
7189 (commit commit)))
7190 (file-name (git-file-name name version))
7191 (sha256
7192 (base32
7193 "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
7194 (build-system asdf-build-system/sbcl)
7195 (inputs
7196 `(("alexandria" ,sbcl-alexandria)
7197 ("trivia" ,sbcl-trivia)
7198 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7199 ("split-sequence" ,sbcl-split-sequence)
7200 ("string-case" ,sbcl-string-case)
7201 ("parse-number" ,sbcl-parse-number)
7202 ("trivial-garbage" ,sbcl-trivial-garbage)
7203 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7204 ("named-readtables" ,sbcl-named-readtables)
7205 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
7206 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7207 ("global-vars" ,sbcl-global-vars)
7208 ("trivial-file-size" ,sbcl-trivial-file-size)
7209 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7210 (native-inputs
7211 `(("fiveam" ,sbcl-fiveam)
7212 ("local-time" ,sbcl-local-time)))
7213 (arguments
7214 '(#:phases
7215 (modify-phases %standard-phases
7216 (add-after 'unpack 'disable-failing-tests
7217 (lambda* (#:key inputs #:allow-other-keys)
7218 (substitute* "serapeum.asd"
7219 ;; Guix does not have Quicklisp, and probably never will.
7220 (("\\(:file \"quicklisp\"\\)") ""))
7221 #t)))))
7222 (synopsis "Common Lisp utility library beyond Alexandria")
7223 (description
7224 "Serapeum is a conservative library of Common Lisp utilities. It is a
7225 supplement, not a competitor, to Alexandria.")
7226 (license license:expat))))
7227
7228 (define-public cl-serapeum
7229 (sbcl-package->cl-source-package sbcl-serapeum))
7230
7231 (define-public sbcl-arrows
7232 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7233 (revision "0"))
7234 (package
7235 (name "sbcl-arrows")
7236 (version (git-version "0.2.0" revision commit))
7237 (source
7238 (origin
7239 (method git-fetch)
7240 (uri (git-reference
7241 (url "https://gitlab.com/Harleqin/arrows.git")
7242 (commit commit)))
7243 (file-name (git-file-name name version))
7244 (sha256
7245 (base32
7246 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7247 (build-system asdf-build-system/sbcl)
7248 (native-inputs
7249 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7250 (synopsis "Clojure-like arrow macros for Common Lisp")
7251 (description
7252 "This library implements the @code{->} and @code{->>} macros from
7253 Clojure, as well as several expansions on the idea.")
7254 (home-page "https://gitlab.com/Harleqin/arrows")
7255 (license license:public-domain))))
7256
7257 (define-public cl-arrows
7258 (sbcl-package->cl-source-package sbcl-arrows))
7259
7260 (define-public ecl-arrows
7261 (sbcl-package->ecl-package sbcl-arrows))
7262
7263 (define-public sbcl-simple-parallel-tasks
7264 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7265 (revision "0"))
7266 (package
7267 (name "sbcl-simple-parallel-tasks")
7268 (version (git-version "1.0" revision commit))
7269 (source
7270 (origin
7271 (method git-fetch)
7272 (uri (git-reference
7273 (url "https://github.com/glv2/simple-parallel-tasks.git")
7274 (commit commit)))
7275 (file-name (git-file-name name version))
7276 (sha256
7277 (base32
7278 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7279 (build-system asdf-build-system/sbcl)
7280 (native-inputs
7281 `(("fiveam" ,sbcl-fiveam)))
7282 (inputs
7283 `(("chanl" ,sbcl-chanl)))
7284 (synopsis "Common Lisp library to evaluate some forms in parallel")
7285 (description "This is a simple Common Lisp library to evaluate some
7286 forms in parallel.")
7287 (home-page "https://github.com/glv2/simple-parallel-tasks")
7288 (license license:gpl3))))
7289
7290 (define-public cl-simple-parallel-tasks
7291 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7292
7293 (define-public ecl-simple-parallel-tasks
7294 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7295
7296 (define-public sbcl-cl-heap
7297 (package
7298 (name "sbcl-cl-heap")
7299 (version "0.1.6")
7300 (source
7301 (origin
7302 (method url-fetch)
7303 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7304 "cl-heap_" version ".tar.gz"))
7305 (sha256
7306 (base32
7307 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7308 (build-system asdf-build-system/sbcl)
7309 (native-inputs
7310 `(("xlunit" ,sbcl-xlunit)))
7311 (arguments
7312 `(#:test-asd-file "cl-heap-tests.asd"))
7313 (synopsis "Heap and priority queue data structures for Common Lisp")
7314 (description
7315 "CL-HEAP provides various implementations of heap data structures (a
7316 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7317 (home-page "https://common-lisp.net/project/cl-heap/")
7318 (license license:gpl3+)))
7319
7320 (define-public cl-heap
7321 (sbcl-package->cl-source-package sbcl-cl-heap))
7322
7323 (define-public ecl-cl-heap
7324 (sbcl-package->ecl-package sbcl-cl-heap))
7325
7326 (define-public sbcl-curry-compose-reader-macros
7327 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7328 (revision "0"))
7329 (package
7330 (name "sbcl-curry-compose-reader-macros")
7331 (version (git-version "1.0.0" revision commit))
7332 (source
7333 (origin
7334 (method git-fetch)
7335 (uri
7336 (git-reference
7337 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7338 (commit commit)))
7339 (file-name (git-file-name name version))
7340 (sha256
7341 (base32
7342 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7343 (build-system asdf-build-system/sbcl)
7344 (inputs
7345 `(("alexandria" ,sbcl-alexandria)
7346 ("named-readtables" ,sbcl-named-readtables)))
7347 (synopsis "Reader macros for partial application and composition")
7348 (description
7349 "This Common Lisp library provides reader macros for concise expression
7350 of function partial application and composition.")
7351 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7352 (license license:public-domain))))
7353
7354 (define-public cl-curry-compose-reader-macros
7355 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7356
7357 (define-public ecl-curry-compose-reader-macros
7358 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7359
7360 (define-public sbcl-yason
7361 (package
7362 (name "sbcl-yason")
7363 (version "0.7.7")
7364 (source
7365 (origin
7366 (method git-fetch)
7367 (uri (git-reference
7368 (url "https://github.com/phmarek/yason.git")
7369 (commit (string-append "v" version))))
7370 (file-name (git-file-name name version))
7371 (sha256
7372 (base32
7373 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7374 (build-system asdf-build-system/sbcl)
7375 (inputs
7376 `(("alexandria" ,sbcl-alexandria)
7377 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7378 (synopsis "Common Lisp JSON parser/encoder")
7379 (description
7380 "YASON is a Common Lisp library for encoding and decoding data in the
7381 JSON interchange format.")
7382 (home-page "https://github.com/phmarek/yason")
7383 (license license:bsd-3)))
7384
7385 (define-public cl-yason
7386 (sbcl-package->cl-source-package sbcl-yason))
7387
7388 (define-public ecl-yason
7389 (sbcl-package->ecl-package sbcl-yason))
7390
7391 (define-public sbcl-stefil
7392 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7393 (revision "0"))
7394 (package
7395 (name "sbcl-stefil")
7396 (version (git-version "0.1" revision commit))
7397 (source
7398 (origin
7399 (method git-fetch)
7400 (uri (git-reference
7401 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7402 (commit commit)))
7403 (file-name (git-file-name name version))
7404 (sha256
7405 (base32
7406 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7407 (build-system asdf-build-system/sbcl)
7408 (inputs
7409 `(("alexandria" ,sbcl-alexandria)
7410 ("iterate" ,sbcl-iterate)
7411 ("metabang-bind" ,sbcl-metabang-bind)))
7412 (propagated-inputs
7413 ;; Swank doesn't have a pre-compiled package, therefore we must
7414 ;; propagate its sources.
7415 `(("swank" ,cl-slime-swank)))
7416 (arguments
7417 '(#:phases
7418 (modify-phases %standard-phases
7419 (add-after 'unpack 'drop-unnecessary-dependency
7420 (lambda _
7421 (substitute* "package.lisp"
7422 ((":stefil-system") ""))
7423 #t)))))
7424 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7425 (synopsis "Simple test framework")
7426 (description
7427 "Stefil is a simple test framework for Common Lisp, with a focus on
7428 interactive development.")
7429 (license license:public-domain))))
7430
7431 (define-public cl-stefil
7432 (sbcl-package->cl-source-package sbcl-stefil))
7433
7434 (define-public sbcl-graph
7435 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7436 (revision "0"))
7437 (package
7438 (name "sbcl-graph")
7439 (version (git-version "0.0.0" revision commit))
7440 (source
7441 (origin
7442 (method git-fetch)
7443 (uri
7444 (git-reference
7445 (url "https://github.com/eschulte/graph.git")
7446 (commit commit)))
7447 (file-name (git-file-name name version))
7448 (sha256
7449 (base32
7450 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7451 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7452 (build-system asdf-build-system/sbcl)
7453 (native-inputs
7454 `(("stefil" ,sbcl-stefil)))
7455 (inputs
7456 `(("alexandria" ,sbcl-alexandria)
7457 ("cl-heap" ,sbcl-cl-heap)
7458 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7459 ("metabang-bind" ,sbcl-metabang-bind)
7460 ("named-readtables" ,sbcl-named-readtables)))
7461 (arguments
7462 '(#:test-asd-file "graph-test.asd"))
7463 (synopsis "Graph data structure and algorithms for Common Lisp")
7464 (description
7465 "The GRAPH Common Lisp library provides a data structures to represent
7466 graphs, as well as some graph manipulation and analysis algorithms (shortest
7467 path, maximum flow, minimum spanning tree, etc.).")
7468 (home-page "https://eschulte.github.io/graph/")
7469 (license license:gpl3+))))
7470
7471 (define-public cl-graph
7472 (sbcl-package->cl-source-package sbcl-graph))
7473
7474 (define-public sbcl-graph-dot
7475 (package
7476 (inherit sbcl-graph)
7477 (name "sbcl-graph-dot")
7478 (inputs
7479 `(("alexandria" ,sbcl-alexandria)
7480 ("cl-ppcre" ,sbcl-cl-ppcre)
7481 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7482 ("graph" ,sbcl-graph)
7483 ("metabang-bind" ,sbcl-metabang-bind)
7484 ("named-readtables" ,sbcl-named-readtables)))
7485 (arguments
7486 (substitute-keyword-arguments (package-arguments sbcl-graph)
7487 ((#:asd-file _ "") "graph-dot.asd")
7488 ((#:asd-system-name _ #f) "graph-dot")))
7489 (synopsis "Serialize graphs to and from DOT format")))
7490
7491 (define-public sbcl-graph-json
7492 (package
7493 (inherit sbcl-graph)
7494 (name "sbcl-graph-json")
7495 (inputs
7496 `(("alexandria" ,sbcl-alexandria)
7497 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7498 ("graph" ,sbcl-graph)
7499 ("metabang-bind" ,sbcl-metabang-bind)
7500 ("named-readtables" ,sbcl-named-readtables)
7501 ("yason" ,sbcl-yason)))
7502 (arguments
7503 (substitute-keyword-arguments (package-arguments sbcl-graph)
7504 ((#:asd-file _ "") "graph-json.asd")
7505 ((#:asd-system-name _ #f) "graph-json")))
7506 (synopsis "Serialize graphs to and from JSON format")))
7507
7508 (define-public sbcl-trivial-indent
7509 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7510 (revision "0"))
7511 (package
7512 (name "sbcl-trivial-indent")
7513 (version (git-version "1.0.0" revision commit))
7514 (source
7515 (origin
7516 (method git-fetch)
7517 (uri
7518 (git-reference
7519 (url "https://github.com/Shinmera/trivial-indent")
7520 (commit commit)))
7521 (file-name (git-file-name name version))
7522 (sha256
7523 (base32
7524 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7525 (build-system asdf-build-system/sbcl)
7526 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7527 (description
7528 "This library allows you to define custom indentation hints for your
7529 macros if the one recognised by SLIME automatically produces unwanted
7530 results.")
7531 (home-page "https://shinmera.github.io/trivial-indent/")
7532 (license license:zlib))))
7533
7534 (define-public cl-trivial-indent
7535 (sbcl-package->cl-source-package sbcl-trivial-indent))
7536
7537 (define-public sbcl-documentation-utils
7538 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7539 (revision "0"))
7540 (package
7541 (name "sbcl-documentation-utils")
7542 (version (git-version "1.2.0" revision commit))
7543 (source
7544 (origin
7545 (method git-fetch)
7546 (uri
7547 (git-reference
7548 (url "https://github.com/Shinmera/documentation-utils.git")
7549 (commit commit)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32
7553 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7554 (build-system asdf-build-system/sbcl)
7555 (inputs
7556 `(("trivial-indent" ,sbcl-trivial-indent)))
7557 (synopsis "Few simple tools to document Common Lisp libraries")
7558 (description
7559 "This is a small library to help you with managing the Common Lisp
7560 docstrings for your library.")
7561 (home-page "https://shinmera.github.io/documentation-utils/")
7562 (license license:zlib))))
7563
7564 (define-public cl-documentation-utils
7565 (sbcl-package->cl-source-package sbcl-documentation-utils))
7566
7567 (define-public ecl-documentation-utils
7568 (sbcl-package->ecl-package sbcl-documentation-utils))
7569
7570 (define-public sbcl-form-fiddle
7571 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7572 (revision "0"))
7573 (package
7574 (name "sbcl-form-fiddle")
7575 (version (git-version "1.1.0" revision commit))
7576 (source
7577 (origin
7578 (method git-fetch)
7579 (uri
7580 (git-reference
7581 (url "https://github.com/Shinmera/form-fiddle")
7582 (commit commit)))
7583 (file-name (git-file-name name version))
7584 (sha256
7585 (base32
7586 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7587 (build-system asdf-build-system/sbcl)
7588 (inputs
7589 `(("documentation-utils" ,sbcl-documentation-utils)))
7590 (synopsis "Utilities to destructure Common Lisp lambda forms")
7591 (description
7592 "Often times we need to destructure a form definition in a Common Lisp
7593 macro. This library provides a set of simple utilities to help with that.")
7594 (home-page "https://shinmera.github.io/form-fiddle/")
7595 (license license:zlib))))
7596
7597 (define-public cl-form-fiddle
7598 (sbcl-package->cl-source-package sbcl-form-fiddle))
7599
7600 (define-public sbcl-parachute
7601 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7602 (revision "0"))
7603 (package
7604 (name "sbcl-parachute")
7605 (version (git-version "1.1.1" revision commit))
7606 (source
7607 (origin
7608 (method git-fetch)
7609 (uri
7610 (git-reference
7611 (url "https://github.com/Shinmera/parachute")
7612 (commit commit)))
7613 (file-name (git-file-name name version))
7614 (sha256
7615 (base32
7616 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7617 (build-system asdf-build-system/sbcl)
7618 (inputs
7619 `(("documentation-utils" ,sbcl-documentation-utils)
7620 ("form-fiddle" ,sbcl-form-fiddle)))
7621 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7622 (description
7623 "Parachute is a simple-to-use and extensible testing framework.
7624 In Parachute, things are organised as a bunch of named tests within a package.
7625 Each test can contain a bunch of test forms that make up its body.")
7626 (home-page "https://shinmera.github.io/parachute/")
7627 (license license:zlib))))
7628
7629 (define-public cl-parachute
7630 (sbcl-package->cl-source-package sbcl-parachute))
7631
7632 (define-public sbcl-array-utils
7633 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7634 (revision "0"))
7635 (package
7636 (name "sbcl-array-utils")
7637 (version (git-version "1.1.1" revision commit))
7638 (source
7639 (origin
7640 (method git-fetch)
7641 (uri
7642 (git-reference
7643 (url "https://github.com/Shinmera/array-utils")
7644 (commit commit)))
7645 (file-name (git-file-name name version))
7646 (sha256
7647 (base32
7648 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7649 (build-system asdf-build-system/sbcl)
7650 (native-inputs
7651 `(("parachute" ,sbcl-parachute)))
7652 (inputs
7653 `(("documentation-utils" ,sbcl-documentation-utils)))
7654 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7655 (description
7656 "A miniature toolkit that contains some useful shifting/popping/pushing
7657 functions for arrays and vectors. Originally from Plump.")
7658 (home-page "https://shinmera.github.io/array-utils/")
7659 (license license:zlib))))
7660
7661 (define-public cl-array-utils
7662 (sbcl-package->cl-source-package sbcl-array-utils))
7663
7664 (define-public sbcl-plump
7665 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7666 (revision "0"))
7667 (package
7668 (name "sbcl-plump")
7669 (version (git-version "2.0.0" revision commit))
7670 (source
7671 (origin
7672 (method git-fetch)
7673 (uri
7674 (git-reference
7675 (url "https://github.com/Shinmera/plump")
7676 (commit commit)))
7677 (file-name (git-file-name name version))
7678 (sha256
7679 (base32
7680 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7681 (build-system asdf-build-system/sbcl)
7682 (inputs
7683 `(("array-utils" ,sbcl-array-utils)
7684 ("documentation-utils" ,sbcl-documentation-utils)))
7685 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7686 (description
7687 "Plump is a parser for HTML/XML-like documents, focusing on being
7688 lenient towards invalid markup. It can handle things like invalid attributes,
7689 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7690 tags and so on. It parses documents to a class representation and offers a
7691 small set of DOM functions to manipulate it. It can be extended to parse to
7692 your own classes.")
7693 (home-page "https://shinmera.github.io/plump/")
7694 (license license:zlib))))
7695
7696 (define-public cl-plump
7697 (sbcl-package->cl-source-package sbcl-plump))
7698
7699 (define-public sbcl-antik-base
7700 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7701 (revision "1"))
7702 (package
7703 (name "sbcl-antik-base")
7704 (version (git-version "0.0.0" revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri (git-reference
7709 (url "https://gitlab.common-lisp.net/antik/antik.git")
7710 (commit commit)))
7711 (file-name (git-file-name name version))
7712 (sha256
7713 (base32
7714 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7715 (build-system asdf-build-system/sbcl)
7716 (inputs
7717 `(("alexandria" ,sbcl-alexandria)
7718 ("cl-ppcre" ,sbcl-cl-ppcre)
7719 ("iterate" ,sbcl-iterate)
7720 ("metabang-bind" ,sbcl-metabang-bind)
7721 ("named-readtables" ,sbcl-named-readtables)
7722 ("split-sequence" ,sbcl-split-sequence)))
7723 (native-inputs
7724 `(("lisp-unit" ,sbcl-lisp-unit)))
7725 (synopsis "Scientific and engineering computation in Common Lisp")
7726 (description
7727 "Antik provides a foundation for scientific and engineering
7728 computation in Common Lisp. It is designed not only to facilitate
7729 numerical computations, but to permit the use of numerical computation
7730 libraries and the interchange of data and procedures, whether
7731 foreign (non-Lisp) or Lisp libraries. It is named after the
7732 Antikythera mechanism, one of the oldest examples of a scientific
7733 computer known.")
7734 (home-page "https://common-lisp.net/project/antik/")
7735 (license license:gpl3))))
7736
7737 (define-public cl-antik-base
7738 (sbcl-package->cl-source-package sbcl-antik-base))
7739
7740 (define-public ecl-antik-base
7741 (sbcl-package->ecl-package sbcl-antik-base))
7742
7743 (define-public sbcl-foreign-array
7744 (package
7745 (inherit sbcl-antik-base)
7746 (name "sbcl-foreign-array")
7747 (arguments
7748 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7749 ((#:asd-file _ "") "foreign-array.asd")
7750 ((#:asd-system-name _ #f) "foreign-array")))
7751 (inputs
7752 `(("antik-base" ,sbcl-antik-base)
7753 ("cffi" ,sbcl-cffi)
7754 ("trivial-garbage" ,sbcl-trivial-garbage)
7755 ("static-vectors" ,sbcl-static-vectors)))
7756 (synopsis "Common Lisp library providing access to foreign arrays")))
7757
7758 (define-public cl-foreign-array
7759 (sbcl-package->cl-source-package sbcl-foreign-array))
7760
7761 (define-public ecl-foreign-array
7762 (sbcl-package->ecl-package sbcl-foreign-array))
7763
7764 (define-public sbcl-physical-dimension
7765 (package
7766 (inherit sbcl-antik-base)
7767 (name "sbcl-physical-dimension")
7768 (inputs
7769 `(("fare-utils" ,sbcl-fare-utils)
7770 ("foreign-array" ,sbcl-foreign-array)
7771 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7772 (arguments
7773 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7774 ((#:asd-file _ "") "physical-dimension.asd")
7775 ((#:asd-system-name _ #f) "physical-dimension")))
7776 (synopsis
7777 "Common Lisp library providing computations with physical units")))
7778
7779 (define-public cl-physical-dimension
7780 (sbcl-package->cl-source-package sbcl-physical-dimension))
7781
7782 (define-public sbcl-science-data
7783 (package
7784 (inherit sbcl-antik-base)
7785 (name "sbcl-science-data")
7786 (inputs
7787 `(("physical-dimension" ,sbcl-physical-dimension)
7788 ("drakma" ,sbcl-drakma)))
7789 (arguments
7790 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7791 ((#:asd-file _ "") "science-data.asd")
7792 ((#:asd-system-name _ #f) "science-data")))
7793 (synopsis
7794 "Common Lisp library for scientific and engineering numerical data")))
7795
7796 (define-public cl-science-data
7797 (sbcl-package->cl-source-package sbcl-science-data))
7798
7799 (define-public sbcl-gsll
7800 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7801 (revision "1"))
7802 (package
7803 (name "sbcl-gsll")
7804 (version (git-version "0.0.0" revision commit))
7805 (source
7806 (origin
7807 (method git-fetch)
7808 (uri (git-reference
7809 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7810 (commit commit)))
7811 (file-name (git-file-name name version))
7812 (sha256
7813 (base32
7814 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7815 (build-system asdf-build-system/sbcl)
7816 (native-inputs
7817 `(("lisp-unit" ,sbcl-lisp-unit)))
7818 (inputs
7819 `(("alexandria" ,sbcl-alexandria)
7820 ("cffi-grovel" ,sbcl-cffi-grovel)
7821 ("cffi-libffi" ,sbcl-cffi-libffi)
7822 ("foreign-array" ,sbcl-foreign-array)
7823 ("gsl" ,gsl)
7824 ("metabang-bind" ,sbcl-metabang-bind)
7825 ("trivial-features" ,sbcl-trivial-features)
7826 ("trivial-garbage" ,sbcl-trivial-garbage)))
7827 (arguments
7828 `(#:tests? #f
7829 #:phases
7830 (modify-phases %standard-phases
7831 (add-after 'unpack 'fix-cffi-paths
7832 (lambda* (#:key inputs #:allow-other-keys)
7833 (substitute* "gsll.asd"
7834 ((":depends-on \\(#:foreign-array")
7835 ":depends-on (#:foreign-array #:cffi-libffi"))
7836 (substitute* "init/init.lisp"
7837 (("libgslcblas.so" all)
7838 (string-append
7839 (assoc-ref inputs "gsl") "/lib/" all)))
7840 (substitute* "init/init.lisp"
7841 (("libgsl.so" all)
7842 (string-append
7843 (assoc-ref inputs "gsl") "/lib/" all))))))))
7844 (synopsis "GNU Scientific Library for Lisp")
7845 (description
7846 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7847 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7848 full range of common mathematical operations useful to scientific and
7849 engineering applications. The design of the GSLL interface is such
7850 that access to most of the GSL library is possible in a Lisp-natural
7851 way; the intent is that the user not be hampered by the restrictions
7852 of the C language in which GSL has been written. GSLL thus provides
7853 interactive use of GSL for getting quick answers, even for someone not
7854 intending to program in Lisp.")
7855 (home-page "https://common-lisp.net/project/gsll/")
7856 (license license:gpl3))))
7857
7858 (define-public cl-gsll
7859 (sbcl-package->cl-source-package sbcl-gsll))
7860
7861 (define-public sbcl-antik
7862 (package
7863 (inherit sbcl-antik-base)
7864 (name "sbcl-antik")
7865 (inputs
7866 `(("gsll" ,sbcl-gsll)
7867 ("physical-dimension" ,sbcl-physical-dimension)))
7868 (arguments
7869 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7870 ((#:asd-file _ "") "antik.asd")
7871 ((#:asd-system-name _ #f) "antik")))))
7872
7873 (define-public cl-antik
7874 (sbcl-package->cl-source-package sbcl-antik))
7875
7876 (define-public sbcl-cl-interpol
7877 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7878 (revision "1"))
7879 (package
7880 (name "sbcl-cl-interpol")
7881 (version (git-version "0.2.6" revision commit))
7882 (source
7883 (origin
7884 (method git-fetch)
7885 (uri (git-reference
7886 (url "https://github.com/edicl/cl-interpol.git")
7887 (commit commit)))
7888 (file-name (git-file-name name version))
7889 (sha256
7890 (base32
7891 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7892 (build-system asdf-build-system/sbcl)
7893 (inputs
7894 `(("cl-unicode" ,sbcl-cl-unicode)
7895 ("named-readtables" ,sbcl-named-readtables)))
7896 (native-inputs
7897 `(("flexi-streams" ,sbcl-flexi-streams)))
7898 (synopsis "String interpolation for Common Lisp")
7899 (description
7900 "CL-INTERPOL is a library for Common Lisp which modifies the
7901 reader so that you can have interpolation within strings similar to
7902 Perl or Unix Shell scripts. It also provides various ways to insert
7903 arbitrary characters into literal strings even if your editor/IDE
7904 doesn't support them.")
7905 (home-page "https://edicl.github.io/cl-interpol/")
7906 (license license:bsd-3))))
7907
7908 (define-public cl-interpol
7909 (sbcl-package->cl-source-package sbcl-cl-interpol))
7910
7911 (define-public ecl-cl-interpol
7912 (sbcl-package->ecl-package sbcl-cl-interpol))
7913
7914 (define sbcl-symbol-munger-boot0
7915 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7916 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7917 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7918 (revision "1"))
7919 (package
7920 (name "sbcl-symbol-munger-boot0")
7921 (version (git-version "0.0.1" revision commit))
7922 (source
7923 (origin
7924 (method git-fetch)
7925 (uri (git-reference
7926 (url "https://github.com/AccelerationNet/symbol-munger.git")
7927 (commit commit)))
7928 (file-name (git-file-name name version))
7929 (sha256
7930 (base32
7931 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7932 (build-system asdf-build-system/sbcl)
7933 (arguments
7934 `(#:asd-file "symbol-munger.asd"
7935 #:asd-system-name "symbol-munger"))
7936 (inputs
7937 `(("iterate" ,sbcl-iterate)
7938 ("alexandria" ,sbcl-alexandria)))
7939 (native-inputs
7940 `(("lisp-unit" ,sbcl-lisp-unit)))
7941 (synopsis
7942 "Capitalization and spacing conversion functions for Common Lisp")
7943 (description
7944 "This is a Common Lisp library to change the capitalization and spacing
7945 of a string or a symbol. It can convert to and from Lisp, english, underscore
7946 and camel-case rules.")
7947 (home-page "https://github.com/AccelerationNet/symbol-munger")
7948 ;; The package declares a BSD license, but all of the license
7949 ;; text is MIT.
7950 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7951 (license license:expat))))
7952
7953 (define sbcl-lisp-unit2-boot0
7954 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7955 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7956 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7957 (revision "1"))
7958 (package
7959 (name "sbcl-lisp-unit2-boot0")
7960 (version (git-version "0.2.0" revision commit))
7961 (source
7962 (origin
7963 (method git-fetch)
7964 (uri (git-reference
7965 (url "https://github.com/AccelerationNet/lisp-unit2.git")
7966 (commit commit)))
7967 (file-name (git-file-name name version))
7968 (sha256
7969 (base32
7970 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7971 (build-system asdf-build-system/sbcl)
7972 (arguments
7973 `(#:asd-file "lisp-unit2.asd"
7974 #:asd-system-name "lisp-unit2"))
7975 (inputs
7976 `(("alexandria" ,sbcl-alexandria)
7977 ("cl-interpol" ,sbcl-cl-interpol)
7978 ("iterate" ,sbcl-iterate)
7979 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
7980 (synopsis "Test Framework for Common Lisp")
7981 (description
7982 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7983 style of JUnit for Java. It is a new version of the lisp-unit library written
7984 by Chris Riesbeck.")
7985 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7986 (license license:expat))))
7987
7988 (define-public sbcl-symbol-munger
7989 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7990 (revision "1"))
7991 (package
7992 (name "sbcl-symbol-munger")
7993 (version (git-version "0.0.1" revision commit))
7994 (source
7995 (origin
7996 (method git-fetch)
7997 (uri (git-reference
7998 (url "https://github.com/AccelerationNet/symbol-munger.git")
7999 (commit commit)))
8000 (file-name (git-file-name name version))
8001 (sha256
8002 (base32
8003 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8004 (build-system asdf-build-system/sbcl)
8005 (inputs
8006 `(("alexandria" ,sbcl-alexandria)
8007 ("iterate" ,sbcl-iterate)))
8008 (native-inputs
8009 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8010 (synopsis
8011 "Capitalization and spacing conversion functions for Common Lisp")
8012 (description
8013 "This is a Common Lisp library to change the capitalization and spacing
8014 of a string or a symbol. It can convert to and from Lisp, english, underscore
8015 and camel-case rules.")
8016 (home-page "https://github.com/AccelerationNet/symbol-munger")
8017 ;; The package declares a BSD license, but all of the license
8018 ;; text is MIT.
8019 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8020 (license license:expat))))
8021
8022 (define-public cl-symbol-munger
8023 (sbcl-package->cl-source-package sbcl-symbol-munger))
8024
8025 (define-public ecl-symbol-munger
8026 (sbcl-package->ecl-package sbcl-symbol-munger))
8027
8028 (define-public sbcl-lisp-unit2
8029 (package
8030 (inherit sbcl-lisp-unit2-boot0)
8031 (name "sbcl-lisp-unit2")
8032 (inputs
8033 `(("alexandria" ,sbcl-alexandria)
8034 ("cl-interpol" ,sbcl-cl-interpol)
8035 ("iterate" ,sbcl-iterate)
8036 ("symbol-munger" ,sbcl-symbol-munger)))))
8037
8038 (define-public cl-lisp-unit2
8039 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8040
8041 (define-public ecl-lisp-unit2
8042 (sbcl-package->ecl-package sbcl-lisp-unit2))
8043
8044 (define-public sbcl-cl-csv
8045 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8046 (revision "1"))
8047 (package
8048 (name "sbcl-cl-csv")
8049 (version (git-version "1.0.6" revision commit))
8050 (source
8051 (origin
8052 (method git-fetch)
8053 (uri (git-reference
8054 (url "https://github.com/AccelerationNet/cl-csv.git")
8055 (commit commit)))
8056 (file-name (git-file-name name version))
8057 (sha256
8058 (base32
8059 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8060 (build-system asdf-build-system/sbcl)
8061 (arguments
8062 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8063 `(#:tests? #f))
8064 (inputs
8065 `(("alexandria" ,sbcl-alexandria)
8066 ("cl-interpol" ,sbcl-cl-interpol)
8067 ("iterate" ,sbcl-iterate)))
8068 (native-inputs
8069 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8070 (synopsis "Common lisp library for comma-separated values")
8071 (description
8072 "This is a Common Lisp library providing functions to read/write CSV
8073 from/to strings, streams and files.")
8074 (home-page "https://github.com/AccelerationNet/cl-csv")
8075 (license license:bsd-3))))
8076
8077 (define-public cl-csv
8078 (sbcl-package->cl-source-package sbcl-cl-csv))
8079
8080 (define-public ecl-cl-csv
8081 (sbcl-package->ecl-package sbcl-cl-csv))
8082
8083 (define-public sbcl-external-program
8084 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8085 (revision "1"))
8086 (package
8087 (name "sbcl-external-program")
8088 (version (git-version "0.0.6" revision commit))
8089 (source
8090 (origin
8091 (method git-fetch)
8092 (uri (git-reference
8093 (url "https://github.com/sellout/external-program.git")
8094 (commit commit)))
8095 (file-name (git-file-name name version))
8096 (sha256
8097 (base32
8098 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8099 (build-system asdf-build-system/sbcl)
8100 (inputs
8101 `(("trivial-features" ,sbcl-trivial-features)))
8102 (native-inputs
8103 `(("fiveam" ,sbcl-fiveam)))
8104 (synopsis "Common Lisp library for running external programs")
8105 (description
8106 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8107 process. It is an attempt to make the RUN-PROGRAM functionality in
8108 implementations like SBCL and CCL as portable as possible without
8109 sacrificing much in the way of power.")
8110 (home-page "https://github.com/sellout/external-program")
8111 (license license:llgpl))))
8112
8113 (define-public cl-external-program
8114 (sbcl-package->cl-source-package sbcl-external-program))
8115
8116 (define-public ecl-external-program
8117 (sbcl-package->ecl-package sbcl-external-program))
8118
8119 (define sbcl-cl-ana-boot0
8120 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8121 (revision "1"))
8122 (package
8123 (name "sbcl-cl-ana-boot0")
8124 (version (git-version "0.0.0" revision commit))
8125 (source
8126 (origin
8127 (method git-fetch)
8128 (uri (git-reference
8129 (url "https://github.com/ghollisjr/cl-ana.git")
8130 (commit commit)))
8131 (file-name (git-file-name name version))
8132 (sha256
8133 (base32
8134 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8135 (build-system asdf-build-system/sbcl)
8136 (synopsis "Common Lisp data analysis library")
8137 (description
8138 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8139 binned data analysis along with nonlinear least squares fitting and
8140 visualization.")
8141 (home-page "https://github.com/ghollisjr/cl-ana")
8142 (license license:gpl3))))
8143
8144 (define-public sbcl-cl-ana.pathname-utils
8145 (package
8146 (inherit sbcl-cl-ana-boot0)
8147 (name "sbcl-cl-ana.pathname-utils")
8148 (arguments
8149 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8150 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8151 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8152
8153 (define-public cl-ana.pathname-utils
8154 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8155
8156 (define-public ecl-cl-ana.pathname-utils
8157 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
8158
8159 (define-public sbcl-cl-ana.package-utils
8160 (package
8161 (inherit sbcl-cl-ana-boot0)
8162 (name "sbcl-cl-ana.package-utils")
8163 (inputs
8164 `(("alexandria" ,sbcl-alexandria)))
8165 (arguments
8166 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8167 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8168 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8169
8170 (define-public cl-ana.package-utils
8171 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8172
8173 (define-public ecl-cl-ana.package-utils
8174 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
8175
8176 (define-public sbcl-cl-ana.string-utils
8177 (package
8178 (inherit sbcl-cl-ana-boot0)
8179 (name "sbcl-cl-ana.string-utils")
8180 (inputs
8181 `(("split-sequence" ,sbcl-split-sequence)))
8182 (arguments
8183 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8184 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8185 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8186
8187 (define-public cl-ana.string-utils
8188 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8189
8190 (define-public ecl-cl-ana.string-utils
8191 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
8192
8193 (define-public sbcl-cl-ana.functional-utils
8194 (package
8195 (inherit sbcl-cl-ana-boot0)
8196 (name "sbcl-cl-ana.functional-utils")
8197 (arguments
8198 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8199 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8200 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8201
8202 (define-public cl-ana.functional-utils
8203 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8204
8205 (define-public ecl-cl-ana.functional-utils
8206 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
8207
8208 (define-public sbcl-cl-ana.list-utils
8209 (package
8210 (inherit sbcl-cl-ana-boot0)
8211 (name "sbcl-cl-ana.list-utils")
8212 (inputs
8213 `(("alexandria" ,sbcl-alexandria)
8214 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8215 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8216 (arguments
8217 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8218 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8219 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8220
8221 (define-public cl-ana.list-utils
8222 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8223
8224 (define-public ecl-cl-ana.list-utils
8225 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
8226
8227 (define-public sbcl-cl-ana.generic-math
8228 (package
8229 (inherit sbcl-cl-ana-boot0)
8230 (name "sbcl-cl-ana.generic-math")
8231 (inputs
8232 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8233 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8234 (arguments
8235 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8236 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8237 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8238
8239 (define-public cl-ana.generic-math
8240 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8241
8242 (define-public ecl-cl-ana.generic-math
8243 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
8244
8245 (define-public sbcl-cl-ana.math-functions
8246 (package
8247 (inherit sbcl-cl-ana-boot0)
8248 (name "sbcl-cl-ana.math-functions")
8249 (inputs
8250 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8251 ("gsll" ,sbcl-gsll)))
8252 (arguments
8253 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8254 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8255 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8256
8257 (define-public cl-ana.math-functions
8258 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
8259
8260 (define-public sbcl-cl-ana.calculus
8261 (package
8262 (inherit sbcl-cl-ana-boot0)
8263 (name "sbcl-cl-ana.calculus")
8264 (inputs
8265 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8266 (arguments
8267 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8268 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8269 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8270
8271 (define-public cl-ana.calculus
8272 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8273
8274 (define-public ecl-cl-ana.calculus
8275 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
8276
8277 (define-public sbcl-cl-ana.symbol-utils
8278 (package
8279 (inherit sbcl-cl-ana-boot0)
8280 (name "sbcl-cl-ana.symbol-utils")
8281 (inputs
8282 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8283 (arguments
8284 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8285 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8286 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8287
8288 (define-public cl-ana.symbol-utils
8289 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8290
8291 (define-public ecl-cl-ana.symbol-utils
8292 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
8293
8294 (define-public sbcl-cl-ana.macro-utils
8295 (package
8296 (inherit sbcl-cl-ana-boot0)
8297 (name "sbcl-cl-ana.macro-utils")
8298 (inputs
8299 `(("alexandria" ,sbcl-alexandria)
8300 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8301 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8302 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8303 ("split-sequence" ,sbcl-split-sequence)))
8304 (arguments
8305 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8306 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8307 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8308
8309 (define-public cl-ana.macro-utils
8310 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8311
8312 (define-public ecl-cl-ana.macro-utils
8313 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
8314
8315 (define-public sbcl-cl-ana.binary-tree
8316 (package
8317 (inherit sbcl-cl-ana-boot0)
8318 (name "sbcl-cl-ana.binary-tree")
8319 (inputs
8320 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8321 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8322 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8323 (arguments
8324 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8325 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8326 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8327
8328 (define-public cl-ana.binary-tree
8329 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8330
8331 (define-public ecl-cl-ana.binary-tree
8332 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
8333
8334 (define-public sbcl-cl-ana.tensor
8335 (package
8336 (inherit sbcl-cl-ana-boot0)
8337 (name "sbcl-cl-ana.tensor")
8338 (inputs
8339 `(("alexandria" ,sbcl-alexandria)
8340 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8341 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8342 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8343 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8344 (arguments
8345 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8346 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8347 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8348
8349 (define-public cl-ana.tensor
8350 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8351
8352 (define-public ecl-cl-ana.tensor
8353 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
8354
8355 (define-public sbcl-cl-ana.error-propogation
8356 (package
8357 (inherit sbcl-cl-ana-boot0)
8358 (name "sbcl-cl-ana.error-propogation")
8359 (inputs
8360 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8361 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8362 (arguments
8363 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8364 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8365 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8366
8367 (define-public cl-ana.error-propogation
8368 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
8369
8370 (define-public sbcl-cl-ana.quantity
8371 (package
8372 (inherit sbcl-cl-ana-boot0)
8373 (name "sbcl-cl-ana.quantity")
8374 (inputs
8375 `(("alexandria" ,sbcl-alexandria)
8376 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8377 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8378 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8379 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8380 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8381 (arguments
8382 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8383 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8384 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8385
8386 (define-public cl-ana.quantity
8387 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
8388
8389 (define-public sbcl-cl-ana.table
8390 (package
8391 (inherit sbcl-cl-ana-boot0)
8392 (name "sbcl-cl-ana.table")
8393 (inputs
8394 `(("alexandria" ,sbcl-alexandria)
8395 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8396 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8397 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8398 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8399 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8400 (arguments
8401 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8402 ((#:asd-file _ "") "table/cl-ana.table.asd")
8403 ((#:asd-system-name _ #f) "cl-ana.table")))))
8404
8405 (define-public cl-ana.table
8406 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8407
8408 (define-public ecl-cl-ana.table
8409 (sbcl-package->ecl-package sbcl-cl-ana.table))
8410
8411 (define-public sbcl-cl-ana.table-utils
8412 (package
8413 (inherit sbcl-cl-ana-boot0)
8414 (name "sbcl-cl-ana.table-utils")
8415 (inputs
8416 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8417 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8418 ("cl-ana.table" ,sbcl-cl-ana.table)))
8419 (arguments
8420 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8421 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8422 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8423
8424 (define-public cl-ana.table-utils
8425 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8426
8427 (define-public ecl-cl-ana.table-utils
8428 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
8429
8430 (define-public sbcl-cl-ana.hdf-cffi
8431 (package
8432 (inherit sbcl-cl-ana-boot0)
8433 (name "sbcl-cl-ana.hdf-cffi")
8434 (inputs
8435 `(("cffi" ,sbcl-cffi)
8436 ("hdf5" ,hdf5-parallel-openmpi)))
8437 (arguments
8438 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8439 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8440 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8441 ((#:phases phases '%standard-phases)
8442 `(modify-phases ,phases
8443 (add-after 'unpack 'fix-paths
8444 (lambda* (#:key inputs #:allow-other-keys)
8445 (substitute* "hdf-cffi/hdf-cffi.lisp"
8446 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8447 (string-append
8448 (assoc-ref inputs "hdf5")
8449 "/lib/libhdf5.so")))))))))))
8450
8451 (define-public cl-ana.hdf-cffi
8452 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8453
8454 (define-public ecl-cl-ana.hdf-cffi
8455 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
8456
8457 (define-public sbcl-cl-ana.int-char
8458 (package
8459 (inherit sbcl-cl-ana-boot0)
8460 (name "sbcl-cl-ana.int-char")
8461 (arguments
8462 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8463 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8464 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8465
8466 (define-public cl-ana.int-char
8467 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8468
8469 (define-public ecl-cl-ana.int-char
8470 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
8471
8472 (define-public sbcl-cl-ana.memoization
8473 (package
8474 (inherit sbcl-cl-ana-boot0)
8475 (name "sbcl-cl-ana.memoization")
8476 (inputs
8477 `(("alexandria" ,sbcl-alexandria)))
8478 (arguments
8479 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8480 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8481 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8482
8483 (define-public cl-ana.memoization
8484 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8485
8486 (define-public ecl-cl-ana.memoization
8487 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
8488
8489 (define-public sbcl-cl-ana.typespec
8490 (package
8491 (inherit sbcl-cl-ana-boot0)
8492 (name "sbcl-cl-ana.typespec")
8493 (inputs
8494 `(("alexandria" ,sbcl-alexandria)
8495 ("cffi" ,sbcl-cffi)
8496 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8497 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8498 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8499 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8500 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8501 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8502 (arguments
8503 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8504 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8505 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8506
8507 (define-public cl-ana.typespec
8508 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8509
8510 (define-public ecl-cl-ana.typespec
8511 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
8512
8513 (define-public sbcl-cl-ana.hdf-typespec
8514 (package
8515 (inherit sbcl-cl-ana-boot0)
8516 (name "sbcl-cl-ana.hdf-typespec")
8517 (inputs
8518 `(("alexandria" ,sbcl-alexandria)
8519 ("cffi" ,sbcl-cffi)
8520 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8521 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8522 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8523 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8524 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8525 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8526 (arguments
8527 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8528 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8529 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8530
8531 (define-public cl-ana.hdf-typespec
8532 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8533
8534 (define-public ecl-cl-ana.hdf-typespec
8535 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
8536
8537 (define-public sbcl-cl-ana.hdf-utils
8538 (package
8539 (inherit sbcl-cl-ana-boot0)
8540 (name "sbcl-cl-ana.hdf-utils")
8541 (inputs
8542 `(("alexandria" ,sbcl-alexandria)
8543 ("cffi" ,sbcl-cffi)
8544 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8545 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8546 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8547 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8548 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8549 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8550 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8551 (arguments
8552 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8553 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8554 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8555
8556 (define-public cl-ana.hdf-utils
8557 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8558
8559 (define-public ecl-cl-ana.hdf-utils
8560 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
8561
8562 (define-public sbcl-cl-ana.typed-table
8563 (package
8564 (inherit sbcl-cl-ana-boot0)
8565 (name "sbcl-cl-ana.typed-table")
8566 (inputs
8567 `(("alexandria" ,sbcl-alexandria)
8568 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8569 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8570 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8571 ("cl-ana.table" ,sbcl-cl-ana.table)
8572 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8573 (arguments
8574 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8575 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8576 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8577
8578 (define-public cl-ana.typed-table
8579 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8580
8581 (define-public ecl-cl-ana.typed-table
8582 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8583
8584 (define-public sbcl-cl-ana.hdf-table
8585 (package
8586 (inherit sbcl-cl-ana-boot0)
8587 (name "sbcl-cl-ana.hdf-table")
8588 (inputs
8589 `(("alexandria" ,sbcl-alexandria)
8590 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8591 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8592 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8593 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8594 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8595 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8596 ("cl-ana.table" ,sbcl-cl-ana.table)
8597 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8598 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8599 (arguments
8600 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8601 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8602 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8603
8604 (define-public cl-ana.hdf-table
8605 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8606
8607 (define-public ecl-cl-ana.hdf-table
8608 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
8609
8610 (define-public sbcl-cl-ana.gsl-cffi
8611 (package
8612 (inherit sbcl-cl-ana-boot0)
8613 (name "sbcl-cl-ana.gsl-cffi")
8614 (inputs
8615 `(("cffi" ,sbcl-cffi)
8616 ("gsl" ,gsl)))
8617 (arguments
8618 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8619 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8620 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8621 ((#:phases phases '%standard-phases)
8622 `(modify-phases ,phases
8623 (add-after 'unpack 'fix-paths
8624 (lambda* (#:key inputs #:allow-other-keys)
8625 (substitute* "gsl-cffi/gsl-cffi.lisp"
8626 (("define-foreign-library gsl-cffi" all)
8627 (string-append all " (:unix "
8628 (assoc-ref inputs "gsl")
8629 "/lib/libgsl.so)")))))))))))
8630
8631 (define-public cl-ana.gsl-cffi
8632 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8633
8634 (define-public ecl-cl-ana.gsl-cffi
8635 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
8636
8637 (define-public sbcl-cl-ana.ntuple-table
8638 (package
8639 (inherit sbcl-cl-ana-boot0)
8640 (name "sbcl-cl-ana.ntuple-table")
8641 (inputs
8642 `(("alexandria" ,sbcl-alexandria)
8643 ("cffi" ,sbcl-cffi)
8644 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8645 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8646 ("cl-ana.table" ,sbcl-cl-ana.table)
8647 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8648 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8649 ("gsll" ,sbcl-gsll)))
8650 (arguments
8651 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8652 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8653 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8654
8655 (define-public cl-ana.ntuple-table
8656 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
8657
8658 (define-public sbcl-cl-ana.csv-table
8659 (package
8660 (inherit sbcl-cl-ana-boot0)
8661 (name "sbcl-cl-ana.csv-table")
8662 (inputs
8663 `(("alexandria" ,sbcl-alexandria)
8664 ("antik" ,sbcl-antik)
8665 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8666 ("cl-ana.table" ,sbcl-cl-ana.table)
8667 ("cl-csv" ,sbcl-cl-csv)
8668 ("iterate" ,sbcl-iterate)))
8669 (arguments
8670 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8671 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8672 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8673
8674 (define-public cl-ana.csv-table
8675 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
8676
8677 (define-public sbcl-cl-ana.reusable-table
8678 (package
8679 (inherit sbcl-cl-ana-boot0)
8680 (name "sbcl-cl-ana.reusable-table")
8681 (inputs
8682 `(("alexandria" ,sbcl-alexandria)
8683 ("cl-ana.table" ,sbcl-cl-ana.table)))
8684 (arguments
8685 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8686 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8687 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8688
8689 (define-public cl-ana.reusable-table
8690 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8691
8692 (define-public ecl-cl-ana.reusable-table
8693 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
8694
8695 (define-public sbcl-cl-ana.linear-algebra
8696 (package
8697 (inherit sbcl-cl-ana-boot0)
8698 (name "sbcl-cl-ana.linear-algebra")
8699 (inputs
8700 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8701 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8702 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8703 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8704 ("gsll" ,sbcl-gsll)))
8705 (arguments
8706 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8707 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8708 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8709
8710 (define-public cl-ana.linear-algebra
8711 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
8712
8713 (define-public sbcl-cl-ana.lorentz
8714 (package
8715 (inherit sbcl-cl-ana-boot0)
8716 (name "sbcl-cl-ana.lorentz")
8717 (inputs
8718 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8719 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8720 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8721 ("iterate" ,sbcl-iterate)))
8722 (arguments
8723 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8724 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8725 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8726
8727 (define-public cl-ana.lorentz
8728 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
8729
8730 (define-public sbcl-cl-ana.clos-utils
8731 (package
8732 (inherit sbcl-cl-ana-boot0)
8733 (name "sbcl-cl-ana.clos-utils")
8734 (inputs
8735 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8736 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8737 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8738 ("closer-mop" ,sbcl-closer-mop)))
8739 (arguments
8740 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8741 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8742 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8743
8744 (define-public cl-ana.clos-utils
8745 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8746
8747 (define-public ecl-cl-ana.clos-utils
8748 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
8749
8750 (define-public sbcl-cl-ana.hash-table-utils
8751 (package
8752 (inherit sbcl-cl-ana-boot0)
8753 (name "sbcl-cl-ana.hash-table-utils")
8754 (arguments
8755 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8756 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8757 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8758
8759 (define-public cl-ana.hash-table-utils
8760 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8761
8762 (define-public ecl-cl-ana.hash-table-utils
8763 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
8764
8765 (define-public sbcl-cl-ana.map
8766 (package
8767 (inherit sbcl-cl-ana-boot0)
8768 (name "sbcl-cl-ana.map")
8769 (inputs
8770 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8771 (arguments
8772 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8773 ((#:asd-file _ "") "map/cl-ana.map.asd")
8774 ((#:asd-system-name _ #f) "cl-ana.map")))))
8775
8776 (define-public cl-ana.map
8777 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8778
8779 (define-public ecl-cl-ana.map
8780 (sbcl-package->ecl-package sbcl-cl-ana.map))
8781
8782 (define-public sbcl-cl-ana.fitting
8783 (package
8784 (inherit sbcl-cl-ana-boot0)
8785 (name "sbcl-cl-ana.fitting")
8786 (inputs
8787 `(("alexandria" ,sbcl-alexandria)
8788 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8789 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8790 ("cl-ana.map" ,sbcl-cl-ana.map)
8791 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8792 ("gsll" ,sbcl-gsll)))
8793 (arguments
8794 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8795 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8796 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8797
8798 (define-public cl-ana.fitting
8799 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
8800
8801 (define-public sbcl-cl-ana.histogram
8802 (package
8803 (inherit sbcl-cl-ana-boot0)
8804 (name "sbcl-cl-ana.histogram")
8805 (inputs
8806 `(("alexandria" ,sbcl-alexandria)
8807 ("iterate" ,sbcl-iterate)
8808 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8809 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8810 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8811 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8812 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8813 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8814 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8815 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8816 ("cl-ana.map" ,sbcl-cl-ana.map)
8817 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8818 (arguments
8819 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8820 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8821 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8822
8823 (define-public cl-ana.histogram
8824 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
8825
8826 (define-public sbcl-cl-ana.file-utils
8827 (package
8828 (inherit sbcl-cl-ana-boot0)
8829 (name "sbcl-cl-ana.file-utils")
8830 (inputs
8831 `(("external-program" ,sbcl-external-program)
8832 ("split-sequence" ,sbcl-split-sequence)))
8833 (arguments
8834 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8835 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8836 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8837
8838 (define-public cl-ana.file-utils
8839 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8840
8841 (define-public ecl-cl-ana.file-utils
8842 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
8843
8844 (define-public sbcl-cl-ana.statistics
8845 (package
8846 (inherit sbcl-cl-ana-boot0)
8847 (name "sbcl-cl-ana.statistics")
8848 (inputs
8849 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8850 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8851 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8852 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8853 ("cl-ana.map" ,sbcl-cl-ana.map)))
8854 (arguments
8855 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8856 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8857 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8858
8859 (define-public cl-ana.statistics
8860 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
8861
8862 (define-public sbcl-cl-ana.gnuplot-interface
8863 (package
8864 (inherit sbcl-cl-ana-boot0)
8865 (name "sbcl-cl-ana.gnuplot-interface")
8866 (inputs
8867 `(("external-program" ,sbcl-external-program)))
8868 (arguments
8869 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8870 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8871 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8872
8873 (define-public cl-ana.gnuplot-interface
8874 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8875
8876 (define-public ecl-cl-ana.gnuplot-interface
8877 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
8878
8879 (define-public sbcl-cl-ana.plotting
8880 (package
8881 (inherit sbcl-cl-ana-boot0)
8882 (name "sbcl-cl-ana.plotting")
8883 (inputs
8884 `(("alexandria" ,sbcl-alexandria)
8885 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8886 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8887 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8888 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8889 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8890 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8891 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8892 ("cl-ana.map" ,sbcl-cl-ana.map)
8893 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8894 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8895 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8896 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8897 ("external-program" ,sbcl-external-program)
8898 ("split-sequence" ,sbcl-split-sequence)))
8899 (arguments
8900 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8901 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8902 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8903
8904 (define-public cl-ana.plotting
8905 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
8906
8907 (define-public sbcl-cl-ana.table-viewing
8908 (package
8909 (inherit sbcl-cl-ana-boot0)
8910 (name "sbcl-cl-ana.table-viewing")
8911 (inputs
8912 `(("alexandria" ,sbcl-alexandria)
8913 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8914 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8915 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8916 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8917 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8918 ("cl-ana.table" ,sbcl-cl-ana.table)))
8919 (arguments
8920 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8921 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8922 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8923
8924 (define-public cl-ana.table-viewing
8925 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
8926
8927 (define-public sbcl-cl-ana.serialization
8928 (package
8929 (inherit sbcl-cl-ana-boot0)
8930 (name "sbcl-cl-ana.serialization")
8931 (inputs
8932 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8933 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8934 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
8935 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8936 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8937 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8938 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8939 (arguments
8940 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8941 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
8942 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
8943
8944 (define-public cl-ana.serialization
8945 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
8946
8947 (define-public sbcl-cl-ana.makeres
8948 (package
8949 (inherit sbcl-cl-ana-boot0)
8950 (name "sbcl-cl-ana.makeres")
8951 (inputs
8952 `(("alexandria" ,sbcl-alexandria)
8953 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8954 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
8955 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8956 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8957 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8958 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8959 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8960 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8961 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8962 ("cl-ana.map" ,sbcl-cl-ana.map)
8963 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8964 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8965 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8966 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
8967 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
8968 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8969 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8970 ("cl-ana.table" ,sbcl-cl-ana.table)
8971 ("external-program" ,sbcl-external-program)))
8972 (native-inputs
8973 `(("cl-fad" ,sbcl-cl-fad)))
8974 (arguments
8975 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8976 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
8977 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
8978
8979 (define-public cl-ana.makeres
8980 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
8981
8982 (define-public sbcl-cl-ana.makeres-macro
8983 (package
8984 (inherit sbcl-cl-ana-boot0)
8985 (name "sbcl-cl-ana.makeres-macro")
8986 (inputs
8987 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8988 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8989 (arguments
8990 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8991 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
8992 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
8993
8994 (define-public cl-ana.makeres-macro
8995 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
8996
8997 (define-public sbcl-cl-ana.makeres-block
8998 (package
8999 (inherit sbcl-cl-ana-boot0)
9000 (name "sbcl-cl-ana.makeres-block")
9001 (inputs
9002 `(("alexandria" ,sbcl-alexandria)
9003 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9004 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9005 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9006 (arguments
9007 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9008 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9009 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9010
9011 (define-public cl-ana.makeres-block
9012 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
9013
9014 (define-public sbcl-cl-ana.makeres-progress
9015 (package
9016 (inherit sbcl-cl-ana-boot0)
9017 (name "sbcl-cl-ana.makeres-progress")
9018 (inputs
9019 `(("alexandria" ,sbcl-alexandria)
9020 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9021 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9022 (arguments
9023 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9024 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9025 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9026
9027 (define-public cl-ana.makeres-progress
9028 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
9029
9030 (define-public sbcl-cl-ana.makeres-table
9031 (package
9032 (inherit sbcl-cl-ana-boot0)
9033 (name "sbcl-cl-ana.makeres-table")
9034 (inputs
9035 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9036 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9037 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9038 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9039 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9040 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9041 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9042 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9043 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9044 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9045 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9046 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9047 ("cl-ana.table" ,sbcl-cl-ana.table)))
9048 (native-inputs
9049 `(("cl-fad" ,sbcl-cl-fad)))
9050 (arguments
9051 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9052 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9053 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9054
9055 (define-public cl-ana.makeres-table
9056 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
9057
9058 (define-public sbcl-cl-ana.makeres-graphviz
9059 (package
9060 (inherit sbcl-cl-ana-boot0)
9061 (name "sbcl-cl-ana.makeres-graphviz")
9062 (inputs
9063 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9064 ("external-program" ,sbcl-external-program)))
9065 (arguments
9066 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9067 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9068 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9069
9070 (define-public cl-ana.makeres-graphviz
9071 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
9072
9073 (define-public sbcl-cl-ana.makeres-branch
9074 (package
9075 (inherit sbcl-cl-ana-boot0)
9076 (name "sbcl-cl-ana.makeres-branch")
9077 (inputs
9078 `(("alexandria" ,sbcl-alexandria)
9079 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9080 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9081 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9082 ("cl-ana.map" ,sbcl-cl-ana.map)
9083 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9084 (arguments
9085 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9086 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9087 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9088
9089 (define-public cl-ana.makeres-branch
9090 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
9091
9092 (define-public sbcl-cl-ana.makeres-utils
9093 (package
9094 (inherit sbcl-cl-ana-boot0)
9095 (name "sbcl-cl-ana.makeres-utils")
9096 (inputs
9097 `(("alexandria" ,sbcl-alexandria)
9098 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9099 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9100 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9101 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9102 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9103 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9104 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9105 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9106 ("cl-ana.map" ,sbcl-cl-ana.map)
9107 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9108 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9109 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9110 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9111 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9112 ("cl-ana.table" ,sbcl-cl-ana.table)))
9113 (native-inputs
9114 `(("cl-fad" ,sbcl-cl-fad)))
9115 (arguments
9116 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9117 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9118 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9119
9120 (define-public cl-ana.makeres-utils
9121 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
9122
9123 (define-public sbcl-cl-ana.statistical-learning
9124 (package
9125 (inherit sbcl-cl-ana-boot0)
9126 (name "sbcl-cl-ana.statistical-learning")
9127 (inputs
9128 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9129 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9130 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9131 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9132 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9133 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9134 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9135 ("cl-ana.map" ,sbcl-cl-ana.map)
9136 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9137 (native-inputs
9138 `(("cl-fad" ,sbcl-cl-fad)))
9139 (arguments
9140 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9141 ((#:asd-file _ "")
9142 "statistical-learning/cl-ana.statistical-learning.asd")
9143 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9144
9145 (define-public cl-ana.statistical-learning
9146 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
9147
9148 (define-public sbcl-cl-ana
9149 (package
9150 (inherit sbcl-cl-ana-boot0)
9151 (name "sbcl-cl-ana")
9152 (inputs
9153 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9154 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9155 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9156 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9157 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9158 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9159 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9160 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9161 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9162 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9163 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9164 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9165 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9166 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9167 ("cl-ana.map" ,sbcl-cl-ana.map)
9168 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9169 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9170 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9171 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9172 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9173 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9174 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9175 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9176 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9177 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9178 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9179 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9180 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9181 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9182 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9183 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9184 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9185 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9186 ("cl-ana.table" ,sbcl-cl-ana.table)
9187 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9188 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9189 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9190 ("libffi" ,libffi)))
9191 (native-inputs
9192 `(("cl-fad" ,sbcl-cl-fad)))
9193 (arguments
9194 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9195 ((#:asd-file _ "") "cl-ana.asd")
9196 ((#:asd-system-name _ #f) "cl-ana")))))
9197
9198 (define-public cl-ana
9199 (sbcl-package->cl-source-package sbcl-cl-ana))
9200
9201 (define-public sbcl-archive
9202 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9203 (revision "1"))
9204 (package
9205 (name "sbcl-archive")
9206 (version (git-version "0.9" revision commit))
9207 (source (origin
9208 (method git-fetch)
9209 (uri (git-reference
9210 (url "https://github.com/sharplispers/archive.git")
9211 (commit commit)))
9212 (file-name (git-file-name name version))
9213 (sha256
9214 (base32
9215 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9216 (build-system asdf-build-system/sbcl)
9217 (inputs
9218 `(("cl-fad" ,sbcl-cl-fad)
9219 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9220 (synopsis "Common Lisp library for tar and cpio archives")
9221 (description
9222 "This is a Common Lisp library to read and write disk-based file
9223 archives such as those generated by the tar and cpio programs on Unix.")
9224 (home-page "https://github.com/sharplispers/archive")
9225 (license license:bsd-3))))
9226
9227 (define-public cl-archive
9228 (sbcl-package->cl-source-package sbcl-archive))
9229
9230 (define-public ecl-archive
9231 (sbcl-package->ecl-package sbcl-archive))
9232
9233 (define-public sbcl-misc-extensions
9234 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9235 (revision "1"))
9236 (package
9237 (name "sbcl-misc-extensions")
9238 (version (git-version "3.3" revision commit))
9239 (source
9240 (origin
9241 (method git-fetch)
9242 (uri (git-reference
9243 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9244 (commit commit)))
9245 (file-name (git-file-name name version))
9246 (sha256
9247 (base32
9248 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9249 (build-system asdf-build-system/sbcl)
9250 (synopsis "Collection of small macros and extensions for Common Lisp")
9251 (description
9252 "This project is intended as a catchall for small, general-purpose
9253 extensions to Common Lisp. It contains:
9254
9255 @itemize
9256 @item @code{new-let}, a macro that combines and generalizes @code{let},
9257 @code{let*} and @code{multiple-value-bind},
9258 @item @code{gmap}, an iteration macro that generalizes @code{map}.
9259 @end itemize\n")
9260 (home-page "https://common-lisp.net/project/misc-extensions/")
9261 (license license:public-domain))))
9262
9263 (define-public cl-misc-extensions
9264 (sbcl-package->cl-source-package sbcl-misc-extensions))
9265
9266 (define-public ecl-misc-extensions
9267 (sbcl-package->ecl-package sbcl-misc-extensions))
9268
9269 (define-public sbcl-mt19937
9270 (package
9271 (name "sbcl-mt19937")
9272 (version "1.1")
9273 (source
9274 (origin
9275 (method url-fetch)
9276 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9277 "mt19937-latest.tar.gz"))
9278 (sha256
9279 (base32
9280 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9281 (build-system asdf-build-system/sbcl)
9282 (synopsis "Mersenne Twister pseudo-random number generator")
9283 (description
9284 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9285 for Common Lisp.")
9286 (home-page "https://www.cliki.net/mt19937")
9287 (license license:public-domain)))
9288
9289 (define-public cl-mt19937
9290 (sbcl-package->cl-source-package sbcl-mt19937))
9291
9292 (define-public ecl-mt19937
9293 (sbcl-package->ecl-package sbcl-mt19937))
9294
9295 (define-public sbcl-fset
9296 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9297 (revision "1"))
9298 (package
9299 (name "sbcl-fset")
9300 (version (git-version "1.3.2" revision commit))
9301 (source
9302 (origin
9303 (method git-fetch)
9304 (uri (git-reference
9305 (url "https://github.com/slburson/fset")
9306 (commit commit)))
9307 (file-name (git-file-name name version))
9308 (sha256
9309 (base32
9310 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9311 (snippet '(begin
9312 ;; Remove obsolete copy of system definition.
9313 (delete-file "Code/fset.asd")
9314 #t))))
9315 (build-system asdf-build-system/sbcl)
9316 (inputs
9317 `(("misc-extensions" ,sbcl-misc-extensions)
9318 ("mt19937" ,sbcl-mt19937)
9319 ("named-readtables" ,sbcl-named-readtables)))
9320 (synopsis "Functional set-theoretic collections library")
9321 (description
9322 "FSet is a functional set-theoretic collections library for Common Lisp.
9323 Functional means that all update operations return a new collection rather than
9324 modifying an existing one in place. Set-theoretic means that collections may
9325 be nested arbitrarily with no additional programmer effort; for instance, sets
9326 may contain sets, maps may be keyed by sets, etc.")
9327 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9328 (license license:llgpl))))
9329
9330 (define-public cl-fset
9331 (sbcl-package->cl-source-package sbcl-fset))
9332
9333 (define-public sbcl-cl-cont
9334 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9335 (revision "1"))
9336 (package
9337 (name "sbcl-cl-cont")
9338 (version (git-version "0.3.8" revision commit))
9339 (source
9340 (origin
9341 (method git-fetch)
9342 (uri (git-reference
9343 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9344 (commit commit)))
9345 (file-name (git-file-name name version))
9346 (sha256
9347 (base32
9348 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9349 (build-system asdf-build-system/sbcl)
9350 (inputs
9351 `(("alexandria" ,sbcl-alexandria)
9352 ("closer-mop" ,sbcl-closer-mop)))
9353 (native-inputs
9354 `(("rt" ,sbcl-rt)))
9355 (synopsis "Delimited continuations for Common Lisp")
9356 (description
9357 "This is a library that implements delimited continuations by
9358 transforming Common Lisp code to continuation passing style.")
9359 (home-page "https://common-lisp.net/project/cl-cont/")
9360 (license license:llgpl))))
9361
9362 (define-public cl-cont
9363 (sbcl-package->cl-source-package sbcl-cl-cont))
9364
9365 (define-public ecl-cl-cont
9366 (sbcl-package->ecl-package sbcl-cl-cont))
9367
9368 (define-public sbcl-cl-coroutine
9369 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9370 (revision "1"))
9371 (package
9372 (name "sbcl-cl-coroutine")
9373 (version (git-version "0.1" revision commit))
9374 (source
9375 (origin
9376 (method git-fetch)
9377 (uri (git-reference
9378 (url "https://github.com/takagi/cl-coroutine.git")
9379 (commit commit)))
9380 (file-name (git-file-name name version))
9381 (sha256
9382 (base32
9383 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9384 (build-system asdf-build-system/sbcl)
9385 (inputs
9386 `(("alexandria" ,sbcl-alexandria)
9387 ("cl-cont" ,sbcl-cl-cont)))
9388 (native-inputs
9389 `(("prove" ,sbcl-prove)))
9390 (arguments
9391 `(;; TODO: Fix the tests. They fail with:
9392 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9393 #:tests? #f
9394 #:phases
9395 (modify-phases %standard-phases
9396 (add-after 'unpack 'fix-tests
9397 (lambda _
9398 (substitute* "cl-coroutine-test.asd"
9399 (("cl-test-more")
9400 "prove"))
9401 #t)))))
9402 (synopsis "Coroutine library for Common Lisp")
9403 (description
9404 "This is a coroutine library for Common Lisp implemented using the
9405 continuations of the @code{cl-cont} library.")
9406 (home-page "https://github.com/takagi/cl-coroutine")
9407 (license license:llgpl))))
9408
9409 (define-public cl-coroutine
9410 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9411
9412 (define-public ecl-cl-coroutine
9413 (sbcl-package->ecl-package sbcl-cl-coroutine))
9414
9415 (define-public sbcl-vom
9416 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9417 (revision "1"))
9418 (package
9419 (name "sbcl-vom")
9420 (version (git-version "0.1.4" revision commit))
9421 (source
9422 (origin
9423 (method git-fetch)
9424 (uri (git-reference
9425 (url "https://github.com/orthecreedence/vom.git")
9426 (commit commit)))
9427 (file-name (git-file-name name version))
9428 (sha256
9429 (base32
9430 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9431 (build-system asdf-build-system/sbcl)
9432 (synopsis "Tiny logging utility for Common Lisp")
9433 (description
9434 "Vom is a logging library for Common Lisp. It's goal is to be useful
9435 and small. It does not provide a lot of features as other loggers do, but
9436 has a small codebase that's easy to understand and use.")
9437 (home-page "https://github.com/orthecreedence/vom")
9438 (license license:expat))))
9439
9440 (define-public cl-vom
9441 (sbcl-package->cl-source-package sbcl-vom))
9442
9443 (define-public ecl-vom
9444 (sbcl-package->ecl-package sbcl-vom))
9445
9446 (define-public sbcl-cl-libuv
9447 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9448 (revision "1"))
9449 (package
9450 (name "sbcl-cl-libuv")
9451 (version (git-version "0.1.6" revision commit))
9452 (source
9453 (origin
9454 (method git-fetch)
9455 (uri (git-reference
9456 (url "https://github.com/orthecreedence/cl-libuv.git")
9457 (commit commit)))
9458 (file-name (git-file-name name version))
9459 (sha256
9460 (base32
9461 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9462 (build-system asdf-build-system/sbcl)
9463 (inputs
9464 `(("alexandria" ,sbcl-alexandria)
9465 ("cffi" ,sbcl-cffi)
9466 ("cffi-grovel" ,sbcl-cffi-grovel)
9467 ("libuv" ,libuv)))
9468 (arguments
9469 `(#:phases
9470 (modify-phases %standard-phases
9471 (add-after 'unpack 'fix-paths
9472 (lambda* (#:key inputs #:allow-other-keys)
9473 (substitute* "lib.lisp"
9474 (("/usr/lib/libuv.so")
9475 (string-append (assoc-ref inputs "libuv")
9476 "/lib/libuv.so")))
9477 #t))
9478 (add-after 'fix-paths 'fix-system-definition
9479 (lambda _
9480 (substitute* "cl-libuv.asd"
9481 (("#:cffi #:alexandria")
9482 "#:cffi #:cffi-grovel #:alexandria"))
9483 #t)))))
9484 (synopsis "Common Lisp bindings to libuv")
9485 (description
9486 "This library provides low-level libuv bindings for Common Lisp.")
9487 (home-page "https://github.com/orthecreedence/cl-libuv")
9488 (license license:expat))))
9489
9490 (define-public cl-libuv
9491 (sbcl-package->cl-source-package sbcl-cl-libuv))
9492
9493 (define-public ecl-cl-libuv
9494 (sbcl-package->ecl-package sbcl-cl-libuv))
9495
9496 (define-public sbcl-cl-async-base
9497 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9498 (revision "1"))
9499 (package
9500 (name "sbcl-cl-async-base")
9501 (version (git-version "0.6.1" revision commit))
9502 (source
9503 (origin
9504 (method git-fetch)
9505 (uri (git-reference
9506 (url "https://github.com/orthecreedence/cl-async.git")
9507 (commit commit)))
9508 (file-name (git-file-name name version))
9509 (sha256
9510 (base32
9511 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9512 (build-system asdf-build-system/sbcl)
9513 (inputs
9514 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9515 ("cffi" ,sbcl-cffi)
9516 ("cl-libuv" ,sbcl-cl-libuv)))
9517 (arguments
9518 `(#:asd-file "cl-async.asd"))
9519 (synopsis "Base system for cl-async")
9520 (description
9521 "Cl-async is a library for general purpose, non-blocking programming in
9522 Common Lisp. It uses the libuv library as backend.")
9523 (home-page "https://orthecreedence.github.io/cl-async/")
9524 (license license:expat))))
9525
9526 (define-public cl-async-base
9527 (sbcl-package->cl-source-package sbcl-cl-async-base))
9528
9529 (define-public ecl-cl-async-base
9530 (sbcl-package->ecl-package sbcl-cl-async-base))
9531
9532 (define-public sbcl-cl-async-util
9533 (package
9534 (inherit sbcl-cl-async-base)
9535 (name "sbcl-cl-async-util")
9536 (inputs
9537 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9538 ("cffi" ,sbcl-cffi)
9539 ("cl-async-base" ,sbcl-cl-async-base)
9540 ("cl-libuv" ,sbcl-cl-libuv)
9541 ("cl-ppcre" ,sbcl-cl-ppcre)
9542 ("fast-io" ,sbcl-fast-io)
9543 ("vom" ,sbcl-vom)))
9544 (synopsis "Internal utilities for cl-async")))
9545
9546 (define-public cl-async-util
9547 (sbcl-package->cl-source-package sbcl-cl-async-util))
9548
9549 (define-public ecl-cl-async-util
9550 (sbcl-package->ecl-package sbcl-cl-async-util))
9551
9552 (define-public sbcl-cl-async
9553 (package
9554 (inherit sbcl-cl-async-base)
9555 (name "sbcl-cl-async")
9556 (inputs
9557 `(("babel" ,sbcl-babel)
9558 ("cffi" ,sbcl-cffi)
9559 ("cl-async-base" ,sbcl-cl-async-base)
9560 ("cl-async-util" ,sbcl-cl-async-util)
9561 ("cl-libuv" ,sbcl-cl-libuv)
9562 ("cl-ppcre" ,sbcl-cl-ppcre)
9563 ("static-vectors" ,sbcl-static-vectors)
9564 ("trivial-features" ,sbcl-trivial-features)
9565 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9566 (synopsis "Asynchronous operations for Common Lisp")))
9567
9568 (define-public cl-async
9569 (sbcl-package->cl-source-package sbcl-cl-async))
9570
9571 (define-public ecl-cl-async
9572 (sbcl-package->ecl-package sbcl-cl-async))
9573
9574 (define-public sbcl-cl-async-repl
9575 (package
9576 (inherit sbcl-cl-async-base)
9577 (name "sbcl-cl-async-repl")
9578 (inputs
9579 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9580 ("cl-async" ,sbcl-cl-async)))
9581 (arguments
9582 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9583 ((#:asd-file _ "") "cl-async-repl.asd")))
9584 (synopsis "REPL integration for cl-async")))
9585
9586 (define-public cl-async-repl
9587 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9588
9589 (define-public ecl-cl-async-repl
9590 (sbcl-package->ecl-package sbcl-cl-async-repl))
9591
9592 (define-public sbcl-cl-async-ssl
9593 (package
9594 (inherit sbcl-cl-async-base)
9595 (name "sbcl-cl-async-ssl")
9596 (inputs
9597 `(("cffi" ,sbcl-cffi)
9598 ("cl-async" ,sbcl-cl-async)
9599 ("openssl" ,openssl)
9600 ("vom" ,sbcl-vom)))
9601 (arguments
9602 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9603 ((#:asd-file _ "") "cl-async-ssl.asd")
9604 ((#:phases phases '%standard-phases)
9605 `(modify-phases ,phases
9606 (add-after 'unpack 'fix-paths
9607 (lambda* (#:key inputs #:allow-other-keys)
9608 (substitute* "src/ssl/package.lisp"
9609 (("libcrypto\\.so")
9610 (string-append (assoc-ref inputs "openssl")
9611 "/lib/libcrypto.so"))
9612 (("libssl\\.so")
9613 (string-append (assoc-ref inputs "openssl")
9614 "/lib/libssl.so")))
9615 #t))))))
9616 (synopsis "SSL wrapper around cl-async socket implementation")))
9617
9618 (define-public cl-async-ssl
9619 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9620
9621 (define-public ecl-cl-async-ssl
9622 (sbcl-package->ecl-package sbcl-cl-async-ssl))
9623
9624 (define-public sbcl-blackbird
9625 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9626 (revision "1"))
9627 (package
9628 (name "sbcl-blackbird")
9629 (version (git-version "0.5.2" revision commit))
9630 (source
9631 (origin
9632 (method git-fetch)
9633 (uri (git-reference
9634 (url "https://github.com/orthecreedence/blackbird.git")
9635 (commit commit)))
9636 (file-name (git-file-name name version))
9637 (sha256
9638 (base32
9639 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9640 (build-system asdf-build-system/sbcl)
9641 (inputs
9642 `(("vom" ,sbcl-vom)))
9643 (native-inputs
9644 `(("cl-async" ,sbcl-cl-async)
9645 ("fiveam" ,sbcl-fiveam)))
9646 (synopsis "Promise implementation for Common Lisp")
9647 (description
9648 "This is a standalone promise implementation for Common Lisp. It is
9649 the successor to the now-deprecated cl-async-future project.")
9650 (home-page "https://orthecreedence.github.io/blackbird/")
9651 (license license:expat))))
9652
9653 (define-public cl-blackbird
9654 (sbcl-package->cl-source-package sbcl-blackbird))
9655
9656 (define-public ecl-blackbird
9657 (sbcl-package->ecl-package sbcl-blackbird))
9658
9659 (define-public sbcl-cl-async-future
9660 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9661 (revision "1"))
9662 (package
9663 (name "sbcl-cl-async-future")
9664 (version (git-version "0.4.4.1" revision commit))
9665 (source
9666 (origin
9667 (method git-fetch)
9668 (uri (git-reference
9669 (url "https://github.com/orthecreedence/cl-async-future.git")
9670 (commit commit)))
9671 (file-name (git-file-name name version))
9672 (sha256
9673 (base32
9674 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9675 (build-system asdf-build-system/sbcl)
9676 (inputs
9677 `(("blackbird" ,sbcl-blackbird)))
9678 (native-inputs
9679 `(("cl-async" ,sbcl-cl-async)
9680 ("eos" ,sbcl-eos)))
9681 (synopsis "Futures implementation for Common Lisp")
9682 (description
9683 "This is futures implementation for Common Lisp. It plugs in nicely
9684 to cl-async.")
9685 (home-page "https://orthecreedence.github.io/cl-async/future")
9686 (license license:expat))))
9687
9688 (define-public cl-async-future
9689 (sbcl-package->cl-source-package sbcl-cl-async-future))
9690
9691 (define-public ecl-cl-async-future
9692 (sbcl-package->ecl-package sbcl-cl-async-future))
9693
9694 (define-public sbcl-green-threads
9695 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9696 (revision "1"))
9697 (package
9698 (name "sbcl-green-threads")
9699 (version (git-version "0.3" revision commit))
9700 (source
9701 (origin
9702 (method git-fetch)
9703 (uri (git-reference
9704 (url "https://github.com/thezerobit/green-threads.git")
9705 (commit commit)))
9706 (file-name (git-file-name name version))
9707 (sha256
9708 (base32
9709 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9710 (build-system asdf-build-system/sbcl)
9711 (inputs
9712 `(("cl-async-future" ,sbcl-cl-async-future)
9713 ("cl-cont" ,sbcl-cl-cont)))
9714 (native-inputs
9715 `(("prove" ,sbcl-prove)))
9716 (arguments
9717 `(;; TODO: Fix the tests. They fail with:
9718 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9719 #:tests? #f
9720 #:phases
9721 (modify-phases %standard-phases
9722 (add-after 'unpack 'fix-tests
9723 (lambda _
9724 (substitute* "green-threads-test.asd"
9725 (("cl-test-more")
9726 "prove"))
9727 #t)))))
9728 (synopsis "Cooperative multitasking library for Common Lisp")
9729 (description
9730 "This library allows for cooperative multitasking with help of cl-cont
9731 for continuations. It tries to mimic the API of bordeaux-threads as much as
9732 possible.")
9733 (home-page "https://github.com/thezerobit/green-threads")
9734 (license license:bsd-3))))
9735
9736 (define-public cl-green-threads
9737 (sbcl-package->cl-source-package sbcl-green-threads))
9738
9739 (define-public ecl-green-threads
9740 (sbcl-package->ecl-package sbcl-green-threads))
9741
9742 (define-public sbcl-cl-base32
9743 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9744 (revision "1"))
9745 (package
9746 (name "sbcl-cl-base32")
9747 (version (git-version "0.1" revision commit))
9748 (source
9749 (origin
9750 (method git-fetch)
9751 (uri (git-reference
9752 (url "https://github.com/hargettp/cl-base32.git")
9753 (commit commit)))
9754 (file-name (git-file-name name version))
9755 (sha256
9756 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9757 (build-system asdf-build-system/sbcl)
9758 (native-inputs
9759 `(("lisp-unit" ,sbcl-lisp-unit)))
9760 (synopsis "Common Lisp library for base32 encoding and decoding")
9761 (description
9762 "This package provides functions for base32 encoding and decoding as
9763 defined in RFC4648.")
9764 (home-page "https://github.com/hargettp/cl-base32")
9765 (license license:expat))))
9766
9767 (define-public cl-base32
9768 (sbcl-package->cl-source-package sbcl-cl-base32))
9769
9770 (define-public ecl-cl-base32
9771 (sbcl-package->ecl-package sbcl-cl-base32))
9772
9773 (define-public sbcl-cl-z85
9774 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9775 (revision "1"))
9776 (package
9777 (name "sbcl-cl-z85")
9778 (version (git-version "1.0" revision commit))
9779 (source
9780 (origin
9781 (method git-fetch)
9782 (uri (git-reference
9783 (url "https://github.com/glv2/cl-z85.git")
9784 (commit commit)))
9785 (file-name (git-file-name name version))
9786 (sha256
9787 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9788 (build-system asdf-build-system/sbcl)
9789 (native-inputs
9790 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9791 ("fiveam" ,sbcl-fiveam)))
9792 (synopsis "Common Lisp library for Z85 encoding and decoding")
9793 (description
9794 "This package provides functions to encode or decode byte vectors or
9795 byte streams using the Z85 format, which is a base-85 encoding used by
9796 ZeroMQ.")
9797 (home-page "https://github.com/glv2/cl-z85")
9798 (license license:gpl3+))))
9799
9800 (define-public cl-z85
9801 (sbcl-package->cl-source-package sbcl-cl-z85))
9802
9803 (define-public ecl-cl-z85
9804 (sbcl-package->ecl-package sbcl-cl-z85))
9805
9806 (define-public sbcl-ltk
9807 (package
9808 (name "sbcl-ltk")
9809 (version "0.992")
9810 (source
9811 (origin
9812 (method git-fetch)
9813 (uri (git-reference
9814 (url "https://github.com/herth/ltk.git")
9815 (commit version)))
9816 (file-name (git-file-name name version))
9817 (sha256
9818 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9819 (build-system asdf-build-system/sbcl)
9820 (inputs
9821 `(("imagemagick" ,imagemagick)
9822 ("tk" ,tk)))
9823 (arguments
9824 `(#:asd-file "ltk/ltk.asd"
9825 #:tests? #f
9826 #:phases (modify-phases %standard-phases
9827 (add-after 'unpack 'fix-paths
9828 (lambda* (#:key inputs #:allow-other-keys)
9829 (substitute* "ltk/ltk.lisp"
9830 (("#-freebsd \"wish\"")
9831 (string-append "#-freebsd \""
9832 (assoc-ref inputs "tk")
9833 "/bin/wish\""))
9834 (("do-execute \"convert\"")
9835 (string-append "do-execute \""
9836 (assoc-ref inputs "imagemagick")
9837 "/bin/convert\"")))
9838 #t)))))
9839 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9840 (description
9841 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9842 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9843 (home-page "http://www.peter-herth.de/ltk/")
9844 (license license:llgpl)))
9845
9846 (define-public cl-ltk
9847 (sbcl-package->cl-source-package sbcl-ltk))
9848
9849 (define-public ecl-ltk
9850 (sbcl-package->ecl-package sbcl-ltk))
9851
9852 (define-public sbcl-ltk-mw
9853 (package
9854 (inherit sbcl-ltk)
9855 (name "sbcl-ltk-mw")
9856 (inputs
9857 `(("ltk" ,sbcl-ltk)))
9858 (arguments
9859 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9860 ((#:asd-file _) "ltk/ltk-mw.asd")
9861 ((#:phases _) '%standard-phases)))
9862 (synopsis "Extra widgets for LTK")
9863 (description
9864 "This is a collection of higher-level widgets built on top of LTK.")))
9865
9866 (define-public cl-ltk-mw
9867 (sbcl-package->cl-source-package sbcl-ltk-mw))
9868
9869 (define-public ecl-ltk-mw
9870 (sbcl-package->ecl-package sbcl-ltk-mw))
9871
9872 (define-public sbcl-ltk-remote
9873 (package
9874 (inherit sbcl-ltk)
9875 (name "sbcl-ltk-remote")
9876 (inputs
9877 `(("ltk" ,sbcl-ltk)))
9878 (arguments
9879 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9880 ((#:asd-file _) "ltk/ltk-remote.asd")
9881 ((#:phases _) '%standard-phases)))
9882 (synopsis "Remote GUI support for LTK")
9883 (description
9884 "This LTK extension allows the GUI to be displayed on a computer different
9885 from the one running the Lisp program by using a TCP connection.")))
9886
9887 (define-public cl-ltk-remote
9888 (sbcl-package->cl-source-package sbcl-ltk-remote))
9889
9890 (define-public sbcl-cl-lex
9891 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9892 (revision "1"))
9893 (package
9894 (name "sbcl-cl-lex")
9895 (version (git-version "1.1.3" revision commit))
9896 (source
9897 (origin
9898 (method git-fetch)
9899 (uri (git-reference
9900 (url "https://github.com/djr7C4/cl-lex.git")
9901 (commit commit)))
9902 (file-name (git-file-name name version))
9903 (sha256
9904 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9905 (build-system asdf-build-system/sbcl)
9906 (inputs
9907 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9908 (synopsis "Common Lisp macros for generating lexical analyzers")
9909 (description
9910 "This is a Common Lisp library providing a set of macros for generating
9911 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9912 be used with @code{cl-yacc}.")
9913 (home-page "https://github.com/djr7C4/cl-lex")
9914 (license license:gpl3))))
9915
9916 (define-public cl-lex
9917 (sbcl-package->cl-source-package sbcl-cl-lex))
9918
9919 (define-public ecl-cl-lex
9920 (sbcl-package->ecl-package sbcl-cl-lex))
9921
9922 (define-public sbcl-clunit2
9923 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9924 (revision "1"))
9925 (package
9926 (name "sbcl-clunit2")
9927 (version (git-version "0.2.4" revision commit))
9928 (source
9929 (origin
9930 (method git-fetch)
9931 (uri (git-reference
9932 (url "https://notabug.org/cage/clunit2.git")
9933 (commit commit)))
9934 (file-name (git-file-name name version))
9935 (sha256
9936 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9937 (build-system asdf-build-system/sbcl)
9938 (synopsis "Unit testing framework for Common Lisp")
9939 (description
9940 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9941 easy to use so that you can quickly start testing.")
9942 (home-page "https://notabug.org/cage/clunit2")
9943 (license license:expat))))
9944
9945 (define-public cl-clunit2
9946 (sbcl-package->cl-source-package sbcl-clunit2))
9947
9948 (define-public ecl-clunit2
9949 (sbcl-package->ecl-package sbcl-clunit2))
9950
9951 (define-public sbcl-cl-colors2
9952 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9953 (revision "1"))
9954 (package
9955 (name "sbcl-cl-colors2")
9956 (version (git-version "0.2.1" revision commit))
9957 (source
9958 (origin
9959 (method git-fetch)
9960 (uri (git-reference
9961 (url "https://notabug.org/cage/cl-colors2.git")
9962 (commit commit)))
9963 (file-name (git-file-name name version))
9964 (sha256
9965 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9966 (build-system asdf-build-system/sbcl)
9967 (native-inputs
9968 `(("clunit2" ,sbcl-clunit2)))
9969 (inputs
9970 `(("alexandria" ,sbcl-alexandria)
9971 ("cl-ppcre" ,sbcl-cl-ppcre)))
9972 (synopsis "Color library for Common Lisp")
9973 (description
9974 "This is a very simple color library for Common Lisp, providing:
9975
9976 @itemize
9977 @item Types for representing colors in HSV and RGB spaces.
9978 @item Simple conversion functions between the above types (and also
9979 hexadecimal representation for RGB).
9980 @item Some predefined colors (currently X11 color names -- of course
9981 the library does not depend on X11).
9982 @end itemize\n")
9983 (home-page "https://notabug.org/cage/cl-colors2")
9984 (license license:boost1.0))))
9985
9986 (define-public cl-colors2
9987 (sbcl-package->cl-source-package sbcl-cl-colors2))
9988
9989 (define-public ecl-cl-colors2
9990 (sbcl-package->ecl-package sbcl-cl-colors2))
9991
9992 (define-public sbcl-cl-jpeg
9993 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9994 (revision "1"))
9995 (package
9996 (name "sbcl-cl-jpeg")
9997 (version (git-version "2.8" revision commit))
9998 (source
9999 (origin
10000 (method git-fetch)
10001 (uri (git-reference
10002 (url "https://github.com/sharplispers/cl-jpeg.git")
10003 (commit commit)))
10004 (file-name (git-file-name name version))
10005 (sha256
10006 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10007 (build-system asdf-build-system/sbcl)
10008 (synopsis "JPEG image library for Common Lisp")
10009 (description
10010 "This is a baseline JPEG codec written in Common Lisp. It can be used
10011 for reading and writing JPEG image files.")
10012 (home-page "https://github.com/sharplispers/cl-jpeg")
10013 (license license:bsd-3))))
10014
10015 (define-public cl-jpeg
10016 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10017
10018 (define-public ecl-cl-jpeg
10019 (sbcl-package->ecl-package sbcl-cl-jpeg))
10020
10021 (define-public sbcl-nodgui
10022 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10023 (revision "1"))
10024 (package
10025 (name "sbcl-nodgui")
10026 (version (git-version "0.0.5" revision commit))
10027 (source
10028 (origin
10029 (method git-fetch)
10030 (uri (git-reference
10031 (url "https://notabug.org/cage/nodgui.git")
10032 (commit commit)))
10033 (file-name (git-file-name name version))
10034 (sha256
10035 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10036 (build-system asdf-build-system/sbcl)
10037 (inputs
10038 `(("alexandria" ,sbcl-alexandria)
10039 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10040 ("cl-colors2" ,sbcl-cl-colors2)
10041 ("cl-jpeg" ,sbcl-cl-jpeg)
10042 ("cl-lex" ,sbcl-cl-lex)
10043 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10044 ("cl-unicode" ,sbcl-cl-unicode)
10045 ("cl-yacc" ,sbcl-cl-yacc)
10046 ("clunit2" ,sbcl-clunit2)
10047 ("named-readtables" ,sbcl-named-readtables)
10048 ("parse-number" ,sbcl-parse-number)
10049 ("tk" ,tk)))
10050 (arguments
10051 `(#:phases (modify-phases %standard-phases
10052 (add-after 'unpack 'fix-paths
10053 (lambda* (#:key inputs #:allow-other-keys)
10054 (substitute* "src/wish-communication.lisp"
10055 (("#-freebsd \"wish\"")
10056 (string-append "#-freebsd \""
10057 (assoc-ref inputs "tk")
10058 "/bin/wish\"")))
10059 #t)))))
10060 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10061 (description
10062 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10063 toolkit. It also provides a few additional widgets more than the standard Tk
10064 ones.")
10065 (home-page "https://www.autistici.org/interzona/nodgui.html")
10066 (license license:llgpl))))
10067
10068 (define-public cl-nodgui
10069 (sbcl-package->cl-source-package sbcl-nodgui))
10070
10071 (define-public ecl-nodgui
10072 (sbcl-package->ecl-package sbcl-nodgui))
10073
10074 (define-public sbcl-salza2
10075 (package
10076 (name "sbcl-salza2")
10077 (version "2.0.9")
10078 (source
10079 (origin
10080 (method git-fetch)
10081 (uri (git-reference
10082 (url "https://github.com/xach/salza2.git")
10083 (commit (string-append "release-" version))))
10084 (file-name (git-file-name name version))
10085 (sha256
10086 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10087 (build-system asdf-build-system/sbcl)
10088 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10089 (description
10090 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10091 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10092 respectively.")
10093 (home-page "https://www.xach.com/lisp/salza2/")
10094 (license license:bsd-2)))
10095
10096 (define-public cl-salza2
10097 (sbcl-package->cl-source-package sbcl-salza2))
10098
10099 (define-public ecl-salza2
10100 (sbcl-package->ecl-package sbcl-salza2))
10101
10102 (define-public sbcl-png-read
10103 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10104 (revision "1"))
10105 (package
10106 (name "sbcl-png-read")
10107 (version (git-version "0.3.1" revision commit))
10108 (source
10109 (origin
10110 (method git-fetch)
10111 (uri (git-reference
10112 (url "https://github.com/Ramarren/png-read.git")
10113 (commit commit)))
10114 (file-name (git-file-name name version))
10115 (sha256
10116 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10117 (build-system asdf-build-system/sbcl)
10118 (inputs
10119 `(("babel" ,sbcl-babel)
10120 ("chipz" ,sbcl-chipz)
10121 ("iterate" ,sbcl-iterate)))
10122 (synopsis "PNG decoder for Common Lisp")
10123 (description "This is a Common Lisp library for reading PNG images.")
10124 (home-page "https://github.com/Ramarren/png-read")
10125 (license license:bsd-3))))
10126
10127 (define-public cl-png-read
10128 (sbcl-package->cl-source-package sbcl-png-read))
10129
10130 (define-public ecl-png-read
10131 (sbcl-package->ecl-package sbcl-png-read))
10132
10133 (define-public sbcl-zpng
10134 (package
10135 (name "sbcl-zpng")
10136 (version "1.2.2")
10137 (source
10138 (origin
10139 (method git-fetch)
10140 (uri (git-reference
10141 (url "https://github.com/xach/zpng.git")
10142 (commit (string-append "release-" version))))
10143 (file-name (git-file-name name version))
10144 (sha256
10145 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10146 (build-system asdf-build-system/sbcl)
10147 (inputs
10148 `(("salza2" ,sbcl-salza2)))
10149 (synopsis "PNG encoder for Common Lisp")
10150 (description "This is a Common Lisp library for creating PNG images.")
10151 (home-page "https://www.xach.com/lisp/zpng/")
10152 (license license:bsd-2)))
10153
10154 (define-public cl-zpng
10155 (sbcl-package->cl-source-package sbcl-zpng))
10156
10157 (define-public ecl-zpng
10158 (sbcl-package->ecl-package sbcl-zpng))
10159
10160 (define-public sbcl-cl-qrencode
10161 (package
10162 (name "sbcl-cl-qrencode")
10163 (version "0.1.2")
10164 (source
10165 (origin
10166 (method git-fetch)
10167 (uri (git-reference
10168 (url "https://github.com/jnjcc/cl-qrencode.git")
10169 (commit (string-append "v" version))))
10170 (file-name (git-file-name name version))
10171 (sha256
10172 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10173 (build-system asdf-build-system/sbcl)
10174 (native-inputs
10175 `(("lisp-unit" ,sbcl-lisp-unit)))
10176 (inputs
10177 `(("zpng" ,sbcl-zpng)))
10178 (synopsis "QR code encoder for Common Lisp")
10179 (description
10180 "This Common Lisp library provides function to make QR codes and to save
10181 them as PNG files.")
10182 (home-page "https://github.com/jnjcc/cl-qrencode")
10183 (license license:gpl2+)))
10184
10185 (define-public cl-qrencode
10186 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10187
10188 (define-public ecl-cl-qrencode
10189 (sbcl-package->ecl-package sbcl-cl-qrencode))
10190
10191 (define-public sbcl-hdf5-cffi
10192 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10193 (revision "1"))
10194 (package
10195 (name "sbcl-hdf5-cffi")
10196 (version (git-version "1.8.18" revision commit))
10197 (source
10198 (origin
10199 (method git-fetch)
10200 (uri (git-reference
10201 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10202 (commit commit)))
10203 (file-name (git-file-name name version))
10204 (sha256
10205 (base32
10206 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10207 (build-system asdf-build-system/sbcl)
10208 (synopsis "Common Lisp bindings for the HDF5 library")
10209 (description
10210 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10211 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10212 (license (license:non-copyleft
10213 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10214 commit
10215 "/LICENSE")))
10216 (inputs
10217 `(("cffi" ,sbcl-cffi)
10218 ("cffi-grovel" ,sbcl-cffi-grovel)
10219 ("hdf5" ,hdf5-1.10)))
10220 (native-inputs
10221 `(("fiveam" ,sbcl-fiveam)))
10222 (arguments
10223 `(#:asd-system-name "hdf5-cffi"
10224 #:asd-file "hdf5-cffi.asd"
10225 #:test-asd-file "hdf5-cffi.test.asd"
10226 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10227 ;; I don't know if there is a way to tell asdf-build-system to load
10228 ;; an additional system first, so tests are disabled.
10229 #:tests? #f
10230 #:phases
10231 (modify-phases %standard-phases
10232 (add-after 'unpack 'fix-paths
10233 (lambda* (#:key inputs #:allow-other-keys)
10234 (substitute* "src/library.lisp"
10235 (("libhdf5.so")
10236 (string-append
10237 (assoc-ref inputs "hdf5")
10238 "/lib/libhdf5.so")))))
10239 (add-after 'unpack 'fix-dependencies
10240 (lambda* (#:key inputs #:allow-other-keys)
10241 (substitute* "hdf5-cffi.asd"
10242 ((":depends-on \\(:cffi\\)")
10243 ":depends-on (:cffi :cffi-grovel)"))
10244 (substitute* "hdf5-cffi.test.asd"
10245 ((":depends-on \\(:cffi :hdf5-cffi")
10246 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10247
10248 (define-public cl-hdf5-cffi
10249 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10250
10251 (define-public ecl-hdf5-cffi
10252 (sbcl-package->ecl-package sbcl-hdf5-cffi))
10253
10254 (define-public sbcl-cl-randist
10255 (package
10256 (name "sbcl-cl-randist")
10257 (version "0.4.2")
10258 (source
10259 (origin
10260 (method git-fetch)
10261 (uri (git-reference
10262 (url "https://github.com/lvaruzza/cl-randist.git")
10263 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10264 (file-name (git-file-name name version))
10265 (sha256
10266 (base32
10267 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10268 (build-system asdf-build-system/sbcl)
10269 (synopsis "Random distributions for Common Lisp")
10270 (description
10271 "Manual translation from C to Common Lisp of some random number
10272 generation functions from the GSL library.")
10273 (home-page "https://github.com/lvaruzza/cl-randist")
10274 (license license:bsd-2)
10275 (arguments
10276 `(#:asd-system-name "cl-randist"
10277 #:asd-file "cl-randist.asd"
10278 #:tests? #f))))
10279
10280 (define-public cl-randist
10281 (sbcl-package->cl-source-package sbcl-cl-randist))
10282
10283 (define-public ecl-cl-randist
10284 (sbcl-package->ecl-package sbcl-cl-randist))
10285
10286 (define-public sbcl-float-features
10287 (package
10288 (name "sbcl-float-features")
10289 (version "1.0.0")
10290 (source
10291 (origin
10292 (method git-fetch)
10293 (uri (git-reference
10294 (url "https://github.com/Shinmera/float-features.git")
10295 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10296 (file-name (git-file-name name version))
10297 (sha256
10298 (base32
10299 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10300 (build-system asdf-build-system/sbcl)
10301 (synopsis "Common Lisp IEEE float portability library")
10302 (description
10303 "Portability library for IEEE float features that are not
10304 covered by the Common Lisp standard.")
10305 (home-page "https://github.com/Shinmera/float-features")
10306 (license license:zlib)
10307 (inputs
10308 `(("documentation-utils" ,sbcl-documentation-utils)))
10309 (arguments
10310 `(#:asd-system-name "float-features"
10311 #:asd-file "float-features.asd"
10312 #:tests? #f))))
10313
10314 (define-public cl-float-features
10315 (sbcl-package->cl-source-package sbcl-float-features))
10316
10317 (define-public ecl-float-features
10318 (sbcl-package->ecl-package sbcl-float-features))
10319
10320 (define-public sbcl-function-cache
10321 (package
10322 (name "sbcl-function-cache")
10323 (version "1.0.3")
10324 (source
10325 (origin
10326 (method git-fetch)
10327 (uri (git-reference
10328 (url "https://github.com/AccelerationNet/function-cache.git")
10329 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10330 (file-name (git-file-name name version))
10331 (sha256
10332 (base32
10333 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10334 (build-system asdf-build-system/sbcl)
10335 (synopsis "Function caching / memoization library for Common Lisp")
10336 (description
10337 "A common lisp library that provides extensible function result
10338 caching based on arguments (an expanded form of memoization).")
10339 (home-page "https://github.com/AccelerationNet/function-cache")
10340 (license
10341 (license:non-copyleft
10342 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10343 (inputs
10344 `(("alexandria" ,sbcl-alexandria)
10345 ("cl-interpol" ,sbcl-cl-interpol)
10346 ("iterate" ,sbcl-iterate)
10347 ("symbol-munger" ,sbcl-symbol-munger)
10348 ("closer-mop" ,sbcl-closer-mop)))
10349 (arguments
10350 `(#:asd-system-name "function-cache"
10351 #:asd-file "function-cache.asd"
10352 #:tests? #f))))
10353
10354 (define-public cl-function-cache
10355 (sbcl-package->cl-source-package sbcl-function-cache))
10356
10357 (define-public ecl-function-cache
10358 (sbcl-package->ecl-package sbcl-function-cache))
10359
10360 (define-public sbcl-type-r
10361 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10362 (revision "1"))
10363 (package
10364 (name "sbcl-type-r")
10365 (version (git-version "0.0.0" revision commit))
10366 (source
10367 (origin
10368 (method git-fetch)
10369 (uri (git-reference
10370 (url "https://github.com/guicho271828/type-r.git")
10371 (commit commit)))
10372 (file-name (git-file-name name version))
10373 (sha256
10374 (base32
10375 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10376 (build-system asdf-build-system/sbcl)
10377 (synopsis "Parser interface for Common Lisp built-in compound types")
10378 (description
10379 "Collections of accessor functions and patterns to access
10380 the elements in compound type specifier, e.g. @code{dimensions} in
10381 @code{(array element-type dimensions)}")
10382 (home-page "https://github.com/guicho271828/type-r")
10383 (license license:lgpl3+)
10384 (inputs
10385 `(("trivia" ,sbcl-trivia)
10386 ("alexandria" ,sbcl-alexandria)))
10387 (native-inputs
10388 `(("fiveam" ,sbcl-fiveam)))
10389 (arguments
10390 `(#:asd-system-name "type-r"
10391 #:asd-file "type-r.asd"
10392 #:test-asd-file "type-r.test.asd")))))
10393
10394 (define-public cl-type-r
10395 (sbcl-package->cl-source-package sbcl-type-r))
10396
10397 (define-public sbcl-trivialib-type-unify
10398 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10399 (revision "1"))
10400 (package
10401 (name "sbcl-trivialib-type-unify")
10402 (version (git-version "0.1" revision commit))
10403 (source
10404 (origin
10405 (method git-fetch)
10406 (uri (git-reference
10407 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10408 (commit commit)))
10409 (file-name (git-file-name name version))
10410 (sha256
10411 (base32
10412 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10413 (build-system asdf-build-system/sbcl)
10414 (synopsis "Common Lisp type unification")
10415 (description
10416 "Unifies a parametrized type specifier against an actual type specifier.
10417 Importantly, it handles complicated array-subtypes and number-related types
10418 correctly.")
10419 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10420 (license license:lgpl3+)
10421 (inputs
10422 `(("alexandria" ,sbcl-alexandria)
10423 ("trivia" ,sbcl-trivia)
10424 ("introspect-environment" ,sbcl-introspect-environment)
10425 ("type-r" ,sbcl-type-r)))
10426 (native-inputs
10427 `(("fiveam" ,sbcl-fiveam)))
10428 (arguments
10429 `(#:asd-system-name "trivialib.type-unify"
10430 #:asd-file "trivialib.type-unify.asd"
10431 #:test-asd-file "trivialib.type-unify.test.asd")))))
10432
10433 (define-public cl-trivialib-type-unify
10434 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
10435
10436 (define-public sbcl-specialized-function
10437 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10438 (revision "1"))
10439 (package
10440 (name "sbcl-specialized-function")
10441 (version (git-version "0.0.0" revision commit))
10442 (source
10443 (origin
10444 (method git-fetch)
10445 (uri (git-reference
10446 (url "https://github.com/numcl/specialized-function.git")
10447 (commit commit)))
10448 (file-name (git-file-name name version))
10449 (sha256
10450 (base32
10451 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10452 (build-system asdf-build-system/sbcl)
10453 (synopsis "Julia-like dispatch for Common Lisp")
10454 (description
10455 "This library is part of NUMCL. It provides a macro
10456 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10457 lazily compiling a type-specific version of the function from the same
10458 code. The main target of this macro is speed.")
10459 (home-page "https://github.com/numcl/specialized-function")
10460 (license license:lgpl3+)
10461 (inputs
10462 `(("trivia" ,sbcl-trivia)
10463 ("alexandria" ,sbcl-alexandria)
10464 ("iterate" ,sbcl-iterate)
10465 ("lisp-namespace" ,sbcl-lisp-namespace)
10466 ("type-r" ,sbcl-type-r)
10467 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10468 (native-inputs
10469 `(("fiveam" ,sbcl-fiveam)))
10470 (arguments
10471 `(#:asd-system-name "specialized-function"
10472 #:asd-file "specialized-function.asd"
10473 #:test-asd-file "specialized-function.test.asd")))))
10474
10475 (define-public cl-specialized-function
10476 (sbcl-package->cl-source-package sbcl-specialized-function))
10477
10478 (define-public sbcl-constantfold
10479 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10480 (revision "1"))
10481 (package
10482 (name "sbcl-constantfold")
10483 (version (git-version "0.1" revision commit))
10484 (source
10485 (origin
10486 (method git-fetch)
10487 (uri (git-reference
10488 (url "https://github.com/numcl/constantfold.git")
10489 (commit commit)))
10490 (file-name (git-file-name name version))
10491 (sha256
10492 (base32
10493 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10494 (build-system asdf-build-system/sbcl)
10495 (synopsis "Support library for numcl")
10496 (description
10497 "Support library for numcl. Registers a function as an
10498 additional form that is considered as a candidate for a constant.")
10499 (home-page "https://github.com/numcl/constantfold")
10500 (license license:lgpl3+)
10501 (inputs
10502 `(("trivia" ,sbcl-trivia)
10503 ("alexandria" ,sbcl-alexandria)
10504 ("iterate" ,sbcl-iterate)
10505 ("lisp-namespace" ,sbcl-lisp-namespace)))
10506 (native-inputs
10507 `(("fiveam" ,sbcl-fiveam)))
10508 (arguments
10509 `(#:asd-system-name "constantfold"
10510 #:asd-file "constantfold.asd"
10511 #:test-asd-file "constantfold.test.asd")))))
10512
10513 (define-public cl-constantfold
10514 (sbcl-package->cl-source-package sbcl-constantfold))
10515
10516 (define-public sbcl-gtype
10517 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10518 (revision "1"))
10519 (package
10520 (name "sbcl-gtype")
10521 (version (git-version "0.1" revision commit))
10522 (source
10523 (origin
10524 (method git-fetch)
10525 (uri (git-reference
10526 (url "https://github.com/numcl/gtype.git")
10527 (commit commit)))
10528 (file-name (git-file-name name version))
10529 (sha256
10530 (base32
10531 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10532 (build-system asdf-build-system/sbcl)
10533 (synopsis "C++/Julia-like parametric types in Common Lisp")
10534 (description
10535 "Support library for numcl that provides Julia-like runtime parametric
10536 type correctness in Common Lisp. It is based on CLtL2 extensions.")
10537 (home-page "https://github.com/numcl/gtype")
10538 (license license:lgpl3+)
10539 (inputs
10540 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10541 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10542 ("trivia" ,sbcl-trivia)
10543 ("alexandria" ,sbcl-alexandria)
10544 ("iterate" ,sbcl-iterate)
10545 ("type-r" ,sbcl-type-r)))
10546 (native-inputs
10547 `(("fiveam" ,sbcl-fiveam)))
10548 (arguments
10549 `(#:asd-system-name "gtype"
10550 #:asd-file "gtype.asd"
10551 #:test-asd-file "gtype.test.asd")))))
10552
10553 (define-public cl-gtype
10554 (sbcl-package->cl-source-package sbcl-gtype))
10555
10556 (define-public sbcl-numcl
10557 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10558 (revision "1"))
10559 (package
10560 (name "sbcl-numcl")
10561 (version (git-version "0.1.0" revision commit))
10562 (source
10563 (origin
10564 (method git-fetch)
10565 (uri (git-reference
10566 (url "https://github.com/numcl/numcl.git")
10567 (commit commit)))
10568 (file-name (git-file-name name version))
10569 (sha256
10570 (base32
10571 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10572 (build-system asdf-build-system/sbcl)
10573 (synopsis "Numpy clone in Common Lisp")
10574 (description
10575 "This is a Numpy clone in Common Lisp. At the moment the
10576 library is written in pure Common Lisp, focusing more on correctness
10577 and usefulness, not speed. Track the progress at
10578 @url{https://github.com/numcl/numcl/projects/1}.")
10579 (home-page "https://github.com/numcl/numcl")
10580 (license license:lgpl3+)
10581 (inputs
10582 `(("trivia" ,sbcl-trivia)
10583 ("alexandria" ,sbcl-alexandria)
10584 ("iterate" ,sbcl-iterate)
10585 ("lisp-namespace" ,sbcl-lisp-namespace)
10586 ("type-r" ,sbcl-type-r)
10587 ("constantfold" ,sbcl-constantfold)
10588 ("cl-randist" ,sbcl-cl-randist)
10589 ("float-features" ,sbcl-float-features)
10590 ("function-cache" ,sbcl-function-cache)
10591 ("specialized-function" ,sbcl-specialized-function)
10592 ("gtype" ,sbcl-gtype)))
10593 (native-inputs
10594 `(("fiveam" ,sbcl-fiveam)))
10595 (arguments
10596 `(#:asd-system-name "numcl"
10597 #:asd-file "numcl.asd"
10598 #:test-asd-file "numcl.test.asd")))))
10599
10600 (define-public cl-numcl
10601 (sbcl-package->cl-source-package sbcl-numcl))
10602
10603 (define-public sbcl-pzmq
10604 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10605 (revision "1"))
10606 (package
10607 (name "sbcl-pzmq")
10608 (version (git-version "0.0.0" revision commit))
10609 (source
10610 (origin
10611 (method git-fetch)
10612 (uri (git-reference
10613 (url "https://github.com/orivej/pzmq.git")
10614 (commit commit)))
10615 (file-name (git-file-name name version))
10616 (sha256
10617 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10618 (build-system asdf-build-system/sbcl)
10619 (native-inputs
10620 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10621 ("fiveam" ,sbcl-fiveam)
10622 ("let-plus" ,sbcl-let-plus)))
10623 (inputs
10624 `(("cffi" ,sbcl-cffi)
10625 ("cffi-grovel" ,sbcl-cffi-grovel)
10626 ("zeromq" ,zeromq)))
10627 (arguments
10628 `(#:phases (modify-phases %standard-phases
10629 (add-after 'unpack 'fix-paths
10630 (lambda* (#:key inputs #:allow-other-keys)
10631 (substitute* "c-api.lisp"
10632 (("\"libzmq")
10633 (string-append "\""
10634 (assoc-ref inputs "zeromq")
10635 "/lib/libzmq")))
10636 #t)))))
10637 (synopsis "Common Lisp bindings for the ZeroMQ library")
10638 (description "This Common Lisp library provides bindings for the ZeroMQ
10639 lightweight messaging kernel.")
10640 (home-page "https://github.com/orivej/pzmq")
10641 (license license:unlicense))))
10642
10643 (define-public cl-pzmq
10644 (sbcl-package->cl-source-package sbcl-pzmq))
10645
10646 (define-public ecl-pzmq
10647 (sbcl-package->ecl-package sbcl-pzmq))