gnu: Add clack-handler-fcgi.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5 ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6 ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
7 ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
8 ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
10 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11 ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13 ;;; Copyright © 2018, 2020 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 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
21 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
22 ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
23 ;;;
24 ;;; This file is part of GNU Guix.
25 ;;;
26 ;;; GNU Guix is free software; you can redistribute it and/or modify it
27 ;;; under the terms of the GNU General Public License as published by
28 ;;; the Free Software Foundation; either version 3 of the License, or (at
29 ;;; your option) any later version.
30 ;;;
31 ;;; GNU Guix is distributed in the hope that it will be useful, but
32 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
33 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34 ;;; GNU General Public License for more details.
35 ;;;
36 ;;; You should have received a copy of the GNU General Public License
37 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
38
39 ;;; This file only contains Common Lisp libraries.
40 ;;; Common Lisp compilers and tooling go to lisp.scm.
41 ;;; Common Lisp applications should go to the most appropriate file,
42 ;;; e.g. StumpWM is in wm.scm.
43
44 (define-module (gnu packages lisp-xyz)
45 #:use-module (gnu packages)
46 #:use-module ((guix licenses) #:prefix license:)
47 #:use-module (guix packages)
48 #:use-module (guix download)
49 #:use-module (guix git-download)
50 #:use-module (guix hg-download)
51 #:use-module (guix utils)
52 #:use-module (guix build-system asdf)
53 #:use-module (guix build-system trivial)
54 #:use-module (gnu packages c)
55 #:use-module (gnu packages compression)
56 #:use-module (gnu packages databases)
57 #:use-module (gnu packages enchant)
58 #:use-module (gnu packages fonts)
59 #:use-module (gnu packages fontutils)
60 #:use-module (gnu packages glib)
61 #:use-module (gnu packages gtk)
62 #:use-module (gnu packages imagemagick)
63 #:use-module (gnu packages libevent)
64 #:use-module (gnu packages libffi)
65 #:use-module (gnu packages lisp)
66 #:use-module (gnu packages maths)
67 #:use-module (gnu packages networking)
68 #:use-module (gnu packages pkg-config)
69 #:use-module (gnu packages python)
70 #:use-module (gnu packages python-xyz)
71 #:use-module (gnu packages sqlite)
72 #:use-module (gnu packages tcl)
73 #:use-module (gnu packages tls)
74 #:use-module (gnu packages web)
75 #:use-module (gnu packages webkit)
76 #:use-module (gnu packages xdisorg)
77 #:use-module (ice-9 match)
78 #:use-module (srfi srfi-19))
79
80 (define-public sbcl-alexandria
81 (package
82 (name "sbcl-alexandria")
83 (version "1.1")
84 (source
85 (origin
86 (method git-fetch)
87 (uri (git-reference
88 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
89 (commit (string-append "v" version))))
90 (sha256
91 (base32
92 "1zanb3xa98js0i66iqcmx3gp123p1m2d1fxn8d7bfzyfad5f6xn2"))
93 (file-name (git-file-name name version))))
94 (build-system asdf-build-system/sbcl)
95 (native-inputs
96 `(("rt" ,sbcl-rt)))
97 (synopsis "Collection of portable utilities for Common Lisp")
98 (description
99 "Alexandria is a collection of portable utilities. It does not contain
100 conceptual extensions to Common Lisp. It is conservative in scope, and
101 portable between implementations.")
102 (home-page "https://common-lisp.net/project/alexandria/")
103 (license license:public-domain)))
104
105 (define-public cl-alexandria
106 (sbcl-package->cl-source-package sbcl-alexandria))
107
108 (define-public ecl-alexandria
109 (sbcl-package->ecl-package sbcl-alexandria))
110
111 (define-public sbcl-net.didierverna.asdf-flv
112 (package
113 (name "sbcl-net.didierverna.asdf-flv")
114 (version "2.1")
115 (source
116 (origin
117 (method git-fetch)
118 (uri (git-reference
119 (url "https://github.com/didierverna/asdf-flv")
120 (commit (string-append "version-" version))))
121 (file-name (git-file-name "asdf-flv" version))
122 (sha256
123 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
124 (build-system asdf-build-system/sbcl)
125 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
126 (description "ASDF-FLV provides support for file-local variables through
127 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
128 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
129 dynamic binding is created before processing the file, so that any
130 modification to the variable becomes essentially file-local.
131
132 In order to make one or several variables file-local, use the macros
133 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
134 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
135 (license (license:non-copyleft
136 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
137 "GNU All-Permissive License"))))
138
139 (define-public cl-net.didierverna.asdf-flv
140 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
141
142 (define-public ecl-net.didierverna.asdf-flv
143 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
144
145 (define-public sbcl-fiveam
146 (package
147 (name "sbcl-fiveam")
148 (version "1.4.1")
149 (source
150 (origin
151 (method git-fetch)
152 (uri (git-reference
153 (url "https://github.com/sionescu/fiveam")
154 (commit (string-append "v" version))))
155 (file-name (git-file-name "fiveam" version))
156 (sha256
157 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
158 (inputs
159 `(("alexandria" ,sbcl-alexandria)
160 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
161 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
162 (build-system asdf-build-system/sbcl)
163 (synopsis "Common Lisp testing framework")
164 (description "FiveAM is a simple (as far as writing and running tests
165 goes) regression testing framework. It has been designed with Common Lisp's
166 interactive development model in mind.")
167 (home-page "https://common-lisp.net/project/fiveam/")
168 (license license:bsd-3)))
169
170 (define-public cl-fiveam
171 (sbcl-package->cl-source-package sbcl-fiveam))
172
173 (define-public ecl-fiveam
174 (sbcl-package->ecl-package sbcl-fiveam))
175
176 (define-public sbcl-bordeaux-threads
177 (package
178 (name "sbcl-bordeaux-threads")
179 (version "0.8.8")
180 (source (origin
181 (method git-fetch)
182 (uri (git-reference
183 (url "https://github.com/sionescu/bordeaux-threads")
184 (commit (string-append "v" version))))
185 (sha256
186 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
187 (file-name
188 (git-file-name "bordeaux-threads" version))))
189 (inputs `(("alexandria" ,sbcl-alexandria)))
190 (native-inputs `(("fiveam" ,sbcl-fiveam)))
191 (build-system asdf-build-system/sbcl)
192 (synopsis "Portable shared-state concurrency library for Common Lisp")
193 (description "BORDEAUX-THREADS is a proposed standard for a minimal
194 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
195 support.")
196 (home-page "https://common-lisp.net/project/bordeaux-threads/")
197 (license license:x11)))
198
199 (define-public cl-bordeaux-threads
200 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
201
202 (define-public ecl-bordeaux-threads
203 (sbcl-package->ecl-package sbcl-bordeaux-threads))
204
205 (define-public sbcl-trivial-gray-streams
206 (let ((revision "1")
207 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
208 (package
209 (name "sbcl-trivial-gray-streams")
210 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
211 (source
212 (origin
213 (method git-fetch)
214 (uri
215 (git-reference
216 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
217 (commit commit)))
218 (sha256
219 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
220 (file-name
221 (string-append "trivial-gray-streams-" version "-checkout"))))
222 (build-system asdf-build-system/sbcl)
223 (synopsis "Compatibility layer for Gray streams implementations")
224 (description "Gray streams is an interface proposed for inclusion with
225 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
226 popular CL implementations implement it. This package provides an extremely
227 thin compatibility layer for gray streams.")
228 (home-page "https://www.cliki.net/trivial-gray-streams")
229 (license license:x11))))
230
231 (define-public cl-trivial-gray-streams
232 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
233
234 (define-public ecl-trivial-gray-streams
235 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
236
237 (define-public sbcl-fiasco
238 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
239 (revision "1"))
240 (package
241 (name "sbcl-fiasco")
242 (version (git-version "0.0.1" revision commit))
243 (source
244 (origin
245 (method git-fetch)
246 (uri (git-reference
247 (url "https://github.com/joaotavora/fiasco")
248 (commit commit)))
249 (file-name (git-file-name "fiasco" version))
250 (sha256
251 (base32
252 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
253 (build-system asdf-build-system/sbcl)
254 (inputs
255 `(("alexandria" ,sbcl-alexandria)
256 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
257 (synopsis "Simple and powerful test framework for Common Lisp")
258 (description "A Common Lisp test framework that treasures your failures,
259 logical continuation of Stefil. It focuses on interactive debugging.")
260 (home-page "https://github.com/joaotavora/fiasco")
261 ;; LICENCE specifies this is public-domain unless the legislation
262 ;; doesn't allow or recognize it. In that case it falls back to a
263 ;; permissive licence.
264 (license (list license:public-domain
265 (license:x11-style "file://LICENCE"))))))
266
267 (define-public cl-fiasco
268 (sbcl-package->cl-source-package sbcl-fiasco))
269
270 (define-public ecl-fiasco
271 (sbcl-package->ecl-package sbcl-fiasco))
272
273 (define-public sbcl-flexi-streams
274 (package
275 (name "sbcl-flexi-streams")
276 (version "1.0.18")
277 (source
278 (origin
279 (method git-fetch)
280 (uri (git-reference
281 (url "https://github.com/edicl/flexi-streams")
282 (commit (string-append "v" version))))
283 (file-name (git-file-name "flexi-streams" version))
284 (sha256
285 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
286 (build-system asdf-build-system/sbcl)
287 (arguments
288 `(#:phases
289 (modify-phases %standard-phases
290 (add-after 'unpack 'make-git-checkout-writable
291 (lambda _
292 (for-each make-file-writable (find-files "."))
293 #t)))))
294 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
295 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
296 (description "Flexi-streams is an implementation of \"virtual\" bivalent
297 streams that can be layered atop real binary or bivalent streams and that can
298 be used to read and write character data in various single- or multi-octet
299 encodings which can be changed on the fly. It also supplies in-memory binary
300 streams which are similar to string streams.")
301 (home-page "http://weitz.de/flexi-streams/")
302 (license license:bsd-3)))
303
304 (define-public cl-flexi-streams
305 (sbcl-package->cl-source-package sbcl-flexi-streams))
306
307 (define-public ecl-flexi-streams
308 (sbcl-package->ecl-package sbcl-flexi-streams))
309
310 (define-public sbcl-cl-ppcre
311 (package
312 (name "sbcl-cl-ppcre")
313 (version "2.1.1")
314 (source
315 (origin
316 (method git-fetch)
317 (uri (git-reference
318 (url "https://github.com/edicl/cl-ppcre")
319 (commit (string-append "v" version))))
320 (file-name (git-file-name "cl-ppcre" version))
321 (sha256
322 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
323 (build-system asdf-build-system/sbcl)
324 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
325 (synopsis "Portable regular expression library for Common Lisp")
326 (description "CL-PPCRE is a portable regular expression library for Common
327 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
328 compatible with ANSI-compliant Common Lisp implementations.")
329 (home-page "http://weitz.de/cl-ppcre/")
330 (license license:bsd-2)))
331
332 (define-public cl-ppcre
333 (sbcl-package->cl-source-package sbcl-cl-ppcre))
334
335 (define-public ecl-cl-ppcre
336 (sbcl-package->ecl-package sbcl-cl-ppcre))
337
338 (define sbcl-cl-unicode-base
339 (package
340 (name "sbcl-cl-unicode-base")
341 (version "0.1.6")
342 (source (origin
343 (method git-fetch)
344 (uri (git-reference
345 (url "https://github.com/edicl/cl-unicode")
346 (commit (string-append "v" version))))
347 (file-name (git-file-name name version))
348 (sha256
349 (base32
350 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
351 (build-system asdf-build-system/sbcl)
352 (arguments
353 '(#:asd-file "cl-unicode.asd"
354 #:asd-system-name "cl-unicode/base"))
355 (inputs
356 `(("cl-ppcre" ,sbcl-cl-ppcre)))
357 (home-page "http://weitz.de/cl-unicode/")
358 (synopsis "Portable Unicode library for Common Lisp")
359 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
360 is compatible with perl. It is pretty fast, thread-safe, and compatible with
361 ANSI-compliant Common Lisp implementations.")
362 (license license:bsd-2)))
363
364 (define-public sbcl-cl-unicode
365 (package
366 (inherit sbcl-cl-unicode-base)
367 (name "sbcl-cl-unicode")
368 (inputs
369 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
370 ,@(package-inputs sbcl-cl-unicode-base)))
371 (native-inputs
372 `(("flexi-streams" ,sbcl-flexi-streams)))
373 (arguments '())))
374
375 (define-public ecl-cl-unicode
376 (sbcl-package->ecl-package sbcl-cl-unicode))
377
378 (define-public cl-unicode
379 (sbcl-package->cl-source-package sbcl-cl-unicode))
380
381 (define-public sbcl-zpb-ttf
382 (package
383 (name "sbcl-zpb-ttf")
384 (version "1.0.3")
385 (source
386 (origin
387 (method git-fetch)
388 (uri (git-reference
389 (url "https://github.com/xach/zpb-ttf")
390 (commit (string-append "release-" version))))
391 (file-name (git-file-name name version))
392 (sha256
393 (base32
394 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
395 (build-system asdf-build-system/sbcl)
396 (home-page "https://github.com/xach/zpb-ttf")
397 (synopsis "TrueType font file access for Common Lisp")
398 (description
399 "ZPB-TTF is a TrueType font file parser that provides an interface for
400 reading typographic metrics, glyph outlines, and other information from the
401 file.")
402 (license license:bsd-2)))
403
404 (define-public ecl-zpb-ttf
405 (sbcl-package->ecl-package sbcl-zpb-ttf))
406
407 (define-public cl-zpb-ttf
408 (sbcl-package->cl-source-package sbcl-zpb-ttf))
409
410 (define-public sbcl-cl-aa
411 (package
412 (name "sbcl-cl-aa")
413 (version "0.1.5")
414 (source
415 (origin
416 (method url-fetch)
417 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
418 "files/cl-vectors-" version ".tar.gz"))
419 (sha256
420 (base32
421 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
422 (build-system asdf-build-system/sbcl)
423 (arguments '(#:asd-file "cl-aa.asd"))
424 (home-page "http://projects.tuxee.net/cl-vectors/")
425 (synopsis "Polygon rasterizer")
426 (description
427 "This is a Common Lisp library implementing the AA polygon rasterization
428 algorithm from the @url{http://antigrain.com, Antigrain} project.")
429 (license license:expat)))
430
431 (define-public ecl-cl-aa
432 (sbcl-package->ecl-package sbcl-cl-aa))
433
434 (define-public cl-aa
435 (sbcl-package->cl-source-package sbcl-cl-aa))
436
437 (define-public sbcl-cl-paths
438 (package
439 (inherit sbcl-cl-aa)
440 (name "sbcl-cl-paths")
441 (arguments '(#:asd-file "cl-paths.asd"))
442 (synopsis "Facilities to create and manipulate vectorial paths")
443 (description
444 "This package provides facilities to create and manipulate vectorial
445 paths.")))
446
447 (define-public ecl-cl-paths
448 (sbcl-package->ecl-package sbcl-cl-paths))
449
450 (define-public cl-paths
451 (sbcl-package->cl-source-package sbcl-cl-paths))
452
453 (define-public sbcl-cl-paths-ttf
454 (package
455 (inherit sbcl-cl-aa)
456 (name "sbcl-cl-paths-ttf")
457 (arguments '(#:asd-file "cl-paths-ttf.asd"))
458 (inputs
459 `(("cl-paths" ,sbcl-cl-paths)
460 ("zpb-ttf" ,sbcl-zpb-ttf)))
461 (synopsis "Facilities to create and manipulate vectorial paths")
462 (description
463 "This package provides facilities to create and manipulate vectorial
464 paths.")))
465
466 (define-public ecl-cl-paths-ttf
467 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
468
469 (define-public cl-paths-ttf
470 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
471
472 (define-public sbcl-cl-vectors
473 (package
474 (inherit sbcl-cl-aa)
475 (name "sbcl-cl-vectors")
476 (arguments '(#:asd-file "cl-vectors.asd"))
477 (inputs
478 `(("cl-aa" ,sbcl-cl-aa)
479 ("cl-paths" ,sbcl-cl-paths)))
480 (synopsis "Create, transform and render anti-aliased vectorial paths")
481 (description
482 "This is a pure Common Lisp library to create, transform and render
483 anti-aliased vectorial paths.")))
484
485 (define-public ecl-cl-vectors
486 (sbcl-package->ecl-package sbcl-cl-vectors))
487
488 (define-public cl-vectors
489 (sbcl-package->cl-source-package sbcl-cl-vectors))
490
491 (define-public sbcl-spatial-trees
492 ;; There have been no releases.
493 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
494 (revision "1"))
495 (package
496 (name "sbcl-spatial-trees")
497 (version (git-version "0" revision commit))
498 (source
499 (origin
500 (method git-fetch)
501 (uri (git-reference
502 (url "https://github.com/rpav/spatial-trees")
503 (commit commit)))
504 (file-name (git-file-name name version))
505 (sha256
506 (base32
507 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
508 (build-system asdf-build-system/sbcl)
509 (arguments
510 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
511 #:asd-file "spatial-trees.asd"
512 #:test-asd-file "spatial-trees.test.asd"))
513 (native-inputs
514 `(("fiveam" ,sbcl-fiveam)))
515 (home-page "https://github.com/rpav/spatial-trees")
516 (synopsis "Dynamic index data structures for spatially-extended data")
517 (description
518 "Spatial-trees is a set of dynamic index data structures for
519 spatially-extended data.")
520 (license license:bsd-3))))
521
522 (define-public ecl-spatial-trees
523 (sbcl-package->ecl-package sbcl-spatial-trees))
524
525 (define-public cl-spatial-trees
526 (sbcl-package->cl-source-package sbcl-spatial-trees))
527
528 (define-public sbcl-flexichain
529 ;; There are no releases.
530 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
531 (revision "1"))
532 (package
533 (name "sbcl-flexichain")
534 (version "1.5.1")
535 (source
536 (origin
537 (method git-fetch)
538 (uri (git-reference
539 (url "https://github.com/robert-strandh/Flexichain")
540 (commit commit)))
541 (file-name (git-file-name name version))
542 (sha256
543 (base32
544 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
545 (build-system asdf-build-system/sbcl)
546 (home-page "https://github.com/robert-strandh/Flexichain.git")
547 (synopsis "Dynamically add elements to or remove them from sequences")
548 (description
549 "This package provides an implementation of the flexichain protocol,
550 allowing client code to dynamically add elements to, and delete elements from
551 a sequence (or chain) of such elements.")
552 (license license:lgpl2.1+))))
553
554 (define-public ecl-flexichain
555 (sbcl-package->ecl-package sbcl-flexichain))
556
557 (define-public cl-flexichain
558 (sbcl-package->cl-source-package sbcl-flexichain))
559
560 (define-public sbcl-cl-pdf
561 ;; There are no releases
562 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
563 (revision "1"))
564 (package
565 (name "sbcl-cl-pdf")
566 (version (git-version "0" revision commit))
567 (source
568 (origin
569 (method git-fetch)
570 (uri (git-reference
571 (url "https://github.com/mbattyani/cl-pdf")
572 (commit commit)))
573 (file-name (git-file-name name version))
574 (sha256
575 (base32
576 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
577 (build-system asdf-build-system/sbcl)
578 (inputs
579 `(("iterate" ,sbcl-iterate)
580 ("zpb-ttf" ,sbcl-zpb-ttf)))
581 (home-page "https://github.com/mbattyani/cl-pdf")
582 (synopsis "Common Lisp library for generating PDF files")
583 (description
584 "CL-PDF is a cross-platform Common Lisp library for generating PDF
585 files.")
586 (license license:bsd-2))))
587
588 (define-public ecl-cl-pdf
589 (sbcl-package->ecl-package sbcl-cl-pdf))
590
591 (define-public cl-pdf
592 (sbcl-package->cl-source-package sbcl-cl-pdf))
593
594 (define-public sbcl-clx
595 (package
596 (name "sbcl-clx")
597 (version "0.7.5")
598 (source
599 (origin
600 (method git-fetch)
601 (uri
602 (git-reference
603 (url "https://github.com/sharplispers/clx")
604 (commit version)))
605 (sha256
606 (base32
607 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
608 (file-name (string-append "clx-" version))))
609 (build-system asdf-build-system/sbcl)
610 (native-inputs
611 `(("fiasco" ,sbcl-fiasco)))
612 (home-page "https://www.cliki.net/portable-clx")
613 (synopsis "X11 client library for Common Lisp")
614 (description "CLX is an X11 client library for Common Lisp. The code was
615 originally taken from a CMUCL distribution, was modified somewhat in order to
616 make it compile and run under SBCL, then a selection of patches were added
617 from other CLXes around the net.")
618 (license license:x11)))
619
620 (define-public cl-clx
621 (sbcl-package->cl-source-package sbcl-clx))
622
623 (define-public ecl-clx
624 (sbcl-package->ecl-package sbcl-clx))
625
626 (define-public sbcl-clx-truetype
627 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
628 (revision "1"))
629 (package
630 (name "sbcl-clx-truetype")
631 (version (git-version "0.0.1" revision commit))
632 (source
633 (origin
634 (method git-fetch)
635 (uri (git-reference
636 (url "https://github.com/l04m33/clx-truetype")
637 (commit commit)))
638 (file-name (git-file-name name version))
639 (sha256
640 (base32
641 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
642 (modules '((guix build utils)))
643 (snippet
644 '(begin
645 (substitute* "package.lisp"
646 ((":export") ":export\n :+font-cache-filename+"))
647 #t))))
648 (build-system asdf-build-system/sbcl)
649 (inputs
650 `(("clx" ,sbcl-clx)
651 ("zpb-ttf" ,sbcl-zpb-ttf)
652 ("cl-vectors" ,sbcl-cl-vectors)
653 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
654 ("cl-fad" ,sbcl-cl-fad)
655 ("cl-store" ,sbcl-cl-store)
656 ("trivial-features" ,sbcl-trivial-features)))
657 (home-page "https://github.com/l04m33/clx-truetype")
658 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
659 (description "CLX-TrueType is pure common lisp solution for
660 antialiased TrueType font rendering using CLX and XRender extension.")
661 (license license:expat))))
662
663 (define-public sbcl-cl-ppcre-unicode
664 (package (inherit sbcl-cl-ppcre)
665 (name "sbcl-cl-ppcre-unicode")
666 (arguments
667 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
668 #:asd-file "cl-ppcre-unicode.asd"))
669 (inputs
670 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
671 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
672
673 (define-public ecl-cl-ppcre-unicode
674 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
675
676 ;; The slynk that users expect to install includes all of slynk's contrib
677 ;; modules. Therefore, we build the base module and all contribs first; then
678 ;; we expose the union of these as `sbcl-slynk'. The following variable
679 ;; describes the base module.
680 (define sbcl-slynk-boot0
681 (let ((revision "3")
682 ;; Update together with emacs-sly.
683 (commit "6a2f543cb21f14104c2253af5a1427b884a987ae"))
684 (package
685 (name "sbcl-slynk-boot0")
686 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
687 (source
688 (origin
689 (method git-fetch)
690 (uri
691 (git-reference
692 (url "https://github.com/joaotavora/sly")
693 (commit commit)))
694 (sha256
695 (base32 "0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144"))
696 (file-name (string-append "slynk-" version "-checkout"))
697 (modules '((guix build utils)
698 (ice-9 ftw)))
699 (snippet
700 '(begin
701 ;; Move the contribs into the main source directory for easier
702 ;; access
703 (substitute* "slynk/slynk.asd"
704 (("\\.\\./contrib")
705 "contrib")
706 (("\\(defsystem :slynk/util")
707 "(defsystem :slynk/util :depends-on (:slynk)"))
708 (substitute* "contrib/slynk-trace-dialog.lisp"
709 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
710 "nil"))
711 (substitute* "contrib/slynk-profiler.lisp"
712 (("slynk:to-line")
713 "slynk-pprint-to-line"))
714 (substitute* "contrib/slynk-fancy-inspector.lisp"
715 (("slynk/util") "slynk-util")
716 ((":compile-toplevel :load-toplevel") ""))
717 (rename-file "contrib" "slynk/contrib")
718 ;; Move slynk's contents into the base directory for easier
719 ;; access
720 (for-each (lambda (file)
721 (unless (string-prefix? "." file)
722 (rename-file (string-append "slynk/" file)
723 (string-append "./" (basename file)))))
724 (scandir "slynk"))
725 #t))))
726 (build-system asdf-build-system/sbcl)
727 (arguments
728 `(#:tests? #f ; No test suite
729 #:asd-system-name "slynk"))
730 (synopsis "Common Lisp IDE for Emacs")
731 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
732 It also features a completely redesigned REPL based on Emacs's own
733 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
734 button interface. Everything can be copied to the REPL. One can create
735 multiple inspectors with independent history.")
736 (home-page "https://github.com/joaotavora/sly")
737 (license license:public-domain)
738 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
739
740 (define-public cl-slynk
741 (package
742 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
743 (name "cl-slynk")))
744
745 (define ecl-slynk-boot0
746 (sbcl-package->ecl-package sbcl-slynk-boot0))
747
748 (define sbcl-slynk-arglists
749 (package
750 (inherit sbcl-slynk-boot0)
751 (name "sbcl-slynk-arglists")
752 (inputs `(("slynk" ,sbcl-slynk-boot0)))
753 (arguments
754 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
755 ((#:asd-file _ "") "slynk.asd")
756 ((#:asd-system-name _ #f) "slynk/arglists")))))
757
758 (define ecl-slynk-arglists
759 (sbcl-package->ecl-package sbcl-slynk-arglists))
760
761 (define sbcl-slynk-util
762 (package
763 (inherit sbcl-slynk-boot0)
764 (name "sbcl-slynk-util")
765 (inputs `(("slynk" ,sbcl-slynk-boot0)))
766 (arguments
767 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
768 ((#:asd-file _ "") "slynk.asd")
769 ((#:asd-system-name _ #f) "slynk/util")))))
770
771 (define ecl-slynk-util
772 (sbcl-package->ecl-package sbcl-slynk-util))
773
774 (define sbcl-slynk-fancy-inspector
775 (package
776 (inherit sbcl-slynk-arglists)
777 (name "sbcl-slynk-fancy-inspector")
778 (inputs `(("slynk-util" ,sbcl-slynk-util)
779 ,@(package-inputs sbcl-slynk-arglists)))
780 (arguments
781 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
782 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
783
784 (define ecl-slynk-fancy-inspector
785 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
786
787 (define sbcl-slynk-package-fu
788 (package
789 (inherit sbcl-slynk-arglists)
790 (name "sbcl-slynk-package-fu")
791 (arguments
792 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
793 ((#:asd-system-name _ #f) "slynk/package-fu")))))
794
795 (define ecl-slynk-package-fu
796 (sbcl-package->ecl-package sbcl-slynk-package-fu))
797
798 (define sbcl-slynk-mrepl
799 (package
800 (inherit sbcl-slynk-fancy-inspector)
801 (name "sbcl-slynk-mrepl")
802 (arguments
803 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
804 ((#:asd-system-name _ #f) "slynk/mrepl")))))
805
806 (define ecl-slynk-mrepl
807 (sbcl-package->ecl-package sbcl-slynk-mrepl))
808
809 (define sbcl-slynk-trace-dialog
810 (package
811 (inherit sbcl-slynk-arglists)
812 (name "sbcl-slynk-trace-dialog")
813 (arguments
814 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
815 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
816
817 (define ecl-slynk-trace-dialog
818 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
819
820 (define sbcl-slynk-profiler
821 (package
822 (inherit sbcl-slynk-arglists)
823 (name "sbcl-slynk-profiler")
824 (arguments
825 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
826 ((#:asd-system-name _ #f) "slynk/profiler")))))
827
828 (define ecl-slynk-profiler
829 (sbcl-package->ecl-package sbcl-slynk-profiler))
830
831 (define sbcl-slynk-stickers
832 (package
833 (inherit sbcl-slynk-arglists)
834 (name "sbcl-slynk-stickers")
835 (arguments
836 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
837 ((#:asd-system-name _ #f) "slynk/stickers")))))
838
839 (define ecl-slynk-stickers
840 (sbcl-package->ecl-package sbcl-slynk-stickers))
841
842 (define sbcl-slynk-indentation
843 (package
844 (inherit sbcl-slynk-arglists)
845 (name "sbcl-slynk-indentation")
846 (arguments
847 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
848 ((#:asd-system-name _ #f) "slynk/indentation")))))
849
850 (define ecl-slynk-indentation
851 (sbcl-package->ecl-package sbcl-slynk-indentation))
852
853 (define sbcl-slynk-retro
854 (package
855 (inherit sbcl-slynk-arglists)
856 (name "sbcl-slynk-retro")
857 (arguments
858 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
859 ((#:asd-system-name _ #f) "slynk/retro")))))
860
861 (define ecl-slynk-retro
862 (sbcl-package->ecl-package sbcl-slynk-retro))
863
864 (define slynk-systems
865 '("slynk"
866 "slynk-util"
867 "slynk-arglists"
868 "slynk-fancy-inspector"
869 "slynk-package-fu"
870 "slynk-mrepl"
871 "slynk-profiler"
872 "slynk-trace-dialog"
873 "slynk-stickers"
874 "slynk-indentation"
875 "slynk-retro"))
876
877 (define-public sbcl-slynk
878 (package
879 (inherit sbcl-slynk-boot0)
880 (name "sbcl-slynk")
881 (inputs
882 `(("slynk" ,sbcl-slynk-boot0)
883 ("slynk-util" ,sbcl-slynk-util)
884 ("slynk-arglists" ,sbcl-slynk-arglists)
885 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
886 ("slynk-package-fu" ,sbcl-slynk-package-fu)
887 ("slynk-mrepl" ,sbcl-slynk-mrepl)
888 ("slynk-profiler" ,sbcl-slynk-profiler)
889 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
890 ("slynk-stickers" ,sbcl-slynk-stickers)
891 ("slynk-indentation" ,sbcl-slynk-indentation)
892 ("slynk-retro" ,sbcl-slynk-retro)))
893 (native-inputs `(("sbcl" ,sbcl)))
894 (build-system trivial-build-system)
895 (source #f)
896 (outputs '("out" "image"))
897 (arguments
898 `(#:modules ((guix build union)
899 (guix build utils)
900 (guix build lisp-utils))
901 #:builder
902 (begin
903 (use-modules (ice-9 match)
904 (srfi srfi-1)
905 (guix build union)
906 (guix build lisp-utils))
907
908 (union-build
909 (assoc-ref %outputs "out")
910 (filter-map
911 (match-lambda
912 ((name . path)
913 (if (string-prefix? "slynk" name) path #f)))
914 %build-inputs))
915
916 (prepend-to-source-registry
917 (string-append (assoc-ref %outputs "out") "//"))
918
919 (parameterize ((%lisp-type "sbcl")
920 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
921 "/bin/sbcl")))
922 (build-image (string-append
923 (assoc-ref %outputs "image")
924 "/bin/slynk")
925 %outputs
926 #:dependencies ',slynk-systems))
927 #t)))))
928
929 (define-public ecl-slynk
930 (package
931 (inherit sbcl-slynk)
932 (name "ecl-slynk")
933 (inputs
934 (map (match-lambda
935 ((name pkg . _)
936 (list name (sbcl-package->ecl-package pkg))))
937 (package-inputs sbcl-slynk)))
938 (native-inputs '())
939 (outputs '("out"))
940 (arguments
941 '(#:modules ((guix build union))
942 #:builder
943 (begin
944 (use-modules (ice-9 match)
945 (guix build union))
946 (match %build-inputs
947 (((names . paths) ...)
948 (union-build (assoc-ref %outputs "out")
949 paths)
950 #t)))))))
951
952 (define-public sbcl-parse-js
953 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
954 (revision "1"))
955 (package
956 (name "sbcl-parse-js")
957 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
958 (source
959 (origin
960 (method git-fetch)
961 (uri (git-reference
962 (url "http://marijn.haverbeke.nl/git/parse-js")
963 (commit commit)))
964 (file-name (string-append name "-" commit "-checkout"))
965 (sha256
966 (base32
967 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
968 (build-system asdf-build-system/sbcl)
969 (home-page "https://marijnhaverbeke.nl/parse-js/")
970 (synopsis "Parse JavaScript")
971 (description "Parse-js is a Common Lisp package for parsing
972 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
973 (license license:zlib))))
974
975 (define-public cl-parse-js
976 (sbcl-package->cl-source-package sbcl-parse-js))
977
978 (define-public sbcl-parse-number
979 (package
980 (name "sbcl-parse-number")
981 (version "1.7")
982 (source
983 (origin
984 (method git-fetch)
985 (uri (git-reference
986 (url "https://github.com/sharplispers/parse-number/")
987 (commit (string-append "v" version))))
988 (file-name (git-file-name name version))
989 (sha256
990 (base32
991 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
992 (build-system asdf-build-system/sbcl)
993 (home-page "https://www.cliki.net/PARSE-NUMBER")
994 (synopsis "Parse numbers")
995 (description "@code{parse-number} is a library of functions for parsing
996 strings into one of the standard Common Lisp number types without using the
997 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
998 the string into one of the standard Common Lisp number types, if possible, or
999 else @code{parse-number} signals an error of type @code{invalid-number}.")
1000 (license license:bsd-3)))
1001
1002 (define-public cl-parse-number
1003 (sbcl-package->cl-source-package sbcl-parse-number))
1004
1005 (define-public sbcl-iterate
1006 (package
1007 (name "sbcl-iterate")
1008 (version "1.5")
1009 (source
1010 (origin
1011 (method url-fetch)
1012 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1013 "iterate-" version ".tar.gz"))
1014 (sha256
1015 (base32
1016 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1017 (build-system asdf-build-system/sbcl)
1018 (native-inputs
1019 `(("rt" ,sbcl-rt)))
1020 (home-page "https://common-lisp.net/project/iterate/")
1021 (synopsis "Iteration construct for Common Lisp")
1022 (description "@code{iterate} is an iteration construct for Common Lisp.
1023 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1024
1025 @itemize
1026 @item it is extensible,
1027 @item it helps editors like Emacs indent iterate forms by having a more
1028 lisp-like syntax, and
1029 @item it isn't part of the ANSI standard for Common Lisp.
1030 @end itemize\n")
1031 (license license:expat)))
1032
1033 (define-public cl-iterate
1034 (sbcl-package->cl-source-package sbcl-iterate))
1035
1036 (define-public ecl-iterate
1037 (sbcl-package->ecl-package sbcl-iterate))
1038
1039 (define-public sbcl-cl-uglify-js
1040 ;; There have been many bug fixes since the 2010 release.
1041 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1042 (revision "1"))
1043 (package
1044 (name "sbcl-cl-uglify-js")
1045 (version (string-append "0.1-" revision "." (string-take commit 9)))
1046 (source
1047 (origin
1048 (method git-fetch)
1049 (uri (git-reference
1050 (url "https://github.com/mishoo/cl-uglify-js")
1051 (commit commit)))
1052 (file-name (git-file-name name version))
1053 (sha256
1054 (base32
1055 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1056 (build-system asdf-build-system/sbcl)
1057 (inputs
1058 `(("sbcl-parse-js" ,sbcl-parse-js)
1059 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1060 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1061 ("sbcl-parse-number" ,sbcl-parse-number)
1062 ("sbcl-iterate" ,sbcl-iterate)))
1063 (home-page "https://github.com/mishoo/cl-uglify-js")
1064 (synopsis "JavaScript compressor library for Common Lisp")
1065 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1066 compressor. It works on data produced by @code{parse-js} to generate a
1067 @dfn{minified} version of the code. Currently it can:
1068
1069 @itemize
1070 @item reduce variable names (usually to single letters)
1071 @item join consecutive @code{var} statements
1072 @item resolve simple binary expressions
1073 @item group most consecutive statements using the @code{sequence} operator (comma)
1074 @item remove unnecessary blocks
1075 @item convert @code{IF} expressions in various ways that result in smaller code
1076 @item remove some unreachable code
1077 @end itemize\n")
1078 (license license:zlib))))
1079
1080 (define-public cl-uglify-js
1081 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1082
1083 (define-public uglify-js
1084 (package
1085 (inherit sbcl-cl-uglify-js)
1086 (name "uglify-js")
1087 (build-system trivial-build-system)
1088 (arguments
1089 `(#:modules ((guix build utils))
1090 #:builder
1091 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1092 (script (string-append bin "uglify-js")))
1093 (use-modules (guix build utils))
1094 (mkdir-p bin)
1095 (with-output-to-file script
1096 (lambda _
1097 (format #t "#!~a/bin/sbcl --script
1098 (require :asdf)
1099 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1100 (assoc-ref %build-inputs "sbcl")
1101 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1102 ;; FIXME: cannot use progn here because otherwise it fails to
1103 ;; find cl-uglify-js.
1104 (for-each
1105 write
1106 '(;; Quiet, please!
1107 (let ((*standard-output* (make-broadcast-stream))
1108 (*error-output* (make-broadcast-stream)))
1109 (asdf:load-system :cl-uglify-js))
1110 (let ((file (cadr *posix-argv*)))
1111 (if file
1112 (format t "~a"
1113 (cl-uglify-js:ast-gen-code
1114 (cl-uglify-js:ast-mangle
1115 (cl-uglify-js:ast-squeeze
1116 (with-open-file (in file)
1117 (parse-js:parse-js in))))
1118 :beautify nil))
1119 (progn
1120 (format *error-output*
1121 "Please provide a JavaScript file.~%")
1122 (sb-ext:exit :code 1))))))))
1123 (chmod script #o755)
1124 #t)))
1125 (inputs
1126 `(("sbcl" ,sbcl)
1127 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1128 (synopsis "JavaScript compressor")))
1129
1130 (define-public sbcl-cl-strings
1131 (let ((revision "1")
1132 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1133 (package
1134 (name "sbcl-cl-strings")
1135 (version (git-version "0.0.0" revision commit))
1136 (source
1137 (origin
1138 (method git-fetch)
1139 (uri (git-reference
1140 (url "https://github.com/diogoalexandrefranco/cl-strings")
1141 (commit commit)))
1142 (sha256
1143 (base32
1144 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1145 (file-name (string-append "cl-strings-" version "-checkout"))))
1146 (build-system asdf-build-system/sbcl)
1147 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1148 (description
1149 "@command{cl-strings} is a small, portable, dependency-free set of
1150 utilities that make it even easier to manipulate text in Common Lisp. It has
1151 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1152 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1153 (license license:expat))))
1154
1155 (define-public cl-strings
1156 (sbcl-package->cl-source-package sbcl-cl-strings))
1157
1158 (define-public ecl-cl-strings
1159 (sbcl-package->ecl-package sbcl-cl-strings))
1160
1161 (define-public sbcl-trivial-features
1162 ;; No release since 2014.
1163 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1164 (package
1165 (name "sbcl-trivial-features")
1166 (version (git-version "0.8" "1" commit))
1167 (source
1168 (origin
1169 (method git-fetch)
1170 (uri (git-reference
1171 (url "https://github.com/trivial-features/trivial-features")
1172 (commit commit)))
1173 (file-name (git-file-name "trivial-features" version))
1174 (sha256
1175 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1176 (build-system asdf-build-system/sbcl)
1177 (arguments '(#:tests? #f))
1178 (home-page "https://cliki.net/trivial-features")
1179 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1180 (description "Trivial-features ensures that @code{*FEATURES*} is
1181 consistent across multiple Common Lisp implementations.")
1182 (license license:expat))))
1183
1184 (define-public cl-trivial-features
1185 (sbcl-package->cl-source-package sbcl-trivial-features))
1186
1187 (define-public ecl-trivial-features
1188 (sbcl-package->ecl-package sbcl-trivial-features))
1189
1190 (define-public sbcl-hu.dwim.asdf
1191 (package
1192 (name "sbcl-hu.dwim.asdf")
1193 (version "20190521")
1194 (source
1195 (origin
1196 (method url-fetch)
1197 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1198 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1199 (sha256
1200 (base32
1201 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1202 (build-system asdf-build-system/sbcl)
1203 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1204 (synopsis "Extensions to ASDF")
1205 (description "Various ASDF extensions such as attached test and
1206 documentation system, explicit development support, etc.")
1207 (license license:public-domain)))
1208
1209 (define-public cl-hu.dwim.asdf
1210 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1211
1212 (define-public ecl-hu.dwim.asdf
1213 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1214
1215 (define-public sbcl-hu.dwim.stefil
1216 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1217 (package
1218 (name "sbcl-hu.dwim.stefil")
1219 (version (git-version "0.0.0" "1" commit))
1220 (source
1221 (origin
1222 (method git-fetch)
1223 (uri
1224 (git-reference
1225 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1226 (commit commit)))
1227 (sha256
1228 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1229 (file-name (git-file-name "hu.dwim.stefil" version))))
1230 (build-system asdf-build-system/sbcl)
1231 (native-inputs
1232 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1233 (inputs
1234 `(("sbcl-alexandria" ,sbcl-alexandria)))
1235 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1236 (synopsis "Simple test framework")
1237 (description "Stefil is a simple test framework for Common Lisp,
1238 with a focus on interactive development.")
1239 (license license:public-domain))))
1240
1241 (define-public cl-hu.dwim.stefil
1242 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1243
1244 (define-public ecl-hu.dwim.stefil
1245 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1246
1247 (define-public sbcl-babel
1248 ;; No release since 2014.
1249 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1250 (package
1251 (name "sbcl-babel")
1252 (version (git-version "0.5.0" "1" commit))
1253 (source
1254 (origin
1255 (method git-fetch)
1256 (uri (git-reference
1257 (url "https://github.com/cl-babel/babel")
1258 (commit commit)))
1259 (file-name (git-file-name "babel" version))
1260 (sha256
1261 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1262 (build-system asdf-build-system/sbcl)
1263 (native-inputs
1264 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1265 (inputs
1266 `(("sbcl-alexandria" ,sbcl-alexandria)
1267 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1268 (home-page "https://common-lisp.net/project/babel/")
1269 (synopsis "Charset encoding and decoding library")
1270 (description "Babel is a charset encoding and decoding library, not unlike
1271 GNU libiconv, but completely written in Common Lisp.")
1272 (license license:expat))))
1273
1274 (define-public cl-babel
1275 (sbcl-package->cl-source-package sbcl-babel))
1276
1277 (define-public ecl-babel
1278 (sbcl-package->ecl-package sbcl-babel))
1279
1280 (define-public sbcl-cl-yacc
1281 (package
1282 (name "sbcl-cl-yacc")
1283 (version "0.3")
1284 (source
1285 (origin
1286 (method git-fetch)
1287 (uri (git-reference
1288 (url "https://github.com/jech/cl-yacc")
1289 (commit (string-append "cl-yacc-" version))))
1290 (sha256
1291 (base32
1292 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1293 (file-name (string-append "cl-yacc-" version "-checkout"))))
1294 (build-system asdf-build-system/sbcl)
1295 (arguments
1296 `(#:asd-file "yacc.asd"
1297 #:asd-system-name "yacc"))
1298 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1299 (description
1300 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1301 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1302
1303 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1304 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1305 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1306 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1307 (license license:expat)))
1308
1309 (define-public cl-yacc
1310 (sbcl-package->cl-source-package sbcl-cl-yacc))
1311
1312 (define-public ecl-cl-yacc
1313 (sbcl-package->ecl-package sbcl-cl-yacc))
1314
1315 (define-public sbcl-jpl-util
1316 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1317 (package
1318 (name "sbcl-jpl-util")
1319 (version "20151005")
1320 (source
1321 (origin
1322 (method git-fetch)
1323 (uri (git-reference
1324 ;; Quicklisp uses this fork.
1325 (url "https://github.com/hawkir/cl-jpl-util")
1326 (commit commit)))
1327 (file-name
1328 (git-file-name "jpl-util" version))
1329 (sha256
1330 (base32
1331 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1332 (build-system asdf-build-system/sbcl)
1333 (synopsis "Collection of Common Lisp utility functions and macros")
1334 (description
1335 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1336 and macros, primarily for software projects written in CL by the author.")
1337 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1338 (license license:isc))))
1339
1340 (define-public cl-jpl-util
1341 (sbcl-package->cl-source-package sbcl-jpl-util))
1342
1343 (define-public ecl-jpl-util
1344 (sbcl-package->ecl-package sbcl-jpl-util))
1345
1346 (define-public sbcl-jpl-queues
1347 (package
1348 (name "sbcl-jpl-queues")
1349 (version "0.1")
1350 (source
1351 (origin
1352 (method url-fetch)
1353 (uri (string-append
1354 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1355 version
1356 ".tar.gz"))
1357 (sha256
1358 (base32
1359 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1360 (build-system asdf-build-system/sbcl)
1361 (inputs
1362 `(("jpl-util" ,sbcl-jpl-util)
1363 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1364 (arguments
1365 ;; Tests seem to be broken.
1366 `(#:tests? #f))
1367 (synopsis "Common Lisp library implementing a few different kinds of queues")
1368 (description
1369 "A Common Lisp library implementing a few different kinds of queues:
1370
1371 @itemize
1372 @item Bounded and unbounded FIFO queues.
1373 @item Lossy bounded FIFO queues that drop elements when full.
1374 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1375 @end itemize
1376
1377 Additionally, a synchronization wrapper is provided to make any queue
1378 conforming to the @command{jpl-queues} API thread-safe for lightweight
1379 multithreading applications. (See Calispel for a more sophisticated CL
1380 multithreaded message-passing library with timeouts and alternation among
1381 several blockable channels.)")
1382 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1383 (license license:isc)))
1384
1385 (define-public cl-jpl-queues
1386 (sbcl-package->cl-source-package sbcl-jpl-queues))
1387
1388 (define-public ecl-jpl-queues
1389 (sbcl-package->ecl-package sbcl-jpl-queues))
1390
1391 (define-public sbcl-eos
1392 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
1393 (revision "2"))
1394 (package
1395 (name "sbcl-eos")
1396 (version (git-version "0.0.0" revision commit))
1397 (source
1398 (origin
1399 (method git-fetch)
1400 (uri (git-reference
1401 (url "https://github.com/adlai/Eos")
1402 (commit commit)))
1403 (sha256
1404 (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk"))
1405 (file-name (git-file-name "eos" version))))
1406 (build-system asdf-build-system/sbcl)
1407 (synopsis "Unit Testing for Common Lisp")
1408 (description
1409 "Eos was a unit testing library for Common Lisp.
1410 It began as a fork of FiveAM; however, FiveAM development has continued, while
1411 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1412 (home-page "https://github.com/adlai/Eos")
1413 (license license:expat))))
1414
1415 (define-public cl-eos
1416 (sbcl-package->cl-source-package sbcl-eos))
1417
1418 (define-public ecl-eos
1419 (sbcl-package->ecl-package sbcl-eos))
1420
1421 (define-public sbcl-esrap
1422 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1423 (package
1424 (name "sbcl-esrap")
1425 (version (git-version "0.0.0" "1" commit))
1426 (source
1427 (origin
1428 (method git-fetch)
1429 (uri (git-reference
1430 (url "https://github.com/nikodemus/esrap")
1431 (commit commit)))
1432 (sha256
1433 (base32
1434 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1435 (file-name (git-file-name "esrap" version))))
1436 (build-system asdf-build-system/sbcl)
1437 (native-inputs
1438 `(("eos" ,sbcl-eos))) ;For testing only.
1439 (inputs
1440 `(("alexandria" ,sbcl-alexandria)))
1441 (synopsis "Common Lisp packrat parser")
1442 (description
1443 "A packrat parser for Common Lisp.
1444 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1445
1446 @itemize
1447 @item dynamic redefinition of nonterminals
1448 @item inline grammars
1449 @item semantic predicates
1450 @item introspective facilities (describing grammars, tracing, setting breaks)
1451 @end itemize\n")
1452 (home-page "https://nikodemus.github.io/esrap/")
1453 (license license:expat))))
1454
1455 (define-public cl-esrap
1456 (sbcl-package->cl-source-package sbcl-esrap))
1457
1458 (define-public ecl-esrap
1459 (sbcl-package->ecl-package sbcl-esrap))
1460
1461 (define-public sbcl-split-sequence
1462 (package
1463 (name "sbcl-split-sequence")
1464 (version "2.0.0")
1465 (source
1466 (origin
1467 (method git-fetch)
1468 (uri (git-reference
1469 (url "https://github.com/sharplispers/split-sequence")
1470 (commit (string-append "v" version))))
1471 (sha256
1472 (base32
1473 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1474 (file-name (git-file-name "split-sequence" version))))
1475 (build-system asdf-build-system/sbcl)
1476 (native-inputs
1477 `(("fiveam" ,sbcl-fiveam)))
1478 (synopsis "Member of the Common Lisp Utilities family of programs")
1479 (description
1480 "Splits sequence into a list of subsequences delimited by objects
1481 satisfying the test.")
1482 (home-page "https://cliki.net/split-sequence")
1483 (license license:expat)))
1484
1485 (define-public cl-split-sequence
1486 (sbcl-package->cl-source-package sbcl-split-sequence))
1487
1488 (define-public ecl-split-sequence
1489 (sbcl-package->ecl-package sbcl-split-sequence))
1490
1491 (define-public sbcl-html-encode
1492 (package
1493 (name "sbcl-html-encode")
1494 (version "1.2")
1495 (source
1496 (origin
1497 (method url-fetch)
1498 (uri (string-append
1499 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1500 version ".tgz"))
1501 (sha256
1502 (base32
1503 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1504 (file-name (string-append "colorize" version "-checkout"))))
1505 (build-system asdf-build-system/sbcl)
1506 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1507 (description
1508 "A library for encoding text in various web-savvy encodings.")
1509 (home-page "http://quickdocs.org/html-encode/")
1510 (license license:expat)))
1511
1512 (define-public cl-html-encode
1513 (sbcl-package->cl-source-package sbcl-html-encode))
1514
1515 (define-public ecl-html-encode
1516 (sbcl-package->ecl-package sbcl-html-encode))
1517
1518 (define-public sbcl-colorize
1519 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1520 (package
1521 (name "sbcl-colorize")
1522 (version (git-version "0.0.0" "1" commit))
1523 (source
1524 (origin
1525 (method git-fetch)
1526 (uri (git-reference
1527 (url "https://github.com/kingcons/colorize")
1528 (commit commit)))
1529 (sha256
1530 (base32
1531 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1532 (file-name (git-file-name "colorize" version))))
1533 (build-system asdf-build-system/sbcl)
1534 (inputs
1535 `(("alexandria" ,sbcl-alexandria)
1536 ("split-sequence" ,sbcl-split-sequence)
1537 ("html-encode" ,sbcl-html-encode)))
1538 (synopsis "Common Lisp for syntax highlighting")
1539 (description
1540 "@command{colorize} is a Lisp library for syntax highlighting
1541 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1542 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1543 (home-page "https://github.com/kingcons/colorize")
1544 ;; TODO: Missing license?
1545 (license license:expat))))
1546
1547 (define-public cl-colorize
1548 (sbcl-package->cl-source-package sbcl-colorize))
1549
1550 (define-public ecl-colorize
1551 (sbcl-package->ecl-package sbcl-colorize))
1552
1553 (define-public sbcl-3bmd
1554 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1555 (package
1556 (name "sbcl-3bmd")
1557 (version (git-version "0.0.0" "1" commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/3b/3bmd")
1563 (commit commit)))
1564 (sha256
1565 (base32
1566 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1567 (file-name (git-file-name "3bmd" version))))
1568 (build-system asdf-build-system/sbcl)
1569 (arguments
1570 ;; FIXME: We need to specify the name because the build-system thinks
1571 ;; "3" is a version marker.
1572 `(#:asd-system-name "3bmd"))
1573 (inputs
1574 `(("esrap" ,sbcl-esrap)
1575 ("split-sequence" ,sbcl-split-sequence)))
1576 (synopsis "Markdown processor in Command Lisp using esrap parser")
1577 (description
1578 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1579 parsing, and grammar based on @command{peg-markdown}.")
1580 (home-page "https://github.com/3b/3bmd")
1581 (license license:expat))))
1582
1583 (define-public cl-3bmd
1584 (sbcl-package->cl-source-package sbcl-3bmd))
1585
1586 (define-public ecl-3bmd
1587 (sbcl-package->ecl-package sbcl-3bmd))
1588
1589 (define-public sbcl-3bmd-ext-code-blocks
1590 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1591 (package
1592 (inherit sbcl-3bmd)
1593 (name "sbcl-3bmd-ext-code-blocks")
1594 (arguments
1595 `(#:asd-system-name "3bmd-ext-code-blocks"
1596 #:asd-file "3bmd-ext-code-blocks.asd"))
1597 (inputs
1598 `(("3bmd" ,sbcl-3bmd)
1599 ("colorize" ,sbcl-colorize)))
1600 (synopsis "3bmd extension which adds support for GitHub-style fenced
1601 code blocks")
1602 (description
1603 "3bmd extension which adds support for GitHub-style fenced code blocks,
1604 with @command{colorize} support."))))
1605
1606 (define-public cl-3bmd-ext-code-blocks
1607 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1608
1609 (define-public ecl-3bmd-ext-code-blocks
1610 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1611
1612 (define-public sbcl-cl-fad
1613 (package
1614 (name "sbcl-cl-fad")
1615 (version "0.7.6")
1616 (source
1617 (origin
1618 (method git-fetch)
1619 (uri (git-reference
1620 (url "https://github.com/edicl/cl-fad/")
1621 (commit (string-append "v" version))))
1622 (sha256
1623 (base32
1624 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1625 (file-name (string-append "cl-fad" version "-checkout"))))
1626 (build-system asdf-build-system/sbcl)
1627 (inputs
1628 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1629 (synopsis "Portable pathname library for Common Lisp")
1630 (description
1631 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1632 Lisp's standard pathname functions. It is intended to provide some
1633 unification between current CL implementations on Windows, OS X, Linux, and
1634 Unix. Most of the code was written by Peter Seibel for his book Practical
1635 Common Lisp.")
1636 (home-page "https://edicl.github.io/cl-fad/")
1637 (license license:bsd-2)))
1638
1639 (define-public cl-fad
1640 (sbcl-package->cl-source-package sbcl-cl-fad))
1641
1642 (define-public ecl-cl-fad
1643 (sbcl-package->ecl-package sbcl-cl-fad))
1644
1645 (define-public sbcl-rt
1646 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1647 (revision "1"))
1648 (package
1649 (name "sbcl-rt")
1650 (version (git-version "1990.12.19" revision commit))
1651 (source
1652 (origin
1653 (method git-fetch)
1654 (uri (git-reference
1655 (url "http://git.kpe.io/rt.git")
1656 (commit commit)))
1657 (file-name (git-file-name name version))
1658 (sha256
1659 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1660 (build-system asdf-build-system/sbcl)
1661 (synopsis "MIT Regression Tester")
1662 (description
1663 "RT provides a framework for writing regression test suites.")
1664 (home-page "https://www.cliki.net/rt")
1665 (license license:expat))))
1666
1667 (define-public cl-rt
1668 (sbcl-package->cl-source-package sbcl-rt))
1669
1670 (define-public ecl-rt
1671 (sbcl-package->ecl-package sbcl-rt))
1672
1673 (define-public sbcl-nibbles
1674 (package
1675 (name "sbcl-nibbles")
1676 (version "0.14")
1677 (source
1678 (origin
1679 (method git-fetch)
1680 (uri (git-reference
1681 (url "https://github.com/sharplispers/nibbles/")
1682 (commit (string-append "v" version))))
1683 (sha256
1684 (base32
1685 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1686 (file-name (git-file-name "nibbles" version))))
1687 (build-system asdf-build-system/sbcl)
1688 (native-inputs
1689 ;; Tests only.
1690 `(("rt" ,sbcl-rt)))
1691 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1692 (description
1693 "When dealing with network protocols and file formats, it's common to
1694 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1695 flavors. Common Lisp sort of supports this by specifying :element-type for
1696 streams, but that facility is underspecified and there's nothing similar for
1697 read/write from octet vectors. What most people wind up doing is rolling their
1698 own small facility for their particular needs and calling it a day.
1699
1700 This library attempts to be comprehensive and centralize such
1701 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1702 vectors in signed or unsigned flavors are provided; these functions are also
1703 SETFable. Since it's sometimes desirable to read/write directly from streams,
1704 functions for doing so are also provided. On some implementations,
1705 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1706 also be supported.")
1707 (home-page "https://github.com/sharplispers/nibbles")
1708 (license license:bsd-3)))
1709
1710 (define-public cl-nibbles
1711 (sbcl-package->cl-source-package sbcl-nibbles))
1712
1713 (define-public ecl-nibbles
1714 (sbcl-package->ecl-package sbcl-nibbles))
1715
1716 (define-public sbcl-ironclad
1717 (package
1718 (name "sbcl-ironclad")
1719 (version "0.50")
1720 (source
1721 (origin
1722 (method git-fetch)
1723 (uri (git-reference
1724 (url "https://github.com/sharplispers/ironclad/")
1725 (commit (string-append "v" version))))
1726 (sha256
1727 (base32 "0k4bib9mbrzalbl9ivkw4a7g4c7bbad1l5jw4pzkifqszy2swkr5"))
1728 (file-name (git-file-name name version))))
1729 (build-system asdf-build-system/sbcl)
1730 (native-inputs
1731 ;; Tests only.
1732 `(("rt" ,sbcl-rt)))
1733 (inputs
1734 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1735 ("flexi-streams" ,sbcl-flexi-streams)))
1736 (synopsis "Cryptographic toolkit written in Common Lisp")
1737 (description
1738 "Ironclad is a cryptography library written entirely in Common Lisp.
1739 It includes support for several popular ciphers, digests, MACs and public key
1740 cryptography algorithms. For several implementations that support Gray
1741 streams, support is included for convenient stream wrappers.")
1742 (home-page "https://github.com/sharplispers/ironclad")
1743 (license license:bsd-3)))
1744
1745 (define-public cl-ironclad
1746 (sbcl-package->cl-source-package sbcl-ironclad))
1747
1748 (define-public ecl-ironclad
1749 (sbcl-package->ecl-package sbcl-ironclad))
1750
1751 (define-public sbcl-named-readtables
1752 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1753 (revision "2"))
1754 (package
1755 (name "sbcl-named-readtables")
1756 (version (git-version "0.9" revision commit))
1757 (source
1758 (origin
1759 (method git-fetch)
1760 (uri (git-reference
1761 (url "https://github.com/melisgl/named-readtables")
1762 (commit commit)))
1763 (sha256
1764 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1765 (file-name (git-file-name "named-readtables" version))))
1766 (build-system asdf-build-system/sbcl)
1767 (arguments
1768 ;; Tests seem to be broken.
1769 `(#:tests? #f))
1770 (home-page "https://github.com/melisgl/named-readtables/")
1771 (synopsis "Library that creates a namespace for named readtables")
1772 (description "Named readtables is a library that creates a namespace for
1773 named readtables, which is akin to package namespacing in Common Lisp.")
1774 (license license:bsd-3))))
1775
1776 (define-public cl-named-readtables
1777 (sbcl-package->cl-source-package sbcl-named-readtables))
1778
1779 (define-public ecl-named-readtables
1780 (sbcl-package->ecl-package sbcl-named-readtables))
1781
1782 (define-public sbcl-pythonic-string-reader
1783 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1784 (package
1785 (name "sbcl-pythonic-string-reader")
1786 (version (git-version "0.0.0" "1" commit))
1787 (source
1788 (origin
1789 (method git-fetch)
1790 (uri (git-reference
1791 (url "https://github.com/smithzvk/pythonic-string-reader/")
1792 (commit commit)))
1793 (sha256
1794 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1795 (file-name (git-file-name "pythonic-string-reader" version))))
1796 (build-system asdf-build-system/sbcl)
1797 (inputs
1798 `(("named-readtables" ,sbcl-named-readtables)))
1799 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1800 (synopsis "Read table modification inspired by Python's three quote strings")
1801 (description "This piece of code sets up some reader macros that make it
1802 simpler to input string literals which contain backslashes and double quotes
1803 This is very useful for writing complicated docstrings and, as it turns out,
1804 writing code that contains string literals that contain code themselves.")
1805 (license license:bsd-3))))
1806
1807 (define-public cl-pythonic-string-reader
1808 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1809
1810 (define-public ecl-pythonic-string-reader
1811 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1812
1813 ;; SLIME does not have a ASDF system definition to build all of Swank. As a
1814 ;; result, the asdf-build-system/sbcl will produce an almost empty package.
1815 ;; Some work was done to fix this at
1816 ;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1817 ;; and is now lagging behind. Building SBCL fasls might not be worth the
1818 ;; hassle, so let's just ship the source then.
1819 (define-public cl-slime-swank
1820 (package
1821 (name "cl-slime-swank")
1822 (version "2.24")
1823 (source
1824 (origin
1825 (file-name (string-append name "-" version ".tar.gz"))
1826 (method git-fetch)
1827 (uri (git-reference
1828 (url "https://github.com/slime/slime/")
1829 (commit (string-append "v" version))))
1830 (sha256
1831 (base32
1832 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1833 (build-system asdf-build-system/source)
1834 (home-page "https://github.com/slime/slime")
1835 (synopsis "Common Lisp Swank server")
1836 (description
1837 "This is only useful if you want to start a Swank server in a Lisp
1838 processes that doesn't run under Emacs. Lisp processes created by
1839 @command{M-x slime} automatically start the server.")
1840 (license (list license:gpl2+ license:public-domain))))
1841
1842 (define-public sbcl-slime-swank
1843 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1844
1845 (define-public sbcl-mgl-pax
1846 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1847 (package
1848 (name "sbcl-mgl-pax")
1849 (version (git-version "0.0.0" "1" commit))
1850 (source
1851 (origin
1852 (method git-fetch)
1853 (uri (git-reference
1854 (url "https://github.com/melisgl/mgl-pax")
1855 (commit commit)))
1856 (sha256
1857 (base32
1858 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1859 (file-name (git-file-name "mgl-pax" version))))
1860 (build-system asdf-build-system/sbcl)
1861 (inputs
1862 `(("3bmd" ,sbcl-3bmd)
1863 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1864 ("babel" ,sbcl-babel)
1865 ("cl-fad" ,sbcl-cl-fad)
1866 ("ironclad" ,sbcl-ironclad)
1867 ("named-readtables" ,sbcl-named-readtables)
1868 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1869 (propagated-inputs
1870 ;; Packages having mgl-pax as input complain that it can't find
1871 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1872 `(("swank" ,cl-slime-swank)))
1873 (synopsis "Exploratory programming environment and documentation generator")
1874 (description
1875 "PAX provides an extremely poor man's Explorable Programming
1876 environment. Narrative primarily lives in so called sections that mix markdown
1877 docstrings with references to functions, variables, etc, all of which should
1878 probably have their own docstrings.
1879
1880 The primary focus is on making code easily explorable by using SLIME's
1881 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1882 fanciness in Emacs Integration. Generating documentation from sections and all
1883 the referenced items in Markdown or HTML format is also implemented.
1884
1885 With the simplistic tools provided, one may accomplish similar effects as with
1886 Literate Programming, but documentation is generated from code, not vice versa
1887 and there is no support for chunking yet. Code is first, code must look
1888 pretty, documentation is code.")
1889 (home-page "http://quotenil.com/")
1890 (license license:expat))))
1891
1892 (define-public cl-mgl-pax
1893 (sbcl-package->cl-source-package sbcl-mgl-pax))
1894
1895 (define-public ecl-mgl-pax
1896 (sbcl-package->ecl-package sbcl-mgl-pax))
1897
1898 (define-public sbcl-lisp-unit
1899 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1900 (package
1901 (name "sbcl-lisp-unit")
1902 (version (git-version "0.0.0" "1" commit))
1903 (source
1904 (origin
1905 (method git-fetch)
1906 (uri (git-reference
1907 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1908 (commit commit)))
1909 (sha256
1910 (base32
1911 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1912 (file-name (git-file-name "lisp-unit" version))))
1913 (build-system asdf-build-system/sbcl)
1914 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1915 (description
1916 "@command{lisp-unit} is a Common Lisp library that supports unit
1917 testing. It is an extension of the library written by Chris Riesbeck.")
1918 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1919 (license license:expat))))
1920
1921 (define-public cl-lisp-unit
1922 (sbcl-package->cl-source-package sbcl-lisp-unit))
1923
1924 (define-public ecl-lisp-unit
1925 (sbcl-package->ecl-package sbcl-lisp-unit))
1926
1927 (define-public sbcl-anaphora
1928 (package
1929 (name "sbcl-anaphora")
1930 (version "0.9.6")
1931 (source
1932 (origin
1933 (method git-fetch)
1934 (uri (git-reference
1935 (url "https://github.com/tokenrove/anaphora")
1936 (commit version)))
1937 (sha256
1938 (base32
1939 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1940 (file-name (git-file-name "anaphora" version))))
1941 (build-system asdf-build-system/sbcl)
1942 (native-inputs
1943 `(("rt" ,sbcl-rt)))
1944 (synopsis "The anaphoric macro collection from Hell")
1945 (description
1946 "Anaphora is the anaphoric macro collection from Hell: it includes many
1947 new fiends in addition to old friends like @command{aif} and
1948 @command{awhen}.")
1949 (home-page "https://github.com/tokenrove/anaphora")
1950 (license license:public-domain)))
1951
1952 (define-public cl-anaphora
1953 (sbcl-package->cl-source-package sbcl-anaphora))
1954
1955 (define-public ecl-anaphora
1956 (sbcl-package->ecl-package sbcl-anaphora))
1957
1958 (define-public sbcl-lift
1959 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1960 (package
1961 (name "sbcl-lift")
1962 (version (git-version "1.7.1" "1" commit))
1963 (source
1964 (origin
1965 (method git-fetch)
1966 (uri (git-reference
1967 (url "https://github.com/gwkkwg/lift")
1968 (commit commit)))
1969 (sha256
1970 (base32
1971 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1972 (file-name (git-file-name "lift" version))
1973 (modules '((guix build utils)))
1974 (snippet
1975 ;; Don't keep the bundled website
1976 `(begin
1977 (delete-file-recursively "website")
1978 #t))))
1979 (build-system asdf-build-system/sbcl)
1980 (arguments
1981 ;; The tests require a debugger, but we run with the debugger disabled.
1982 '(#:tests? #f))
1983 (synopsis "LIsp Framework for Testing")
1984 (description
1985 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1986 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1987 testcases are organized into hierarchical testsuites each of which can have
1988 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1989 supports randomized testing, benchmarking, profiling, and reporting.")
1990 (home-page "https://github.com/gwkkwg/lift")
1991 (license license:expat))))
1992
1993 (define-public cl-lift
1994 (sbcl-package->cl-source-package sbcl-lift))
1995
1996 (define-public ecl-lift
1997 (sbcl-package->ecl-package sbcl-lift))
1998
1999 (define-public sbcl-let-plus
2000 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2001 (package
2002 (name "sbcl-let-plus")
2003 (version (git-version "0.0.0" "1" commit))
2004 (source
2005 (origin
2006 (method git-fetch)
2007 (uri (git-reference
2008 (url "https://github.com/sharplispers/let-plus")
2009 (commit commit)))
2010 (sha256
2011 (base32
2012 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2013 (file-name (git-file-name "let-plus" version))))
2014 (build-system asdf-build-system/sbcl)
2015 (inputs
2016 `(("alexandria" ,sbcl-alexandria)
2017 ("anaphora" ,sbcl-anaphora)))
2018 (native-inputs
2019 `(("lift" ,sbcl-lift)))
2020 (synopsis "Destructuring extension of let*")
2021 (description
2022 "This library implements the let+ macro, which is a dectructuring
2023 extension of let*. It features:
2024
2025 @itemize
2026 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2027 not counting tests)
2028 @item Placeholder macros allow editor hints and syntax highlighting
2029 @item @command{&ign} for ignored values (in forms where that makes sense)
2030 @item Very easy to extend
2031 @end itemize\n")
2032 (home-page "https://github.com/sharplispers/let-plus")
2033 (license license:boost1.0))))
2034
2035 (define-public cl-let-plus
2036 (sbcl-package->cl-source-package sbcl-let-plus))
2037
2038 (define-public ecl-let-plus
2039 (sbcl-package->ecl-package sbcl-let-plus))
2040
2041 (define-public sbcl-cl-colors
2042 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2043 (package
2044 (name "sbcl-cl-colors")
2045 (version (git-version "0.0.0" "1" commit))
2046 (source
2047 (origin
2048 (method git-fetch)
2049 (uri (git-reference
2050 (url "https://github.com/tpapp/cl-colors")
2051 (commit commit)))
2052 (sha256
2053 (base32
2054 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2055 (file-name (git-file-name "cl-colors" version))))
2056 (build-system asdf-build-system/sbcl)
2057 (inputs
2058 `(("alexandria" ,sbcl-alexandria)
2059 ("let-plus" ,sbcl-let-plus)))
2060 (synopsis "Simple color library for Common Lisp")
2061 (description
2062 "This is a very simple color library for Common Lisp, providing
2063
2064 @itemize
2065 @item Types for representing colors in HSV and RGB spaces.
2066 @item Simple conversion functions between the above types (and also
2067 hexadecimal representation for RGB).
2068 @item Some predefined colors (currently X11 color names – of course the
2069 library does not depend on X11).Because color in your terminal is nice.
2070 @end itemize
2071
2072 This library is no longer supported by its author.")
2073 (home-page "https://github.com/tpapp/cl-colors")
2074 (license license:boost1.0))))
2075
2076 (define-public cl-colors
2077 (sbcl-package->cl-source-package sbcl-cl-colors))
2078
2079 (define-public ecl-cl-colors
2080 (sbcl-package->ecl-package sbcl-cl-colors))
2081
2082 (define-public sbcl-cl-ansi-text
2083 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2084 (package
2085 (name "sbcl-cl-ansi-text")
2086 (version (git-version "1.0.0" "1" commit))
2087 (source
2088 (origin
2089 (method git-fetch)
2090 (uri (git-reference
2091 (url "https://github.com/pnathan/cl-ansi-text")
2092 (commit commit)))
2093 (sha256
2094 (base32
2095 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2096 (file-name (git-file-name "cl-ansi-text" version))))
2097 (build-system asdf-build-system/sbcl)
2098 (inputs
2099 `(("alexandria" ,sbcl-alexandria)
2100 ("cl-colors" ,sbcl-cl-colors)))
2101 (native-inputs
2102 `(("fiveam" ,sbcl-fiveam)))
2103 (synopsis "ANSI terminal color implementation for Common Lisp")
2104 (description
2105 "@command{cl-ansi-text} provides utilities which enable printing to an
2106 ANSI terminal with colored text. It provides the macro @command{with-color}
2107 which causes everything printed in the body to be displayed with the provided
2108 color. It further provides functions which will print the argument with the
2109 named color.")
2110 (home-page "https://github.com/pnathan/cl-ansi-text")
2111 (license license:llgpl))))
2112
2113 (define-public cl-ansi-text
2114 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2115
2116 (define-public ecl-cl-ansi-text
2117 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2118
2119 (define-public sbcl-prove-asdf
2120 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2121 (package
2122 (name "sbcl-prove-asdf")
2123 (version (git-version "1.0.0" "1" commit))
2124 (source
2125 (origin
2126 (method git-fetch)
2127 (uri (git-reference
2128 (url "https://github.com/fukamachi/prove")
2129 (commit commit)))
2130 (sha256
2131 (base32
2132 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2133 (file-name (git-file-name "prove" version))))
2134 (build-system asdf-build-system/sbcl)
2135 (arguments
2136 `(#:asd-file "prove-asdf.asd"))
2137 (synopsis "Test requirement for the Common Lisp 'prove' library")
2138 (description
2139 "Test requirement for the Common Lisp @command{prove} library.")
2140 (home-page "https://github.com/fukamachi/prove")
2141 (license license:expat))))
2142
2143 (define-public cl-prove-asdf
2144 (sbcl-package->cl-source-package sbcl-prove-asdf))
2145
2146 (define-public ecl-prove-asdf
2147 (sbcl-package->ecl-package sbcl-prove-asdf))
2148
2149 (define-public sbcl-prove
2150 (package
2151 (inherit sbcl-prove-asdf)
2152 (name "sbcl-prove")
2153 (inputs
2154 `(("alexandria" ,sbcl-alexandria)
2155 ("cl-ppcre" ,sbcl-cl-ppcre)
2156 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2157 (native-inputs
2158 `(("prove-asdf" ,sbcl-prove-asdf)))
2159 (arguments
2160 `(#:asd-file "prove.asd"))
2161 (synopsis "Yet another unit testing framework for Common Lisp")
2162 (description
2163 "This project was originally called @command{cl-test-more}.
2164 @command{prove} is yet another unit testing framework for Common Lisp. The
2165 advantages of @command{prove} are:
2166
2167 @itemize
2168 @item Various simple functions for testing and informative error messages
2169 @item ASDF integration
2170 @item Extensible test reporters
2171 @item Colorizes the report if it's available (note for SLIME)
2172 @item Reports test durations
2173 @end itemize\n")))
2174
2175 (define-public cl-prove
2176 (sbcl-package->cl-source-package sbcl-prove))
2177
2178 (define-public ecl-prove
2179 (sbcl-package->ecl-package sbcl-prove))
2180
2181 (define-public sbcl-proc-parse
2182 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2183 (package
2184 (name "sbcl-proc-parse")
2185 (version (git-version "0.0.0" "1" commit))
2186 (source
2187 (origin
2188 (method git-fetch)
2189 (uri (git-reference
2190 (url "https://github.com/fukamachi/proc-parse")
2191 (commit commit)))
2192 (sha256
2193 (base32
2194 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2195 (file-name (git-file-name "proc-parse" version))))
2196 (build-system asdf-build-system/sbcl)
2197 (inputs
2198 `(("alexandria" ,sbcl-alexandria)
2199 ("babel" ,sbcl-babel)))
2200 (native-inputs
2201 `(("prove" ,sbcl-prove)
2202 ("prove-asdf" ,sbcl-prove-asdf)))
2203 (arguments
2204 ;; TODO: Tests don't find "proc-parse-test", why?
2205 `(#:tests? #f))
2206 (synopsis "Procedural vector parser")
2207 (description
2208 "This is a string/octets parser library for Common Lisp with speed and
2209 readability in mind. Unlike other libraries, the code is not a
2210 pattern-matching-like, but a char-by-char procedural parser.")
2211 (home-page "https://github.com/fukamachi/proc-parse")
2212 (license license:bsd-2))))
2213
2214 (define-public cl-proc-parse
2215 (sbcl-package->cl-source-package sbcl-proc-parse))
2216
2217 (define-public ecl-proc-parse
2218 (sbcl-package->ecl-package sbcl-proc-parse))
2219
2220 (define-public sbcl-parse-float
2221 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2222 (package
2223 (name "sbcl-parse-float")
2224 (version (git-version "0.0.0" "1" commit))
2225 (source
2226 (origin
2227 (method git-fetch)
2228 (uri (git-reference
2229 (url "https://github.com/soemraws/parse-float")
2230 (commit commit)))
2231 (sha256
2232 (base32
2233 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2234 (file-name (git-file-name "proc-parse" version))))
2235 (build-system asdf-build-system/sbcl)
2236 (inputs
2237 `(("alexandria" ,sbcl-alexandria)
2238 ("babel" ,sbcl-babel)))
2239 (native-inputs
2240 `(("prove" ,sbcl-prove)
2241 ("prove-asdf" ,sbcl-prove-asdf)))
2242 (arguments
2243 ;; TODO: Tests don't find "proc-parse-test", why?
2244 `(#:tests? #f))
2245 (synopsis "Parse a floating point value from a string in Common Lisp")
2246 (description
2247 "This package exports the following function to parse floating-point
2248 values from a string in Common Lisp.")
2249 (home-page "https://github.com/soemraws/parse-float")
2250 (license license:public-domain))))
2251
2252 (define-public cl-parse-float
2253 (sbcl-package->cl-source-package sbcl-parse-float))
2254
2255 (define-public ecl-parse-float
2256 (sbcl-package->ecl-package sbcl-parse-float))
2257
2258 (define-public sbcl-ascii-strings
2259 (let ((revision "1")
2260 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2261 (package
2262 (name "sbcl-ascii-strings")
2263 (version (string-append "0-" revision "." (string-take changeset 7)))
2264 (source
2265 (origin
2266 (method hg-fetch)
2267 (uri (hg-reference
2268 (url "https://bitbucket.org/vityok/cl-string-match/")
2269 (changeset changeset)))
2270 (sha256
2271 (base32
2272 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2273 (file-name (git-file-name "cl-string-match" version))))
2274 (build-system asdf-build-system/sbcl)
2275 (inputs
2276 `(("alexandria" ,sbcl-alexandria)
2277 ("babel" ,sbcl-babel)))
2278 (arguments
2279 `(#:asd-file "ascii-strings.asd"))
2280 (synopsis "Operations on ASCII strings")
2281 (description
2282 "Operations on ASCII strings. Essentially this can be any kind of
2283 single-byte encoded strings.")
2284 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2285 (license license:bsd-3))))
2286
2287 (define-public cl-ascii-strings
2288 (sbcl-package->cl-source-package sbcl-ascii-strings))
2289
2290 (define-public ecl-ascii-strings
2291 (sbcl-package->ecl-package sbcl-ascii-strings))
2292
2293 (define-public sbcl-simple-scanf
2294 (package
2295 (inherit sbcl-ascii-strings)
2296 (name "sbcl-simple-scanf")
2297 (inputs
2298 `(("alexandria" ,sbcl-alexandria)
2299 ("iterate" ,sbcl-iterate)
2300 ("proc-parse" ,sbcl-proc-parse)
2301 ("parse-float" ,sbcl-parse-float)))
2302 (arguments
2303 `(#:asd-file "simple-scanf.asd"))
2304 (synopsis "Simple scanf-like functionality implementation")
2305 (description
2306 "A simple scanf-like functionality implementation.")))
2307
2308 (define-public cl-simple-scanf
2309 (sbcl-package->cl-source-package sbcl-simple-scanf))
2310
2311 (define-public ecl-simple-scanf
2312 (sbcl-package->ecl-package sbcl-simple-scanf))
2313
2314 (define-public sbcl-cl-string-match
2315 (package
2316 (inherit sbcl-ascii-strings)
2317 (name "sbcl-cl-string-match")
2318 (inputs
2319 `(("alexandria" ,sbcl-alexandria)
2320 ("ascii-strings" ,sbcl-ascii-strings)
2321 ("yacc" ,sbcl-cl-yacc)
2322 ("jpl-util" ,sbcl-jpl-util)
2323 ("jpl-queues" ,sbcl-jpl-queues)
2324 ("mgl-pax" ,sbcl-mgl-pax)
2325 ("iterate" ,sbcl-iterate)))
2326 ;; TODO: Tests are not evaluated properly.
2327 (native-inputs
2328 ;; For testing:
2329 `(("lisp-unit" ,sbcl-lisp-unit)
2330 ("simple-scanf" ,sbcl-simple-scanf)))
2331 (arguments
2332 `(#:tests? #f
2333 #:asd-file "cl-string-match.asd"))
2334 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2335 (description
2336 "@command{cl-strings} is a small, portable, dependency-free set of
2337 utilities that make it even easier to manipulate text in Common Lisp. It has
2338 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2339
2340 (define-public cl-string-match
2341 (sbcl-package->cl-source-package sbcl-cl-string-match))
2342
2343 (define-public ecl-cl-string-match
2344 (sbcl-package->ecl-package sbcl-cl-string-match))
2345
2346 (define-public sbcl-ptester
2347 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2348 (revision "1"))
2349 (package
2350 (name "sbcl-ptester")
2351 (version (git-version "2.1.3" revision commit))
2352 (source
2353 (origin
2354 (method git-fetch)
2355 (uri (git-reference
2356 (url "http://git.kpe.io/ptester.git")
2357 (commit commit)))
2358 (file-name (git-file-name name version))
2359 (sha256
2360 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2361 (build-system asdf-build-system/sbcl)
2362 (home-page "http://quickdocs.org/ptester/")
2363 (synopsis "Portable test harness package")
2364 (description
2365 "@command{ptester} is a portable testing framework based on Franz's
2366 tester module.")
2367 (license license:llgpl))))
2368
2369 (define-public cl-ptester
2370 (sbcl-package->cl-source-package sbcl-ptester))
2371
2372 (define-public ecl-ptester
2373 (sbcl-package->ecl-package sbcl-ptester))
2374
2375 (define-public sbcl-puri
2376 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2377 (revision "1"))
2378 (package
2379 (name "sbcl-puri")
2380 (version (git-version "1.5.7" revision commit))
2381 (source
2382 (origin
2383 (method git-fetch)
2384 (uri (git-reference
2385 (url "http://git.kpe.io/puri.git")
2386 (commit commit)))
2387 (file-name (git-file-name name version))
2388 (sha256
2389 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2390 (build-system asdf-build-system/sbcl)
2391 (native-inputs
2392 `(("ptester" ,sbcl-ptester)))
2393 (home-page "http://quickdocs.org/puri/")
2394 (synopsis "Portable URI Library")
2395 (description
2396 "This is a portable Universal Resource Identifier library for Common
2397 Lisp programs. It parses URI according to the RFC 2396 specification.")
2398 (license license:llgpl))))
2399
2400 (define-public cl-puri
2401 (sbcl-package->cl-source-package sbcl-puri))
2402
2403 (define-public ecl-puri
2404 (sbcl-package->ecl-package sbcl-puri))
2405
2406 (define-public sbcl-queues
2407 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2408 (package
2409 (name "sbcl-queues")
2410 (version (git-version "0.0.0" "1" commit))
2411 (source
2412 (origin
2413 (method git-fetch)
2414 (uri (git-reference
2415 (url "https://github.com/oconnore/queues")
2416 (commit commit)))
2417 (file-name (git-file-name "queues" version))
2418 (sha256
2419 (base32
2420 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2421 (build-system asdf-build-system/sbcl)
2422 (home-page "https://github.com/oconnore/queues")
2423 (synopsis "Common Lisp queue library")
2424 (description
2425 "This is a simple queue library for Common Lisp with features such as
2426 non-consing thread safe queues and fibonacci priority queues.")
2427 (license license:expat))))
2428
2429 (define-public cl-queues
2430 (sbcl-package->cl-source-package sbcl-queues))
2431
2432 (define-public ecl-queues
2433 (sbcl-package->ecl-package sbcl-queues))
2434
2435 (define-public sbcl-queues.simple-queue
2436 (package
2437 (inherit sbcl-queues)
2438 (name "sbcl-queues.simple-queue")
2439 (inputs
2440 `(("sbcl-queues" ,sbcl-queues)))
2441 (arguments
2442 `(#:asd-file "queues.simple-queue.asd"))
2443 (synopsis "Simple queue implementation")
2444 (description
2445 "This is a simple queue library for Common Lisp with features such as
2446 non-consing thread safe queues and fibonacci priority queues.")
2447 (license license:expat)))
2448
2449 (define-public cl-queues.simple-queue
2450 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2451
2452 (define-public ecl-queues.simple-queue
2453 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2454
2455 (define-public sbcl-queues.simple-cqueue
2456 (package
2457 (inherit sbcl-queues)
2458 (name "sbcl-queues.simple-cqueue")
2459 (inputs
2460 `(("sbcl-queues" ,sbcl-queues)
2461 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2462 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2463 (arguments
2464 `(#:asd-file "queues.simple-cqueue.asd"))
2465 (synopsis "Thread safe queue implementation")
2466 (description
2467 "This is a simple queue library for Common Lisp with features such as
2468 non-consing thread safe queues and fibonacci priority queues.")
2469 (license license:expat)))
2470
2471 (define-public cl-queues.simple-cqueue
2472 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2473
2474 (define-public ecl-queues.simple-cqueue
2475 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2476
2477 (define-public sbcl-queues.priority-queue
2478 (package
2479 (inherit sbcl-queues)
2480 (name "sbcl-queues.priority-queue")
2481 (inputs
2482 `(("sbcl-queues" ,sbcl-queues)))
2483 (arguments
2484 `(#:asd-file "queues.priority-queue.asd"))
2485 (synopsis "Priority queue (Fibonacci) implementation")
2486 (description
2487 "This is a simple queue library for Common Lisp with features such as
2488 non-consing thread safe queues and fibonacci priority queues.")
2489 (license license:expat)))
2490
2491 (define-public cl-queues.priority-queue
2492 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2493
2494 (define-public ecl-queues.priority-queue
2495 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2496
2497 (define-public sbcl-queues.priority-cqueue
2498 (package
2499 (inherit sbcl-queues)
2500 (name "sbcl-queues.priority-cqueue")
2501 (inputs
2502 `(("sbcl-queues" ,sbcl-queues)
2503 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2504 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2505 (arguments
2506 `(#:asd-file "queues.priority-cqueue.asd"))
2507 (synopsis "Thread safe fibonacci priority queue implementation")
2508 (description
2509 "This is a simple queue library for Common Lisp with features such as
2510 non-consing thread safe queues and fibonacci priority queues.")
2511 (license license:expat)))
2512
2513 (define-public cl-queues.priority-cqueue
2514 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2515
2516 (define-public ecl-queues.priority-cqueue
2517 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2518
2519 (define sbcl-cffi-bootstrap
2520 (package
2521 (name "sbcl-cffi-bootstrap")
2522 (version "0.21.0")
2523 (source
2524 (origin
2525 (method git-fetch)
2526 (uri (git-reference
2527 (url "https://github.com/cffi/cffi")
2528 (commit (string-append "v" version))))
2529 (file-name (git-file-name "cffi-bootstrap" version))
2530 (sha256
2531 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
2532 (build-system asdf-build-system/sbcl)
2533 (inputs
2534 `(("libffi" ,libffi)
2535 ("alexandria" ,sbcl-alexandria)
2536 ("babel" ,sbcl-babel)
2537 ("trivial-features" ,sbcl-trivial-features)))
2538 (native-inputs
2539 `(("pkg-config" ,pkg-config)))
2540 (arguments
2541 '(#:phases
2542 (modify-phases %standard-phases
2543 (add-after 'unpack 'fix-paths
2544 (lambda* (#:key inputs #:allow-other-keys)
2545 (substitute* "libffi/libffi.lisp"
2546 (("libffi.so.7" all) (string-append
2547 (assoc-ref inputs "libffi")
2548 "/lib/" all)))
2549 (substitute* "toolchain/c-toolchain.lisp"
2550 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2551 #:asd-system-name "cffi"
2552 #:tests? #f))
2553 (home-page "https://common-lisp.net/project/cffi/")
2554 (synopsis "Common Foreign Function Interface for Common Lisp")
2555 (description "The Common Foreign Function Interface (CFFI)
2556 purports to be a portable foreign function interface for Common Lisp.
2557 The CFFI library is composed of a Lisp-implementation-specific backend
2558 in the CFFI-SYS package, and a portable frontend in the CFFI
2559 package.")
2560 (license license:expat)))
2561
2562 (define-public sbcl-cffi-toolchain
2563 (package
2564 (inherit sbcl-cffi-bootstrap)
2565 (name "sbcl-cffi-toolchain")
2566 (inputs
2567 `(("libffi" ,libffi)
2568 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2569 (arguments
2570 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2571 ((#:asd-system-name _) #f)
2572 ((#:tests? _) #t)))))
2573
2574 (define-public sbcl-cffi-libffi
2575 (package
2576 (inherit sbcl-cffi-toolchain)
2577 (name "sbcl-cffi-libffi")
2578 (inputs
2579 `(("cffi" ,sbcl-cffi-bootstrap)
2580 ("cffi-grovel" ,sbcl-cffi-grovel)
2581 ("trivial-features" ,sbcl-trivial-features)
2582 ("libffi" ,libffi)))))
2583
2584 (define-public sbcl-cffi-grovel
2585 (package
2586 (inherit sbcl-cffi-toolchain)
2587 (name "sbcl-cffi-grovel")
2588 (inputs
2589 `(("libffi" ,libffi)
2590 ("cffi" ,sbcl-cffi-bootstrap)
2591 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2592 ("alexandria" ,sbcl-alexandria)))
2593 (arguments
2594 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2595 ((#:phases phases)
2596 `(modify-phases ,phases
2597 (add-after 'build 'install-headers
2598 (lambda* (#:key outputs #:allow-other-keys)
2599 (install-file "grovel/common.h"
2600 (string-append
2601 (assoc-ref outputs "out")
2602 "/include/grovel"))))))))))
2603
2604 (define-public sbcl-cffi
2605 (package
2606 (inherit sbcl-cffi-toolchain)
2607 (name "sbcl-cffi")
2608 (inputs (package-inputs sbcl-cffi-bootstrap))
2609 (native-inputs
2610 `(("cffi-grovel" ,sbcl-cffi-grovel)
2611 ("cffi-libffi" ,sbcl-cffi-libffi)
2612 ("rt" ,sbcl-rt)
2613 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2614 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2615
2616 (define-public cl-cffi
2617 (sbcl-package->cl-source-package sbcl-cffi))
2618
2619 (define-public sbcl-cffi-uffi-compat
2620 (package
2621 (inherit sbcl-cffi-toolchain)
2622 (name "sbcl-cffi-uffi-compat")
2623 (native-inputs
2624 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2625 (inputs
2626 `(("cffi" ,sbcl-cffi)))
2627 (synopsis "UFFI Compatibility Layer for CFFI")))
2628
2629 (define-public cl-cffi-uffi-compat
2630 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2631
2632 (define-public sbcl-cl-sqlite
2633 (package
2634 (name "sbcl-cl-sqlite")
2635 (version "0.2.1")
2636 (source
2637 (origin
2638 (method git-fetch)
2639 (uri (git-reference
2640 (url "https://github.com/dmitryvk/cl-sqlite")
2641 (commit version)))
2642 (file-name (git-file-name "cl-sqlite" version))
2643 (sha256
2644 (base32
2645 "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k"))))
2646 (build-system asdf-build-system/sbcl)
2647 (inputs
2648 `(("iterate" ,sbcl-iterate)
2649 ("cffi" ,sbcl-cffi)
2650 ("sqlite" ,sqlite)))
2651 (native-inputs
2652 `(("fiveam" ,sbcl-fiveam)
2653 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2654 (arguments
2655 `(#:asd-file "sqlite.asd"
2656 #:asd-system-name "sqlite"
2657 #:phases
2658 (modify-phases %standard-phases
2659 (add-after 'unpack 'fix-paths
2660 (lambda* (#:key inputs #:allow-other-keys)
2661 (substitute* "sqlite-ffi.lisp"
2662 (("libsqlite3" all) (string-append
2663 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2664 (home-page "https://common-lisp.net/project/cl-sqlite/")
2665 (synopsis "Common Lisp binding for SQLite")
2666 (description
2667 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2668 relational database engine.")
2669 (license license:public-domain)))
2670
2671 (define-public cl-sqlite
2672 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2673
2674 (define-public sbcl-parenscript
2675 ;; Source archives are overwritten on every release, we use the Git repo instead.
2676 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2677 (package
2678 (name "sbcl-parenscript")
2679 (version (git-version "2.7.1" "1" commit))
2680 (source
2681 (origin
2682 (method git-fetch)
2683 (uri (git-reference
2684 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2685 (commit commit)))
2686 (file-name (git-file-name "parenscript" version))
2687 (sha256
2688 (base32
2689 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2690 (build-system asdf-build-system/sbcl)
2691 (inputs
2692 `(("cl-ppcre" ,sbcl-cl-ppcre)
2693 ("anaphora" ,sbcl-anaphora)
2694 ("named-readtables" ,sbcl-named-readtables)))
2695 (home-page "https://common-lisp.net/project/parenscript/")
2696 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2697 (description
2698 "Parenscript is a translator from an extended subset of Common Lisp to
2699 JavaScript. Parenscript code can run almost identically on both the
2700 browser (as JavaScript) and server (as Common Lisp).
2701
2702 Parenscript code is treated the same way as Common Lisp code, making the full
2703 power of Lisp macros available for JavaScript. This provides a web
2704 development environment that is unmatched in its ability to reduce code
2705 duplication and provide advanced meta-programming facilities to web
2706 developers.
2707
2708 At the same time, Parenscript is different from almost all other \"language
2709 X\" to JavaScript translators in that it imposes almost no overhead:
2710
2711 @itemize
2712 @item No run-time dependencies: Any piece of Parenscript code is runnable
2713 as-is. There are no JavaScript files to include.
2714 @item Native types: Parenscript works entirely with native JavaScript data
2715 types. There are no new types introduced, and object prototypes are not
2716 touched.
2717 @item Native calling convention: Any JavaScript code can be called without the
2718 need for bindings. Likewise, Parenscript can be used to make efficient,
2719 self-contained JavaScript libraries.
2720 @item Readable code: Parenscript generates concise, formatted, idiomatic
2721 JavaScript code. Identifier names are preserved. This enables seamless
2722 debugging in tools like Firebug.
2723 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2724 Lisp features. The generated code is almost as fast as hand-written
2725 JavaScript.
2726 @end itemize\n")
2727 (license license:bsd-3))))
2728
2729 (define-public cl-parenscript
2730 (sbcl-package->cl-source-package sbcl-parenscript))
2731
2732 (define-public ecl-parenscript
2733 (sbcl-package->ecl-package sbcl-parenscript))
2734
2735 (define-public sbcl-cl-json
2736 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2737 (package
2738 (name "sbcl-cl-json")
2739 (version (git-version "0.5" "1" commit))
2740 (source
2741 (origin
2742 (method git-fetch)
2743 (uri (git-reference
2744 (url "https://github.com/hankhero/cl-json")
2745 (commit commit)))
2746 (file-name (git-file-name "cl-json" version))
2747 (sha256
2748 (base32
2749 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2750 (build-system asdf-build-system/sbcl)
2751 (native-inputs
2752 `(("fiveam" ,sbcl-fiveam)))
2753 (home-page "https://github.com/hankhero/cl-json")
2754 (synopsis "JSON encoder and decoder for Common-Lisp")
2755 (description
2756 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2757 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2758 and the decoder are highly customizable; at the same time, the default
2759 settings ensure a very simple mode of operation, similar to that provided by
2760 @command{yason} or @command{st-json}.")
2761 (license license:expat))))
2762
2763 (define-public cl-json
2764 (sbcl-package->cl-source-package sbcl-cl-json))
2765
2766 (define-public ecl-cl-json
2767 (sbcl-package->ecl-package sbcl-cl-json))
2768
2769 (define-public sbcl-unix-opts
2770 (package
2771 (name "sbcl-unix-opts")
2772 (version "0.1.7")
2773 (source
2774 (origin
2775 (method git-fetch)
2776 (uri (git-reference
2777 (url "https://github.com/libre-man/unix-opts")
2778 (commit version)))
2779 (file-name (git-file-name "unix-opts" version))
2780 (sha256
2781 (base32
2782 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2783 (build-system asdf-build-system/sbcl)
2784 (home-page "https://github.com/hankhero/cl-json")
2785 (synopsis "Unix-style command line options parser")
2786 (description
2787 "This is a minimalistic parser of command line options. The main
2788 advantage of the library is the ability to concisely define command line
2789 options once and then use this definition for parsing and extraction of
2790 command line arguments, as well as printing description of command line
2791 options (you get --help for free). This way you don't need to repeat
2792 yourself. Also, @command{unix-opts} doesn't depend on anything and
2793 precisely controls the behavior of the parser via Common Lisp restarts.")
2794 (license license:expat)))
2795
2796 (define-public cl-unix-opts
2797 (sbcl-package->cl-source-package sbcl-unix-opts))
2798
2799 (define-public ecl-unix-opts
2800 (sbcl-package->ecl-package sbcl-unix-opts))
2801
2802 (define-public sbcl-trivial-garbage
2803 (package
2804 (name "sbcl-trivial-garbage")
2805 (version "0.21")
2806 (source
2807 (origin
2808 (method git-fetch)
2809 (uri (git-reference
2810 (url "https://github.com/trivial-garbage/trivial-garbage")
2811 (commit (string-append "v" version))))
2812 (file-name (git-file-name "trivial-garbage" version))
2813 (sha256
2814 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2815 (build-system asdf-build-system/sbcl)
2816 (native-inputs
2817 `(("rt" ,sbcl-rt)))
2818 (home-page "https://common-lisp.net/project/trivial-garbage/")
2819 (synopsis "Portable GC-related APIs for Common Lisp")
2820 (description "@command{trivial-garbage} provides a portable API to
2821 finalizers, weak hash-tables and weak pointers on all major implementations of
2822 the Common Lisp programming language.")
2823 (license license:public-domain)))
2824
2825 (define-public cl-trivial-garbage
2826 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2827
2828 (define-public ecl-trivial-garbage
2829 (sbcl-package->ecl-package sbcl-trivial-garbage))
2830
2831 (define-public sbcl-closer-mop
2832 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2833 (package
2834 (name "sbcl-closer-mop")
2835 (version (git-version "1.0.0" "2" commit))
2836 (source
2837 (origin
2838 (method git-fetch)
2839 (uri (git-reference
2840 (url "https://github.com/pcostanza/closer-mop")
2841 (commit commit)))
2842 (sha256
2843 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2844 (file-name (git-file-name "closer-mop" version ))))
2845 (build-system asdf-build-system/sbcl)
2846 (home-page "https://github.com/pcostanza/closer-mop")
2847 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2848 (description "Closer to MOP is a compatibility layer that rectifies many
2849 of the absent or incorrect CLOS MOP features across a broad range of Common
2850 Lisp implementations.")
2851 (license license:expat))))
2852
2853 (define-public cl-closer-mop
2854 (sbcl-package->cl-source-package sbcl-closer-mop))
2855
2856 (define-public ecl-closer-mop
2857 (sbcl-package->ecl-package sbcl-closer-mop))
2858
2859 (define sbcl-cl-cffi-gtk-boot0
2860 (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4"))
2861 (package
2862 (name "sbcl-cl-cffi-gtk-boot0")
2863 (version (git-version "0.11.2" "1" commit))
2864 (source
2865 (origin
2866 (method git-fetch)
2867 (uri (git-reference
2868 (url "https://github.com/Ferada/cl-cffi-gtk/")
2869 (commit commit)))
2870 (file-name (git-file-name "cl-cffi-gtk" version))
2871 (sha256
2872 (base32
2873 "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn"))))
2874 (build-system asdf-build-system/sbcl)
2875 (inputs
2876 `(("iterate" ,sbcl-iterate)
2877 ("cffi" ,sbcl-cffi)
2878 ("trivial-features" ,sbcl-trivial-features)
2879 ("glib" ,glib)
2880 ("cairo" ,cairo)
2881 ("pango" ,pango)
2882 ("gdk-pixbuf" ,gdk-pixbuf)
2883 ("gtk" ,gtk+)))
2884 (arguments
2885 `(#:phases
2886 (modify-phases %standard-phases
2887 (add-after 'unpack 'fix-paths
2888 (lambda* (#:key inputs #:allow-other-keys)
2889 (substitute* "glib/glib.init.lisp"
2890 (("libglib|libgthread" all)
2891 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2892 (substitute* "gobject/gobject.init.lisp"
2893 (("libgobject" all)
2894 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2895 (substitute* "gio/gio.init.lisp"
2896 (("libgio" all)
2897 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2898 (substitute* "cairo/cairo.init.lisp"
2899 (("libcairo" all)
2900 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2901 (substitute* "pango/pango.init.lisp"
2902 (("libpango" all)
2903 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2904 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2905 (("libgdk_pixbuf" all)
2906 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2907 (substitute* "gdk/gdk.init.lisp"
2908 (("libgdk" all)
2909 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2910 (substitute* "gdk/gdk.package.lisp"
2911 (("libgtk" all)
2912 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2913 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2914 (synopsis "Common Lisp binding for GTK+3")
2915 (description
2916 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2917 is a library for creating graphical user interfaces.")
2918 (license license:lgpl3))))
2919
2920 (define-public sbcl-cl-cffi-gtk-glib
2921 (package
2922 (inherit sbcl-cl-cffi-gtk-boot0)
2923 (name "sbcl-cl-cffi-gtk-glib")
2924 (inputs
2925 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2926 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2927 (arguments
2928 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2929 ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd")))))
2930
2931 (define-public sbcl-cl-cffi-gtk-gobject
2932 (package
2933 (inherit sbcl-cl-cffi-gtk-boot0)
2934 (name "sbcl-cl-cffi-gtk-gobject")
2935 (inputs
2936 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2937 ("trivial-garbage" ,sbcl-trivial-garbage)
2938 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2939 ("closer-mop" ,sbcl-closer-mop)
2940 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2941 (arguments
2942 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2943 ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd")
2944 ((#:phases phases)
2945 `(modify-phases ,phases
2946 (add-after 'install 'link-source
2947 ;; Since source is particularly heavy (16MiB+), let's reuse it
2948 ;; across the different components of cl-ffi-gtk.
2949 (lambda* (#:key inputs outputs #:allow-other-keys)
2950 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2951 "/share/common-lisp/sbcl-source/"
2952 "cl-cffi-gtk-glib"))
2953 (out-source (string-append (assoc-ref outputs "out")
2954 "/share/common-lisp/sbcl-source/"
2955 "cl-cffi-gtk-gobject")))
2956 (delete-file-recursively out-source)
2957 (symlink glib-source out-source)
2958 #t)))))))))
2959
2960 (define-public sbcl-cl-cffi-gtk-gio
2961 (package
2962 (inherit sbcl-cl-cffi-gtk-boot0)
2963 (name "sbcl-cl-cffi-gtk-gio")
2964 (inputs
2965 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2966 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2967 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2968 (arguments
2969 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2970 ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd")
2971 ((#:phases phases)
2972 `(modify-phases ,phases
2973 (add-after 'install 'link-source
2974 ;; Since source is particularly heavy (16MiB+), let's reuse it
2975 ;; across the different components of cl-ffi-gtk.
2976 (lambda* (#:key inputs outputs #:allow-other-keys)
2977 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2978 "/share/common-lisp/sbcl-source/"
2979 "cl-cffi-gtk-glib"))
2980 (out-source (string-append (assoc-ref outputs "out")
2981 "/share/common-lisp/sbcl-source/"
2982 "cl-cffi-gtk-gio")))
2983 (delete-file-recursively out-source)
2984 (symlink glib-source out-source)
2985 #t)))))))))
2986
2987 (define-public sbcl-cl-cffi-gtk-cairo
2988 (package
2989 (inherit sbcl-cl-cffi-gtk-boot0)
2990 (name "sbcl-cl-cffi-gtk-cairo")
2991 (inputs
2992 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2993 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2994 (arguments
2995 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2996 ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd")
2997 ((#:phases phases)
2998 `(modify-phases ,phases
2999 (add-after 'install 'link-source
3000 ;; Since source is particularly heavy (16MiB+), let's reuse it
3001 ;; across the different components of cl-ffi-gtk.
3002 (lambda* (#:key inputs outputs #:allow-other-keys)
3003 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3004 "/share/common-lisp/sbcl-source/"
3005 "cl-cffi-gtk-glib"))
3006 (out-source (string-append (assoc-ref outputs "out")
3007 "/share/common-lisp/sbcl-source/"
3008 "cl-cffi-gtk-cairo")))
3009 (delete-file-recursively out-source)
3010 (symlink glib-source out-source)
3011 #t)))))))))
3012
3013 (define-public sbcl-cl-cffi-gtk-pango
3014 (package
3015 (inherit sbcl-cl-cffi-gtk-boot0)
3016 (name "sbcl-cl-cffi-gtk-pango")
3017 (inputs
3018 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3019 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3020 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3021 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3022 (arguments
3023 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3024 ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd")
3025 ((#:phases phases)
3026 `(modify-phases ,phases
3027 (add-after 'install 'link-source
3028 ;; Since source is particularly heavy (16MiB+), let's reuse it
3029 ;; across the different components of cl-ffi-gtk.
3030 (lambda* (#:key inputs outputs #:allow-other-keys)
3031 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3032 "/share/common-lisp/sbcl-source/"
3033 "cl-cffi-gtk-glib"))
3034 (out-source (string-append (assoc-ref outputs "out")
3035 "/share/common-lisp/sbcl-source/"
3036 "cl-cffi-gtk-pango")))
3037 (delete-file-recursively out-source)
3038 (symlink glib-source out-source)
3039 #t)))))))))
3040
3041 (define-public sbcl-cl-cffi-gtk-gdk-pixbuf
3042 (package
3043 (inherit sbcl-cl-cffi-gtk-boot0)
3044 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
3045 (inputs
3046 `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3047 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3048 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3049 (arguments
3050 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3051 ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd")
3052 ((#:phases phases)
3053 `(modify-phases ,phases
3054 (add-after 'install 'link-source
3055 ;; Since source is particularly heavy (16MiB+), let's reuse it
3056 ;; across the different components of cl-ffi-gtk.
3057 (lambda* (#:key inputs outputs #:allow-other-keys)
3058 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3059 "/share/common-lisp/sbcl-source/"
3060 "cl-cffi-gtk-glib"))
3061 (out-source (string-append (assoc-ref outputs "out")
3062 "/share/common-lisp/sbcl-source/"
3063 "cl-cffi-gtk-gdk-pixbuf")))
3064 (delete-file-recursively out-source)
3065 (symlink glib-source out-source)
3066 #t)))))))))
3067
3068 (define-public sbcl-cl-cffi-gtk-gdk
3069 (package
3070 (inherit sbcl-cl-cffi-gtk-boot0)
3071 (name "sbcl-cl-cffi-gtk-gdk")
3072 (inputs
3073 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3074 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3075 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3076 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3077 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3078 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3079 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3080 (arguments
3081 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3082 ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd")
3083 ((#:phases phases)
3084 `(modify-phases ,phases
3085 (add-after 'install 'link-source
3086 ;; Since source is particularly heavy (16MiB+), let's reuse it
3087 ;; across the different components of cl-ffi-gtk.
3088 (lambda* (#:key inputs outputs #:allow-other-keys)
3089 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3090 "/share/common-lisp/sbcl-source/"
3091 "cl-cffi-gtk-glib"))
3092 (out-source (string-append (assoc-ref outputs "out")
3093 "/share/common-lisp/sbcl-source/"
3094 "cl-cffi-gtk-gdk")))
3095 (delete-file-recursively out-source)
3096 (symlink glib-source out-source)
3097 #t)))))))))
3098
3099 (define-public sbcl-cl-cffi-gtk
3100 (package
3101 (inherit sbcl-cl-cffi-gtk-boot0)
3102 (name "sbcl-cl-cffi-gtk")
3103 (inputs
3104 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3105 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3106 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3107 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3108 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3109 (native-inputs
3110 `(("fiveam" ,sbcl-fiveam)))
3111 (arguments
3112 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3113 ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd")
3114 ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd")
3115 ;; TODO: Tests fail with memory fault.
3116 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3117 ((#:tests? _ #f) #f)
3118 ((#:phases phases)
3119 `(modify-phases ,phases
3120 (add-after 'install 'link-source
3121 ;; Since source is particularly heavy (16MiB+), let's reuse it
3122 ;; across the different components of cl-ffi-gtk.
3123 (lambda* (#:key inputs outputs #:allow-other-keys)
3124 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3125 "/share/common-lisp/sbcl-source/"
3126 "cl-cffi-gtk-glib"))
3127 (out-source (string-append (assoc-ref outputs "out")
3128 "/share/common-lisp/sbcl-source/"
3129 "cl-cffi-gtk")))
3130 (delete-file-recursively out-source)
3131 (symlink glib-source out-source)
3132 #t)))))))))
3133
3134 (define-public cl-cffi-gtk
3135 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3136
3137 (define-public sbcl-cl-webkit
3138 (let ((commit "6c905a5550b58a5b7602da5a087d7dafc5337122"))
3139 (package
3140 (name "sbcl-cl-webkit")
3141 (version (git-version "2.4" "4" commit))
3142 (source
3143 (origin
3144 (method git-fetch)
3145 (uri (git-reference
3146 (url "https://github.com/joachifm/cl-webkit")
3147 (commit commit)))
3148 (file-name (git-file-name "cl-webkit" version))
3149 (sha256
3150 (base32
3151 "0017ijjflqqbgbj5bf7ffkyw5idhxc0ggly2qh5igf3kz886p9rh"))))
3152 (build-system asdf-build-system/sbcl)
3153 (inputs
3154 `(("cffi" ,sbcl-cffi)
3155 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3156 ("webkitgtk" ,webkitgtk)))
3157 (arguments
3158 `(#:asd-file "webkit2/cl-webkit2.asd"
3159 #:asd-system-name "cl-webkit2"
3160 #:phases
3161 (modify-phases %standard-phases
3162 (add-after 'unpack 'fix-paths
3163 (lambda* (#:key inputs #:allow-other-keys)
3164 (substitute* "webkit2/webkit2.init.lisp"
3165 (("libwebkit2gtk" all)
3166 (string-append
3167 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3168 (home-page "https://github.com/joachifm/cl-webkit")
3169 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3170 (description
3171 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3172 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3173 browsing capabilities to an application, leveraging the full power of the
3174 WebKit browsing engine.")
3175 (license license:expat))))
3176
3177 (define-public cl-webkit
3178 (sbcl-package->cl-source-package sbcl-cl-webkit))
3179
3180 (define-public sbcl-lparallel
3181 (package
3182 (name "sbcl-lparallel")
3183 (version "2.8.4")
3184 (source
3185 (origin
3186 (method git-fetch)
3187 (uri (git-reference
3188 (url "https://github.com/lmj/lparallel/")
3189 (commit (string-append "lparallel-" version))))
3190 (file-name (git-file-name "lparallel" version))
3191 (sha256
3192 (base32
3193 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3194 (build-system asdf-build-system/sbcl)
3195 (inputs
3196 `(("alexandria" ,sbcl-alexandria)
3197 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3198 ("trivial-garbage" ,sbcl-trivial-garbage)))
3199 (arguments
3200 `(#:phases
3201 (modify-phases %standard-phases
3202 (add-after 'unpack 'fix-dependency
3203 ;; lparallel loads a SBCL specific system in its asd file. This is
3204 ;; not carried over into the fasl which is generated. In order for
3205 ;; it to be carried over, it needs to be listed as a dependency.
3206 (lambda _
3207 (substitute* "lparallel.asd"
3208 ((":depends-on \\(:alexandria" all)
3209 (string-append all " #+sbcl :sb-cltl2"))))))))
3210 (home-page "https://lparallel.org/")
3211 (synopsis "Parallelism for Common Lisp")
3212 (description
3213 "@command{lparallel} is a library for parallel programming in Common
3214 Lisp, featuring:
3215
3216 @itemize
3217 @item a simple model of task submission with receiving queue,
3218 @item constructs for expressing fine-grained parallelism,
3219 @item asynchronous condition handling across thread boundaries,
3220 @item parallel versions of map, reduce, sort, remove, and many others,
3221 @item promises, futures, and delayed evaluation constructs,
3222 @item computation trees for parallelizing interconnected tasks,
3223 @item bounded and unbounded FIFO queues,
3224 @item high and low priority tasks,
3225 @item task killing by category,
3226 @item integrated timeouts.
3227 @end itemize\n")
3228 (license license:expat)))
3229
3230 (define-public cl-lparallel
3231 (sbcl-package->cl-source-package sbcl-lparallel))
3232
3233 (define-public ecl-lparallel
3234 (sbcl-package->ecl-package sbcl-lparallel))
3235
3236 (define-public sbcl-cl-markup
3237 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3238 (package
3239 (name "sbcl-cl-markup")
3240 (version (git-version "0.1" "1" commit))
3241 (source
3242 (origin
3243 (method git-fetch)
3244 (uri (git-reference
3245 (url "https://github.com/arielnetworks/cl-markup/")
3246 (commit commit)))
3247 (file-name (git-file-name "cl-markup" version))
3248 (sha256
3249 (base32
3250 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3251 (build-system asdf-build-system/sbcl)
3252 (home-page "https://github.com/arielnetworks/cl-markup/")
3253 (synopsis "Markup generation library for Common Lisp")
3254 (description
3255 "A modern markup generation library for Common Lisp that features:
3256
3257 @itemize
3258 @item Fast (even faster through compiling the code)
3259 @item Safety
3260 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3261 @item Output with doctype
3262 @item Direct output to stream
3263 @end itemize\n")
3264 (license license:lgpl3+))))
3265
3266 (define-public cl-markup
3267 (sbcl-package->cl-source-package sbcl-cl-markup))
3268
3269 (define-public ecl-cl-markup
3270 (sbcl-package->ecl-package sbcl-cl-markup))
3271
3272 (define-public sbcl-cl-css
3273 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3274 (package
3275 (name "sbcl-cl-css")
3276 (version (git-version "0.1" "1" commit))
3277 (source
3278 (origin
3279 (method git-fetch)
3280 (uri (git-reference
3281 (url "https://github.com/inaimathi/cl-css/")
3282 (commit commit)))
3283 (file-name (git-file-name "cl-css" version))
3284 (sha256
3285 (base32
3286 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3287 (build-system asdf-build-system/sbcl)
3288 (home-page "https://github.com/inaimathi/cl-css/")
3289 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3290 (description
3291 "This is a dead-simple, non validating, inline CSS generator for Common
3292 Lisp. Its goals are axiomatic syntax, simple implementation to support
3293 portability, and boilerplate reduction in CSS.")
3294 (license license:expat))))
3295
3296 (define-public cl-css
3297 (sbcl-package->cl-source-package sbcl-cl-css))
3298
3299 (define-public ecl-cl-css
3300 (sbcl-package->ecl-package sbcl-cl-css))
3301
3302 (define-public sbcl-portable-threads
3303 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3304 (package
3305 (name "sbcl-portable-threads")
3306 (version (git-version "2.3" "1" commit))
3307 (source
3308 (origin
3309 (method git-fetch)
3310 (uri (git-reference
3311 (url "https://github.com/binghe/portable-threads/")
3312 (commit commit)))
3313 (file-name (git-file-name "portable-threads" version))
3314 (sha256
3315 (base32
3316 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3317 (build-system asdf-build-system/sbcl)
3318 (arguments
3319 `(;; Tests seem broken.
3320 #:tests? #f))
3321 (home-page "https://github.com/binghe/portable-threads")
3322 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3323 (description
3324 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3325 Lisp (from GBBopen project).")
3326 (license license:asl2.0))))
3327
3328 (define-public cl-portable-threads
3329 (sbcl-package->cl-source-package sbcl-portable-threads))
3330
3331 (define-public ecl-portable-threada
3332 (sbcl-package->ecl-package sbcl-portable-threads))
3333
3334 (define sbcl-usocket-boot0
3335 ;; usocket's test rely on usocket-server which depends on usocket itself.
3336 ;; We break this cyclic dependency with -boot0 that packages usocket.
3337 (package
3338 (name "sbcl-usocket-boot0")
3339 (version "0.8.3")
3340 (source
3341 (origin
3342 (method git-fetch)
3343 (uri (git-reference
3344 (url "https://github.com/usocket/usocket/")
3345 (commit (string-append "v" version))))
3346 (file-name (git-file-name "usocket" version))
3347 (sha256
3348 (base32
3349 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3350 (build-system asdf-build-system/sbcl)
3351 (inputs
3352 `(("split-sequence" ,sbcl-split-sequence)))
3353 (arguments
3354 `(#:tests? #f
3355 #:asd-system-name "usocket"))
3356 (home-page "https://common-lisp.net/project/usocket/")
3357 (synopsis "Universal socket library for Common Lisp (server side)")
3358 (description
3359 "This library strives to provide a portable TCP/IP and UDP/IP socket
3360 interface for as many Common Lisp implementations as possible, while keeping
3361 the abstraction and portability layer as thin as possible.")
3362 (license license:expat)))
3363
3364 (define-public sbcl-usocket-server
3365 (package
3366 (inherit sbcl-usocket-boot0)
3367 (name "sbcl-usocket-server")
3368 (inputs
3369 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3370 ("usocket" ,sbcl-usocket-boot0)))
3371 (arguments
3372 '(#:asd-system-name "usocket-server"))
3373 (synopsis "Universal socket library for Common Lisp (server side)")))
3374
3375 (define-public cl-usocket-server
3376 (sbcl-package->cl-source-package sbcl-usocket-server))
3377
3378 (define-public ecl-socket-server
3379 (sbcl-package->ecl-package sbcl-usocket-server))
3380
3381 (define-public sbcl-usocket
3382 (package
3383 (inherit sbcl-usocket-boot0)
3384 (name "sbcl-usocket")
3385 (arguments
3386 ;; FIXME: Tests need network access?
3387 `(#:tests? #f))
3388 (native-inputs
3389 ;; Testing only.
3390 `(("usocket-server" ,sbcl-usocket-server)
3391 ("rt" ,sbcl-rt)))))
3392
3393 (define-public cl-usocket
3394 (sbcl-package->cl-source-package sbcl-usocket))
3395
3396 (define-public ecl-usocket
3397 (sbcl-package->ecl-package sbcl-usocket))
3398
3399 (define-public sbcl-s-xml
3400 (package
3401 (name "sbcl-s-xml")
3402 (version "3")
3403 (source
3404 (origin
3405 (method url-fetch)
3406 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3407 (sha256
3408 (base32
3409 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3410 (build-system asdf-build-system/sbcl)
3411 (home-page "https://common-lisp.net/project/s-xml/")
3412 (synopsis "Simple XML parser implemented in Common Lisp")
3413 (description
3414 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3415 parser implementation has the following features:
3416
3417 @itemize
3418 @item It works (handling many common XML usages).
3419 @item It is very small (the core is about 700 lines of code, including
3420 comments and whitespace).
3421 @item It has a core API that is simple, efficient and pure functional, much
3422 like that from SSAX (see also http://ssax.sourceforge.net).
3423 @item It supports different DOM models: an XSML-based one, an LXML-based one
3424 and a classic xml-element struct based one.
3425 @item It is reasonably time and space efficient (internally avoiding garbage
3426 generatation as much as possible).
3427 @item It does support CDATA.
3428 @item It should support the same character sets as your Common Lisp
3429 implementation.
3430 @item It does support XML name spaces.
3431 @end itemize
3432
3433 This XML parser implementation has the following limitations:
3434
3435 @itemize
3436 @item It does not support any special tags (like processing instructions).
3437 @item It is not validating, even skips DTD's all together.
3438 @end itemize\n")
3439 (license license:lgpl3+)))
3440
3441 (define-public cl-s-xml
3442 (sbcl-package->cl-source-package sbcl-s-xml))
3443
3444 (define-public ecl-s-xml
3445 (sbcl-package->ecl-package sbcl-s-xml))
3446
3447 (define-public sbcl-s-xml-rpc
3448 (package
3449 (name "sbcl-s-xml-rpc")
3450 (version "7")
3451 (source
3452 (origin
3453 (method url-fetch)
3454 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3455 (sha256
3456 (base32
3457 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3458 (build-system asdf-build-system/sbcl)
3459 (inputs
3460 `(("s-xml" ,sbcl-s-xml)))
3461 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3462 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3463 (description
3464 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3465 client and server.")
3466 (license license:lgpl3+)))
3467
3468 (define-public cl-s-xml-rpc
3469 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3470
3471 (define-public ecl-s-xml-rpc
3472 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3473
3474 (define-public sbcl-trivial-clipboard
3475 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3476 (package
3477 (name "sbcl-trivial-clipboard")
3478 (version (git-version "0.0.0.0" "2" commit))
3479 (source
3480 (origin
3481 (method git-fetch)
3482 (uri (git-reference
3483 (url "https://github.com/snmsts/trivial-clipboard")
3484 (commit commit)))
3485 (file-name (git-file-name "trivial-clipboard" version))
3486 (sha256
3487 (base32
3488 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3489 (build-system asdf-build-system/sbcl)
3490 (inputs
3491 `(("xclip" ,xclip)))
3492 (native-inputs
3493 `(("fiveam" ,sbcl-fiveam)))
3494 (arguments
3495 `(#:phases
3496 (modify-phases %standard-phases
3497 (add-after 'unpack 'fix-paths
3498 (lambda* (#:key inputs #:allow-other-keys)
3499 (substitute* "src/text.lisp"
3500 (("\\(executable-find \"xclip\"\\)")
3501 (string-append "(executable-find \""
3502 (assoc-ref inputs "xclip")
3503 "/bin/xclip\")"))))))))
3504 (home-page "https://github.com/snmsts/trivial-clipboard")
3505 (synopsis "Access system clipboard in Common Lisp")
3506 (description
3507 "@command{trivial-clipboard} gives access to the system clipboard.")
3508 (license license:expat))))
3509
3510 (define-public cl-trivial-clipboard
3511 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3512
3513 (define-public ecl-trivial-clipboard
3514 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3515
3516 (define-public sbcl-trivial-backtrace
3517 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3518 (revision "1"))
3519 (package
3520 (name "sbcl-trivial-backtrace")
3521 (version (git-version "0.0.0" revision commit))
3522 (source
3523 (origin
3524 (method git-fetch)
3525 (uri (git-reference
3526 (url "https://github.com/gwkkwg/trivial-backtrace")
3527 (commit commit)))
3528 (file-name (git-file-name "trivial-backtrace" version))
3529 (sha256
3530 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3531 (build-system asdf-build-system/sbcl)
3532 (inputs
3533 `(("sbcl-lift" ,sbcl-lift)))
3534 (arguments
3535 `(#:phases
3536 (modify-phases %standard-phases
3537 (add-after 'check 'delete-test-results
3538 (lambda* (#:key outputs #:allow-other-keys)
3539 (let ((test-results (string-append (assoc-ref outputs "out")
3540 "/share/common-lisp/"
3541 (%lisp-type) "-source"
3542 "/trivial-backtrace"
3543 "/test-results")))
3544 (when (file-exists? test-results)
3545 (delete-file-recursively test-results)))
3546 #t)))))
3547 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3548 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3549 (description
3550 "One of the many things that didn't quite get into the Common Lisp
3551 standard was how to get a Lisp to output its call stack when something has
3552 gone wrong. As such, each Lisp has developed its own notion of what to
3553 display, how to display it, and what sort of arguments can be used to
3554 customize it. @code{trivial-backtrace} is a simple solution to generating a
3555 backtrace portably.")
3556 (license license:expat))))
3557
3558 (define-public cl-trivial-backtrace
3559 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3560
3561 (define-public sbcl-rfc2388
3562 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3563 (revision "1"))
3564 (package
3565 (name "sbcl-rfc2388")
3566 (version (git-version "0.0.0" revision commit))
3567 (source
3568 (origin
3569 (method git-fetch)
3570 (uri (git-reference
3571 (url "https://github.com/jdz/rfc2388")
3572 (commit commit)))
3573 (file-name (git-file-name "rfc2388" version))
3574 (sha256
3575 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3576 (build-system asdf-build-system/sbcl)
3577 (home-page "https://github.com/jdz/rfc2388/")
3578 (synopsis "An implementation of RFC 2388 in Common Lisp")
3579 (description
3580 "This package contains an implementation of RFC 2388, which is used to
3581 process form data posted with HTTP POST method using enctype
3582 \"multipart/form-data\".")
3583 (license license:bsd-2))))
3584
3585 (define-public cl-rfc2388
3586 (sbcl-package->cl-source-package sbcl-rfc2388))
3587
3588 (define-public sbcl-md5
3589 (package
3590 (name "sbcl-md5")
3591 (version "2.0.4")
3592 (source
3593 (origin
3594 (method git-fetch)
3595 (uri (git-reference
3596 (url "https://github.com/pmai/md5")
3597 (commit (string-append "release-" version))))
3598 (file-name (git-file-name "md5" version))
3599 (sha256
3600 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3601 (build-system asdf-build-system/sbcl)
3602 (home-page "https://github.com/pmai/md5")
3603 (synopsis
3604 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3605 (description
3606 "This package implements The MD5 Message-Digest Algorithm, as defined in
3607 RFC 1321 by R. Rivest, published April 1992.")
3608 (license license:public-domain)))
3609
3610 (define-public cl-md5
3611 (sbcl-package->cl-source-package sbcl-md5))
3612
3613 (define-public ecl-md5
3614 (package
3615 (inherit (sbcl-package->ecl-package sbcl-md5))
3616 (inputs
3617 `(("flexi-streams" ,ecl-flexi-streams)))))
3618
3619 (define-public sbcl-cl+ssl
3620 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3621 (revision "1"))
3622 (package
3623 (name "sbcl-cl+ssl")
3624 (version (git-version "0.0.0" revision commit))
3625 (source
3626 (origin
3627 (method git-fetch)
3628 (uri (git-reference
3629 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3630 (commit commit)))
3631 (file-name (git-file-name "cl+ssl" version))
3632 (sha256
3633 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3634 (build-system asdf-build-system/sbcl)
3635 (arguments
3636 '(#:phases
3637 (modify-phases %standard-phases
3638 (add-after 'unpack 'fix-paths
3639 (lambda* (#:key inputs #:allow-other-keys)
3640 (substitute* "src/reload.lisp"
3641 (("libssl.so" all)
3642 (string-append
3643 (assoc-ref inputs "openssl") "/lib/" all))))))))
3644 (inputs
3645 `(("openssl" ,openssl)
3646 ("sbcl-cffi" ,sbcl-cffi)
3647 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3648 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3649 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3650 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3651 ("sbcl-alexandria" ,sbcl-alexandria)
3652 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3653 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3654 (synopsis "Common Lisp bindings to OpenSSL")
3655 (description
3656 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3657 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3658 Development into CL+SSL was done by David Lichteblau.")
3659 (license license:expat))))
3660
3661 (define-public cl-cl+ssl
3662 (sbcl-package->cl-source-package sbcl-cl+ssl))
3663
3664 (define-public sbcl-kmrcl
3665 (let ((version "1.109.0")
3666 (commit "5260068b2eb735af6796740c2db4955afac21636")
3667 (revision "1"))
3668 (package
3669 (name "sbcl-kmrcl")
3670 (version (git-version version revision commit))
3671 (source
3672 (origin
3673 (method git-fetch)
3674 (uri (git-reference
3675 (url "http://git.kpe.io/kmrcl.git/")
3676 (commit commit)))
3677 (file-name (git-file-name name version))
3678 (sha256
3679 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3680 (build-system asdf-build-system/sbcl)
3681 (arguments
3682 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3683 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3684 '(#:tests? #f))
3685 (inputs
3686 `(("sbcl-rt" ,sbcl-rt)))
3687 (home-page "http://files.kpe.io/kmrcl/")
3688 (synopsis "General utilities for Common Lisp programs")
3689 (description
3690 "KMRCL is a collection of utilities used by a number of Kevin
3691 Rosenberg's CL packages.")
3692 (license license:llgpl))))
3693
3694 (define-public cl-kmrcl
3695 (sbcl-package->cl-source-package sbcl-kmrcl))
3696
3697 (define-public sbcl-cl-base64
3698 (package
3699 (name "sbcl-cl-base64")
3700 (version "3.3.4")
3701 (source
3702 (origin
3703 (method url-fetch)
3704 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3705 version ".tar.gz"))
3706 (sha256
3707 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3708 (build-system asdf-build-system/sbcl)
3709 (arguments
3710 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3711 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3712 ;; to toplevel
3713 '(#:tests? #f))
3714 (inputs
3715 `(("sbcl-ptester" ,sbcl-ptester)
3716 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3717 (home-page "http://files.kpe.io/cl-base64/")
3718 (synopsis
3719 "Common Lisp package to encode and decode base64 with URI support")
3720 (description
3721 "This package provides highly optimized base64 encoding and decoding.
3722 Besides conversion to and from strings, integer conversions are supported.
3723 Encoding with Uniform Resource Identifiers is supported by using a modified
3724 encoding table that uses only URI-compatible characters.")
3725 (license license:bsd-3)))
3726
3727 (define-public cl-base64
3728 (sbcl-package->cl-source-package sbcl-cl-base64))
3729
3730 (define-public sbcl-chunga
3731 (package
3732 (name "sbcl-chunga")
3733 (version "1.1.7")
3734 (source
3735 (origin
3736 (method git-fetch)
3737 (uri (git-reference
3738 (url "https://github.com/edicl/chunga")
3739 (commit (string-append "v" version))))
3740 (file-name (git-file-name name version))
3741 (sha256
3742 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3743 (build-system asdf-build-system/sbcl)
3744 (inputs
3745 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3746 (home-page "https://edicl.github.io/chunga/")
3747 (synopsis "Portable chunked streams for Common Lisp")
3748 (description
3749 "Chunga implements streams capable of chunked encoding on demand as
3750 defined in RFC 2616.")
3751 (license license:bsd-2)))
3752
3753 (define-public cl-chunga
3754 (sbcl-package->cl-source-package sbcl-chunga))
3755
3756 (define-public sbcl-cl-who
3757 (let ((version "1.1.4")
3758 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3759 (revision "1"))
3760 (package
3761 (name "sbcl-cl-who")
3762 (version (git-version version revision commit))
3763 (source
3764 (origin
3765 (method git-fetch)
3766 (uri (git-reference
3767 (url "https://github.com/edicl/cl-who")
3768 (commit commit)))
3769 (file-name (git-file-name name version))
3770 (sha256
3771 (base32
3772 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3773 (build-system asdf-build-system/sbcl)
3774 (native-inputs
3775 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3776 (home-page "https://edicl.github.io/cl-who/")
3777 (synopsis "Yet another Lisp markup language")
3778 (description
3779 "There are plenty of Lisp Markup Languages out there - every Lisp
3780 programmer seems to write at least one during his career - and CL-WHO (where
3781 WHO means \"with-html-output\" for want of a better acronym) is probably just
3782 as good or bad as the next one.")
3783 (license license:bsd-2))))
3784
3785 (define-public cl-cl-who
3786 (sbcl-package->cl-source-package sbcl-cl-who))
3787
3788 (define-public sbcl-chipz
3789 (let ((version "0.8")
3790 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3791 (revision "1"))
3792 (package
3793 (name "sbcl-chipz")
3794 (version (git-version version revision commit))
3795 (source
3796 (origin
3797 (method git-fetch)
3798 (uri (git-reference
3799 (url "https://github.com/froydnj/chipz")
3800 (commit commit)))
3801 (file-name (git-file-name name version))
3802 (sha256
3803 (base32
3804 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3805 (build-system asdf-build-system/sbcl)
3806 (native-inputs
3807 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3808 (home-page "http://method-combination.net/lisp/chipz/")
3809 (synopsis
3810 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3811 data")
3812 (description
3813 "DEFLATE data, defined in RFC1951, forms the core of popular
3814 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3815 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3816 the format used by the popular compression tool bzip2.")
3817 ;; The author describes it as "MIT-like"
3818 (license license:expat))))
3819
3820 (define-public cl-chipz
3821 (sbcl-package->cl-source-package sbcl-chipz))
3822
3823 (define-public sbcl-drakma
3824 (package
3825 (name "sbcl-drakma")
3826 (version "2.0.7")
3827 (source
3828 (origin
3829 (method git-fetch)
3830 (uri (git-reference
3831 (url "https://github.com/edicl/drakma")
3832 (commit (string-append "v" version))))
3833 (file-name (git-file-name name version))
3834 (sha256
3835 (base32
3836 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3837 (build-system asdf-build-system/sbcl)
3838 (inputs
3839 `(("sbcl-puri" ,sbcl-puri)
3840 ("sbcl-cl-base64" ,sbcl-cl-base64)
3841 ("sbcl-chunga" ,sbcl-chunga)
3842 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3843 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3844 ("sbcl-chipz" ,sbcl-chipz)
3845 ("sbcl-usocket" ,sbcl-usocket)
3846 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3847 (native-inputs
3848 `(("sbcl-fiveam" ,sbcl-fiveam)))
3849 (home-page "https://edicl.github.io/drakma/")
3850 (synopsis "HTTP client written in Common Lisp")
3851 (description
3852 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3853 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3854 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3855 (license license:bsd-2)))
3856
3857 (define-public cl-drakma
3858 (sbcl-package->cl-source-package sbcl-drakma))
3859
3860 (define-public ecl-drakma
3861 (sbcl-package->ecl-package sbcl-drakma))
3862
3863 (define-public sbcl-hunchentoot
3864 (package
3865 (name "sbcl-hunchentoot")
3866 (version "1.2.38")
3867 (source
3868 (origin
3869 (method git-fetch)
3870 (uri (git-reference
3871 (url "https://github.com/edicl/hunchentoot")
3872 (commit (string-append "v" version))))
3873 (file-name (git-file-name "hunchentoot" version))
3874 (sha256
3875 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3876 (build-system asdf-build-system/sbcl)
3877 (native-inputs
3878 `(("sbcl-cl-who" ,sbcl-cl-who)
3879 ("sbcl-drakma" ,sbcl-drakma)))
3880 (inputs
3881 `(("sbcl-chunga" ,sbcl-chunga)
3882 ("sbcl-cl-base64" ,sbcl-cl-base64)
3883 ("sbcl-cl-fad" ,sbcl-cl-fad)
3884 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3885 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3886 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3887 ("sbcl-md5" ,sbcl-md5)
3888 ("sbcl-rfc2388" ,sbcl-rfc2388)
3889 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3890 ("sbcl-usocket" ,sbcl-usocket)))
3891 (home-page "https://edicl.github.io/hunchentoot/")
3892 (synopsis "Web server written in Common Lisp")
3893 (description
3894 "Hunchentoot is a web server written in Common Lisp and at the same
3895 time a toolkit for building dynamic websites. As a stand-alone web server,
3896 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3897 connections (keep-alive), and SSL.")
3898 (license license:bsd-2)))
3899
3900 (define-public cl-hunchentoot
3901 (sbcl-package->cl-source-package sbcl-hunchentoot))
3902
3903 (define-public sbcl-trivial-types
3904 (package
3905 (name "sbcl-trivial-types")
3906 (version "0.0.1")
3907 (source
3908 (origin
3909 (method git-fetch)
3910 (uri (git-reference
3911 (url "https://github.com/m2ym/trivial-types")
3912 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3913 (file-name (git-file-name name version))
3914 (sha256
3915 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3916 (build-system asdf-build-system/sbcl)
3917 (home-page "https://github.com/m2ym/trivial-types")
3918 (synopsis "Trivial type definitions for Common Lisp")
3919 (description
3920 "TRIVIAL-TYPES provides missing but important type definitions such as
3921 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3922 (license license:llgpl)))
3923
3924 (define-public cl-trivial-types
3925 (sbcl-package->cl-source-package sbcl-trivial-types))
3926
3927 (define-public sbcl-cl-syntax
3928 (package
3929 (name "sbcl-cl-syntax")
3930 (version "0.0.3")
3931 (source
3932 (origin
3933 (method git-fetch)
3934 (uri (git-reference
3935 (url "https://github.com/m2ym/cl-syntax")
3936 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3937 (file-name (git-file-name "cl-syntax" version))
3938 (sha256
3939 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3940 (build-system asdf-build-system/sbcl)
3941 (arguments
3942 '(#:asd-file "cl-syntax.asd"
3943 #:asd-system-name "cl-syntax"))
3944 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3945 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3946 (home-page "https://github.com/m2ym/cl-syntax")
3947 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3948 (description
3949 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3950 (license license:llgpl)))
3951
3952 (define-public cl-syntax
3953 (sbcl-package->cl-source-package sbcl-cl-syntax))
3954
3955 (define-public sbcl-cl-annot
3956 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3957 (revision "1"))
3958 (package
3959 (name "sbcl-cl-annot")
3960 (version (git-version "0.0.0" revision commit))
3961 (source
3962 (origin
3963 (method git-fetch)
3964 (uri (git-reference
3965 (url "https://github.com/m2ym/cl-annot")
3966 (commit commit)))
3967 (file-name (git-file-name name version))
3968 (sha256
3969 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3970 (build-system asdf-build-system/sbcl)
3971 (arguments
3972 '(#:asd-file "cl-annot.asd"
3973 #:asd-system-name "cl-annot"))
3974 (inputs
3975 `(("sbcl-alexandria" ,sbcl-alexandria)))
3976 (home-page "https://github.com/m2ym/cl-annot")
3977 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3978 (description
3979 "@code{cl-annot} is an general annotation library for Common Lisp.")
3980 (license license:llgpl))))
3981
3982 (define-public cl-annot
3983 (sbcl-package->cl-source-package sbcl-cl-annot))
3984
3985 (define-public sbcl-cl-syntax-annot
3986 (package
3987 (inherit sbcl-cl-syntax)
3988 (name "sbcl-cl-syntax-annot")
3989 (arguments
3990 '(#:asd-file "cl-syntax-annot.asd"
3991 #:asd-system-name "cl-syntax-annot"))
3992 (inputs
3993 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3994 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3995 (synopsis "Common Lisp reader Syntax for cl-annot")
3996 (description
3997 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3998 @code{cl-annot}.")))
3999
4000 (define-public cl-syntax-annot
4001 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
4002
4003 (define-public sbcl-cl-syntax-interpol
4004 (package
4005 (inherit sbcl-cl-syntax)
4006 (name "sbcl-cl-syntax-interpol")
4007 (arguments
4008 '(#:asd-file "cl-syntax-interpol.asd"
4009 #:asd-system-name "cl-syntax-interpol"))
4010 (inputs
4011 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4012 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4013 (synopsis "Common Lisp reader Syntax for cl-interpol")
4014 (description
4015 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4016 @code{cl-interpol}.")))
4017
4018 (define-public cl-syntax-interpol
4019 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4020
4021 (define-public sbcl-cl-utilities
4022 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4023 (revision "1"))
4024 (package
4025 (name "sbcl-cl-utilities")
4026 (version (git-version "0.0.0" revision commit))
4027 (source
4028 (origin
4029 (method url-fetch)
4030 (uri
4031 (string-append
4032 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4033 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4034 (sha256
4035 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4036 (build-system asdf-build-system/sbcl)
4037 (arguments
4038 '(#:asd-file "cl-utilities.asd"
4039 #:asd-system-name "cl-utilities"
4040 #:phases
4041 (modify-phases %standard-phases
4042 (add-after 'unpack 'fix-paths
4043 (lambda* (#:key inputs #:allow-other-keys)
4044 (substitute* "rotate-byte.lisp"
4045 (("in-package :cl-utilities)" all)
4046 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4047 (home-page "http://common-lisp.net/project/cl-utilities")
4048 (synopsis "A collection of semi-standard utilities")
4049 (description
4050 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4051 is a collection of Common Lisp Utilities, things that everybody writes since
4052 they're not part of the official standard. There are some very useful things
4053 there; the only problems are that they aren't implemented as well as you'd
4054 like (some aren't implemented at all) and they aren't conveniently packaged
4055 and maintained. It takes quite a bit of work to carefully implement utilities
4056 for common use, commented and documented, with error checking placed
4057 everywhere some dumb user might make a mistake.")
4058 (license license:public-domain))))
4059
4060 (define-public cl-utilities
4061 (sbcl-package->cl-source-package sbcl-cl-utilities))
4062
4063 (define-public sbcl-map-set
4064 (let ((commit "7b4b545b68b8")
4065 (revision "1"))
4066 (package
4067 (name "sbcl-map-set")
4068 (version (git-version "0.0.0" revision commit))
4069 (source
4070 (origin
4071 (method url-fetch)
4072 (uri (string-append
4073 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4074 commit ".tar.gz"))
4075 (sha256
4076 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4077 (build-system asdf-build-system/sbcl)
4078 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4079 (synopsis "Set-like data structure")
4080 (description
4081 "Implementation of a set-like data structure with constant time
4082 addition, removal, and random selection.")
4083 (license license:bsd-3))))
4084
4085 (define-public cl-map-set
4086 (sbcl-package->cl-source-package sbcl-map-set))
4087
4088 (define-public sbcl-quri
4089 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4090 (revision "2"))
4091 (package
4092 (name "sbcl-quri")
4093 (version (git-version "0.1.0" revision commit))
4094 (source
4095 (origin
4096 (method git-fetch)
4097 (uri (git-reference
4098 (url "https://github.com/fukamachi/quri")
4099 (commit commit)))
4100 (file-name (git-file-name name version))
4101 (sha256
4102 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
4103 (build-system asdf-build-system/sbcl)
4104 (arguments
4105 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4106 ;; required by #<SYSTEM "quri">. Why?
4107 '(#:tests? #f))
4108 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4109 ("sbcl-prove" ,sbcl-prove)))
4110 (inputs `(("sbcl-babel" ,sbcl-babel)
4111 ("sbcl-split-sequence" ,sbcl-split-sequence)
4112 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4113 ("sbcl-alexandria" ,sbcl-alexandria)))
4114 (home-page "https://github.com/fukamachi/quri")
4115 (synopsis "Yet another URI library for Common Lisp")
4116 (description
4117 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4118 Lisp. It is intended to be a replacement of PURI.")
4119 (license license:bsd-3))))
4120
4121 (define-public cl-quri
4122 (sbcl-package->cl-source-package sbcl-quri))
4123
4124 (define-public sbcl-myway
4125 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4126 (revision "1"))
4127 (package
4128 (name "sbcl-myway")
4129 (version (git-version "0.1.0" revision commit))
4130 (source
4131 (origin
4132 (method git-fetch)
4133 (uri (git-reference
4134 (url "https://github.com/fukamachi/myway")
4135 (commit commit)))
4136 (file-name (git-file-name "myway" version))
4137 (sha256
4138 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4139 (build-system asdf-build-system/sbcl)
4140 (arguments
4141 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4142 ;; by #<SYSTEM "myway">. Why?
4143 '(#:tests? #f))
4144 (native-inputs
4145 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4146 ("sbcl-prove" ,sbcl-prove)))
4147 (inputs
4148 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4149 ("sbcl-quri" ,sbcl-quri)
4150 ("sbcl-map-set" ,sbcl-map-set)))
4151 (home-page "https://github.com/fukamachi/myway")
4152 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4153 (description "My Way is a Sinatra-compatible URL routing library.")
4154 (license license:llgpl))))
4155
4156 (define-public cl-myway
4157 (sbcl-package->cl-source-package sbcl-myway))
4158
4159 (define-public sbcl-xsubseq
4160 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4161 (revision "1"))
4162 (package
4163 (name "sbcl-xsubseq")
4164 (version (git-version "0.0.1" revision commit))
4165 (source
4166 (origin
4167 (method git-fetch)
4168 (uri (git-reference
4169 (url "https://github.com/fukamachi/xsubseq")
4170 (commit commit)))
4171 (file-name (git-file-name name version))
4172 (sha256
4173 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4174 (build-system asdf-build-system/sbcl)
4175 (arguments
4176 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4177 ;; required by #<SYSTEM "xsubseq">. Why?
4178 '(#:tests? #f))
4179 (native-inputs
4180 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4181 ("sbcl-prove" ,sbcl-prove)))
4182 (home-page "https://github.com/fukamachi/xsubseq")
4183 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4184 (description
4185 "XSubseq provides functions to be able to handle \"subseq\"s more
4186 effieiently.")
4187 (license license:bsd-2))))
4188
4189 (define-public cl-xsubseq
4190 (sbcl-package->cl-source-package sbcl-xsubseq))
4191
4192 (define-public sbcl-smart-buffer
4193 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4194 (revision "1"))
4195 (package
4196 (name "sbcl-smart-buffer")
4197 (version (git-version "0.0.1" revision commit))
4198 (source
4199 (origin
4200 (method git-fetch)
4201 (uri (git-reference
4202 (url "https://github.com/fukamachi/smart-buffer")
4203 (commit commit)))
4204 (file-name (git-file-name name version))
4205 (sha256
4206 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4207 (build-system asdf-build-system/sbcl)
4208 (arguments
4209 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4210 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4211 `(#:tests? #f))
4212 (native-inputs
4213 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4214 ("sbcl-prove" ,sbcl-prove)))
4215 (inputs
4216 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4217 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4218 (home-page "https://github.com/fukamachi/smart-buffer")
4219 (synopsis "Smart octets buffer")
4220 (description
4221 "Smart-buffer provides an output buffer which changes the destination
4222 depending on content size.")
4223 (license license:bsd-3))))
4224
4225 (define-public cl-smart-buffer
4226 (sbcl-package->cl-source-package sbcl-smart-buffer))
4227
4228 (define-public sbcl-fast-http
4229 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4230 (revision "2"))
4231 (package
4232 (name "sbcl-fast-http")
4233 (version (git-version "0.2.0" revision commit))
4234 (source
4235 (origin
4236 (method git-fetch)
4237 (uri (git-reference
4238 (url "https://github.com/fukamachi/fast-http")
4239 (commit commit)))
4240 (file-name (git-file-name name version))
4241 (sha256
4242 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4243 (build-system asdf-build-system/sbcl)
4244 (arguments
4245 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4246 ;; required by #<SYSTEM "fast-http">. Why?
4247 `(#:tests? #f))
4248 (native-inputs
4249 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4250 ("sbcl-prove" ,sbcl-prove)
4251 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
4252 (inputs
4253 `(("sbcl-alexandria" ,sbcl-alexandria)
4254 ("sbcl-proc-parse" ,sbcl-proc-parse)
4255 ("sbcl-xsubseq" ,sbcl-xsubseq)
4256 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4257 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4258 (home-page "https://github.com/fukamachi/fast-http")
4259 (synopsis "HTTP request/response parser for Common Lisp")
4260 (description
4261 "@code{fast-http} is a HTTP request/response protocol parser for Common
4262 Lisp.")
4263 ;; Author specified the MIT license
4264 (license license:expat))))
4265
4266 (define-public cl-fast-http
4267 (sbcl-package->cl-source-package sbcl-fast-http))
4268
4269 (define-public sbcl-static-vectors
4270 (package
4271 (name "sbcl-static-vectors")
4272 (version "1.8.4")
4273 (source
4274 (origin
4275 (method git-fetch)
4276 (uri (git-reference
4277 (url "https://github.com/sionescu/static-vectors")
4278 (commit (string-append "v" version))))
4279 (file-name (git-file-name name version))
4280 (sha256
4281 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4282 (native-inputs
4283 `(("sbcl-fiveam" ,sbcl-fiveam)))
4284 (inputs
4285 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4286 ("sbcl-cffi" ,sbcl-cffi)))
4287 (build-system asdf-build-system/sbcl)
4288 (home-page "https://github.com/sionescu/static-vectors")
4289 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4290 (description
4291 "With @code{static-vectors}, you can create vectors allocated in static
4292 memory.")
4293 (license license:expat)))
4294
4295 (define-public cl-static-vectors
4296 (sbcl-package->cl-source-package sbcl-static-vectors))
4297
4298 (define-public ecl-static-vectors
4299 (sbcl-package->ecl-package sbcl-static-vectors))
4300
4301 (define-public sbcl-marshal
4302 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4303 (revision "1"))
4304 (package
4305 (name "sbcl-marshal")
4306 (version (git-version "1.3.0" revision commit))
4307 (source
4308 (origin
4309 (method git-fetch)
4310 (uri (git-reference
4311 (url "https://github.com/wlbr/cl-marshal")
4312 (commit commit)))
4313 (file-name (git-file-name name version))
4314 (sha256
4315 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4316 (build-system asdf-build-system/sbcl)
4317 (home-page "https://github.com/wlbr/cl-marshal")
4318 (synopsis "Simple (de)serialization of Lisp datastructures")
4319 (description
4320 "Simple and fast marshalling of Lisp datastructures. Convert any object
4321 into a string representation, put it on a stream an revive it from there.
4322 Only minimal changes required to make your CLOS objects serializable.")
4323 (license license:expat))))
4324
4325 (define-public cl-marshal
4326 (sbcl-package->cl-source-package sbcl-marshal))
4327
4328 (define-public sbcl-checkl
4329 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4330 (revision "1"))
4331 (package
4332 (name "sbcl-checkl")
4333 (version (git-version "0.0.0" revision commit))
4334 (source
4335 (origin
4336 (method git-fetch)
4337 (uri (git-reference
4338 (url "https://github.com/rpav/CheckL")
4339 (commit commit)))
4340 (file-name (git-file-name name version))
4341 (sha256
4342 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4343 (build-system asdf-build-system/sbcl)
4344 (arguments
4345 ;; Error while trying to load definition for system checkl-test from
4346 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4347 ;; is undefined.
4348 '(#:tests? #f))
4349 (native-inputs
4350 `(("sbcl-fiveam" ,sbcl-fiveam)))
4351 (inputs
4352 `(("sbcl-marshal" ,sbcl-marshal)))
4353 (home-page "https://github.com/rpav/CheckL/")
4354 (synopsis "Dynamic testing for Common Lisp")
4355 (description
4356 "CheckL lets you write tests dynamically, it checks resulting values
4357 against the last run.")
4358 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4359 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4360 ;; stronger of the two and so I think only listing this should suffice.
4361 (license license:llgpl))))
4362
4363 (define-public cl-checkl
4364 (sbcl-package->cl-source-package sbcl-checkl))
4365
4366 (define-public sbcl-fast-io
4367 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4368 (revision "2"))
4369 (package
4370 (name "sbcl-fast-io")
4371 (version (git-version "1.0.0" revision commit))
4372 (source
4373 (origin
4374 (method git-fetch)
4375 (uri (git-reference
4376 (url "https://github.com/rpav/fast-io")
4377 (commit commit)))
4378 (file-name (git-file-name name version))
4379 (sha256
4380 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4381 (build-system asdf-build-system/sbcl)
4382 (arguments
4383 ;; Error while trying to load definition for system fast-io-test from
4384 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4385 ;; is undefined.
4386 '(#:tests? #f))
4387 (native-inputs
4388 `(("sbcl-fiveam" ,sbcl-fiveam)
4389 ("sbcl-checkl" ,sbcl-checkl)))
4390 (inputs
4391 `(("sbcl-alexandria" ,sbcl-alexandria)
4392 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4393 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4394 (home-page "https://github.com/rpav/fast-io")
4395 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4396 (description
4397 "Fast-io is about improving performance to octet-vectors and octet
4398 streams (though primarily the former, while wrapping the latter).")
4399 ;; Author specifies this as NewBSD which is an alias
4400 (license license:bsd-3))))
4401
4402 (define-public cl-fast-io
4403 (sbcl-package->cl-source-package sbcl-fast-io))
4404
4405 (define-public sbcl-jonathan
4406 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4407 (revision "1"))
4408 (package
4409 (name "sbcl-jonathan")
4410 (version (git-version "0.1.0" revision commit))
4411 (source
4412 (origin
4413 (method git-fetch)
4414 (uri (git-reference
4415 (url "https://github.com/Rudolph-Miller/jonathan")
4416 (commit commit)))
4417 (file-name (git-file-name name version))
4418 (sha256
4419 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4420 (build-system asdf-build-system/sbcl)
4421 (arguments
4422 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4423 ;; required by #<SYSTEM "jonathan">. Why?
4424 `(#:tests? #f))
4425 (native-inputs
4426 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4427 ("sbcl-prove" ,sbcl-prove)))
4428 (inputs
4429 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4430 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4431 ("sbcl-fast-io" ,sbcl-fast-io)
4432 ("sbcl-proc-parse" ,sbcl-proc-parse)
4433 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4434 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4435 (synopsis "JSON encoder and decoder")
4436 (description
4437 "High performance JSON encoder and decoder. Currently support: SBCL,
4438 CCL.")
4439 ;; Author specifies the MIT license
4440 (license license:expat))))
4441
4442 (define-public cl-jonathan
4443 (sbcl-package->cl-source-package sbcl-jonathan))
4444
4445 (define-public sbcl-http-body
4446 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4447 (revision "1"))
4448 (package
4449 (name "sbcl-http-body")
4450 (version (git-version "0.1.0" revision commit))
4451 (source
4452 (origin
4453 (method git-fetch)
4454 (uri (git-reference
4455 (url "https://github.com/fukamachi/http-body")
4456 (commit commit)))
4457 (file-name (git-file-name name version))
4458 (sha256
4459 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4460 (build-system asdf-build-system/sbcl)
4461 (arguments
4462 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4463 ;; found, required by #<SYSTEM "http-body">. Why?
4464 `(#:tests? #f))
4465 (native-inputs
4466 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4467 ("sbcl-prove" ,sbcl-prove)))
4468 (inputs
4469 `(("sbcl-fast-http" ,sbcl-fast-http)
4470 ("sbcl-jonathan" ,sbcl-jonathan)
4471 ("sbcl-quri" ,sbcl-quri)))
4472 (home-page "https://github.com/fukamachi/http-body")
4473 (synopsis "HTTP POST data parser")
4474 (description
4475 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4476 supports application/x-www-form-urlencoded, application/json, and
4477 multipart/form-data.")
4478 (license license:bsd-2))))
4479
4480 (define-public cl-http-body
4481 (sbcl-package->cl-source-package sbcl-http-body))
4482
4483 (define-public sbcl-circular-streams
4484 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4485 (revision "1"))
4486 (package
4487 (name "sbcl-circular-streams")
4488 (version (git-version "0.1.0" revision commit))
4489 (source
4490 (origin
4491 (method git-fetch)
4492 (uri (git-reference
4493 (url "https://github.com/fukamachi/circular-streams")
4494 (commit commit)))
4495 (file-name (git-file-name name version))
4496 (sha256
4497 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4498 (build-system asdf-build-system/sbcl)
4499 (arguments
4500 ;; The tests depend on cl-test-more which is now prove. Prove
4501 ;; tests aren't working for some reason.
4502 `(#:tests? #f))
4503 (inputs
4504 `(("sbcl-fast-io" ,sbcl-fast-io)
4505 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4506 (home-page "https://github.com/fukamachi/circular-streams")
4507 (synopsis "Circularly readable streams for Common Lisp")
4508 (description
4509 "Circular-Streams allows you to read streams circularly by wrapping real
4510 streams. Once you reach end-of-file of a stream, it's file position will be
4511 reset to 0 and you're able to read it again.")
4512 (license license:llgpl))))
4513
4514 (define-public cl-circular-streams
4515 (sbcl-package->cl-source-package sbcl-circular-streams))
4516
4517 (define-public sbcl-lack-request
4518 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4519 (revision "1"))
4520 (package
4521 (name "sbcl-lack-request")
4522 (version (git-version "0.1.0" revision commit))
4523 (source
4524 (origin
4525 (method git-fetch)
4526 (uri (git-reference
4527 (url "https://github.com/fukamachi/lack")
4528 (commit commit)))
4529 (file-name (git-file-name "lack-request" version))
4530 (sha256
4531 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4532 (build-system asdf-build-system/sbcl)
4533 (arguments
4534 '(#:asd-file "lack-request.asd"
4535 #:asd-system-name "lack-request"
4536 #:test-asd-file "t-lack-request.asd"
4537 ;; XXX: Component :CLACK-TEST not found
4538 #:tests? #f))
4539 (native-inputs
4540 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4541 ("sbcl-prove" ,sbcl-prove)))
4542 (inputs
4543 `(("sbcl-quri" ,sbcl-quri)
4544 ("sbcl-http-body" ,sbcl-http-body)
4545 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4546 (home-page "https://github.com/fukamachi/lack")
4547 (synopsis "Lack, the core of Clack")
4548 (description
4549 "Lack is a Common Lisp library which allows web applications to be
4550 constructed of modular components. It was originally a part of Clack, however
4551 it's going to be rewritten as an individual project since Clack v2 with
4552 performance and simplicity in mind.")
4553 (license license:llgpl))))
4554
4555 (define-public cl-lack-request
4556 (sbcl-package->cl-source-package sbcl-lack-request))
4557
4558 (define-public sbcl-local-time
4559 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
4560 (revision "1"))
4561 (package
4562 (name "sbcl-local-time")
4563 (version (git-version "1.0.6" revision commit))
4564 (source
4565 (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/dlowe-net/local-time")
4569 (commit commit)))
4570 (file-name (git-file-name name version))
4571 (sha256
4572 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
4573 (build-system asdf-build-system/sbcl)
4574 (arguments
4575 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4576 ;; "local-time/test">
4577 '(#:tests? #f))
4578 (native-inputs
4579 `(("stefil" ,sbcl-hu.dwim.stefil)))
4580 (inputs
4581 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4582 (home-page "https://common-lisp.net/project/local-time/")
4583 (synopsis "Time manipulation library for Common Lisp")
4584 (description
4585 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4586 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4587 Long Painful History of Time\".")
4588 (license license:expat))))
4589
4590 (define-public cl-local-time
4591 (sbcl-package->cl-source-package sbcl-local-time))
4592
4593 (define-public sbcl-lack-response
4594 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4595 (revision "1"))
4596 (package
4597 (name "sbcl-lack-response")
4598 (version (git-version "0.1.0" revision commit))
4599 (source
4600 (origin
4601 (method git-fetch)
4602 (uri (git-reference
4603 (url "https://github.com/fukamachi/lack")
4604 (commit commit)))
4605 (file-name (git-file-name name version))
4606 (sha256
4607 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4608 (build-system asdf-build-system/sbcl)
4609 (arguments
4610 '(#:asd-file "lack-response.asd"
4611 #:asd-system-name "lack-response"
4612 ;; XXX: no tests for lack-response.
4613 #:tests? #f))
4614 (native-inputs
4615 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4616 ("sbcl-prove" ,sbcl-prove)))
4617 (inputs
4618 `(("sbcl-quri" ,sbcl-quri)
4619 ("sbcl-http-body" ,sbcl-http-body)
4620 ("sbcl-circular-streams" ,sbcl-circular-streams)
4621 ("sbcl-local-time" ,sbcl-local-time)))
4622 (home-page "https://github.com/fukamachi/lack")
4623 (synopsis "Lack, the core of Clack")
4624 (description
4625 "Lack is a Common Lisp library which allows web applications to be
4626 constructed of modular components. It was originally a part of Clack, however
4627 it's going to be rewritten as an individual project since Clack v2 with
4628 performance and simplicity in mind.")
4629 (license license:llgpl))))
4630
4631 (define-public cl-lack-response
4632 (sbcl-package->cl-source-package sbcl-lack-response))
4633
4634 (define-public sbcl-lack-component
4635 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4636 (revision "1"))
4637 (package
4638 (name "sbcl-lack-component")
4639 (version (git-version "0.0.0" revision commit))
4640 (source
4641 (origin
4642 (method git-fetch)
4643 (uri (git-reference
4644 (url "https://github.com/fukamachi/lack")
4645 (commit commit)))
4646 (file-name (git-file-name "lack-component" version))
4647 (sha256
4648 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4649 (build-system asdf-build-system/sbcl)
4650 (arguments
4651 '(#:asd-file "lack-component.asd"
4652 #:asd-system-name "lack-component"
4653 #:test-asd-file "t-lack-component.asd"
4654 ;; XXX: Component :LACK-TEST not found
4655 #:tests? #f))
4656 (native-inputs
4657 `(("prove-asdf" ,sbcl-prove-asdf)))
4658 (home-page "https://github.com/fukamachi/lack")
4659 (synopsis "Lack, the core of Clack")
4660 (description
4661 "Lack is a Common Lisp library which allows web applications to be
4662 constructed of modular components. It was originally a part of Clack, however
4663 it's going to be rewritten as an individual project since Clack v2 with
4664 performance and simplicity in mind.")
4665 (license license:llgpl))))
4666
4667 (define-public cl-lack-component
4668 (sbcl-package->cl-source-package sbcl-lack-component))
4669
4670 (define-public sbcl-lack-util
4671 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4672 (revision "1"))
4673 (package
4674 (name "sbcl-lack-util")
4675 (version (git-version "0.1.0" revision commit))
4676 (source
4677 (origin
4678 (method git-fetch)
4679 (uri (git-reference
4680 (url "https://github.com/fukamachi/lack")
4681 (commit commit)))
4682 (file-name (git-file-name "lack-util" version))
4683 (sha256
4684 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4685 (build-system asdf-build-system/sbcl)
4686 (arguments
4687 '(#:asd-file "lack-util.asd"
4688 #:asd-system-name "lack-util"
4689 #:test-asd-file "t-lack-util.asd"
4690 ;; XXX: Component :LACK-TEST not found
4691 #:tests? #f))
4692 (native-inputs
4693 `(("prove-asdf" ,sbcl-prove-asdf)))
4694 (inputs
4695 `(("sbcl-ironclad" ,sbcl-ironclad)))
4696 (home-page "https://github.com/fukamachi/lack")
4697 (synopsis "Lack, the core of Clack")
4698 (description
4699 "Lack is a Common Lisp library which allows web applications to be
4700 constructed of modular components. It was originally a part of Clack, however
4701 it's going to be rewritten as an individual project since Clack v2 with
4702 performance and simplicity in mind.")
4703 (license license:llgpl))))
4704
4705 (define-public cl-lack-util
4706 (sbcl-package->cl-source-package sbcl-lack-util))
4707
4708 (define-public sbcl-lack-middleware-backtrace
4709 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4710 (revision "1"))
4711 (package
4712 (name "sbcl-lack-middleware-backtrace")
4713 (version (git-version "0.1.0" revision commit))
4714 (source
4715 (origin
4716 (method git-fetch)
4717 (uri (git-reference
4718 (url "https://github.com/fukamachi/lack")
4719 (commit commit)))
4720 (file-name (git-file-name "lack-middleware-backtrace" version))
4721 (sha256
4722 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4723 (build-system asdf-build-system/sbcl)
4724 (arguments
4725 '(#:asd-file "lack-middleware-backtrace.asd"
4726 #:asd-system-name "lack-middleware-backtrace"
4727 #:test-asd-file "t-lack-middleware-backtrace.asd"
4728 ;; XXX: Component :LACK not found
4729 #:tests? #f))
4730 (native-inputs
4731 `(("prove-asdf" ,sbcl-prove-asdf)))
4732 (home-page "https://github.com/fukamachi/lack")
4733 (synopsis "Lack, the core of Clack")
4734 (description
4735 "Lack is a Common Lisp library which allows web applications to be
4736 constructed of modular components. It was originally a part of Clack, however
4737 it's going to be rewritten as an individual project since Clack v2 with
4738 performance and simplicity in mind.")
4739 (license license:llgpl))))
4740
4741 (define-public cl-lack-middleware-backtrace
4742 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4743
4744 (define-public sbcl-trivial-mimes
4745 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4746 (revision "1"))
4747 (package
4748 (name "sbcl-trivial-mimes")
4749 (version (git-version "1.1.0" revision commit))
4750 (source
4751 (origin
4752 (method git-fetch)
4753 (uri (git-reference
4754 (url "https://github.com/Shinmera/trivial-mimes")
4755 (commit commit)))
4756 (file-name (git-file-name name version))
4757 (sha256
4758 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4759 (build-system asdf-build-system/sbcl)
4760 (arguments
4761 '(#:phases
4762 (modify-phases %standard-phases
4763 (add-after
4764 'unpack 'fix-paths
4765 (lambda* (#:key inputs #:allow-other-keys)
4766 (let ((anchor "#p\"/etc/mime.types\""))
4767 (substitute* "mime-types.lisp"
4768 ((anchor all)
4769 (string-append
4770 anchor "\n"
4771 "(asdf:system-relative-pathname :trivial-mimes "
4772 "\"../../share/common-lisp/" (%lisp-type)
4773 "-source/trivial-mimes/mime.types\")")))))))))
4774 (native-inputs
4775 `(("stefil" ,sbcl-hu.dwim.stefil)))
4776 (inputs
4777 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4778 (home-page "https://shinmera.github.io/trivial-mimes/")
4779 (synopsis "Tiny Common Lisp library to detect mime types in files")
4780 (description
4781 "This is a teensy library that provides some functions to determine the
4782 mime-type of a file.")
4783 (license license:artistic2.0))))
4784
4785 (define-public cl-trivial-mimes
4786 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4787
4788 (define-public ecl-trivial-mimes
4789 (sbcl-package->ecl-package sbcl-trivial-mimes))
4790
4791 (define-public sbcl-lack-middleware-static
4792 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4793 (revision "1"))
4794 (package
4795 (name "sbcl-lack-middleware-static")
4796 (version (git-version "0.1.0" revision commit))
4797 (source
4798 (origin
4799 (method git-fetch)
4800 (uri (git-reference
4801 (url "https://github.com/fukamachi/lack")
4802 (commit commit)))
4803 (file-name (git-file-name "lack-middleware-static" version))
4804 (sha256
4805 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4806 (build-system asdf-build-system/sbcl)
4807 (arguments
4808 '(#:asd-file "lack-middleware-static.asd"
4809 #:asd-system-name "lack-middleware-static"
4810 #:test-asd-file "t-lack-middleware-static.asd"
4811 ;; XXX: Component :LACK not found
4812 #:tests? #f))
4813 (native-inputs
4814 `(("prove-asdf" ,sbcl-prove-asdf)))
4815 (inputs
4816 `(("sbcl-ironclad" ,sbcl-ironclad)
4817 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4818 ("sbcl-local-time" ,sbcl-local-time)))
4819 (home-page "https://github.com/fukamachi/lack")
4820 (synopsis "Lack, the core of Clack")
4821 (description
4822 "Lack is a Common Lisp library which allows web applications to be
4823 constructed of modular components. It was originally a part of Clack, however
4824 it's going to be rewritten as an individual project since Clack v2 with
4825 performance and simplicity in mind.")
4826 (license license:llgpl))))
4827
4828 (define-public cl-lack-middleware-static
4829 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4830
4831 (define-public sbcl-lack
4832 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4833 (revision "1"))
4834 (package
4835 (name "sbcl-lack")
4836 (version (git-version "0.1.0" revision commit))
4837 (source
4838 (origin
4839 (method git-fetch)
4840 (uri (git-reference
4841 (url "https://github.com/fukamachi/lack")
4842 (commit commit)))
4843 (file-name (git-file-name "lack" version))
4844 (sha256
4845 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4846 (build-system asdf-build-system/sbcl)
4847 (arguments
4848 '(#:test-asd-file "t-lack.asd"
4849 ;; XXX: Component :CLACK not found
4850 #:tests? #f))
4851 (native-inputs
4852 `(("prove-asdf" ,sbcl-prove-asdf)))
4853 (inputs
4854 `(("sbcl-lack-component" ,sbcl-lack-component)
4855 ("sbcl-lack-util" ,sbcl-lack-util)))
4856 (home-page "https://github.com/fukamachi/lack")
4857 (synopsis "Lack, the core of Clack")
4858 (description
4859 "Lack is a Common Lisp library which allows web applications to be
4860 constructed of modular components. It was originally a part of Clack, however
4861 it's going to be rewritten as an individual project since Clack v2 with
4862 performance and simplicity in mind.")
4863 (license license:llgpl))))
4864
4865 (define-public cl-lack
4866 (sbcl-package->cl-source-package sbcl-lack))
4867
4868 (define-public sbcl-ningle
4869 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4870 (revision "1"))
4871 (package
4872 (name "sbcl-ningle")
4873 (version (git-version "0.3.0" revision commit))
4874 (source
4875 (origin
4876 (method git-fetch)
4877 (uri (git-reference
4878 (url "https://github.com/fukamachi/ningle")
4879 (commit commit)))
4880 (file-name (git-file-name name version))
4881 (sha256
4882 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4883 (build-system asdf-build-system/sbcl)
4884 (arguments
4885 ;; TODO: pull in clack-test
4886 '(#:tests? #f
4887 #:phases
4888 (modify-phases %standard-phases
4889 (delete 'cleanup-files)
4890 (delete 'cleanup)
4891 (add-before 'cleanup 'combine-fasls
4892 (lambda* (#:key outputs #:allow-other-keys)
4893 (let* ((out (assoc-ref outputs "out"))
4894 (lib (string-append out "/lib/sbcl"))
4895 (ningle-path (string-append lib "/ningle"))
4896 (fasl-files (find-files out "\\.fasl$")))
4897 (mkdir-p ningle-path)
4898 (let ((fasl-path (lambda (name)
4899 (string-append ningle-path
4900 "/"
4901 (basename name)
4902 "--system.fasl"))))
4903 (for-each (lambda (file)
4904 (rename-file file
4905 (fasl-path
4906 (basename file ".fasl"))))
4907 fasl-files))
4908 fasl-files)
4909 #t)))))
4910 (native-inputs
4911 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4912 ("sbcl-prove" ,sbcl-prove)))
4913 (inputs
4914 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4915 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4916 ("sbcl-myway" ,sbcl-myway)
4917 ("sbcl-lack-request" ,sbcl-lack-request)
4918 ("sbcl-lack-response" ,sbcl-lack-response)
4919 ("sbcl-lack-component" ,sbcl-lack-component)
4920 ("sbcl-alexandria" ,sbcl-alexandria)
4921 ("sbcl-babel" ,sbcl-babel)))
4922 (home-page "https://8arrow.org/ningle/")
4923 (synopsis "Super micro framework for Common Lisp")
4924 (description
4925 "Ningle is a lightweight web application framework for Common Lisp.")
4926 (license license:llgpl))))
4927
4928 (define-public cl-ningle
4929 (sbcl-package->cl-source-package sbcl-ningle))
4930
4931 (define-public sbcl-cl-fastcgi
4932 (let ((commit "d576d20eeb12f225201074b28934ba395b15781a")
4933 (revision "1"))
4934 (package
4935 (name "sbcl-cl-fastcgi")
4936 (version (git-version "0.2" revision commit))
4937 (source
4938 (origin
4939 (method git-fetch)
4940 (uri (git-reference
4941 (url "https://github.com/KDr2/cl-fastcgi/")
4942 (commit commit)))
4943 (file-name (git-file-name name version))
4944 (sha256
4945 (base32 "02mvzzyn0k960s38rbxaqqmdkwcfmyhf8dx6ynz8xyxflmp0s5zv"))))
4946 (build-system asdf-build-system/sbcl)
4947 (inputs
4948 `(("usocket" ,sbcl-usocket)
4949 ("cffi" ,sbcl-cffi)
4950 ("fcgi" ,fcgi)))
4951 (arguments
4952 `(#:phases
4953 (modify-phases %standard-phases
4954 (add-after 'unpack 'fix-paths
4955 (lambda* (#:key inputs #:allow-other-keys)
4956 (substitute* "cl-fastcgi.lisp"
4957 (("\"libfcgi.so\"")
4958 (string-append
4959 "\""
4960 (assoc-ref inputs "fcgi") "/lib/libfcgi.so\""))))))))
4961 (home-page "https://kdr2.com/project/cl-fastcgi.html")
4962 (synopsis "FastCGI wrapper for Common Lisp")
4963 (description
4964 "CL-FastCGI is a generic version of SB-FastCGI, targeting to run on
4965 mostly Common Lisp implementation.")
4966 ;; TODO: Upstream on specifies "BSD license":
4967 ;; https://github.com/KDr2/cl-fastcgi/issues/4
4968 (license license:bsd-2))))
4969
4970 (define-public cl-fastcgi
4971 (sbcl-package->cl-source-package sbcl-cl-fastcgi))
4972
4973 (define-public ecl-cl-fastcgi
4974 (sbcl-package->ecl-package sbcl-cl-fastcgi))
4975
4976 (define clack-commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4977 (define clack-revision "1")
4978
4979 (define-public sbcl-clack
4980 (package
4981 (name "sbcl-clack")
4982 (version (git-version "2.0.0" clack-revision clack-commit))
4983 (source
4984 (origin
4985 (method git-fetch)
4986 (uri (git-reference
4987 (url "https://github.com/fukamachi/clack")
4988 (commit clack-commit)))
4989 (file-name (git-file-name name version))
4990 (sha256
4991 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4992 (build-system asdf-build-system/sbcl)
4993 (inputs
4994 `(("sbcl-lack" ,sbcl-lack)
4995 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4996 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4997 (home-page "https://github.com/fukamachi/clack")
4998 (synopsis "Web Application Environment for Common Lisp")
4999 (description
5000 "Clack is a web application environment for Common Lisp inspired by
5001 Python's WSGI and Ruby's Rack.")
5002 (license license:llgpl)))
5003
5004 (define-public cl-clack
5005 (sbcl-package->cl-source-package sbcl-clack))
5006
5007 (define-public sbcl-clack-handler-fcgi
5008 (package
5009 (inherit sbcl-clack)
5010 (name "sbcl-clack-handler-fcgi")
5011 (version (git-version "0.3.1" clack-revision clack-commit))
5012 (inputs
5013 `(("cl-fastcgi" ,sbcl-cl-fastcgi)
5014 ("alexandria" ,sbcl-alexandria)
5015 ("flexi-streams" ,sbcl-flexi-streams)
5016 ("usocket" ,sbcl-usocket)
5017 ("quri" ,sbcl-quri)))
5018 (synopsis "Web Application Environment for Common Lisp (FastCGI handler)")))
5019
5020 (define-public cl-clack-handler-fcgi
5021 (sbcl-package->cl-source-package sbcl-clack-handler-fcgi))
5022
5023 (define-public sbcl-log4cl
5024 (let ((commit "611e094458504b938d49de904eab141285328c7c")
5025 (revision "1"))
5026 (package
5027 (name "sbcl-log4cl")
5028 (build-system asdf-build-system/sbcl)
5029 (version "1.1.2")
5030 (source
5031 (origin
5032 (method git-fetch)
5033 (uri (git-reference
5034 (url "https://github.com/sharplispers/log4cl")
5035 (commit commit)))
5036 (file-name (git-file-name name version))
5037 (sha256
5038 (base32
5039 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
5040 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
5041 (arguments
5042 `(#:tests? #f))
5043 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5044 (synopsis "Common Lisp logging framework, modeled after Log4J")
5045 (home-page "https://github.com/7max/log4cl")
5046 (description "This is a Common Lisp logging framework that can log at
5047 various levels and mix text with expressions.")
5048 (license license:asl2.0))))
5049
5050 (define-public cl-log4cl
5051 (sbcl-package->cl-source-package sbcl-log4cl))
5052
5053 (define-public ecl-log4cl
5054 (sbcl-package->ecl-package sbcl-log4cl))
5055
5056 (define-public sbcl-find-port
5057 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5058 (revision "1"))
5059 (package
5060 (name "sbcl-find-port")
5061 (build-system asdf-build-system/sbcl)
5062 (version "0.1")
5063 (home-page "https://github.com/eudoxia0/find-port")
5064 (source
5065 (origin
5066 (method git-fetch)
5067 (uri (git-reference
5068 (url home-page)
5069 (commit commit)))
5070 (file-name (git-file-name name version))
5071 (sha256
5072 (base32
5073 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5074 (native-inputs
5075 `(("fiveam" ,sbcl-fiveam)))
5076 (inputs
5077 `(("sbcl-usocket" ,sbcl-usocket)))
5078 (synopsis "Find open ports programmatically in Common Lisp")
5079 (description "This is a small Common Lisp library that finds an open
5080 port within a range.")
5081 (license license:expat))))
5082
5083 (define-public cl-find-port
5084 (sbcl-package->cl-source-package sbcl-find-port))
5085
5086 (define-public ecl-find-port
5087 (sbcl-package->ecl-package sbcl-find-port))
5088
5089 (define-public sbcl-clunit
5090 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5091 (revision "1"))
5092 (package
5093 (name "sbcl-clunit")
5094 (version (git-version "0.2.3" revision commit))
5095 (source
5096 (origin
5097 (method git-fetch)
5098 (uri (git-reference
5099 (url "https://github.com/tgutu/clunit")
5100 (commit commit)))
5101 (file-name (git-file-name name version))
5102 (sha256
5103 (base32
5104 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5105 (build-system asdf-build-system/sbcl)
5106 (synopsis "CLUnit is a Common Lisp unit testing framework")
5107 (description
5108 "CLUnit is a Common Lisp unit testing framework. It is designed
5109 to be easy to use so that you can quickly start testing. CLUnit
5110 provides a rich set of features aimed at improving your unit testing
5111 experience.")
5112 (home-page "https://tgutu.github.io/clunit/")
5113 ;; MIT License
5114 (license license:expat))))
5115
5116 (define-public cl-clunit
5117 (sbcl-package->cl-source-package sbcl-clunit))
5118
5119 (define-public ecl-clunit
5120 (sbcl-package->ecl-package sbcl-clunit))
5121
5122 (define-public sbcl-py4cl
5123 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5124 (revision "1"))
5125 (package
5126 (name "sbcl-py4cl")
5127 (version (git-version "0.0.0" revision commit))
5128 (source
5129 (origin
5130 (method git-fetch)
5131 (uri (git-reference
5132 (url "https://github.com/bendudson/py4cl")
5133 (commit commit)))
5134 (file-name (git-file-name name version))
5135 (sha256
5136 (base32
5137 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5138 (modules '((guix build utils)))))
5139 (build-system asdf-build-system/sbcl)
5140 (native-inputs
5141 `(("sbcl-clunit" ,sbcl-clunit)))
5142 (inputs
5143 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5144 (propagated-inputs
5145 ;; This package doesn't do anything without python available
5146 `(("python" ,python)
5147 ;; For multi-dimensional array support
5148 ("python-numpy" ,python-numpy)))
5149 (arguments
5150 '(#:phases
5151 (modify-phases %standard-phases
5152 (add-after 'unpack 'replace-*base-directory*-var
5153 (lambda* (#:key outputs #:allow-other-keys)
5154 ;; In the ASD, the author makes an attempt to
5155 ;; programatically determine the location of the
5156 ;; source-code so lisp can call into "py4cl.py". We can
5157 ;; hard-code this since we know where this file will
5158 ;; reside.
5159 (substitute* "src/callpython.lisp"
5160 (("py4cl/config:\\*base-directory\\*")
5161 (string-append
5162 "\""
5163 (assoc-ref outputs "out")
5164 "/share/common-lisp/sbcl-source/py4cl/"
5165 "\""))))))))
5166 (synopsis "Call python from Common Lisp")
5167 (description
5168 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5169 Lisp to interact with Python code. It uses streams to communicate with a
5170 separate python process, the approach taken by cl4py. This is different to
5171 the CFFI approach used by burgled-batteries, but has the same goal.")
5172 (home-page "https://github.com/bendudson/py4cl")
5173 ;; MIT License
5174 (license license:expat))))
5175
5176 (define-public cl-py4cl
5177 (sbcl-package->cl-source-package sbcl-py4cl))
5178
5179 (define-public ecl-py4cl
5180 (sbcl-package->ecl-package sbcl-py4cl))
5181
5182 (define-public sbcl-parse-declarations
5183 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5184 (revision "1"))
5185 (package
5186 (name "sbcl-parse-declarations")
5187 (version (git-version "1.0.0" revision commit))
5188 (source
5189 (origin
5190 (method git-fetch)
5191 (uri (git-reference
5192 (url (string-append
5193 "https://gitlab.common-lisp.net/parse-declarations/"
5194 "parse-declarations.git"))
5195 (commit commit)))
5196 (file-name (git-file-name name version))
5197 (sha256
5198 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5199 (build-system asdf-build-system/sbcl)
5200 (arguments
5201 `(#:asd-file "parse-declarations-1.0.asd"
5202 #:asd-system-name "parse-declarations-1.0"))
5203 (home-page "https://common-lisp.net/project/parse-declarations/")
5204 (synopsis "Parse, filter, and build declarations")
5205 (description
5206 "Parse-Declarations is a Common Lisp library to help writing
5207 macros which establish bindings. To be semantically correct, such
5208 macros must take user declarations into account, as these may affect
5209 the bindings they establish. Yet the ANSI standard of Common Lisp does
5210 not provide any operators to work with declarations in a convenient,
5211 high-level way. This library provides such operators.")
5212 ;; MIT License
5213 (license license:expat))))
5214
5215 (define-public cl-parse-declarations
5216 (sbcl-package->cl-source-package sbcl-parse-declarations))
5217
5218 (define-public ecl-parse-declarations
5219 (sbcl-package->ecl-package sbcl-parse-declarations))
5220
5221 (define-public sbcl-cl-quickcheck
5222 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5223 (revision "1"))
5224 (package
5225 (name "sbcl-cl-quickcheck")
5226 (version (git-version "0.0.4" revision commit))
5227 (source
5228 (origin
5229 (method git-fetch)
5230 (uri (git-reference
5231 (url "https://github.com/mcandre/cl-quickcheck")
5232 (commit commit)))
5233 (file-name (git-file-name name version))
5234 (sha256
5235 (base32
5236 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5237 (build-system asdf-build-system/sbcl)
5238 (synopsis
5239 "Common Lisp port of the QuickCheck unit test framework")
5240 (description
5241 "Common Lisp port of the QuickCheck unit test framework")
5242 (home-page "https://github.com/mcandre/cl-quickcheck")
5243 ;; MIT
5244 (license license:expat))))
5245
5246 (define-public cl-cl-quickcheck
5247 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5248
5249 (define-public ecl-cl-quickcheck
5250 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5251
5252 (define-public sbcl-burgled-batteries3
5253 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5254 (revision "2"))
5255 (package
5256 (name "sbcl-burgled-batteries3")
5257 (version (git-version "0.0.0" revision commit))
5258 (source
5259 (origin
5260 (method git-fetch)
5261 (uri (git-reference
5262 (url "https://github.com/snmsts/burgled-batteries3")
5263 (commit commit)))
5264 (file-name (git-file-name name version))
5265 (sha256
5266 (base32
5267 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5268 (build-system asdf-build-system/sbcl)
5269 (arguments
5270 `(#:tests? #f
5271 #:modules (((guix build python-build-system) #:select (python-version))
5272 ,@%asdf-build-system-modules)
5273 #:imported-modules ((guix build python-build-system)
5274 ,@%asdf-build-system-modules)
5275 #:phases
5276 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5277 (add-after 'unpack 'set-*cpython-include-dir*-var
5278 (lambda* (#:key inputs #:allow-other-keys)
5279 (let ((python (assoc-ref inputs "python")))
5280 (setenv "BB_PYTHON3_INCLUDE_DIR"
5281 (string-append python "/include/python"
5282 (python-version python)))
5283 (setenv "BB_PYTHON3_DYLIB"
5284 (string-append python "/lib/libpython3.so"))
5285 #t)))
5286 (add-after 'unpack 'adjust-for-python-3.8
5287 (lambda _
5288 ;; This method is no longer part of the public API.
5289 (substitute* "ffi-interface.lisp"
5290 ((".*PyEval_ReInitThreads.*")
5291 ""))
5292 #t)))))
5293 (native-inputs
5294 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5295 ("sbcl-lift" ,sbcl-lift)
5296 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5297 (inputs
5298 `(("python" ,python)
5299 ("sbcl-cffi" ,sbcl-cffi)
5300 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5301 ("sbcl-alexandria" , sbcl-alexandria)
5302 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5303 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5304 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5305 (description
5306 "This package provides a shim between Python3 (specifically, the
5307 CPython implementation of Python) and Common Lisp.")
5308 (home-page "https://github.com/snmsts/burgled-batteries3")
5309 (license license:expat))))
5310
5311 (define-public cl-burgled-batteries3
5312 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5313
5314 (define-public ecl-burgled-batteries3
5315 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5316
5317 (define-public sbcl-metabang-bind
5318 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5319 (revision "1"))
5320 (package
5321 (name "sbcl-metabang-bind")
5322 (version (git-version "0.8.0" revision commit))
5323 (source
5324 (origin
5325 (method git-fetch)
5326 (uri (git-reference
5327 (url "https://github.com/gwkkwg/metabang-bind")
5328 (commit commit)))
5329 (file-name (git-file-name name version))
5330 (sha256
5331 (base32
5332 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5333 (build-system asdf-build-system/sbcl)
5334 (native-inputs
5335 `(("sbcl-lift" ,sbcl-lift)))
5336 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5337 (description
5338 "Bind extends the idea of of let and destructing to provide a uniform
5339 syntax for all your accessor needs. It combines @code{let},
5340 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5341 editing, property or association-lists, and @code{multiple-value-bind} and a
5342 whole lot more into a single form.")
5343 (home-page "https://common-lisp.net/project/metabang-bind/")
5344 ;; MIT License
5345 (license license:expat))))
5346
5347 (define-public cl-metabang-bind
5348 (sbcl-package->cl-source-package sbcl-metabang-bind))
5349
5350 (define-public ecl-metabang-bind
5351 (sbcl-package->ecl-package sbcl-metabang-bind))
5352
5353 (define-public sbcl-fare-utils
5354 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5355 (revision "1"))
5356 (package
5357 (name "sbcl-fare-utils")
5358 (version (git-version "1.0.0.5" revision commit))
5359 (source
5360 (origin
5361 (method git-fetch)
5362 (uri
5363 (git-reference
5364 (url
5365 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5366 (commit commit)))
5367 (file-name (git-file-name name version))
5368 (sha256
5369 (base32
5370 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5371 (build-system asdf-build-system/sbcl)
5372 (arguments
5373 `(#:test-asd-file "test/fare-utils-test.asd"))
5374 (native-inputs
5375 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5376 (synopsis "Collection of utilities and data structures")
5377 (description
5378 "fare-utils is a small collection of utilities. It contains a lot of
5379 basic everyday functions and macros.")
5380 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5381 ;; MIT License
5382 (license license:expat))))
5383
5384 (define-public cl-fare-utils
5385 (sbcl-package->cl-source-package sbcl-fare-utils))
5386
5387 (define-public ecl-fare-utils
5388 (sbcl-package->ecl-package sbcl-fare-utils))
5389
5390 (define-public sbcl-trivial-utf-8
5391 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5392 (revision "1"))
5393 (package
5394 (name "sbcl-trivial-utf-8")
5395 (version (git-version "0.0.0" revision commit))
5396 (source
5397 (origin
5398 (method git-fetch)
5399 (uri
5400 (git-reference
5401 (url (string-append "https://gitlab.common-lisp.net/"
5402 "trivial-utf-8/trivial-utf-8.git"))
5403 (commit commit)))
5404 (file-name (git-file-name name version))
5405 (sha256
5406 (base32
5407 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5408 (arguments
5409 ;; Guix incorrectly assumes the "8" is part of the version
5410 ;; number and lobs it off.
5411 `(#:asd-file "trivial-utf-8.asd"
5412 #:asd-system-name "trivial-utf-8"))
5413 (build-system asdf-build-system/sbcl)
5414 (synopsis "UTF-8 input/output library")
5415 (description
5416 "The Babel library solves a similar problem while understanding more
5417 encodings. Trivial UTF-8 was written before Babel existed, but for new
5418 projects you might be better off going with Babel. The one plus that Trivial
5419 UTF-8 has is that it doesn't depend on any other libraries.")
5420 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5421 (license license:bsd-3))))
5422
5423 (define-public cl-trivial-utf-8
5424 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5425
5426 (define-public ecl-trivial-utf-8
5427 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5428
5429 (define-public sbcl-idna
5430 (package
5431 (name "sbcl-idna")
5432 (build-system asdf-build-system/sbcl)
5433 (version "0.2.2")
5434 (home-page "https://github.com/antifuchs/idna")
5435 (source
5436 (origin
5437 (method git-fetch)
5438 (uri (git-reference
5439 (url home-page)
5440 (commit version)))
5441 (file-name (git-file-name name version))
5442 (sha256
5443 (base32
5444 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5445 (inputs
5446 `(("split-sequence" ,sbcl-split-sequence)))
5447 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5448 (description "This Common Lisp library provides string encoding and
5449 decoding routines for IDNA, the International Domain Names in Applications.")
5450 (license license:expat)))
5451
5452 (define-public cl-idna
5453 (sbcl-package->cl-source-package sbcl-idna))
5454
5455 (define-public ecl-idna
5456 (sbcl-package->ecl-package sbcl-idna))
5457
5458 (define-public sbcl-swap-bytes
5459 (package
5460 (name "sbcl-swap-bytes")
5461 (build-system asdf-build-system/sbcl)
5462 (version "1.2")
5463 (home-page "https://github.com/sionescu/swap-bytes")
5464 (source
5465 (origin
5466 (method git-fetch)
5467 (uri (git-reference
5468 (url home-page)
5469 (commit (string-append "v" version))))
5470 (file-name (git-file-name name version))
5471 (sha256
5472 (base32
5473 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5474 (inputs
5475 `(("trivial-features" ,sbcl-trivial-features)))
5476 (native-inputs
5477 `(("fiveam" ,sbcl-fiveam)))
5478 (synopsis "Efficient endianness conversion for Common Lisp")
5479 (description "This Common Lisp library provides optimized byte-swapping
5480 primitives. The library can change endianness of unsigned integers of length
5481 1/2/4/8. Very useful in implementing various network protocols and file
5482 formats.")
5483 (license license:expat)))
5484
5485 (define-public cl-swap-bytes
5486 (sbcl-package->cl-source-package sbcl-swap-bytes))
5487
5488 (define-public ecl-swap-bytes
5489 (sbcl-package->ecl-package sbcl-swap-bytes))
5490
5491 (define-public sbcl-iolib.asdf
5492 ;; Latest release is from June 2017.
5493 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5494 (revision "2"))
5495 (package
5496 (name "sbcl-iolib.asdf")
5497 (build-system asdf-build-system/sbcl)
5498 (version (git-version "0.8.3" revision commit))
5499 (home-page "https://github.com/sionescu/iolib")
5500 (source
5501 (origin
5502 (method git-fetch)
5503 (uri (git-reference
5504 (url home-page)
5505 (commit commit)))
5506 (file-name (git-file-name name version))
5507 (sha256
5508 (base32
5509 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5510 (inputs
5511 `(("alexandria" ,sbcl-alexandria)))
5512 (arguments
5513 '(#:asd-file "iolib.asdf.asd"))
5514 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5515 (description "IOlib is to be a better and more modern I/O library than
5516 the standard Common Lisp library. It contains a socket library, a DNS
5517 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5518 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5519 (license license:expat))))
5520
5521 (define-public sbcl-iolib.conf
5522 (package
5523 (inherit sbcl-iolib.asdf)
5524 (name "sbcl-iolib.conf")
5525 (inputs
5526 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5527 (arguments
5528 '(#:asd-file "iolib.conf.asd"))
5529 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5530
5531 (define-public sbcl-iolib.common-lisp
5532 (package
5533 (inherit sbcl-iolib.asdf)
5534 (name "sbcl-iolib.common-lisp")
5535 (inputs
5536 `(("iolib.asdf" ,sbcl-iolib.asdf)
5537 ("iolib.conf" ,sbcl-iolib.conf)))
5538 (arguments
5539 '(#:asd-file "iolib.common-lisp.asd"))
5540 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5541
5542 (define-public sbcl-iolib.base
5543 (package
5544 (inherit sbcl-iolib.asdf)
5545 (name "sbcl-iolib.base")
5546 (inputs
5547 `(("iolib.asdf" ,sbcl-iolib.asdf)
5548 ("iolib.conf" ,sbcl-iolib.conf)
5549 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5550 ("split-sequence" ,sbcl-split-sequence)))
5551 (arguments
5552 '(#:asd-file "iolib.base.asd"))
5553 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5554
5555 (define-public sbcl-iolib.grovel
5556 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
5557
5558 (define sbcl-iolib+syscalls
5559 (package
5560 (inherit sbcl-iolib.asdf)
5561 (name "sbcl-iolib+syscalls")
5562 (inputs
5563 `(("iolib.asdf" ,sbcl-iolib.asdf)
5564 ("iolib.conf" ,sbcl-iolib.conf)
5565 ("cffi-grovel" ,sbcl-cffi-grovel)
5566 ("iolib.base" ,sbcl-iolib.base)
5567 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5568 ("idna" ,sbcl-idna)
5569 ("swap-bytes" ,sbcl-swap-bytes)
5570 ("libfixposix" ,libfixposix)
5571 ("cffi" ,sbcl-cffi)))
5572 (native-inputs
5573 `(("fiveam" ,sbcl-fiveam)))
5574 (arguments
5575 '(#:asd-file "iolib.asd"
5576 #:asd-system-name "iolib/syscalls"
5577 #:phases
5578 (modify-phases %standard-phases
5579 (add-after 'unpack 'fix-paths
5580 (lambda* (#:key inputs #:allow-other-keys)
5581 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5582 (("\\(:default \"libfixposix\"\\)")
5583 (string-append
5584 "(:default \""
5585 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5586 ;; Socket tests need Internet access, disable them.
5587 (substitute* "iolib.asd"
5588 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5589 "")))))))
5590 (synopsis "Common Lisp I/O library")))
5591
5592 (define sbcl-iolib+multiplex
5593 (package
5594 (inherit sbcl-iolib+syscalls)
5595 (name "sbcl-iolib+multiplex")
5596 (inputs
5597 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5598 ,@(package-inputs sbcl-iolib+syscalls)))
5599 (arguments
5600 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5601 ((#:asd-system-name _) "iolib/multiplex")))))
5602
5603 (define sbcl-iolib+streams
5604 (package
5605 (inherit sbcl-iolib+syscalls)
5606 (name "sbcl-iolib+streams")
5607 (inputs
5608 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5609 ,@(package-inputs sbcl-iolib+syscalls)))
5610 (arguments
5611 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5612 ((#:asd-system-name _) "iolib/streams")))))
5613
5614 (define sbcl-iolib+sockets
5615 (package
5616 (inherit sbcl-iolib+syscalls)
5617 (name "sbcl-iolib+sockets")
5618 (inputs
5619 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5620 ("iolib+streams" ,sbcl-iolib+streams)
5621 ,@(package-inputs sbcl-iolib+syscalls)))
5622 (arguments
5623 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5624 ((#:asd-system-name _) "iolib/sockets")))))
5625
5626 (define-public sbcl-iolib
5627 (package
5628 (inherit sbcl-iolib+syscalls)
5629 (name "sbcl-iolib")
5630 (inputs
5631 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5632 ("iolib+streams" ,sbcl-iolib+streams)
5633 ("iolib+sockets" ,sbcl-iolib+sockets)
5634 ,@(package-inputs sbcl-iolib+syscalls)))
5635 (arguments
5636 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5637 ((#:asd-system-name _) "iolib")))))
5638
5639 (define-public cl-iolib
5640 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5641 (package
5642 (inherit parent)
5643 (propagated-inputs
5644 ;; Need header to compile.
5645 `(("libfixposix" ,libfixposix)
5646 ,@(package-propagated-inputs parent))))))
5647
5648 (define-public sbcl-ieee-floats
5649 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5650 (revision "1"))
5651 (package
5652 (name "sbcl-ieee-floats")
5653 (build-system asdf-build-system/sbcl)
5654 (version (git-version "20170924" revision commit))
5655 (home-page "https://github.com/marijnh/ieee-floats/")
5656 (source
5657 (origin
5658 (method git-fetch)
5659 (uri (git-reference
5660 (url home-page)
5661 (commit commit)))
5662 (file-name (git-file-name name version))
5663 (sha256
5664 (base32
5665 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5666 (native-inputs
5667 `(("fiveam" ,sbcl-fiveam)))
5668 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5669 (description "This is a Common Lisp library that converts
5670 floating point values to IEEE 754 binary representation.")
5671 (license license:bsd-3))))
5672
5673 (define-public cl-ieee-floats
5674 (sbcl-package->cl-source-package sbcl-ieee-floats))
5675
5676 (define sbcl-closure-common
5677 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5678 (revision "1"))
5679 (package
5680 (name "sbcl-closure-common")
5681 (build-system asdf-build-system/sbcl)
5682 (version (git-version "20101006" revision commit))
5683 (home-page "https://common-lisp.net/project/cxml/")
5684 (source
5685 (origin
5686 (method git-fetch)
5687 (uri (git-reference
5688 (url "https://github.com/sharplispers/closure-common")
5689 (commit commit)))
5690 (file-name (git-file-name name version))
5691 (sha256
5692 (base32
5693 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5694 (inputs
5695 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5696 ("babel" ,sbcl-babel)))
5697 (synopsis "Support Common Lisp library for CXML")
5698 (description "Closure-common is an internal helper library. The name
5699 Closure is a reference to the web browser it was originally written for.")
5700 ;; TODO: License?
5701 (license #f))))
5702
5703 (define-public sbcl-cxml+xml
5704 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5705 (revision "1"))
5706 (package
5707 (name "sbcl-cxml+xml")
5708 (build-system asdf-build-system/sbcl)
5709 (version (git-version "0.0.0" revision commit))
5710 (home-page "https://common-lisp.net/project/cxml/")
5711 (source
5712 (origin
5713 (method git-fetch)
5714 (uri (git-reference
5715 (url "https://github.com/sharplispers/cxml")
5716 (commit commit)))
5717 (file-name (git-file-name name version))
5718 (sha256
5719 (base32
5720 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5721 (inputs
5722 `(("closure-common" ,sbcl-closure-common)
5723 ("puri" ,sbcl-puri)
5724 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5725 (arguments
5726 `(#:asd-file "cxml.asd"
5727 #:asd-system-name "cxml/xml"))
5728 (synopsis "Common Lisp XML parser")
5729 (description "CXML implements a namespace-aware, validating XML 1.0
5730 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5731 offered, one SAX-like, the other similar to StAX.")
5732 (license license:llgpl))))
5733
5734 (define sbcl-cxml+dom
5735 (package
5736 (inherit sbcl-cxml+xml)
5737 (name "sbcl-cxml+dom")
5738 (inputs
5739 `(("closure-common" ,sbcl-closure-common)
5740 ("puri" ,sbcl-puri)
5741 ("cxml+xml" ,sbcl-cxml+xml)))
5742 (arguments
5743 `(#:asd-file "cxml.asd"
5744 #:asd-system-name "cxml/dom"))))
5745
5746 (define sbcl-cxml+klacks
5747 (package
5748 (inherit sbcl-cxml+xml)
5749 (name "sbcl-cxml+klacks")
5750 (inputs
5751 `(("closure-common" ,sbcl-closure-common)
5752 ("puri" ,sbcl-puri)
5753 ("cxml+xml" ,sbcl-cxml+xml)))
5754 (arguments
5755 `(#:asd-file "cxml.asd"
5756 #:asd-system-name "cxml/klacks"))))
5757
5758 (define sbcl-cxml+test
5759 (package
5760 (inherit sbcl-cxml+xml)
5761 (name "sbcl-cxml+test")
5762 (inputs
5763 `(("closure-common" ,sbcl-closure-common)
5764 ("puri" ,sbcl-puri)
5765 ("cxml+xml" ,sbcl-cxml+xml)))
5766 (arguments
5767 `(#:asd-file "cxml.asd"
5768 #:asd-system-name "cxml/test"))))
5769
5770 (define-public sbcl-cxml
5771 (package
5772 (inherit sbcl-cxml+xml)
5773 (name "sbcl-cxml")
5774 (inputs
5775 `(("closure-common" ,sbcl-closure-common)
5776 ("puri" ,sbcl-puri)
5777 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5778 ("cxml+dom" ,sbcl-cxml+dom)
5779 ("cxml+klacks" ,sbcl-cxml+klacks)
5780 ("cxml+test" ,sbcl-cxml+test)))
5781 (arguments
5782 `(#:asd-file "cxml.asd"
5783 #:asd-system-name "cxml"
5784 #:phases
5785 (modify-phases %standard-phases
5786 (add-after 'build 'install-dtd
5787 (lambda* (#:key outputs #:allow-other-keys)
5788 (install-file "catalog.dtd"
5789 (string-append
5790 (assoc-ref outputs "out")
5791 "/lib/" (%lisp-type))))))))))
5792
5793 (define-public cl-cxml
5794 (sbcl-package->cl-source-package sbcl-cxml))
5795
5796 (define-public sbcl-cl-reexport
5797 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5798 (revision "1"))
5799 (package
5800 (name "sbcl-cl-reexport")
5801 (build-system asdf-build-system/sbcl)
5802 (version (git-version "0.1" revision commit))
5803 (home-page "https://github.com/takagi/cl-reexport")
5804 (source
5805 (origin
5806 (method git-fetch)
5807 (uri (git-reference
5808 (url home-page)
5809 (commit commit)))
5810 (file-name (git-file-name name version))
5811 (sha256
5812 (base32
5813 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5814 (inputs
5815 `(("alexandria" ,sbcl-alexandria)))
5816 (arguments
5817 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5818 `(#:tests? #f))
5819 (synopsis "HTTP cookie manager for Common Lisp")
5820 (description "cl-cookie is a Common Lisp library featuring parsing of
5821 cookie headers, cookie creation, cookie jar creation and more.")
5822 (license license:llgpl))))
5823
5824 (define-public cl-reexport
5825 (sbcl-package->cl-source-package sbcl-cl-reexport))
5826
5827 (define-public sbcl-cl-cookie
5828 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5829 (revision "1"))
5830 (package
5831 (name "sbcl-cl-cookie")
5832 (build-system asdf-build-system/sbcl)
5833 (version (git-version "0.9.10" revision commit))
5834 (home-page "https://github.com/fukamachi/cl-cookie")
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url home-page)
5840 (commit commit)))
5841 (file-name (git-file-name name version))
5842 (sha256
5843 (base32
5844 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5845 (inputs
5846 `(("proc-parse" ,sbcl-proc-parse)
5847 ("alexandria" ,sbcl-alexandria)
5848 ("quri" ,sbcl-quri)
5849 ("cl-ppcre" ,sbcl-cl-ppcre)
5850 ("local-time" ,sbcl-local-time)))
5851 (native-inputs
5852 `(("prove-asdf" ,sbcl-prove-asdf)
5853 ("prove" ,sbcl-prove)))
5854 (arguments
5855 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5856 `(#:tests? #f))
5857 (synopsis "HTTP cookie manager for Common Lisp")
5858 (description "cl-cookie is a Common Lisp library featuring parsing of
5859 cookie headers, cookie creation, cookie jar creation and more.")
5860 (license license:bsd-2))))
5861
5862 (define-public cl-cookie
5863 (sbcl-package->cl-source-package sbcl-cl-cookie))
5864
5865 (define-public sbcl-dexador
5866 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5867 (revision "1"))
5868 (package
5869 (name "sbcl-dexador")
5870 (build-system asdf-build-system/sbcl)
5871 (version "0.9.14" )
5872 (home-page "https://github.com/fukamachi/dexador")
5873 (source
5874 (origin
5875 (method git-fetch)
5876 (uri (git-reference
5877 (url home-page)
5878 (commit commit)))
5879 (file-name (git-file-name name version))
5880 (sha256
5881 (base32
5882 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5883 (inputs
5884 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5885 ("babel" ,sbcl-babel)
5886 ("usocket" ,sbcl-usocket)
5887 ("fast-http" ,sbcl-fast-http)
5888 ("quri" ,sbcl-quri)
5889 ("fast-io" ,sbcl-fast-io)
5890 ("chunga" ,sbcl-chunga)
5891 ("cl-ppcre" ,sbcl-cl-ppcre)
5892 ("cl-cookie" ,sbcl-cl-cookie)
5893 ("trivial-mimes" ,sbcl-trivial-mimes)
5894 ("chipz" ,sbcl-chipz)
5895 ("cl-base64" ,sbcl-cl-base64)
5896 ("cl-reexport" ,sbcl-cl-reexport)
5897 ("cl+ssl" ,sbcl-cl+ssl)
5898 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5899 ("alexandria" ,sbcl-alexandria)))
5900 (native-inputs
5901 `(("prove" ,sbcl-prove)
5902 ("prove-asdf" ,sbcl-prove-asdf)
5903 ("lack-request" ,sbcl-lack-request)
5904 ("clack" ,sbcl-clack)
5905 ("babel" ,sbcl-babel)
5906 ("alexandria" ,sbcl-alexandria)
5907 ("cl-ppcre" ,sbcl-cl-ppcre)
5908 ("local-time" ,sbcl-local-time)
5909 ("trivial-features" ,sbcl-trivial-features)))
5910 (arguments
5911 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5912 `(#:tests? #f
5913 #:phases
5914 (modify-phases %standard-phases
5915 (add-after 'unpack 'fix-permissions
5916 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5917 (synopsis "Yet another HTTP client for Common Lisp")
5918 (description "Dexador is yet another HTTP client for Common Lisp with
5919 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5920 (license license:expat))))
5921
5922 (define-public cl-dexador
5923 (package
5924 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5925 (arguments
5926 `(#:phases
5927 ;; asdf-build-system/source has its own phases and does not inherit
5928 ;; from asdf-build-system/sbcl phases.
5929 (modify-phases %standard-phases/source
5930 ;; Already done in SBCL package.
5931 (delete 'reset-gzip-timestamps))))))
5932
5933 (define-public ecl-dexador
5934 (sbcl-package->ecl-package sbcl-dexador))
5935
5936 (define-public sbcl-lisp-namespace
5937 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5938 (revision "1"))
5939 (package
5940 (name "sbcl-lisp-namespace")
5941 (build-system asdf-build-system/sbcl)
5942 (version (git-version "0.1" revision commit))
5943 (home-page "https://github.com/guicho271828/lisp-namespace")
5944 (source
5945 (origin
5946 (method git-fetch)
5947 (uri (git-reference
5948 (url home-page)
5949 (commit commit)))
5950 (file-name (git-file-name name version))
5951 (sha256
5952 (base32
5953 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5954 (inputs
5955 `(("alexandria" ,sbcl-alexandria)))
5956 (native-inputs
5957 `(("fiveam" ,sbcl-fiveam)))
5958 (arguments
5959 `(#:test-asd-file "lisp-namespace.test.asd"
5960 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5961 #:tests? #f))
5962 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5963 (description "Common Lisp already has major 2 namespaces, function
5964 namespace and value namespace (or variable namespace), but there are actually
5965 more — e.g., class namespace.
5966 This library offers macros to deal with symbols from any namespace.")
5967 (license license:llgpl))))
5968
5969 (define-public cl-lisp-namespace
5970 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5971
5972 (define-public sbcl-trivial-cltl2
5973 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5974 (revision "2"))
5975 (package
5976 (name "sbcl-trivial-cltl2")
5977 (build-system asdf-build-system/sbcl)
5978 (version (git-version "0.1.1" revision commit))
5979 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5980 (source
5981 (origin
5982 (method git-fetch)
5983 (uri (git-reference
5984 (url home-page)
5985 (commit commit)))
5986 (file-name (git-file-name name version))
5987 (sha256
5988 (base32
5989 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5990 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5991 (description "This library is a portable compatibility layer around
5992 \"Common Lisp the Language, 2nd
5993 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5994 and it exports symbols from implementation-specific packages.")
5995 (license license:llgpl))))
5996
5997 (define-public cl-trivial-cltl2
5998 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5999
6000 (define-public sbcl-introspect-environment
6001 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6002 (revision "1"))
6003 (package
6004 (name "sbcl-introspect-environment")
6005 (build-system asdf-build-system/sbcl)
6006 (version (git-version "0.1" revision commit))
6007 (home-page "https://github.com/Bike/introspect-environment")
6008 (source
6009 (origin
6010 (method git-fetch)
6011 (uri (git-reference
6012 (url home-page)
6013 (commit commit)))
6014 (file-name (git-file-name name version))
6015 (sha256
6016 (base32
6017 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6018 (native-inputs
6019 `(("fiveam" ,sbcl-fiveam)))
6020 (synopsis "Common Lisp environment introspection portability layer")
6021 (description "This library is a small interface to portable but
6022 nonstandard introspection of Common Lisp environments. It is intended to
6023 allow a bit more compile-time introspection of environments in Common Lisp.
6024
6025 Quite a bit of information is available at the time a macro or compiler-macro
6026 runs; inlining info, type declarations, that sort of thing. This information
6027 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6028 such.
6029
6030 This info ought to be accessible through the standard @code{&environment}
6031 parameters, but it is not. Several implementations keep the information for
6032 their own purposes but do not make it available to user programs, because
6033 there is no standard mechanism to do so.
6034
6035 This library uses implementation-specific hooks to make information available
6036 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6037 implementations have implementations of the functions that do as much as they
6038 can and/or provide reasonable defaults.")
6039 (license license:wtfpl2))))
6040
6041 (define-public cl-introspect-environment
6042 (sbcl-package->cl-source-package sbcl-introspect-environment))
6043
6044 (define-public sbcl-type-i
6045 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6046 (revision "2"))
6047 (package
6048 (name "sbcl-type-i")
6049 (build-system asdf-build-system/sbcl)
6050 (version (git-version "0.1" revision commit))
6051 (home-page "https://github.com/guicho271828/type-i")
6052 (source
6053 (origin
6054 (method git-fetch)
6055 (uri (git-reference
6056 (url home-page)
6057 (commit commit)))
6058 (file-name (git-file-name name version))
6059 (sha256
6060 (base32
6061 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6062 (inputs
6063 `(("alexandria" ,sbcl-alexandria)
6064 ("introspect-environment" ,sbcl-introspect-environment)
6065 ("trivia.trivial" ,sbcl-trivia.trivial)))
6066 (native-inputs
6067 `(("fiveam" ,sbcl-fiveam)))
6068 (arguments
6069 `(#:test-asd-file "type-i.test.asd"))
6070 (synopsis "Type inference utility on unary predicates for Common Lisp")
6071 (description "This library tries to provide a way to detect what kind of
6072 type the given predicate is trying to check. This is different from inferring
6073 the return type of a function.")
6074 (license license:llgpl))))
6075
6076 (define-public cl-type-i
6077 (sbcl-package->cl-source-package sbcl-type-i))
6078
6079 (define-public sbcl-optima
6080 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6081 (revision "1"))
6082 (package
6083 (name "sbcl-optima")
6084 (build-system asdf-build-system/sbcl)
6085 (version (git-version "1.0" revision commit))
6086 (home-page "https://github.com/m2ym/optima")
6087 (source
6088 (origin
6089 (method git-fetch)
6090 (uri (git-reference
6091 (url home-page)
6092 (commit commit)))
6093 (file-name (git-file-name name version))
6094 (sha256
6095 (base32
6096 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6097 (inputs
6098 `(("alexandria" ,sbcl-alexandria)
6099 ("closer-mop" ,sbcl-closer-mop)))
6100 (native-inputs
6101 `(("eos" ,sbcl-eos)))
6102 (arguments
6103 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6104 `(#:tests? #f
6105 #:test-asd-file "optima.test.asd"))
6106 (synopsis "Optimized pattern matching library for Common Lisp")
6107 (description "Optima is a fast pattern matching library which uses
6108 optimizing techniques widely used in the functional programming world.")
6109 (license license:expat))))
6110
6111 (define-public cl-optima
6112 (sbcl-package->cl-source-package sbcl-optima))
6113
6114 (define-public sbcl-fare-quasiquote
6115 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6116 (revision "1"))
6117 (package
6118 (name "sbcl-fare-quasiquote")
6119 (build-system asdf-build-system/sbcl)
6120 (version (git-version "1.0.1" revision commit))
6121 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6122 (source
6123 (origin
6124 (method git-fetch)
6125 (uri (git-reference
6126 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6127 "fare-quasiquote.git"))
6128 (commit commit)))
6129 (file-name (git-file-name name version))
6130 (sha256
6131 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6132 (inputs
6133 `(("fare-utils" ,sbcl-fare-utils)))
6134 (arguments
6135 ;; XXX: Circular dependencies: Tests depend on subsystems,
6136 ;; which depend on the main systems.
6137 `(#:tests? #f
6138 #:phases
6139 (modify-phases %standard-phases
6140 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6141 ;; commits after 1.0.0.5, but ASDF fails to read the
6142 ;; "-REVISION-COMMIT" part generated by Guix.
6143 (add-after 'unpack 'patch-requirement
6144 (lambda _
6145 (substitute* "fare-quasiquote.asd"
6146 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6147 "\"fare-utils\"")))))))
6148 (synopsis "Pattern-matching friendly implementation of quasiquote")
6149 (description "The main purpose of this n+2nd reimplementation of
6150 quasiquote is enable matching of quasiquoted patterns, using Optima or
6151 Trivia.")
6152 (license license:expat))))
6153
6154 (define-public cl-fare-quasiquote
6155 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6156
6157 (define-public sbcl-fare-quasiquote-optima
6158 (package
6159 (inherit sbcl-fare-quasiquote)
6160 (name "sbcl-fare-quasiquote-optima")
6161 (inputs
6162 `(("optima" ,sbcl-optima)
6163 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6164 (arguments
6165 '(#:phases
6166 (modify-phases %standard-phases
6167 (add-after 'unpack 'patch-requirement
6168 (lambda _
6169 (substitute* "fare-quasiquote-optima.asd"
6170 (("\\(:version \"optima\" \"1\\.0\"\\)")
6171 "\"optima\""))
6172 #t)))))))
6173
6174 (define-public cl-fare-quasiquote-optima
6175 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6176
6177 (define-public sbcl-fare-quasiquote-readtable
6178 (package
6179 (inherit sbcl-fare-quasiquote)
6180 (name "sbcl-fare-quasiquote-readtable")
6181 (inputs
6182 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6183 ("named-readtables" ,sbcl-named-readtables)))
6184 (description "The main purpose of this n+2nd reimplementation of
6185 quasiquote is enable matching of quasiquoted patterns, using Optima or
6186 Trivia.
6187
6188 This package uses fare-quasiquote with named-readtable.")))
6189
6190 (define-public cl-fare-quasiquote-readtable
6191 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6192
6193 (define-public sbcl-fare-quasiquote-extras
6194 (package
6195 (inherit sbcl-fare-quasiquote)
6196 (name "sbcl-fare-quasiquote-extras")
6197 (build-system asdf-build-system/sbcl)
6198 (inputs
6199 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6200 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6201 (arguments
6202 `(#:phases
6203 (modify-phases %standard-phases
6204 (replace 'build
6205 (lambda* (#:key outputs #:allow-other-keys)
6206 (let* ((out (assoc-ref outputs "out"))
6207 (lib (string-append out "/lib/" (%lisp-type))))
6208 (mkdir-p lib)
6209 (install-file "fare-quasiquote-extras.asd" lib)
6210 (make-file-writable
6211 (string-append lib "/fare-quasiquote-extras.asd"))
6212 #t))))))
6213 (description "This library combines @code{fare-quasiquote-readtable} and
6214 @code{fare-quasiquote-optima}.")))
6215
6216 (define-public cl-fare-quasiquote-extras
6217 (package
6218 (inherit cl-fare-quasiquote)
6219 (name "cl-fare-quasiquote-extras")
6220 (build-system asdf-build-system/source)
6221 (propagated-inputs
6222 `(("fare-quasiquote" ,cl-fare-quasiquote)
6223 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6224 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6225 (description "This library combines @code{fare-quasiquote-readtable} and
6226 @code{fare-quasiquote-optima}.")))
6227
6228 (define-public sbcl-trivia.level0
6229 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6230 (revision "2"))
6231 (package
6232 (name "sbcl-trivia.level0")
6233 (build-system asdf-build-system/sbcl)
6234 (version (git-version "0.0.0" revision commit))
6235 (home-page "https://github.com/guicho271828/trivia")
6236 (source
6237 (origin
6238 (method git-fetch)
6239 (uri (git-reference
6240 (url home-page)
6241 (commit commit)))
6242 (file-name (git-file-name name version))
6243 (sha256
6244 (base32
6245 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
6246 (inputs
6247 `(("alexandria" ,sbcl-alexandria)))
6248 (synopsis "Pattern matching in Common Lisp")
6249 (description "Trivia is a pattern matching compiler that is compatible
6250 with Optima, another pattern matching library for Common Lisp. It is meant to
6251 be faster and more extensible than Optima.")
6252 (license license:llgpl))))
6253
6254 (define-public sbcl-trivia.level1
6255 (package
6256 (inherit sbcl-trivia.level0)
6257 (name "sbcl-trivia.level1")
6258 (inputs
6259 `(("trivia.level0" ,sbcl-trivia.level0)))
6260 (description "Trivia is a pattern matching compiler that is compatible
6261 with Optima, another pattern matching library for Common Lisp. It is meant to
6262 be faster and more extensible than Optima.
6263
6264 This system contains the core patterns of Trivia.")))
6265
6266 (define-public sbcl-trivia.level2
6267 (package
6268 (inherit sbcl-trivia.level0)
6269 (name "sbcl-trivia.level2")
6270 (inputs
6271 `(("trivia.level1" ,sbcl-trivia.level1)
6272 ("lisp-namespace" ,sbcl-lisp-namespace)
6273 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6274 ("closer-mop" ,sbcl-closer-mop)))
6275 (description "Trivia is a pattern matching compiler that is compatible
6276 with Optima, another pattern matching library for Common Lisp. It is meant to
6277 be faster and more extensible than Optima.
6278
6279 This system contains a non-optimized pattern matcher compatible with Optima,
6280 with extensible optimizer interface.")))
6281
6282 (define-public sbcl-trivia.trivial
6283 (package
6284 (inherit sbcl-trivia.level0)
6285 (name "sbcl-trivia.trivial")
6286 (inputs
6287 `(("trivia.level2" ,sbcl-trivia.level2)))
6288 (description "Trivia is a pattern matching compiler that is compatible
6289 with Optima, another pattern matching library for Common Lisp. It is meant to
6290 be faster and more extensible than Optima.
6291
6292 This system contains the base level system of Trivia with a trivial optimizer.")))
6293
6294 (define-public sbcl-trivia.balland2006
6295 (package
6296 (inherit sbcl-trivia.level0)
6297 (name "sbcl-trivia.balland2006")
6298 (inputs
6299 `(("trivia.trivial" ,sbcl-trivia.trivial)
6300 ("iterate" ,sbcl-iterate)
6301 ("type-i" ,sbcl-type-i)
6302 ("alexandria" ,sbcl-alexandria)))
6303 (arguments
6304 ;; Tests are done in trivia itself.
6305 `(#:tests? #f))
6306 (description "Trivia is a pattern matching compiler that is compatible
6307 with Optima, another pattern matching library for Common Lisp. It is meant to
6308 be faster and more extensible than Optima.
6309
6310 This system contains the base level system of Trivia with a trivial optimizer.")))
6311
6312 (define-public sbcl-trivia.ppcre
6313 (package
6314 (inherit sbcl-trivia.level0)
6315 (name "sbcl-trivia.ppcre")
6316 (inputs
6317 `(("trivia.trivial" ,sbcl-trivia.trivial)
6318 ("cl-ppcre" ,sbcl-cl-ppcre)))
6319 (description "Trivia is a pattern matching compiler that is compatible
6320 with Optima, another pattern matching library for Common Lisp. It is meant to
6321 be faster and more extensible than Optima.
6322
6323 This system contains the PPCRE extension.")))
6324
6325 (define-public sbcl-trivia.quasiquote
6326 (package
6327 (inherit sbcl-trivia.level0)
6328 (name "sbcl-trivia.quasiquote")
6329 (inputs
6330 `(("trivia.trivial" ,sbcl-trivia.trivial)
6331 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6332 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6333 (description "Trivia is a pattern matching compiler that is compatible
6334 with Optima, another pattern matching library for Common Lisp. It is meant to
6335 be faster and more extensible than Optima.
6336
6337 This system contains the fare-quasiquote extension.")))
6338
6339 (define-public sbcl-trivia.cffi
6340 (package
6341 (inherit sbcl-trivia.level0)
6342 (name "sbcl-trivia.cffi")
6343 (inputs
6344 `(("cffi" ,sbcl-cffi)
6345 ("trivia.trivial" ,sbcl-trivia.trivial)))
6346 (description "Trivia is a pattern matching compiler that is compatible
6347 with Optima, another pattern matching library for Common Lisp. It is meant to
6348 be faster and more extensible than Optima.
6349
6350 This system contains the CFFI foreign slot access extension.")))
6351
6352 (define-public sbcl-trivia
6353 (package
6354 (inherit sbcl-trivia.level0)
6355 (name "sbcl-trivia")
6356 (inputs
6357 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6358 (native-inputs
6359 `(("fiveam" ,sbcl-fiveam)
6360 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6361 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6362 ("trivia.cffi" ,sbcl-trivia.cffi)
6363 ("optima" ,sbcl-optima)))
6364 (arguments
6365 `(#:test-asd-file "trivia.test.asd"))
6366 (description "Trivia is a pattern matching compiler that is compatible
6367 with Optima, another pattern matching library for Common Lisp. It is meant to
6368 be faster and more extensible than Optima.")))
6369
6370 (define-public cl-trivia
6371 (sbcl-package->cl-source-package sbcl-trivia))
6372
6373 (define-public sbcl-mk-string-metrics
6374 (package
6375 (name "sbcl-mk-string-metrics")
6376 (version "0.1.2")
6377 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6378 (source (origin
6379 (method git-fetch)
6380 (uri (git-reference
6381 (url home-page)
6382 (commit version)))
6383 (sha256
6384 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6385 (file-name (git-file-name name version))))
6386 (build-system asdf-build-system/sbcl)
6387 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6388 (description "This library implements efficient algorithms that calculate
6389 various string metrics in Common Lisp:
6390
6391 @itemize
6392 @item Damerau-Levenshtein distance
6393 @item Hamming distance
6394 @item Jaccard similarity coefficient
6395 @item Jaro distance
6396 @item Jaro-Winkler distance
6397 @item Levenshtein distance
6398 @item Normalized Damerau-Levenshtein distance
6399 @item Normalized Levenshtein distance
6400 @item Overlap coefficient
6401 @end itemize\n")
6402 (license license:x11)))
6403
6404 (define-public cl-mk-string-metrics
6405 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6406
6407 (define-public sbcl-cl-str
6408 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
6409 (package
6410 (name "sbcl-cl-str")
6411 (version (git-version "0.17" "1" commit))
6412 (home-page "https://github.com/vindarel/cl-str")
6413 (source (origin
6414 (method git-fetch)
6415 (uri (git-reference
6416 (url home-page)
6417 (commit commit)))
6418 (sha256
6419 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
6420 (file-name (git-file-name name version))))
6421 (build-system asdf-build-system/sbcl)
6422 (inputs
6423 `(("cl-ppcre" ,sbcl-cl-ppcre)
6424 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6425 ("cl-change-case" ,sbcl-cl-change-case)))
6426 (native-inputs
6427 `(("prove" ,sbcl-prove)
6428 ("prove-asdf" ,sbcl-prove-asdf)))
6429 (arguments
6430 `(#:asd-file "str.asd"
6431 #:asd-system-name "str"
6432 #:test-asd-file "str.test.asd"))
6433 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6434 (description "A modern and consistent Common Lisp string manipulation
6435 library that focuses on modernity, simplicity and discoverability:
6436 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6437 @code{str:concat strings} instead of an unusual format construct; one
6438 discoverable library instead of many; consistency and composability, where
6439 @code{s} is always the last argument, which makes it easier to feed pipes and
6440 arrows.")
6441 (license license:expat))))
6442
6443 (define-public cl-str
6444 (sbcl-package->cl-source-package sbcl-cl-str))
6445
6446 (define-public sbcl-cl-xmlspam
6447 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6448 (package
6449 (name "sbcl-cl-xmlspam")
6450 (build-system asdf-build-system/sbcl)
6451 (version (git-version "0.0.0" "1" commit))
6452 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6453 (source
6454 (origin
6455 (method git-fetch)
6456 (uri (git-reference
6457 (url home-page)
6458 (commit commit)))
6459 (file-name (string-append name "-" version))
6460 (sha256
6461 (base32
6462 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6463 (inputs
6464 `(("cxml" ,sbcl-cxml)
6465 ("cl-ppcre" ,sbcl-cl-ppcre)))
6466 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6467 (description "CXML does an excellent job at parsing XML elements, but what
6468 do you do when you have a XML file that's larger than you want to fit in
6469 memory, and you want to extract some information from it? Writing code to deal
6470 with SAX events, or even using Klacks, quickly becomes tedious.
6471 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6472 to write code that mirrors the structure of the XML that it's parsing. It
6473 also makes it easy to shift paradigms when necessary - the usual Lisp control
6474 constructs can be used interchangeably with pattern matching, and the full
6475 power of CXML is available when necessary.")
6476 (license license:bsd-3))))
6477
6478 ;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6479 ;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6480 ;; asdf-build-system/sbcl.
6481 (define-public cl-dbus
6482 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6483 (revision "1"))
6484 (package
6485 (name "cl-dbus")
6486 (build-system asdf-build-system/source)
6487 (version (git-version "20190408" revision commit))
6488 (home-page "https://github.com/death/dbus")
6489 (source
6490 (origin
6491 (method git-fetch)
6492 (uri (git-reference
6493 (url home-page)
6494 (commit commit)))
6495 (file-name (git-file-name name version))
6496 (sha256
6497 (base32
6498 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6499 ;; Inputs must be propagated or else packages depending on this won't
6500 ;; have the necessary packages.
6501 (propagated-inputs
6502 `(("alexandria" ,sbcl-alexandria)
6503 ("trivial-garbage" ,sbcl-trivial-garbage)
6504 ("babel" ,sbcl-babel)
6505 ("iolib" ,sbcl-iolib)
6506 ("ieee-floats" ,sbcl-ieee-floats)
6507 ("flexi-streams" ,sbcl-flexi-streams)
6508 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6509 ("ironclad" ,sbcl-ironclad)))
6510 (synopsis "D-Bus client library for Common Lisp")
6511 (description "This is a Common Lisp library that publishes D-Bus
6512 objects as well as send and notify other objects connected to a bus.")
6513 (license license:bsd-2))))
6514
6515 (define-public sbcl-cl-hooks
6516 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6517 (revision "1"))
6518 (package
6519 (name "sbcl-cl-hooks")
6520 (build-system asdf-build-system/sbcl)
6521 (version (git-version "0.2.1" revision commit))
6522 (home-page "https://github.com/scymtym/architecture.hooks")
6523 (source
6524 (origin
6525 (method git-fetch)
6526 (uri (git-reference
6527 (url home-page)
6528 (commit commit)))
6529 (file-name (git-file-name name version))
6530 (sha256
6531 (base32
6532 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6533 (inputs
6534 `(("alexandria" ,sbcl-alexandria)
6535 ("let-plus" ,sbcl-let-plus)
6536 ("trivial-garbage" ,sbcl-trivial-garbage)
6537 ("closer-mop" ,sbcl-closer-mop)))
6538 (native-inputs
6539 `(("fiveam" ,sbcl-fiveam)))
6540 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6541 (description "A hook, in the present context, is a certain kind of
6542 extension point in a program that allows interleaving the execution of
6543 arbitrary code with the execution of a the program without introducing any
6544 coupling between the two. Hooks are used extensively in the extensible editor
6545 Emacs.
6546
6547 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6548 possible using the flexible multi-method dispatch mechanism. It may even seem
6549 that the concept of hooks does not provide any benefits over the possibilities
6550 of CLOS. However, there are some differences:
6551
6552 @itemize
6553
6554 @item There can be only one method for each combination of specializers and
6555 qualifiers. As a result this kind of extension point cannot be used by
6556 multiple extensions independently.
6557 @item Removing code previously attached via a @code{:before}, @code{:after} or
6558 @code{:around} method can be cumbersome.
6559 @item There could be other or even multiple extension points besides @code{:before}
6560 and @code{:after} in a single method.
6561 @item Attaching codes to individual objects using eql specializers can be
6562 cumbersome.
6563 @item Introspection of code attached a particular extension point is
6564 cumbersome since this requires enumerating and inspecting the methods of a
6565 generic function.
6566 @end itemize
6567
6568 This library tries to complement some of these weaknesses of method-based
6569 extension-points via the concept of hooks.")
6570 (license license:llgpl))))
6571
6572 (define-public cl-hooks
6573 (sbcl-package->cl-source-package sbcl-cl-hooks))
6574
6575 (define-public ecl-cl-hooks
6576 (sbcl-package->ecl-package sbcl-cl-hooks))
6577
6578 (define-public sbcl-s-sysdeps
6579 ;; No release since 2013.
6580 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6581 (revision "2"))
6582 (package
6583 (name "sbcl-s-sysdeps")
6584 (build-system asdf-build-system/sbcl)
6585 (version (git-version "1" revision commit))
6586 (home-page "https://github.com/svenvc/s-sysdeps")
6587 (source
6588 (origin
6589 (method git-fetch)
6590 (uri (git-reference
6591 (url home-page)
6592 (commit commit)))
6593 (file-name (git-file-name name version))
6594 (sha256
6595 (base32
6596 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6597 (inputs
6598 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6599 ("usocket" ,sbcl-usocket)
6600 ("usocket-server" ,sbcl-usocket-server)))
6601 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6602 (description "@code{s-sysdeps} is an abstraction layer over platform
6603 dependent functionality. This simple package is used as a building block in a
6604 number of other open source projects.
6605
6606 @code{s-sysdeps} abstracts:
6607
6608 @itemize
6609 @item managing processes,
6610 @item implementing a standard TCP/IP server,
6611 @item opening a client TCP/IP socket stream,
6612 @item working with process locks.
6613 @end itemize\n")
6614 (license license:llgpl))))
6615
6616 (define-public cl-s-sysdeps
6617 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6618
6619 (define-public ecl-s-sysdeps
6620 (sbcl-package->ecl-package sbcl-s-sysdeps))
6621
6622 (define-public sbcl-cl-prevalence
6623 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6624 (revision "3"))
6625 (package
6626 (name "sbcl-cl-prevalence")
6627 (build-system asdf-build-system/sbcl)
6628 (version (git-version "5" revision commit))
6629 (home-page "https://github.com/40ants/cl-prevalence")
6630 (source
6631 (origin
6632 (method git-fetch)
6633 (uri (git-reference
6634 (url home-page)
6635 (commit commit)))
6636 (file-name (git-file-name name version))
6637 (sha256
6638 (base32
6639 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
6640 (inputs
6641 `(("s-sysdeps" ,sbcl-s-sysdeps)
6642 ("s-xml" ,sbcl-s-xml)))
6643 (native-inputs
6644 `(("fiveam" ,sbcl-fiveam)))
6645 (synopsis "Implementation of object prevalence for Common Lisp")
6646 (description "This Common Lisp library implements object prevalence (see
6647 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6648 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6649 classes and cyclic data structures are supported.")
6650 (license license:llgpl))))
6651
6652 (define-public cl-prevalence
6653 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6654
6655 (define-public ecl-cl-prevalence
6656 (sbcl-package->ecl-package sbcl-cl-prevalence))
6657
6658 (define-public sbcl-series
6659 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6660 (revision "1"))
6661 (package
6662 (name "sbcl-series")
6663 (version (git-version "2.2.11" revision commit))
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url "git://git.code.sf.net/p/series/series")
6669 (commit commit)))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32
6673 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6674 (build-system asdf-build-system/sbcl)
6675 (arguments
6676 ;; Disable the tests, they are apparently buggy and I didn't find
6677 ;; a simple way to make them run and pass.
6678 '(#:tests? #f))
6679 (synopsis "Series data structure for Common Lisp")
6680 (description
6681 "This Common Lisp library provides a series data structure much like
6682 a sequence, with similar kinds of operations. The difference is that in many
6683 situations, operations on series may be composed functionally and yet execute
6684 iteratively, without the need to construct intermediate series values
6685 explicitly. In this manner, series provide both the clarity of a functional
6686 programming style and the efficiency of an iterative programming style.")
6687 (home-page "http://series.sourceforge.net/")
6688 (license license:expat))))
6689
6690 (define-public cl-series
6691 (sbcl-package->cl-source-package sbcl-series))
6692
6693 (define-public ecl-series
6694 (sbcl-package->ecl-package sbcl-series))
6695
6696 (define-public sbcl-periods
6697 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6698 (revision "1"))
6699 (package
6700 (name "sbcl-periods")
6701 (version (git-version "0.0.2" revision commit))
6702 (source
6703 (origin
6704 (method git-fetch)
6705 (uri (git-reference
6706 (url "https://github.com/jwiegley/periods")
6707 (commit commit)))
6708 (file-name (git-file-name name version))
6709 (sha256
6710 (base32
6711 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6712 (build-system asdf-build-system/sbcl)
6713 (inputs
6714 `(("local-time" ,sbcl-local-time)))
6715 (synopsis "Common Lisp library for manipulating date/time objects")
6716 (description
6717 "Periods is a Common Lisp library providing a set of utilities for
6718 manipulating times, distances between times, and both contiguous and
6719 discontiguous ranges of time.")
6720 (home-page "https://github.com/jwiegley/periods")
6721 (license license:bsd-3))))
6722
6723 (define-public cl-periods
6724 (sbcl-package->cl-source-package sbcl-periods))
6725
6726 (define-public ecl-periods
6727 (sbcl-package->ecl-package sbcl-periods))
6728
6729 (define-public sbcl-periods-series
6730 (package
6731 (inherit sbcl-periods)
6732 (name "sbcl-periods-series")
6733 (inputs
6734 `(("periods" ,sbcl-periods)
6735 ("series" ,sbcl-series)))
6736 (arguments
6737 '(#:asd-file "periods-series.asd"
6738 #:asd-system-name "periods-series"))
6739 (description
6740 "Periods-series is an extension of the periods Common Lisp library
6741 providing functions compatible with the series Common Lisp library.")))
6742
6743 (define-public cl-periods-series
6744 (sbcl-package->cl-source-package sbcl-periods-series))
6745
6746 (define-public ecl-periods-series
6747 (sbcl-package->ecl-package sbcl-periods-series))
6748
6749 (define-public sbcl-metatilities-base
6750 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6751 (revision "1"))
6752 (package
6753 (name "sbcl-metatilities-base")
6754 (version (git-version "0.6.6" revision commit))
6755 (source
6756 (origin
6757 (method git-fetch)
6758 (uri (git-reference
6759 (url "https://github.com/gwkkwg/metatilities-base")
6760 (commit commit)))
6761 (file-name (git-file-name name version))
6762 (sha256
6763 (base32
6764 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6765 (build-system asdf-build-system/sbcl)
6766 (native-inputs
6767 `(("lift" ,sbcl-lift)))
6768 (synopsis "Core of the metatilities Common Lisp library")
6769 (description
6770 "Metatilities-base is the core of the metatilities Common Lisp library
6771 which implements a set of utilities.")
6772 (home-page "https://common-lisp.net/project/metatilities-base/")
6773 (license license:expat))))
6774
6775 (define-public cl-metatilities-base
6776 (sbcl-package->cl-source-package sbcl-metatilities-base))
6777
6778 (define-public ecl-metatilities-base
6779 (sbcl-package->ecl-package sbcl-metatilities-base))
6780
6781 (define-public sbcl-cl-containers
6782 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6783 (revision "3"))
6784 (package
6785 (name "sbcl-cl-containers")
6786 (version (git-version "0.12.1" revision commit))
6787 (source
6788 (origin
6789 (method git-fetch)
6790 (uri (git-reference
6791 (url "https://github.com/gwkkwg/cl-containers")
6792 (commit commit)))
6793 (file-name (git-file-name name version))
6794 (sha256
6795 (base32
6796 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6797 (build-system asdf-build-system/sbcl)
6798 (native-inputs
6799 `(("lift" ,sbcl-lift)))
6800 (inputs
6801 `(("metatilities-base" ,sbcl-metatilities-base)))
6802 (arguments
6803 '(#:phases
6804 (modify-phases %standard-phases
6805 (add-after 'unpack 'relax-version-checks
6806 (lambda _
6807 (substitute* "cl-containers.asd"
6808 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6809 "\"metatilities-base\""))
6810 (substitute* "cl-containers-test.asd"
6811 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6812 "\"lift\""))
6813 #t)))))
6814 (synopsis "Container library for Common Lisp")
6815 (description
6816 "Common Lisp ships with a set of powerful built in data structures
6817 including the venerable list, full featured arrays, and hash-tables.
6818 CL-containers enhances and builds on these structures by adding containers
6819 that are not available in native Lisp (for example: binary search trees,
6820 red-black trees, sparse arrays and so on), and by providing a standard
6821 interface so that they are simpler to use and so that changing design
6822 decisions becomes significantly easier.")
6823 (home-page "https://common-lisp.net/project/cl-containers/")
6824 (license license:expat))))
6825
6826 (define-public cl-containers
6827 (sbcl-package->cl-source-package sbcl-cl-containers))
6828
6829 (define-public ecl-cl-containers
6830 (sbcl-package->ecl-package sbcl-cl-containers))
6831
6832 (define-public sbcl-xlunit
6833 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6834 (revision "1"))
6835 (package
6836 (name "sbcl-xlunit")
6837 (version (git-version "0.6.3" revision commit))
6838 (source
6839 (origin
6840 (method git-fetch)
6841 (uri (git-reference
6842 (url "http://git.kpe.io/xlunit.git")
6843 (commit commit)))
6844 (file-name (git-file-name name version))
6845 (sha256
6846 (base32
6847 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6848 (build-system asdf-build-system/sbcl)
6849 (arguments
6850 '(#:phases
6851 (modify-phases %standard-phases
6852 (add-after 'unpack 'fix-tests
6853 (lambda _
6854 (substitute* "xlunit.asd"
6855 ((" :force t") ""))
6856 #t)))))
6857 (synopsis "Unit testing package for Common Lisp")
6858 (description
6859 "The XLUnit package is a toolkit for building test suites. It is based
6860 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6861 (home-page "http://quickdocs.org/xlunit/")
6862 (license license:bsd-3))))
6863
6864 (define-public cl-xlunit
6865 (sbcl-package->cl-source-package sbcl-xlunit))
6866
6867 (define-public ecl-xlunit
6868 (sbcl-package->ecl-package sbcl-xlunit))
6869
6870 (define-public sbcl-fprog
6871 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6872 (revision "1"))
6873 (package
6874 (name "sbcl-fprog")
6875 (version (git-version "1.0.0" revision commit))
6876 (source
6877 (origin
6878 (method git-fetch)
6879 (uri (git-reference
6880 (url "https://github.com/jwiegley/cambl")
6881 (commit commit)))
6882 (file-name (git-file-name name version))
6883 (sha256
6884 (base32
6885 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6886 (build-system asdf-build-system/sbcl)
6887 (synopsis "Functional programming utilities for Common Lisp")
6888 (description
6889 "@code{fprog} is a Common Lisp library allowing iteration over
6890 immutable lists sharing identical sublists.")
6891 (home-page "https://github.com/jwiegley/cambl")
6892 (license license:bsd-3))))
6893
6894 (define-public cl-fprog
6895 (sbcl-package->cl-source-package sbcl-fprog))
6896
6897 (define-public ecl-fprog
6898 (sbcl-package->ecl-package sbcl-fprog))
6899
6900 (define-public sbcl-cambl
6901 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6902 (revision "1"))
6903 (package
6904 (inherit sbcl-fprog)
6905 (name "sbcl-cambl")
6906 (version (git-version "4.0.0" revision commit))
6907 (native-inputs
6908 `(("xlunit" ,sbcl-xlunit)))
6909 (inputs
6910 `(("alexandria" ,sbcl-alexandria)
6911 ("cl-containers" ,sbcl-cl-containers)
6912 ("local-time" ,sbcl-local-time)
6913 ("periods" ,sbcl-periods)
6914 ("fprog" ,sbcl-fprog)))
6915 (synopsis "Commoditized amounts and balances for Common Lisp")
6916 (description
6917 "CAMBL is a Common Lisp library providing a convenient facility for
6918 working with commoditized values. It does not allow compound units (and so is
6919 not suited for scientific operations) but does work rather nicely for the
6920 purpose of financial calculations."))))
6921
6922 (define-public cl-cambl
6923 (sbcl-package->cl-source-package sbcl-cambl))
6924
6925 (define-public ecl-cambl
6926 (sbcl-package->ecl-package sbcl-cambl))
6927
6928 (define-public sbcl-cl-ledger
6929 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6930 (revision "1"))
6931 (package
6932 (name "sbcl-cl-ledger")
6933 (version (git-version "4.0.0" revision commit))
6934 (source
6935 (origin
6936 (method git-fetch)
6937 (uri (git-reference
6938 (url "https://github.com/ledger/cl-ledger")
6939 (commit commit)))
6940 (file-name (git-file-name name version))
6941 (sha256
6942 (base32
6943 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6944 (build-system asdf-build-system/sbcl)
6945 (inputs
6946 `(("cambl" ,sbcl-cambl)
6947 ("cl-ppcre" ,sbcl-cl-ppcre)
6948 ("local-time" ,sbcl-local-time)
6949 ("periods-series" ,sbcl-periods-series)))
6950 (arguments
6951 '(#:phases
6952 (modify-phases %standard-phases
6953 (add-after 'unpack 'fix-system-definition
6954 (lambda _
6955 (substitute* "cl-ledger.asd"
6956 ((" :build-operation program-op") "")
6957 ((" :build-pathname \"cl-ledger\"") "")
6958 ((" :entry-point \"ledger::main\"") ""))
6959 #t)))))
6960 (synopsis "Common Lisp port of the Ledger accounting system")
6961 (description
6962 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6963 system.")
6964 (home-page "https://github.com/ledger/cl-ledger")
6965 (license license:bsd-3))))
6966
6967 (define-public cl-ledger
6968 (sbcl-package->cl-source-package sbcl-cl-ledger))
6969
6970 (define-public ecl-cl-ledger
6971 (sbcl-package->ecl-package sbcl-cl-ledger))
6972
6973 (define-public sbcl-bst
6974 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6975 (revision "1"))
6976 (package
6977 (name "sbcl-bst")
6978 (version (git-version "1.1" revision commit))
6979 (source
6980 (origin
6981 (method git-fetch)
6982 (uri (git-reference
6983 (url "https://github.com/glv2/bst")
6984 (commit commit)))
6985 (file-name (git-file-name name version))
6986 (sha256
6987 (base32
6988 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6989 (build-system asdf-build-system/sbcl)
6990 (native-inputs
6991 `(("alexandria" ,sbcl-alexandria)
6992 ("fiveam" ,sbcl-fiveam)))
6993 (synopsis "Binary search tree for Common Lisp")
6994 (description
6995 "BST is a Common Lisp library for working with binary search trees that
6996 can contain any kind of values.")
6997 (home-page "https://github.com/glv2/bst")
6998 (license license:gpl3))))
6999
7000 (define-public cl-bst
7001 (sbcl-package->cl-source-package sbcl-bst))
7002
7003 (define-public ecl-bst
7004 (sbcl-package->ecl-package sbcl-bst))
7005
7006 (define-public sbcl-cl-octet-streams
7007 (package
7008 (name "sbcl-cl-octet-streams")
7009 (version "1.0")
7010 (source
7011 (origin
7012 (method git-fetch)
7013 (uri (git-reference
7014 (url "https://github.com/glv2/cl-octet-streams")
7015 (commit (string-append "v" version))))
7016 (file-name (git-file-name name version))
7017 (sha256
7018 (base32
7019 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
7020 (build-system asdf-build-system/sbcl)
7021 (native-inputs
7022 `(("fiveam" ,sbcl-fiveam)))
7023 (inputs
7024 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7025 (synopsis "In-memory octet streams for Common Lisp")
7026 (description
7027 "CL-octet-streams is a library implementing in-memory octet
7028 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7029 cl-plumbing libraries.")
7030 (home-page "https://github.com/glv2/cl-octet-streams")
7031 (license license:gpl3+)))
7032
7033 (define-public cl-octet-streams
7034 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7035
7036 (define-public ecl-cl-octet-streams
7037 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7038
7039 (define-public sbcl-lzlib
7040 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
7041 (revision "1"))
7042 (package
7043 (name "sbcl-lzlib")
7044 (version (git-version "1.0" revision commit))
7045 (source
7046 (origin
7047 (method git-fetch)
7048 (uri (git-reference
7049 (url "https://github.com/glv2/cl-lzlib")
7050 (commit commit)))
7051 (file-name (git-file-name name version))
7052 (sha256
7053 (base32
7054 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
7055 (build-system asdf-build-system/sbcl)
7056 (native-inputs
7057 `(("fiveam" ,sbcl-fiveam)))
7058 (inputs
7059 `(("cffi" ,sbcl-cffi)
7060 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7061 ("lzlib" ,lzlib)))
7062 (arguments
7063 '(#:phases
7064 (modify-phases %standard-phases
7065 (add-after 'unpack 'fix-paths
7066 (lambda* (#:key inputs #:allow-other-keys)
7067 (substitute* "src/lzlib.lisp"
7068 (("liblz\\.so")
7069 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7070 #t)))))
7071 (synopsis "Common Lisp library for lzip (de)compression")
7072 (description
7073 "This Common Lisp library provides functions for lzip (LZMA)
7074 compression/decompression using bindings to the lzlib C library.")
7075 (home-page "https://github.com/glv2/cl-lzlib")
7076 (license license:gpl3+))))
7077
7078 (define-public cl-lzlib
7079 (sbcl-package->cl-source-package sbcl-lzlib))
7080
7081 (define-public ecl-lzlib
7082 (sbcl-package->ecl-package sbcl-lzlib))
7083
7084 (define-public sbcl-chanl
7085 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7086 (revision "1"))
7087 (package
7088 (name "sbcl-chanl")
7089 (version (git-version "0.4.1" revision commit))
7090 (source
7091 (origin
7092 (method git-fetch)
7093 (uri (git-reference
7094 (url "https://github.com/zkat/chanl")
7095 (commit commit)))
7096 (file-name (git-file-name name version))
7097 (sha256
7098 (base32
7099 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7100 (build-system asdf-build-system/sbcl)
7101 (native-inputs
7102 `(("fiveam" ,sbcl-fiveam)))
7103 (inputs
7104 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7105 (synopsis "Portable channel-based concurrency for Common Lisp")
7106 (description "Common Lisp library for channel-based concurrency. In
7107 a nutshell, you create various threads sequentially executing tasks you need
7108 done, and use channel objects to communicate and synchronize the state of these
7109 threads.")
7110 (home-page "https://github.com/zkat/chanl")
7111 (license (list license:expat license:bsd-3)))))
7112
7113 (define-public cl-chanl
7114 (sbcl-package->cl-source-package sbcl-chanl))
7115
7116 (define-public ecl-chanl
7117 (sbcl-package->ecl-package sbcl-chanl))
7118
7119 (define-public sbcl-cl-store
7120 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7121 (revision "1"))
7122 (package
7123 (name "sbcl-cl-store")
7124 (version (git-version "0.8.11" revision commit))
7125 (source
7126 (origin
7127 (method git-fetch)
7128 (uri (git-reference
7129 (url "https://github.com/skypher/cl-store")
7130 (commit commit)))
7131 (file-name (git-file-name name version))
7132 (sha256
7133 (base32
7134 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7135 (build-system asdf-build-system/sbcl)
7136 (native-inputs
7137 `(("rt" ,sbcl-rt)))
7138 (synopsis "Common Lisp library to serialize data")
7139 (description
7140 "CL-STORE is a portable serialization package which should give you the
7141 ability to store all Common Lisp data types into streams.")
7142 (home-page "https://www.common-lisp.net/project/cl-store/")
7143 (license license:expat))))
7144
7145 (define-public cl-store
7146 (sbcl-package->cl-source-package sbcl-cl-store))
7147
7148 (define-public ecl-cl-store
7149 (sbcl-package->ecl-package sbcl-cl-store))
7150
7151 (define-public sbcl-cl-gobject-introspection
7152 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7153 (revision "0"))
7154 (package
7155 (name "sbcl-cl-gobject-introspection")
7156 (version (git-version "0.3" revision commit))
7157 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7158 (source
7159 (origin
7160 (method git-fetch)
7161 (uri (git-reference
7162 (url home-page)
7163 (commit commit)))
7164 (file-name (git-file-name name version))
7165 (sha256
7166 (base32
7167 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7168 (build-system asdf-build-system/sbcl)
7169 (inputs
7170 `(("alexandria" ,sbcl-alexandria)
7171 ("cffi" ,sbcl-cffi)
7172 ("iterate" ,sbcl-iterate)
7173 ("trivial-garbage" ,sbcl-trivial-garbage)
7174 ("glib" ,glib)
7175 ("gobject-introspection" ,gobject-introspection)))
7176 (native-inputs
7177 `(("fiveam" ,sbcl-fiveam)))
7178 (arguments
7179 ;; TODO: Tests fail, see
7180 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7181 '(#:tests? #f
7182 #:phases
7183 (modify-phases %standard-phases
7184 (add-after (quote unpack) (quote fix-paths)
7185 (lambda* (#:key inputs #:allow-other-keys)
7186 (substitute* "src/init.lisp"
7187 (("libgobject-2\\.0\\.so")
7188 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7189 (("libgirepository-1\\.0\\.so")
7190 (string-append (assoc-ref inputs "gobject-introspection")
7191 "/lib/libgirepository-1.0.so")))
7192 #t)))))
7193 (synopsis "Common Lisp bindings to GObject Introspection")
7194 (description
7195 "This library is a bridge between Common Lisp and GObject
7196 Introspection, which enables Common Lisp programs to access the full interface
7197 of C+GObject libraries without the need of writing dedicated bindings.")
7198 (license (list license:bsd-3
7199 ;; Tests are under a different license.
7200 license:llgpl)))))
7201
7202 (define-public cl-gobject-introspection
7203 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7204
7205 (define-public sbcl-string-case
7206 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7207 (revision "0"))
7208 (package
7209 (name "sbcl-string-case")
7210 (version (git-version "0.0.2" revision commit))
7211 (home-page "https://github.com/pkhuong/string-case")
7212 (source
7213 (origin
7214 (method git-fetch)
7215 (uri (git-reference
7216 (url home-page)
7217 (commit commit)))
7218 (file-name (git-file-name name version))
7219 (sha256
7220 (base32
7221 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7222 (build-system asdf-build-system/sbcl)
7223 (synopsis "Efficient string= case in Common Lisp")
7224 (description
7225 "@code{string-case} is a Common Lisp macro that generates specialised decision
7226 trees to dispatch on string equality.")
7227 (license license:bsd-3))))
7228
7229 (define-public cl-string-case
7230 (sbcl-package->cl-source-package sbcl-string-case))
7231
7232 (define-public ecl-string-case
7233 (sbcl-package->ecl-package sbcl-string-case))
7234
7235 (define-public sbcl-global-vars
7236 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7237 (revision "0"))
7238 (package
7239 (name "sbcl-global-vars")
7240 (version (git-version "1.0.0" revision commit))
7241 (home-page "https://github.com/lmj/global-vars")
7242 (source
7243 (origin
7244 (method git-fetch)
7245 (uri (git-reference
7246 (url home-page)
7247 (commit commit)))
7248 (file-name (git-file-name name version))
7249 (sha256
7250 (base32
7251 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7252 (build-system asdf-build-system/sbcl)
7253 (synopsis "Efficient global variables in Common Lisp")
7254 (description
7255 "In Common Lisp, a special variable that is never dynamically bound
7256 typically serves as a stand-in for a global variable. The @code{global-vars}
7257 library provides true global variables that are implemented by some compilers.
7258 An attempt to rebind a global variable properly results in a compiler error.
7259 That is, a global variable cannot be dynamically bound.
7260
7261 Global variables therefore allow us to communicate an intended usage that
7262 differs from special variables. Global variables are also more efficient than
7263 special variables, especially in the presence of threads.")
7264 (license license:expat))))
7265
7266 (define-public cl-global-vars
7267 (sbcl-package->cl-source-package sbcl-global-vars))
7268
7269 (define-public ecl-global-vars
7270 (sbcl-package->ecl-package sbcl-global-vars))
7271
7272 (define-public sbcl-trivial-file-size
7273 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7274 (revision "0"))
7275 (package
7276 (name "sbcl-trivial-file-size")
7277 (version (git-version "0.0.0" revision commit))
7278 (home-page "https://github.com/ruricolist/trivial-file-size")
7279 (source
7280 (origin
7281 (method git-fetch)
7282 (uri (git-reference
7283 (url home-page)
7284 (commit commit)))
7285 (file-name (git-file-name name version))
7286 (sha256
7287 (base32
7288 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7289 (build-system asdf-build-system/sbcl)
7290 (native-inputs
7291 `(("fiveam" ,sbcl-fiveam)))
7292 (synopsis "Size of a file in bytes in Common Lisp")
7293 (description
7294 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7295 is to open the file with an element type of (unsigned-byte 8) and then
7296 calculate the length of the stream. This is less than ideal. In most cases
7297 it is better to get the size of the file from its metadata, using a system
7298 call.
7299
7300 This library exports a single function, file-size-in-octets. It returns the
7301 size of a file in bytes, using system calls when possible.")
7302 (license license:expat))))
7303
7304 (define-public cl-trivial-file-size
7305 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7306
7307 (define-public ecl-trivial-file-size
7308 (sbcl-package->ecl-package sbcl-trivial-file-size))
7309
7310 (define-public sbcl-trivial-macroexpand-all
7311 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7312 (revision "0"))
7313 (package
7314 (name "sbcl-trivial-macroexpand-all")
7315 (version (git-version "0.0.0" revision commit))
7316 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7317 (source
7318 (origin
7319 (method git-fetch)
7320 (uri (git-reference
7321 (url home-page)
7322 (commit commit)))
7323 (file-name (git-file-name name version))
7324 (sha256
7325 (base32
7326 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7327 (build-system asdf-build-system/sbcl)
7328 (native-inputs
7329 `(("fiveam" ,sbcl-fiveam)))
7330 (synopsis "Portable macroexpand-all for Common Lisp")
7331 (description
7332 "This library provides a macroexpand-all function that calls the
7333 implementation specific equivalent.")
7334 (license license:unlicense))))
7335
7336 (define-public cl-trivial-macroexpand-all
7337 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7338
7339 (define-public ecl-trivial-macroexpand-all
7340 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7341
7342 (define-public sbcl-serapeum
7343 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7344 (revision "2"))
7345 (package
7346 (name "sbcl-serapeum")
7347 (version (git-version "0.0.0" revision commit))
7348 (home-page "https://github.com/ruricolist/serapeum")
7349 (source
7350 (origin
7351 (method git-fetch)
7352 (uri (git-reference
7353 (url home-page)
7354 (commit commit)))
7355 (file-name (git-file-name name version))
7356 (sha256
7357 (base32
7358 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
7359 (build-system asdf-build-system/sbcl)
7360 (inputs
7361 `(("alexandria" ,sbcl-alexandria)
7362 ("trivia" ,sbcl-trivia)
7363 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7364 ("split-sequence" ,sbcl-split-sequence)
7365 ("string-case" ,sbcl-string-case)
7366 ("parse-number" ,sbcl-parse-number)
7367 ("trivial-garbage" ,sbcl-trivial-garbage)
7368 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7369 ("named-readtables" ,sbcl-named-readtables)
7370 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
7371 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7372 ("global-vars" ,sbcl-global-vars)
7373 ("trivial-file-size" ,sbcl-trivial-file-size)
7374 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7375 (native-inputs
7376 `(("fiveam" ,sbcl-fiveam)
7377 ("local-time" ,sbcl-local-time)))
7378 (arguments
7379 '(#:phases
7380 (modify-phases %standard-phases
7381 (add-after 'unpack 'disable-failing-tests
7382 (lambda* (#:key inputs #:allow-other-keys)
7383 (substitute* "serapeum.asd"
7384 ;; Guix does not have Quicklisp, and probably never will.
7385 (("\\(:file \"quicklisp\"\\)") ""))
7386 #t)))))
7387 (synopsis "Common Lisp utility library beyond Alexandria")
7388 (description
7389 "Serapeum is a conservative library of Common Lisp utilities. It is a
7390 supplement, not a competitor, to Alexandria.")
7391 (license license:expat))))
7392
7393 (define-public cl-serapeum
7394 (sbcl-package->cl-source-package sbcl-serapeum))
7395
7396 (define-public sbcl-arrows
7397 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7398 (revision "0"))
7399 (package
7400 (name "sbcl-arrows")
7401 (version (git-version "0.2.0" revision commit))
7402 (source
7403 (origin
7404 (method git-fetch)
7405 (uri (git-reference
7406 (url "https://gitlab.com/Harleqin/arrows.git")
7407 (commit commit)))
7408 (file-name (git-file-name name version))
7409 (sha256
7410 (base32
7411 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7412 (build-system asdf-build-system/sbcl)
7413 (native-inputs
7414 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7415 (synopsis "Clojure-like arrow macros for Common Lisp")
7416 (description
7417 "This library implements the @code{->} and @code{->>} macros from
7418 Clojure, as well as several expansions on the idea.")
7419 (home-page "https://gitlab.com/Harleqin/arrows")
7420 (license license:public-domain))))
7421
7422 (define-public cl-arrows
7423 (sbcl-package->cl-source-package sbcl-arrows))
7424
7425 (define-public ecl-arrows
7426 (sbcl-package->ecl-package sbcl-arrows))
7427
7428 (define-public sbcl-simple-parallel-tasks
7429 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7430 (revision "0"))
7431 (package
7432 (name "sbcl-simple-parallel-tasks")
7433 (version (git-version "1.0" revision commit))
7434 (source
7435 (origin
7436 (method git-fetch)
7437 (uri (git-reference
7438 (url "https://github.com/glv2/simple-parallel-tasks")
7439 (commit commit)))
7440 (file-name (git-file-name name version))
7441 (sha256
7442 (base32
7443 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7444 (build-system asdf-build-system/sbcl)
7445 (native-inputs
7446 `(("fiveam" ,sbcl-fiveam)))
7447 (inputs
7448 `(("chanl" ,sbcl-chanl)))
7449 (synopsis "Common Lisp library to evaluate some forms in parallel")
7450 (description "This is a simple Common Lisp library to evaluate some
7451 forms in parallel.")
7452 (home-page "https://github.com/glv2/simple-parallel-tasks")
7453 (license license:gpl3))))
7454
7455 (define-public cl-simple-parallel-tasks
7456 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7457
7458 (define-public ecl-simple-parallel-tasks
7459 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7460
7461 (define-public sbcl-cl-heap
7462 (package
7463 (name "sbcl-cl-heap")
7464 (version "0.1.6")
7465 (source
7466 (origin
7467 (method url-fetch)
7468 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7469 "cl-heap_" version ".tar.gz"))
7470 (sha256
7471 (base32
7472 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7473 (build-system asdf-build-system/sbcl)
7474 (native-inputs
7475 `(("xlunit" ,sbcl-xlunit)))
7476 (arguments
7477 `(#:test-asd-file "cl-heap-tests.asd"))
7478 (synopsis "Heap and priority queue data structures for Common Lisp")
7479 (description
7480 "CL-HEAP provides various implementations of heap data structures (a
7481 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7482 (home-page "https://common-lisp.net/project/cl-heap/")
7483 (license license:gpl3+)))
7484
7485 (define-public cl-heap
7486 (sbcl-package->cl-source-package sbcl-cl-heap))
7487
7488 (define-public ecl-cl-heap
7489 (sbcl-package->ecl-package sbcl-cl-heap))
7490
7491 (define-public sbcl-curry-compose-reader-macros
7492 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7493 (revision "0"))
7494 (package
7495 (name "sbcl-curry-compose-reader-macros")
7496 (version (git-version "1.0.0" revision commit))
7497 (source
7498 (origin
7499 (method git-fetch)
7500 (uri
7501 (git-reference
7502 (url "https://github.com/eschulte/curry-compose-reader-macros")
7503 (commit commit)))
7504 (file-name (git-file-name name version))
7505 (sha256
7506 (base32
7507 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7508 (build-system asdf-build-system/sbcl)
7509 (inputs
7510 `(("alexandria" ,sbcl-alexandria)
7511 ("named-readtables" ,sbcl-named-readtables)))
7512 (synopsis "Reader macros for partial application and composition")
7513 (description
7514 "This Common Lisp library provides reader macros for concise expression
7515 of function partial application and composition.")
7516 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7517 (license license:public-domain))))
7518
7519 (define-public cl-curry-compose-reader-macros
7520 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7521
7522 (define-public ecl-curry-compose-reader-macros
7523 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7524
7525 (define-public sbcl-yason
7526 (package
7527 (name "sbcl-yason")
7528 (version "0.7.7")
7529 (source
7530 (origin
7531 (method git-fetch)
7532 (uri (git-reference
7533 (url "https://github.com/phmarek/yason")
7534 (commit (string-append "v" version))))
7535 (file-name (git-file-name name version))
7536 (sha256
7537 (base32
7538 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7539 (build-system asdf-build-system/sbcl)
7540 (inputs
7541 `(("alexandria" ,sbcl-alexandria)
7542 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7543 (synopsis "Common Lisp JSON parser/encoder")
7544 (description
7545 "YASON is a Common Lisp library for encoding and decoding data in the
7546 JSON interchange format.")
7547 (home-page "https://github.com/phmarek/yason")
7548 (license license:bsd-3)))
7549
7550 (define-public cl-yason
7551 (sbcl-package->cl-source-package sbcl-yason))
7552
7553 (define-public ecl-yason
7554 (sbcl-package->ecl-package sbcl-yason))
7555
7556 (define-public sbcl-stefil
7557 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7558 (revision "0"))
7559 (package
7560 (name "sbcl-stefil")
7561 (version (git-version "0.1" revision commit))
7562 (source
7563 (origin
7564 (method git-fetch)
7565 (uri (git-reference
7566 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7567 (commit commit)))
7568 (file-name (git-file-name name version))
7569 (sha256
7570 (base32
7571 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7572 (build-system asdf-build-system/sbcl)
7573 (inputs
7574 `(("alexandria" ,sbcl-alexandria)
7575 ("iterate" ,sbcl-iterate)
7576 ("metabang-bind" ,sbcl-metabang-bind)))
7577 (propagated-inputs
7578 ;; Swank doesn't have a pre-compiled package, therefore we must
7579 ;; propagate its sources.
7580 `(("swank" ,cl-slime-swank)))
7581 (arguments
7582 '(#:phases
7583 (modify-phases %standard-phases
7584 (add-after 'unpack 'drop-unnecessary-dependency
7585 (lambda _
7586 (substitute* "package.lisp"
7587 ((":stefil-system") ""))
7588 #t)))))
7589 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7590 (synopsis "Simple test framework")
7591 (description
7592 "Stefil is a simple test framework for Common Lisp, with a focus on
7593 interactive development.")
7594 (license license:public-domain))))
7595
7596 (define-public cl-stefil
7597 (sbcl-package->cl-source-package sbcl-stefil))
7598
7599 (define-public sbcl-graph
7600 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7601 (revision "0"))
7602 (package
7603 (name "sbcl-graph")
7604 (version (git-version "0.0.0" revision commit))
7605 (source
7606 (origin
7607 (method git-fetch)
7608 (uri
7609 (git-reference
7610 (url "https://github.com/eschulte/graph")
7611 (commit commit)))
7612 (file-name (git-file-name name version))
7613 (sha256
7614 (base32
7615 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7616 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7617 (build-system asdf-build-system/sbcl)
7618 (native-inputs
7619 `(("stefil" ,sbcl-stefil)))
7620 (inputs
7621 `(("alexandria" ,sbcl-alexandria)
7622 ("cl-heap" ,sbcl-cl-heap)
7623 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7624 ("metabang-bind" ,sbcl-metabang-bind)
7625 ("named-readtables" ,sbcl-named-readtables)))
7626 (arguments
7627 '(#:test-asd-file "graph-test.asd"))
7628 (synopsis "Graph data structure and algorithms for Common Lisp")
7629 (description
7630 "The GRAPH Common Lisp library provides a data structures to represent
7631 graphs, as well as some graph manipulation and analysis algorithms (shortest
7632 path, maximum flow, minimum spanning tree, etc.).")
7633 (home-page "https://eschulte.github.io/graph/")
7634 (license license:gpl3+))))
7635
7636 (define-public cl-graph
7637 (sbcl-package->cl-source-package sbcl-graph))
7638
7639 (define-public sbcl-graph-dot
7640 (package
7641 (inherit sbcl-graph)
7642 (name "sbcl-graph-dot")
7643 (inputs
7644 `(("alexandria" ,sbcl-alexandria)
7645 ("cl-ppcre" ,sbcl-cl-ppcre)
7646 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7647 ("graph" ,sbcl-graph)
7648 ("metabang-bind" ,sbcl-metabang-bind)
7649 ("named-readtables" ,sbcl-named-readtables)))
7650 (arguments
7651 (substitute-keyword-arguments (package-arguments sbcl-graph)
7652 ((#:asd-file _ "") "graph-dot.asd")
7653 ((#:asd-system-name _ #f) "graph-dot")))
7654 (synopsis "Serialize graphs to and from DOT format")))
7655
7656 (define-public sbcl-graph-json
7657 (package
7658 (inherit sbcl-graph)
7659 (name "sbcl-graph-json")
7660 (inputs
7661 `(("alexandria" ,sbcl-alexandria)
7662 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7663 ("graph" ,sbcl-graph)
7664 ("metabang-bind" ,sbcl-metabang-bind)
7665 ("named-readtables" ,sbcl-named-readtables)
7666 ("yason" ,sbcl-yason)))
7667 (arguments
7668 (substitute-keyword-arguments (package-arguments sbcl-graph)
7669 ((#:asd-file _ "") "graph-json.asd")
7670 ((#:asd-system-name _ #f) "graph-json")))
7671 (synopsis "Serialize graphs to and from JSON format")))
7672
7673 (define-public sbcl-trivial-indent
7674 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7675 (revision "0"))
7676 (package
7677 (name "sbcl-trivial-indent")
7678 (version (git-version "1.0.0" revision commit))
7679 (source
7680 (origin
7681 (method git-fetch)
7682 (uri
7683 (git-reference
7684 (url "https://github.com/Shinmera/trivial-indent")
7685 (commit commit)))
7686 (file-name (git-file-name name version))
7687 (sha256
7688 (base32
7689 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7690 (build-system asdf-build-system/sbcl)
7691 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7692 (description
7693 "This library allows you to define custom indentation hints for your
7694 macros if the one recognised by SLIME automatically produces unwanted
7695 results.")
7696 (home-page "https://shinmera.github.io/trivial-indent/")
7697 (license license:zlib))))
7698
7699 (define-public cl-trivial-indent
7700 (sbcl-package->cl-source-package sbcl-trivial-indent))
7701
7702 (define-public sbcl-documentation-utils
7703 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7704 (revision "0"))
7705 (package
7706 (name "sbcl-documentation-utils")
7707 (version (git-version "1.2.0" revision commit))
7708 (source
7709 (origin
7710 (method git-fetch)
7711 (uri
7712 (git-reference
7713 (url "https://github.com/Shinmera/documentation-utils")
7714 (commit commit)))
7715 (file-name (git-file-name name version))
7716 (sha256
7717 (base32
7718 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7719 (build-system asdf-build-system/sbcl)
7720 (inputs
7721 `(("trivial-indent" ,sbcl-trivial-indent)))
7722 (synopsis "Few simple tools to document Common Lisp libraries")
7723 (description
7724 "This is a small library to help you with managing the Common Lisp
7725 docstrings for your library.")
7726 (home-page "https://shinmera.github.io/documentation-utils/")
7727 (license license:zlib))))
7728
7729 (define-public cl-documentation-utils
7730 (sbcl-package->cl-source-package sbcl-documentation-utils))
7731
7732 (define-public ecl-documentation-utils
7733 (sbcl-package->ecl-package sbcl-documentation-utils))
7734
7735 (define-public sbcl-form-fiddle
7736 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7737 (revision "0"))
7738 (package
7739 (name "sbcl-form-fiddle")
7740 (version (git-version "1.1.0" revision commit))
7741 (source
7742 (origin
7743 (method git-fetch)
7744 (uri
7745 (git-reference
7746 (url "https://github.com/Shinmera/form-fiddle")
7747 (commit commit)))
7748 (file-name (git-file-name name version))
7749 (sha256
7750 (base32
7751 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7752 (build-system asdf-build-system/sbcl)
7753 (inputs
7754 `(("documentation-utils" ,sbcl-documentation-utils)))
7755 (synopsis "Utilities to destructure Common Lisp lambda forms")
7756 (description
7757 "Often times we need to destructure a form definition in a Common Lisp
7758 macro. This library provides a set of simple utilities to help with that.")
7759 (home-page "https://shinmera.github.io/form-fiddle/")
7760 (license license:zlib))))
7761
7762 (define-public cl-form-fiddle
7763 (sbcl-package->cl-source-package sbcl-form-fiddle))
7764
7765 (define-public sbcl-parachute
7766 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7767 (revision "0"))
7768 (package
7769 (name "sbcl-parachute")
7770 (version (git-version "1.1.1" revision commit))
7771 (source
7772 (origin
7773 (method git-fetch)
7774 (uri
7775 (git-reference
7776 (url "https://github.com/Shinmera/parachute")
7777 (commit commit)))
7778 (file-name (git-file-name name version))
7779 (sha256
7780 (base32
7781 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7782 (build-system asdf-build-system/sbcl)
7783 (inputs
7784 `(("documentation-utils" ,sbcl-documentation-utils)
7785 ("form-fiddle" ,sbcl-form-fiddle)))
7786 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7787 (description
7788 "Parachute is a simple-to-use and extensible testing framework.
7789 In Parachute, things are organised as a bunch of named tests within a package.
7790 Each test can contain a bunch of test forms that make up its body.")
7791 (home-page "https://shinmera.github.io/parachute/")
7792 (license license:zlib))))
7793
7794 (define-public cl-parachute
7795 (sbcl-package->cl-source-package sbcl-parachute))
7796
7797 (define-public sbcl-array-utils
7798 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7799 (revision "0"))
7800 (package
7801 (name "sbcl-array-utils")
7802 (version (git-version "1.1.1" revision commit))
7803 (source
7804 (origin
7805 (method git-fetch)
7806 (uri
7807 (git-reference
7808 (url "https://github.com/Shinmera/array-utils")
7809 (commit commit)))
7810 (file-name (git-file-name name version))
7811 (sha256
7812 (base32
7813 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7814 (build-system asdf-build-system/sbcl)
7815 (native-inputs
7816 `(("parachute" ,sbcl-parachute)))
7817 (inputs
7818 `(("documentation-utils" ,sbcl-documentation-utils)))
7819 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7820 (description
7821 "A miniature toolkit that contains some useful shifting/popping/pushing
7822 functions for arrays and vectors. Originally from Plump.")
7823 (home-page "https://shinmera.github.io/array-utils/")
7824 (license license:zlib))))
7825
7826 (define-public cl-array-utils
7827 (sbcl-package->cl-source-package sbcl-array-utils))
7828
7829 (define-public sbcl-plump
7830 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7831 (revision "1"))
7832 (package
7833 (name "sbcl-plump")
7834 (version (git-version "2.0.0" revision commit))
7835 (source
7836 (origin
7837 (method git-fetch)
7838 (uri
7839 (git-reference
7840 (url "https://github.com/Shinmera/plump")
7841 (commit commit)))
7842 (file-name (git-file-name name version))
7843 (sha256
7844 (base32
7845 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7846 (build-system asdf-build-system/sbcl)
7847 (inputs
7848 `(("array-utils" ,sbcl-array-utils)
7849 ("documentation-utils" ,sbcl-documentation-utils)))
7850 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7851 (description
7852 "Plump is a parser for HTML/XML-like documents, focusing on being
7853 lenient towards invalid markup. It can handle things like invalid attributes,
7854 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7855 tags and so on. It parses documents to a class representation and offers a
7856 small set of DOM functions to manipulate it. It can be extended to parse to
7857 your own classes.")
7858 (home-page "https://shinmera.github.io/plump/")
7859 (license license:zlib))))
7860
7861 (define-public cl-plump
7862 (sbcl-package->cl-source-package sbcl-plump))
7863
7864 (define-public sbcl-antik-base
7865 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7866 (revision "1"))
7867 (package
7868 (name "sbcl-antik-base")
7869 (version (git-version "0.0.0" revision commit))
7870 (source
7871 (origin
7872 (method git-fetch)
7873 (uri (git-reference
7874 (url "https://gitlab.common-lisp.net/antik/antik.git")
7875 (commit commit)))
7876 (file-name (git-file-name name version))
7877 (sha256
7878 (base32
7879 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7880 (build-system asdf-build-system/sbcl)
7881 (inputs
7882 `(("alexandria" ,sbcl-alexandria)
7883 ("cl-ppcre" ,sbcl-cl-ppcre)
7884 ("iterate" ,sbcl-iterate)
7885 ("metabang-bind" ,sbcl-metabang-bind)
7886 ("named-readtables" ,sbcl-named-readtables)
7887 ("split-sequence" ,sbcl-split-sequence)))
7888 (native-inputs
7889 `(("lisp-unit" ,sbcl-lisp-unit)))
7890 (synopsis "Scientific and engineering computation in Common Lisp")
7891 (description
7892 "Antik provides a foundation for scientific and engineering
7893 computation in Common Lisp. It is designed not only to facilitate
7894 numerical computations, but to permit the use of numerical computation
7895 libraries and the interchange of data and procedures, whether
7896 foreign (non-Lisp) or Lisp libraries. It is named after the
7897 Antikythera mechanism, one of the oldest examples of a scientific
7898 computer known.")
7899 (home-page "https://common-lisp.net/project/antik/")
7900 (license license:gpl3))))
7901
7902 (define-public cl-antik-base
7903 (sbcl-package->cl-source-package sbcl-antik-base))
7904
7905 (define-public ecl-antik-base
7906 (sbcl-package->ecl-package sbcl-antik-base))
7907
7908 (define-public sbcl-foreign-array
7909 (package
7910 (inherit sbcl-antik-base)
7911 (name "sbcl-foreign-array")
7912 (arguments
7913 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7914 ((#:asd-file _ "") "foreign-array.asd")
7915 ((#:asd-system-name _ #f) "foreign-array")))
7916 (inputs
7917 `(("antik-base" ,sbcl-antik-base)
7918 ("cffi" ,sbcl-cffi)
7919 ("trivial-garbage" ,sbcl-trivial-garbage)
7920 ("static-vectors" ,sbcl-static-vectors)))
7921 (synopsis "Common Lisp library providing access to foreign arrays")))
7922
7923 (define-public cl-foreign-array
7924 (sbcl-package->cl-source-package sbcl-foreign-array))
7925
7926 (define-public ecl-foreign-array
7927 (sbcl-package->ecl-package sbcl-foreign-array))
7928
7929 (define-public sbcl-physical-dimension
7930 (package
7931 (inherit sbcl-antik-base)
7932 (name "sbcl-physical-dimension")
7933 (inputs
7934 `(("fare-utils" ,sbcl-fare-utils)
7935 ("foreign-array" ,sbcl-foreign-array)
7936 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7937 (arguments
7938 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7939 ((#:asd-file _ "") "physical-dimension.asd")
7940 ((#:asd-system-name _ #f) "physical-dimension")))
7941 (synopsis
7942 "Common Lisp library providing computations with physical units")))
7943
7944 (define-public cl-physical-dimension
7945 (sbcl-package->cl-source-package sbcl-physical-dimension))
7946
7947 (define-public sbcl-science-data
7948 (package
7949 (inherit sbcl-antik-base)
7950 (name "sbcl-science-data")
7951 (inputs
7952 `(("physical-dimension" ,sbcl-physical-dimension)
7953 ("drakma" ,sbcl-drakma)))
7954 (arguments
7955 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7956 ((#:asd-file _ "") "science-data.asd")
7957 ((#:asd-system-name _ #f) "science-data")))
7958 (synopsis
7959 "Common Lisp library for scientific and engineering numerical data")))
7960
7961 (define-public cl-science-data
7962 (sbcl-package->cl-source-package sbcl-science-data))
7963
7964 (define-public sbcl-gsll
7965 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7966 (revision "1"))
7967 (package
7968 (name "sbcl-gsll")
7969 (version (git-version "0.0.0" revision commit))
7970 (source
7971 (origin
7972 (method git-fetch)
7973 (uri (git-reference
7974 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7975 (commit commit)))
7976 (file-name (git-file-name name version))
7977 (sha256
7978 (base32
7979 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7980 (build-system asdf-build-system/sbcl)
7981 (native-inputs
7982 `(("lisp-unit" ,sbcl-lisp-unit)))
7983 (inputs
7984 `(("alexandria" ,sbcl-alexandria)
7985 ("cffi-grovel" ,sbcl-cffi-grovel)
7986 ("cffi-libffi" ,sbcl-cffi-libffi)
7987 ("foreign-array" ,sbcl-foreign-array)
7988 ("gsl" ,gsl)
7989 ("metabang-bind" ,sbcl-metabang-bind)
7990 ("trivial-features" ,sbcl-trivial-features)
7991 ("trivial-garbage" ,sbcl-trivial-garbage)))
7992 (arguments
7993 `(#:tests? #f
7994 #:phases
7995 (modify-phases %standard-phases
7996 (add-after 'unpack 'fix-cffi-paths
7997 (lambda* (#:key inputs #:allow-other-keys)
7998 (substitute* "gsll.asd"
7999 ((":depends-on \\(#:foreign-array")
8000 ":depends-on (#:foreign-array #:cffi-libffi"))
8001 (substitute* "init/init.lisp"
8002 (("libgslcblas.so" all)
8003 (string-append
8004 (assoc-ref inputs "gsl") "/lib/" all)))
8005 (substitute* "init/init.lisp"
8006 (("libgsl.so" all)
8007 (string-append
8008 (assoc-ref inputs "gsl") "/lib/" all))))))))
8009 (synopsis "GNU Scientific Library for Lisp")
8010 (description
8011 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8012 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8013 full range of common mathematical operations useful to scientific and
8014 engineering applications. The design of the GSLL interface is such
8015 that access to most of the GSL library is possible in a Lisp-natural
8016 way; the intent is that the user not be hampered by the restrictions
8017 of the C language in which GSL has been written. GSLL thus provides
8018 interactive use of GSL for getting quick answers, even for someone not
8019 intending to program in Lisp.")
8020 (home-page "https://common-lisp.net/project/gsll/")
8021 (license license:gpl3))))
8022
8023 (define-public cl-gsll
8024 (sbcl-package->cl-source-package sbcl-gsll))
8025
8026 (define-public sbcl-antik
8027 (package
8028 (inherit sbcl-antik-base)
8029 (name "sbcl-antik")
8030 (inputs
8031 `(("gsll" ,sbcl-gsll)
8032 ("physical-dimension" ,sbcl-physical-dimension)))
8033 (arguments
8034 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
8035 ((#:asd-file _ "") "antik.asd")
8036 ((#:asd-system-name _ #f) "antik")))))
8037
8038 (define-public cl-antik
8039 (sbcl-package->cl-source-package sbcl-antik))
8040
8041 (define-public sbcl-cl-interpol
8042 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
8043 (revision "1"))
8044 (package
8045 (name "sbcl-cl-interpol")
8046 (version (git-version "0.2.6" revision commit))
8047 (source
8048 (origin
8049 (method git-fetch)
8050 (uri (git-reference
8051 (url "https://github.com/edicl/cl-interpol")
8052 (commit commit)))
8053 (file-name (git-file-name name version))
8054 (sha256
8055 (base32
8056 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8057 (build-system asdf-build-system/sbcl)
8058 (inputs
8059 `(("cl-unicode" ,sbcl-cl-unicode)
8060 ("named-readtables" ,sbcl-named-readtables)))
8061 (native-inputs
8062 `(("flexi-streams" ,sbcl-flexi-streams)))
8063 (synopsis "String interpolation for Common Lisp")
8064 (description
8065 "CL-INTERPOL is a library for Common Lisp which modifies the
8066 reader so that you can have interpolation within strings similar to
8067 Perl or Unix Shell scripts. It also provides various ways to insert
8068 arbitrary characters into literal strings even if your editor/IDE
8069 doesn't support them.")
8070 (home-page "https://edicl.github.io/cl-interpol/")
8071 (license license:bsd-3))))
8072
8073 (define-public cl-interpol
8074 (sbcl-package->cl-source-package sbcl-cl-interpol))
8075
8076 (define-public ecl-cl-interpol
8077 (sbcl-package->ecl-package sbcl-cl-interpol))
8078
8079 (define sbcl-symbol-munger-boot0
8080 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8081 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8082 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8083 (revision "1"))
8084 (package
8085 (name "sbcl-symbol-munger-boot0")
8086 (version (git-version "0.0.1" revision commit))
8087 (source
8088 (origin
8089 (method git-fetch)
8090 (uri (git-reference
8091 (url "https://github.com/AccelerationNet/symbol-munger")
8092 (commit commit)))
8093 (file-name (git-file-name name version))
8094 (sha256
8095 (base32
8096 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8097 (build-system asdf-build-system/sbcl)
8098 (arguments
8099 `(#:asd-file "symbol-munger.asd"
8100 #:asd-system-name "symbol-munger"))
8101 (inputs
8102 `(("iterate" ,sbcl-iterate)
8103 ("alexandria" ,sbcl-alexandria)))
8104 (native-inputs
8105 `(("lisp-unit" ,sbcl-lisp-unit)))
8106 (synopsis
8107 "Capitalization and spacing conversion functions for Common Lisp")
8108 (description
8109 "This is a Common Lisp library to change the capitalization and spacing
8110 of a string or a symbol. It can convert to and from Lisp, english, underscore
8111 and camel-case rules.")
8112 (home-page "https://github.com/AccelerationNet/symbol-munger")
8113 ;; The package declares a BSD license, but all of the license
8114 ;; text is MIT.
8115 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8116 (license license:expat))))
8117
8118 (define sbcl-lisp-unit2-boot0
8119 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8120 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8121 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8122 (revision "1"))
8123 (package
8124 (name "sbcl-lisp-unit2-boot0")
8125 (version (git-version "0.2.0" revision commit))
8126 (source
8127 (origin
8128 (method git-fetch)
8129 (uri (git-reference
8130 (url "https://github.com/AccelerationNet/lisp-unit2")
8131 (commit commit)))
8132 (file-name (git-file-name name version))
8133 (sha256
8134 (base32
8135 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8136 (build-system asdf-build-system/sbcl)
8137 (arguments
8138 `(#:asd-file "lisp-unit2.asd"
8139 #:asd-system-name "lisp-unit2"))
8140 (inputs
8141 `(("alexandria" ,sbcl-alexandria)
8142 ("cl-interpol" ,sbcl-cl-interpol)
8143 ("iterate" ,sbcl-iterate)
8144 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8145 (synopsis "Test Framework for Common Lisp")
8146 (description
8147 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8148 style of JUnit for Java. It is a new version of the lisp-unit library written
8149 by Chris Riesbeck.")
8150 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8151 (license license:expat))))
8152
8153 (define-public sbcl-symbol-munger
8154 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8155 (revision "1"))
8156 (package
8157 (name "sbcl-symbol-munger")
8158 (version (git-version "0.0.1" revision commit))
8159 (source
8160 (origin
8161 (method git-fetch)
8162 (uri (git-reference
8163 (url "https://github.com/AccelerationNet/symbol-munger")
8164 (commit commit)))
8165 (file-name (git-file-name name version))
8166 (sha256
8167 (base32
8168 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8169 (build-system asdf-build-system/sbcl)
8170 (inputs
8171 `(("alexandria" ,sbcl-alexandria)
8172 ("iterate" ,sbcl-iterate)))
8173 (native-inputs
8174 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8175 (synopsis
8176 "Capitalization and spacing conversion functions for Common Lisp")
8177 (description
8178 "This is a Common Lisp library to change the capitalization and spacing
8179 of a string or a symbol. It can convert to and from Lisp, english, underscore
8180 and camel-case rules.")
8181 (home-page "https://github.com/AccelerationNet/symbol-munger")
8182 ;; The package declares a BSD license, but all of the license
8183 ;; text is MIT.
8184 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8185 (license license:expat))))
8186
8187 (define-public cl-symbol-munger
8188 (sbcl-package->cl-source-package sbcl-symbol-munger))
8189
8190 (define-public ecl-symbol-munger
8191 (sbcl-package->ecl-package sbcl-symbol-munger))
8192
8193 (define-public sbcl-lisp-unit2
8194 (package
8195 (inherit sbcl-lisp-unit2-boot0)
8196 (name "sbcl-lisp-unit2")
8197 (inputs
8198 `(("alexandria" ,sbcl-alexandria)
8199 ("cl-interpol" ,sbcl-cl-interpol)
8200 ("iterate" ,sbcl-iterate)
8201 ("symbol-munger" ,sbcl-symbol-munger)))))
8202
8203 (define-public cl-lisp-unit2
8204 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8205
8206 (define-public ecl-lisp-unit2
8207 (sbcl-package->ecl-package sbcl-lisp-unit2))
8208
8209 (define-public sbcl-cl-csv
8210 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8211 (revision "1"))
8212 (package
8213 (name "sbcl-cl-csv")
8214 (version (git-version "1.0.6" revision commit))
8215 (source
8216 (origin
8217 (method git-fetch)
8218 (uri (git-reference
8219 (url "https://github.com/AccelerationNet/cl-csv")
8220 (commit commit)))
8221 (file-name (git-file-name name version))
8222 (sha256
8223 (base32
8224 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8225 (build-system asdf-build-system/sbcl)
8226 (arguments
8227 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8228 `(#:tests? #f))
8229 (inputs
8230 `(("alexandria" ,sbcl-alexandria)
8231 ("cl-interpol" ,sbcl-cl-interpol)
8232 ("iterate" ,sbcl-iterate)))
8233 (native-inputs
8234 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8235 (synopsis "Common lisp library for comma-separated values")
8236 (description
8237 "This is a Common Lisp library providing functions to read/write CSV
8238 from/to strings, streams and files.")
8239 (home-page "https://github.com/AccelerationNet/cl-csv")
8240 (license license:bsd-3))))
8241
8242 (define-public cl-csv
8243 (sbcl-package->cl-source-package sbcl-cl-csv))
8244
8245 (define-public ecl-cl-csv
8246 (sbcl-package->ecl-package sbcl-cl-csv))
8247
8248 (define-public sbcl-external-program
8249 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8250 (revision "1"))
8251 (package
8252 (name "sbcl-external-program")
8253 (version (git-version "0.0.6" revision commit))
8254 (source
8255 (origin
8256 (method git-fetch)
8257 (uri (git-reference
8258 (url "https://github.com/sellout/external-program")
8259 (commit commit)))
8260 (file-name (git-file-name name version))
8261 (sha256
8262 (base32
8263 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8264 (build-system asdf-build-system/sbcl)
8265 (inputs
8266 `(("trivial-features" ,sbcl-trivial-features)))
8267 (native-inputs
8268 `(("fiveam" ,sbcl-fiveam)))
8269 (synopsis "Common Lisp library for running external programs")
8270 (description
8271 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8272 process. It is an attempt to make the RUN-PROGRAM functionality in
8273 implementations like SBCL and CCL as portable as possible without
8274 sacrificing much in the way of power.")
8275 (home-page "https://github.com/sellout/external-program")
8276 (license license:llgpl))))
8277
8278 (define-public cl-external-program
8279 (sbcl-package->cl-source-package sbcl-external-program))
8280
8281 (define-public ecl-external-program
8282 (sbcl-package->ecl-package sbcl-external-program))
8283
8284 (define sbcl-cl-ana-boot0
8285 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8286 (revision "1"))
8287 (package
8288 (name "sbcl-cl-ana-boot0")
8289 (version (git-version "0.0.0" revision commit))
8290 (source
8291 (origin
8292 (method git-fetch)
8293 (uri (git-reference
8294 (url "https://github.com/ghollisjr/cl-ana")
8295 (commit commit)))
8296 (file-name (git-file-name name version))
8297 (sha256
8298 (base32
8299 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8300 (build-system asdf-build-system/sbcl)
8301 (synopsis "Common Lisp data analysis library")
8302 (description
8303 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8304 binned data analysis along with nonlinear least squares fitting and
8305 visualization.")
8306 (home-page "https://github.com/ghollisjr/cl-ana")
8307 (license license:gpl3))))
8308
8309 (define-public sbcl-cl-ana.pathname-utils
8310 (package
8311 (inherit sbcl-cl-ana-boot0)
8312 (name "sbcl-cl-ana.pathname-utils")
8313 (arguments
8314 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8315 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8316 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8317
8318 (define-public cl-ana.pathname-utils
8319 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8320
8321 (define-public ecl-cl-ana.pathname-utils
8322 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
8323
8324 (define-public sbcl-cl-ana.package-utils
8325 (package
8326 (inherit sbcl-cl-ana-boot0)
8327 (name "sbcl-cl-ana.package-utils")
8328 (inputs
8329 `(("alexandria" ,sbcl-alexandria)))
8330 (arguments
8331 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8332 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8333 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8334
8335 (define-public cl-ana.package-utils
8336 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8337
8338 (define-public ecl-cl-ana.package-utils
8339 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
8340
8341 (define-public sbcl-cl-ana.string-utils
8342 (package
8343 (inherit sbcl-cl-ana-boot0)
8344 (name "sbcl-cl-ana.string-utils")
8345 (inputs
8346 `(("split-sequence" ,sbcl-split-sequence)))
8347 (arguments
8348 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8349 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8350 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8351
8352 (define-public cl-ana.string-utils
8353 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8354
8355 (define-public ecl-cl-ana.string-utils
8356 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
8357
8358 (define-public sbcl-cl-ana.functional-utils
8359 (package
8360 (inherit sbcl-cl-ana-boot0)
8361 (name "sbcl-cl-ana.functional-utils")
8362 (arguments
8363 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8364 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8365 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8366
8367 (define-public cl-ana.functional-utils
8368 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8369
8370 (define-public ecl-cl-ana.functional-utils
8371 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
8372
8373 (define-public sbcl-cl-ana.list-utils
8374 (package
8375 (inherit sbcl-cl-ana-boot0)
8376 (name "sbcl-cl-ana.list-utils")
8377 (inputs
8378 `(("alexandria" ,sbcl-alexandria)
8379 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8380 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8381 (arguments
8382 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8383 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8384 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8385
8386 (define-public cl-ana.list-utils
8387 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8388
8389 (define-public ecl-cl-ana.list-utils
8390 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
8391
8392 (define-public sbcl-cl-ana.generic-math
8393 (package
8394 (inherit sbcl-cl-ana-boot0)
8395 (name "sbcl-cl-ana.generic-math")
8396 (inputs
8397 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8398 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8399 (arguments
8400 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8401 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8402 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8403
8404 (define-public cl-ana.generic-math
8405 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8406
8407 (define-public ecl-cl-ana.generic-math
8408 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
8409
8410 (define-public sbcl-cl-ana.math-functions
8411 (package
8412 (inherit sbcl-cl-ana-boot0)
8413 (name "sbcl-cl-ana.math-functions")
8414 (inputs
8415 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8416 ("gsll" ,sbcl-gsll)))
8417 (arguments
8418 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8419 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8420 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8421
8422 (define-public cl-ana.math-functions
8423 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
8424
8425 (define-public sbcl-cl-ana.calculus
8426 (package
8427 (inherit sbcl-cl-ana-boot0)
8428 (name "sbcl-cl-ana.calculus")
8429 (inputs
8430 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8431 (arguments
8432 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8433 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8434 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8435
8436 (define-public cl-ana.calculus
8437 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8438
8439 (define-public ecl-cl-ana.calculus
8440 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
8441
8442 (define-public sbcl-cl-ana.symbol-utils
8443 (package
8444 (inherit sbcl-cl-ana-boot0)
8445 (name "sbcl-cl-ana.symbol-utils")
8446 (inputs
8447 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8448 (arguments
8449 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8450 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8451 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8452
8453 (define-public cl-ana.symbol-utils
8454 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8455
8456 (define-public ecl-cl-ana.symbol-utils
8457 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
8458
8459 (define-public sbcl-cl-ana.macro-utils
8460 (package
8461 (inherit sbcl-cl-ana-boot0)
8462 (name "sbcl-cl-ana.macro-utils")
8463 (inputs
8464 `(("alexandria" ,sbcl-alexandria)
8465 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8466 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8467 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8468 ("split-sequence" ,sbcl-split-sequence)))
8469 (arguments
8470 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8471 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8472 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8473
8474 (define-public cl-ana.macro-utils
8475 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8476
8477 (define-public ecl-cl-ana.macro-utils
8478 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
8479
8480 (define-public sbcl-cl-ana.binary-tree
8481 (package
8482 (inherit sbcl-cl-ana-boot0)
8483 (name "sbcl-cl-ana.binary-tree")
8484 (inputs
8485 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8486 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8487 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8488 (arguments
8489 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8490 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8491 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8492
8493 (define-public cl-ana.binary-tree
8494 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8495
8496 (define-public ecl-cl-ana.binary-tree
8497 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
8498
8499 (define-public sbcl-cl-ana.tensor
8500 (package
8501 (inherit sbcl-cl-ana-boot0)
8502 (name "sbcl-cl-ana.tensor")
8503 (inputs
8504 `(("alexandria" ,sbcl-alexandria)
8505 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8506 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8507 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8508 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8509 (arguments
8510 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8511 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8512 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8513
8514 (define-public cl-ana.tensor
8515 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8516
8517 (define-public ecl-cl-ana.tensor
8518 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
8519
8520 (define-public sbcl-cl-ana.error-propogation
8521 (package
8522 (inherit sbcl-cl-ana-boot0)
8523 (name "sbcl-cl-ana.error-propogation")
8524 (inputs
8525 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8526 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8527 (arguments
8528 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8529 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8530 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8531
8532 (define-public cl-ana.error-propogation
8533 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
8534
8535 (define-public sbcl-cl-ana.quantity
8536 (package
8537 (inherit sbcl-cl-ana-boot0)
8538 (name "sbcl-cl-ana.quantity")
8539 (inputs
8540 `(("alexandria" ,sbcl-alexandria)
8541 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8542 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8543 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8544 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8545 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8546 (arguments
8547 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8548 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8549 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8550
8551 (define-public cl-ana.quantity
8552 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
8553
8554 (define-public sbcl-cl-ana.table
8555 (package
8556 (inherit sbcl-cl-ana-boot0)
8557 (name "sbcl-cl-ana.table")
8558 (inputs
8559 `(("alexandria" ,sbcl-alexandria)
8560 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8561 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8562 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8563 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8564 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8565 (arguments
8566 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8567 ((#:asd-file _ "") "table/cl-ana.table.asd")
8568 ((#:asd-system-name _ #f) "cl-ana.table")))))
8569
8570 (define-public cl-ana.table
8571 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8572
8573 (define-public ecl-cl-ana.table
8574 (sbcl-package->ecl-package sbcl-cl-ana.table))
8575
8576 (define-public sbcl-cl-ana.table-utils
8577 (package
8578 (inherit sbcl-cl-ana-boot0)
8579 (name "sbcl-cl-ana.table-utils")
8580 (inputs
8581 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8582 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8583 ("cl-ana.table" ,sbcl-cl-ana.table)))
8584 (arguments
8585 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8586 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8587 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8588
8589 (define-public cl-ana.table-utils
8590 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8591
8592 (define-public ecl-cl-ana.table-utils
8593 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
8594
8595 (define-public sbcl-cl-ana.hdf-cffi
8596 (package
8597 (inherit sbcl-cl-ana-boot0)
8598 (name "sbcl-cl-ana.hdf-cffi")
8599 (inputs
8600 `(("cffi" ,sbcl-cffi)
8601 ("hdf5" ,hdf5-parallel-openmpi)))
8602 (arguments
8603 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8604 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8605 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8606 ((#:phases phases '%standard-phases)
8607 `(modify-phases ,phases
8608 (add-after 'unpack 'fix-paths
8609 (lambda* (#:key inputs #:allow-other-keys)
8610 (substitute* "hdf-cffi/hdf-cffi.lisp"
8611 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8612 (string-append
8613 (assoc-ref inputs "hdf5")
8614 "/lib/libhdf5.so")))))))))))
8615
8616 (define-public cl-ana.hdf-cffi
8617 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8618
8619 (define-public ecl-cl-ana.hdf-cffi
8620 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
8621
8622 (define-public sbcl-cl-ana.int-char
8623 (package
8624 (inherit sbcl-cl-ana-boot0)
8625 (name "sbcl-cl-ana.int-char")
8626 (arguments
8627 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8628 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8629 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8630
8631 (define-public cl-ana.int-char
8632 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8633
8634 (define-public ecl-cl-ana.int-char
8635 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
8636
8637 (define-public sbcl-cl-ana.memoization
8638 (package
8639 (inherit sbcl-cl-ana-boot0)
8640 (name "sbcl-cl-ana.memoization")
8641 (inputs
8642 `(("alexandria" ,sbcl-alexandria)))
8643 (arguments
8644 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8645 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8646 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8647
8648 (define-public cl-ana.memoization
8649 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8650
8651 (define-public ecl-cl-ana.memoization
8652 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
8653
8654 (define-public sbcl-cl-ana.typespec
8655 (package
8656 (inherit sbcl-cl-ana-boot0)
8657 (name "sbcl-cl-ana.typespec")
8658 (inputs
8659 `(("alexandria" ,sbcl-alexandria)
8660 ("cffi" ,sbcl-cffi)
8661 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8662 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8663 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8664 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8665 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8666 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8667 (arguments
8668 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8669 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8670 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8671
8672 (define-public cl-ana.typespec
8673 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8674
8675 (define-public ecl-cl-ana.typespec
8676 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
8677
8678 (define-public sbcl-cl-ana.hdf-typespec
8679 (package
8680 (inherit sbcl-cl-ana-boot0)
8681 (name "sbcl-cl-ana.hdf-typespec")
8682 (inputs
8683 `(("alexandria" ,sbcl-alexandria)
8684 ("cffi" ,sbcl-cffi)
8685 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8686 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8687 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8688 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8689 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8690 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8691 (arguments
8692 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8693 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8694 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8695
8696 (define-public cl-ana.hdf-typespec
8697 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8698
8699 (define-public ecl-cl-ana.hdf-typespec
8700 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
8701
8702 (define-public sbcl-cl-ana.hdf-utils
8703 (package
8704 (inherit sbcl-cl-ana-boot0)
8705 (name "sbcl-cl-ana.hdf-utils")
8706 (inputs
8707 `(("alexandria" ,sbcl-alexandria)
8708 ("cffi" ,sbcl-cffi)
8709 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8710 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8711 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8712 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8713 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8714 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8715 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8716 (arguments
8717 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8718 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8719 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8720
8721 (define-public cl-ana.hdf-utils
8722 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8723
8724 (define-public ecl-cl-ana.hdf-utils
8725 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
8726
8727 (define-public sbcl-cl-ana.typed-table
8728 (package
8729 (inherit sbcl-cl-ana-boot0)
8730 (name "sbcl-cl-ana.typed-table")
8731 (inputs
8732 `(("alexandria" ,sbcl-alexandria)
8733 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8734 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8735 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8736 ("cl-ana.table" ,sbcl-cl-ana.table)
8737 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8738 (arguments
8739 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8740 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8741 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8742
8743 (define-public cl-ana.typed-table
8744 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8745
8746 (define-public ecl-cl-ana.typed-table
8747 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8748
8749 (define-public sbcl-cl-ana.hdf-table
8750 (package
8751 (inherit sbcl-cl-ana-boot0)
8752 (name "sbcl-cl-ana.hdf-table")
8753 (inputs
8754 `(("alexandria" ,sbcl-alexandria)
8755 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8756 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8757 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8758 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8759 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8760 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8761 ("cl-ana.table" ,sbcl-cl-ana.table)
8762 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8763 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8764 (arguments
8765 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8766 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8767 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8768
8769 (define-public cl-ana.hdf-table
8770 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8771
8772 (define-public ecl-cl-ana.hdf-table
8773 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
8774
8775 (define-public sbcl-cl-ana.gsl-cffi
8776 (package
8777 (inherit sbcl-cl-ana-boot0)
8778 (name "sbcl-cl-ana.gsl-cffi")
8779 (inputs
8780 `(("cffi" ,sbcl-cffi)
8781 ("gsl" ,gsl)))
8782 (arguments
8783 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8784 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8785 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8786 ((#:phases phases '%standard-phases)
8787 `(modify-phases ,phases
8788 (add-after 'unpack 'fix-paths
8789 (lambda* (#:key inputs #:allow-other-keys)
8790 (substitute* "gsl-cffi/gsl-cffi.lisp"
8791 (("define-foreign-library gsl-cffi" all)
8792 (string-append all " (:unix "
8793 (assoc-ref inputs "gsl")
8794 "/lib/libgsl.so)")))))))))))
8795
8796 (define-public cl-ana.gsl-cffi
8797 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8798
8799 (define-public ecl-cl-ana.gsl-cffi
8800 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
8801
8802 (define-public sbcl-cl-ana.ntuple-table
8803 (package
8804 (inherit sbcl-cl-ana-boot0)
8805 (name "sbcl-cl-ana.ntuple-table")
8806 (inputs
8807 `(("alexandria" ,sbcl-alexandria)
8808 ("cffi" ,sbcl-cffi)
8809 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8810 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8811 ("cl-ana.table" ,sbcl-cl-ana.table)
8812 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8813 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8814 ("gsll" ,sbcl-gsll)))
8815 (arguments
8816 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8817 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8818 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8819
8820 (define-public cl-ana.ntuple-table
8821 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
8822
8823 (define-public sbcl-cl-ana.csv-table
8824 (package
8825 (inherit sbcl-cl-ana-boot0)
8826 (name "sbcl-cl-ana.csv-table")
8827 (inputs
8828 `(("alexandria" ,sbcl-alexandria)
8829 ("antik" ,sbcl-antik)
8830 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8831 ("cl-ana.table" ,sbcl-cl-ana.table)
8832 ("cl-csv" ,sbcl-cl-csv)
8833 ("iterate" ,sbcl-iterate)))
8834 (arguments
8835 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8836 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8837 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8838
8839 (define-public cl-ana.csv-table
8840 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
8841
8842 (define-public sbcl-cl-ana.reusable-table
8843 (package
8844 (inherit sbcl-cl-ana-boot0)
8845 (name "sbcl-cl-ana.reusable-table")
8846 (inputs
8847 `(("alexandria" ,sbcl-alexandria)
8848 ("cl-ana.table" ,sbcl-cl-ana.table)))
8849 (arguments
8850 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8851 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8852 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8853
8854 (define-public cl-ana.reusable-table
8855 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8856
8857 (define-public ecl-cl-ana.reusable-table
8858 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
8859
8860 (define-public sbcl-cl-ana.linear-algebra
8861 (package
8862 (inherit sbcl-cl-ana-boot0)
8863 (name "sbcl-cl-ana.linear-algebra")
8864 (inputs
8865 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8866 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8867 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8868 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8869 ("gsll" ,sbcl-gsll)))
8870 (arguments
8871 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8872 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8873 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8874
8875 (define-public cl-ana.linear-algebra
8876 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
8877
8878 (define-public sbcl-cl-ana.lorentz
8879 (package
8880 (inherit sbcl-cl-ana-boot0)
8881 (name "sbcl-cl-ana.lorentz")
8882 (inputs
8883 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8884 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8885 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8886 ("iterate" ,sbcl-iterate)))
8887 (arguments
8888 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8889 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8890 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8891
8892 (define-public cl-ana.lorentz
8893 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
8894
8895 (define-public sbcl-cl-ana.clos-utils
8896 (package
8897 (inherit sbcl-cl-ana-boot0)
8898 (name "sbcl-cl-ana.clos-utils")
8899 (inputs
8900 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8901 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8902 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8903 ("closer-mop" ,sbcl-closer-mop)))
8904 (arguments
8905 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8906 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8907 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8908
8909 (define-public cl-ana.clos-utils
8910 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8911
8912 (define-public ecl-cl-ana.clos-utils
8913 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
8914
8915 (define-public sbcl-cl-ana.hash-table-utils
8916 (package
8917 (inherit sbcl-cl-ana-boot0)
8918 (name "sbcl-cl-ana.hash-table-utils")
8919 (arguments
8920 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8921 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8922 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8923
8924 (define-public cl-ana.hash-table-utils
8925 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8926
8927 (define-public ecl-cl-ana.hash-table-utils
8928 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
8929
8930 (define-public sbcl-cl-ana.map
8931 (package
8932 (inherit sbcl-cl-ana-boot0)
8933 (name "sbcl-cl-ana.map")
8934 (inputs
8935 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8936 (arguments
8937 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8938 ((#:asd-file _ "") "map/cl-ana.map.asd")
8939 ((#:asd-system-name _ #f) "cl-ana.map")))))
8940
8941 (define-public cl-ana.map
8942 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8943
8944 (define-public ecl-cl-ana.map
8945 (sbcl-package->ecl-package sbcl-cl-ana.map))
8946
8947 (define-public sbcl-cl-ana.fitting
8948 (package
8949 (inherit sbcl-cl-ana-boot0)
8950 (name "sbcl-cl-ana.fitting")
8951 (inputs
8952 `(("alexandria" ,sbcl-alexandria)
8953 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8954 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8955 ("cl-ana.map" ,sbcl-cl-ana.map)
8956 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8957 ("gsll" ,sbcl-gsll)))
8958 (arguments
8959 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8960 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8961 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8962
8963 (define-public cl-ana.fitting
8964 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
8965
8966 (define-public sbcl-cl-ana.histogram
8967 (package
8968 (inherit sbcl-cl-ana-boot0)
8969 (name "sbcl-cl-ana.histogram")
8970 (inputs
8971 `(("alexandria" ,sbcl-alexandria)
8972 ("iterate" ,sbcl-iterate)
8973 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8974 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8975 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8976 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8977 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8978 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8979 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8980 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8981 ("cl-ana.map" ,sbcl-cl-ana.map)
8982 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8983 (arguments
8984 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8985 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8986 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8987
8988 (define-public cl-ana.histogram
8989 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
8990
8991 (define-public sbcl-cl-ana.file-utils
8992 (package
8993 (inherit sbcl-cl-ana-boot0)
8994 (name "sbcl-cl-ana.file-utils")
8995 (inputs
8996 `(("external-program" ,sbcl-external-program)
8997 ("split-sequence" ,sbcl-split-sequence)))
8998 (arguments
8999 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9000 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
9001 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
9002
9003 (define-public cl-ana.file-utils
9004 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
9005
9006 (define-public ecl-cl-ana.file-utils
9007 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
9008
9009 (define-public sbcl-cl-ana.statistics
9010 (package
9011 (inherit sbcl-cl-ana-boot0)
9012 (name "sbcl-cl-ana.statistics")
9013 (inputs
9014 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9015 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9016 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9017 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9018 ("cl-ana.map" ,sbcl-cl-ana.map)))
9019 (arguments
9020 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9021 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
9022 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
9023
9024 (define-public cl-ana.statistics
9025 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
9026
9027 (define-public sbcl-cl-ana.gnuplot-interface
9028 (package
9029 (inherit sbcl-cl-ana-boot0)
9030 (name "sbcl-cl-ana.gnuplot-interface")
9031 (inputs
9032 `(("external-program" ,sbcl-external-program)))
9033 (arguments
9034 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9035 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
9036 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
9037
9038 (define-public cl-ana.gnuplot-interface
9039 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
9040
9041 (define-public ecl-cl-ana.gnuplot-interface
9042 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
9043
9044 (define-public sbcl-cl-ana.plotting
9045 (package
9046 (inherit sbcl-cl-ana-boot0)
9047 (name "sbcl-cl-ana.plotting")
9048 (inputs
9049 `(("alexandria" ,sbcl-alexandria)
9050 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9051 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9052 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9053 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
9054 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9055 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9056 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9057 ("cl-ana.map" ,sbcl-cl-ana.map)
9058 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9059 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9060 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9061 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9062 ("external-program" ,sbcl-external-program)
9063 ("split-sequence" ,sbcl-split-sequence)))
9064 (arguments
9065 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9066 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9067 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9068
9069 (define-public cl-ana.plotting
9070 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
9071
9072 (define-public sbcl-cl-ana.table-viewing
9073 (package
9074 (inherit sbcl-cl-ana-boot0)
9075 (name "sbcl-cl-ana.table-viewing")
9076 (inputs
9077 `(("alexandria" ,sbcl-alexandria)
9078 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9079 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9080 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9081 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9082 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9083 ("cl-ana.table" ,sbcl-cl-ana.table)))
9084 (arguments
9085 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9086 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9087 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9088
9089 (define-public cl-ana.table-viewing
9090 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
9091
9092 (define-public sbcl-cl-ana.serialization
9093 (package
9094 (inherit sbcl-cl-ana-boot0)
9095 (name "sbcl-cl-ana.serialization")
9096 (inputs
9097 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9098 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9099 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9100 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9101 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9102 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9103 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9104 (arguments
9105 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9106 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9107 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9108
9109 (define-public cl-ana.serialization
9110 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
9111
9112 (define-public sbcl-cl-ana.makeres
9113 (package
9114 (inherit sbcl-cl-ana-boot0)
9115 (name "sbcl-cl-ana.makeres")
9116 (inputs
9117 `(("alexandria" ,sbcl-alexandria)
9118 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9119 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9120 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9121 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9122 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9123 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9124 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9125 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9126 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9127 ("cl-ana.map" ,sbcl-cl-ana.map)
9128 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9129 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9130 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9131 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9132 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9133 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9134 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9135 ("cl-ana.table" ,sbcl-cl-ana.table)
9136 ("external-program" ,sbcl-external-program)))
9137 (native-inputs
9138 `(("cl-fad" ,sbcl-cl-fad)))
9139 (arguments
9140 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9141 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9142 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9143
9144 (define-public cl-ana.makeres
9145 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
9146
9147 (define-public sbcl-cl-ana.makeres-macro
9148 (package
9149 (inherit sbcl-cl-ana-boot0)
9150 (name "sbcl-cl-ana.makeres-macro")
9151 (inputs
9152 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9153 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9154 (arguments
9155 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9156 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9157 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9158
9159 (define-public cl-ana.makeres-macro
9160 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
9161
9162 (define-public sbcl-cl-ana.makeres-block
9163 (package
9164 (inherit sbcl-cl-ana-boot0)
9165 (name "sbcl-cl-ana.makeres-block")
9166 (inputs
9167 `(("alexandria" ,sbcl-alexandria)
9168 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9169 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9170 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9171 (arguments
9172 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9173 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9174 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9175
9176 (define-public cl-ana.makeres-block
9177 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
9178
9179 (define-public sbcl-cl-ana.makeres-progress
9180 (package
9181 (inherit sbcl-cl-ana-boot0)
9182 (name "sbcl-cl-ana.makeres-progress")
9183 (inputs
9184 `(("alexandria" ,sbcl-alexandria)
9185 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9186 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9187 (arguments
9188 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9189 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9190 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9191
9192 (define-public cl-ana.makeres-progress
9193 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
9194
9195 (define-public sbcl-cl-ana.makeres-table
9196 (package
9197 (inherit sbcl-cl-ana-boot0)
9198 (name "sbcl-cl-ana.makeres-table")
9199 (inputs
9200 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9201 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9202 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9203 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9204 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9205 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9206 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9207 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9208 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9209 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9210 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9211 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9212 ("cl-ana.table" ,sbcl-cl-ana.table)))
9213 (native-inputs
9214 `(("cl-fad" ,sbcl-cl-fad)))
9215 (arguments
9216 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9217 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9218 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9219
9220 (define-public cl-ana.makeres-table
9221 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
9222
9223 (define-public sbcl-cl-ana.makeres-graphviz
9224 (package
9225 (inherit sbcl-cl-ana-boot0)
9226 (name "sbcl-cl-ana.makeres-graphviz")
9227 (inputs
9228 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9229 ("external-program" ,sbcl-external-program)))
9230 (arguments
9231 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9232 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9233 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9234
9235 (define-public cl-ana.makeres-graphviz
9236 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
9237
9238 (define-public sbcl-cl-ana.makeres-branch
9239 (package
9240 (inherit sbcl-cl-ana-boot0)
9241 (name "sbcl-cl-ana.makeres-branch")
9242 (inputs
9243 `(("alexandria" ,sbcl-alexandria)
9244 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9245 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9246 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9247 ("cl-ana.map" ,sbcl-cl-ana.map)
9248 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9249 (arguments
9250 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9251 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9252 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9253
9254 (define-public cl-ana.makeres-branch
9255 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
9256
9257 (define-public sbcl-cl-ana.makeres-utils
9258 (package
9259 (inherit sbcl-cl-ana-boot0)
9260 (name "sbcl-cl-ana.makeres-utils")
9261 (inputs
9262 `(("alexandria" ,sbcl-alexandria)
9263 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9264 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9265 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9266 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9267 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9268 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9269 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9270 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9271 ("cl-ana.map" ,sbcl-cl-ana.map)
9272 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9273 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9274 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9275 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9276 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9277 ("cl-ana.table" ,sbcl-cl-ana.table)))
9278 (native-inputs
9279 `(("cl-fad" ,sbcl-cl-fad)))
9280 (arguments
9281 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9282 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9283 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9284
9285 (define-public cl-ana.makeres-utils
9286 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
9287
9288 (define-public sbcl-cl-ana.statistical-learning
9289 (package
9290 (inherit sbcl-cl-ana-boot0)
9291 (name "sbcl-cl-ana.statistical-learning")
9292 (inputs
9293 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9294 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9295 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9296 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9297 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9298 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9299 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9300 ("cl-ana.map" ,sbcl-cl-ana.map)
9301 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9302 (native-inputs
9303 `(("cl-fad" ,sbcl-cl-fad)))
9304 (arguments
9305 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9306 ((#:asd-file _ "")
9307 "statistical-learning/cl-ana.statistical-learning.asd")
9308 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9309
9310 (define-public cl-ana.statistical-learning
9311 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
9312
9313 (define-public sbcl-cl-ana
9314 (package
9315 (inherit sbcl-cl-ana-boot0)
9316 (name "sbcl-cl-ana")
9317 (inputs
9318 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9319 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9320 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9321 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9322 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9323 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9324 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9325 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9326 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9327 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9328 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9329 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9330 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9331 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9332 ("cl-ana.map" ,sbcl-cl-ana.map)
9333 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9334 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9335 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9336 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9337 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9338 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9339 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9340 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9341 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9342 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9343 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9344 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9345 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9346 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9347 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9348 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9349 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9350 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9351 ("cl-ana.table" ,sbcl-cl-ana.table)
9352 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9353 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9354 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9355 ("libffi" ,libffi)))
9356 (native-inputs
9357 `(("cl-fad" ,sbcl-cl-fad)))
9358 (arguments
9359 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9360 ((#:asd-file _ "") "cl-ana.asd")
9361 ((#:asd-system-name _ #f) "cl-ana")))))
9362
9363 (define-public cl-ana
9364 (sbcl-package->cl-source-package sbcl-cl-ana))
9365
9366 (define-public sbcl-archive
9367 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9368 (revision "1"))
9369 (package
9370 (name "sbcl-archive")
9371 (version (git-version "0.9" revision commit))
9372 (source (origin
9373 (method git-fetch)
9374 (uri (git-reference
9375 (url "https://github.com/sharplispers/archive")
9376 (commit commit)))
9377 (file-name (git-file-name name version))
9378 (sha256
9379 (base32
9380 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9381 (build-system asdf-build-system/sbcl)
9382 (inputs
9383 `(("cl-fad" ,sbcl-cl-fad)
9384 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9385 (synopsis "Common Lisp library for tar and cpio archives")
9386 (description
9387 "This is a Common Lisp library to read and write disk-based file
9388 archives such as those generated by the tar and cpio programs on Unix.")
9389 (home-page "https://github.com/sharplispers/archive")
9390 (license license:bsd-3))))
9391
9392 (define-public cl-archive
9393 (sbcl-package->cl-source-package sbcl-archive))
9394
9395 (define-public ecl-archive
9396 (sbcl-package->ecl-package sbcl-archive))
9397
9398 (define-public sbcl-misc-extensions
9399 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9400 (revision "1"))
9401 (package
9402 (name "sbcl-misc-extensions")
9403 (version (git-version "3.3" revision commit))
9404 (source
9405 (origin
9406 (method git-fetch)
9407 (uri (git-reference
9408 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9409 (commit commit)))
9410 (file-name (git-file-name name version))
9411 (sha256
9412 (base32
9413 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9414 (build-system asdf-build-system/sbcl)
9415 (synopsis "Collection of small macros and extensions for Common Lisp")
9416 (description
9417 "This project is intended as a catchall for small, general-purpose
9418 extensions to Common Lisp. It contains:
9419
9420 @itemize
9421 @item @code{new-let}, a macro that combines and generalizes @code{let},
9422 @code{let*} and @code{multiple-value-bind},
9423 @item @code{gmap}, an iteration macro that generalizes @code{map}.
9424 @end itemize\n")
9425 (home-page "https://common-lisp.net/project/misc-extensions/")
9426 (license license:public-domain))))
9427
9428 (define-public cl-misc-extensions
9429 (sbcl-package->cl-source-package sbcl-misc-extensions))
9430
9431 (define-public ecl-misc-extensions
9432 (sbcl-package->ecl-package sbcl-misc-extensions))
9433
9434 (define-public sbcl-mt19937
9435 (package
9436 (name "sbcl-mt19937")
9437 (version "1.1")
9438 (source
9439 (origin
9440 (method url-fetch)
9441 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9442 "mt19937-latest.tar.gz"))
9443 (sha256
9444 (base32
9445 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9446 (build-system asdf-build-system/sbcl)
9447 (synopsis "Mersenne Twister pseudo-random number generator")
9448 (description
9449 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9450 for Common Lisp.")
9451 (home-page "https://www.cliki.net/mt19937")
9452 (license license:public-domain)))
9453
9454 (define-public cl-mt19937
9455 (sbcl-package->cl-source-package sbcl-mt19937))
9456
9457 (define-public ecl-mt19937
9458 (sbcl-package->ecl-package sbcl-mt19937))
9459
9460 (define-public sbcl-fset
9461 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9462 (revision "1"))
9463 (package
9464 (name "sbcl-fset")
9465 (version (git-version "1.3.2" revision commit))
9466 (source
9467 (origin
9468 (method git-fetch)
9469 (uri (git-reference
9470 (url "https://github.com/slburson/fset")
9471 (commit commit)))
9472 (file-name (git-file-name name version))
9473 (sha256
9474 (base32
9475 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9476 (snippet '(begin
9477 ;; Remove obsolete copy of system definition.
9478 (delete-file "Code/fset.asd")
9479 #t))))
9480 (build-system asdf-build-system/sbcl)
9481 (inputs
9482 `(("misc-extensions" ,sbcl-misc-extensions)
9483 ("mt19937" ,sbcl-mt19937)
9484 ("named-readtables" ,sbcl-named-readtables)))
9485 (synopsis "Functional set-theoretic collections library")
9486 (description
9487 "FSet is a functional set-theoretic collections library for Common Lisp.
9488 Functional means that all update operations return a new collection rather than
9489 modifying an existing one in place. Set-theoretic means that collections may
9490 be nested arbitrarily with no additional programmer effort; for instance, sets
9491 may contain sets, maps may be keyed by sets, etc.")
9492 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9493 (license license:llgpl))))
9494
9495 (define-public cl-fset
9496 (sbcl-package->cl-source-package sbcl-fset))
9497
9498 (define-public sbcl-cl-cont
9499 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9500 (revision "1"))
9501 (package
9502 (name "sbcl-cl-cont")
9503 (version (git-version "0.3.8" revision commit))
9504 (source
9505 (origin
9506 (method git-fetch)
9507 (uri (git-reference
9508 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9509 (commit commit)))
9510 (file-name (git-file-name name version))
9511 (sha256
9512 (base32
9513 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9514 (build-system asdf-build-system/sbcl)
9515 (inputs
9516 `(("alexandria" ,sbcl-alexandria)
9517 ("closer-mop" ,sbcl-closer-mop)))
9518 (native-inputs
9519 `(("rt" ,sbcl-rt)))
9520 (synopsis "Delimited continuations for Common Lisp")
9521 (description
9522 "This is a library that implements delimited continuations by
9523 transforming Common Lisp code to continuation passing style.")
9524 (home-page "https://common-lisp.net/project/cl-cont/")
9525 (license license:llgpl))))
9526
9527 (define-public cl-cont
9528 (sbcl-package->cl-source-package sbcl-cl-cont))
9529
9530 (define-public ecl-cl-cont
9531 (sbcl-package->ecl-package sbcl-cl-cont))
9532
9533 (define-public sbcl-cl-coroutine
9534 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9535 (revision "1"))
9536 (package
9537 (name "sbcl-cl-coroutine")
9538 (version (git-version "0.1" revision commit))
9539 (source
9540 (origin
9541 (method git-fetch)
9542 (uri (git-reference
9543 (url "https://github.com/takagi/cl-coroutine")
9544 (commit commit)))
9545 (file-name (git-file-name name version))
9546 (sha256
9547 (base32
9548 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9549 (build-system asdf-build-system/sbcl)
9550 (inputs
9551 `(("alexandria" ,sbcl-alexandria)
9552 ("cl-cont" ,sbcl-cl-cont)))
9553 (native-inputs
9554 `(("prove" ,sbcl-prove)))
9555 (arguments
9556 `(;; TODO: Fix the tests. They fail with:
9557 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9558 #:tests? #f
9559 #:phases
9560 (modify-phases %standard-phases
9561 (add-after 'unpack 'fix-tests
9562 (lambda _
9563 (substitute* "cl-coroutine-test.asd"
9564 (("cl-test-more")
9565 "prove"))
9566 #t)))))
9567 (synopsis "Coroutine library for Common Lisp")
9568 (description
9569 "This is a coroutine library for Common Lisp implemented using the
9570 continuations of the @code{cl-cont} library.")
9571 (home-page "https://github.com/takagi/cl-coroutine")
9572 (license license:llgpl))))
9573
9574 (define-public cl-coroutine
9575 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9576
9577 (define-public ecl-cl-coroutine
9578 (sbcl-package->ecl-package sbcl-cl-coroutine))
9579
9580 (define-public sbcl-vom
9581 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9582 (revision "1"))
9583 (package
9584 (name "sbcl-vom")
9585 (version (git-version "0.1.4" revision commit))
9586 (source
9587 (origin
9588 (method git-fetch)
9589 (uri (git-reference
9590 (url "https://github.com/orthecreedence/vom")
9591 (commit commit)))
9592 (file-name (git-file-name name version))
9593 (sha256
9594 (base32
9595 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9596 (build-system asdf-build-system/sbcl)
9597 (synopsis "Tiny logging utility for Common Lisp")
9598 (description
9599 "Vom is a logging library for Common Lisp. It's goal is to be useful
9600 and small. It does not provide a lot of features as other loggers do, but
9601 has a small codebase that's easy to understand and use.")
9602 (home-page "https://github.com/orthecreedence/vom")
9603 (license license:expat))))
9604
9605 (define-public cl-vom
9606 (sbcl-package->cl-source-package sbcl-vom))
9607
9608 (define-public ecl-vom
9609 (sbcl-package->ecl-package sbcl-vom))
9610
9611 (define-public sbcl-cl-libuv
9612 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9613 (revision "1"))
9614 (package
9615 (name "sbcl-cl-libuv")
9616 (version (git-version "0.1.6" revision commit))
9617 (source
9618 (origin
9619 (method git-fetch)
9620 (uri (git-reference
9621 (url "https://github.com/orthecreedence/cl-libuv")
9622 (commit commit)))
9623 (file-name (git-file-name name version))
9624 (sha256
9625 (base32
9626 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9627 (build-system asdf-build-system/sbcl)
9628 (inputs
9629 `(("alexandria" ,sbcl-alexandria)
9630 ("cffi" ,sbcl-cffi)
9631 ("cffi-grovel" ,sbcl-cffi-grovel)
9632 ("libuv" ,libuv)))
9633 (arguments
9634 `(#:phases
9635 (modify-phases %standard-phases
9636 (add-after 'unpack 'fix-paths
9637 (lambda* (#:key inputs #:allow-other-keys)
9638 (substitute* "lib.lisp"
9639 (("/usr/lib/libuv.so")
9640 (string-append (assoc-ref inputs "libuv")
9641 "/lib/libuv.so")))
9642 #t))
9643 (add-after 'fix-paths 'fix-system-definition
9644 (lambda _
9645 (substitute* "cl-libuv.asd"
9646 (("#:cffi #:alexandria")
9647 "#:cffi #:cffi-grovel #:alexandria"))
9648 #t)))))
9649 (synopsis "Common Lisp bindings to libuv")
9650 (description
9651 "This library provides low-level libuv bindings for Common Lisp.")
9652 (home-page "https://github.com/orthecreedence/cl-libuv")
9653 (license license:expat))))
9654
9655 (define-public cl-libuv
9656 (sbcl-package->cl-source-package sbcl-cl-libuv))
9657
9658 (define-public ecl-cl-libuv
9659 (sbcl-package->ecl-package sbcl-cl-libuv))
9660
9661 (define-public sbcl-cl-async-base
9662 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9663 (revision "1"))
9664 (package
9665 (name "sbcl-cl-async-base")
9666 (version (git-version "0.6.1" revision commit))
9667 (source
9668 (origin
9669 (method git-fetch)
9670 (uri (git-reference
9671 (url "https://github.com/orthecreedence/cl-async")
9672 (commit commit)))
9673 (file-name (git-file-name name version))
9674 (sha256
9675 (base32
9676 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9677 (build-system asdf-build-system/sbcl)
9678 (inputs
9679 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9680 ("cffi" ,sbcl-cffi)
9681 ("cl-libuv" ,sbcl-cl-libuv)))
9682 (arguments
9683 `(#:asd-file "cl-async.asd"))
9684 (synopsis "Base system for cl-async")
9685 (description
9686 "Cl-async is a library for general purpose, non-blocking programming in
9687 Common Lisp. It uses the libuv library as backend.")
9688 (home-page "https://orthecreedence.github.io/cl-async/")
9689 (license license:expat))))
9690
9691 (define-public cl-async-base
9692 (sbcl-package->cl-source-package sbcl-cl-async-base))
9693
9694 (define-public ecl-cl-async-base
9695 (sbcl-package->ecl-package sbcl-cl-async-base))
9696
9697 (define-public sbcl-cl-async-util
9698 (package
9699 (inherit sbcl-cl-async-base)
9700 (name "sbcl-cl-async-util")
9701 (inputs
9702 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9703 ("cffi" ,sbcl-cffi)
9704 ("cl-async-base" ,sbcl-cl-async-base)
9705 ("cl-libuv" ,sbcl-cl-libuv)
9706 ("cl-ppcre" ,sbcl-cl-ppcre)
9707 ("fast-io" ,sbcl-fast-io)
9708 ("vom" ,sbcl-vom)))
9709 (synopsis "Internal utilities for cl-async")))
9710
9711 (define-public cl-async-util
9712 (sbcl-package->cl-source-package sbcl-cl-async-util))
9713
9714 (define-public ecl-cl-async-util
9715 (sbcl-package->ecl-package sbcl-cl-async-util))
9716
9717 (define-public sbcl-cl-async
9718 (package
9719 (inherit sbcl-cl-async-base)
9720 (name "sbcl-cl-async")
9721 (inputs
9722 `(("babel" ,sbcl-babel)
9723 ("cffi" ,sbcl-cffi)
9724 ("cl-async-base" ,sbcl-cl-async-base)
9725 ("cl-async-util" ,sbcl-cl-async-util)
9726 ("cl-libuv" ,sbcl-cl-libuv)
9727 ("cl-ppcre" ,sbcl-cl-ppcre)
9728 ("static-vectors" ,sbcl-static-vectors)
9729 ("trivial-features" ,sbcl-trivial-features)
9730 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9731 (synopsis "Asynchronous operations for Common Lisp")))
9732
9733 (define-public cl-async
9734 (sbcl-package->cl-source-package sbcl-cl-async))
9735
9736 (define-public ecl-cl-async
9737 (sbcl-package->ecl-package sbcl-cl-async))
9738
9739 (define-public sbcl-cl-async-repl
9740 (package
9741 (inherit sbcl-cl-async-base)
9742 (name "sbcl-cl-async-repl")
9743 (inputs
9744 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9745 ("cl-async" ,sbcl-cl-async)))
9746 (arguments
9747 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9748 ((#:asd-file _ "") "cl-async-repl.asd")))
9749 (synopsis "REPL integration for cl-async")))
9750
9751 (define-public cl-async-repl
9752 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9753
9754 (define-public ecl-cl-async-repl
9755 (sbcl-package->ecl-package sbcl-cl-async-repl))
9756
9757 (define-public sbcl-cl-async-ssl
9758 (package
9759 (inherit sbcl-cl-async-base)
9760 (name "sbcl-cl-async-ssl")
9761 (inputs
9762 `(("cffi" ,sbcl-cffi)
9763 ("cl-async" ,sbcl-cl-async)
9764 ("openssl" ,openssl)
9765 ("vom" ,sbcl-vom)))
9766 (arguments
9767 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9768 ((#:asd-file _ "") "cl-async-ssl.asd")
9769 ((#:phases phases '%standard-phases)
9770 `(modify-phases ,phases
9771 (add-after 'unpack 'fix-paths
9772 (lambda* (#:key inputs #:allow-other-keys)
9773 (substitute* "src/ssl/package.lisp"
9774 (("libcrypto\\.so")
9775 (string-append (assoc-ref inputs "openssl")
9776 "/lib/libcrypto.so"))
9777 (("libssl\\.so")
9778 (string-append (assoc-ref inputs "openssl")
9779 "/lib/libssl.so")))
9780 #t))))))
9781 (synopsis "SSL wrapper around cl-async socket implementation")))
9782
9783 (define-public cl-async-ssl
9784 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9785
9786 (define-public ecl-cl-async-ssl
9787 (sbcl-package->ecl-package sbcl-cl-async-ssl))
9788
9789 (define-public sbcl-blackbird
9790 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9791 (revision "1"))
9792 (package
9793 (name "sbcl-blackbird")
9794 (version (git-version "0.5.2" revision commit))
9795 (source
9796 (origin
9797 (method git-fetch)
9798 (uri (git-reference
9799 (url "https://github.com/orthecreedence/blackbird")
9800 (commit commit)))
9801 (file-name (git-file-name name version))
9802 (sha256
9803 (base32
9804 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9805 (build-system asdf-build-system/sbcl)
9806 (inputs
9807 `(("vom" ,sbcl-vom)))
9808 (native-inputs
9809 `(("cl-async" ,sbcl-cl-async)
9810 ("fiveam" ,sbcl-fiveam)))
9811 (synopsis "Promise implementation for Common Lisp")
9812 (description
9813 "This is a standalone promise implementation for Common Lisp. It is
9814 the successor to the now-deprecated cl-async-future project.")
9815 (home-page "https://orthecreedence.github.io/blackbird/")
9816 (license license:expat))))
9817
9818 (define-public cl-blackbird
9819 (sbcl-package->cl-source-package sbcl-blackbird))
9820
9821 (define-public ecl-blackbird
9822 (sbcl-package->ecl-package sbcl-blackbird))
9823
9824 (define-public sbcl-cl-async-future
9825 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9826 (revision "1"))
9827 (package
9828 (name "sbcl-cl-async-future")
9829 (version (git-version "0.4.4.1" revision commit))
9830 (source
9831 (origin
9832 (method git-fetch)
9833 (uri (git-reference
9834 (url "https://github.com/orthecreedence/cl-async-future")
9835 (commit commit)))
9836 (file-name (git-file-name name version))
9837 (sha256
9838 (base32
9839 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9840 (build-system asdf-build-system/sbcl)
9841 (inputs
9842 `(("blackbird" ,sbcl-blackbird)))
9843 (native-inputs
9844 `(("cl-async" ,sbcl-cl-async)
9845 ("eos" ,sbcl-eos)))
9846 (synopsis "Futures implementation for Common Lisp")
9847 (description
9848 "This is futures implementation for Common Lisp. It plugs in nicely
9849 to cl-async.")
9850 (home-page "https://orthecreedence.github.io/cl-async/future")
9851 (license license:expat))))
9852
9853 (define-public cl-async-future
9854 (sbcl-package->cl-source-package sbcl-cl-async-future))
9855
9856 (define-public ecl-cl-async-future
9857 (sbcl-package->ecl-package sbcl-cl-async-future))
9858
9859 (define-public sbcl-green-threads
9860 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9861 (revision "1"))
9862 (package
9863 (name "sbcl-green-threads")
9864 (version (git-version "0.3" revision commit))
9865 (source
9866 (origin
9867 (method git-fetch)
9868 (uri (git-reference
9869 (url "https://github.com/thezerobit/green-threads")
9870 (commit commit)))
9871 (file-name (git-file-name name version))
9872 (sha256
9873 (base32
9874 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9875 (build-system asdf-build-system/sbcl)
9876 (inputs
9877 `(("cl-async-future" ,sbcl-cl-async-future)
9878 ("cl-cont" ,sbcl-cl-cont)))
9879 (native-inputs
9880 `(("prove" ,sbcl-prove)))
9881 (arguments
9882 `(;; TODO: Fix the tests. They fail with:
9883 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9884 #:tests? #f
9885 #:phases
9886 (modify-phases %standard-phases
9887 (add-after 'unpack 'fix-tests
9888 (lambda _
9889 (substitute* "green-threads-test.asd"
9890 (("cl-test-more")
9891 "prove"))
9892 #t)))))
9893 (synopsis "Cooperative multitasking library for Common Lisp")
9894 (description
9895 "This library allows for cooperative multitasking with help of cl-cont
9896 for continuations. It tries to mimic the API of bordeaux-threads as much as
9897 possible.")
9898 (home-page "https://github.com/thezerobit/green-threads")
9899 (license license:bsd-3))))
9900
9901 (define-public cl-green-threads
9902 (sbcl-package->cl-source-package sbcl-green-threads))
9903
9904 (define-public ecl-green-threads
9905 (sbcl-package->ecl-package sbcl-green-threads))
9906
9907 (define-public sbcl-cl-base32
9908 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9909 (revision "1"))
9910 (package
9911 (name "sbcl-cl-base32")
9912 (version (git-version "0.1" revision commit))
9913 (source
9914 (origin
9915 (method git-fetch)
9916 (uri (git-reference
9917 (url "https://github.com/hargettp/cl-base32")
9918 (commit commit)))
9919 (file-name (git-file-name name version))
9920 (sha256
9921 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9922 (build-system asdf-build-system/sbcl)
9923 (native-inputs
9924 `(("lisp-unit" ,sbcl-lisp-unit)))
9925 (synopsis "Common Lisp library for base32 encoding and decoding")
9926 (description
9927 "This package provides functions for base32 encoding and decoding as
9928 defined in RFC4648.")
9929 (home-page "https://github.com/hargettp/cl-base32")
9930 (license license:expat))))
9931
9932 (define-public cl-base32
9933 (sbcl-package->cl-source-package sbcl-cl-base32))
9934
9935 (define-public ecl-cl-base32
9936 (sbcl-package->ecl-package sbcl-cl-base32))
9937
9938 (define-public sbcl-cl-z85
9939 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9940 (revision "1"))
9941 (package
9942 (name "sbcl-cl-z85")
9943 (version (git-version "1.0" revision commit))
9944 (source
9945 (origin
9946 (method git-fetch)
9947 (uri (git-reference
9948 (url "https://github.com/glv2/cl-z85")
9949 (commit commit)))
9950 (file-name (git-file-name name version))
9951 (sha256
9952 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9953 (build-system asdf-build-system/sbcl)
9954 (native-inputs
9955 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9956 ("fiveam" ,sbcl-fiveam)))
9957 (synopsis "Common Lisp library for Z85 encoding and decoding")
9958 (description
9959 "This package provides functions to encode or decode byte vectors or
9960 byte streams using the Z85 format, which is a base-85 encoding used by
9961 ZeroMQ.")
9962 (home-page "https://github.com/glv2/cl-z85")
9963 (license license:gpl3+))))
9964
9965 (define-public cl-z85
9966 (sbcl-package->cl-source-package sbcl-cl-z85))
9967
9968 (define-public ecl-cl-z85
9969 (sbcl-package->ecl-package sbcl-cl-z85))
9970
9971 (define-public sbcl-ltk
9972 (package
9973 (name "sbcl-ltk")
9974 (version "0.992")
9975 (source
9976 (origin
9977 (method git-fetch)
9978 (uri (git-reference
9979 (url "https://github.com/herth/ltk")
9980 (commit version)))
9981 (file-name (git-file-name name version))
9982 (sha256
9983 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9984 (build-system asdf-build-system/sbcl)
9985 (inputs
9986 `(("imagemagick" ,imagemagick)
9987 ("tk" ,tk)))
9988 (arguments
9989 `(#:asd-file "ltk/ltk.asd"
9990 #:tests? #f
9991 #:phases (modify-phases %standard-phases
9992 (add-after 'unpack 'fix-paths
9993 (lambda* (#:key inputs #:allow-other-keys)
9994 (substitute* "ltk/ltk.lisp"
9995 (("#-freebsd \"wish\"")
9996 (string-append "#-freebsd \""
9997 (assoc-ref inputs "tk")
9998 "/bin/wish\""))
9999 (("do-execute \"convert\"")
10000 (string-append "do-execute \""
10001 (assoc-ref inputs "imagemagick")
10002 "/bin/convert\"")))
10003 #t)))))
10004 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10005 (description
10006 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
10007 in pure Common Lisp and does not require any Tk knowledge for its usage.")
10008 (home-page "http://www.peter-herth.de/ltk/")
10009 (license license:llgpl)))
10010
10011 (define-public cl-ltk
10012 (sbcl-package->cl-source-package sbcl-ltk))
10013
10014 (define-public ecl-ltk
10015 (sbcl-package->ecl-package sbcl-ltk))
10016
10017 (define-public sbcl-ltk-mw
10018 (package
10019 (inherit sbcl-ltk)
10020 (name "sbcl-ltk-mw")
10021 (inputs
10022 `(("ltk" ,sbcl-ltk)))
10023 (arguments
10024 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10025 ((#:asd-file _) "ltk/ltk-mw.asd")
10026 ((#:phases _) '%standard-phases)))
10027 (synopsis "Extra widgets for LTK")
10028 (description
10029 "This is a collection of higher-level widgets built on top of LTK.")))
10030
10031 (define-public cl-ltk-mw
10032 (sbcl-package->cl-source-package sbcl-ltk-mw))
10033
10034 (define-public ecl-ltk-mw
10035 (sbcl-package->ecl-package sbcl-ltk-mw))
10036
10037 (define-public sbcl-ltk-remote
10038 (package
10039 (inherit sbcl-ltk)
10040 (name "sbcl-ltk-remote")
10041 (inputs
10042 `(("ltk" ,sbcl-ltk)))
10043 (arguments
10044 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10045 ((#:asd-file _) "ltk/ltk-remote.asd")
10046 ((#:phases _) '%standard-phases)))
10047 (synopsis "Remote GUI support for LTK")
10048 (description
10049 "This LTK extension allows the GUI to be displayed on a computer different
10050 from the one running the Lisp program by using a TCP connection.")))
10051
10052 (define-public cl-ltk-remote
10053 (sbcl-package->cl-source-package sbcl-ltk-remote))
10054
10055 (define-public sbcl-cl-lex
10056 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
10057 (revision "1"))
10058 (package
10059 (name "sbcl-cl-lex")
10060 (version (git-version "1.1.3" revision commit))
10061 (source
10062 (origin
10063 (method git-fetch)
10064 (uri (git-reference
10065 (url "https://github.com/djr7C4/cl-lex")
10066 (commit commit)))
10067 (file-name (git-file-name name version))
10068 (sha256
10069 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10070 (build-system asdf-build-system/sbcl)
10071 (inputs
10072 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10073 (synopsis "Common Lisp macros for generating lexical analyzers")
10074 (description
10075 "This is a Common Lisp library providing a set of macros for generating
10076 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10077 be used with @code{cl-yacc}.")
10078 (home-page "https://github.com/djr7C4/cl-lex")
10079 (license license:gpl3))))
10080
10081 (define-public cl-lex
10082 (sbcl-package->cl-source-package sbcl-cl-lex))
10083
10084 (define-public ecl-cl-lex
10085 (sbcl-package->ecl-package sbcl-cl-lex))
10086
10087 (define-public sbcl-clunit2
10088 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10089 (revision "1"))
10090 (package
10091 (name "sbcl-clunit2")
10092 (version (git-version "0.2.4" revision commit))
10093 (source
10094 (origin
10095 (method git-fetch)
10096 (uri (git-reference
10097 (url "https://notabug.org/cage/clunit2.git")
10098 (commit commit)))
10099 (file-name (git-file-name name version))
10100 (sha256
10101 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10102 (build-system asdf-build-system/sbcl)
10103 (synopsis "Unit testing framework for Common Lisp")
10104 (description
10105 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10106 easy to use so that you can quickly start testing.")
10107 (home-page "https://notabug.org/cage/clunit2")
10108 (license license:expat))))
10109
10110 (define-public cl-clunit2
10111 (sbcl-package->cl-source-package sbcl-clunit2))
10112
10113 (define-public ecl-clunit2
10114 (sbcl-package->ecl-package sbcl-clunit2))
10115
10116 (define-public sbcl-cl-colors2
10117 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10118 (revision "1"))
10119 (package
10120 (name "sbcl-cl-colors2")
10121 (version (git-version "0.2.1" revision commit))
10122 (source
10123 (origin
10124 (method git-fetch)
10125 (uri (git-reference
10126 (url "https://notabug.org/cage/cl-colors2.git")
10127 (commit commit)))
10128 (file-name (git-file-name name version))
10129 (sha256
10130 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10131 (build-system asdf-build-system/sbcl)
10132 (native-inputs
10133 `(("clunit2" ,sbcl-clunit2)))
10134 (inputs
10135 `(("alexandria" ,sbcl-alexandria)
10136 ("cl-ppcre" ,sbcl-cl-ppcre)))
10137 (synopsis "Color library for Common Lisp")
10138 (description
10139 "This is a very simple color library for Common Lisp, providing:
10140
10141 @itemize
10142 @item Types for representing colors in HSV and RGB spaces.
10143 @item Simple conversion functions between the above types (and also
10144 hexadecimal representation for RGB).
10145 @item Some predefined colors (currently X11 color names -- of course
10146 the library does not depend on X11).
10147 @end itemize\n")
10148 (home-page "https://notabug.org/cage/cl-colors2")
10149 (license license:boost1.0))))
10150
10151 (define-public cl-colors2
10152 (sbcl-package->cl-source-package sbcl-cl-colors2))
10153
10154 (define-public ecl-cl-colors2
10155 (sbcl-package->ecl-package sbcl-cl-colors2))
10156
10157 (define-public sbcl-cl-jpeg
10158 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10159 (revision "1"))
10160 (package
10161 (name "sbcl-cl-jpeg")
10162 (version (git-version "2.8" revision commit))
10163 (source
10164 (origin
10165 (method git-fetch)
10166 (uri (git-reference
10167 (url "https://github.com/sharplispers/cl-jpeg")
10168 (commit commit)))
10169 (file-name (git-file-name name version))
10170 (sha256
10171 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10172 (build-system asdf-build-system/sbcl)
10173 (synopsis "JPEG image library for Common Lisp")
10174 (description
10175 "This is a baseline JPEG codec written in Common Lisp. It can be used
10176 for reading and writing JPEG image files.")
10177 (home-page "https://github.com/sharplispers/cl-jpeg")
10178 (license license:bsd-3))))
10179
10180 (define-public cl-jpeg
10181 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10182
10183 (define-public ecl-cl-jpeg
10184 (sbcl-package->ecl-package sbcl-cl-jpeg))
10185
10186 (define-public sbcl-nodgui
10187 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10188 (revision "1"))
10189 (package
10190 (name "sbcl-nodgui")
10191 (version (git-version "0.0.5" revision commit))
10192 (source
10193 (origin
10194 (method git-fetch)
10195 (uri (git-reference
10196 (url "https://notabug.org/cage/nodgui.git")
10197 (commit commit)))
10198 (file-name (git-file-name name version))
10199 (sha256
10200 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10201 (build-system asdf-build-system/sbcl)
10202 (inputs
10203 `(("alexandria" ,sbcl-alexandria)
10204 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10205 ("cl-colors2" ,sbcl-cl-colors2)
10206 ("cl-jpeg" ,sbcl-cl-jpeg)
10207 ("cl-lex" ,sbcl-cl-lex)
10208 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10209 ("cl-unicode" ,sbcl-cl-unicode)
10210 ("cl-yacc" ,sbcl-cl-yacc)
10211 ("clunit2" ,sbcl-clunit2)
10212 ("named-readtables" ,sbcl-named-readtables)
10213 ("parse-number" ,sbcl-parse-number)
10214 ("tk" ,tk)))
10215 (arguments
10216 `(#:phases (modify-phases %standard-phases
10217 (add-after 'unpack 'fix-paths
10218 (lambda* (#:key inputs #:allow-other-keys)
10219 (substitute* "src/wish-communication.lisp"
10220 (("#-freebsd \"wish\"")
10221 (string-append "#-freebsd \""
10222 (assoc-ref inputs "tk")
10223 "/bin/wish\"")))
10224 #t)))))
10225 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10226 (description
10227 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10228 toolkit. It also provides a few additional widgets more than the standard Tk
10229 ones.")
10230 (home-page "https://www.autistici.org/interzona/nodgui.html")
10231 (license license:llgpl))))
10232
10233 (define-public cl-nodgui
10234 (sbcl-package->cl-source-package sbcl-nodgui))
10235
10236 (define-public ecl-nodgui
10237 (sbcl-package->ecl-package sbcl-nodgui))
10238
10239 (define-public sbcl-salza2
10240 (package
10241 (name "sbcl-salza2")
10242 (version "2.0.9")
10243 (source
10244 (origin
10245 (method git-fetch)
10246 (uri (git-reference
10247 (url "https://github.com/xach/salza2")
10248 (commit (string-append "release-" version))))
10249 (file-name (git-file-name name version))
10250 (sha256
10251 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10252 (build-system asdf-build-system/sbcl)
10253 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10254 (description
10255 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10256 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10257 respectively.")
10258 (home-page "https://www.xach.com/lisp/salza2/")
10259 (license license:bsd-2)))
10260
10261 (define-public cl-salza2
10262 (sbcl-package->cl-source-package sbcl-salza2))
10263
10264 (define-public ecl-salza2
10265 (sbcl-package->ecl-package sbcl-salza2))
10266
10267 (define-public sbcl-png-read
10268 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10269 (revision "1"))
10270 (package
10271 (name "sbcl-png-read")
10272 (version (git-version "0.3.1" revision commit))
10273 (source
10274 (origin
10275 (method git-fetch)
10276 (uri (git-reference
10277 (url "https://github.com/Ramarren/png-read")
10278 (commit commit)))
10279 (file-name (git-file-name name version))
10280 (sha256
10281 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10282 (build-system asdf-build-system/sbcl)
10283 (inputs
10284 `(("babel" ,sbcl-babel)
10285 ("chipz" ,sbcl-chipz)
10286 ("iterate" ,sbcl-iterate)))
10287 (synopsis "PNG decoder for Common Lisp")
10288 (description "This is a Common Lisp library for reading PNG images.")
10289 (home-page "https://github.com/Ramarren/png-read")
10290 (license license:bsd-3))))
10291
10292 (define-public cl-png-read
10293 (sbcl-package->cl-source-package sbcl-png-read))
10294
10295 (define-public ecl-png-read
10296 (sbcl-package->ecl-package sbcl-png-read))
10297
10298 (define-public sbcl-zpng
10299 (package
10300 (name "sbcl-zpng")
10301 (version "1.2.2")
10302 (source
10303 (origin
10304 (method git-fetch)
10305 (uri (git-reference
10306 (url "https://github.com/xach/zpng")
10307 (commit (string-append "release-" version))))
10308 (file-name (git-file-name name version))
10309 (sha256
10310 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10311 (build-system asdf-build-system/sbcl)
10312 (inputs
10313 `(("salza2" ,sbcl-salza2)))
10314 (synopsis "PNG encoder for Common Lisp")
10315 (description "This is a Common Lisp library for creating PNG images.")
10316 (home-page "https://www.xach.com/lisp/zpng/")
10317 (license license:bsd-2)))
10318
10319 (define-public cl-zpng
10320 (sbcl-package->cl-source-package sbcl-zpng))
10321
10322 (define-public ecl-zpng
10323 (sbcl-package->ecl-package sbcl-zpng))
10324
10325 (define-public sbcl-cl-qrencode
10326 (package
10327 (name "sbcl-cl-qrencode")
10328 (version "0.1.2")
10329 (source
10330 (origin
10331 (method git-fetch)
10332 (uri (git-reference
10333 (url "https://github.com/jnjcc/cl-qrencode")
10334 (commit (string-append "v" version))))
10335 (file-name (git-file-name name version))
10336 (sha256
10337 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10338 (build-system asdf-build-system/sbcl)
10339 (native-inputs
10340 `(("lisp-unit" ,sbcl-lisp-unit)))
10341 (inputs
10342 `(("zpng" ,sbcl-zpng)))
10343 (synopsis "QR code encoder for Common Lisp")
10344 (description
10345 "This Common Lisp library provides function to make QR codes and to save
10346 them as PNG files.")
10347 (home-page "https://github.com/jnjcc/cl-qrencode")
10348 (license license:gpl2+)))
10349
10350 (define-public cl-qrencode
10351 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10352
10353 (define-public ecl-cl-qrencode
10354 (sbcl-package->ecl-package sbcl-cl-qrencode))
10355
10356 (define-public sbcl-hdf5-cffi
10357 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10358 (revision "1"))
10359 (package
10360 (name "sbcl-hdf5-cffi")
10361 (version (git-version "1.8.18" revision commit))
10362 (source
10363 (origin
10364 (method git-fetch)
10365 (uri (git-reference
10366 (url "https://github.com/hdfgroup/hdf5-cffi")
10367 (commit commit)))
10368 (file-name (git-file-name name version))
10369 (sha256
10370 (base32
10371 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10372 (build-system asdf-build-system/sbcl)
10373 (synopsis "Common Lisp bindings for the HDF5 library")
10374 (description
10375 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10376 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10377 (license (license:non-copyleft
10378 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10379 commit
10380 "/LICENSE")))
10381 (inputs
10382 `(("cffi" ,sbcl-cffi)
10383 ("cffi-grovel" ,sbcl-cffi-grovel)
10384 ("hdf5" ,hdf5-1.10)))
10385 (native-inputs
10386 `(("fiveam" ,sbcl-fiveam)))
10387 (arguments
10388 `(#:asd-system-name "hdf5-cffi"
10389 #:asd-file "hdf5-cffi.asd"
10390 #:test-asd-file "hdf5-cffi.test.asd"
10391 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10392 ;; I don't know if there is a way to tell asdf-build-system to load
10393 ;; an additional system first, so tests are disabled.
10394 #:tests? #f
10395 #:phases
10396 (modify-phases %standard-phases
10397 (add-after 'unpack 'fix-paths
10398 (lambda* (#:key inputs #:allow-other-keys)
10399 (substitute* "src/library.lisp"
10400 (("libhdf5.so")
10401 (string-append
10402 (assoc-ref inputs "hdf5")
10403 "/lib/libhdf5.so")))))
10404 (add-after 'unpack 'fix-dependencies
10405 (lambda* (#:key inputs #:allow-other-keys)
10406 (substitute* "hdf5-cffi.asd"
10407 ((":depends-on \\(:cffi\\)")
10408 ":depends-on (:cffi :cffi-grovel)"))
10409 (substitute* "hdf5-cffi.test.asd"
10410 ((":depends-on \\(:cffi :hdf5-cffi")
10411 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10412
10413 (define-public cl-hdf5-cffi
10414 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10415
10416 (define-public ecl-hdf5-cffi
10417 (sbcl-package->ecl-package sbcl-hdf5-cffi))
10418
10419 (define-public sbcl-cl-randist
10420 (package
10421 (name "sbcl-cl-randist")
10422 (version "0.4.2")
10423 (source
10424 (origin
10425 (method git-fetch)
10426 (uri (git-reference
10427 (url "https://github.com/lvaruzza/cl-randist")
10428 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10429 (file-name (git-file-name name version))
10430 (sha256
10431 (base32
10432 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10433 (build-system asdf-build-system/sbcl)
10434 (synopsis "Random distributions for Common Lisp")
10435 (description
10436 "Manual translation from C to Common Lisp of some random number
10437 generation functions from the GSL library.")
10438 (home-page "https://github.com/lvaruzza/cl-randist")
10439 (license license:bsd-2)
10440 (arguments
10441 `(#:asd-system-name "cl-randist"
10442 #:asd-file "cl-randist.asd"
10443 #:tests? #f))))
10444
10445 (define-public cl-randist
10446 (sbcl-package->cl-source-package sbcl-cl-randist))
10447
10448 (define-public ecl-cl-randist
10449 (sbcl-package->ecl-package sbcl-cl-randist))
10450
10451 (define-public sbcl-float-features
10452 (package
10453 (name "sbcl-float-features")
10454 (version "1.0.0")
10455 (source
10456 (origin
10457 (method git-fetch)
10458 (uri (git-reference
10459 (url "https://github.com/Shinmera/float-features")
10460 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10461 (file-name (git-file-name name version))
10462 (sha256
10463 (base32
10464 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10465 (build-system asdf-build-system/sbcl)
10466 (synopsis "Common Lisp IEEE float portability library")
10467 (description
10468 "Portability library for IEEE float features that are not
10469 covered by the Common Lisp standard.")
10470 (home-page "https://github.com/Shinmera/float-features")
10471 (license license:zlib)
10472 (inputs
10473 `(("documentation-utils" ,sbcl-documentation-utils)))
10474 (arguments
10475 `(#:asd-system-name "float-features"
10476 #:asd-file "float-features.asd"
10477 #:tests? #f))))
10478
10479 (define-public cl-float-features
10480 (sbcl-package->cl-source-package sbcl-float-features))
10481
10482 (define-public ecl-float-features
10483 (sbcl-package->ecl-package sbcl-float-features))
10484
10485 (define-public sbcl-function-cache
10486 (package
10487 (name "sbcl-function-cache")
10488 (version "1.0.3")
10489 (source
10490 (origin
10491 (method git-fetch)
10492 (uri (git-reference
10493 (url "https://github.com/AccelerationNet/function-cache")
10494 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10495 (file-name (git-file-name name version))
10496 (sha256
10497 (base32
10498 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10499 (build-system asdf-build-system/sbcl)
10500 (synopsis "Function caching / memoization library for Common Lisp")
10501 (description
10502 "A common lisp library that provides extensible function result
10503 caching based on arguments (an expanded form of memoization).")
10504 (home-page "https://github.com/AccelerationNet/function-cache")
10505 (license
10506 (license:non-copyleft
10507 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10508 (inputs
10509 `(("alexandria" ,sbcl-alexandria)
10510 ("cl-interpol" ,sbcl-cl-interpol)
10511 ("iterate" ,sbcl-iterate)
10512 ("symbol-munger" ,sbcl-symbol-munger)
10513 ("closer-mop" ,sbcl-closer-mop)))
10514 (arguments
10515 `(#:asd-system-name "function-cache"
10516 #:asd-file "function-cache.asd"
10517 #:tests? #f))))
10518
10519 (define-public cl-function-cache
10520 (sbcl-package->cl-source-package sbcl-function-cache))
10521
10522 (define-public ecl-function-cache
10523 (sbcl-package->ecl-package sbcl-function-cache))
10524
10525 (define-public sbcl-type-r
10526 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10527 (revision "1"))
10528 (package
10529 (name "sbcl-type-r")
10530 (version (git-version "0.0.0" revision commit))
10531 (source
10532 (origin
10533 (method git-fetch)
10534 (uri (git-reference
10535 (url "https://github.com/guicho271828/type-r")
10536 (commit commit)))
10537 (file-name (git-file-name name version))
10538 (sha256
10539 (base32
10540 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10541 (build-system asdf-build-system/sbcl)
10542 (synopsis "Parser interface for Common Lisp built-in compound types")
10543 (description
10544 "Collections of accessor functions and patterns to access
10545 the elements in compound type specifier, e.g. @code{dimensions} in
10546 @code{(array element-type dimensions)}")
10547 (home-page "https://github.com/guicho271828/type-r")
10548 (license license:lgpl3+)
10549 (inputs
10550 `(("trivia" ,sbcl-trivia)
10551 ("alexandria" ,sbcl-alexandria)))
10552 (native-inputs
10553 `(("fiveam" ,sbcl-fiveam)))
10554 (arguments
10555 `(#:asd-system-name "type-r"
10556 #:asd-file "type-r.asd"
10557 #:test-asd-file "type-r.test.asd")))))
10558
10559 (define-public cl-type-r
10560 (sbcl-package->cl-source-package sbcl-type-r))
10561
10562 (define-public sbcl-trivialib-type-unify
10563 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10564 (revision "1"))
10565 (package
10566 (name "sbcl-trivialib-type-unify")
10567 (version (git-version "0.1" revision commit))
10568 (source
10569 (origin
10570 (method git-fetch)
10571 (uri (git-reference
10572 (url "https://github.com/guicho271828/trivialib.type-unify")
10573 (commit commit)))
10574 (file-name (git-file-name name version))
10575 (sha256
10576 (base32
10577 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10578 (build-system asdf-build-system/sbcl)
10579 (synopsis "Common Lisp type unification")
10580 (description
10581 "Unifies a parametrized type specifier against an actual type specifier.
10582 Importantly, it handles complicated array-subtypes and number-related types
10583 correctly.")
10584 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10585 (license license:lgpl3+)
10586 (inputs
10587 `(("alexandria" ,sbcl-alexandria)
10588 ("trivia" ,sbcl-trivia)
10589 ("introspect-environment" ,sbcl-introspect-environment)
10590 ("type-r" ,sbcl-type-r)))
10591 (native-inputs
10592 `(("fiveam" ,sbcl-fiveam)))
10593 (arguments
10594 `(#:asd-system-name "trivialib.type-unify"
10595 #:asd-file "trivialib.type-unify.asd"
10596 #:test-asd-file "trivialib.type-unify.test.asd")))))
10597
10598 (define-public cl-trivialib-type-unify
10599 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
10600
10601 (define-public sbcl-specialized-function
10602 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10603 (revision "1"))
10604 (package
10605 (name "sbcl-specialized-function")
10606 (version (git-version "0.0.0" revision commit))
10607 (source
10608 (origin
10609 (method git-fetch)
10610 (uri (git-reference
10611 (url "https://github.com/numcl/specialized-function")
10612 (commit commit)))
10613 (file-name (git-file-name name version))
10614 (sha256
10615 (base32
10616 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10617 (build-system asdf-build-system/sbcl)
10618 (synopsis "Julia-like dispatch for Common Lisp")
10619 (description
10620 "This library is part of NUMCL. It provides a macro
10621 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10622 lazily compiling a type-specific version of the function from the same
10623 code. The main target of this macro is speed.")
10624 (home-page "https://github.com/numcl/specialized-function")
10625 (license license:lgpl3+)
10626 (inputs
10627 `(("trivia" ,sbcl-trivia)
10628 ("alexandria" ,sbcl-alexandria)
10629 ("iterate" ,sbcl-iterate)
10630 ("lisp-namespace" ,sbcl-lisp-namespace)
10631 ("type-r" ,sbcl-type-r)
10632 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10633 (native-inputs
10634 `(("fiveam" ,sbcl-fiveam)))
10635 (arguments
10636 `(#:asd-system-name "specialized-function"
10637 #:asd-file "specialized-function.asd"
10638 #:test-asd-file "specialized-function.test.asd")))))
10639
10640 (define-public cl-specialized-function
10641 (sbcl-package->cl-source-package sbcl-specialized-function))
10642
10643 (define-public sbcl-constantfold
10644 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10645 (revision "1"))
10646 (package
10647 (name "sbcl-constantfold")
10648 (version (git-version "0.1" revision commit))
10649 (source
10650 (origin
10651 (method git-fetch)
10652 (uri (git-reference
10653 (url "https://github.com/numcl/constantfold")
10654 (commit commit)))
10655 (file-name (git-file-name name version))
10656 (sha256
10657 (base32
10658 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10659 (build-system asdf-build-system/sbcl)
10660 (synopsis "Support library for numcl")
10661 (description
10662 "Support library for numcl. Registers a function as an
10663 additional form that is considered as a candidate for a constant.")
10664 (home-page "https://github.com/numcl/constantfold")
10665 (license license:lgpl3+)
10666 (inputs
10667 `(("trivia" ,sbcl-trivia)
10668 ("alexandria" ,sbcl-alexandria)
10669 ("iterate" ,sbcl-iterate)
10670 ("lisp-namespace" ,sbcl-lisp-namespace)))
10671 (native-inputs
10672 `(("fiveam" ,sbcl-fiveam)))
10673 (arguments
10674 `(#:asd-system-name "constantfold"
10675 #:asd-file "constantfold.asd"
10676 #:test-asd-file "constantfold.test.asd")))))
10677
10678 (define-public cl-constantfold
10679 (sbcl-package->cl-source-package sbcl-constantfold))
10680
10681 (define-public sbcl-gtype
10682 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10683 (revision "1"))
10684 (package
10685 (name "sbcl-gtype")
10686 (version (git-version "0.1" revision commit))
10687 (source
10688 (origin
10689 (method git-fetch)
10690 (uri (git-reference
10691 (url "https://github.com/numcl/gtype")
10692 (commit commit)))
10693 (file-name (git-file-name name version))
10694 (sha256
10695 (base32
10696 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10697 (build-system asdf-build-system/sbcl)
10698 (synopsis "C++/Julia-like parametric types in Common Lisp")
10699 (description
10700 "Support library for numcl that provides Julia-like runtime parametric
10701 type correctness in Common Lisp. It is based on CLtL2 extensions.")
10702 (home-page "https://github.com/numcl/gtype")
10703 (license license:lgpl3+)
10704 (inputs
10705 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10706 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10707 ("trivia" ,sbcl-trivia)
10708 ("alexandria" ,sbcl-alexandria)
10709 ("iterate" ,sbcl-iterate)
10710 ("type-r" ,sbcl-type-r)))
10711 (native-inputs
10712 `(("fiveam" ,sbcl-fiveam)))
10713 (arguments
10714 `(#:asd-system-name "gtype"
10715 #:asd-file "gtype.asd"
10716 #:test-asd-file "gtype.test.asd")))))
10717
10718 (define-public cl-gtype
10719 (sbcl-package->cl-source-package sbcl-gtype))
10720
10721 (define-public sbcl-numcl
10722 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10723 (revision "1"))
10724 (package
10725 (name "sbcl-numcl")
10726 (version (git-version "0.1.0" revision commit))
10727 (source
10728 (origin
10729 (method git-fetch)
10730 (uri (git-reference
10731 (url "https://github.com/numcl/numcl")
10732 (commit commit)))
10733 (file-name (git-file-name name version))
10734 (sha256
10735 (base32
10736 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10737 (build-system asdf-build-system/sbcl)
10738 (synopsis "Numpy clone in Common Lisp")
10739 (description
10740 "This is a Numpy clone in Common Lisp. At the moment the
10741 library is written in pure Common Lisp, focusing more on correctness
10742 and usefulness, not speed. Track the progress at
10743 @url{https://github.com/numcl/numcl/projects/1}.")
10744 (home-page "https://github.com/numcl/numcl")
10745 (license license:lgpl3+)
10746 (inputs
10747 `(("trivia" ,sbcl-trivia)
10748 ("alexandria" ,sbcl-alexandria)
10749 ("iterate" ,sbcl-iterate)
10750 ("lisp-namespace" ,sbcl-lisp-namespace)
10751 ("type-r" ,sbcl-type-r)
10752 ("constantfold" ,sbcl-constantfold)
10753 ("cl-randist" ,sbcl-cl-randist)
10754 ("float-features" ,sbcl-float-features)
10755 ("function-cache" ,sbcl-function-cache)
10756 ("specialized-function" ,sbcl-specialized-function)
10757 ("gtype" ,sbcl-gtype)))
10758 (native-inputs
10759 `(("fiveam" ,sbcl-fiveam)))
10760 (arguments
10761 `(#:asd-system-name "numcl"
10762 #:asd-file "numcl.asd"
10763 #:test-asd-file "numcl.test.asd")))))
10764
10765 (define-public cl-numcl
10766 (sbcl-package->cl-source-package sbcl-numcl))
10767
10768 (define-public sbcl-pzmq
10769 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10770 (revision "1"))
10771 (package
10772 (name "sbcl-pzmq")
10773 (version (git-version "0.0.0" revision commit))
10774 (source
10775 (origin
10776 (method git-fetch)
10777 (uri (git-reference
10778 (url "https://github.com/orivej/pzmq")
10779 (commit commit)))
10780 (file-name (git-file-name name version))
10781 (sha256
10782 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10783 (build-system asdf-build-system/sbcl)
10784 (native-inputs
10785 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10786 ("fiveam" ,sbcl-fiveam)
10787 ("let-plus" ,sbcl-let-plus)))
10788 (inputs
10789 `(("cffi" ,sbcl-cffi)
10790 ("cffi-grovel" ,sbcl-cffi-grovel)
10791 ("zeromq" ,zeromq)))
10792 (arguments
10793 `(#:phases (modify-phases %standard-phases
10794 (add-after 'unpack 'fix-paths
10795 (lambda* (#:key inputs #:allow-other-keys)
10796 (substitute* "c-api.lisp"
10797 (("\"libzmq")
10798 (string-append "\""
10799 (assoc-ref inputs "zeromq")
10800 "/lib/libzmq")))
10801 #t)))))
10802 (synopsis "Common Lisp bindings for the ZeroMQ library")
10803 (description "This Common Lisp library provides bindings for the ZeroMQ
10804 lightweight messaging kernel.")
10805 (home-page "https://github.com/orivej/pzmq")
10806 (license license:unlicense))))
10807
10808 (define-public cl-pzmq
10809 (sbcl-package->cl-source-package sbcl-pzmq))
10810
10811 (define-public ecl-pzmq
10812 (sbcl-package->ecl-package sbcl-pzmq))
10813
10814 (define-public sbcl-clss
10815 (let ((revision "1")
10816 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10817 (package
10818 (name "sbcl-clss")
10819 (version (git-version "0.3.1" revision commit))
10820 (source
10821 (origin
10822 (method git-fetch)
10823 (uri
10824 (git-reference
10825 (url "https://github.com/Shinmera/clss")
10826 (commit commit)))
10827 (sha256
10828 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10829 (file-name (git-file-name name version))))
10830 (inputs
10831 `(("array-utils" ,sbcl-array-utils)
10832 ("plump" ,sbcl-plump)))
10833 (build-system asdf-build-system/sbcl)
10834 (synopsis "DOM tree searching engine based on CSS selectors")
10835 (description "CLSS is a DOM traversal engine based on CSS
10836 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10837 (home-page "https://github.com/Shinmera/clss")
10838 (license license:zlib))))
10839
10840 (define-public cl-clss
10841 (sbcl-package->cl-source-package sbcl-clss))
10842
10843 (define-public ecl-clss
10844 (sbcl-package->ecl-package sbcl-clss))
10845
10846 (define-public sbcl-lquery
10847 (let ((revision "1")
10848 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10849 (package
10850 (name "sbcl-lquery")
10851 (version (git-version "3.2.1" revision commit))
10852 (source
10853 (origin
10854 (method git-fetch)
10855 (uri
10856 (git-reference
10857 (url "https://github.com/Shinmera/lquery")
10858 (commit commit)))
10859 (sha256
10860 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10861 (file-name (git-file-name name version))))
10862 (native-inputs
10863 `(("fiveam" ,sbcl-fiveam)))
10864 (inputs
10865 `(("array-utils" ,sbcl-array-utils)
10866 ("form-fiddle" ,sbcl-form-fiddle)
10867 ("plump" ,sbcl-plump)
10868 ("clss" ,sbcl-clss)))
10869 (build-system asdf-build-system/sbcl)
10870 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10871 (description "@code{lQuery} is a DOM manipulation library written in
10872 Common Lisp, inspired by and based on the jQuery syntax and
10873 functions. It uses Plump and CLSS as DOM and selector engines. The
10874 main idea behind lQuery is to provide a simple interface for crawling
10875 and modifying HTML sites, as well as to allow for an alternative
10876 approach to templating.")
10877 (home-page "https://github.com/Shinmera/lquery")
10878 (license license:zlib))))
10879
10880 (define-public cl-lquery
10881 (sbcl-package->cl-source-package sbcl-lquery))
10882
10883 (define-public ecl-lquery
10884 (sbcl-package->ecl-package sbcl-lquery))
10885
10886 (define-public sbcl-cl-mysql
10887 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10888 (revision "1"))
10889 (package
10890 (name "sbcl-cl-mysql")
10891 (version (git-version "0.1" revision commit))
10892 (source
10893 (origin
10894 (method git-fetch)
10895 (uri (git-reference
10896 (url "https://github.com/hackinghat/cl-mysql")
10897 (commit commit)))
10898 (file-name (git-file-name name version))
10899 (sha256
10900 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10901 (build-system asdf-build-system/sbcl)
10902 (native-inputs
10903 `(("stefil" ,sbcl-stefil)))
10904 (inputs
10905 `(("cffi" ,sbcl-cffi)
10906 ("mariadb-lib" ,mariadb "lib")))
10907 (arguments
10908 `(#:tests? #f ; TODO: Tests require a running server
10909 #:phases
10910 (modify-phases %standard-phases
10911 (add-after 'unpack 'fix-paths
10912 (lambda* (#:key inputs #:allow-other-keys)
10913 (substitute* "system.lisp"
10914 (("libmysqlclient_r" all)
10915 (string-append (assoc-ref inputs "mariadb-lib")
10916 "/lib/"
10917 all)))
10918 #t)))))
10919 (synopsis "Common Lisp wrapper for MySQL")
10920 (description
10921 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10922 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10923 (license license:expat))))
10924
10925 (define-public cl-mysql
10926 (sbcl-package->cl-source-package sbcl-cl-mysql))
10927
10928 (define-public sbcl-simple-date
10929 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10930 (revision "1"))
10931 (package
10932 (name "sbcl-simple-date")
10933 (version (git-version "1.19" revision commit))
10934 (source
10935 (origin
10936 (method git-fetch)
10937 (uri (git-reference
10938 (url "https://github.com/marijnh/Postmodern")
10939 (commit commit)))
10940 (file-name (git-file-name name version))
10941 (sha256
10942 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10943 (build-system asdf-build-system/sbcl)
10944 (native-inputs
10945 `(("fiveam" ,sbcl-fiveam)))
10946 (synopsis "Basic date and time objects for Common Lisp")
10947 (description
10948 "@code{simple-date} is a very basic implementation of date and time
10949 objects, used to support storing and retrieving time-related SQL types.")
10950 (home-page "https://marijnhaverbeke.nl/postmodern/")
10951 (license license:zlib))))
10952
10953 (define-public cl-simple-date
10954 (sbcl-package->cl-source-package sbcl-simple-date))
10955
10956 (define-public ecl-simple-date
10957 (sbcl-package->ecl-package sbcl-simple-date))
10958
10959 (define-public sbcl-cl-postgres
10960 (package
10961 (inherit sbcl-simple-date)
10962 (name "sbcl-cl-postgres")
10963 (native-inputs
10964 `(("fiveam" ,sbcl-fiveam)
10965 ("simple-date" ,sbcl-simple-date)))
10966 (inputs
10967 `(("md5" ,sbcl-md5)
10968 ("split-sequence" ,sbcl-split-sequence)
10969 ("usocket" ,sbcl-usocket)))
10970 (arguments
10971 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10972 (synopsis "Common Lisp interface for PostgreSQL")
10973 (description
10974 "@code{cl-postgres} is a low-level library used for interfacing with
10975 a PostgreSQL server over a socket.")))
10976
10977 (define-public cl-postgres
10978 (sbcl-package->cl-source-package sbcl-cl-postgres))
10979
10980 (define-public ecl-cl-postgres
10981 (package
10982 (inherit (sbcl-package->ecl-package sbcl-cl-postgres))
10983 (arguments
10984 `(#:phases
10985 (modify-phases %standard-phases
10986 (add-after 'unpack 'fix-ecl
10987 (lambda _
10988 (substitute* "cl-postgres.asd"
10989 (("\\) \"usocket\"") " :ecl) \"usocket\""))
10990 #t)))
10991 #:tests? #f))))
10992
10993 (define-public sbcl-simple-date-postgres-glue
10994 (package
10995 (inherit sbcl-simple-date)
10996 (name "sbcl-simple-date-postgres-glue")
10997 (inputs
10998 `(("cl-postgres" ,sbcl-cl-postgres)
10999 ("simple-date" ,sbcl-simple-date)))
11000 (arguments
11001 `(#:asd-file "simple-date.asd"
11002 #:asd-system-name "simple-date/postgres-glue"))))
11003
11004 (define-public cl-simple-date-postgres-glue
11005 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
11006
11007 (define-public sbcl-s-sql
11008 (package
11009 (inherit sbcl-simple-date)
11010 (name "sbcl-s-sql")
11011 (inputs
11012 `(("alexandria" ,sbcl-alexandria)
11013 ("cl-postgres" ,sbcl-cl-postgres)))
11014 (arguments
11015 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
11016 (synopsis "Lispy DSL for SQL")
11017 (description
11018 "@code{s-sql} is a Common Lisp library that can be used to compile
11019 s-expressions to strings of SQL code, escaping any Lisp values inside, and
11020 doing as much as possible of the work at compile time.")))
11021
11022 (define-public cl-s-sql
11023 (sbcl-package->cl-source-package sbcl-s-sql))
11024
11025 (define-public sbcl-postmodern
11026 (package
11027 (inherit sbcl-simple-date)
11028 (name "sbcl-postmodern")
11029 (native-inputs
11030 `(("fiveam" ,sbcl-fiveam)
11031 ("simple-date" ,sbcl-simple-date)
11032 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
11033 (inputs
11034 `(("alexandria" ,sbcl-alexandria)
11035 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11036 ("cl-postgres" ,sbcl-cl-postgres)
11037 ("closer-mop" ,sbcl-closer-mop)
11038 ("global-vars" ,sbcl-global-vars)
11039 ("s-sql" ,sbcl-s-sql)
11040 ("split-sequence" ,sbcl-split-sequence)))
11041 (arguments
11042 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
11043 ;; cl-postgres/tests and s-sql/tests.
11044 `(#:tests? #f))
11045 (synopsis "Common Lisp library for interacting with PostgreSQL")
11046 (description
11047 "@code{postmodern} is a Common Lisp library for interacting with
11048 PostgreSQL databases. It provides the following features:
11049
11050 @itemize
11051 @item Efficient communication with the database server without need for
11052 foreign libraries.
11053 @item Support for UTF-8 on Unicode-aware Lisp implementations.
11054 @item A syntax for mixing SQL and Lisp code.
11055 @item Convenient support for prepared statements and stored procedures.
11056 @item A metaclass for simple database-access objects.
11057 @end itemize\n")))
11058
11059 (define-public cl-postmodern
11060 (sbcl-package->cl-source-package sbcl-postmodern))
11061
11062 (define-public sbcl-dbi
11063 ;; Master includes a breaking change which other packages depend on since
11064 ;; Quicklisp decided to follow it:
11065 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
11066 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
11067 (package
11068 (name "sbcl-dbi")
11069 (version (git-version "0.9.4" "1" commit))
11070 (source
11071 (origin
11072 (method git-fetch)
11073 (uri (git-reference
11074 (url "https://github.com/fukamachi/cl-dbi")
11075 (commit commit)))
11076 (file-name (git-file-name name version))
11077 (sha256
11078 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
11079 (build-system asdf-build-system/sbcl)
11080 (inputs
11081 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11082 ("closer-mop" ,sbcl-closer-mop)
11083 ("split-sequence" ,sbcl-split-sequence)))
11084 (arguments
11085 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11086 (synopsis "Database independent interface for Common Lisp")
11087 (description
11088 "@code{dbi} is a Common Lisp library providing a database independent
11089 interface for MySQL, PostgreSQL and SQLite.")
11090 (home-page "https://github.com/fukamachi/cl-dbi")
11091 (license license:llgpl))))
11092
11093 (define-public cl-dbi
11094 (sbcl-package->cl-source-package sbcl-dbi))
11095
11096 (define-public sbcl-dbd-mysql
11097 (package
11098 (inherit sbcl-dbi)
11099 (name "sbcl-dbd-mysql")
11100 (inputs
11101 `(("cl-mysql" ,sbcl-cl-mysql)
11102 ("dbi" ,sbcl-dbi)))
11103 (synopsis "Database driver for MySQL")))
11104
11105 (define-public cl-dbd-mysql
11106 (sbcl-package->cl-source-package sbcl-dbd-mysql))
11107
11108 (define-public sbcl-dbd-postgres
11109 (package
11110 (inherit sbcl-dbi)
11111 (name "sbcl-dbd-postgres")
11112 (inputs
11113 `(("cl-postgres" ,sbcl-cl-postgres)
11114 ("dbi" ,sbcl-dbi)
11115 ("trivial-garbage" ,sbcl-trivial-garbage)))
11116 (synopsis "Database driver for PostgreSQL")))
11117
11118 (define-public cl-dbd-postgres
11119 (sbcl-package->cl-source-package sbcl-dbd-postgres))
11120
11121 (define-public sbcl-dbd-sqlite3
11122 (package
11123 (inherit sbcl-dbi)
11124 (name "sbcl-dbd-sqlite3")
11125 (inputs
11126 `(("cl-sqlite" ,sbcl-cl-sqlite)
11127 ("dbi" ,sbcl-dbi)
11128 ("trivial-garbage" ,sbcl-trivial-garbage)))
11129 (synopsis "Database driver for SQLite3")))
11130
11131 (define-public cl-dbd-sqlite3
11132 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
11133
11134 (define-public sbcl-uffi
11135 (package
11136 (name "sbcl-uffi")
11137 (version "2.1.2")
11138 (source
11139 (origin
11140 (method git-fetch)
11141 (uri (git-reference
11142 (url "http://git.kpe.io/uffi.git")
11143 (commit (string-append "v" version))))
11144 (file-name (git-file-name name version))
11145 (sha256
11146 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11147 (build-system asdf-build-system/sbcl)
11148 (arguments
11149 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11150 #:phases
11151 (modify-phases %standard-phases
11152 (add-after 'unpack 'fix-permissions
11153 (lambda _
11154 (make-file-writable "doc/html.tar.gz")
11155 #t)))))
11156 (synopsis "Universal foreign function library for Common Lisp")
11157 (description
11158 "UFFI provides a universal foreign function interface (FFI)
11159 for Common Lisp.")
11160 (home-page "http://quickdocs.org/uffi/")
11161 (license license:llgpl)))
11162
11163 (define-public cl-uffi
11164 (package
11165 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11166 (arguments
11167 `(#:phases
11168 ;; asdf-build-system/source has its own phases and does not inherit
11169 ;; from asdf-build-system/sbcl phases.
11170 (modify-phases %standard-phases/source
11171 (add-after 'unpack 'fix-permissions
11172 (lambda _
11173 (make-file-writable "doc/html.tar.gz")
11174 #t)))))))
11175
11176 (define-public sbcl-clsql
11177 (package
11178 (name "sbcl-clsql")
11179 (version "6.7.0")
11180 (source
11181 (origin
11182 (method git-fetch)
11183 (uri (git-reference
11184 (url "http://git.kpe.io/clsql.git")
11185 (commit (string-append "v" version))))
11186 (file-name (git-file-name name version))
11187 (sha256
11188 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11189 (snippet
11190 '(begin
11191 ;; Remove precompiled libraries.
11192 (delete-file "db-mysql/clsql_mysql.dll")
11193 (delete-file "uffi/clsql_uffi.dll")
11194 (delete-file "uffi/clsql_uffi.lib")
11195 #t))))
11196 (build-system asdf-build-system/sbcl)
11197 (native-inputs
11198 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11199 ("rt" ,sbcl-rt)
11200 ("uffi" ,sbcl-uffi)))
11201 (arguments
11202 `(#:phases
11203 (modify-phases %standard-phases
11204 (add-after 'unpack 'fix-permissions
11205 (lambda _
11206 (make-file-writable "doc/html.tar.gz")
11207 #t))
11208 (add-after 'unpack 'fix-tests
11209 (lambda _
11210 (substitute* "clsql.asd"
11211 (("clsql-tests :force t")
11212 "clsql-tests"))
11213 #t)))))
11214 (synopsis "Common Lisp SQL Interface library")
11215 (description
11216 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11217 Xanalys CommonSQL interface for Lispworks. It provides low-level database
11218 interfaces as well as a functional and an object oriented interface.")
11219 (home-page "http://clsql.kpe.io/")
11220 (license license:llgpl)))
11221
11222 (define-public cl-clsql
11223 (package
11224 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11225 (native-inputs
11226 `(("rt" ,cl-rt)))
11227 (inputs
11228 `(("mysql" ,mysql)
11229 ("postgresql" ,postgresql)
11230 ("sqlite" ,sqlite)
11231 ("zlib" ,zlib)))
11232 (propagated-inputs
11233 `(("cl-postgres" ,cl-postgres)
11234 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11235 ("md5" ,cl-md5)
11236 ("uffi" ,cl-uffi)))
11237 (arguments
11238 `(#:phases
11239 ;; asdf-build-system/source has its own phases and does not inherit
11240 ;; from asdf-build-system/sbcl phases.
11241 (modify-phases %standard-phases/source
11242 (add-after 'unpack 'fix-permissions
11243 (lambda _
11244 (make-file-writable "doc/html.tar.gz")
11245 #t)))))))
11246
11247 (define-public sbcl-clsql-uffi
11248 (package
11249 (inherit sbcl-clsql)
11250 (name "sbcl-clsql-uffi")
11251 (inputs
11252 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11253 ("clsql" ,sbcl-clsql)
11254 ("uffi" ,sbcl-uffi)))
11255 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
11256
11257 (define-public sbcl-clsql-sqlite3
11258 (package
11259 (inherit sbcl-clsql)
11260 (name "sbcl-clsql-sqlite3")
11261 (inputs
11262 `(("clsql" ,sbcl-clsql)
11263 ("clsql-uffi" ,sbcl-clsql-uffi)
11264 ("sqlite" ,sqlite)))
11265 (arguments
11266 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11267 ((#:phases phases '%standard-phases)
11268 `(modify-phases ,phases
11269 (add-after 'unpack 'fix-paths
11270 (lambda* (#:key inputs #:allow-other-keys)
11271 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11272 (("libsqlite3")
11273 (string-append (assoc-ref inputs "sqlite")
11274 "/lib/libsqlite3")))
11275 #t))))))
11276 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
11277
11278 (define-public sbcl-clsql-postgresql
11279 (package
11280 (inherit sbcl-clsql)
11281 (name "sbcl-clsql-postgresql")
11282 (inputs
11283 `(("clsql" ,sbcl-clsql)
11284 ("clsql-uffi" ,sbcl-clsql-uffi)
11285 ("postgresql" ,postgresql)))
11286 (arguments
11287 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11288 ((#:phases phases '%standard-phases)
11289 `(modify-phases ,phases
11290 (add-after 'unpack 'fix-paths
11291 (lambda* (#:key inputs #:allow-other-keys)
11292 (substitute* "db-postgresql/postgresql-loader.lisp"
11293 (("libpq")
11294 (string-append (assoc-ref inputs "postgresql")
11295 "/lib/libpq")))
11296 #t))))))
11297 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11298
11299 (define-public sbcl-clsql-postgresql-socket3
11300 (package
11301 (inherit sbcl-clsql)
11302 (name "sbcl-clsql-postgresql-socket3")
11303 (inputs
11304 `(("cl-postgres" ,sbcl-cl-postgres)
11305 ("clsql" ,sbcl-clsql)
11306 ("md5" ,sbcl-md5)))
11307 (arguments
11308 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11309 ((#:phases phases '%standard-phases)
11310 `(modify-phases ,phases
11311 (add-after 'create-asd-file 'fix-asd-file
11312 (lambda* (#:key outputs #:allow-other-keys)
11313 (let* ((out (assoc-ref outputs "out"))
11314 (lib (string-append out "/lib/" (%lisp-type)))
11315 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11316 (substitute* asd
11317 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11318 "")))
11319 #t))))))
11320 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11321
11322 (define-public sbcl-clsql-mysql
11323 (package
11324 (inherit sbcl-clsql)
11325 (name "sbcl-clsql-mysql")
11326 (inputs
11327 `(("mysql" ,mysql)
11328 ("sbcl-clsql" ,sbcl-clsql)
11329 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11330 ("zlib" ,zlib)))
11331 (arguments
11332 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11333 ((#:phases phases '%standard-phases)
11334 `(modify-phases ,phases
11335 (add-after 'unpack 'fix-paths
11336 (lambda* (#:key inputs outputs #:allow-other-keys)
11337 (let ((lib (string-append "#p\""
11338 (assoc-ref outputs "out")
11339 "/lib/\"")))
11340 (substitute* "clsql-mysql.asd"
11341 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11342 lib))
11343 (substitute* "db-mysql/mysql-loader.lisp"
11344 (("libmysqlclient" all)
11345 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11346 (("clsql-mysql-system::\\*library-file-dir\\*")
11347 lib)))
11348 #t))
11349 (add-before 'build 'build-helper-library
11350 (lambda* (#:key inputs outputs #:allow-other-keys)
11351 (let* ((mysql (assoc-ref inputs "mysql"))
11352 (inc-dir (string-append mysql "/include/mysql"))
11353 (lib-dir (string-append mysql "/lib"))
11354 (shared-lib-dir (string-append (assoc-ref outputs "out")
11355 "/lib"))
11356 (shared-lib (string-append shared-lib-dir
11357 "/clsql_mysql.so")))
11358 (mkdir-p shared-lib-dir)
11359 (invoke "gcc" "-fPIC" "-shared"
11360 "-I" inc-dir
11361 "db-mysql/clsql_mysql.c"
11362 "-Wl,-soname=clsql_mysql"
11363 "-L" lib-dir "-lmysqlclient" "-lz"
11364 "-o" shared-lib)
11365 #t)))))))
11366 (synopsis "MySQL driver for Common Lisp SQL interface library")))
11367
11368 (define-public sbcl-sycamore
11369 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11370 (package
11371 (name "sbcl-sycamore")
11372 (version "0.0.20120604")
11373 (source
11374 (origin
11375 (method git-fetch)
11376 (uri (git-reference
11377 (url "https://github.com/ndantam/sycamore/")
11378 (commit commit)))
11379 (file-name (git-file-name name version))
11380 (sha256
11381 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11382 (build-system asdf-build-system/sbcl)
11383 (arguments
11384 `(#:asd-file "src/sycamore.asd"))
11385 (inputs
11386 `(("alexandria" ,sbcl-alexandria)
11387 ("cl-ppcre" ,sbcl-cl-ppcre)))
11388 (synopsis "Purely functional data structure library in Common Lisp")
11389 (description
11390 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11391 If features:
11392
11393 @itemize
11394 @item Fast, purely functional weight-balanced binary trees.
11395 @item Leaf nodes are simple-vectors, greatly reducing tree height.
11396 @item Interfaces for tree Sets and Maps (dictionaries).
11397 @item Ropes.
11398 @item Purely functional pairing heaps.
11399 @item Purely functional amortized queue.
11400 @end itemize\n")
11401 (home-page "http://ndantam.github.io/sycamore/")
11402 (license license:bsd-3))))
11403
11404 (define-public cl-sycamore
11405 (sbcl-package->cl-source-package sbcl-sycamore))
11406
11407 (define-public sbcl-trivial-package-local-nicknames
11408 (package
11409 (name "sbcl-trivial-package-local-nicknames")
11410 (version "0.2")
11411 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11412 (source
11413 (origin
11414 (method git-fetch)
11415 (uri (git-reference
11416 (url home-page)
11417 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11418 (file-name (git-file-name name version))
11419 (sha256
11420 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11421 (build-system asdf-build-system/sbcl)
11422 (synopsis "Common Lisp compatibility library for package local nicknames")
11423 (description
11424 "This library is a portable compatibility layer around package local nicknames (PLN).
11425 This was done so there is a portability library for the PLN API not included
11426 in DEFPACKAGE.")
11427 (license license:unlicense)))
11428
11429 (define-public cl-trivial-package-local-nicknames
11430 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
11431
11432 (define-public sbcl-enchant
11433 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11434 (package
11435 (name "sbcl-enchant")
11436 (version (git-version "0.0.0" "1" commit))
11437 (home-page "https://github.com/tlikonen/cl-enchant")
11438 (source
11439 (origin
11440 (method git-fetch)
11441 (uri (git-reference
11442 (url home-page)
11443 (commit commit)))
11444 (file-name (git-file-name name version))
11445 (sha256
11446 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11447 (build-system asdf-build-system/sbcl)
11448 (inputs
11449 `(("enchant" ,enchant)
11450 ("cffi" ,sbcl-cffi)))
11451 (arguments
11452 `(#:phases
11453 (modify-phases %standard-phases
11454 (add-after 'unpack 'fix-paths
11455 (lambda* (#:key inputs #:allow-other-keys)
11456 (substitute* "load-enchant.lisp"
11457 (("libenchant")
11458 (string-append
11459 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11460 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11461 (description
11462 "Enchant is a Common Lisp interface for the Enchant spell-checker
11463 library. The Enchant library is a generic spell-checker library which uses
11464 other spell-checkers transparently as back-end. The library supports the
11465 multiple checkers, including Aspell and Hunspell.")
11466 (license license:public-domain))))
11467
11468 (define-public cl-enchant
11469 (sbcl-package->cl-source-package sbcl-enchant))
11470
11471 (define-public sbcl-cl-change-case
11472 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11473 (package
11474 (name "sbcl-cl-change-case")
11475 (version (git-version "0.1.0" "1" commit))
11476 (home-page "https://github.com/rudolfochrist/cl-change-case")
11477 (source
11478 (origin
11479 (method git-fetch)
11480 (uri (git-reference
11481 (url home-page)
11482 (commit commit)))
11483 (file-name (git-file-name name version))
11484 (sha256
11485 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11486 (build-system asdf-build-system/sbcl)
11487 (inputs
11488 `(("cl-ppcre" ,sbcl-cl-ppcre)
11489 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11490 (native-inputs
11491 `(("fiveam" ,sbcl-fiveam)))
11492 (arguments
11493 '(;; FIXME: Test pass but phase fails with 'Component
11494 ;; "cl-change-case-test" not found, required by'.
11495 #:tests? #f
11496 #:test-asd-file "cl-change-case-test.asd"))
11497 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11498 (description
11499 "@code{cl-change-case} is library to convert strings between camelCase,
11500 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11501 (license license:llgpl))))
11502
11503 (define-public cl-change-case
11504 (sbcl-package->cl-source-package sbcl-cl-change-case))
11505
11506 (define-public sbcl-moptilities
11507 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11508 (package
11509 (name "sbcl-moptilities")
11510 (version (git-version "0.3.13" "1" commit))
11511 (home-page "https://github.com/gwkkwg/moptilities/")
11512 (source
11513 (origin
11514 (method git-fetch)
11515 (uri (git-reference
11516 (url home-page)
11517 (commit commit)))
11518 (file-name (git-file-name name version))
11519 (sha256
11520 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11521 (build-system asdf-build-system/sbcl)
11522 (inputs
11523 `(("closer-mop" ,sbcl-closer-mop)))
11524 (native-inputs
11525 `(("lift" ,sbcl-lift)))
11526 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11527 (description
11528 "MOP utilities provide a common interface between Lisps and make the
11529 MOP easier to use.")
11530 (license license:expat))))
11531
11532 (define-public cl-moptilities
11533 (sbcl-package->cl-source-package sbcl-moptilities))
11534
11535 (define-public sbcl-osicat
11536 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11537 (package
11538 (name "sbcl-osicat")
11539 (version (git-version "0.7.0" "1" commit))
11540 (home-page "http://www.common-lisp.net/project/osicat/")
11541 (source
11542 (origin
11543 (method git-fetch)
11544 (uri (git-reference
11545 (url "https://github.com/osicat/osicat")
11546 (commit commit)))
11547 (file-name (git-file-name name version))
11548 (sha256
11549 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11550 (build-system asdf-build-system/sbcl)
11551 (arguments
11552 `(#:phases
11553 (modify-phases %standard-phases
11554 ;; The cleanup phase moves files around but we need to keep the
11555 ;; directory structure for the grovel-generated library.
11556 (replace 'cleanup
11557 (lambda* (#:key outputs #:allow-other-keys)
11558 (let* ((out (assoc-ref outputs "out"))
11559 (lib (string-append out "/lib/sbcl/")))
11560 (delete-file-recursively (string-append lib "src"))
11561 (delete-file-recursively (string-append lib "tests"))
11562 (for-each delete-file
11563 (filter (lambda (file)
11564 (not (member (basename file) '("libosicat.so"))))
11565 (find-files (string-append lib "posix") ".*"))))
11566 #t)))))
11567 (inputs
11568 `(("alexandria" ,sbcl-alexandria)
11569 ("cffi" ,sbcl-cffi)
11570 ("trivial-features" ,sbcl-trivial-features)))
11571 (native-inputs
11572 `(("cffi-grovel" ,sbcl-cffi-grovel)
11573 ("rt" ,sbcl-rt)))
11574 (synopsis "Operating system interface for Common Lisp")
11575 (description
11576 "Osicat is a lightweight operating system interface for Common Lisp on
11577 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11578 accompaniment to the standard ANSI facilities.")
11579 (license license:expat))))
11580
11581 (define-public cl-osicat
11582 (sbcl-package->cl-source-package sbcl-osicat))
11583
11584 (define-public sbcl-clx-xembed
11585 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11586 (revision "1"))
11587 (package
11588 (name "sbcl-clx-xembed")
11589 (version (git-version "0.1" revision commit))
11590 (home-page "https://github.com/laynor/clx-xembed")
11591 (source
11592 (origin
11593 (method git-fetch)
11594 (uri (git-reference
11595 (url "https://github.com/laynor/clx-xembed")
11596 (commit commit)))
11597 (file-name (git-file-name name version))
11598 (sha256
11599 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11600 (build-system asdf-build-system/sbcl)
11601 (arguments
11602 `(#:asd-system-name "xembed"))
11603 (inputs
11604 `(("sbcl-clx" ,sbcl-clx)))
11605 (synopsis "CL(x) xembed protocol implementation ")
11606 (description "CL(x) xembed protocol implementation")
11607 ;; MIT License
11608 (license license:expat))))
11609
11610 (define-public cl-clx-xembed
11611 (sbcl-package->cl-source-package sbcl-clx-xembed))
11612
11613 (define-public ecl-clx-xembed
11614 (sbcl-package->ecl-package sbcl-clx-xembed))
11615
11616 (define-public sbcl-quantile-estimator
11617 (package
11618 (name "sbcl-quantile-estimator")
11619 (version "0.0.1")
11620 (source
11621 (origin
11622 (method git-fetch)
11623 (uri (git-reference
11624 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11625 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11626 (file-name (git-file-name name version))
11627 (sha256
11628 (base32
11629 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11630 (build-system asdf-build-system/sbcl)
11631 (arguments
11632 '(#:asd-system-name "quantile-estimator"))
11633 (inputs
11634 `(("alexandria" ,sbcl-alexandria)))
11635 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11636 (synopsis
11637 "Effective computation of biased quantiles over data streams")
11638 (description
11639 "Common Lisp implementation of Graham Cormode and S.
11640 Muthukrishnan's Effective Computation of Biased Quantiles over Data
11641 Streams in ICDE’05.")
11642 (license license:expat)))
11643
11644 (define-public cl-quantile-estimator
11645 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11646
11647 (define-public ecl-quantile-estimator
11648 (sbcl-package->ecl-package sbcl-quantile-estimator))
11649
11650 (define-public sbcl-prometheus
11651 (package
11652 (name "sbcl-prometheus")
11653 (version "0.4.1")
11654 (source
11655 (origin
11656 (method git-fetch)
11657 (uri (git-reference
11658 (url "https://github.com/deadtrickster/prometheus.cl")
11659 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11660 (file-name (git-file-name name version))
11661 (sha256
11662 (base32
11663 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11664 (build-system asdf-build-system/sbcl)
11665 (inputs
11666 `(("alexandria" ,sbcl-alexandria)
11667 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11668 ("cl-ppcre" ,sbcl-cl-ppcre)
11669 ("local-time" ,sbcl-local-time)
11670 ("quantile-estimator" ,sbcl-quantile-estimator)))
11671 (home-page "https://github.com/deadtrickster/prometheus.cl")
11672 (synopsis "Prometheus.io Common Lisp client")
11673 (description "Prometheus.io Common Lisp client.")
11674 (license license:expat)))
11675
11676 (define-public cl-prometheus
11677 (sbcl-package->cl-source-package sbcl-prometheus))
11678
11679 (define-public ecl-prometheus
11680 (sbcl-package->ecl-package sbcl-prometheus))
11681
11682 (define-public sbcl-prometheus.collectors.sbcl
11683 (package
11684 (inherit sbcl-prometheus)
11685 (name "sbcl-prometheus.collectors.sbcl")
11686 (inputs `(("prometheus" ,sbcl-prometheus)))
11687 (synopsis "Prometheus collector for SBCL metrics")
11688 (description "Prometheus collector for SBCL metrics.")))
11689
11690 (define-public cl-prometheus.collectors.sbcl
11691 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
11692
11693 (define-public sbcl-prometheus.collectors.process
11694 (package
11695 (inherit sbcl-prometheus)
11696 (name "sbcl-prometheus.collectors.process")
11697 (inputs
11698 `(("cffi" ,sbcl-cffi)
11699 ("cffi-grovel" ,sbcl-cffi-grovel)
11700 ("cl-fad" ,sbcl-cl-fad)
11701 ("prometheus" ,sbcl-prometheus)
11702 ("split-sequence" ,sbcl-split-sequence)))
11703 (synopsis "Prometheus collector for process metrics")
11704 (description "Prometheus collector for process metrics.")))
11705
11706 (define-public cl-prometheus.collectors.process
11707 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11708
11709 (define-public ecl-prometheus.collectors.process
11710 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
11711
11712 (define-public sbcl-prometheus.formats.text
11713 (package
11714 (inherit sbcl-prometheus)
11715 (name "sbcl-prometheus.formats.text")
11716 (inputs
11717 `(("alexandria" ,sbcl-alexandria)
11718 ("prometheus" ,sbcl-prometheus)))
11719 (synopsis "Prometheus client text format")
11720 (description "Prometheus client text format.")))
11721
11722 (define-public cl-prometheus.formats.text
11723 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11724
11725 (define-public ecl-prometheus.formats.text
11726 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
11727
11728 (define-public sbcl-prometheus.exposers.hunchentoot
11729 (package
11730 (inherit sbcl-prometheus)
11731 (name "sbcl-prometheus.exposers.hunchentoot")
11732 (inputs
11733 `(("hunchentoot" ,sbcl-hunchentoot)
11734 ("prometheus" ,sbcl-prometheus)
11735 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11736 ("salza2" ,sbcl-salza2)
11737 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11738 (synopsis "Prometheus collector for Hunchentoot metrics")
11739 (description "Prometheus collector for Hunchentoot metrics")))
11740
11741 (define-public cl-prometheus.exposers.hunchentoot
11742 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
11743
11744 (define-public sbcl-prometheus.pushgateway
11745 (package
11746 (inherit sbcl-prometheus)
11747 (name "sbcl-prometheus.pushgateway")
11748 (inputs
11749 `(("drakma" ,sbcl-drakma)
11750 ("prometheus" ,sbcl-prometheus)
11751 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11752 (synopsis "Prometheus Pushgateway client")
11753 (description "Prometheus Pushgateway client.")))
11754
11755 (define-public cl-prometheus.pushgateway
11756 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11757
11758 (define-public ecl-prometheus.pushgateway
11759 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
11760
11761 (define-public sbcl-uuid
11762 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11763 (package
11764 (name "sbcl-uuid")
11765 (version (git-version "2012.12.26" "1" commit))
11766 (source
11767 (origin
11768 (method git-fetch)
11769 (uri (git-reference
11770 (url "https://github.com/dardoria/uuid")
11771 (commit commit)))
11772 (file-name (git-file-name name version))
11773 (sha256
11774 (base32
11775 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11776 (build-system asdf-build-system/sbcl)
11777 (inputs
11778 `(("ironclad" ,sbcl-ironclad)
11779 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11780 (home-page "https://github.com/dardoria/uuid")
11781 (synopsis
11782 "Common Lisp implementation of UUIDs according to RFC4122")
11783 (description
11784 "Common Lisp implementation of UUIDs according to RFC4122.")
11785 (license license:llgpl))))
11786
11787 (define-public cl-uuid
11788 (sbcl-package->cl-source-package sbcl-uuid))
11789
11790 (define-public ecl-uuid
11791 (sbcl-package->ecl-package sbcl-uuid))
11792
11793 (define-public sbcl-dissect
11794 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11795 (package
11796 (name "sbcl-dissect")
11797 (version (git-version "1.0.0" "1" commit))
11798 (source
11799 (origin
11800 (method git-fetch)
11801 (uri (git-reference
11802 (url "https://github.com/Shinmera/dissect")
11803 (commit commit)))
11804 (file-name (git-file-name name version))
11805 (sha256
11806 (base32
11807 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11808 (build-system asdf-build-system/sbcl)
11809 (inputs
11810 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11811 (home-page "https://shinmera.github.io/dissect/")
11812 (synopsis
11813 "Introspection library for the call stack and restarts")
11814 (description
11815 "Dissect is a small Common Lisp library for introspecting the call stack
11816 and active restarts.")
11817 (license license:zlib))))
11818
11819 (define-public cl-dissect
11820 (sbcl-package->cl-source-package sbcl-dissect))
11821
11822 (define-public ecl-dissect
11823 (sbcl-package->ecl-package sbcl-dissect))
11824
11825 ;; TODO: Uses ASDF's package-inferred-system which is not supported by
11826 ;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11827 ;; asdf-build-system/sbcl.
11828 (define-public sbcl-rove
11829 (package
11830 (name "sbcl-rove")
11831 (version "0.9.6")
11832 (source
11833 (origin
11834 (method git-fetch)
11835 (uri (git-reference
11836 (url "https://github.com/fukamachi/rove")
11837 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11838 (file-name (git-file-name name version))
11839 (sha256
11840 (base32
11841 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11842 (build-system asdf-build-system/sbcl)
11843 (inputs
11844 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11845 ("dissect" ,sbcl-dissect)
11846 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11847 (home-page "https://github.com/fukamachi/rove")
11848 (synopsis
11849 "Yet another common lisp testing library")
11850 (description
11851 "Rove is a unit testing framework for Common Lisp applications.
11852 This is intended to be a successor of Prove.")
11853 (license license:bsd-3)))
11854
11855 (define-public cl-rove
11856 (sbcl-package->cl-source-package sbcl-rove))
11857
11858 (define-public ecl-rove
11859 (sbcl-package->ecl-package sbcl-rove))
11860
11861 (define-public sbcl-exponential-backoff
11862 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11863 (package
11864 (name "sbcl-exponential-backoff")
11865 (version (git-version "0" "1" commit))
11866 (source
11867 (origin
11868 (method git-fetch)
11869 (uri (git-reference
11870 (url "https://github.com/death/exponential-backoff")
11871 (commit commit)))
11872 (file-name (git-file-name name version))
11873 (sha256
11874 (base32
11875 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11876 (build-system asdf-build-system/sbcl)
11877 (home-page "https://github.com/death/exponential-backoff")
11878 (synopsis "Exponential backoff algorithm in Common Lisp")
11879 (description
11880 "An implementation of the exponential backoff algorithm in Common Lisp.
11881 Inspired by the implementation found in Chromium. Read the header file to
11882 learn about each of the parameters.")
11883 (license license:expat))))
11884
11885 (define-public cl-exponential-backoff
11886 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11887
11888 (define-public ecl-exponential-backoff
11889 (sbcl-package->ecl-package sbcl-exponential-backoff))
11890
11891 (define-public sbcl-sxql
11892 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11893 (package
11894 (name "sbcl-sxql")
11895 (version (git-version "0.1.0" "1" commit))
11896 (source
11897 (origin
11898 (method git-fetch)
11899 (uri (git-reference
11900 (url "https://github.com/fukamachi/sxql")
11901 (commit commit)))
11902 (file-name (git-file-name name version))
11903 (sha256
11904 (base32
11905 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11906 (build-system asdf-build-system/sbcl)
11907 (arguments
11908 `(#:test-asd-file "sxql-test.asd"))
11909 (inputs
11910 `(("alexandria" ,sbcl-alexandria)
11911 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11912 ("iterate" ,sbcl-iterate)
11913 ("optima" ,sbcl-optima)
11914 ("split-sequence" ,sbcl-split-sequence)
11915 ("trivial-types" ,sbcl-trivial-types)))
11916 (native-inputs
11917 `(("prove" ,sbcl-prove)
11918 ("prove-asdf" ,sbcl-prove-asdf)))
11919 (home-page "https://github.com/fukamachi/sxql")
11920 (synopsis "SQL generator for Common Lisp")
11921 (description "SQL generator for Common Lisp.")
11922 (license license:bsd-3))))
11923
11924 (define-public cl-sxql
11925 (sbcl-package->cl-source-package sbcl-sxql))
11926
11927 (define-public ecl-sxql
11928 (sbcl-package->ecl-package sbcl-sxql))
11929
11930 (define-public sbcl-1am
11931 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11932 (package
11933 (name "sbcl-1am")
11934 (version (git-version "0.0" "1" commit))
11935 (source
11936 (origin
11937 (method git-fetch)
11938 (uri (git-reference
11939 (url "https://github.com/lmj/1am")
11940 (commit commit)))
11941 (file-name (git-file-name name version))
11942 (sha256
11943 (base32
11944 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11945 (build-system asdf-build-system/sbcl)
11946 (arguments
11947 `(#:asd-system-name "1am"))
11948 (home-page "https://github.com/lmj/1am")
11949 (synopsis "Minimal testing framework for Common Lisp")
11950 (description "A minimal testing framework for Common Lisp.")
11951 (license license:expat))))
11952
11953 (define-public cl-1am
11954 (sbcl-package->cl-source-package sbcl-1am))
11955
11956 (define-public ecl-1am
11957 (sbcl-package->ecl-package sbcl-1am))
11958
11959 (define-public sbcl-cl-ascii-table
11960 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11961 (revision "1"))
11962 (package
11963 (name "sbcl-cl-ascii-table")
11964 (version (git-version "0.0.0" revision commit))
11965 (source
11966 (origin
11967 (method git-fetch)
11968 (uri (git-reference
11969 (url "https://github.com/telephil/cl-ascii-table")
11970 (commit commit)))
11971 (file-name (git-file-name name version))
11972 (sha256
11973 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11974 (build-system asdf-build-system/sbcl)
11975 (synopsis "Library to make ascii-art tables")
11976 (description
11977 "This is a Common Lisp library to present tabular data in ascii-art
11978 tables.")
11979 (home-page "https://github.com/telephil/cl-ascii-table")
11980 (license license:expat))))
11981
11982 (define-public cl-ascii-table
11983 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11984
11985 (define-public ecl-cl-ascii-table
11986 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11987
11988 (define-public sbcl-cl-rdkafka
11989 (package
11990 (name "sbcl-cl-rdkafka")
11991 (version "1.0.2")
11992 (source
11993 (origin
11994 (method git-fetch)
11995 (uri (git-reference
11996 (url "https://github.com/SahilKang/cl-rdkafka")
11997 (commit (string-append "v" version))))
11998 (file-name (git-file-name name version))
11999 (sha256
12000 (base32
12001 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
12002 (build-system asdf-build-system/sbcl)
12003 (arguments
12004 `(#:tests? #f ; Attempts to connect to locally running Kafka
12005 #:phases
12006 (modify-phases %standard-phases
12007 (add-after 'unpack 'fix-paths
12008 (lambda* (#:key inputs #:allow-other-keys)
12009 (substitute* "src/low-level/librdkafka-bindings.lisp"
12010 (("librdkafka" all)
12011 (string-append (assoc-ref inputs "librdkafka") "/lib/"
12012 all)))))
12013 (add-before 'cleanup 'move-bundle
12014 (lambda* (#:key outputs #:allow-other-keys)
12015 (let* ((out (assoc-ref outputs "out"))
12016 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
12017 (expected (string-append
12018 out "/lib/sbcl/cl-rdkafka--system.fasl")))
12019 (copy-file actual expected)
12020 #t))))))
12021 (inputs
12022 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12023 ("cffi" ,sbcl-cffi)
12024 ("cffi-grovel" ,sbcl-cffi-grovel)
12025 ("librdkafka" ,librdkafka)
12026 ("lparallel" ,sbcl-lparallel)
12027 ("trivial-garbage" ,sbcl-trivial-garbage)))
12028 (home-page "https://github.com/SahilKang/cl-rdkafka")
12029 (synopsis "Common Lisp client library for Apache Kafka")
12030 (description "A Common Lisp client library for Apache Kafka.")
12031 (license license:gpl3)))
12032
12033 (define-public cl-rdkafka
12034 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
12035
12036 (define-public sbcl-acclimation
12037 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
12038 (package
12039 (name "sbcl-acclimation")
12040 (version (git-version "0.0.0" "1" commit))
12041 (source
12042 (origin
12043 (method git-fetch)
12044 (uri (git-reference
12045 (url "https://github.com/robert-strandh/Acclimation")
12046 (commit commit)))
12047 (file-name (git-file-name name version))
12048 (sha256
12049 (base32
12050 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
12051 (build-system asdf-build-system/sbcl)
12052 (home-page "https://github.com/robert-strandh/Acclimation")
12053 (synopsis "Internationalization library for Common Lisp")
12054 (description "This project is meant to provide tools for
12055 internationalizing Common Lisp programs.
12056
12057 One important aspect of internationalization is of course the language used in
12058 error messages, documentation strings, etc. But with this project we provide
12059 tools for all other aspects of internationalization as well, including dates,
12060 weight, temperature, names of physical quantitites, etc.")
12061 (license license:bsd-2))))
12062
12063 (define-public cl-acclimation
12064 (sbcl-package->cl-source-package sbcl-acclimation))
12065
12066 (define-public sbcl-clump-2-3-tree
12067 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
12068 (package
12069 (name "sbcl-clump-2-3-tree")
12070 (version (git-version "0.0.0" "1" commit))
12071 (source
12072 (origin
12073 (method git-fetch)
12074 (uri (git-reference
12075 (url "https://github.com/robert-strandh/Clump")
12076 (commit commit)))
12077 (file-name (git-file-name name version))
12078 (sha256
12079 (base32
12080 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
12081 (arguments
12082 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
12083 #:asd-system-name "clump-2-3-tree"))
12084 (inputs
12085 `(("acclimation" ,sbcl-acclimation)))
12086 (build-system asdf-build-system/sbcl)
12087 (home-page "https://github.com/robert-strandh/Clump")
12088 (synopsis "Implementation of 2-3 trees for Common Lisp")
12089 (description "The purpose of this library is to provide a collection of
12090 implementations of trees.
12091
12092 In contrast to existing libraries such as cl-containers, it does not impose a
12093 particular use for the trees. Instead, it aims for a stratified design,
12094 allowing client code to choose between different levels of abstraction.
12095
12096 As a consequence of this policy, low-level interfaces are provided where
12097 the concrete representation is exposed, but also high level interfaces
12098 where the trees can be used as search trees or as trees that represent
12099 sequences of objects.")
12100 (license license:bsd-2))))
12101
12102 (define-public sbcl-clump-binary-tree
12103 (package
12104 (inherit sbcl-clump-2-3-tree)
12105 (name "sbcl-clump-binary-tree")
12106 (arguments
12107 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12108 #:asd-system-name "clump-binary-tree"))
12109 (synopsis "Implementation of binary trees for Common Lisp")))
12110
12111 (define-public sbcl-clump
12112 (package
12113 (inherit sbcl-clump-2-3-tree)
12114 (name "sbcl-clump")
12115 (arguments
12116 '(#:asd-file "clump.asd"
12117 #:asd-system-name "clump"))
12118 (inputs
12119 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12120 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12121 (synopsis "Collection of tree implementations for Common Lisp")))
12122
12123 (define-public cl-clump
12124 (sbcl-package->cl-source-package sbcl-clump))
12125
12126 (define-public sbcl-cluffer-base
12127 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12128 (package
12129 (name "sbcl-cluffer-base")
12130 (version (git-version "0.0.0" "1" commit))
12131 (source
12132 (origin
12133 (method git-fetch)
12134 (uri (git-reference
12135 (url "https://github.com/robert-strandh/cluffer")
12136 (commit commit)))
12137 (file-name (git-file-name name version))
12138 (sha256
12139 (base32
12140 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12141 (arguments
12142 '(#:asd-file "Base/cluffer-base.asd"
12143 #:asd-system-name "cluffer-base"))
12144 (inputs
12145 `(("acclimation" ,sbcl-acclimation)))
12146 (build-system asdf-build-system/sbcl)
12147 (home-page "https://github.com/robert-strandh/cluffer")
12148 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12149 (description "Cluffer is a library for representing the buffer of a text
12150 editor. As such, it defines a set of CLOS protocols for client code to
12151 interact with the buffer contents in various ways, and it supplies different
12152 implementations of those protocols for different purposes.")
12153 (license license:bsd-2))))
12154
12155 (define-public sbcl-cluffer-standard-line
12156 (package
12157 (inherit sbcl-cluffer-base)
12158 (name "sbcl-cluffer-standard-line")
12159 (arguments
12160 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12161 #:asd-system-name "cluffer-standard-line"))
12162 (inputs
12163 `(("cluffer-base" ,sbcl-cluffer-base)))))
12164
12165 (define-public sbcl-cluffer-standard-buffer
12166 (package
12167 (inherit sbcl-cluffer-base)
12168 (name "sbcl-cluffer-standard-buffer")
12169 (arguments
12170 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12171 #:asd-system-name "cluffer-standard-buffer"))
12172 (inputs
12173 `(("cluffer-base" ,sbcl-cluffer-base)
12174 ("clump" ,sbcl-clump)))))
12175
12176 (define-public sbcl-cluffer-simple-line
12177 (package
12178 (inherit sbcl-cluffer-base)
12179 (name "sbcl-cluffer-simple-line")
12180 (arguments
12181 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12182 #:asd-system-name "cluffer-simple-line"))
12183 (inputs
12184 `(("cluffer-base" ,sbcl-cluffer-base)))))
12185
12186 (define-public sbcl-cluffer-simple-buffer
12187 (package
12188 (inherit sbcl-cluffer-base)
12189 (name "sbcl-cluffer-simple-buffer")
12190 (arguments
12191 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12192 #:asd-system-name "cluffer-simple-buffer"))
12193 (inputs
12194 `(("cluffer-base" ,sbcl-cluffer-base)))))
12195
12196 (define-public sbcl-cluffer
12197 (package
12198 (inherit sbcl-cluffer-base)
12199 (name "sbcl-cluffer")
12200 (arguments
12201 '(#:asd-file "cluffer.asd"
12202 #:asd-system-name "cluffer"))
12203 (inputs
12204 `(("cluffer-base" ,sbcl-cluffer-base)
12205 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12206 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12207 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12208 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12209
12210 (define-public cl-cluffer
12211 (sbcl-package->cl-source-package sbcl-cluffer))
12212
12213 (define-public sbcl-cl-libsvm-format
12214 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12215 (revision "0"))
12216 (package
12217 (name "sbcl-cl-libsvm-format")
12218 (version (git-version "0.1.0" revision commit))
12219 (source
12220 (origin
12221 (method git-fetch)
12222 (uri (git-reference
12223 (url "https://github.com/masatoi/cl-libsvm-format")
12224 (commit commit)))
12225 (file-name (git-file-name name version))
12226 (sha256
12227 (base32
12228 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12229 (build-system asdf-build-system/sbcl)
12230 (native-inputs
12231 `(("prove" ,sbcl-prove)
12232 ("prove-asdf" ,sbcl-prove-asdf)))
12233 (inputs
12234 `(("alexandria" ,sbcl-alexandria)))
12235 (synopsis "LibSVM data format reader for Common Lisp")
12236 (description
12237 "This Common Lisp library provides a fast reader for data in LibSVM
12238 format.")
12239 (home-page "https://github.com/masatoi/cl-libsvm-format")
12240 (license license:expat))))
12241
12242 (define-public cl-libsvm-format
12243 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12244
12245 (define-public ecl-cl-libsvm-format
12246 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12247
12248 (define-public sbcl-cl-online-learning
12249 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12250 (revision "0"))
12251 (package
12252 (name "sbcl-cl-online-learning")
12253 (version (git-version "0.5" revision commit))
12254 (source
12255 (origin
12256 (method git-fetch)
12257 (uri (git-reference
12258 (url "https://github.com/masatoi/cl-online-learning")
12259 (commit commit)))
12260 (file-name (git-file-name name version))
12261 (sha256
12262 (base32
12263 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12264 (build-system asdf-build-system/sbcl)
12265 (native-inputs
12266 `(("prove" ,sbcl-prove)
12267 ("prove-asdf" ,sbcl-prove-asdf)))
12268 (inputs
12269 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12270 ("cl-store" ,sbcl-cl-store)))
12271 (arguments
12272 `(;; FIXME: Tests pass but then the check phase crashes
12273 #:tests? #f))
12274 (synopsis "Online Machine Learning for Common Lisp")
12275 (description
12276 "This library contains a collection of machine learning algorithms for
12277 online linear classification written in Common Lisp.")
12278 (home-page "https://github.com/masatoi/cl-online-learning")
12279 (license license:expat))))
12280
12281 (define-public cl-online-learning
12282 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12283
12284 (define-public ecl-cl-online-learning
12285 (sbcl-package->ecl-package sbcl-cl-online-learning))
12286
12287 (define-public sbcl-cl-random-forest
12288 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12289 (revision "1"))
12290 (package
12291 (name "sbcl-cl-random-forest")
12292 (version (git-version "0.1" revision commit))
12293 (source
12294 (origin
12295 (method git-fetch)
12296 (uri (git-reference
12297 (url "https://github.com/masatoi/cl-random-forest")
12298 (commit commit)))
12299 (file-name (git-file-name name version))
12300 (sha256
12301 (base32
12302 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
12303 (build-system asdf-build-system/sbcl)
12304 (native-inputs
12305 `(("prove" ,sbcl-prove)
12306 ("prove-asdf" ,sbcl-prove-asdf)
12307 ("trivial-garbage" ,sbcl-trivial-garbage)))
12308 (inputs
12309 `(("alexandria" ,sbcl-alexandria)
12310 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12311 ("cl-online-learning" ,sbcl-cl-online-learning)
12312 ("lparallel" ,sbcl-lparallel)))
12313 (arguments
12314 `(#:tests? #f)) ; The tests download data from the Internet
12315 (synopsis "Random Forest and Global Refinement for Common Lisp")
12316 (description
12317 "CL-random-forest is an implementation of Random Forest for multiclass
12318 classification and univariate regression written in Common Lisp. It also
12319 includes an implementation of Global Refinement of Random Forest.")
12320 (home-page "https://github.com/masatoi/cl-random-forest")
12321 (license license:expat))))
12322
12323 (define-public cl-random-forest
12324 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12325
12326 (define-public ecl-cl-random-forest
12327 (sbcl-package->ecl-package sbcl-cl-random-forest))
12328
12329 (define-public sbcl-bordeaux-fft
12330 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12331 (revision "0"))
12332 (package
12333 (name "sbcl-bordeaux-fft")
12334 (version (git-version "1.0.1" revision commit))
12335 (source
12336 (origin
12337 (method git-fetch)
12338 (uri (git-reference
12339 (url "https://github.com/ahefner/bordeaux-fft")
12340 (commit commit)))
12341 (file-name (git-file-name name version))
12342 (sha256
12343 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12344 (build-system asdf-build-system/sbcl)
12345 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12346 (synopsis "Fast Fourier Transform for Common Lisp")
12347 (description
12348 "The Bordeaux-FFT library provides a reasonably efficient implementation
12349 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12350 portable Common Lisp.")
12351 (license license:gpl2+))))
12352
12353 (define-public cl-bordeaux-fft
12354 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12355
12356 (define-public ecl-bordeaux-fft
12357 (sbcl-package->ecl-package sbcl-bordeaux-fft))
12358
12359 (define-public sbcl-napa-fft3
12360 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12361 (revision "0"))
12362 (package
12363 (name "sbcl-napa-fft3")
12364 (version (git-version "0.0.1" revision commit))
12365 (source
12366 (origin
12367 (method git-fetch)
12368 (uri (git-reference
12369 (url "https://github.com/pkhuong/Napa-FFT3")
12370 (commit commit)))
12371 (file-name (git-file-name name version))
12372 (sha256
12373 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12374 (build-system asdf-build-system/sbcl)
12375 (home-page "https://github.com/pkhuong/Napa-FFT3")
12376 (synopsis "Fast Fourier Transform routines in Common Lisp")
12377 (description
12378 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12379 buildings blocks to express common operations that involve DFTs: filtering,
12380 convolutions, etc.")
12381 (license license:bsd-3))))
12382
12383 (define-public cl-napa-fft3
12384 (sbcl-package->cl-source-package sbcl-napa-fft3))
12385
12386 (define-public sbcl-cl-tga
12387 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12388 (revision "0"))
12389 (package
12390 (name "sbcl-cl-tga")
12391 (version (git-version "0.0.0" revision commit))
12392 (source
12393 (origin
12394 (method git-fetch)
12395 (uri (git-reference
12396 (url "https://github.com/fisxoj/cl-tga")
12397 (commit commit)))
12398 (file-name (git-file-name name version))
12399 (sha256
12400 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12401 (build-system asdf-build-system/sbcl)
12402 (home-page "https://github.com/fisxoj/cl-tga")
12403 (synopsis "TGA file loader for Common Lisp")
12404 (description
12405 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12406 programs. It's a very simple library, and, at the moment, only supports
12407 non-RLE encoded forms of the files.")
12408 (license license:expat))))
12409
12410 (define-public cl-tga
12411 (sbcl-package->cl-source-package sbcl-cl-tga))
12412
12413 (define-public ecl-cl-tga
12414 (sbcl-package->ecl-package sbcl-cl-tga))
12415
12416 (define-public sbcl-com.gigamonkeys.binary-data
12417 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12418 (revision "0"))
12419 (package
12420 (name "sbcl-com.gigamonkeys.binary-data")
12421 (version (git-version "0.0.0" revision commit))
12422 (source
12423 (origin
12424 (method git-fetch)
12425 (uri (git-reference
12426 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12427 (commit commit)))
12428 (file-name (git-file-name name version))
12429 (sha256
12430 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12431 (build-system asdf-build-system/sbcl)
12432 (inputs
12433 `(("alexandria" ,sbcl-alexandria)))
12434 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12435 (synopsis "Common Lisp library for reading and writing binary data")
12436 (description
12437 "This a Common Lisp library for reading and writing binary data. It is
12438 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12439 (license license:bsd-3))))
12440
12441 (define-public cl-com.gigamonkeys.binary-data
12442 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12443
12444 (define-public ecl-com.gigamonkeys.binary-data
12445 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
12446
12447 (define-public sbcl-deflate
12448 (package
12449 (name "sbcl-deflate")
12450 (version "1.0.3")
12451 (source
12452 (origin
12453 (method git-fetch)
12454 (uri (git-reference
12455 (url "https://github.com/pmai/Deflate")
12456 (commit (string-append "release-" version))))
12457 (file-name (git-file-name name version))
12458 (sha256
12459 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12460 (build-system asdf-build-system/sbcl)
12461 (home-page "https://github.com/pmai/Deflate")
12462 (synopsis "Native deflate decompression for Common Lisp")
12463 (description
12464 "This library is an implementation of Deflate (RFC 1951) decompression,
12465 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12466 wrappers of deflate streams. It currently does not handle compression.")
12467 (license license:expat)))
12468
12469 (define-public cl-deflate
12470 (sbcl-package->cl-source-package sbcl-deflate))
12471
12472 (define-public ecl-deflate
12473 (sbcl-package->ecl-package sbcl-deflate))
12474
12475 (define-public sbcl-skippy
12476 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12477 (revision "0"))
12478 (package
12479 (name "sbcl-skippy")
12480 (version (git-version "1.3.12" revision commit))
12481 (source
12482 (origin
12483 (method git-fetch)
12484 (uri (git-reference
12485 (url "https://github.com/xach/skippy")
12486 (commit commit)))
12487 (file-name (git-file-name name version))
12488 (sha256
12489 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12490 (build-system asdf-build-system/sbcl)
12491 (home-page "https://xach.com/lisp/skippy/")
12492 (synopsis "Common Lisp library for GIF images")
12493 (description
12494 "Skippy is a Common Lisp library to read and write GIF image files.")
12495 (license license:bsd-2))))
12496
12497 (define-public cl-skippy
12498 (sbcl-package->cl-source-package sbcl-skippy))
12499
12500 (define-public ecl-skippy
12501 (sbcl-package->ecl-package sbcl-skippy))
12502
12503 (define-public sbcl-cl-freetype2
12504 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12505 (revision "0"))
12506 (package
12507 (name "sbcl-cl-freetype2")
12508 (version (git-version "1.1" revision commit))
12509 (source
12510 (origin
12511 (method git-fetch)
12512 (uri (git-reference
12513 (url "https://github.com/rpav/cl-freetype2")
12514 (commit commit)))
12515 (file-name (git-file-name name version))
12516 (sha256
12517 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12518 (build-system asdf-build-system/sbcl)
12519 (native-inputs
12520 `(("fiveam" ,sbcl-fiveam)))
12521 (inputs
12522 `(("alexandria" ,sbcl-alexandria)
12523 ("cffi" ,sbcl-cffi)
12524 ("cffi-grovel" ,sbcl-cffi-grovel)
12525 ("freetype" ,freetype)
12526 ("trivial-garbage" ,sbcl-trivial-garbage)))
12527 (arguments
12528 `(#:phases
12529 (modify-phases %standard-phases
12530 (add-after 'unpack 'fix-paths
12531 (lambda* (#:key inputs #:allow-other-keys)
12532 (substitute* "src/ffi/ft2-lib.lisp"
12533 (("\"libfreetype\"")
12534 (string-append "\"" (assoc-ref inputs "freetype")
12535 "/lib/libfreetype\"")))
12536 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12537 (("-I/usr/include/freetype")
12538 (string-append "-I" (assoc-ref inputs "freetype")
12539 "/include/freetype")))
12540 #t)))))
12541 (home-page "https://github.com/rpav/cl-freetype2")
12542 (synopsis "Common Lisp bindings for Freetype 2")
12543 (description
12544 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12545 geared toward both using Freetype directly by providing a simplified API, as
12546 well as providing access to the underlying C structures and functions for use
12547 with other libraries which may also use Freetype.")
12548 (license license:bsd-3))))
12549
12550 (define-public cl-freetype2
12551 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12552
12553 (define-public ecl-cl-freetype2
12554 (sbcl-package->ecl-package sbcl-cl-freetype2))
12555
12556 (define-public sbcl-opticl-core
12557 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12558 (revision "0"))
12559 (package
12560 (name "sbcl-opticl-core")
12561 (version (git-version "0.0.0" revision commit))
12562 (source
12563 (origin
12564 (method git-fetch)
12565 (uri (git-reference
12566 (url "https://github.com/slyrus/opticl-core")
12567 (commit commit)))
12568 (file-name (git-file-name name version))
12569 (sha256
12570 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12571 (build-system asdf-build-system/sbcl)
12572 (inputs
12573 `(("alexandria" ,sbcl-alexandria)))
12574 (home-page "https://github.com/slyrus/opticl-core")
12575 (synopsis "Core classes and pixel access macros for Opticl")
12576 (description
12577 "This Common Lisp library contains the core classes and pixel access
12578 macros for the Opticl image processing library.")
12579 (license license:bsd-2))))
12580
12581 (define-public cl-opticl-core
12582 (sbcl-package->cl-source-package sbcl-opticl-core))
12583
12584 (define-public ecl-opticl-core
12585 (sbcl-package->ecl-package sbcl-opticl-core))
12586
12587 (define-public sbcl-retrospectiff
12588 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12589 (revision "0"))
12590 (package
12591 (name "sbcl-retrospectiff")
12592 (version (git-version "0.2" revision commit))
12593 (source
12594 (origin
12595 (method git-fetch)
12596 (uri (git-reference
12597 (url "https://github.com/slyrus/retrospectiff")
12598 (commit commit)))
12599 (file-name (git-file-name name version))
12600 (sha256
12601 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12602 (build-system asdf-build-system/sbcl)
12603 (native-inputs
12604 `(("fiveam" ,sbcl-fiveam)))
12605 (inputs
12606 `(("cl-jpeg" ,sbcl-cl-jpeg)
12607 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12608 ("deflate" ,sbcl-deflate)
12609 ("flexi-streams" ,sbcl-flexi-streams)
12610 ("ieee-floats" ,sbcl-ieee-floats)
12611 ("opticl-core" ,sbcl-opticl-core)))
12612 (home-page "https://github.com/slyrus/retrospectiff")
12613 (synopsis "Common Lisp library for TIFF images")
12614 (description
12615 "Retrospectiff is a common lisp library for reading and writing images
12616 in the TIFF (Tagged Image File Format) format.")
12617 (license license:bsd-2))))
12618
12619 (define-public cl-retrospectif
12620 (sbcl-package->cl-source-package sbcl-retrospectiff))
12621
12622 (define-public ecl-retrospectiff
12623 (sbcl-package->ecl-package sbcl-retrospectiff))
12624
12625 (define-public sbcl-mmap
12626 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12627 (revision "0"))
12628 (package
12629 (name "sbcl-mmap")
12630 (version (git-version "1.0.0" revision commit))
12631 (source
12632 (origin
12633 (method git-fetch)
12634 (uri (git-reference
12635 (url "https://github.com/Shinmera/mmap")
12636 (commit commit)))
12637 (file-name (git-file-name name version))
12638 (sha256
12639 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12640 (build-system asdf-build-system/sbcl)
12641 (native-inputs
12642 `(("alexandria" ,sbcl-alexandria)
12643 ("cffi" ,sbcl-cffi)
12644 ("parachute" ,sbcl-parachute)
12645 ("trivial-features" ,sbcl-trivial-features)))
12646 (inputs
12647 `(("cffi" ,sbcl-cffi)
12648 ("documentation-utils" ,sbcl-documentation-utils)))
12649 (home-page "https://shinmera.github.io/mmap/")
12650 (synopsis "File memory mapping for Common Lisp")
12651 (description
12652 "This is a utility library providing access to the @emph{mmap} family of
12653 functions in a portable way. It allows you to directly map a file into the
12654 address space of your process without having to manually read it into memory
12655 sequentially. Typically this is much more efficient for files that are larger
12656 than a few Kb.")
12657 (license license:zlib))))
12658
12659 (define-public cl-mmap
12660 (sbcl-package->cl-source-package sbcl-mmap))
12661
12662 (define-public ecl-mmap
12663 (sbcl-package->ecl-package sbcl-mmap))
12664
12665 (define-public sbcl-3bz
12666 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12667 (revision "0"))
12668 (package
12669 (name "sbcl-3bz")
12670 (version (git-version "0.0.0" revision commit))
12671 (source
12672 (origin
12673 (method git-fetch)
12674 (uri (git-reference
12675 (url "https://github.com/3b/3bz")
12676 (commit commit)))
12677 (file-name (git-file-name name version))
12678 (sha256
12679 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12680 (build-system asdf-build-system/sbcl)
12681 (inputs
12682 `(("alexandria" ,sbcl-alexandria)
12683 ("babel" ,sbcl-babel)
12684 ("cffi" ,sbcl-cffi)
12685 ("mmap" ,sbcl-mmap)
12686 ("nibbles" ,sbcl-nibbles)
12687 ("trivial-features" ,sbcl-trivial-features)))
12688 (arguments
12689 ;; FIXME: Without the following line, the build fails (see issue 41437).
12690 `(#:asd-system-name "3bz"))
12691 (home-page "https://github.com/3b/3bz")
12692 (synopsis "Deflate decompression for Common Lisp")
12693 (description
12694 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12695 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12696 foreign pointers (for use with mmap and similar, etc), and from CL octet
12697 vectors and streams.")
12698 (license license:expat))))
12699
12700 (define-public cl-3bz
12701 (sbcl-package->cl-source-package sbcl-3bz))
12702
12703 (define-public ecl-3bz
12704 (sbcl-package->ecl-package sbcl-3bz))
12705
12706 (define-public sbcl-zpb-exif
12707 (package
12708 (name "sbcl-zpb-exif")
12709 (version "1.2.4")
12710 (source
12711 (origin
12712 (method git-fetch)
12713 (uri (git-reference
12714 (url "https://github.com/xach/zpb-exif")
12715 (commit (string-append "release-" version))))
12716 (file-name (git-file-name name version))
12717 (sha256
12718 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12719 (build-system asdf-build-system/sbcl)
12720 (home-page "https://xach.com/lisp/zpb-exif/")
12721 (synopsis "EXIF information extractor for Common Lisp")
12722 (description
12723 "This is a Common Lisp library to extract EXIF information from image
12724 files.")
12725 (license license:bsd-2)))
12726
12727 (define-public cl-zpb-exif
12728 (sbcl-package->cl-source-package sbcl-zpb-exif))
12729
12730 (define-public ecl-zpb-exif
12731 (sbcl-package->ecl-package sbcl-zpb-exif))
12732
12733 (define-public sbcl-pngload
12734 (package
12735 (name "sbcl-pngload")
12736 (version "2.0.0")
12737 (source
12738 (origin
12739 (method git-fetch)
12740 (uri (git-reference
12741 (url "https://github.com/bufferswap/pngload")
12742 (commit version)))
12743 (file-name (git-file-name name version))
12744 (sha256
12745 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12746 (build-system asdf-build-system/sbcl)
12747 (inputs
12748 `(("3bz" ,sbcl-3bz)
12749 ("alexandria" ,sbcl-alexandria)
12750 ("cffi" ,sbcl-cffi)
12751 ("mmap" ,sbcl-mmap)
12752 ("parse-float" ,sbcl-parse-float)
12753 ("static-vectors" ,sbcl-static-vectors)
12754 ("swap-bytes" ,sbcl-swap-bytes)
12755 ("zpb-exif" ,sbcl-zpb-exif)))
12756 (arguments
12757 ;; Test suite disabled because of a dependency cycle.
12758 ;; pngload tests depend on opticl which depends on pngload.
12759 '(#:tests? #f))
12760 (home-page "https://github.com/bufferswap/pngload")
12761 (synopsis "PNG image decoder for Common Lisp")
12762 (description
12763 "This is a Common Lisp library to load images in the PNG image format,
12764 both from files on disk, or streams in memory.")
12765 (license license:expat)))
12766
12767 (define-public cl-pngload
12768 (sbcl-package->cl-source-package sbcl-pngload))
12769
12770 (define-public ecl-pngload
12771 (sbcl-package->ecl-package sbcl-pngload))
12772
12773 (define-public sbcl-opticl
12774 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12775 (revision "0"))
12776 (package
12777 (name "sbcl-opticl")
12778 (version (git-version "0.0.0" revision commit))
12779 (source
12780 (origin
12781 (method git-fetch)
12782 (uri (git-reference
12783 (url "https://github.com/slyrus/opticl")
12784 (commit commit)))
12785 (file-name (git-file-name name version))
12786 (sha256
12787 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12788 (build-system asdf-build-system/sbcl)
12789 (native-inputs
12790 `(("fiveam" ,sbcl-fiveam)))
12791 (inputs
12792 `(("alexandria" ,sbcl-alexandria)
12793 ("cl-jpeg" ,sbcl-cl-jpeg)
12794 ("cl-tga" ,sbcl-cl-tga)
12795 ("png-read" ,sbcl-png-read)
12796 ("pngload" ,sbcl-pngload)
12797 ("retrospectiff" ,sbcl-retrospectiff)
12798 ("skippy" ,sbcl-skippy)
12799 ("zpng" ,sbcl-zpng)))
12800 (home-page "https://github.com/slyrus/opticl")
12801 (synopsis "Image processing library for Common Lisp")
12802 (description
12803 "Opticl is a Common Lisp library for representing, processing, loading,
12804 and saving 2-dimensional pixel-based images.")
12805 (license license:bsd-2))))
12806
12807 (define-public cl-opticl
12808 (sbcl-package->cl-source-package sbcl-opticl))
12809
12810 (define-public sbcl-clim-lisp
12811 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12812 (revision "0"))
12813 (package
12814 (name "sbcl-clim-lisp")
12815 (version (git-version "0.9.7" revision commit))
12816 (source
12817 (origin
12818 (method git-fetch)
12819 (uri (git-reference
12820 (url "https://github.com/mcclim/mcclim")
12821 (commit commit)))
12822 (file-name (git-file-name name version))
12823 (sha256
12824 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12825 (build-system asdf-build-system/sbcl)
12826 (inputs
12827 `(("alexandria" ,sbcl-alexandria)
12828 ("closer-mop" ,sbcl-closer-mop)
12829 ("log4cl" ,sbcl-log4cl)
12830 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12831 (home-page "https://common-lisp.net/project/mcclim/")
12832 (synopsis "Common Lisp GUI toolkit")
12833 (description
12834 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12835 specification}, a toolkit for writing GUIs in Common Lisp.")
12836 (license license:lgpl2.1+))))
12837
12838 (define-public sbcl-clim-basic
12839 (package
12840 (inherit sbcl-clim-lisp)
12841 (name "sbcl-clim-basic")
12842 (inputs
12843 `(("alexandria" ,sbcl-alexandria)
12844 ("babel" ,sbcl-babel)
12845 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12846 ("clim-lisp" ,sbcl-clim-lisp)
12847 ("flexichain" ,sbcl-flexichain)
12848 ("spatial-trees" ,sbcl-spatial-trees)
12849 ("trivial-features" ,sbcl-trivial-features)
12850 ("trivial-garbage" ,sbcl-trivial-garbage)))
12851 (arguments
12852 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
12853
12854 (define-public sbcl-clim-core
12855 (package
12856 (inherit sbcl-clim-lisp)
12857 (name "sbcl-clim-core")
12858 (inputs
12859 `(("clim-basic" ,sbcl-clim-basic)))
12860 (arguments
12861 '(#:asd-file "Core/clim-core/clim-core.asd"))))
12862
12863 (define-public sbcl-esa-mcclim
12864 (package
12865 (inherit sbcl-clim-lisp)
12866 (name "sbcl-esa-mcclim")
12867 (inputs
12868 `(("alexandria" ,sbcl-alexandria)
12869 ("clim-core" ,sbcl-clim-core)))
12870 (arguments
12871 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
12872
12873 (define-public sbcl-mcclim-fonts
12874 (package
12875 (inherit sbcl-clim-lisp)
12876 (name "sbcl-mcclim-fonts")
12877 (inputs
12878 `(("clim-basic" ,sbcl-clim-basic)))
12879 (arguments
12880 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
12881
12882 (define-public sbcl-automaton
12883 (package
12884 (inherit sbcl-clim-lisp)
12885 (name "sbcl-automaton")
12886 (inputs
12887 `())
12888 (arguments
12889 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
12890
12891 (define-public sbcl-persistent
12892 (package
12893 (inherit sbcl-clim-lisp)
12894 (name "sbcl-persistent")
12895 (inputs
12896 `())
12897 (arguments
12898 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
12899
12900 (define-public sbcl-drei-mcclim
12901 (package
12902 (inherit sbcl-clim-lisp)
12903 (name "sbcl-drei-mcclim")
12904 (native-inputs
12905 `(("fiveam" ,sbcl-fiveam)))
12906 (inputs
12907 `(("automaton" ,sbcl-automaton)
12908 ("clim-core" ,sbcl-clim-core)
12909 ("esa-mcclim" ,sbcl-esa-mcclim)
12910 ("flexichain" ,sbcl-flexichain)
12911 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12912 ("persistent" ,sbcl-persistent)
12913 ("swank" ,cl-slime-swank)))
12914 (arguments
12915 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
12916
12917 (define-public sbcl-clim
12918 (package
12919 (inherit sbcl-clim-lisp)
12920 (name "sbcl-clim")
12921 (inputs
12922 `(("clim-core" ,sbcl-clim-core)
12923 ("drei-mcclim" ,sbcl-drei-mcclim)
12924 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12925 (arguments
12926 '(#:asd-file "Core/clim/clim.asd"))))
12927
12928 (define-public sbcl-mcclim-backend-common
12929 (package
12930 (inherit sbcl-clim-lisp)
12931 (name "sbcl-mcclim-backend-common")
12932 (native-inputs
12933 `(("fiveam" ,sbcl-fiveam)))
12934 (inputs
12935 `(("clim" ,sbcl-clim)
12936 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12937 (arguments
12938 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
12939
12940 (define-public sbcl-mcclim-clx
12941 (package
12942 (inherit sbcl-clim-lisp)
12943 (name "sbcl-mcclim-clx")
12944 (inputs
12945 `(("alexandria" ,sbcl-alexandria)
12946 ("cl-unicode" ,sbcl-cl-unicode)
12947 ("clx" ,sbcl-clx)
12948 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12949 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12950 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12951 (arguments
12952 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
12953
12954 (define-public sbcl-mcclim-fonts-truetype
12955 (package
12956 (inherit sbcl-clim-lisp)
12957 (name "sbcl-mcclim-fonts-truetype")
12958 (inputs
12959 `(("alexandria" ,sbcl-alexandria)
12960 ("cl-aa" ,sbcl-cl-aa)
12961 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12962 ("cl-vectors" ,sbcl-cl-vectors)
12963 ("clim-basic" ,sbcl-clim-basic)
12964 ("font-dejavu" ,font-dejavu)
12965 ("zpb-ttf" ,sbcl-zpb-ttf)))
12966 (arguments
12967 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
12968 #:asd-system-name "mcclim-fonts/truetype"
12969 #:phases
12970 (modify-phases %standard-phases
12971 (add-after 'unpack 'fix-paths
12972 (lambda* (#:key inputs #:allow-other-keys)
12973 ;; mcclim-truetype uses DejaVu as default font and
12974 ;; sets the path at build time.
12975 (substitute* "Extensions/fonts/fontconfig.lisp"
12976 (("/usr/share/fonts/truetype/dejavu/")
12977 (string-append (assoc-ref inputs "font-dejavu")
12978 "/share/fonts/truetype/")))
12979 #t)))))))
12980
12981 (define-public sbcl-mcclim-fonts-clx-truetype
12982 (package
12983 (inherit sbcl-clim-lisp)
12984 (name "sbcl-mcclim-fonts-clx-truetype")
12985 (inputs
12986 `(("mcclim-clx" ,sbcl-mcclim-clx)
12987 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
12988 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12989 (arguments
12990 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12991 #:asd-system-name "mcclim-fonts/clx-truetype"
12992 #:phases
12993 (modify-phases %standard-phases
12994 (add-after 'unpack 'fix-asd-system-names
12995 (lambda _
12996 (substitute* "Extensions/fonts/mcclim-fonts.asd"
12997 ((":depends-on \\(#:mcclim-fonts/truetype")
12998 ":depends-on (#:mcclim-fonts-truetype"))
12999 #t)))))))
13000
13001 (define-public sbcl-mcclim-clx-truetype
13002 (package
13003 (inherit sbcl-clim-lisp)
13004 (name "sbcl-mcclim-clx-truetype")
13005 (inputs
13006 `(("mcclim-clx" ,sbcl-mcclim-clx)
13007 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
13008 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13009 (arguments
13010 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13011 #:asd-system-name "mcclim-clx/truetype"
13012 #:phases
13013 (modify-phases %standard-phases
13014 (add-after 'unpack 'fix-asd-system-names
13015 (lambda _
13016 (substitute* "Backends/CLX/mcclim-clx.asd"
13017 (("mcclim-fonts/clx-truetype")
13018 "mcclim-fonts-clx-truetype"))
13019 #t)))))))
13020
13021 (define-public sbcl-mcclim-fontconfig
13022 (package
13023 (inherit sbcl-clim-lisp)
13024 (name "sbcl-mcclim-fontconfig")
13025 (native-inputs
13026 `(("pkg-config" ,pkg-config)))
13027 (inputs
13028 `(("alexandria" ,sbcl-alexandria)
13029 ("cffi" ,sbcl-cffi)
13030 ("cffi-grovel" ,sbcl-cffi-grovel)
13031 ("fontconfig" ,fontconfig)))
13032 (arguments
13033 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
13034 #:phases
13035 (modify-phases %standard-phases
13036 (add-after 'unpack 'fix-paths
13037 (lambda* (#:key inputs #:allow-other-keys)
13038 (substitute* "Extensions/fontconfig/src/functions.lisp"
13039 (("libfontconfig\\.so")
13040 (string-append (assoc-ref inputs "fontconfig")
13041 "/lib/libfontconfig.so")))
13042 #t))
13043 (add-after 'unpack 'fix-build
13044 (lambda _
13045 ;; The cffi-grovel system does not get loaded automatically,
13046 ;; so we load it explicitly.
13047 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
13048 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
13049 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13050 #t)))))))
13051
13052 (define-public sbcl-mcclim-harfbuzz
13053 (package
13054 (inherit sbcl-clim-lisp)
13055 (name "sbcl-mcclim-harfbuzz")
13056 (native-inputs
13057 `(("pkg-config" ,pkg-config)))
13058 (inputs
13059 `(("alexandria" ,sbcl-alexandria)
13060 ("cffi" ,sbcl-cffi)
13061 ("cffi-grovel" ,sbcl-cffi-grovel)
13062 ("freetype" ,freetype)
13063 ("harfbuzz" ,harfbuzz)
13064 ("trivial-garbage" ,sbcl-trivial-garbage)))
13065 (arguments
13066 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13067 #:phases
13068 (modify-phases %standard-phases
13069 (add-after 'unpack 'fix-paths
13070 (lambda* (#:key inputs #:allow-other-keys)
13071 (substitute* "Extensions/harfbuzz/src/functions.lisp"
13072 (("libharfbuzz\\.so")
13073 (string-append (assoc-ref inputs "harfbuzz")
13074 "/lib/libharfbuzz.so")))
13075 #t))
13076 (add-after 'unpack 'fix-build
13077 (lambda _
13078 ;; The cffi-grovel system does not get loaded automatically,
13079 ;; so we load it explicitly.
13080 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13081 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
13082 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13083 #t)))))))
13084
13085 (define-public sbcl-mcclim-fonts-clx-freetype
13086 (package
13087 (inherit sbcl-clim-lisp)
13088 (name "sbcl-mcclim-fonts-clx-freetype")
13089 (inputs
13090 `(("cl-freetype2" ,sbcl-cl-freetype2)
13091 ("mcclim-clx" ,sbcl-mcclim-clx)
13092 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
13093 ("mcclim-fonts" ,sbcl-mcclim-fonts)
13094 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13095 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13096 (arguments
13097 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13098 #:asd-system-name "mcclim-fonts/clx-freetype"))))
13099
13100 (define-public sbcl-mcclim-clx-freetype
13101 (package
13102 (inherit sbcl-clim-lisp)
13103 (name "sbcl-mcclim-clx-freetype")
13104 (inputs
13105 `(("mcclim-clx" ,sbcl-mcclim-clx)
13106 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13107 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13108 (arguments
13109 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13110 #:asd-system-name "mcclim-clx/freetype"
13111 #:phases
13112 (modify-phases %standard-phases
13113 (add-after 'unpack 'fix-asd-system-names
13114 (lambda _
13115 (substitute* "Backends/CLX/mcclim-clx.asd"
13116 (("mcclim-fonts/clx-freetype")
13117 "mcclim-fonts-clx-freetype"))
13118 #t)))))))
13119
13120 (define-public sbcl-mcclim-render
13121 (package
13122 (inherit sbcl-clim-lisp)
13123 (name "sbcl-mcclim-render")
13124 (inputs
13125 `(("alexandria" ,sbcl-alexandria)
13126 ("cl-vectors" ,sbcl-cl-vectors)
13127 ("clim-basic" ,sbcl-clim-basic)
13128 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13129 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13130 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13131 (arguments
13132 '(#:asd-file "Extensions/render/mcclim-render.asd"
13133 #:phases
13134 (modify-phases %standard-phases
13135 (add-after 'unpack 'fix-asd-system-names
13136 (lambda _
13137 (substitute* "Extensions/render/mcclim-render.asd"
13138 (("mcclim-fonts/truetype")
13139 "mcclim-fonts-truetype"))
13140 #t)))))))
13141
13142 (define-public sbcl-mcclim-clx-fb
13143 (package
13144 (inherit sbcl-clim-lisp)
13145 (name "sbcl-mcclim-clx-fb")
13146 (inputs
13147 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13148 ("mcclim-clx" ,sbcl-mcclim-clx)
13149 ("mcclim-render" ,sbcl-mcclim-render)
13150 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13151 (arguments
13152 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
13153
13154 (define-public sbcl-mcclim-null
13155 (package
13156 (inherit sbcl-clim-lisp)
13157 (name "sbcl-mcclim-null")
13158 (inputs
13159 `(("clim" ,sbcl-clim)
13160 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13161 (arguments
13162 '(#:asd-file "Backends/Null/mcclim-null.asd"))))
13163
13164 (define-public sbcl-clim-postscript-font
13165 (package
13166 (inherit sbcl-clim-lisp)
13167 (name "sbcl-clim-postscript-font")
13168 (inputs
13169 `(("clim-basic" ,sbcl-clim-basic)
13170 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13171 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13172 (arguments
13173 '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
13174
13175 (define-public sbcl-clim-postscript
13176 (package
13177 (inherit sbcl-clim-lisp)
13178 (name "sbcl-clim-postscript")
13179 (native-inputs
13180 `(("fiveam" ,sbcl-fiveam)))
13181 (inputs
13182 `(("clim-basic" ,sbcl-clim-basic)
13183 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13184 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13185 (arguments
13186 '(#:asd-file "Backends/PostScript/clim-postscript.asd"
13187 ;; Test suite disabled because of a dependency cycle.
13188 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13189 ;; wich depends on mcclim/extensions, which depends on clim-postscript.
13190 #:tests? #f))))
13191
13192 (define-public sbcl-clim-pdf
13193 (package
13194 (inherit sbcl-clim-lisp)
13195 (name "sbcl-clim-pdf")
13196 (native-inputs
13197 `(("fiveam" ,sbcl-fiveam)))
13198 (inputs
13199 `(("cl-pdf" ,sbcl-cl-pdf)
13200 ("clim-basic" ,sbcl-clim-basic)
13201 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13202 ("flexi-streams" ,sbcl-flexi-streams)
13203 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13204 (arguments
13205 '(#:asd-file "Backends/PDF/clim-pdf.asd"
13206 ;; Test suite disabled because of a dependency cycle.
13207 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13208 ;; wich depends on mcclim/extensions, which depends on clim-pdf.
13209 #:tests? #f))))
13210
13211 (define-public sbcl-mcclim-looks
13212 (package
13213 (inherit sbcl-clim-lisp)
13214 (name "sbcl-mcclim-looks")
13215 (inputs
13216 `(("clim" ,sbcl-clim)
13217 ("mcclim-clx" ,sbcl-mcclim-clx)
13218 ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
13219 ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
13220 ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
13221 ("mcclim-null" ,sbcl-mcclim-null)
13222 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13223 (arguments
13224 '(#:asd-file "mcclim.asd"
13225 #:asd-system-name "mcclim/looks"
13226 #:phases
13227 (modify-phases %standard-phases
13228 (add-after 'unpack 'fix-asd-system-names
13229 (lambda _
13230 (substitute* "mcclim.asd"
13231 (("mcclim-clx/truetype")
13232 "mcclim-clx-truetype")
13233 (("mcclim-clx/freetype")
13234 "mcclim-clx-freetype"))
13235 #t)))))))
13236
13237 (define-public sbcl-mcclim-franz
13238 (package
13239 (inherit sbcl-clim-lisp)
13240 (name "sbcl-mcclim-franz")
13241 (inputs
13242 `(("clim" ,sbcl-clim)
13243 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13244 (arguments
13245 '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
13246
13247 (define-public sbcl-mcclim-bezier-core
13248 (package
13249 (inherit sbcl-clim-lisp)
13250 (name "sbcl-mcclim-bezier-core")
13251 (inputs
13252 `(("clim" ,sbcl-clim)
13253 ("clim-pdf" ,sbcl-clim-pdf)
13254 ("clim-postscript" ,sbcl-clim-postscript)
13255 ("mcclim-null" ,sbcl-mcclim-null)
13256 ("mcclim-render" ,sbcl-mcclim-render)
13257 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13258 (arguments
13259 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13260 #:asd-system-name "mcclim-bezier/core"))))
13261
13262 (define-public sbcl-mcclim-bezier-clx
13263 (package
13264 (inherit sbcl-clim-lisp)
13265 (name "sbcl-mcclim-bezier-clx")
13266 (inputs
13267 `(("clim" ,sbcl-clim)
13268 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13269 ("mcclim-clx" ,sbcl-mcclim-clx)
13270 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13271 (arguments
13272 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13273 #:asd-system-name "mcclim-bezier/clx"
13274 #:phases
13275 (modify-phases %standard-phases
13276 (add-after 'unpack 'fix-asd-system-names
13277 (lambda _
13278 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13279 (("mcclim-bezier/core\\)")
13280 "mcclim-bezier-core)"))
13281 #t)))))))
13282
13283 (define-public sbcl-mcclim-bezier
13284 (package
13285 (inherit sbcl-clim-lisp)
13286 (name "sbcl-mcclim-bezier")
13287 (inputs
13288 `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
13289 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13290 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13291 (arguments
13292 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13293 #:phases
13294 (modify-phases %standard-phases
13295 (add-after 'unpack 'fix-asd-system-names
13296 (lambda _
13297 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13298 (("\\(#:mcclim-bezier/core")
13299 "(#:mcclim-bezier-core")
13300 (("#:mcclim-bezier/clx\\)\\)")
13301 "#:mcclim-bezier-clx))"))
13302 #t)))))))
13303
13304 (define-public sbcl-mcclim-bitmaps
13305 (package
13306 (inherit sbcl-clim-lisp)
13307 (name "sbcl-mcclim-bitmaps")
13308 (inputs
13309 `(("clim-basic" ,sbcl-clim-basic)
13310 ("opticl" ,sbcl-opticl)))
13311 (arguments
13312 '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
13313
13314 (define-public sbcl-conditional-commands
13315 (package
13316 (inherit sbcl-clim-lisp)
13317 (name "sbcl-conditional-commands")
13318 (inputs
13319 `(("clim-basic" ,sbcl-clim-basic)))
13320 (arguments
13321 '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
13322
13323 (define-public sbcl-mcclim-layouts-tab
13324 (package
13325 (inherit sbcl-clim-lisp)
13326 (name "sbcl-mcclim-layouts-tab")
13327 (inputs
13328 `(("clim" ,sbcl-clim)
13329 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13330 (arguments
13331 '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
13332 #:asd-system-name "mcclim-layouts/tab"))))
13333
13334 (define-public sbcl-mcclim-extensions
13335 (package
13336 (inherit sbcl-clim-lisp)
13337 (name "sbcl-mcclim-extensions")
13338 (inputs
13339 `(("clim-pdf" ,sbcl-clim-pdf)
13340 ("clim-postscript" ,sbcl-clim-postscript)
13341 ("conditional-commands" ,sbcl-conditional-commands)
13342 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13343 ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
13344 ("mcclim-franz" ,sbcl-mcclim-franz)
13345 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13346 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13347 (arguments
13348 '(#:asd-file "mcclim.asd"
13349 #:asd-system-name "mcclim/extensions"
13350 #:phases
13351 (modify-phases %standard-phases
13352 (add-after 'unpack 'fix-asd-system-names
13353 (lambda _
13354 (substitute* "mcclim.asd"
13355 (("mcclim-layouts/tab")
13356 "mcclim-layouts-tab"))
13357 #t)))))))
13358
13359 (define-public sbcl-mcclim
13360 (package
13361 (inherit sbcl-clim-lisp)
13362 (name "sbcl-mcclim")
13363 (native-inputs
13364 `(("fiveam" ,sbcl-fiveam)))
13365 (inputs
13366 `(("mcclim-looks" ,sbcl-mcclim-looks)
13367 ("mcclim-extensions" ,sbcl-mcclim-extensions)
13368 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13369 (arguments
13370 '(#:phases
13371 (modify-phases %standard-phases
13372 (add-after 'unpack 'fix-asd-system-names
13373 (lambda _
13374 (substitute* "mcclim.asd"
13375 ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
13376 ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
13377 #t)))
13378 ;; Test suite disabled because of a dependency cycle.
13379 ;; The tests depend on mcclim/test-util, which depends on mcclim.
13380 #:tests? #f))))
13381
13382 (define-public cl-mcclim
13383 (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
13384 (package
13385 (inherit base)
13386 (name "cl-mcclim")
13387 (native-inputs
13388 `(("fiveam" ,cl-fiveam)
13389 ("pkg-config" ,pkg-config)))
13390 (inputs
13391 `(("alexandria" ,cl-alexandria)
13392 ("babel" ,cl-babel)
13393 ("bordeaux-threads" ,cl-bordeaux-threads)
13394 ("cffi" ,cl-cffi)
13395 ("cl-aa" ,cl-aa)
13396 ("cl-freetype2" ,cl-freetype2)
13397 ("cl-paths-ttf" ,cl-paths-ttf)
13398 ("cl-pdf" ,cl-pdf)
13399 ("cl-unicode" ,cl-unicode)
13400 ("cl-vectors" ,cl-vectors)
13401 ("closer-mop" ,cl-closer-mop)
13402 ("clx" ,cl-clx)
13403 ("flexi-streams" ,cl-flexi-streams)
13404 ("flexichain" ,cl-flexichain)
13405 ("fontconfig" ,fontconfig)
13406 ("freetype" ,freetype)
13407 ("harfbuzz" ,harfbuzz)
13408 ("log4cl" ,cl-log4cl)
13409 ("opticl" ,cl-opticl)
13410 ("spatial-trees" ,cl-spatial-trees)
13411 ("trivial-features" ,cl-trivial-features)
13412 ("trivial-garbage" ,cl-trivial-garbage)
13413 ("trivial-gray-streams" ,cl-trivial-gray-streams)
13414 ("swank" ,cl-slime-swank)
13415 ("zpb-ttf" ,cl-zpb-ttf))))))
13416
13417 (define-public sbcl-cl-inflector
13418 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
13419 (revision "1"))
13420 (package
13421 (name "sbcl-cl-inflector")
13422 (version (git-version "0.2" revision commit))
13423 (source
13424 (origin
13425 (method git-fetch)
13426 (uri (git-reference
13427 (url "https://github.com/AccelerationNet/cl-inflector")
13428 (commit commit)))
13429 (file-name (git-file-name name version))
13430 (sha256
13431 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
13432 (build-system asdf-build-system/sbcl)
13433 (native-inputs
13434 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13435 (inputs
13436 `(("alexandria" ,sbcl-alexandria)
13437 ("cl-ppcre" ,sbcl-cl-ppcre)))
13438 (home-page "https://github.com/AccelerationNet/cl-inflector")
13439 (synopsis "Library to pluralize/singularize English and Portuguese words")
13440 (description
13441 "This is a common lisp library to easily pluralize and singularize
13442 English and Portuguese words. This is a port of the ruby ActiveSupport
13443 Inflector module.")
13444 (license license:expat))))
13445
13446 (define-public cl-inflector
13447 (sbcl-package->cl-source-package sbcl-cl-inflector))
13448
13449 (define-public ecl-cl-inflector
13450 (sbcl-package->ecl-package sbcl-cl-inflector))
13451
13452 (define-public sbcl-qbase64
13453 (package
13454 (name "sbcl-qbase64")
13455 (version "0.3.0")
13456 (source
13457 (origin
13458 (method git-fetch)
13459 (uri (git-reference
13460 (url "https://github.com/chaitanyagupta/qbase64")
13461 (commit version)))
13462 (file-name (git-file-name name version))
13463 (sha256
13464 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
13465 (build-system asdf-build-system/sbcl)
13466 (inputs
13467 `(("metabang-bind" ,sbcl-metabang-bind)
13468 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13469 (native-inputs
13470 `(("fiveam" ,sbcl-fiveam)))
13471 (home-page "https://github.com/chaitanyagupta/qbase64")
13472 (synopsis "Base64 encoder and decoder for Common Lisp")
13473 (description "@code{qbase64} provides a fast and flexible base64 encoder
13474 and decoder for Common Lisp.")
13475 (license license:bsd-3)))
13476
13477 (define-public cl-qbase64
13478 (sbcl-package->cl-source-package sbcl-qbase64))
13479
13480 (define-public ecl-qbase64
13481 (sbcl-package->ecl-package sbcl-qbase64))
13482
13483 (define-public sbcl-hu.dwim.common-lisp
13484 (package
13485 (name "sbcl-hu.dwim.common-lisp")
13486 (version "2015-07-09")
13487 (source
13488 (origin
13489 (method url-fetch)
13490 (uri (string-append
13491 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
13492 version "/hu.dwim.common-lisp-"
13493 (string-replace-substring version "-" "")
13494 "-darcs.tgz"))
13495 (sha256
13496 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
13497 (build-system asdf-build-system/sbcl)
13498 (native-inputs
13499 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13500 (home-page "http://dwim.hu/")
13501 (synopsis "Redefine some standard Common Lisp names")
13502 (description "This library is a redefinition of the standard Common Lisp
13503 package that includes a number of renames and shadows. ")
13504 (license license:public-domain)))
13505
13506 (define-public cl-hu.dwim.common-lisp
13507 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
13508
13509 (define-public ecl-hu.dwim.common-lisp
13510 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
13511
13512 (define-public sbcl-hu.dwim.common
13513 (package
13514 (name "sbcl-hu.dwim.common")
13515 (version "2015-07-09")
13516 (source
13517 (origin
13518 (method url-fetch)
13519 (uri (string-append
13520 "http://beta.quicklisp.org/archive/hu.dwim.common/"
13521 version "/hu.dwim.common-"
13522 (string-replace-substring version "-" "")
13523 "-darcs.tgz"))
13524 (sha256
13525 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
13526 (build-system asdf-build-system/sbcl)
13527 (native-inputs
13528 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13529 (inputs
13530 `(("alexandria" ,sbcl-alexandria)
13531 ("anaphora" ,sbcl-anaphora)
13532 ("closer-mop" ,sbcl-closer-mop)
13533 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
13534 ("iterate" ,sbcl-iterate)
13535 ("metabang-bind" ,sbcl-metabang-bind)))
13536 (home-page "http://dwim.hu/")
13537 (synopsis "Common Lisp library shared by other hu.dwim systems")
13538 (description "")
13539 (license license:public-domain)))
13540
13541 (define-public cl-hu.dwim.common
13542 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
13543
13544 (define-public ecl-hu.dwim.common
13545 (sbcl-package->ecl-package sbcl-hu.dwim.common))
13546
13547 (define-public sbcl-hu.dwim.defclass-star
13548 (package
13549 (name "sbcl-hu.dwim.defclass-star")
13550 (version "2015-07-09")
13551 (source
13552 (origin
13553 (method url-fetch)
13554 (uri (string-append
13555 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
13556 version "/hu.dwim.defclass-star-"
13557 (string-replace-substring version "-" "")
13558 "-darcs.tgz"))
13559 (sha256
13560 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
13561 (build-system asdf-build-system/sbcl)
13562 (native-inputs
13563 `(;; These 2 inputs are only needed tests which are disabled, see below.
13564 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
13565 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
13566 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
13567 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13568 (arguments
13569 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
13570 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
13571 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
13572 #:tests? #f))
13573 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
13574 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
13575 (description "@code{defclass-star} provides defclass* and defcondition* to
13576 simplify class and condition declarations. Features include:
13577
13578 @itemize
13579 @item Automatically export all or select slots at compile time.
13580 @item Define the @code{:initarg} and @code{:accesor} automatically.
13581 @item Specify a name transformer for both the @code{:initarg} and
13582 @code{:accessor}, etc.
13583 @item Specify the @code{:initform} as second slot value.
13584 @end itemize
13585
13586 See
13587 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
13588 for an example.")
13589 (license license:public-domain)))
13590
13591 (define-public cl-hu.dwim.defclass-star
13592 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
13593
13594 (define-public ecl-hu.dwim.defclass-star
13595 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
13596
13597 (define-public sbcl-livesupport
13598 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
13599 (revision "1"))
13600 (package
13601 (name "sbcl-livesupport")
13602 (version (git-version "0.0.0" revision commit))
13603 (source
13604 (origin
13605 (method git-fetch)
13606 (uri (git-reference
13607 (url "https://github.com/cbaggers/livesupport")
13608 (commit commit)))
13609 (file-name (git-file-name name version))
13610 (sha256
13611 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
13612 (build-system asdf-build-system/sbcl)
13613 (home-page "https://github.com/cbaggers/livesupport")
13614 (synopsis "Some helpers that make livecoding a little easier")
13615 (description "This package provides a macro commonly used in livecoding to
13616 enable continuing when errors are raised. Simply wrap around a chunk of code
13617 and it provides a restart called @code{continue} which ignores the error and
13618 carrys on from the end of the body.")
13619 (license license:bsd-2))))
13620
13621 (define-public cl-livesupport
13622 (sbcl-package->cl-source-package sbcl-livesupport))
13623
13624 (define-public ecl-livesupport
13625 (sbcl-package->ecl-package sbcl-livesupport))
13626
13627 (define-public sbcl-envy
13628 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
13629 (revision "1"))
13630 (package
13631 (name "sbcl-envy")
13632 (version (git-version "0.1" revision commit))
13633 (home-page "https://github.com/fukamachi/envy")
13634 (source
13635 (origin
13636 (method git-fetch)
13637 (uri (git-reference
13638 (url home-page)
13639 (commit commit)))
13640 (file-name (git-file-name name version))
13641 (sha256
13642 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
13643 (build-system asdf-build-system/sbcl)
13644 ;; (native-inputs ; Only for tests.
13645 ;; `(("prove" ,sbcl-prove)
13646 ;; ("osicat" ,sbcl-osicat)))
13647 (arguments
13648 '(#:phases
13649 (modify-phases %standard-phases
13650 (add-after 'unpack 'fix-tests
13651 (lambda _
13652 (substitute* "envy-test.asd"
13653 (("cl-test-more") "prove"))
13654 #t)))
13655 ;; Tests fail with
13656 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
13657 ;; like xsubseq. Why?
13658 #:tests? #f))
13659 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
13660 (description "Envy is a configuration manager for various applications.
13661 Envy uses an environment variable to determine a configuration to use. This
13662 can separate configuration system from an implementation.")
13663 (license license:bsd-2))))
13664
13665 (define-public cl-envy
13666 (sbcl-package->cl-source-package sbcl-envy))
13667
13668 (define-public ecl-envy
13669 (sbcl-package->ecl-package sbcl-envy))
13670
13671 (define sbcl-mito-core
13672 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
13673 (revision "1"))
13674 (package
13675 (name "sbcl-mito-core")
13676 (version (git-version "0.1" revision commit))
13677 (home-page "https://github.com/fukamachi/mito")
13678 (source
13679 (origin
13680 (method git-fetch)
13681 (uri (git-reference
13682 (url home-page)
13683 (commit commit)))
13684 (file-name (git-file-name name version))
13685 (sha256
13686 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
13687 (build-system asdf-build-system/sbcl)
13688 (inputs
13689 `(("dbi" ,sbcl-dbi)
13690 ("sxql" ,sbcl-sxql)
13691 ("cl-ppcre" ,sbcl-cl-ppcre)
13692 ("closer-mop" ,sbcl-closer-mop)
13693 ("dissect" ,sbcl-dissect)
13694 ("optima" ,sbcl-optima)
13695 ("cl-reexport" ,sbcl-cl-reexport)
13696 ("local-time" ,sbcl-local-time)
13697 ("uuid" ,sbcl-uuid)
13698 ("alexandria" ,sbcl-alexandria)))
13699 (synopsis "ORM for Common Lisp with migrations and relationships support")
13700 (description "Mito is yet another object relational mapper, and it aims
13701 to be a successor of Integral.
13702
13703 @itemize
13704 @item Support MySQL, PostgreSQL and SQLite3.
13705 @item Add id (serial/uuid primary key), created_at and updated_at by default
13706 like Ruby's ActiveRecord.
13707 @item Migrations.
13708 @item Database schema versioning.
13709 @end itemize\n")
13710 (license license:llgpl))))
13711
13712 (define sbcl-mito-migration
13713 (package
13714 (inherit sbcl-mito-core)
13715 (name "sbcl-mito-migration")
13716 (inputs
13717 `(("mito-core" ,sbcl-mito-core)
13718 ("dbi" ,sbcl-dbi)
13719 ("sxql" ,sbcl-sxql)
13720 ("closer-mop" ,sbcl-closer-mop)
13721 ("cl-reexport" ,sbcl-cl-reexport)
13722 ("uuid" ,sbcl-uuid)
13723 ("alexandria" ,sbcl-alexandria)
13724 ("esrap" ,sbcl-esrap)))))
13725
13726 (define sbcl-lack-middleware-mito
13727 (package
13728 (inherit sbcl-mito-core)
13729 (name "sbcl-lack-middleware-mito")
13730 (inputs
13731 `(("mito-core" ,sbcl-mito-core)
13732 ("dbi" ,sbcl-dbi)))
13733 (arguments
13734 '(#:phases
13735 (modify-phases %standard-phases
13736 (add-after 'unpack 'fix-build
13737 (lambda _
13738 (substitute* "lack-middleware-mito.asd"
13739 (("cl-dbi") "dbi"))
13740 #t)))))))
13741
13742 (define-public sbcl-mito
13743 (package
13744 (inherit sbcl-mito-core)
13745 (name "sbcl-mito")
13746 (inputs
13747 `(("mito-core" ,sbcl-mito-core)
13748 ("mito-migration" ,sbcl-mito-migration)
13749 ("lack-middleware-mito" ,sbcl-lack-middleware-mito)
13750 ("cl-reexport" ,sbcl-cl-reexport)))
13751 (native-inputs
13752 `(("prove" ,sbcl-prove)
13753 ("prove-asdf" ,sbcl-prove-asdf)
13754 ("dbd-mysql" ,sbcl-dbd-mysql)
13755 ("dbd-postgres" ,sbcl-dbd-postgres)
13756 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13757 (arguments
13758 '(#:phases
13759 (modify-phases %standard-phases
13760 (add-after 'unpack 'remove-non-functional-tests
13761 (lambda _
13762 (substitute* "mito-test.asd"
13763 (("\\(:test-file \"db/mysql\"\\)") "")
13764 (("\\(:test-file \"db/postgres\"\\)") "")
13765 (("\\(:test-file \"dao\"\\)") "")
13766 ;; TODO: migration/sqlite3 should work, re-enable once
13767 ;; upstream has fixed it:
13768 ;; https://github.com/fukamachi/mito/issues/70
13769 (("\\(:test-file \"migration/sqlite3\"\\)") "")
13770 (("\\(:test-file \"migration/mysql\"\\)") "")
13771 (("\\(:test-file \"migration/postgres\"\\)") "")
13772 (("\\(:test-file \"postgres-types\"\\)") "")
13773 (("\\(:test-file \"mixin\"\\)") ""))
13774 #t)))
13775 ;; TODO: While all enabled tests pass, the phase fails with:
13776 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
13777 #:tests? #f))))
13778
13779 (define-public cl-mito
13780 (sbcl-package->cl-source-package sbcl-mito))
13781
13782 (define-public sbcl-kebab
13783 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
13784 (revision "1"))
13785 (package
13786 (name "sbcl-kebab")
13787 (version (git-version "0.1" revision commit))
13788 (home-page "https://github.com/pocket7878/kebab")
13789 (source
13790 (origin
13791 (method git-fetch)
13792 (uri (git-reference
13793 (url home-page)
13794 (commit commit)))
13795 (file-name (git-file-name name version))
13796 (sha256
13797 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
13798 (build-system asdf-build-system/sbcl)
13799 (inputs
13800 `(("cl-ppcre" ,sbcl-cl-ppcre)
13801 ("alexandria" ,sbcl-alexandria)
13802 ("cl-interpol" ,sbcl-cl-interpol)
13803 ("split-sequence" ,sbcl-split-sequence)))
13804 (native-inputs
13805 `(("prove-asdf" ,sbcl-prove-asdf)
13806 ("prove" ,sbcl-prove)))
13807 (arguments
13808 ;; Tests passes but the phase fails with
13809 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
13810 `(#:tests? #f))
13811 (synopsis "Common Lisp case converter")
13812 (description "This Common Lisp library converts strings, symbols and
13813 keywords between any of the following typographical cases: PascalCase,
13814 camelCase, snake_case, kebab-case (lisp-case).")
13815 (license license:llgpl))))
13816
13817 (define-public cl-kebab
13818 (sbcl-package->cl-source-package sbcl-kebab))
13819
13820 (define-public ecl-kebab
13821 (sbcl-package->ecl-package sbcl-kebab))
13822
13823 (define-public sbcl-datafly
13824 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
13825 (revision "1"))
13826 (package
13827 (name "sbcl-datafly")
13828 (version (git-version "0.1" revision commit))
13829 (home-page "https://github.com/fukamachi/datafly")
13830 (source
13831 (origin
13832 (method git-fetch)
13833 (uri (git-reference
13834 (url home-page)
13835 (commit commit)))
13836 (file-name (git-file-name name version))
13837 (sha256
13838 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
13839 (build-system asdf-build-system/sbcl)
13840 (inputs
13841 `(("alexandria" ,sbcl-alexandria)
13842 ("iterate" ,sbcl-iterate)
13843 ("optima" ,sbcl-optima)
13844 ("trivial-types" ,sbcl-trivial-types)
13845 ("closer-mop" ,sbcl-closer-mop)
13846 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
13847 ("sxql" ,sbcl-sxql)
13848 ("dbi" ,sbcl-dbi)
13849 ("babel" ,sbcl-babel)
13850 ("local-time" ,sbcl-local-time)
13851 ("function-cache" ,sbcl-function-cache)
13852 ("jonathan" ,sbcl-jonathan)
13853 ("kebab" ,sbcl-kebab)
13854 ("log4cl" ,sbcl-log4cl)))
13855 (native-inputs
13856 `(("prove-asdf" ,sbcl-prove-asdf)
13857 ("prove" ,sbcl-prove)
13858 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13859 (arguments
13860 ;; TODO: Tests fail with
13861 ;; While evaluating the form starting at line 22, column 0
13862 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
13863 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
13864 ;; {10009F8083}>:
13865 ;; Error when binding parameter 1 to value NIL.
13866 ;; Code RANGE: column index out of range.
13867 `(#:tests? #f))
13868 (synopsis "Lightweight database library for Common Lisp")
13869 (description "Datafly is a lightweight database library for Common Lisp.")
13870 (license license:bsd-3))))
13871
13872 (define-public cl-datafly
13873 (sbcl-package->cl-source-package sbcl-datafly))
13874
13875 (define-public ecl-datafly
13876 (sbcl-package->ecl-package sbcl-datafly))
13877
13878 (define-public sbcl-do-urlencode
13879 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
13880 (revision "1"))
13881 (package
13882 (name "sbcl-do-urlencode")
13883 (version (git-version "0.0.0" revision commit))
13884 (home-page "https://github.com/drdo/do-urlencode")
13885 (source
13886 (origin
13887 (method git-fetch)
13888 (uri (git-reference
13889 (url home-page)
13890 (commit commit)))
13891 (file-name (git-file-name name version))
13892 (sha256
13893 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
13894 (build-system asdf-build-system/sbcl)
13895 (inputs
13896 `(("alexandria" ,sbcl-alexandria)
13897 ("babel" ,sbcl-babel)))
13898 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
13899 (description "This library provides trivial percent encoding and
13900 decoding functions for URLs.")
13901 (license license:isc))))
13902
13903 (define-public cl-do-urlencode
13904 (sbcl-package->cl-source-package sbcl-do-urlencode))
13905
13906 (define-public ecl-do-urlencode
13907 (sbcl-package->ecl-package sbcl-do-urlencode))
13908
13909 (define-public sbcl-cl-emb
13910 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
13911 (revision "1"))
13912 (package
13913 (name "sbcl-cl-emb")
13914 (version (git-version "0.4.3" revision commit))
13915 (home-page "https://common-lisp.net/project/cl-emb/")
13916 (source
13917 (origin
13918 (method git-fetch)
13919 (uri (git-reference
13920 (url "https://github.com/38a938c2/cl-emb")
13921 (commit commit)))
13922 (file-name (git-file-name name version))
13923 (sha256
13924 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
13925 (build-system asdf-build-system/sbcl)
13926 (inputs
13927 `(("cl-ppcre" ,sbcl-cl-ppcre)))
13928 (synopsis "Templating system for Common Lisp")
13929 (description "A mixture of features from eRuby and HTML::Template. You
13930 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
13931 that and not limited to a certain server or text format.")
13932 (license license:llgpl))))
13933
13934 (define-public cl-emb
13935 (sbcl-package->cl-source-package sbcl-cl-emb))
13936
13937 (define-public ecl-cl-emb
13938 (sbcl-package->ecl-package sbcl-cl-emb))
13939
13940 (define-public sbcl-cl-project
13941 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
13942 (revision "1"))
13943 (package
13944 (name "sbcl-cl-project")
13945 (version (git-version "0.3.1" revision commit))
13946 (home-page "https://github.com/fukamachi/cl-project")
13947 (source
13948 (origin
13949 (method git-fetch)
13950 (uri (git-reference
13951 (url home-page)
13952 (commit commit)))
13953 (file-name (git-file-name name version))
13954 (sha256
13955 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
13956 (build-system asdf-build-system/sbcl)
13957 (inputs
13958 `(("cl-emb" ,sbcl-cl-emb)
13959 ("cl-ppcre" ,sbcl-cl-ppcre)
13960 ("local-time" ,sbcl-local-time)
13961 ("prove" ,sbcl-prove)))
13962 (arguments
13963 ;; Tests depend on caveman, which in turns depends on cl-project.
13964 '(#:tests? #f))
13965 (synopsis "Generate a skeleton for modern Common Lisp projects")
13966 (description "This library provides a modern project skeleton generator.
13967 In contract with other generators, CL-Project generates one package per file
13968 and encourages unit testing by generating a system for unit testing, so you
13969 can begin writing unit tests as soon as the project is generated.")
13970 (license license:llgpl))))
13971
13972 (define-public cl-project
13973 (sbcl-package->cl-source-package sbcl-cl-project))
13974
13975 (define-public ecl-cl-project
13976 (sbcl-package->ecl-package sbcl-cl-project))
13977
13978 (define-public sbcl-caveman
13979 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
13980 (revision "1"))
13981 (package
13982 (name "sbcl-caveman")
13983 (version (git-version "2.4.0" revision commit))
13984 (home-page "http://8arrow.org/caveman/")
13985 (source
13986 (origin
13987 (method git-fetch)
13988 (uri (git-reference
13989 (url "https://github.com/fukamachi/caveman/")
13990 (commit commit)))
13991 (file-name (git-file-name name version))
13992 (sha256
13993 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
13994 (build-system asdf-build-system/sbcl)
13995 (inputs
13996 `(("ningle" ,cl-ningle)
13997 ("lack-request" ,sbcl-lack-request)
13998 ("lack-response" ,sbcl-lack-response)
13999 ("cl-project" ,sbcl-cl-project)
14000 ("dbi" ,sbcl-dbi)
14001 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
14002 ("myway" ,sbcl-myway)
14003 ("quri" ,sbcl-quri)))
14004 (native-inputs
14005 `(("usocket" ,sbcl-usocket)
14006 ("dexador" ,sbcl-dexador)))
14007 (arguments
14008 `(#:asd-file "caveman2.asd"
14009 #:asd-system-name "caveman2"
14010 #:phases
14011 (modify-phases %standard-phases
14012 (add-after 'unpack 'remove-v1
14013 (lambda _
14014 (delete-file-recursively "v1")
14015 (for-each delete-file
14016 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
14017 ;; TODO: Tests fail with:
14018 ;; writing /gnu/store/j4l1k28yq47qbg074b4yf1b7wnccg8j1-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
14019 ;; While evaluating the form starting at line 38, column 0
14020 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
14021 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
14022 ;; {10009F8083}>:
14023 ;; Component "myapp573" not found
14024 #:tests? #f))
14025 (synopsis "Lightweight web application framework in Common Lisp")
14026 (description "Caveman is intended to be a collection of common parts for
14027 web applications. Caveman2 has three design goals:
14028
14029 @itemize
14030 @item Be extensible.
14031 @item Be practical.
14032 @item Don't force anything.
14033 @end itemize\n")
14034 (license license:llgpl))))
14035
14036 (define-public cl-caveman
14037 (package
14038 (inherit
14039 (sbcl-package->cl-source-package sbcl-caveman))
14040 (propagated-inputs
14041 `(("ningle" ,cl-ningle)))))
14042
14043 (define-public ecl-caveman
14044 (sbcl-package->ecl-package sbcl-caveman))