cef1e9e5b0b51bf3c81c9aeea0697fdff4d787e1
[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.51")
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 "1zxkzbxsfb83bb87rhp4h75cc1h5f6ziyfa5lvaa30zgix9l2d7v"))
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 "dccf9d25de4e9a69f716f8ed9578e58963ead967"))
3139 (package
3140 (name "sbcl-cl-webkit")
3141 (version (git-version "2.4" "5" 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 "0cn43ks2mgqkfnalq1p997z6q5pr1sfvz99gvvr5fp7r1acn7v5w"))))
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 "afcd3743b842f5a81fc86dba60f9db59970f49c5"))
3476 (package
3477 (name "sbcl-trivial-clipboard")
3478 (version (git-version "0.0.0.0" "3" 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 "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr"))))
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 sbcl-clack-socket
5024 (package
5025 (inherit sbcl-clack)
5026 (name "sbcl-clack-socket")
5027 (version (git-version "0.1" clack-revision clack-commit))))
5028
5029 (define-public sbcl-clack-handler-hunchentoot
5030 (package
5031 (inherit sbcl-clack)
5032 (name "sbcl-clack-handler-hunchentoot")
5033 (version (git-version "0.4.0" clack-revision clack-commit))
5034 (inputs
5035 `(("hunchentoot" ,sbcl-hunchentoot)
5036 ("clack-socket" ,sbcl-clack-socket)
5037 ("flexi-streams" ,sbcl-flexi-streams)
5038 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5039 ("split-sequence" ,sbcl-split-sequence)
5040 ("alexandria" ,sbcl-alexandria)))
5041 (synopsis "Web Application Environment for Common Lisp (Hunchentoot handler)")))
5042
5043 (define-public sbcl-log4cl
5044 (let ((commit "611e094458504b938d49de904eab141285328c7c")
5045 (revision "1"))
5046 (package
5047 (name "sbcl-log4cl")
5048 (build-system asdf-build-system/sbcl)
5049 (version "1.1.2")
5050 (source
5051 (origin
5052 (method git-fetch)
5053 (uri (git-reference
5054 (url "https://github.com/sharplispers/log4cl")
5055 (commit commit)))
5056 (file-name (git-file-name name version))
5057 (sha256
5058 (base32
5059 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
5060 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
5061 (arguments
5062 `(#:tests? #f))
5063 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
5064 (synopsis "Common Lisp logging framework, modeled after Log4J")
5065 (home-page "https://github.com/7max/log4cl")
5066 (description "This is a Common Lisp logging framework that can log at
5067 various levels and mix text with expressions.")
5068 (license license:asl2.0))))
5069
5070 (define-public cl-log4cl
5071 (sbcl-package->cl-source-package sbcl-log4cl))
5072
5073 (define-public ecl-log4cl
5074 (sbcl-package->ecl-package sbcl-log4cl))
5075
5076 (define-public sbcl-find-port
5077 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
5078 (revision "1"))
5079 (package
5080 (name "sbcl-find-port")
5081 (build-system asdf-build-system/sbcl)
5082 (version "0.1")
5083 (home-page "https://github.com/eudoxia0/find-port")
5084 (source
5085 (origin
5086 (method git-fetch)
5087 (uri (git-reference
5088 (url home-page)
5089 (commit commit)))
5090 (file-name (git-file-name name version))
5091 (sha256
5092 (base32
5093 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5094 (native-inputs
5095 `(("fiveam" ,sbcl-fiveam)))
5096 (inputs
5097 `(("sbcl-usocket" ,sbcl-usocket)))
5098 (synopsis "Find open ports programmatically in Common Lisp")
5099 (description "This is a small Common Lisp library that finds an open
5100 port within a range.")
5101 (license license:expat))))
5102
5103 (define-public cl-find-port
5104 (sbcl-package->cl-source-package sbcl-find-port))
5105
5106 (define-public ecl-find-port
5107 (sbcl-package->ecl-package sbcl-find-port))
5108
5109 (define-public sbcl-clunit
5110 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5111 (revision "1"))
5112 (package
5113 (name "sbcl-clunit")
5114 (version (git-version "0.2.3" revision commit))
5115 (source
5116 (origin
5117 (method git-fetch)
5118 (uri (git-reference
5119 (url "https://github.com/tgutu/clunit")
5120 (commit commit)))
5121 (file-name (git-file-name name version))
5122 (sha256
5123 (base32
5124 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5125 (build-system asdf-build-system/sbcl)
5126 (synopsis "CLUnit is a Common Lisp unit testing framework")
5127 (description
5128 "CLUnit is a Common Lisp unit testing framework. It is designed
5129 to be easy to use so that you can quickly start testing. CLUnit
5130 provides a rich set of features aimed at improving your unit testing
5131 experience.")
5132 (home-page "https://tgutu.github.io/clunit/")
5133 ;; MIT License
5134 (license license:expat))))
5135
5136 (define-public cl-clunit
5137 (sbcl-package->cl-source-package sbcl-clunit))
5138
5139 (define-public ecl-clunit
5140 (sbcl-package->ecl-package sbcl-clunit))
5141
5142 (define-public sbcl-py4cl
5143 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5144 (revision "1"))
5145 (package
5146 (name "sbcl-py4cl")
5147 (version (git-version "0.0.0" revision commit))
5148 (source
5149 (origin
5150 (method git-fetch)
5151 (uri (git-reference
5152 (url "https://github.com/bendudson/py4cl")
5153 (commit commit)))
5154 (file-name (git-file-name name version))
5155 (sha256
5156 (base32
5157 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5158 (modules '((guix build utils)))))
5159 (build-system asdf-build-system/sbcl)
5160 (native-inputs
5161 `(("sbcl-clunit" ,sbcl-clunit)))
5162 (inputs
5163 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5164 (propagated-inputs
5165 ;; This package doesn't do anything without python available
5166 `(("python" ,python)
5167 ;; For multi-dimensional array support
5168 ("python-numpy" ,python-numpy)))
5169 (arguments
5170 '(#:phases
5171 (modify-phases %standard-phases
5172 (add-after 'unpack 'replace-*base-directory*-var
5173 (lambda* (#:key outputs #:allow-other-keys)
5174 ;; In the ASD, the author makes an attempt to
5175 ;; programatically determine the location of the
5176 ;; source-code so lisp can call into "py4cl.py". We can
5177 ;; hard-code this since we know where this file will
5178 ;; reside.
5179 (substitute* "src/callpython.lisp"
5180 (("py4cl/config:\\*base-directory\\*")
5181 (string-append
5182 "\""
5183 (assoc-ref outputs "out")
5184 "/share/common-lisp/sbcl-source/py4cl/"
5185 "\""))))))))
5186 (synopsis "Call python from Common Lisp")
5187 (description
5188 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5189 Lisp to interact with Python code. It uses streams to communicate with a
5190 separate python process, the approach taken by cl4py. This is different to
5191 the CFFI approach used by burgled-batteries, but has the same goal.")
5192 (home-page "https://github.com/bendudson/py4cl")
5193 ;; MIT License
5194 (license license:expat))))
5195
5196 (define-public cl-py4cl
5197 (sbcl-package->cl-source-package sbcl-py4cl))
5198
5199 (define-public ecl-py4cl
5200 (sbcl-package->ecl-package sbcl-py4cl))
5201
5202 (define-public sbcl-parse-declarations
5203 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5204 (revision "1"))
5205 (package
5206 (name "sbcl-parse-declarations")
5207 (version (git-version "1.0.0" revision commit))
5208 (source
5209 (origin
5210 (method git-fetch)
5211 (uri (git-reference
5212 (url (string-append
5213 "https://gitlab.common-lisp.net/parse-declarations/"
5214 "parse-declarations.git"))
5215 (commit commit)))
5216 (file-name (git-file-name name version))
5217 (sha256
5218 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5219 (build-system asdf-build-system/sbcl)
5220 (arguments
5221 `(#:asd-file "parse-declarations-1.0.asd"
5222 #:asd-system-name "parse-declarations-1.0"))
5223 (home-page "https://common-lisp.net/project/parse-declarations/")
5224 (synopsis "Parse, filter, and build declarations")
5225 (description
5226 "Parse-Declarations is a Common Lisp library to help writing
5227 macros which establish bindings. To be semantically correct, such
5228 macros must take user declarations into account, as these may affect
5229 the bindings they establish. Yet the ANSI standard of Common Lisp does
5230 not provide any operators to work with declarations in a convenient,
5231 high-level way. This library provides such operators.")
5232 ;; MIT License
5233 (license license:expat))))
5234
5235 (define-public cl-parse-declarations
5236 (sbcl-package->cl-source-package sbcl-parse-declarations))
5237
5238 (define-public ecl-parse-declarations
5239 (sbcl-package->ecl-package sbcl-parse-declarations))
5240
5241 (define-public sbcl-cl-quickcheck
5242 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5243 (revision "1"))
5244 (package
5245 (name "sbcl-cl-quickcheck")
5246 (version (git-version "0.0.4" revision commit))
5247 (source
5248 (origin
5249 (method git-fetch)
5250 (uri (git-reference
5251 (url "https://github.com/mcandre/cl-quickcheck")
5252 (commit commit)))
5253 (file-name (git-file-name name version))
5254 (sha256
5255 (base32
5256 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5257 (build-system asdf-build-system/sbcl)
5258 (synopsis
5259 "Common Lisp port of the QuickCheck unit test framework")
5260 (description
5261 "Common Lisp port of the QuickCheck unit test framework")
5262 (home-page "https://github.com/mcandre/cl-quickcheck")
5263 ;; MIT
5264 (license license:expat))))
5265
5266 (define-public cl-cl-quickcheck
5267 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5268
5269 (define-public ecl-cl-quickcheck
5270 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5271
5272 (define-public sbcl-burgled-batteries3
5273 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5274 (revision "2"))
5275 (package
5276 (name "sbcl-burgled-batteries3")
5277 (version (git-version "0.0.0" revision commit))
5278 (source
5279 (origin
5280 (method git-fetch)
5281 (uri (git-reference
5282 (url "https://github.com/snmsts/burgled-batteries3")
5283 (commit commit)))
5284 (file-name (git-file-name name version))
5285 (sha256
5286 (base32
5287 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5288 (build-system asdf-build-system/sbcl)
5289 (arguments
5290 `(#:tests? #f
5291 #:modules (((guix build python-build-system) #:select (python-version))
5292 ,@%asdf-build-system-modules)
5293 #:imported-modules ((guix build python-build-system)
5294 ,@%asdf-build-system-modules)
5295 #:phases
5296 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5297 (add-after 'unpack 'set-*cpython-include-dir*-var
5298 (lambda* (#:key inputs #:allow-other-keys)
5299 (let ((python (assoc-ref inputs "python")))
5300 (setenv "BB_PYTHON3_INCLUDE_DIR"
5301 (string-append python "/include/python"
5302 (python-version python)))
5303 (setenv "BB_PYTHON3_DYLIB"
5304 (string-append python "/lib/libpython3.so"))
5305 #t)))
5306 (add-after 'unpack 'adjust-for-python-3.8
5307 (lambda _
5308 ;; This method is no longer part of the public API.
5309 (substitute* "ffi-interface.lisp"
5310 ((".*PyEval_ReInitThreads.*")
5311 ""))
5312 #t)))))
5313 (native-inputs
5314 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5315 ("sbcl-lift" ,sbcl-lift)
5316 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5317 (inputs
5318 `(("python" ,python)
5319 ("sbcl-cffi" ,sbcl-cffi)
5320 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5321 ("sbcl-alexandria" , sbcl-alexandria)
5322 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5323 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5324 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5325 (description
5326 "This package provides a shim between Python3 (specifically, the
5327 CPython implementation of Python) and Common Lisp.")
5328 (home-page "https://github.com/snmsts/burgled-batteries3")
5329 (license license:expat))))
5330
5331 (define-public cl-burgled-batteries3
5332 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5333
5334 (define-public ecl-burgled-batteries3
5335 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5336
5337 (define-public sbcl-metabang-bind
5338 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5339 (revision "1"))
5340 (package
5341 (name "sbcl-metabang-bind")
5342 (version (git-version "0.8.0" revision commit))
5343 (source
5344 (origin
5345 (method git-fetch)
5346 (uri (git-reference
5347 (url "https://github.com/gwkkwg/metabang-bind")
5348 (commit commit)))
5349 (file-name (git-file-name name version))
5350 (sha256
5351 (base32
5352 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5353 (build-system asdf-build-system/sbcl)
5354 (native-inputs
5355 `(("sbcl-lift" ,sbcl-lift)))
5356 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5357 (description
5358 "Bind extends the idea of of let and destructing to provide a uniform
5359 syntax for all your accessor needs. It combines @code{let},
5360 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5361 editing, property or association-lists, and @code{multiple-value-bind} and a
5362 whole lot more into a single form.")
5363 (home-page "https://common-lisp.net/project/metabang-bind/")
5364 ;; MIT License
5365 (license license:expat))))
5366
5367 (define-public cl-metabang-bind
5368 (sbcl-package->cl-source-package sbcl-metabang-bind))
5369
5370 (define-public ecl-metabang-bind
5371 (sbcl-package->ecl-package sbcl-metabang-bind))
5372
5373 (define-public sbcl-fare-utils
5374 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5375 (revision "1"))
5376 (package
5377 (name "sbcl-fare-utils")
5378 (version (git-version "1.0.0.5" revision commit))
5379 (source
5380 (origin
5381 (method git-fetch)
5382 (uri
5383 (git-reference
5384 (url
5385 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5386 (commit commit)))
5387 (file-name (git-file-name name version))
5388 (sha256
5389 (base32
5390 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5391 (build-system asdf-build-system/sbcl)
5392 (arguments
5393 `(#:test-asd-file "test/fare-utils-test.asd"))
5394 (native-inputs
5395 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5396 (synopsis "Collection of utilities and data structures")
5397 (description
5398 "fare-utils is a small collection of utilities. It contains a lot of
5399 basic everyday functions and macros.")
5400 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5401 ;; MIT License
5402 (license license:expat))))
5403
5404 (define-public cl-fare-utils
5405 (sbcl-package->cl-source-package sbcl-fare-utils))
5406
5407 (define-public ecl-fare-utils
5408 (sbcl-package->ecl-package sbcl-fare-utils))
5409
5410 (define-public sbcl-trivial-utf-8
5411 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5412 (revision "1"))
5413 (package
5414 (name "sbcl-trivial-utf-8")
5415 (version (git-version "0.0.0" revision commit))
5416 (source
5417 (origin
5418 (method git-fetch)
5419 (uri
5420 (git-reference
5421 (url (string-append "https://gitlab.common-lisp.net/"
5422 "trivial-utf-8/trivial-utf-8.git"))
5423 (commit commit)))
5424 (file-name (git-file-name name version))
5425 (sha256
5426 (base32
5427 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5428 (arguments
5429 ;; Guix incorrectly assumes the "8" is part of the version
5430 ;; number and lobs it off.
5431 `(#:asd-file "trivial-utf-8.asd"
5432 #:asd-system-name "trivial-utf-8"))
5433 (build-system asdf-build-system/sbcl)
5434 (synopsis "UTF-8 input/output library")
5435 (description
5436 "The Babel library solves a similar problem while understanding more
5437 encodings. Trivial UTF-8 was written before Babel existed, but for new
5438 projects you might be better off going with Babel. The one plus that Trivial
5439 UTF-8 has is that it doesn't depend on any other libraries.")
5440 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5441 (license license:bsd-3))))
5442
5443 (define-public cl-trivial-utf-8
5444 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5445
5446 (define-public ecl-trivial-utf-8
5447 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5448
5449 (define-public sbcl-idna
5450 (package
5451 (name "sbcl-idna")
5452 (build-system asdf-build-system/sbcl)
5453 (version "0.2.2")
5454 (home-page "https://github.com/antifuchs/idna")
5455 (source
5456 (origin
5457 (method git-fetch)
5458 (uri (git-reference
5459 (url home-page)
5460 (commit version)))
5461 (file-name (git-file-name name version))
5462 (sha256
5463 (base32
5464 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5465 (inputs
5466 `(("split-sequence" ,sbcl-split-sequence)))
5467 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5468 (description "This Common Lisp library provides string encoding and
5469 decoding routines for IDNA, the International Domain Names in Applications.")
5470 (license license:expat)))
5471
5472 (define-public cl-idna
5473 (sbcl-package->cl-source-package sbcl-idna))
5474
5475 (define-public ecl-idna
5476 (sbcl-package->ecl-package sbcl-idna))
5477
5478 (define-public sbcl-swap-bytes
5479 (package
5480 (name "sbcl-swap-bytes")
5481 (build-system asdf-build-system/sbcl)
5482 (version "1.2")
5483 (home-page "https://github.com/sionescu/swap-bytes")
5484 (source
5485 (origin
5486 (method git-fetch)
5487 (uri (git-reference
5488 (url home-page)
5489 (commit (string-append "v" version))))
5490 (file-name (git-file-name name version))
5491 (sha256
5492 (base32
5493 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5494 (inputs
5495 `(("trivial-features" ,sbcl-trivial-features)))
5496 (native-inputs
5497 `(("fiveam" ,sbcl-fiveam)))
5498 (synopsis "Efficient endianness conversion for Common Lisp")
5499 (description "This Common Lisp library provides optimized byte-swapping
5500 primitives. The library can change endianness of unsigned integers of length
5501 1/2/4/8. Very useful in implementing various network protocols and file
5502 formats.")
5503 (license license:expat)))
5504
5505 (define-public cl-swap-bytes
5506 (sbcl-package->cl-source-package sbcl-swap-bytes))
5507
5508 (define-public ecl-swap-bytes
5509 (sbcl-package->ecl-package sbcl-swap-bytes))
5510
5511 (define-public sbcl-iolib.asdf
5512 ;; Latest release is from June 2017.
5513 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5514 (revision "2"))
5515 (package
5516 (name "sbcl-iolib.asdf")
5517 (build-system asdf-build-system/sbcl)
5518 (version (git-version "0.8.3" revision commit))
5519 (home-page "https://github.com/sionescu/iolib")
5520 (source
5521 (origin
5522 (method git-fetch)
5523 (uri (git-reference
5524 (url home-page)
5525 (commit commit)))
5526 (file-name (git-file-name name version))
5527 (sha256
5528 (base32
5529 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5530 (inputs
5531 `(("alexandria" ,sbcl-alexandria)))
5532 (arguments
5533 '(#:asd-file "iolib.asdf.asd"))
5534 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5535 (description "IOlib is to be a better and more modern I/O library than
5536 the standard Common Lisp library. It contains a socket library, a DNS
5537 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5538 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5539 (license license:expat))))
5540
5541 (define-public sbcl-iolib.conf
5542 (package
5543 (inherit sbcl-iolib.asdf)
5544 (name "sbcl-iolib.conf")
5545 (inputs
5546 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5547 (arguments
5548 '(#:asd-file "iolib.conf.asd"))
5549 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5550
5551 (define-public sbcl-iolib.common-lisp
5552 (package
5553 (inherit sbcl-iolib.asdf)
5554 (name "sbcl-iolib.common-lisp")
5555 (inputs
5556 `(("iolib.asdf" ,sbcl-iolib.asdf)
5557 ("iolib.conf" ,sbcl-iolib.conf)))
5558 (arguments
5559 '(#:asd-file "iolib.common-lisp.asd"))
5560 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5561
5562 (define-public sbcl-iolib.base
5563 (package
5564 (inherit sbcl-iolib.asdf)
5565 (name "sbcl-iolib.base")
5566 (inputs
5567 `(("iolib.asdf" ,sbcl-iolib.asdf)
5568 ("iolib.conf" ,sbcl-iolib.conf)
5569 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5570 ("split-sequence" ,sbcl-split-sequence)))
5571 (arguments
5572 '(#:asd-file "iolib.base.asd"))
5573 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5574
5575 (define-public sbcl-iolib.grovel
5576 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
5577
5578 (define sbcl-iolib+syscalls
5579 (package
5580 (inherit sbcl-iolib.asdf)
5581 (name "sbcl-iolib+syscalls")
5582 (inputs
5583 `(("iolib.asdf" ,sbcl-iolib.asdf)
5584 ("iolib.conf" ,sbcl-iolib.conf)
5585 ("cffi-grovel" ,sbcl-cffi-grovel)
5586 ("iolib.base" ,sbcl-iolib.base)
5587 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5588 ("idna" ,sbcl-idna)
5589 ("swap-bytes" ,sbcl-swap-bytes)
5590 ("libfixposix" ,libfixposix)
5591 ("cffi" ,sbcl-cffi)))
5592 (native-inputs
5593 `(("fiveam" ,sbcl-fiveam)))
5594 (arguments
5595 '(#:asd-file "iolib.asd"
5596 #:asd-system-name "iolib/syscalls"
5597 #:phases
5598 (modify-phases %standard-phases
5599 (add-after 'unpack 'fix-paths
5600 (lambda* (#:key inputs #:allow-other-keys)
5601 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5602 (("\\(:default \"libfixposix\"\\)")
5603 (string-append
5604 "(:default \""
5605 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5606 ;; Socket tests need Internet access, disable them.
5607 (substitute* "iolib.asd"
5608 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5609 "")))))))
5610 (synopsis "Common Lisp I/O library")))
5611
5612 (define sbcl-iolib+multiplex
5613 (package
5614 (inherit sbcl-iolib+syscalls)
5615 (name "sbcl-iolib+multiplex")
5616 (inputs
5617 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5618 ,@(package-inputs sbcl-iolib+syscalls)))
5619 (arguments
5620 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5621 ((#:asd-system-name _) "iolib/multiplex")))))
5622
5623 (define sbcl-iolib+streams
5624 (package
5625 (inherit sbcl-iolib+syscalls)
5626 (name "sbcl-iolib+streams")
5627 (inputs
5628 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5629 ,@(package-inputs sbcl-iolib+syscalls)))
5630 (arguments
5631 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5632 ((#:asd-system-name _) "iolib/streams")))))
5633
5634 (define sbcl-iolib+sockets
5635 (package
5636 (inherit sbcl-iolib+syscalls)
5637 (name "sbcl-iolib+sockets")
5638 (inputs
5639 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5640 ("iolib+streams" ,sbcl-iolib+streams)
5641 ,@(package-inputs sbcl-iolib+syscalls)))
5642 (arguments
5643 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5644 ((#:asd-system-name _) "iolib/sockets")))))
5645
5646 (define-public sbcl-iolib
5647 (package
5648 (inherit sbcl-iolib+syscalls)
5649 (name "sbcl-iolib")
5650 (inputs
5651 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5652 ("iolib+streams" ,sbcl-iolib+streams)
5653 ("iolib+sockets" ,sbcl-iolib+sockets)
5654 ,@(package-inputs sbcl-iolib+syscalls)))
5655 (arguments
5656 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5657 ((#:asd-system-name _) "iolib")))))
5658
5659 (define-public cl-iolib
5660 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5661 (package
5662 (inherit parent)
5663 (propagated-inputs
5664 ;; Need header to compile.
5665 `(("libfixposix" ,libfixposix)
5666 ,@(package-propagated-inputs parent))))))
5667
5668 (define-public sbcl-ieee-floats
5669 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5670 (revision "1"))
5671 (package
5672 (name "sbcl-ieee-floats")
5673 (build-system asdf-build-system/sbcl)
5674 (version (git-version "20170924" revision commit))
5675 (home-page "https://github.com/marijnh/ieee-floats/")
5676 (source
5677 (origin
5678 (method git-fetch)
5679 (uri (git-reference
5680 (url home-page)
5681 (commit commit)))
5682 (file-name (git-file-name name version))
5683 (sha256
5684 (base32
5685 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5686 (native-inputs
5687 `(("fiveam" ,sbcl-fiveam)))
5688 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5689 (description "This is a Common Lisp library that converts
5690 floating point values to IEEE 754 binary representation.")
5691 (license license:bsd-3))))
5692
5693 (define-public cl-ieee-floats
5694 (sbcl-package->cl-source-package sbcl-ieee-floats))
5695
5696 (define sbcl-closure-common
5697 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5698 (revision "1"))
5699 (package
5700 (name "sbcl-closure-common")
5701 (build-system asdf-build-system/sbcl)
5702 (version (git-version "20101006" revision commit))
5703 (home-page "https://common-lisp.net/project/cxml/")
5704 (source
5705 (origin
5706 (method git-fetch)
5707 (uri (git-reference
5708 (url "https://github.com/sharplispers/closure-common")
5709 (commit commit)))
5710 (file-name (git-file-name name version))
5711 (sha256
5712 (base32
5713 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5714 (inputs
5715 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5716 ("babel" ,sbcl-babel)))
5717 (synopsis "Support Common Lisp library for CXML")
5718 (description "Closure-common is an internal helper library. The name
5719 Closure is a reference to the web browser it was originally written for.")
5720 ;; TODO: License?
5721 (license #f))))
5722
5723 (define-public sbcl-cxml+xml
5724 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5725 (revision "1"))
5726 (package
5727 (name "sbcl-cxml+xml")
5728 (build-system asdf-build-system/sbcl)
5729 (version (git-version "0.0.0" revision commit))
5730 (home-page "https://common-lisp.net/project/cxml/")
5731 (source
5732 (origin
5733 (method git-fetch)
5734 (uri (git-reference
5735 (url "https://github.com/sharplispers/cxml")
5736 (commit commit)))
5737 (file-name (git-file-name name version))
5738 (sha256
5739 (base32
5740 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5741 (inputs
5742 `(("closure-common" ,sbcl-closure-common)
5743 ("puri" ,sbcl-puri)
5744 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5745 (arguments
5746 `(#:asd-file "cxml.asd"
5747 #:asd-system-name "cxml/xml"))
5748 (synopsis "Common Lisp XML parser")
5749 (description "CXML implements a namespace-aware, validating XML 1.0
5750 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5751 offered, one SAX-like, the other similar to StAX.")
5752 (license license:llgpl))))
5753
5754 (define sbcl-cxml+dom
5755 (package
5756 (inherit sbcl-cxml+xml)
5757 (name "sbcl-cxml+dom")
5758 (inputs
5759 `(("closure-common" ,sbcl-closure-common)
5760 ("puri" ,sbcl-puri)
5761 ("cxml+xml" ,sbcl-cxml+xml)))
5762 (arguments
5763 `(#:asd-file "cxml.asd"
5764 #:asd-system-name "cxml/dom"))))
5765
5766 (define sbcl-cxml+klacks
5767 (package
5768 (inherit sbcl-cxml+xml)
5769 (name "sbcl-cxml+klacks")
5770 (inputs
5771 `(("closure-common" ,sbcl-closure-common)
5772 ("puri" ,sbcl-puri)
5773 ("cxml+xml" ,sbcl-cxml+xml)))
5774 (arguments
5775 `(#:asd-file "cxml.asd"
5776 #:asd-system-name "cxml/klacks"))))
5777
5778 (define sbcl-cxml+test
5779 (package
5780 (inherit sbcl-cxml+xml)
5781 (name "sbcl-cxml+test")
5782 (inputs
5783 `(("closure-common" ,sbcl-closure-common)
5784 ("puri" ,sbcl-puri)
5785 ("cxml+xml" ,sbcl-cxml+xml)))
5786 (arguments
5787 `(#:asd-file "cxml.asd"
5788 #:asd-system-name "cxml/test"))))
5789
5790 (define-public sbcl-cxml
5791 (package
5792 (inherit sbcl-cxml+xml)
5793 (name "sbcl-cxml")
5794 (inputs
5795 `(("closure-common" ,sbcl-closure-common)
5796 ("puri" ,sbcl-puri)
5797 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5798 ("cxml+dom" ,sbcl-cxml+dom)
5799 ("cxml+klacks" ,sbcl-cxml+klacks)
5800 ("cxml+test" ,sbcl-cxml+test)))
5801 (arguments
5802 `(#:asd-file "cxml.asd"
5803 #:asd-system-name "cxml"
5804 #:phases
5805 (modify-phases %standard-phases
5806 (add-after 'build 'install-dtd
5807 (lambda* (#:key outputs #:allow-other-keys)
5808 (install-file "catalog.dtd"
5809 (string-append
5810 (assoc-ref outputs "out")
5811 "/lib/" (%lisp-type))))))))))
5812
5813 (define-public cl-cxml
5814 (sbcl-package->cl-source-package sbcl-cxml))
5815
5816 (define-public sbcl-cl-reexport
5817 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5818 (revision "1"))
5819 (package
5820 (name "sbcl-cl-reexport")
5821 (build-system asdf-build-system/sbcl)
5822 (version (git-version "0.1" revision commit))
5823 (home-page "https://github.com/takagi/cl-reexport")
5824 (source
5825 (origin
5826 (method git-fetch)
5827 (uri (git-reference
5828 (url home-page)
5829 (commit commit)))
5830 (file-name (git-file-name name version))
5831 (sha256
5832 (base32
5833 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5834 (inputs
5835 `(("alexandria" ,sbcl-alexandria)))
5836 (arguments
5837 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5838 `(#:tests? #f))
5839 (synopsis "HTTP cookie manager for Common Lisp")
5840 (description "cl-cookie is a Common Lisp library featuring parsing of
5841 cookie headers, cookie creation, cookie jar creation and more.")
5842 (license license:llgpl))))
5843
5844 (define-public cl-reexport
5845 (sbcl-package->cl-source-package sbcl-cl-reexport))
5846
5847 (define-public sbcl-cl-cookie
5848 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5849 (revision "1"))
5850 (package
5851 (name "sbcl-cl-cookie")
5852 (build-system asdf-build-system/sbcl)
5853 (version (git-version "0.9.10" revision commit))
5854 (home-page "https://github.com/fukamachi/cl-cookie")
5855 (source
5856 (origin
5857 (method git-fetch)
5858 (uri (git-reference
5859 (url home-page)
5860 (commit commit)))
5861 (file-name (git-file-name name version))
5862 (sha256
5863 (base32
5864 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5865 (inputs
5866 `(("proc-parse" ,sbcl-proc-parse)
5867 ("alexandria" ,sbcl-alexandria)
5868 ("quri" ,sbcl-quri)
5869 ("cl-ppcre" ,sbcl-cl-ppcre)
5870 ("local-time" ,sbcl-local-time)))
5871 (native-inputs
5872 `(("prove-asdf" ,sbcl-prove-asdf)
5873 ("prove" ,sbcl-prove)))
5874 (arguments
5875 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5876 `(#:tests? #f))
5877 (synopsis "HTTP cookie manager for Common Lisp")
5878 (description "cl-cookie is a Common Lisp library featuring parsing of
5879 cookie headers, cookie creation, cookie jar creation and more.")
5880 (license license:bsd-2))))
5881
5882 (define-public cl-cookie
5883 (sbcl-package->cl-source-package sbcl-cl-cookie))
5884
5885 (define-public sbcl-dexador
5886 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5887 (revision "1"))
5888 (package
5889 (name "sbcl-dexador")
5890 (build-system asdf-build-system/sbcl)
5891 (version "0.9.14" )
5892 (home-page "https://github.com/fukamachi/dexador")
5893 (source
5894 (origin
5895 (method git-fetch)
5896 (uri (git-reference
5897 (url home-page)
5898 (commit commit)))
5899 (file-name (git-file-name name version))
5900 (sha256
5901 (base32
5902 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5903 (inputs
5904 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5905 ("babel" ,sbcl-babel)
5906 ("usocket" ,sbcl-usocket)
5907 ("fast-http" ,sbcl-fast-http)
5908 ("quri" ,sbcl-quri)
5909 ("fast-io" ,sbcl-fast-io)
5910 ("chunga" ,sbcl-chunga)
5911 ("cl-ppcre" ,sbcl-cl-ppcre)
5912 ("cl-cookie" ,sbcl-cl-cookie)
5913 ("trivial-mimes" ,sbcl-trivial-mimes)
5914 ("chipz" ,sbcl-chipz)
5915 ("cl-base64" ,sbcl-cl-base64)
5916 ("cl-reexport" ,sbcl-cl-reexport)
5917 ("cl+ssl" ,sbcl-cl+ssl)
5918 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5919 ("alexandria" ,sbcl-alexandria)))
5920 (native-inputs
5921 `(("prove" ,sbcl-prove)
5922 ("prove-asdf" ,sbcl-prove-asdf)
5923 ("lack-request" ,sbcl-lack-request)
5924 ("clack" ,sbcl-clack)
5925 ("babel" ,sbcl-babel)
5926 ("alexandria" ,sbcl-alexandria)
5927 ("cl-ppcre" ,sbcl-cl-ppcre)
5928 ("local-time" ,sbcl-local-time)
5929 ("trivial-features" ,sbcl-trivial-features)))
5930 (arguments
5931 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5932 `(#:tests? #f
5933 #:phases
5934 (modify-phases %standard-phases
5935 (add-after 'unpack 'fix-permissions
5936 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5937 (synopsis "Yet another HTTP client for Common Lisp")
5938 (description "Dexador is yet another HTTP client for Common Lisp with
5939 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5940 (license license:expat))))
5941
5942 (define-public cl-dexador
5943 (package
5944 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5945 (arguments
5946 `(#:phases
5947 ;; asdf-build-system/source has its own phases and does not inherit
5948 ;; from asdf-build-system/sbcl phases.
5949 (modify-phases %standard-phases/source
5950 ;; Already done in SBCL package.
5951 (delete 'reset-gzip-timestamps))))))
5952
5953 (define-public ecl-dexador
5954 (sbcl-package->ecl-package sbcl-dexador))
5955
5956 (define-public sbcl-lisp-namespace
5957 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5958 (revision "1"))
5959 (package
5960 (name "sbcl-lisp-namespace")
5961 (build-system asdf-build-system/sbcl)
5962 (version (git-version "0.1" revision commit))
5963 (home-page "https://github.com/guicho271828/lisp-namespace")
5964 (source
5965 (origin
5966 (method git-fetch)
5967 (uri (git-reference
5968 (url home-page)
5969 (commit commit)))
5970 (file-name (git-file-name name version))
5971 (sha256
5972 (base32
5973 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5974 (inputs
5975 `(("alexandria" ,sbcl-alexandria)))
5976 (native-inputs
5977 `(("fiveam" ,sbcl-fiveam)))
5978 (arguments
5979 `(#:test-asd-file "lisp-namespace.test.asd"
5980 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5981 #:tests? #f))
5982 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5983 (description "Common Lisp already has major 2 namespaces, function
5984 namespace and value namespace (or variable namespace), but there are actually
5985 more — e.g., class namespace.
5986 This library offers macros to deal with symbols from any namespace.")
5987 (license license:llgpl))))
5988
5989 (define-public cl-lisp-namespace
5990 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5991
5992 (define-public sbcl-trivial-cltl2
5993 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5994 (revision "2"))
5995 (package
5996 (name "sbcl-trivial-cltl2")
5997 (build-system asdf-build-system/sbcl)
5998 (version (git-version "0.1.1" revision commit))
5999 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
6000 (source
6001 (origin
6002 (method git-fetch)
6003 (uri (git-reference
6004 (url home-page)
6005 (commit commit)))
6006 (file-name (git-file-name name version))
6007 (sha256
6008 (base32
6009 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
6010 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
6011 (description "This library is a portable compatibility layer around
6012 \"Common Lisp the Language, 2nd
6013 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
6014 and it exports symbols from implementation-specific packages.")
6015 (license license:llgpl))))
6016
6017 (define-public cl-trivial-cltl2
6018 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
6019
6020 (define-public sbcl-introspect-environment
6021 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
6022 (revision "1"))
6023 (package
6024 (name "sbcl-introspect-environment")
6025 (build-system asdf-build-system/sbcl)
6026 (version (git-version "0.1" revision commit))
6027 (home-page "https://github.com/Bike/introspect-environment")
6028 (source
6029 (origin
6030 (method git-fetch)
6031 (uri (git-reference
6032 (url home-page)
6033 (commit commit)))
6034 (file-name (git-file-name name version))
6035 (sha256
6036 (base32
6037 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
6038 (native-inputs
6039 `(("fiveam" ,sbcl-fiveam)))
6040 (synopsis "Common Lisp environment introspection portability layer")
6041 (description "This library is a small interface to portable but
6042 nonstandard introspection of Common Lisp environments. It is intended to
6043 allow a bit more compile-time introspection of environments in Common Lisp.
6044
6045 Quite a bit of information is available at the time a macro or compiler-macro
6046 runs; inlining info, type declarations, that sort of thing. This information
6047 is all standard - any Common Lisp program can @code{(declare (integer x))} and
6048 such.
6049
6050 This info ought to be accessible through the standard @code{&environment}
6051 parameters, but it is not. Several implementations keep the information for
6052 their own purposes but do not make it available to user programs, because
6053 there is no standard mechanism to do so.
6054
6055 This library uses implementation-specific hooks to make information available
6056 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
6057 implementations have implementations of the functions that do as much as they
6058 can and/or provide reasonable defaults.")
6059 (license license:wtfpl2))))
6060
6061 (define-public cl-introspect-environment
6062 (sbcl-package->cl-source-package sbcl-introspect-environment))
6063
6064 (define-public sbcl-type-i
6065 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
6066 (revision "2"))
6067 (package
6068 (name "sbcl-type-i")
6069 (build-system asdf-build-system/sbcl)
6070 (version (git-version "0.1" revision commit))
6071 (home-page "https://github.com/guicho271828/type-i")
6072 (source
6073 (origin
6074 (method git-fetch)
6075 (uri (git-reference
6076 (url home-page)
6077 (commit commit)))
6078 (file-name (git-file-name name version))
6079 (sha256
6080 (base32
6081 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
6082 (inputs
6083 `(("alexandria" ,sbcl-alexandria)
6084 ("introspect-environment" ,sbcl-introspect-environment)
6085 ("trivia.trivial" ,sbcl-trivia.trivial)))
6086 (native-inputs
6087 `(("fiveam" ,sbcl-fiveam)))
6088 (arguments
6089 `(#:test-asd-file "type-i.test.asd"))
6090 (synopsis "Type inference utility on unary predicates for Common Lisp")
6091 (description "This library tries to provide a way to detect what kind of
6092 type the given predicate is trying to check. This is different from inferring
6093 the return type of a function.")
6094 (license license:llgpl))))
6095
6096 (define-public cl-type-i
6097 (sbcl-package->cl-source-package sbcl-type-i))
6098
6099 (define-public sbcl-optima
6100 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6101 (revision "1"))
6102 (package
6103 (name "sbcl-optima")
6104 (build-system asdf-build-system/sbcl)
6105 (version (git-version "1.0" revision commit))
6106 (home-page "https://github.com/m2ym/optima")
6107 (source
6108 (origin
6109 (method git-fetch)
6110 (uri (git-reference
6111 (url home-page)
6112 (commit commit)))
6113 (file-name (git-file-name name version))
6114 (sha256
6115 (base32
6116 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6117 (inputs
6118 `(("alexandria" ,sbcl-alexandria)
6119 ("closer-mop" ,sbcl-closer-mop)))
6120 (native-inputs
6121 `(("eos" ,sbcl-eos)))
6122 (arguments
6123 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6124 `(#:tests? #f
6125 #:test-asd-file "optima.test.asd"))
6126 (synopsis "Optimized pattern matching library for Common Lisp")
6127 (description "Optima is a fast pattern matching library which uses
6128 optimizing techniques widely used in the functional programming world.")
6129 (license license:expat))))
6130
6131 (define-public cl-optima
6132 (sbcl-package->cl-source-package sbcl-optima))
6133
6134 (define-public sbcl-fare-quasiquote
6135 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6136 (revision "1"))
6137 (package
6138 (name "sbcl-fare-quasiquote")
6139 (build-system asdf-build-system/sbcl)
6140 (version (git-version "1.0.1" revision commit))
6141 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6142 (source
6143 (origin
6144 (method git-fetch)
6145 (uri (git-reference
6146 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6147 "fare-quasiquote.git"))
6148 (commit commit)))
6149 (file-name (git-file-name name version))
6150 (sha256
6151 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6152 (inputs
6153 `(("fare-utils" ,sbcl-fare-utils)))
6154 (arguments
6155 ;; XXX: Circular dependencies: Tests depend on subsystems,
6156 ;; which depend on the main systems.
6157 `(#:tests? #f
6158 #:phases
6159 (modify-phases %standard-phases
6160 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6161 ;; commits after 1.0.0.5, but ASDF fails to read the
6162 ;; "-REVISION-COMMIT" part generated by Guix.
6163 (add-after 'unpack 'patch-requirement
6164 (lambda _
6165 (substitute* "fare-quasiquote.asd"
6166 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6167 "\"fare-utils\"")))))))
6168 (synopsis "Pattern-matching friendly implementation of quasiquote")
6169 (description "The main purpose of this n+2nd reimplementation of
6170 quasiquote is enable matching of quasiquoted patterns, using Optima or
6171 Trivia.")
6172 (license license:expat))))
6173
6174 (define-public cl-fare-quasiquote
6175 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6176
6177 (define-public sbcl-fare-quasiquote-optima
6178 (package
6179 (inherit sbcl-fare-quasiquote)
6180 (name "sbcl-fare-quasiquote-optima")
6181 (inputs
6182 `(("optima" ,sbcl-optima)
6183 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6184 (arguments
6185 '(#:phases
6186 (modify-phases %standard-phases
6187 (add-after 'unpack 'patch-requirement
6188 (lambda _
6189 (substitute* "fare-quasiquote-optima.asd"
6190 (("\\(:version \"optima\" \"1\\.0\"\\)")
6191 "\"optima\""))
6192 #t)))))))
6193
6194 (define-public cl-fare-quasiquote-optima
6195 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6196
6197 (define-public sbcl-fare-quasiquote-readtable
6198 (package
6199 (inherit sbcl-fare-quasiquote)
6200 (name "sbcl-fare-quasiquote-readtable")
6201 (inputs
6202 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6203 ("named-readtables" ,sbcl-named-readtables)))
6204 (description "The main purpose of this n+2nd reimplementation of
6205 quasiquote is enable matching of quasiquoted patterns, using Optima or
6206 Trivia.
6207
6208 This package uses fare-quasiquote with named-readtable.")))
6209
6210 (define-public cl-fare-quasiquote-readtable
6211 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6212
6213 (define-public sbcl-fare-quasiquote-extras
6214 (package
6215 (inherit sbcl-fare-quasiquote)
6216 (name "sbcl-fare-quasiquote-extras")
6217 (build-system asdf-build-system/sbcl)
6218 (inputs
6219 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6220 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6221 (arguments
6222 `(#:phases
6223 (modify-phases %standard-phases
6224 (replace 'build
6225 (lambda* (#:key outputs #:allow-other-keys)
6226 (let* ((out (assoc-ref outputs "out"))
6227 (lib (string-append out "/lib/" (%lisp-type))))
6228 (mkdir-p lib)
6229 (install-file "fare-quasiquote-extras.asd" lib)
6230 (make-file-writable
6231 (string-append lib "/fare-quasiquote-extras.asd"))
6232 #t))))))
6233 (description "This library combines @code{fare-quasiquote-readtable} and
6234 @code{fare-quasiquote-optima}.")))
6235
6236 (define-public cl-fare-quasiquote-extras
6237 (package
6238 (inherit cl-fare-quasiquote)
6239 (name "cl-fare-quasiquote-extras")
6240 (build-system asdf-build-system/source)
6241 (propagated-inputs
6242 `(("fare-quasiquote" ,cl-fare-quasiquote)
6243 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6244 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6245 (description "This library combines @code{fare-quasiquote-readtable} and
6246 @code{fare-quasiquote-optima}.")))
6247
6248 (define-public sbcl-trivia.level0
6249 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6250 (revision "2"))
6251 (package
6252 (name "sbcl-trivia.level0")
6253 (build-system asdf-build-system/sbcl)
6254 (version (git-version "0.0.0" revision commit))
6255 (home-page "https://github.com/guicho271828/trivia")
6256 (source
6257 (origin
6258 (method git-fetch)
6259 (uri (git-reference
6260 (url home-page)
6261 (commit commit)))
6262 (file-name (git-file-name name version))
6263 (sha256
6264 (base32
6265 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
6266 (inputs
6267 `(("alexandria" ,sbcl-alexandria)))
6268 (synopsis "Pattern matching in Common Lisp")
6269 (description "Trivia is a pattern matching compiler that is compatible
6270 with Optima, another pattern matching library for Common Lisp. It is meant to
6271 be faster and more extensible than Optima.")
6272 (license license:llgpl))))
6273
6274 (define-public sbcl-trivia.level1
6275 (package
6276 (inherit sbcl-trivia.level0)
6277 (name "sbcl-trivia.level1")
6278 (inputs
6279 `(("trivia.level0" ,sbcl-trivia.level0)))
6280 (description "Trivia is a pattern matching compiler that is compatible
6281 with Optima, another pattern matching library for Common Lisp. It is meant to
6282 be faster and more extensible than Optima.
6283
6284 This system contains the core patterns of Trivia.")))
6285
6286 (define-public sbcl-trivia.level2
6287 (package
6288 (inherit sbcl-trivia.level0)
6289 (name "sbcl-trivia.level2")
6290 (inputs
6291 `(("trivia.level1" ,sbcl-trivia.level1)
6292 ("lisp-namespace" ,sbcl-lisp-namespace)
6293 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6294 ("closer-mop" ,sbcl-closer-mop)))
6295 (description "Trivia is a pattern matching compiler that is compatible
6296 with Optima, another pattern matching library for Common Lisp. It is meant to
6297 be faster and more extensible than Optima.
6298
6299 This system contains a non-optimized pattern matcher compatible with Optima,
6300 with extensible optimizer interface.")))
6301
6302 (define-public sbcl-trivia.trivial
6303 (package
6304 (inherit sbcl-trivia.level0)
6305 (name "sbcl-trivia.trivial")
6306 (inputs
6307 `(("trivia.level2" ,sbcl-trivia.level2)))
6308 (description "Trivia is a pattern matching compiler that is compatible
6309 with Optima, another pattern matching library for Common Lisp. It is meant to
6310 be faster and more extensible than Optima.
6311
6312 This system contains the base level system of Trivia with a trivial optimizer.")))
6313
6314 (define-public sbcl-trivia.balland2006
6315 (package
6316 (inherit sbcl-trivia.level0)
6317 (name "sbcl-trivia.balland2006")
6318 (inputs
6319 `(("trivia.trivial" ,sbcl-trivia.trivial)
6320 ("iterate" ,sbcl-iterate)
6321 ("type-i" ,sbcl-type-i)
6322 ("alexandria" ,sbcl-alexandria)))
6323 (arguments
6324 ;; Tests are done in trivia itself.
6325 `(#:tests? #f))
6326 (description "Trivia is a pattern matching compiler that is compatible
6327 with Optima, another pattern matching library for Common Lisp. It is meant to
6328 be faster and more extensible than Optima.
6329
6330 This system contains the base level system of Trivia with a trivial optimizer.")))
6331
6332 (define-public sbcl-trivia.ppcre
6333 (package
6334 (inherit sbcl-trivia.level0)
6335 (name "sbcl-trivia.ppcre")
6336 (inputs
6337 `(("trivia.trivial" ,sbcl-trivia.trivial)
6338 ("cl-ppcre" ,sbcl-cl-ppcre)))
6339 (description "Trivia is a pattern matching compiler that is compatible
6340 with Optima, another pattern matching library for Common Lisp. It is meant to
6341 be faster and more extensible than Optima.
6342
6343 This system contains the PPCRE extension.")))
6344
6345 (define-public sbcl-trivia.quasiquote
6346 (package
6347 (inherit sbcl-trivia.level0)
6348 (name "sbcl-trivia.quasiquote")
6349 (inputs
6350 `(("trivia.trivial" ,sbcl-trivia.trivial)
6351 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6352 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6353 (description "Trivia is a pattern matching compiler that is compatible
6354 with Optima, another pattern matching library for Common Lisp. It is meant to
6355 be faster and more extensible than Optima.
6356
6357 This system contains the fare-quasiquote extension.")))
6358
6359 (define-public sbcl-trivia.cffi
6360 (package
6361 (inherit sbcl-trivia.level0)
6362 (name "sbcl-trivia.cffi")
6363 (inputs
6364 `(("cffi" ,sbcl-cffi)
6365 ("trivia.trivial" ,sbcl-trivia.trivial)))
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 This system contains the CFFI foreign slot access extension.")))
6371
6372 (define-public sbcl-trivia
6373 (package
6374 (inherit sbcl-trivia.level0)
6375 (name "sbcl-trivia")
6376 (inputs
6377 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6378 (native-inputs
6379 `(("fiveam" ,sbcl-fiveam)
6380 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6381 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6382 ("trivia.cffi" ,sbcl-trivia.cffi)
6383 ("optima" ,sbcl-optima)))
6384 (arguments
6385 `(#:test-asd-file "trivia.test.asd"))
6386 (description "Trivia is a pattern matching compiler that is compatible
6387 with Optima, another pattern matching library for Common Lisp. It is meant to
6388 be faster and more extensible than Optima.")))
6389
6390 (define-public cl-trivia
6391 (sbcl-package->cl-source-package sbcl-trivia))
6392
6393 (define-public sbcl-mk-string-metrics
6394 (package
6395 (name "sbcl-mk-string-metrics")
6396 (version "0.1.2")
6397 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6398 (source (origin
6399 (method git-fetch)
6400 (uri (git-reference
6401 (url home-page)
6402 (commit version)))
6403 (sha256
6404 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6405 (file-name (git-file-name name version))))
6406 (build-system asdf-build-system/sbcl)
6407 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6408 (description "This library implements efficient algorithms that calculate
6409 various string metrics in Common Lisp:
6410
6411 @itemize
6412 @item Damerau-Levenshtein distance
6413 @item Hamming distance
6414 @item Jaccard similarity coefficient
6415 @item Jaro distance
6416 @item Jaro-Winkler distance
6417 @item Levenshtein distance
6418 @item Normalized Damerau-Levenshtein distance
6419 @item Normalized Levenshtein distance
6420 @item Overlap coefficient
6421 @end itemize\n")
6422 (license license:x11)))
6423
6424 (define-public cl-mk-string-metrics
6425 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6426
6427 (define-public sbcl-cl-str
6428 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
6429 (package
6430 (name "sbcl-cl-str")
6431 (version (git-version "0.17" "1" commit))
6432 (home-page "https://github.com/vindarel/cl-str")
6433 (source (origin
6434 (method git-fetch)
6435 (uri (git-reference
6436 (url home-page)
6437 (commit commit)))
6438 (sha256
6439 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
6440 (file-name (git-file-name name version))))
6441 (build-system asdf-build-system/sbcl)
6442 (inputs
6443 `(("cl-ppcre" ,sbcl-cl-ppcre)
6444 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6445 ("cl-change-case" ,sbcl-cl-change-case)))
6446 (native-inputs
6447 `(("prove" ,sbcl-prove)
6448 ("prove-asdf" ,sbcl-prove-asdf)))
6449 (arguments
6450 `(#:asd-file "str.asd"
6451 #:asd-system-name "str"
6452 #:test-asd-file "str.test.asd"))
6453 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6454 (description "A modern and consistent Common Lisp string manipulation
6455 library that focuses on modernity, simplicity and discoverability:
6456 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6457 @code{str:concat strings} instead of an unusual format construct; one
6458 discoverable library instead of many; consistency and composability, where
6459 @code{s} is always the last argument, which makes it easier to feed pipes and
6460 arrows.")
6461 (license license:expat))))
6462
6463 (define-public cl-str
6464 (sbcl-package->cl-source-package sbcl-cl-str))
6465
6466 (define-public sbcl-cl-xmlspam
6467 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6468 (package
6469 (name "sbcl-cl-xmlspam")
6470 (build-system asdf-build-system/sbcl)
6471 (version (git-version "0.0.0" "1" commit))
6472 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6473 (source
6474 (origin
6475 (method git-fetch)
6476 (uri (git-reference
6477 (url home-page)
6478 (commit commit)))
6479 (file-name (string-append name "-" version))
6480 (sha256
6481 (base32
6482 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6483 (inputs
6484 `(("cxml" ,sbcl-cxml)
6485 ("cl-ppcre" ,sbcl-cl-ppcre)))
6486 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6487 (description "CXML does an excellent job at parsing XML elements, but what
6488 do you do when you have a XML file that's larger than you want to fit in
6489 memory, and you want to extract some information from it? Writing code to deal
6490 with SAX events, or even using Klacks, quickly becomes tedious.
6491 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6492 to write code that mirrors the structure of the XML that it's parsing. It
6493 also makes it easy to shift paradigms when necessary - the usual Lisp control
6494 constructs can be used interchangeably with pattern matching, and the full
6495 power of CXML is available when necessary.")
6496 (license license:bsd-3))))
6497
6498 ;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6499 ;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6500 ;; asdf-build-system/sbcl.
6501 (define-public cl-dbus
6502 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6503 (revision "1"))
6504 (package
6505 (name "cl-dbus")
6506 (build-system asdf-build-system/source)
6507 (version (git-version "20190408" revision commit))
6508 (home-page "https://github.com/death/dbus")
6509 (source
6510 (origin
6511 (method git-fetch)
6512 (uri (git-reference
6513 (url home-page)
6514 (commit commit)))
6515 (file-name (git-file-name name version))
6516 (sha256
6517 (base32
6518 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6519 ;; Inputs must be propagated or else packages depending on this won't
6520 ;; have the necessary packages.
6521 (propagated-inputs
6522 `(("alexandria" ,sbcl-alexandria)
6523 ("trivial-garbage" ,sbcl-trivial-garbage)
6524 ("babel" ,sbcl-babel)
6525 ("iolib" ,sbcl-iolib)
6526 ("ieee-floats" ,sbcl-ieee-floats)
6527 ("flexi-streams" ,sbcl-flexi-streams)
6528 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6529 ("ironclad" ,sbcl-ironclad)))
6530 (synopsis "D-Bus client library for Common Lisp")
6531 (description "This is a Common Lisp library that publishes D-Bus
6532 objects as well as send and notify other objects connected to a bus.")
6533 (license license:bsd-2))))
6534
6535 (define-public sbcl-cl-hooks
6536 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6537 (revision "1"))
6538 (package
6539 (name "sbcl-cl-hooks")
6540 (build-system asdf-build-system/sbcl)
6541 (version (git-version "0.2.1" revision commit))
6542 (home-page "https://github.com/scymtym/architecture.hooks")
6543 (source
6544 (origin
6545 (method git-fetch)
6546 (uri (git-reference
6547 (url home-page)
6548 (commit commit)))
6549 (file-name (git-file-name name version))
6550 (sha256
6551 (base32
6552 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6553 (inputs
6554 `(("alexandria" ,sbcl-alexandria)
6555 ("let-plus" ,sbcl-let-plus)
6556 ("trivial-garbage" ,sbcl-trivial-garbage)
6557 ("closer-mop" ,sbcl-closer-mop)))
6558 (native-inputs
6559 `(("fiveam" ,sbcl-fiveam)))
6560 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6561 (description "A hook, in the present context, is a certain kind of
6562 extension point in a program that allows interleaving the execution of
6563 arbitrary code with the execution of a the program without introducing any
6564 coupling between the two. Hooks are used extensively in the extensible editor
6565 Emacs.
6566
6567 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6568 possible using the flexible multi-method dispatch mechanism. It may even seem
6569 that the concept of hooks does not provide any benefits over the possibilities
6570 of CLOS. However, there are some differences:
6571
6572 @itemize
6573
6574 @item There can be only one method for each combination of specializers and
6575 qualifiers. As a result this kind of extension point cannot be used by
6576 multiple extensions independently.
6577 @item Removing code previously attached via a @code{:before}, @code{:after} or
6578 @code{:around} method can be cumbersome.
6579 @item There could be other or even multiple extension points besides @code{:before}
6580 and @code{:after} in a single method.
6581 @item Attaching codes to individual objects using eql specializers can be
6582 cumbersome.
6583 @item Introspection of code attached a particular extension point is
6584 cumbersome since this requires enumerating and inspecting the methods of a
6585 generic function.
6586 @end itemize
6587
6588 This library tries to complement some of these weaknesses of method-based
6589 extension-points via the concept of hooks.")
6590 (license license:llgpl))))
6591
6592 (define-public cl-hooks
6593 (sbcl-package->cl-source-package sbcl-cl-hooks))
6594
6595 (define-public ecl-cl-hooks
6596 (sbcl-package->ecl-package sbcl-cl-hooks))
6597
6598 (define-public sbcl-s-sysdeps
6599 ;; No release since 2013.
6600 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6601 (revision "2"))
6602 (package
6603 (name "sbcl-s-sysdeps")
6604 (build-system asdf-build-system/sbcl)
6605 (version (git-version "1" revision commit))
6606 (home-page "https://github.com/svenvc/s-sysdeps")
6607 (source
6608 (origin
6609 (method git-fetch)
6610 (uri (git-reference
6611 (url home-page)
6612 (commit commit)))
6613 (file-name (git-file-name name version))
6614 (sha256
6615 (base32
6616 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6617 (inputs
6618 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6619 ("usocket" ,sbcl-usocket)
6620 ("usocket-server" ,sbcl-usocket-server)))
6621 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6622 (description "@code{s-sysdeps} is an abstraction layer over platform
6623 dependent functionality. This simple package is used as a building block in a
6624 number of other open source projects.
6625
6626 @code{s-sysdeps} abstracts:
6627
6628 @itemize
6629 @item managing processes,
6630 @item implementing a standard TCP/IP server,
6631 @item opening a client TCP/IP socket stream,
6632 @item working with process locks.
6633 @end itemize\n")
6634 (license license:llgpl))))
6635
6636 (define-public cl-s-sysdeps
6637 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6638
6639 (define-public ecl-s-sysdeps
6640 (sbcl-package->ecl-package sbcl-s-sysdeps))
6641
6642 (define-public sbcl-cl-prevalence
6643 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6644 (revision "3"))
6645 (package
6646 (name "sbcl-cl-prevalence")
6647 (build-system asdf-build-system/sbcl)
6648 (version (git-version "5" revision commit))
6649 (home-page "https://github.com/40ants/cl-prevalence")
6650 (source
6651 (origin
6652 (method git-fetch)
6653 (uri (git-reference
6654 (url home-page)
6655 (commit commit)))
6656 (file-name (git-file-name name version))
6657 (sha256
6658 (base32
6659 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
6660 (inputs
6661 `(("s-sysdeps" ,sbcl-s-sysdeps)
6662 ("s-xml" ,sbcl-s-xml)))
6663 (native-inputs
6664 `(("fiveam" ,sbcl-fiveam)))
6665 (synopsis "Implementation of object prevalence for Common Lisp")
6666 (description "This Common Lisp library implements object prevalence (see
6667 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6668 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6669 classes and cyclic data structures are supported.")
6670 (license license:llgpl))))
6671
6672 (define-public cl-prevalence
6673 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6674
6675 (define-public ecl-cl-prevalence
6676 (sbcl-package->ecl-package sbcl-cl-prevalence))
6677
6678 (define-public sbcl-series
6679 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6680 (revision "1"))
6681 (package
6682 (name "sbcl-series")
6683 (version (git-version "2.2.11" revision commit))
6684 (source
6685 (origin
6686 (method git-fetch)
6687 (uri (git-reference
6688 (url "git://git.code.sf.net/p/series/series")
6689 (commit commit)))
6690 (file-name (git-file-name name version))
6691 (sha256
6692 (base32
6693 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6694 (build-system asdf-build-system/sbcl)
6695 (arguments
6696 ;; Disable the tests, they are apparently buggy and I didn't find
6697 ;; a simple way to make them run and pass.
6698 '(#:tests? #f))
6699 (synopsis "Series data structure for Common Lisp")
6700 (description
6701 "This Common Lisp library provides a series data structure much like
6702 a sequence, with similar kinds of operations. The difference is that in many
6703 situations, operations on series may be composed functionally and yet execute
6704 iteratively, without the need to construct intermediate series values
6705 explicitly. In this manner, series provide both the clarity of a functional
6706 programming style and the efficiency of an iterative programming style.")
6707 (home-page "http://series.sourceforge.net/")
6708 (license license:expat))))
6709
6710 (define-public cl-series
6711 (sbcl-package->cl-source-package sbcl-series))
6712
6713 (define-public ecl-series
6714 (sbcl-package->ecl-package sbcl-series))
6715
6716 (define-public sbcl-periods
6717 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6718 (revision "1"))
6719 (package
6720 (name "sbcl-periods")
6721 (version (git-version "0.0.2" revision commit))
6722 (source
6723 (origin
6724 (method git-fetch)
6725 (uri (git-reference
6726 (url "https://github.com/jwiegley/periods")
6727 (commit commit)))
6728 (file-name (git-file-name name version))
6729 (sha256
6730 (base32
6731 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6732 (build-system asdf-build-system/sbcl)
6733 (inputs
6734 `(("local-time" ,sbcl-local-time)))
6735 (synopsis "Common Lisp library for manipulating date/time objects")
6736 (description
6737 "Periods is a Common Lisp library providing a set of utilities for
6738 manipulating times, distances between times, and both contiguous and
6739 discontiguous ranges of time.")
6740 (home-page "https://github.com/jwiegley/periods")
6741 (license license:bsd-3))))
6742
6743 (define-public cl-periods
6744 (sbcl-package->cl-source-package sbcl-periods))
6745
6746 (define-public ecl-periods
6747 (sbcl-package->ecl-package sbcl-periods))
6748
6749 (define-public sbcl-periods-series
6750 (package
6751 (inherit sbcl-periods)
6752 (name "sbcl-periods-series")
6753 (inputs
6754 `(("periods" ,sbcl-periods)
6755 ("series" ,sbcl-series)))
6756 (arguments
6757 '(#:asd-file "periods-series.asd"
6758 #:asd-system-name "periods-series"))
6759 (description
6760 "Periods-series is an extension of the periods Common Lisp library
6761 providing functions compatible with the series Common Lisp library.")))
6762
6763 (define-public cl-periods-series
6764 (sbcl-package->cl-source-package sbcl-periods-series))
6765
6766 (define-public ecl-periods-series
6767 (sbcl-package->ecl-package sbcl-periods-series))
6768
6769 (define-public sbcl-metatilities-base
6770 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6771 (revision "1"))
6772 (package
6773 (name "sbcl-metatilities-base")
6774 (version (git-version "0.6.6" revision commit))
6775 (source
6776 (origin
6777 (method git-fetch)
6778 (uri (git-reference
6779 (url "https://github.com/gwkkwg/metatilities-base")
6780 (commit commit)))
6781 (file-name (git-file-name name version))
6782 (sha256
6783 (base32
6784 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6785 (build-system asdf-build-system/sbcl)
6786 (native-inputs
6787 `(("lift" ,sbcl-lift)))
6788 (synopsis "Core of the metatilities Common Lisp library")
6789 (description
6790 "Metatilities-base is the core of the metatilities Common Lisp library
6791 which implements a set of utilities.")
6792 (home-page "https://common-lisp.net/project/metatilities-base/")
6793 (license license:expat))))
6794
6795 (define-public cl-metatilities-base
6796 (sbcl-package->cl-source-package sbcl-metatilities-base))
6797
6798 (define-public ecl-metatilities-base
6799 (sbcl-package->ecl-package sbcl-metatilities-base))
6800
6801 (define-public sbcl-cl-containers
6802 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6803 (revision "3"))
6804 (package
6805 (name "sbcl-cl-containers")
6806 (version (git-version "0.12.1" revision commit))
6807 (source
6808 (origin
6809 (method git-fetch)
6810 (uri (git-reference
6811 (url "https://github.com/gwkkwg/cl-containers")
6812 (commit commit)))
6813 (file-name (git-file-name name version))
6814 (sha256
6815 (base32
6816 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6817 (build-system asdf-build-system/sbcl)
6818 (native-inputs
6819 `(("lift" ,sbcl-lift)))
6820 (inputs
6821 `(("metatilities-base" ,sbcl-metatilities-base)))
6822 (arguments
6823 '(#:phases
6824 (modify-phases %standard-phases
6825 (add-after 'unpack 'relax-version-checks
6826 (lambda _
6827 (substitute* "cl-containers.asd"
6828 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6829 "\"metatilities-base\""))
6830 (substitute* "cl-containers-test.asd"
6831 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6832 "\"lift\""))
6833 #t)))))
6834 (synopsis "Container library for Common Lisp")
6835 (description
6836 "Common Lisp ships with a set of powerful built in data structures
6837 including the venerable list, full featured arrays, and hash-tables.
6838 CL-containers enhances and builds on these structures by adding containers
6839 that are not available in native Lisp (for example: binary search trees,
6840 red-black trees, sparse arrays and so on), and by providing a standard
6841 interface so that they are simpler to use and so that changing design
6842 decisions becomes significantly easier.")
6843 (home-page "https://common-lisp.net/project/cl-containers/")
6844 (license license:expat))))
6845
6846 (define-public cl-containers
6847 (sbcl-package->cl-source-package sbcl-cl-containers))
6848
6849 (define-public ecl-cl-containers
6850 (sbcl-package->ecl-package sbcl-cl-containers))
6851
6852 (define-public sbcl-xlunit
6853 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6854 (revision "1"))
6855 (package
6856 (name "sbcl-xlunit")
6857 (version (git-version "0.6.3" revision commit))
6858 (source
6859 (origin
6860 (method git-fetch)
6861 (uri (git-reference
6862 (url "http://git.kpe.io/xlunit.git")
6863 (commit commit)))
6864 (file-name (git-file-name name version))
6865 (sha256
6866 (base32
6867 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6868 (build-system asdf-build-system/sbcl)
6869 (arguments
6870 '(#:phases
6871 (modify-phases %standard-phases
6872 (add-after 'unpack 'fix-tests
6873 (lambda _
6874 (substitute* "xlunit.asd"
6875 ((" :force t") ""))
6876 #t)))))
6877 (synopsis "Unit testing package for Common Lisp")
6878 (description
6879 "The XLUnit package is a toolkit for building test suites. It is based
6880 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6881 (home-page "http://quickdocs.org/xlunit/")
6882 (license license:bsd-3))))
6883
6884 (define-public cl-xlunit
6885 (sbcl-package->cl-source-package sbcl-xlunit))
6886
6887 (define-public ecl-xlunit
6888 (sbcl-package->ecl-package sbcl-xlunit))
6889
6890 (define-public sbcl-fprog
6891 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6892 (revision "1"))
6893 (package
6894 (name "sbcl-fprog")
6895 (version (git-version "1.0.0" revision commit))
6896 (source
6897 (origin
6898 (method git-fetch)
6899 (uri (git-reference
6900 (url "https://github.com/jwiegley/cambl")
6901 (commit commit)))
6902 (file-name (git-file-name name version))
6903 (sha256
6904 (base32
6905 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6906 (build-system asdf-build-system/sbcl)
6907 (synopsis "Functional programming utilities for Common Lisp")
6908 (description
6909 "@code{fprog} is a Common Lisp library allowing iteration over
6910 immutable lists sharing identical sublists.")
6911 (home-page "https://github.com/jwiegley/cambl")
6912 (license license:bsd-3))))
6913
6914 (define-public cl-fprog
6915 (sbcl-package->cl-source-package sbcl-fprog))
6916
6917 (define-public ecl-fprog
6918 (sbcl-package->ecl-package sbcl-fprog))
6919
6920 (define-public sbcl-cambl
6921 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6922 (revision "1"))
6923 (package
6924 (inherit sbcl-fprog)
6925 (name "sbcl-cambl")
6926 (version (git-version "4.0.0" revision commit))
6927 (native-inputs
6928 `(("xlunit" ,sbcl-xlunit)))
6929 (inputs
6930 `(("alexandria" ,sbcl-alexandria)
6931 ("cl-containers" ,sbcl-cl-containers)
6932 ("local-time" ,sbcl-local-time)
6933 ("periods" ,sbcl-periods)
6934 ("fprog" ,sbcl-fprog)))
6935 (synopsis "Commoditized amounts and balances for Common Lisp")
6936 (description
6937 "CAMBL is a Common Lisp library providing a convenient facility for
6938 working with commoditized values. It does not allow compound units (and so is
6939 not suited for scientific operations) but does work rather nicely for the
6940 purpose of financial calculations."))))
6941
6942 (define-public cl-cambl
6943 (sbcl-package->cl-source-package sbcl-cambl))
6944
6945 (define-public ecl-cambl
6946 (sbcl-package->ecl-package sbcl-cambl))
6947
6948 (define-public sbcl-cl-ledger
6949 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6950 (revision "1"))
6951 (package
6952 (name "sbcl-cl-ledger")
6953 (version (git-version "4.0.0" revision commit))
6954 (source
6955 (origin
6956 (method git-fetch)
6957 (uri (git-reference
6958 (url "https://github.com/ledger/cl-ledger")
6959 (commit commit)))
6960 (file-name (git-file-name name version))
6961 (sha256
6962 (base32
6963 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6964 (build-system asdf-build-system/sbcl)
6965 (inputs
6966 `(("cambl" ,sbcl-cambl)
6967 ("cl-ppcre" ,sbcl-cl-ppcre)
6968 ("local-time" ,sbcl-local-time)
6969 ("periods-series" ,sbcl-periods-series)))
6970 (arguments
6971 '(#:phases
6972 (modify-phases %standard-phases
6973 (add-after 'unpack 'fix-system-definition
6974 (lambda _
6975 (substitute* "cl-ledger.asd"
6976 ((" :build-operation program-op") "")
6977 ((" :build-pathname \"cl-ledger\"") "")
6978 ((" :entry-point \"ledger::main\"") ""))
6979 #t)))))
6980 (synopsis "Common Lisp port of the Ledger accounting system")
6981 (description
6982 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6983 system.")
6984 (home-page "https://github.com/ledger/cl-ledger")
6985 (license license:bsd-3))))
6986
6987 (define-public cl-ledger
6988 (sbcl-package->cl-source-package sbcl-cl-ledger))
6989
6990 (define-public ecl-cl-ledger
6991 (sbcl-package->ecl-package sbcl-cl-ledger))
6992
6993 (define-public sbcl-bst
6994 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6995 (revision "1"))
6996 (package
6997 (name "sbcl-bst")
6998 (version (git-version "1.1" revision commit))
6999 (source
7000 (origin
7001 (method git-fetch)
7002 (uri (git-reference
7003 (url "https://github.com/glv2/bst")
7004 (commit commit)))
7005 (file-name (git-file-name name version))
7006 (sha256
7007 (base32
7008 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
7009 (build-system asdf-build-system/sbcl)
7010 (native-inputs
7011 `(("alexandria" ,sbcl-alexandria)
7012 ("fiveam" ,sbcl-fiveam)))
7013 (synopsis "Binary search tree for Common Lisp")
7014 (description
7015 "BST is a Common Lisp library for working with binary search trees that
7016 can contain any kind of values.")
7017 (home-page "https://github.com/glv2/bst")
7018 (license license:gpl3))))
7019
7020 (define-public cl-bst
7021 (sbcl-package->cl-source-package sbcl-bst))
7022
7023 (define-public ecl-bst
7024 (sbcl-package->ecl-package sbcl-bst))
7025
7026 (define-public sbcl-cl-octet-streams
7027 (package
7028 (name "sbcl-cl-octet-streams")
7029 (version "1.0")
7030 (source
7031 (origin
7032 (method git-fetch)
7033 (uri (git-reference
7034 (url "https://github.com/glv2/cl-octet-streams")
7035 (commit (string-append "v" version))))
7036 (file-name (git-file-name name version))
7037 (sha256
7038 (base32
7039 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
7040 (build-system asdf-build-system/sbcl)
7041 (native-inputs
7042 `(("fiveam" ,sbcl-fiveam)))
7043 (inputs
7044 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7045 (synopsis "In-memory octet streams for Common Lisp")
7046 (description
7047 "CL-octet-streams is a library implementing in-memory octet
7048 streams for Common Lisp. It was inspired by the trivial-octet-streams and
7049 cl-plumbing libraries.")
7050 (home-page "https://github.com/glv2/cl-octet-streams")
7051 (license license:gpl3+)))
7052
7053 (define-public cl-octet-streams
7054 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7055
7056 (define-public ecl-cl-octet-streams
7057 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7058
7059 (define-public sbcl-lzlib
7060 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
7061 (revision "1"))
7062 (package
7063 (name "sbcl-lzlib")
7064 (version (git-version "1.0" revision commit))
7065 (source
7066 (origin
7067 (method git-fetch)
7068 (uri (git-reference
7069 (url "https://github.com/glv2/cl-lzlib")
7070 (commit commit)))
7071 (file-name (git-file-name name version))
7072 (sha256
7073 (base32
7074 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
7075 (build-system asdf-build-system/sbcl)
7076 (native-inputs
7077 `(("fiveam" ,sbcl-fiveam)))
7078 (inputs
7079 `(("cffi" ,sbcl-cffi)
7080 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7081 ("lzlib" ,lzlib)))
7082 (arguments
7083 '(#:phases
7084 (modify-phases %standard-phases
7085 (add-after 'unpack 'fix-paths
7086 (lambda* (#:key inputs #:allow-other-keys)
7087 (substitute* "src/lzlib.lisp"
7088 (("liblz\\.so")
7089 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7090 #t)))))
7091 (synopsis "Common Lisp library for lzip (de)compression")
7092 (description
7093 "This Common Lisp library provides functions for lzip (LZMA)
7094 compression/decompression using bindings to the lzlib C library.")
7095 (home-page "https://github.com/glv2/cl-lzlib")
7096 (license license:gpl3+))))
7097
7098 (define-public cl-lzlib
7099 (sbcl-package->cl-source-package sbcl-lzlib))
7100
7101 (define-public ecl-lzlib
7102 (sbcl-package->ecl-package sbcl-lzlib))
7103
7104 (define-public sbcl-chanl
7105 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7106 (revision "1"))
7107 (package
7108 (name "sbcl-chanl")
7109 (version (git-version "0.4.1" revision commit))
7110 (source
7111 (origin
7112 (method git-fetch)
7113 (uri (git-reference
7114 (url "https://github.com/zkat/chanl")
7115 (commit commit)))
7116 (file-name (git-file-name name version))
7117 (sha256
7118 (base32
7119 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7120 (build-system asdf-build-system/sbcl)
7121 (native-inputs
7122 `(("fiveam" ,sbcl-fiveam)))
7123 (inputs
7124 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7125 (synopsis "Portable channel-based concurrency for Common Lisp")
7126 (description "Common Lisp library for channel-based concurrency. In
7127 a nutshell, you create various threads sequentially executing tasks you need
7128 done, and use channel objects to communicate and synchronize the state of these
7129 threads.")
7130 (home-page "https://github.com/zkat/chanl")
7131 (license (list license:expat license:bsd-3)))))
7132
7133 (define-public cl-chanl
7134 (sbcl-package->cl-source-package sbcl-chanl))
7135
7136 (define-public ecl-chanl
7137 (sbcl-package->ecl-package sbcl-chanl))
7138
7139 (define-public sbcl-cl-store
7140 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7141 (revision "1"))
7142 (package
7143 (name "sbcl-cl-store")
7144 (version (git-version "0.8.11" revision commit))
7145 (source
7146 (origin
7147 (method git-fetch)
7148 (uri (git-reference
7149 (url "https://github.com/skypher/cl-store")
7150 (commit commit)))
7151 (file-name (git-file-name name version))
7152 (sha256
7153 (base32
7154 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7155 (build-system asdf-build-system/sbcl)
7156 (native-inputs
7157 `(("rt" ,sbcl-rt)))
7158 (synopsis "Common Lisp library to serialize data")
7159 (description
7160 "CL-STORE is a portable serialization package which should give you the
7161 ability to store all Common Lisp data types into streams.")
7162 (home-page "https://www.common-lisp.net/project/cl-store/")
7163 (license license:expat))))
7164
7165 (define-public cl-store
7166 (sbcl-package->cl-source-package sbcl-cl-store))
7167
7168 (define-public ecl-cl-store
7169 (sbcl-package->ecl-package sbcl-cl-store))
7170
7171 (define-public sbcl-cl-gobject-introspection
7172 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7173 (revision "0"))
7174 (package
7175 (name "sbcl-cl-gobject-introspection")
7176 (version (git-version "0.3" revision commit))
7177 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7178 (source
7179 (origin
7180 (method git-fetch)
7181 (uri (git-reference
7182 (url home-page)
7183 (commit commit)))
7184 (file-name (git-file-name name version))
7185 (sha256
7186 (base32
7187 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7188 (build-system asdf-build-system/sbcl)
7189 (inputs
7190 `(("alexandria" ,sbcl-alexandria)
7191 ("cffi" ,sbcl-cffi)
7192 ("iterate" ,sbcl-iterate)
7193 ("trivial-garbage" ,sbcl-trivial-garbage)
7194 ("glib" ,glib)
7195 ("gobject-introspection" ,gobject-introspection)))
7196 (native-inputs
7197 `(("fiveam" ,sbcl-fiveam)))
7198 (arguments
7199 ;; TODO: Tests fail, see
7200 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7201 '(#:tests? #f
7202 #:phases
7203 (modify-phases %standard-phases
7204 (add-after (quote unpack) (quote fix-paths)
7205 (lambda* (#:key inputs #:allow-other-keys)
7206 (substitute* "src/init.lisp"
7207 (("libgobject-2\\.0\\.so")
7208 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7209 (("libgirepository-1\\.0\\.so")
7210 (string-append (assoc-ref inputs "gobject-introspection")
7211 "/lib/libgirepository-1.0.so")))
7212 #t)))))
7213 (synopsis "Common Lisp bindings to GObject Introspection")
7214 (description
7215 "This library is a bridge between Common Lisp and GObject
7216 Introspection, which enables Common Lisp programs to access the full interface
7217 of C+GObject libraries without the need of writing dedicated bindings.")
7218 (license (list license:bsd-3
7219 ;; Tests are under a different license.
7220 license:llgpl)))))
7221
7222 (define-public cl-gobject-introspection
7223 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7224
7225 (define-public sbcl-string-case
7226 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7227 (revision "0"))
7228 (package
7229 (name "sbcl-string-case")
7230 (version (git-version "0.0.2" revision commit))
7231 (home-page "https://github.com/pkhuong/string-case")
7232 (source
7233 (origin
7234 (method git-fetch)
7235 (uri (git-reference
7236 (url home-page)
7237 (commit commit)))
7238 (file-name (git-file-name name version))
7239 (sha256
7240 (base32
7241 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7242 (build-system asdf-build-system/sbcl)
7243 (synopsis "Efficient string= case in Common Lisp")
7244 (description
7245 "@code{string-case} is a Common Lisp macro that generates specialised decision
7246 trees to dispatch on string equality.")
7247 (license license:bsd-3))))
7248
7249 (define-public cl-string-case
7250 (sbcl-package->cl-source-package sbcl-string-case))
7251
7252 (define-public ecl-string-case
7253 (sbcl-package->ecl-package sbcl-string-case))
7254
7255 (define-public sbcl-global-vars
7256 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7257 (revision "0"))
7258 (package
7259 (name "sbcl-global-vars")
7260 (version (git-version "1.0.0" revision commit))
7261 (home-page "https://github.com/lmj/global-vars")
7262 (source
7263 (origin
7264 (method git-fetch)
7265 (uri (git-reference
7266 (url home-page)
7267 (commit commit)))
7268 (file-name (git-file-name name version))
7269 (sha256
7270 (base32
7271 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7272 (build-system asdf-build-system/sbcl)
7273 (synopsis "Efficient global variables in Common Lisp")
7274 (description
7275 "In Common Lisp, a special variable that is never dynamically bound
7276 typically serves as a stand-in for a global variable. The @code{global-vars}
7277 library provides true global variables that are implemented by some compilers.
7278 An attempt to rebind a global variable properly results in a compiler error.
7279 That is, a global variable cannot be dynamically bound.
7280
7281 Global variables therefore allow us to communicate an intended usage that
7282 differs from special variables. Global variables are also more efficient than
7283 special variables, especially in the presence of threads.")
7284 (license license:expat))))
7285
7286 (define-public cl-global-vars
7287 (sbcl-package->cl-source-package sbcl-global-vars))
7288
7289 (define-public ecl-global-vars
7290 (sbcl-package->ecl-package sbcl-global-vars))
7291
7292 (define-public sbcl-trivial-file-size
7293 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7294 (revision "0"))
7295 (package
7296 (name "sbcl-trivial-file-size")
7297 (version (git-version "0.0.0" revision commit))
7298 (home-page "https://github.com/ruricolist/trivial-file-size")
7299 (source
7300 (origin
7301 (method git-fetch)
7302 (uri (git-reference
7303 (url home-page)
7304 (commit commit)))
7305 (file-name (git-file-name name version))
7306 (sha256
7307 (base32
7308 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7309 (build-system asdf-build-system/sbcl)
7310 (native-inputs
7311 `(("fiveam" ,sbcl-fiveam)))
7312 (synopsis "Size of a file in bytes in Common Lisp")
7313 (description
7314 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7315 is to open the file with an element type of (unsigned-byte 8) and then
7316 calculate the length of the stream. This is less than ideal. In most cases
7317 it is better to get the size of the file from its metadata, using a system
7318 call.
7319
7320 This library exports a single function, file-size-in-octets. It returns the
7321 size of a file in bytes, using system calls when possible.")
7322 (license license:expat))))
7323
7324 (define-public cl-trivial-file-size
7325 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7326
7327 (define-public ecl-trivial-file-size
7328 (sbcl-package->ecl-package sbcl-trivial-file-size))
7329
7330 (define-public sbcl-trivial-macroexpand-all
7331 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7332 (revision "0"))
7333 (package
7334 (name "sbcl-trivial-macroexpand-all")
7335 (version (git-version "0.0.0" revision commit))
7336 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7337 (source
7338 (origin
7339 (method git-fetch)
7340 (uri (git-reference
7341 (url home-page)
7342 (commit commit)))
7343 (file-name (git-file-name name version))
7344 (sha256
7345 (base32
7346 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7347 (build-system asdf-build-system/sbcl)
7348 (native-inputs
7349 `(("fiveam" ,sbcl-fiveam)))
7350 (synopsis "Portable macroexpand-all for Common Lisp")
7351 (description
7352 "This library provides a macroexpand-all function that calls the
7353 implementation specific equivalent.")
7354 (license license:unlicense))))
7355
7356 (define-public cl-trivial-macroexpand-all
7357 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7358
7359 (define-public ecl-trivial-macroexpand-all
7360 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7361
7362 (define-public sbcl-serapeum
7363 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7364 (revision "2"))
7365 (package
7366 (name "sbcl-serapeum")
7367 (version (git-version "0.0.0" revision commit))
7368 (home-page "https://github.com/ruricolist/serapeum")
7369 (source
7370 (origin
7371 (method git-fetch)
7372 (uri (git-reference
7373 (url home-page)
7374 (commit commit)))
7375 (file-name (git-file-name name version))
7376 (sha256
7377 (base32
7378 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
7379 (build-system asdf-build-system/sbcl)
7380 (inputs
7381 `(("alexandria" ,sbcl-alexandria)
7382 ("trivia" ,sbcl-trivia)
7383 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7384 ("split-sequence" ,sbcl-split-sequence)
7385 ("string-case" ,sbcl-string-case)
7386 ("parse-number" ,sbcl-parse-number)
7387 ("trivial-garbage" ,sbcl-trivial-garbage)
7388 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7389 ("named-readtables" ,sbcl-named-readtables)
7390 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
7391 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7392 ("global-vars" ,sbcl-global-vars)
7393 ("trivial-file-size" ,sbcl-trivial-file-size)
7394 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7395 (native-inputs
7396 `(("fiveam" ,sbcl-fiveam)
7397 ("local-time" ,sbcl-local-time)))
7398 (arguments
7399 '(#:phases
7400 (modify-phases %standard-phases
7401 (add-after 'unpack 'disable-failing-tests
7402 (lambda* (#:key inputs #:allow-other-keys)
7403 (substitute* "serapeum.asd"
7404 ;; Guix does not have Quicklisp, and probably never will.
7405 (("\\(:file \"quicklisp\"\\)") ""))
7406 #t)))))
7407 (synopsis "Common Lisp utility library beyond Alexandria")
7408 (description
7409 "Serapeum is a conservative library of Common Lisp utilities. It is a
7410 supplement, not a competitor, to Alexandria.")
7411 (license license:expat))))
7412
7413 (define-public cl-serapeum
7414 (sbcl-package->cl-source-package sbcl-serapeum))
7415
7416 (define-public sbcl-arrows
7417 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7418 (revision "0"))
7419 (package
7420 (name "sbcl-arrows")
7421 (version (git-version "0.2.0" revision commit))
7422 (source
7423 (origin
7424 (method git-fetch)
7425 (uri (git-reference
7426 (url "https://gitlab.com/Harleqin/arrows.git")
7427 (commit commit)))
7428 (file-name (git-file-name name version))
7429 (sha256
7430 (base32
7431 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7432 (build-system asdf-build-system/sbcl)
7433 (native-inputs
7434 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7435 (synopsis "Clojure-like arrow macros for Common Lisp")
7436 (description
7437 "This library implements the @code{->} and @code{->>} macros from
7438 Clojure, as well as several expansions on the idea.")
7439 (home-page "https://gitlab.com/Harleqin/arrows")
7440 (license license:public-domain))))
7441
7442 (define-public cl-arrows
7443 (sbcl-package->cl-source-package sbcl-arrows))
7444
7445 (define-public ecl-arrows
7446 (sbcl-package->ecl-package sbcl-arrows))
7447
7448 (define-public sbcl-simple-parallel-tasks
7449 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7450 (revision "0"))
7451 (package
7452 (name "sbcl-simple-parallel-tasks")
7453 (version (git-version "1.0" revision commit))
7454 (source
7455 (origin
7456 (method git-fetch)
7457 (uri (git-reference
7458 (url "https://github.com/glv2/simple-parallel-tasks")
7459 (commit commit)))
7460 (file-name (git-file-name name version))
7461 (sha256
7462 (base32
7463 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7464 (build-system asdf-build-system/sbcl)
7465 (native-inputs
7466 `(("fiveam" ,sbcl-fiveam)))
7467 (inputs
7468 `(("chanl" ,sbcl-chanl)))
7469 (synopsis "Common Lisp library to evaluate some forms in parallel")
7470 (description "This is a simple Common Lisp library to evaluate some
7471 forms in parallel.")
7472 (home-page "https://github.com/glv2/simple-parallel-tasks")
7473 (license license:gpl3))))
7474
7475 (define-public cl-simple-parallel-tasks
7476 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7477
7478 (define-public ecl-simple-parallel-tasks
7479 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7480
7481 (define-public sbcl-cl-heap
7482 (package
7483 (name "sbcl-cl-heap")
7484 (version "0.1.6")
7485 (source
7486 (origin
7487 (method url-fetch)
7488 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7489 "cl-heap_" version ".tar.gz"))
7490 (sha256
7491 (base32
7492 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7493 (build-system asdf-build-system/sbcl)
7494 (native-inputs
7495 `(("xlunit" ,sbcl-xlunit)))
7496 (arguments
7497 `(#:test-asd-file "cl-heap-tests.asd"))
7498 (synopsis "Heap and priority queue data structures for Common Lisp")
7499 (description
7500 "CL-HEAP provides various implementations of heap data structures (a
7501 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7502 (home-page "https://common-lisp.net/project/cl-heap/")
7503 (license license:gpl3+)))
7504
7505 (define-public cl-heap
7506 (sbcl-package->cl-source-package sbcl-cl-heap))
7507
7508 (define-public ecl-cl-heap
7509 (sbcl-package->ecl-package sbcl-cl-heap))
7510
7511 (define-public sbcl-curry-compose-reader-macros
7512 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7513 (revision "0"))
7514 (package
7515 (name "sbcl-curry-compose-reader-macros")
7516 (version (git-version "1.0.0" revision commit))
7517 (source
7518 (origin
7519 (method git-fetch)
7520 (uri
7521 (git-reference
7522 (url "https://github.com/eschulte/curry-compose-reader-macros")
7523 (commit commit)))
7524 (file-name (git-file-name name version))
7525 (sha256
7526 (base32
7527 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7528 (build-system asdf-build-system/sbcl)
7529 (inputs
7530 `(("alexandria" ,sbcl-alexandria)
7531 ("named-readtables" ,sbcl-named-readtables)))
7532 (synopsis "Reader macros for partial application and composition")
7533 (description
7534 "This Common Lisp library provides reader macros for concise expression
7535 of function partial application and composition.")
7536 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7537 (license license:public-domain))))
7538
7539 (define-public cl-curry-compose-reader-macros
7540 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7541
7542 (define-public ecl-curry-compose-reader-macros
7543 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7544
7545 (define-public sbcl-yason
7546 (package
7547 (name "sbcl-yason")
7548 (version "0.7.7")
7549 (source
7550 (origin
7551 (method git-fetch)
7552 (uri (git-reference
7553 (url "https://github.com/phmarek/yason")
7554 (commit (string-append "v" version))))
7555 (file-name (git-file-name name version))
7556 (sha256
7557 (base32
7558 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7559 (build-system asdf-build-system/sbcl)
7560 (inputs
7561 `(("alexandria" ,sbcl-alexandria)
7562 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7563 (synopsis "Common Lisp JSON parser/encoder")
7564 (description
7565 "YASON is a Common Lisp library for encoding and decoding data in the
7566 JSON interchange format.")
7567 (home-page "https://github.com/phmarek/yason")
7568 (license license:bsd-3)))
7569
7570 (define-public cl-yason
7571 (sbcl-package->cl-source-package sbcl-yason))
7572
7573 (define-public ecl-yason
7574 (sbcl-package->ecl-package sbcl-yason))
7575
7576 (define-public sbcl-stefil
7577 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7578 (revision "0"))
7579 (package
7580 (name "sbcl-stefil")
7581 (version (git-version "0.1" revision commit))
7582 (source
7583 (origin
7584 (method git-fetch)
7585 (uri (git-reference
7586 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7587 (commit commit)))
7588 (file-name (git-file-name name version))
7589 (sha256
7590 (base32
7591 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7592 (build-system asdf-build-system/sbcl)
7593 (inputs
7594 `(("alexandria" ,sbcl-alexandria)
7595 ("iterate" ,sbcl-iterate)
7596 ("metabang-bind" ,sbcl-metabang-bind)))
7597 (propagated-inputs
7598 ;; Swank doesn't have a pre-compiled package, therefore we must
7599 ;; propagate its sources.
7600 `(("swank" ,cl-slime-swank)))
7601 (arguments
7602 '(#:phases
7603 (modify-phases %standard-phases
7604 (add-after 'unpack 'drop-unnecessary-dependency
7605 (lambda _
7606 (substitute* "package.lisp"
7607 ((":stefil-system") ""))
7608 #t)))))
7609 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7610 (synopsis "Simple test framework")
7611 (description
7612 "Stefil is a simple test framework for Common Lisp, with a focus on
7613 interactive development.")
7614 (license license:public-domain))))
7615
7616 (define-public cl-stefil
7617 (sbcl-package->cl-source-package sbcl-stefil))
7618
7619 (define-public sbcl-graph
7620 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7621 (revision "0"))
7622 (package
7623 (name "sbcl-graph")
7624 (version (git-version "0.0.0" revision commit))
7625 (source
7626 (origin
7627 (method git-fetch)
7628 (uri
7629 (git-reference
7630 (url "https://github.com/eschulte/graph")
7631 (commit commit)))
7632 (file-name (git-file-name name version))
7633 (sha256
7634 (base32
7635 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7636 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7637 (build-system asdf-build-system/sbcl)
7638 (native-inputs
7639 `(("stefil" ,sbcl-stefil)))
7640 (inputs
7641 `(("alexandria" ,sbcl-alexandria)
7642 ("cl-heap" ,sbcl-cl-heap)
7643 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7644 ("metabang-bind" ,sbcl-metabang-bind)
7645 ("named-readtables" ,sbcl-named-readtables)))
7646 (arguments
7647 '(#:test-asd-file "graph-test.asd"))
7648 (synopsis "Graph data structure and algorithms for Common Lisp")
7649 (description
7650 "The GRAPH Common Lisp library provides a data structures to represent
7651 graphs, as well as some graph manipulation and analysis algorithms (shortest
7652 path, maximum flow, minimum spanning tree, etc.).")
7653 (home-page "https://eschulte.github.io/graph/")
7654 (license license:gpl3+))))
7655
7656 (define-public cl-graph
7657 (sbcl-package->cl-source-package sbcl-graph))
7658
7659 (define-public sbcl-graph-dot
7660 (package
7661 (inherit sbcl-graph)
7662 (name "sbcl-graph-dot")
7663 (inputs
7664 `(("alexandria" ,sbcl-alexandria)
7665 ("cl-ppcre" ,sbcl-cl-ppcre)
7666 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7667 ("graph" ,sbcl-graph)
7668 ("metabang-bind" ,sbcl-metabang-bind)
7669 ("named-readtables" ,sbcl-named-readtables)))
7670 (arguments
7671 (substitute-keyword-arguments (package-arguments sbcl-graph)
7672 ((#:asd-file _ "") "graph-dot.asd")
7673 ((#:asd-system-name _ #f) "graph-dot")))
7674 (synopsis "Serialize graphs to and from DOT format")))
7675
7676 (define-public sbcl-graph-json
7677 (package
7678 (inherit sbcl-graph)
7679 (name "sbcl-graph-json")
7680 (inputs
7681 `(("alexandria" ,sbcl-alexandria)
7682 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7683 ("graph" ,sbcl-graph)
7684 ("metabang-bind" ,sbcl-metabang-bind)
7685 ("named-readtables" ,sbcl-named-readtables)
7686 ("yason" ,sbcl-yason)))
7687 (arguments
7688 (substitute-keyword-arguments (package-arguments sbcl-graph)
7689 ((#:asd-file _ "") "graph-json.asd")
7690 ((#:asd-system-name _ #f) "graph-json")))
7691 (synopsis "Serialize graphs to and from JSON format")))
7692
7693 (define-public sbcl-trivial-indent
7694 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7695 (revision "0"))
7696 (package
7697 (name "sbcl-trivial-indent")
7698 (version (git-version "1.0.0" revision commit))
7699 (source
7700 (origin
7701 (method git-fetch)
7702 (uri
7703 (git-reference
7704 (url "https://github.com/Shinmera/trivial-indent")
7705 (commit commit)))
7706 (file-name (git-file-name name version))
7707 (sha256
7708 (base32
7709 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7710 (build-system asdf-build-system/sbcl)
7711 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7712 (description
7713 "This library allows you to define custom indentation hints for your
7714 macros if the one recognised by SLIME automatically produces unwanted
7715 results.")
7716 (home-page "https://shinmera.github.io/trivial-indent/")
7717 (license license:zlib))))
7718
7719 (define-public cl-trivial-indent
7720 (sbcl-package->cl-source-package sbcl-trivial-indent))
7721
7722 (define-public sbcl-documentation-utils
7723 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7724 (revision "0"))
7725 (package
7726 (name "sbcl-documentation-utils")
7727 (version (git-version "1.2.0" revision commit))
7728 (source
7729 (origin
7730 (method git-fetch)
7731 (uri
7732 (git-reference
7733 (url "https://github.com/Shinmera/documentation-utils")
7734 (commit commit)))
7735 (file-name (git-file-name name version))
7736 (sha256
7737 (base32
7738 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7739 (build-system asdf-build-system/sbcl)
7740 (inputs
7741 `(("trivial-indent" ,sbcl-trivial-indent)))
7742 (synopsis "Few simple tools to document Common Lisp libraries")
7743 (description
7744 "This is a small library to help you with managing the Common Lisp
7745 docstrings for your library.")
7746 (home-page "https://shinmera.github.io/documentation-utils/")
7747 (license license:zlib))))
7748
7749 (define-public cl-documentation-utils
7750 (sbcl-package->cl-source-package sbcl-documentation-utils))
7751
7752 (define-public ecl-documentation-utils
7753 (sbcl-package->ecl-package sbcl-documentation-utils))
7754
7755 (define-public sbcl-form-fiddle
7756 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7757 (revision "0"))
7758 (package
7759 (name "sbcl-form-fiddle")
7760 (version (git-version "1.1.0" revision commit))
7761 (source
7762 (origin
7763 (method git-fetch)
7764 (uri
7765 (git-reference
7766 (url "https://github.com/Shinmera/form-fiddle")
7767 (commit commit)))
7768 (file-name (git-file-name name version))
7769 (sha256
7770 (base32
7771 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7772 (build-system asdf-build-system/sbcl)
7773 (inputs
7774 `(("documentation-utils" ,sbcl-documentation-utils)))
7775 (synopsis "Utilities to destructure Common Lisp lambda forms")
7776 (description
7777 "Often times we need to destructure a form definition in a Common Lisp
7778 macro. This library provides a set of simple utilities to help with that.")
7779 (home-page "https://shinmera.github.io/form-fiddle/")
7780 (license license:zlib))))
7781
7782 (define-public cl-form-fiddle
7783 (sbcl-package->cl-source-package sbcl-form-fiddle))
7784
7785 (define-public sbcl-parachute
7786 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7787 (revision "0"))
7788 (package
7789 (name "sbcl-parachute")
7790 (version (git-version "1.1.1" revision commit))
7791 (source
7792 (origin
7793 (method git-fetch)
7794 (uri
7795 (git-reference
7796 (url "https://github.com/Shinmera/parachute")
7797 (commit commit)))
7798 (file-name (git-file-name name version))
7799 (sha256
7800 (base32
7801 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7802 (build-system asdf-build-system/sbcl)
7803 (inputs
7804 `(("documentation-utils" ,sbcl-documentation-utils)
7805 ("form-fiddle" ,sbcl-form-fiddle)))
7806 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7807 (description
7808 "Parachute is a simple-to-use and extensible testing framework.
7809 In Parachute, things are organised as a bunch of named tests within a package.
7810 Each test can contain a bunch of test forms that make up its body.")
7811 (home-page "https://shinmera.github.io/parachute/")
7812 (license license:zlib))))
7813
7814 (define-public cl-parachute
7815 (sbcl-package->cl-source-package sbcl-parachute))
7816
7817 (define-public sbcl-array-utils
7818 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7819 (revision "0"))
7820 (package
7821 (name "sbcl-array-utils")
7822 (version (git-version "1.1.1" revision commit))
7823 (source
7824 (origin
7825 (method git-fetch)
7826 (uri
7827 (git-reference
7828 (url "https://github.com/Shinmera/array-utils")
7829 (commit commit)))
7830 (file-name (git-file-name name version))
7831 (sha256
7832 (base32
7833 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7834 (build-system asdf-build-system/sbcl)
7835 (native-inputs
7836 `(("parachute" ,sbcl-parachute)))
7837 (inputs
7838 `(("documentation-utils" ,sbcl-documentation-utils)))
7839 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7840 (description
7841 "A miniature toolkit that contains some useful shifting/popping/pushing
7842 functions for arrays and vectors. Originally from Plump.")
7843 (home-page "https://shinmera.github.io/array-utils/")
7844 (license license:zlib))))
7845
7846 (define-public cl-array-utils
7847 (sbcl-package->cl-source-package sbcl-array-utils))
7848
7849 (define-public sbcl-plump
7850 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7851 (revision "1"))
7852 (package
7853 (name "sbcl-plump")
7854 (version (git-version "2.0.0" revision commit))
7855 (source
7856 (origin
7857 (method git-fetch)
7858 (uri
7859 (git-reference
7860 (url "https://github.com/Shinmera/plump")
7861 (commit commit)))
7862 (file-name (git-file-name name version))
7863 (sha256
7864 (base32
7865 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7866 (build-system asdf-build-system/sbcl)
7867 (inputs
7868 `(("array-utils" ,sbcl-array-utils)
7869 ("documentation-utils" ,sbcl-documentation-utils)))
7870 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7871 (description
7872 "Plump is a parser for HTML/XML-like documents, focusing on being
7873 lenient towards invalid markup. It can handle things like invalid attributes,
7874 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7875 tags and so on. It parses documents to a class representation and offers a
7876 small set of DOM functions to manipulate it. It can be extended to parse to
7877 your own classes.")
7878 (home-page "https://shinmera.github.io/plump/")
7879 (license license:zlib))))
7880
7881 (define-public cl-plump
7882 (sbcl-package->cl-source-package sbcl-plump))
7883
7884 (define-public sbcl-antik-base
7885 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7886 (revision "1"))
7887 (package
7888 (name "sbcl-antik-base")
7889 (version (git-version "0.0.0" revision commit))
7890 (source
7891 (origin
7892 (method git-fetch)
7893 (uri (git-reference
7894 (url "https://gitlab.common-lisp.net/antik/antik.git")
7895 (commit commit)))
7896 (file-name (git-file-name name version))
7897 (sha256
7898 (base32
7899 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7900 (build-system asdf-build-system/sbcl)
7901 (inputs
7902 `(("alexandria" ,sbcl-alexandria)
7903 ("cl-ppcre" ,sbcl-cl-ppcre)
7904 ("iterate" ,sbcl-iterate)
7905 ("metabang-bind" ,sbcl-metabang-bind)
7906 ("named-readtables" ,sbcl-named-readtables)
7907 ("split-sequence" ,sbcl-split-sequence)))
7908 (native-inputs
7909 `(("lisp-unit" ,sbcl-lisp-unit)))
7910 (synopsis "Scientific and engineering computation in Common Lisp")
7911 (description
7912 "Antik provides a foundation for scientific and engineering
7913 computation in Common Lisp. It is designed not only to facilitate
7914 numerical computations, but to permit the use of numerical computation
7915 libraries and the interchange of data and procedures, whether
7916 foreign (non-Lisp) or Lisp libraries. It is named after the
7917 Antikythera mechanism, one of the oldest examples of a scientific
7918 computer known.")
7919 (home-page "https://common-lisp.net/project/antik/")
7920 (license license:gpl3))))
7921
7922 (define-public cl-antik-base
7923 (sbcl-package->cl-source-package sbcl-antik-base))
7924
7925 (define-public ecl-antik-base
7926 (sbcl-package->ecl-package sbcl-antik-base))
7927
7928 (define-public sbcl-foreign-array
7929 (package
7930 (inherit sbcl-antik-base)
7931 (name "sbcl-foreign-array")
7932 (arguments
7933 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7934 ((#:asd-file _ "") "foreign-array.asd")
7935 ((#:asd-system-name _ #f) "foreign-array")))
7936 (inputs
7937 `(("antik-base" ,sbcl-antik-base)
7938 ("cffi" ,sbcl-cffi)
7939 ("trivial-garbage" ,sbcl-trivial-garbage)
7940 ("static-vectors" ,sbcl-static-vectors)))
7941 (synopsis "Common Lisp library providing access to foreign arrays")))
7942
7943 (define-public cl-foreign-array
7944 (sbcl-package->cl-source-package sbcl-foreign-array))
7945
7946 (define-public ecl-foreign-array
7947 (sbcl-package->ecl-package sbcl-foreign-array))
7948
7949 (define-public sbcl-physical-dimension
7950 (package
7951 (inherit sbcl-antik-base)
7952 (name "sbcl-physical-dimension")
7953 (inputs
7954 `(("fare-utils" ,sbcl-fare-utils)
7955 ("foreign-array" ,sbcl-foreign-array)
7956 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7957 (arguments
7958 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7959 ((#:asd-file _ "") "physical-dimension.asd")
7960 ((#:asd-system-name _ #f) "physical-dimension")))
7961 (synopsis
7962 "Common Lisp library providing computations with physical units")))
7963
7964 (define-public cl-physical-dimension
7965 (sbcl-package->cl-source-package sbcl-physical-dimension))
7966
7967 (define-public sbcl-science-data
7968 (package
7969 (inherit sbcl-antik-base)
7970 (name "sbcl-science-data")
7971 (inputs
7972 `(("physical-dimension" ,sbcl-physical-dimension)
7973 ("drakma" ,sbcl-drakma)))
7974 (arguments
7975 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7976 ((#:asd-file _ "") "science-data.asd")
7977 ((#:asd-system-name _ #f) "science-data")))
7978 (synopsis
7979 "Common Lisp library for scientific and engineering numerical data")))
7980
7981 (define-public cl-science-data
7982 (sbcl-package->cl-source-package sbcl-science-data))
7983
7984 (define-public sbcl-gsll
7985 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7986 (revision "1"))
7987 (package
7988 (name "sbcl-gsll")
7989 (version (git-version "0.0.0" revision commit))
7990 (source
7991 (origin
7992 (method git-fetch)
7993 (uri (git-reference
7994 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7995 (commit commit)))
7996 (file-name (git-file-name name version))
7997 (sha256
7998 (base32
7999 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
8000 (build-system asdf-build-system/sbcl)
8001 (native-inputs
8002 `(("lisp-unit" ,sbcl-lisp-unit)))
8003 (inputs
8004 `(("alexandria" ,sbcl-alexandria)
8005 ("cffi-grovel" ,sbcl-cffi-grovel)
8006 ("cffi-libffi" ,sbcl-cffi-libffi)
8007 ("foreign-array" ,sbcl-foreign-array)
8008 ("gsl" ,gsl)
8009 ("metabang-bind" ,sbcl-metabang-bind)
8010 ("trivial-features" ,sbcl-trivial-features)
8011 ("trivial-garbage" ,sbcl-trivial-garbage)))
8012 (arguments
8013 `(#:tests? #f
8014 #:phases
8015 (modify-phases %standard-phases
8016 (add-after 'unpack 'fix-cffi-paths
8017 (lambda* (#:key inputs #:allow-other-keys)
8018 (substitute* "gsll.asd"
8019 ((":depends-on \\(#:foreign-array")
8020 ":depends-on (#:foreign-array #:cffi-libffi"))
8021 (substitute* "init/init.lisp"
8022 (("libgslcblas.so" all)
8023 (string-append
8024 (assoc-ref inputs "gsl") "/lib/" all)))
8025 (substitute* "init/init.lisp"
8026 (("libgsl.so" all)
8027 (string-append
8028 (assoc-ref inputs "gsl") "/lib/" all))))))))
8029 (synopsis "GNU Scientific Library for Lisp")
8030 (description
8031 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8032 GNU Scientific Library (GSL) from Common Lisp. This library provides a
8033 full range of common mathematical operations useful to scientific and
8034 engineering applications. The design of the GSLL interface is such
8035 that access to most of the GSL library is possible in a Lisp-natural
8036 way; the intent is that the user not be hampered by the restrictions
8037 of the C language in which GSL has been written. GSLL thus provides
8038 interactive use of GSL for getting quick answers, even for someone not
8039 intending to program in Lisp.")
8040 (home-page "https://common-lisp.net/project/gsll/")
8041 (license license:gpl3))))
8042
8043 (define-public cl-gsll
8044 (sbcl-package->cl-source-package sbcl-gsll))
8045
8046 (define-public sbcl-antik
8047 (package
8048 (inherit sbcl-antik-base)
8049 (name "sbcl-antik")
8050 (inputs
8051 `(("gsll" ,sbcl-gsll)
8052 ("physical-dimension" ,sbcl-physical-dimension)))
8053 (arguments
8054 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
8055 ((#:asd-file _ "") "antik.asd")
8056 ((#:asd-system-name _ #f) "antik")))))
8057
8058 (define-public cl-antik
8059 (sbcl-package->cl-source-package sbcl-antik))
8060
8061 (define-public sbcl-cl-interpol
8062 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
8063 (revision "1"))
8064 (package
8065 (name "sbcl-cl-interpol")
8066 (version (git-version "0.2.6" revision commit))
8067 (source
8068 (origin
8069 (method git-fetch)
8070 (uri (git-reference
8071 (url "https://github.com/edicl/cl-interpol")
8072 (commit commit)))
8073 (file-name (git-file-name name version))
8074 (sha256
8075 (base32
8076 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8077 (build-system asdf-build-system/sbcl)
8078 (inputs
8079 `(("cl-unicode" ,sbcl-cl-unicode)
8080 ("named-readtables" ,sbcl-named-readtables)))
8081 (native-inputs
8082 `(("flexi-streams" ,sbcl-flexi-streams)))
8083 (synopsis "String interpolation for Common Lisp")
8084 (description
8085 "CL-INTERPOL is a library for Common Lisp which modifies the
8086 reader so that you can have interpolation within strings similar to
8087 Perl or Unix Shell scripts. It also provides various ways to insert
8088 arbitrary characters into literal strings even if your editor/IDE
8089 doesn't support them.")
8090 (home-page "https://edicl.github.io/cl-interpol/")
8091 (license license:bsd-3))))
8092
8093 (define-public cl-interpol
8094 (sbcl-package->cl-source-package sbcl-cl-interpol))
8095
8096 (define-public ecl-cl-interpol
8097 (sbcl-package->ecl-package sbcl-cl-interpol))
8098
8099 (define sbcl-symbol-munger-boot0
8100 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8101 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8102 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8103 (revision "1"))
8104 (package
8105 (name "sbcl-symbol-munger-boot0")
8106 (version (git-version "0.0.1" revision commit))
8107 (source
8108 (origin
8109 (method git-fetch)
8110 (uri (git-reference
8111 (url "https://github.com/AccelerationNet/symbol-munger")
8112 (commit commit)))
8113 (file-name (git-file-name name version))
8114 (sha256
8115 (base32
8116 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8117 (build-system asdf-build-system/sbcl)
8118 (arguments
8119 `(#:asd-file "symbol-munger.asd"
8120 #:asd-system-name "symbol-munger"))
8121 (inputs
8122 `(("iterate" ,sbcl-iterate)
8123 ("alexandria" ,sbcl-alexandria)))
8124 (native-inputs
8125 `(("lisp-unit" ,sbcl-lisp-unit)))
8126 (synopsis
8127 "Capitalization and spacing conversion functions for Common Lisp")
8128 (description
8129 "This is a Common Lisp library to change the capitalization and spacing
8130 of a string or a symbol. It can convert to and from Lisp, english, underscore
8131 and camel-case rules.")
8132 (home-page "https://github.com/AccelerationNet/symbol-munger")
8133 ;; The package declares a BSD license, but all of the license
8134 ;; text is MIT.
8135 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8136 (license license:expat))))
8137
8138 (define sbcl-lisp-unit2-boot0
8139 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8140 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8141 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8142 (revision "1"))
8143 (package
8144 (name "sbcl-lisp-unit2-boot0")
8145 (version (git-version "0.2.0" revision commit))
8146 (source
8147 (origin
8148 (method git-fetch)
8149 (uri (git-reference
8150 (url "https://github.com/AccelerationNet/lisp-unit2")
8151 (commit commit)))
8152 (file-name (git-file-name name version))
8153 (sha256
8154 (base32
8155 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8156 (build-system asdf-build-system/sbcl)
8157 (arguments
8158 `(#:asd-file "lisp-unit2.asd"
8159 #:asd-system-name "lisp-unit2"))
8160 (inputs
8161 `(("alexandria" ,sbcl-alexandria)
8162 ("cl-interpol" ,sbcl-cl-interpol)
8163 ("iterate" ,sbcl-iterate)
8164 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8165 (synopsis "Test Framework for Common Lisp")
8166 (description
8167 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8168 style of JUnit for Java. It is a new version of the lisp-unit library written
8169 by Chris Riesbeck.")
8170 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8171 (license license:expat))))
8172
8173 (define-public sbcl-symbol-munger
8174 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8175 (revision "1"))
8176 (package
8177 (name "sbcl-symbol-munger")
8178 (version (git-version "0.0.1" revision commit))
8179 (source
8180 (origin
8181 (method git-fetch)
8182 (uri (git-reference
8183 (url "https://github.com/AccelerationNet/symbol-munger")
8184 (commit commit)))
8185 (file-name (git-file-name name version))
8186 (sha256
8187 (base32
8188 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8189 (build-system asdf-build-system/sbcl)
8190 (inputs
8191 `(("alexandria" ,sbcl-alexandria)
8192 ("iterate" ,sbcl-iterate)))
8193 (native-inputs
8194 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8195 (synopsis
8196 "Capitalization and spacing conversion functions for Common Lisp")
8197 (description
8198 "This is a Common Lisp library to change the capitalization and spacing
8199 of a string or a symbol. It can convert to and from Lisp, english, underscore
8200 and camel-case rules.")
8201 (home-page "https://github.com/AccelerationNet/symbol-munger")
8202 ;; The package declares a BSD license, but all of the license
8203 ;; text is MIT.
8204 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8205 (license license:expat))))
8206
8207 (define-public cl-symbol-munger
8208 (sbcl-package->cl-source-package sbcl-symbol-munger))
8209
8210 (define-public ecl-symbol-munger
8211 (sbcl-package->ecl-package sbcl-symbol-munger))
8212
8213 (define-public sbcl-lisp-unit2
8214 (package
8215 (inherit sbcl-lisp-unit2-boot0)
8216 (name "sbcl-lisp-unit2")
8217 (inputs
8218 `(("alexandria" ,sbcl-alexandria)
8219 ("cl-interpol" ,sbcl-cl-interpol)
8220 ("iterate" ,sbcl-iterate)
8221 ("symbol-munger" ,sbcl-symbol-munger)))))
8222
8223 (define-public cl-lisp-unit2
8224 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8225
8226 (define-public ecl-lisp-unit2
8227 (sbcl-package->ecl-package sbcl-lisp-unit2))
8228
8229 (define-public sbcl-cl-csv
8230 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8231 (revision "1"))
8232 (package
8233 (name "sbcl-cl-csv")
8234 (version (git-version "1.0.6" revision commit))
8235 (source
8236 (origin
8237 (method git-fetch)
8238 (uri (git-reference
8239 (url "https://github.com/AccelerationNet/cl-csv")
8240 (commit commit)))
8241 (file-name (git-file-name name version))
8242 (sha256
8243 (base32
8244 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8245 (build-system asdf-build-system/sbcl)
8246 (arguments
8247 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8248 `(#:tests? #f))
8249 (inputs
8250 `(("alexandria" ,sbcl-alexandria)
8251 ("cl-interpol" ,sbcl-cl-interpol)
8252 ("iterate" ,sbcl-iterate)))
8253 (native-inputs
8254 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8255 (synopsis "Common lisp library for comma-separated values")
8256 (description
8257 "This is a Common Lisp library providing functions to read/write CSV
8258 from/to strings, streams and files.")
8259 (home-page "https://github.com/AccelerationNet/cl-csv")
8260 (license license:bsd-3))))
8261
8262 (define-public cl-csv
8263 (sbcl-package->cl-source-package sbcl-cl-csv))
8264
8265 (define-public ecl-cl-csv
8266 (sbcl-package->ecl-package sbcl-cl-csv))
8267
8268 (define-public sbcl-external-program
8269 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8270 (revision "1"))
8271 (package
8272 (name "sbcl-external-program")
8273 (version (git-version "0.0.6" revision commit))
8274 (source
8275 (origin
8276 (method git-fetch)
8277 (uri (git-reference
8278 (url "https://github.com/sellout/external-program")
8279 (commit commit)))
8280 (file-name (git-file-name name version))
8281 (sha256
8282 (base32
8283 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8284 (build-system asdf-build-system/sbcl)
8285 (inputs
8286 `(("trivial-features" ,sbcl-trivial-features)))
8287 (native-inputs
8288 `(("fiveam" ,sbcl-fiveam)))
8289 (synopsis "Common Lisp library for running external programs")
8290 (description
8291 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8292 process. It is an attempt to make the RUN-PROGRAM functionality in
8293 implementations like SBCL and CCL as portable as possible without
8294 sacrificing much in the way of power.")
8295 (home-page "https://github.com/sellout/external-program")
8296 (license license:llgpl))))
8297
8298 (define-public cl-external-program
8299 (sbcl-package->cl-source-package sbcl-external-program))
8300
8301 (define-public ecl-external-program
8302 (sbcl-package->ecl-package sbcl-external-program))
8303
8304 (define sbcl-cl-ana-boot0
8305 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8306 (revision "1"))
8307 (package
8308 (name "sbcl-cl-ana-boot0")
8309 (version (git-version "0.0.0" revision commit))
8310 (source
8311 (origin
8312 (method git-fetch)
8313 (uri (git-reference
8314 (url "https://github.com/ghollisjr/cl-ana")
8315 (commit commit)))
8316 (file-name (git-file-name name version))
8317 (sha256
8318 (base32
8319 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8320 (build-system asdf-build-system/sbcl)
8321 (synopsis "Common Lisp data analysis library")
8322 (description
8323 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8324 binned data analysis along with nonlinear least squares fitting and
8325 visualization.")
8326 (home-page "https://github.com/ghollisjr/cl-ana")
8327 (license license:gpl3))))
8328
8329 (define-public sbcl-cl-ana.pathname-utils
8330 (package
8331 (inherit sbcl-cl-ana-boot0)
8332 (name "sbcl-cl-ana.pathname-utils")
8333 (arguments
8334 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8335 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8336 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8337
8338 (define-public cl-ana.pathname-utils
8339 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8340
8341 (define-public ecl-cl-ana.pathname-utils
8342 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
8343
8344 (define-public sbcl-cl-ana.package-utils
8345 (package
8346 (inherit sbcl-cl-ana-boot0)
8347 (name "sbcl-cl-ana.package-utils")
8348 (inputs
8349 `(("alexandria" ,sbcl-alexandria)))
8350 (arguments
8351 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8352 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8353 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8354
8355 (define-public cl-ana.package-utils
8356 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8357
8358 (define-public ecl-cl-ana.package-utils
8359 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
8360
8361 (define-public sbcl-cl-ana.string-utils
8362 (package
8363 (inherit sbcl-cl-ana-boot0)
8364 (name "sbcl-cl-ana.string-utils")
8365 (inputs
8366 `(("split-sequence" ,sbcl-split-sequence)))
8367 (arguments
8368 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8369 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8370 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8371
8372 (define-public cl-ana.string-utils
8373 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8374
8375 (define-public ecl-cl-ana.string-utils
8376 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
8377
8378 (define-public sbcl-cl-ana.functional-utils
8379 (package
8380 (inherit sbcl-cl-ana-boot0)
8381 (name "sbcl-cl-ana.functional-utils")
8382 (arguments
8383 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8384 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8385 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8386
8387 (define-public cl-ana.functional-utils
8388 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8389
8390 (define-public ecl-cl-ana.functional-utils
8391 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
8392
8393 (define-public sbcl-cl-ana.list-utils
8394 (package
8395 (inherit sbcl-cl-ana-boot0)
8396 (name "sbcl-cl-ana.list-utils")
8397 (inputs
8398 `(("alexandria" ,sbcl-alexandria)
8399 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8400 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8401 (arguments
8402 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8403 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8404 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8405
8406 (define-public cl-ana.list-utils
8407 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8408
8409 (define-public ecl-cl-ana.list-utils
8410 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
8411
8412 (define-public sbcl-cl-ana.generic-math
8413 (package
8414 (inherit sbcl-cl-ana-boot0)
8415 (name "sbcl-cl-ana.generic-math")
8416 (inputs
8417 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8418 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8419 (arguments
8420 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8421 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8422 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8423
8424 (define-public cl-ana.generic-math
8425 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8426
8427 (define-public ecl-cl-ana.generic-math
8428 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
8429
8430 (define-public sbcl-cl-ana.math-functions
8431 (package
8432 (inherit sbcl-cl-ana-boot0)
8433 (name "sbcl-cl-ana.math-functions")
8434 (inputs
8435 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8436 ("gsll" ,sbcl-gsll)))
8437 (arguments
8438 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8439 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8440 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8441
8442 (define-public cl-ana.math-functions
8443 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
8444
8445 (define-public sbcl-cl-ana.calculus
8446 (package
8447 (inherit sbcl-cl-ana-boot0)
8448 (name "sbcl-cl-ana.calculus")
8449 (inputs
8450 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8451 (arguments
8452 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8453 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8454 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8455
8456 (define-public cl-ana.calculus
8457 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8458
8459 (define-public ecl-cl-ana.calculus
8460 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
8461
8462 (define-public sbcl-cl-ana.symbol-utils
8463 (package
8464 (inherit sbcl-cl-ana-boot0)
8465 (name "sbcl-cl-ana.symbol-utils")
8466 (inputs
8467 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8468 (arguments
8469 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8470 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8471 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8472
8473 (define-public cl-ana.symbol-utils
8474 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8475
8476 (define-public ecl-cl-ana.symbol-utils
8477 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
8478
8479 (define-public sbcl-cl-ana.macro-utils
8480 (package
8481 (inherit sbcl-cl-ana-boot0)
8482 (name "sbcl-cl-ana.macro-utils")
8483 (inputs
8484 `(("alexandria" ,sbcl-alexandria)
8485 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8486 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8487 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8488 ("split-sequence" ,sbcl-split-sequence)))
8489 (arguments
8490 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8491 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8492 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8493
8494 (define-public cl-ana.macro-utils
8495 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8496
8497 (define-public ecl-cl-ana.macro-utils
8498 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
8499
8500 (define-public sbcl-cl-ana.binary-tree
8501 (package
8502 (inherit sbcl-cl-ana-boot0)
8503 (name "sbcl-cl-ana.binary-tree")
8504 (inputs
8505 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8506 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8507 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8508 (arguments
8509 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8510 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8511 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8512
8513 (define-public cl-ana.binary-tree
8514 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8515
8516 (define-public ecl-cl-ana.binary-tree
8517 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
8518
8519 (define-public sbcl-cl-ana.tensor
8520 (package
8521 (inherit sbcl-cl-ana-boot0)
8522 (name "sbcl-cl-ana.tensor")
8523 (inputs
8524 `(("alexandria" ,sbcl-alexandria)
8525 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8526 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8527 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8528 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8529 (arguments
8530 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8531 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8532 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8533
8534 (define-public cl-ana.tensor
8535 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8536
8537 (define-public ecl-cl-ana.tensor
8538 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
8539
8540 (define-public sbcl-cl-ana.error-propogation
8541 (package
8542 (inherit sbcl-cl-ana-boot0)
8543 (name "sbcl-cl-ana.error-propogation")
8544 (inputs
8545 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8546 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8547 (arguments
8548 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8549 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8550 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8551
8552 (define-public cl-ana.error-propogation
8553 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
8554
8555 (define-public sbcl-cl-ana.quantity
8556 (package
8557 (inherit sbcl-cl-ana-boot0)
8558 (name "sbcl-cl-ana.quantity")
8559 (inputs
8560 `(("alexandria" ,sbcl-alexandria)
8561 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8562 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8563 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8564 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8565 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8566 (arguments
8567 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8568 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8569 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8570
8571 (define-public cl-ana.quantity
8572 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
8573
8574 (define-public sbcl-cl-ana.table
8575 (package
8576 (inherit sbcl-cl-ana-boot0)
8577 (name "sbcl-cl-ana.table")
8578 (inputs
8579 `(("alexandria" ,sbcl-alexandria)
8580 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8581 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8582 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8583 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8584 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8585 (arguments
8586 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8587 ((#:asd-file _ "") "table/cl-ana.table.asd")
8588 ((#:asd-system-name _ #f) "cl-ana.table")))))
8589
8590 (define-public cl-ana.table
8591 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8592
8593 (define-public ecl-cl-ana.table
8594 (sbcl-package->ecl-package sbcl-cl-ana.table))
8595
8596 (define-public sbcl-cl-ana.table-utils
8597 (package
8598 (inherit sbcl-cl-ana-boot0)
8599 (name "sbcl-cl-ana.table-utils")
8600 (inputs
8601 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8602 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8603 ("cl-ana.table" ,sbcl-cl-ana.table)))
8604 (arguments
8605 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8606 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8607 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8608
8609 (define-public cl-ana.table-utils
8610 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8611
8612 (define-public ecl-cl-ana.table-utils
8613 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
8614
8615 (define-public sbcl-cl-ana.hdf-cffi
8616 (package
8617 (inherit sbcl-cl-ana-boot0)
8618 (name "sbcl-cl-ana.hdf-cffi")
8619 (inputs
8620 `(("cffi" ,sbcl-cffi)
8621 ("hdf5" ,hdf5-parallel-openmpi)))
8622 (arguments
8623 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8624 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8625 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8626 ((#:phases phases '%standard-phases)
8627 `(modify-phases ,phases
8628 (add-after 'unpack 'fix-paths
8629 (lambda* (#:key inputs #:allow-other-keys)
8630 (substitute* "hdf-cffi/hdf-cffi.lisp"
8631 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8632 (string-append
8633 (assoc-ref inputs "hdf5")
8634 "/lib/libhdf5.so")))))))))))
8635
8636 (define-public cl-ana.hdf-cffi
8637 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8638
8639 (define-public ecl-cl-ana.hdf-cffi
8640 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
8641
8642 (define-public sbcl-cl-ana.int-char
8643 (package
8644 (inherit sbcl-cl-ana-boot0)
8645 (name "sbcl-cl-ana.int-char")
8646 (arguments
8647 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8648 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8649 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8650
8651 (define-public cl-ana.int-char
8652 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8653
8654 (define-public ecl-cl-ana.int-char
8655 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
8656
8657 (define-public sbcl-cl-ana.memoization
8658 (package
8659 (inherit sbcl-cl-ana-boot0)
8660 (name "sbcl-cl-ana.memoization")
8661 (inputs
8662 `(("alexandria" ,sbcl-alexandria)))
8663 (arguments
8664 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8665 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8666 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8667
8668 (define-public cl-ana.memoization
8669 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8670
8671 (define-public ecl-cl-ana.memoization
8672 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
8673
8674 (define-public sbcl-cl-ana.typespec
8675 (package
8676 (inherit sbcl-cl-ana-boot0)
8677 (name "sbcl-cl-ana.typespec")
8678 (inputs
8679 `(("alexandria" ,sbcl-alexandria)
8680 ("cffi" ,sbcl-cffi)
8681 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8682 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8683 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8684 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8685 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8686 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8687 (arguments
8688 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8689 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8690 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8691
8692 (define-public cl-ana.typespec
8693 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8694
8695 (define-public ecl-cl-ana.typespec
8696 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
8697
8698 (define-public sbcl-cl-ana.hdf-typespec
8699 (package
8700 (inherit sbcl-cl-ana-boot0)
8701 (name "sbcl-cl-ana.hdf-typespec")
8702 (inputs
8703 `(("alexandria" ,sbcl-alexandria)
8704 ("cffi" ,sbcl-cffi)
8705 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8706 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8707 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8708 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8709 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8710 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8711 (arguments
8712 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8713 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8714 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8715
8716 (define-public cl-ana.hdf-typespec
8717 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8718
8719 (define-public ecl-cl-ana.hdf-typespec
8720 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
8721
8722 (define-public sbcl-cl-ana.hdf-utils
8723 (package
8724 (inherit sbcl-cl-ana-boot0)
8725 (name "sbcl-cl-ana.hdf-utils")
8726 (inputs
8727 `(("alexandria" ,sbcl-alexandria)
8728 ("cffi" ,sbcl-cffi)
8729 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8730 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8731 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8732 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8733 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8734 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8735 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8736 (arguments
8737 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8738 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8739 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8740
8741 (define-public cl-ana.hdf-utils
8742 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8743
8744 (define-public ecl-cl-ana.hdf-utils
8745 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
8746
8747 (define-public sbcl-cl-ana.typed-table
8748 (package
8749 (inherit sbcl-cl-ana-boot0)
8750 (name "sbcl-cl-ana.typed-table")
8751 (inputs
8752 `(("alexandria" ,sbcl-alexandria)
8753 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8754 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8755 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8756 ("cl-ana.table" ,sbcl-cl-ana.table)
8757 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8758 (arguments
8759 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8760 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8761 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8762
8763 (define-public cl-ana.typed-table
8764 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8765
8766 (define-public ecl-cl-ana.typed-table
8767 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8768
8769 (define-public sbcl-cl-ana.hdf-table
8770 (package
8771 (inherit sbcl-cl-ana-boot0)
8772 (name "sbcl-cl-ana.hdf-table")
8773 (inputs
8774 `(("alexandria" ,sbcl-alexandria)
8775 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8776 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8777 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8778 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8779 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8780 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8781 ("cl-ana.table" ,sbcl-cl-ana.table)
8782 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8783 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8784 (arguments
8785 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8786 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8787 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8788
8789 (define-public cl-ana.hdf-table
8790 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8791
8792 (define-public ecl-cl-ana.hdf-table
8793 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
8794
8795 (define-public sbcl-cl-ana.gsl-cffi
8796 (package
8797 (inherit sbcl-cl-ana-boot0)
8798 (name "sbcl-cl-ana.gsl-cffi")
8799 (inputs
8800 `(("cffi" ,sbcl-cffi)
8801 ("gsl" ,gsl)))
8802 (arguments
8803 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8804 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8805 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8806 ((#:phases phases '%standard-phases)
8807 `(modify-phases ,phases
8808 (add-after 'unpack 'fix-paths
8809 (lambda* (#:key inputs #:allow-other-keys)
8810 (substitute* "gsl-cffi/gsl-cffi.lisp"
8811 (("define-foreign-library gsl-cffi" all)
8812 (string-append all " (:unix "
8813 (assoc-ref inputs "gsl")
8814 "/lib/libgsl.so)")))))))))))
8815
8816 (define-public cl-ana.gsl-cffi
8817 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8818
8819 (define-public ecl-cl-ana.gsl-cffi
8820 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
8821
8822 (define-public sbcl-cl-ana.ntuple-table
8823 (package
8824 (inherit sbcl-cl-ana-boot0)
8825 (name "sbcl-cl-ana.ntuple-table")
8826 (inputs
8827 `(("alexandria" ,sbcl-alexandria)
8828 ("cffi" ,sbcl-cffi)
8829 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8830 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8831 ("cl-ana.table" ,sbcl-cl-ana.table)
8832 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8833 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8834 ("gsll" ,sbcl-gsll)))
8835 (arguments
8836 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8837 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8838 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8839
8840 (define-public cl-ana.ntuple-table
8841 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
8842
8843 (define-public sbcl-cl-ana.csv-table
8844 (package
8845 (inherit sbcl-cl-ana-boot0)
8846 (name "sbcl-cl-ana.csv-table")
8847 (inputs
8848 `(("alexandria" ,sbcl-alexandria)
8849 ("antik" ,sbcl-antik)
8850 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8851 ("cl-ana.table" ,sbcl-cl-ana.table)
8852 ("cl-csv" ,sbcl-cl-csv)
8853 ("iterate" ,sbcl-iterate)))
8854 (arguments
8855 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8856 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8857 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8858
8859 (define-public cl-ana.csv-table
8860 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
8861
8862 (define-public sbcl-cl-ana.reusable-table
8863 (package
8864 (inherit sbcl-cl-ana-boot0)
8865 (name "sbcl-cl-ana.reusable-table")
8866 (inputs
8867 `(("alexandria" ,sbcl-alexandria)
8868 ("cl-ana.table" ,sbcl-cl-ana.table)))
8869 (arguments
8870 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8871 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8872 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8873
8874 (define-public cl-ana.reusable-table
8875 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8876
8877 (define-public ecl-cl-ana.reusable-table
8878 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
8879
8880 (define-public sbcl-cl-ana.linear-algebra
8881 (package
8882 (inherit sbcl-cl-ana-boot0)
8883 (name "sbcl-cl-ana.linear-algebra")
8884 (inputs
8885 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8886 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8887 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8888 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8889 ("gsll" ,sbcl-gsll)))
8890 (arguments
8891 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8892 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8893 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8894
8895 (define-public cl-ana.linear-algebra
8896 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
8897
8898 (define-public sbcl-cl-ana.lorentz
8899 (package
8900 (inherit sbcl-cl-ana-boot0)
8901 (name "sbcl-cl-ana.lorentz")
8902 (inputs
8903 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8904 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8905 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8906 ("iterate" ,sbcl-iterate)))
8907 (arguments
8908 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8909 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8910 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8911
8912 (define-public cl-ana.lorentz
8913 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
8914
8915 (define-public sbcl-cl-ana.clos-utils
8916 (package
8917 (inherit sbcl-cl-ana-boot0)
8918 (name "sbcl-cl-ana.clos-utils")
8919 (inputs
8920 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8921 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8922 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8923 ("closer-mop" ,sbcl-closer-mop)))
8924 (arguments
8925 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8926 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8927 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8928
8929 (define-public cl-ana.clos-utils
8930 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8931
8932 (define-public ecl-cl-ana.clos-utils
8933 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
8934
8935 (define-public sbcl-cl-ana.hash-table-utils
8936 (package
8937 (inherit sbcl-cl-ana-boot0)
8938 (name "sbcl-cl-ana.hash-table-utils")
8939 (arguments
8940 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8941 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8942 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8943
8944 (define-public cl-ana.hash-table-utils
8945 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8946
8947 (define-public ecl-cl-ana.hash-table-utils
8948 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
8949
8950 (define-public sbcl-cl-ana.map
8951 (package
8952 (inherit sbcl-cl-ana-boot0)
8953 (name "sbcl-cl-ana.map")
8954 (inputs
8955 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8956 (arguments
8957 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8958 ((#:asd-file _ "") "map/cl-ana.map.asd")
8959 ((#:asd-system-name _ #f) "cl-ana.map")))))
8960
8961 (define-public cl-ana.map
8962 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8963
8964 (define-public ecl-cl-ana.map
8965 (sbcl-package->ecl-package sbcl-cl-ana.map))
8966
8967 (define-public sbcl-cl-ana.fitting
8968 (package
8969 (inherit sbcl-cl-ana-boot0)
8970 (name "sbcl-cl-ana.fitting")
8971 (inputs
8972 `(("alexandria" ,sbcl-alexandria)
8973 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8974 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8975 ("cl-ana.map" ,sbcl-cl-ana.map)
8976 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8977 ("gsll" ,sbcl-gsll)))
8978 (arguments
8979 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8980 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8981 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8982
8983 (define-public cl-ana.fitting
8984 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
8985
8986 (define-public sbcl-cl-ana.histogram
8987 (package
8988 (inherit sbcl-cl-ana-boot0)
8989 (name "sbcl-cl-ana.histogram")
8990 (inputs
8991 `(("alexandria" ,sbcl-alexandria)
8992 ("iterate" ,sbcl-iterate)
8993 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8994 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8995 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8996 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8997 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8998 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8999 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9000 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9001 ("cl-ana.map" ,sbcl-cl-ana.map)
9002 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
9003 (arguments
9004 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9005 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
9006 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
9007
9008 (define-public cl-ana.histogram
9009 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
9010
9011 (define-public sbcl-cl-ana.file-utils
9012 (package
9013 (inherit sbcl-cl-ana-boot0)
9014 (name "sbcl-cl-ana.file-utils")
9015 (inputs
9016 `(("external-program" ,sbcl-external-program)
9017 ("split-sequence" ,sbcl-split-sequence)))
9018 (arguments
9019 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9020 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
9021 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
9022
9023 (define-public cl-ana.file-utils
9024 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
9025
9026 (define-public ecl-cl-ana.file-utils
9027 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
9028
9029 (define-public sbcl-cl-ana.statistics
9030 (package
9031 (inherit sbcl-cl-ana-boot0)
9032 (name "sbcl-cl-ana.statistics")
9033 (inputs
9034 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9035 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9036 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9037 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9038 ("cl-ana.map" ,sbcl-cl-ana.map)))
9039 (arguments
9040 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9041 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
9042 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
9043
9044 (define-public cl-ana.statistics
9045 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
9046
9047 (define-public sbcl-cl-ana.gnuplot-interface
9048 (package
9049 (inherit sbcl-cl-ana-boot0)
9050 (name "sbcl-cl-ana.gnuplot-interface")
9051 (inputs
9052 `(("external-program" ,sbcl-external-program)))
9053 (arguments
9054 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9055 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
9056 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
9057
9058 (define-public cl-ana.gnuplot-interface
9059 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
9060
9061 (define-public ecl-cl-ana.gnuplot-interface
9062 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
9063
9064 (define-public sbcl-cl-ana.plotting
9065 (package
9066 (inherit sbcl-cl-ana-boot0)
9067 (name "sbcl-cl-ana.plotting")
9068 (inputs
9069 `(("alexandria" ,sbcl-alexandria)
9070 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9071 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9072 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9073 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
9074 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9075 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9076 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9077 ("cl-ana.map" ,sbcl-cl-ana.map)
9078 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9079 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9080 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9081 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9082 ("external-program" ,sbcl-external-program)
9083 ("split-sequence" ,sbcl-split-sequence)))
9084 (arguments
9085 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9086 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9087 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9088
9089 (define-public cl-ana.plotting
9090 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
9091
9092 (define-public sbcl-cl-ana.table-viewing
9093 (package
9094 (inherit sbcl-cl-ana-boot0)
9095 (name "sbcl-cl-ana.table-viewing")
9096 (inputs
9097 `(("alexandria" ,sbcl-alexandria)
9098 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9099 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9100 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9101 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9102 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9103 ("cl-ana.table" ,sbcl-cl-ana.table)))
9104 (arguments
9105 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9106 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9107 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9108
9109 (define-public cl-ana.table-viewing
9110 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
9111
9112 (define-public sbcl-cl-ana.serialization
9113 (package
9114 (inherit sbcl-cl-ana-boot0)
9115 (name "sbcl-cl-ana.serialization")
9116 (inputs
9117 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9118 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9119 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9120 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9121 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9122 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9123 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9124 (arguments
9125 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9126 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9127 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9128
9129 (define-public cl-ana.serialization
9130 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
9131
9132 (define-public sbcl-cl-ana.makeres
9133 (package
9134 (inherit sbcl-cl-ana-boot0)
9135 (name "sbcl-cl-ana.makeres")
9136 (inputs
9137 `(("alexandria" ,sbcl-alexandria)
9138 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9139 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9140 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9141 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9142 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9143 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9144 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9145 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9146 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9147 ("cl-ana.map" ,sbcl-cl-ana.map)
9148 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9149 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9150 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9151 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9152 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9153 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9154 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9155 ("cl-ana.table" ,sbcl-cl-ana.table)
9156 ("external-program" ,sbcl-external-program)))
9157 (native-inputs
9158 `(("cl-fad" ,sbcl-cl-fad)))
9159 (arguments
9160 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9161 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9162 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9163
9164 (define-public cl-ana.makeres
9165 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
9166
9167 (define-public sbcl-cl-ana.makeres-macro
9168 (package
9169 (inherit sbcl-cl-ana-boot0)
9170 (name "sbcl-cl-ana.makeres-macro")
9171 (inputs
9172 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9173 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9174 (arguments
9175 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9176 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9177 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9178
9179 (define-public cl-ana.makeres-macro
9180 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
9181
9182 (define-public sbcl-cl-ana.makeres-block
9183 (package
9184 (inherit sbcl-cl-ana-boot0)
9185 (name "sbcl-cl-ana.makeres-block")
9186 (inputs
9187 `(("alexandria" ,sbcl-alexandria)
9188 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9189 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9190 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9191 (arguments
9192 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9193 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9194 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9195
9196 (define-public cl-ana.makeres-block
9197 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
9198
9199 (define-public sbcl-cl-ana.makeres-progress
9200 (package
9201 (inherit sbcl-cl-ana-boot0)
9202 (name "sbcl-cl-ana.makeres-progress")
9203 (inputs
9204 `(("alexandria" ,sbcl-alexandria)
9205 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9206 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9207 (arguments
9208 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9209 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9210 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9211
9212 (define-public cl-ana.makeres-progress
9213 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
9214
9215 (define-public sbcl-cl-ana.makeres-table
9216 (package
9217 (inherit sbcl-cl-ana-boot0)
9218 (name "sbcl-cl-ana.makeres-table")
9219 (inputs
9220 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9221 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9222 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9223 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9224 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9225 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9226 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9227 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9228 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9229 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9230 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9231 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9232 ("cl-ana.table" ,sbcl-cl-ana.table)))
9233 (native-inputs
9234 `(("cl-fad" ,sbcl-cl-fad)))
9235 (arguments
9236 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9237 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9238 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9239
9240 (define-public cl-ana.makeres-table
9241 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
9242
9243 (define-public sbcl-cl-ana.makeres-graphviz
9244 (package
9245 (inherit sbcl-cl-ana-boot0)
9246 (name "sbcl-cl-ana.makeres-graphviz")
9247 (inputs
9248 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9249 ("external-program" ,sbcl-external-program)))
9250 (arguments
9251 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9252 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9253 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9254
9255 (define-public cl-ana.makeres-graphviz
9256 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
9257
9258 (define-public sbcl-cl-ana.makeres-branch
9259 (package
9260 (inherit sbcl-cl-ana-boot0)
9261 (name "sbcl-cl-ana.makeres-branch")
9262 (inputs
9263 `(("alexandria" ,sbcl-alexandria)
9264 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9265 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9266 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9267 ("cl-ana.map" ,sbcl-cl-ana.map)
9268 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9269 (arguments
9270 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9271 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9272 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9273
9274 (define-public cl-ana.makeres-branch
9275 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
9276
9277 (define-public sbcl-cl-ana.makeres-utils
9278 (package
9279 (inherit sbcl-cl-ana-boot0)
9280 (name "sbcl-cl-ana.makeres-utils")
9281 (inputs
9282 `(("alexandria" ,sbcl-alexandria)
9283 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9284 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9285 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9286 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9287 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9288 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9289 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9290 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9291 ("cl-ana.map" ,sbcl-cl-ana.map)
9292 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9293 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9294 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9295 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9296 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9297 ("cl-ana.table" ,sbcl-cl-ana.table)))
9298 (native-inputs
9299 `(("cl-fad" ,sbcl-cl-fad)))
9300 (arguments
9301 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9302 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9303 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9304
9305 (define-public cl-ana.makeres-utils
9306 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
9307
9308 (define-public sbcl-cl-ana.statistical-learning
9309 (package
9310 (inherit sbcl-cl-ana-boot0)
9311 (name "sbcl-cl-ana.statistical-learning")
9312 (inputs
9313 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9314 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9315 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9316 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9317 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9318 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9319 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9320 ("cl-ana.map" ,sbcl-cl-ana.map)
9321 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9322 (native-inputs
9323 `(("cl-fad" ,sbcl-cl-fad)))
9324 (arguments
9325 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9326 ((#:asd-file _ "")
9327 "statistical-learning/cl-ana.statistical-learning.asd")
9328 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9329
9330 (define-public cl-ana.statistical-learning
9331 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
9332
9333 (define-public sbcl-cl-ana
9334 (package
9335 (inherit sbcl-cl-ana-boot0)
9336 (name "sbcl-cl-ana")
9337 (inputs
9338 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9339 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9340 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9341 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9342 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9343 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9344 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9345 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9346 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9347 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9348 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9349 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9350 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9351 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9352 ("cl-ana.map" ,sbcl-cl-ana.map)
9353 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9354 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9355 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9356 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9357 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9358 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9359 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9360 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9361 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9362 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9363 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9364 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9365 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9366 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9367 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9368 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9369 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9370 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9371 ("cl-ana.table" ,sbcl-cl-ana.table)
9372 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9373 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9374 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9375 ("libffi" ,libffi)))
9376 (native-inputs
9377 `(("cl-fad" ,sbcl-cl-fad)))
9378 (arguments
9379 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9380 ((#:asd-file _ "") "cl-ana.asd")
9381 ((#:asd-system-name _ #f) "cl-ana")))))
9382
9383 (define-public cl-ana
9384 (sbcl-package->cl-source-package sbcl-cl-ana))
9385
9386 (define-public sbcl-archive
9387 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9388 (revision "1"))
9389 (package
9390 (name "sbcl-archive")
9391 (version (git-version "0.9" revision commit))
9392 (source (origin
9393 (method git-fetch)
9394 (uri (git-reference
9395 (url "https://github.com/sharplispers/archive")
9396 (commit commit)))
9397 (file-name (git-file-name name version))
9398 (sha256
9399 (base32
9400 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9401 (build-system asdf-build-system/sbcl)
9402 (inputs
9403 `(("cl-fad" ,sbcl-cl-fad)
9404 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9405 (synopsis "Common Lisp library for tar and cpio archives")
9406 (description
9407 "This is a Common Lisp library to read and write disk-based file
9408 archives such as those generated by the tar and cpio programs on Unix.")
9409 (home-page "https://github.com/sharplispers/archive")
9410 (license license:bsd-3))))
9411
9412 (define-public cl-archive
9413 (sbcl-package->cl-source-package sbcl-archive))
9414
9415 (define-public ecl-archive
9416 (sbcl-package->ecl-package sbcl-archive))
9417
9418 (define-public sbcl-misc-extensions
9419 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9420 (revision "1"))
9421 (package
9422 (name "sbcl-misc-extensions")
9423 (version (git-version "3.3" revision commit))
9424 (source
9425 (origin
9426 (method git-fetch)
9427 (uri (git-reference
9428 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9429 (commit commit)))
9430 (file-name (git-file-name name version))
9431 (sha256
9432 (base32
9433 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9434 (build-system asdf-build-system/sbcl)
9435 (synopsis "Collection of small macros and extensions for Common Lisp")
9436 (description
9437 "This project is intended as a catchall for small, general-purpose
9438 extensions to Common Lisp. It contains:
9439
9440 @itemize
9441 @item @code{new-let}, a macro that combines and generalizes @code{let},
9442 @code{let*} and @code{multiple-value-bind},
9443 @item @code{gmap}, an iteration macro that generalizes @code{map}.
9444 @end itemize\n")
9445 (home-page "https://common-lisp.net/project/misc-extensions/")
9446 (license license:public-domain))))
9447
9448 (define-public cl-misc-extensions
9449 (sbcl-package->cl-source-package sbcl-misc-extensions))
9450
9451 (define-public ecl-misc-extensions
9452 (sbcl-package->ecl-package sbcl-misc-extensions))
9453
9454 (define-public sbcl-mt19937
9455 (package
9456 (name "sbcl-mt19937")
9457 (version "1.1")
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9462 "mt19937-latest.tar.gz"))
9463 (sha256
9464 (base32
9465 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9466 (build-system asdf-build-system/sbcl)
9467 (synopsis "Mersenne Twister pseudo-random number generator")
9468 (description
9469 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9470 for Common Lisp.")
9471 (home-page "https://www.cliki.net/mt19937")
9472 (license license:public-domain)))
9473
9474 (define-public cl-mt19937
9475 (sbcl-package->cl-source-package sbcl-mt19937))
9476
9477 (define-public ecl-mt19937
9478 (sbcl-package->ecl-package sbcl-mt19937))
9479
9480 (define-public sbcl-fset
9481 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9482 (revision "1"))
9483 (package
9484 (name "sbcl-fset")
9485 (version (git-version "1.3.2" revision commit))
9486 (source
9487 (origin
9488 (method git-fetch)
9489 (uri (git-reference
9490 (url "https://github.com/slburson/fset")
9491 (commit commit)))
9492 (file-name (git-file-name name version))
9493 (sha256
9494 (base32
9495 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9496 (snippet '(begin
9497 ;; Remove obsolete copy of system definition.
9498 (delete-file "Code/fset.asd")
9499 #t))))
9500 (build-system asdf-build-system/sbcl)
9501 (inputs
9502 `(("misc-extensions" ,sbcl-misc-extensions)
9503 ("mt19937" ,sbcl-mt19937)
9504 ("named-readtables" ,sbcl-named-readtables)))
9505 (synopsis "Functional set-theoretic collections library")
9506 (description
9507 "FSet is a functional set-theoretic collections library for Common Lisp.
9508 Functional means that all update operations return a new collection rather than
9509 modifying an existing one in place. Set-theoretic means that collections may
9510 be nested arbitrarily with no additional programmer effort; for instance, sets
9511 may contain sets, maps may be keyed by sets, etc.")
9512 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9513 (license license:llgpl))))
9514
9515 (define-public cl-fset
9516 (sbcl-package->cl-source-package sbcl-fset))
9517
9518 (define-public sbcl-cl-cont
9519 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9520 (revision "1"))
9521 (package
9522 (name "sbcl-cl-cont")
9523 (version (git-version "0.3.8" revision commit))
9524 (source
9525 (origin
9526 (method git-fetch)
9527 (uri (git-reference
9528 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9529 (commit commit)))
9530 (file-name (git-file-name name version))
9531 (sha256
9532 (base32
9533 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9534 (build-system asdf-build-system/sbcl)
9535 (inputs
9536 `(("alexandria" ,sbcl-alexandria)
9537 ("closer-mop" ,sbcl-closer-mop)))
9538 (native-inputs
9539 `(("rt" ,sbcl-rt)))
9540 (synopsis "Delimited continuations for Common Lisp")
9541 (description
9542 "This is a library that implements delimited continuations by
9543 transforming Common Lisp code to continuation passing style.")
9544 (home-page "https://common-lisp.net/project/cl-cont/")
9545 (license license:llgpl))))
9546
9547 (define-public cl-cont
9548 (sbcl-package->cl-source-package sbcl-cl-cont))
9549
9550 (define-public ecl-cl-cont
9551 (sbcl-package->ecl-package sbcl-cl-cont))
9552
9553 (define-public sbcl-cl-coroutine
9554 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9555 (revision "1"))
9556 (package
9557 (name "sbcl-cl-coroutine")
9558 (version (git-version "0.1" revision commit))
9559 (source
9560 (origin
9561 (method git-fetch)
9562 (uri (git-reference
9563 (url "https://github.com/takagi/cl-coroutine")
9564 (commit commit)))
9565 (file-name (git-file-name name version))
9566 (sha256
9567 (base32
9568 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9569 (build-system asdf-build-system/sbcl)
9570 (inputs
9571 `(("alexandria" ,sbcl-alexandria)
9572 ("cl-cont" ,sbcl-cl-cont)))
9573 (native-inputs
9574 `(("prove" ,sbcl-prove)))
9575 (arguments
9576 `(;; TODO: Fix the tests. They fail with:
9577 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9578 #:tests? #f
9579 #:phases
9580 (modify-phases %standard-phases
9581 (add-after 'unpack 'fix-tests
9582 (lambda _
9583 (substitute* "cl-coroutine-test.asd"
9584 (("cl-test-more")
9585 "prove"))
9586 #t)))))
9587 (synopsis "Coroutine library for Common Lisp")
9588 (description
9589 "This is a coroutine library for Common Lisp implemented using the
9590 continuations of the @code{cl-cont} library.")
9591 (home-page "https://github.com/takagi/cl-coroutine")
9592 (license license:llgpl))))
9593
9594 (define-public cl-coroutine
9595 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9596
9597 (define-public ecl-cl-coroutine
9598 (sbcl-package->ecl-package sbcl-cl-coroutine))
9599
9600 (define-public sbcl-vom
9601 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9602 (revision "1"))
9603 (package
9604 (name "sbcl-vom")
9605 (version (git-version "0.1.4" revision commit))
9606 (source
9607 (origin
9608 (method git-fetch)
9609 (uri (git-reference
9610 (url "https://github.com/orthecreedence/vom")
9611 (commit commit)))
9612 (file-name (git-file-name name version))
9613 (sha256
9614 (base32
9615 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9616 (build-system asdf-build-system/sbcl)
9617 (synopsis "Tiny logging utility for Common Lisp")
9618 (description
9619 "Vom is a logging library for Common Lisp. It's goal is to be useful
9620 and small. It does not provide a lot of features as other loggers do, but
9621 has a small codebase that's easy to understand and use.")
9622 (home-page "https://github.com/orthecreedence/vom")
9623 (license license:expat))))
9624
9625 (define-public cl-vom
9626 (sbcl-package->cl-source-package sbcl-vom))
9627
9628 (define-public ecl-vom
9629 (sbcl-package->ecl-package sbcl-vom))
9630
9631 (define-public sbcl-cl-libuv
9632 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9633 (revision "1"))
9634 (package
9635 (name "sbcl-cl-libuv")
9636 (version (git-version "0.1.6" revision commit))
9637 (source
9638 (origin
9639 (method git-fetch)
9640 (uri (git-reference
9641 (url "https://github.com/orthecreedence/cl-libuv")
9642 (commit commit)))
9643 (file-name (git-file-name name version))
9644 (sha256
9645 (base32
9646 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9647 (build-system asdf-build-system/sbcl)
9648 (inputs
9649 `(("alexandria" ,sbcl-alexandria)
9650 ("cffi" ,sbcl-cffi)
9651 ("cffi-grovel" ,sbcl-cffi-grovel)
9652 ("libuv" ,libuv)))
9653 (arguments
9654 `(#:phases
9655 (modify-phases %standard-phases
9656 (add-after 'unpack 'fix-paths
9657 (lambda* (#:key inputs #:allow-other-keys)
9658 (substitute* "lib.lisp"
9659 (("/usr/lib/libuv.so")
9660 (string-append (assoc-ref inputs "libuv")
9661 "/lib/libuv.so")))
9662 #t))
9663 (add-after 'fix-paths 'fix-system-definition
9664 (lambda _
9665 (substitute* "cl-libuv.asd"
9666 (("#:cffi #:alexandria")
9667 "#:cffi #:cffi-grovel #:alexandria"))
9668 #t)))))
9669 (synopsis "Common Lisp bindings to libuv")
9670 (description
9671 "This library provides low-level libuv bindings for Common Lisp.")
9672 (home-page "https://github.com/orthecreedence/cl-libuv")
9673 (license license:expat))))
9674
9675 (define-public cl-libuv
9676 (sbcl-package->cl-source-package sbcl-cl-libuv))
9677
9678 (define-public ecl-cl-libuv
9679 (sbcl-package->ecl-package sbcl-cl-libuv))
9680
9681 (define-public sbcl-cl-async-base
9682 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9683 (revision "1"))
9684 (package
9685 (name "sbcl-cl-async-base")
9686 (version (git-version "0.6.1" revision commit))
9687 (source
9688 (origin
9689 (method git-fetch)
9690 (uri (git-reference
9691 (url "https://github.com/orthecreedence/cl-async")
9692 (commit commit)))
9693 (file-name (git-file-name name version))
9694 (sha256
9695 (base32
9696 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9697 (build-system asdf-build-system/sbcl)
9698 (inputs
9699 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9700 ("cffi" ,sbcl-cffi)
9701 ("cl-libuv" ,sbcl-cl-libuv)))
9702 (arguments
9703 `(#:asd-file "cl-async.asd"))
9704 (synopsis "Base system for cl-async")
9705 (description
9706 "Cl-async is a library for general purpose, non-blocking programming in
9707 Common Lisp. It uses the libuv library as backend.")
9708 (home-page "https://orthecreedence.github.io/cl-async/")
9709 (license license:expat))))
9710
9711 (define-public cl-async-base
9712 (sbcl-package->cl-source-package sbcl-cl-async-base))
9713
9714 (define-public ecl-cl-async-base
9715 (sbcl-package->ecl-package sbcl-cl-async-base))
9716
9717 (define-public sbcl-cl-async-util
9718 (package
9719 (inherit sbcl-cl-async-base)
9720 (name "sbcl-cl-async-util")
9721 (inputs
9722 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9723 ("cffi" ,sbcl-cffi)
9724 ("cl-async-base" ,sbcl-cl-async-base)
9725 ("cl-libuv" ,sbcl-cl-libuv)
9726 ("cl-ppcre" ,sbcl-cl-ppcre)
9727 ("fast-io" ,sbcl-fast-io)
9728 ("vom" ,sbcl-vom)))
9729 (synopsis "Internal utilities for cl-async")))
9730
9731 (define-public cl-async-util
9732 (sbcl-package->cl-source-package sbcl-cl-async-util))
9733
9734 (define-public ecl-cl-async-util
9735 (sbcl-package->ecl-package sbcl-cl-async-util))
9736
9737 (define-public sbcl-cl-async
9738 (package
9739 (inherit sbcl-cl-async-base)
9740 (name "sbcl-cl-async")
9741 (inputs
9742 `(("babel" ,sbcl-babel)
9743 ("cffi" ,sbcl-cffi)
9744 ("cl-async-base" ,sbcl-cl-async-base)
9745 ("cl-async-util" ,sbcl-cl-async-util)
9746 ("cl-libuv" ,sbcl-cl-libuv)
9747 ("cl-ppcre" ,sbcl-cl-ppcre)
9748 ("static-vectors" ,sbcl-static-vectors)
9749 ("trivial-features" ,sbcl-trivial-features)
9750 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9751 (synopsis "Asynchronous operations for Common Lisp")))
9752
9753 (define-public cl-async
9754 (sbcl-package->cl-source-package sbcl-cl-async))
9755
9756 (define-public ecl-cl-async
9757 (sbcl-package->ecl-package sbcl-cl-async))
9758
9759 (define-public sbcl-cl-async-repl
9760 (package
9761 (inherit sbcl-cl-async-base)
9762 (name "sbcl-cl-async-repl")
9763 (inputs
9764 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9765 ("cl-async" ,sbcl-cl-async)))
9766 (arguments
9767 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9768 ((#:asd-file _ "") "cl-async-repl.asd")))
9769 (synopsis "REPL integration for cl-async")))
9770
9771 (define-public cl-async-repl
9772 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9773
9774 (define-public ecl-cl-async-repl
9775 (sbcl-package->ecl-package sbcl-cl-async-repl))
9776
9777 (define-public sbcl-cl-async-ssl
9778 (package
9779 (inherit sbcl-cl-async-base)
9780 (name "sbcl-cl-async-ssl")
9781 (inputs
9782 `(("cffi" ,sbcl-cffi)
9783 ("cl-async" ,sbcl-cl-async)
9784 ("openssl" ,openssl)
9785 ("vom" ,sbcl-vom)))
9786 (arguments
9787 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9788 ((#:asd-file _ "") "cl-async-ssl.asd")
9789 ((#:phases phases '%standard-phases)
9790 `(modify-phases ,phases
9791 (add-after 'unpack 'fix-paths
9792 (lambda* (#:key inputs #:allow-other-keys)
9793 (substitute* "src/ssl/package.lisp"
9794 (("libcrypto\\.so")
9795 (string-append (assoc-ref inputs "openssl")
9796 "/lib/libcrypto.so"))
9797 (("libssl\\.so")
9798 (string-append (assoc-ref inputs "openssl")
9799 "/lib/libssl.so")))
9800 #t))))))
9801 (synopsis "SSL wrapper around cl-async socket implementation")))
9802
9803 (define-public cl-async-ssl
9804 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9805
9806 (define-public ecl-cl-async-ssl
9807 (sbcl-package->ecl-package sbcl-cl-async-ssl))
9808
9809 (define-public sbcl-blackbird
9810 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9811 (revision "1"))
9812 (package
9813 (name "sbcl-blackbird")
9814 (version (git-version "0.5.2" revision commit))
9815 (source
9816 (origin
9817 (method git-fetch)
9818 (uri (git-reference
9819 (url "https://github.com/orthecreedence/blackbird")
9820 (commit commit)))
9821 (file-name (git-file-name name version))
9822 (sha256
9823 (base32
9824 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9825 (build-system asdf-build-system/sbcl)
9826 (inputs
9827 `(("vom" ,sbcl-vom)))
9828 (native-inputs
9829 `(("cl-async" ,sbcl-cl-async)
9830 ("fiveam" ,sbcl-fiveam)))
9831 (synopsis "Promise implementation for Common Lisp")
9832 (description
9833 "This is a standalone promise implementation for Common Lisp. It is
9834 the successor to the now-deprecated cl-async-future project.")
9835 (home-page "https://orthecreedence.github.io/blackbird/")
9836 (license license:expat))))
9837
9838 (define-public cl-blackbird
9839 (sbcl-package->cl-source-package sbcl-blackbird))
9840
9841 (define-public ecl-blackbird
9842 (sbcl-package->ecl-package sbcl-blackbird))
9843
9844 (define-public sbcl-cl-async-future
9845 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9846 (revision "1"))
9847 (package
9848 (name "sbcl-cl-async-future")
9849 (version (git-version "0.4.4.1" revision commit))
9850 (source
9851 (origin
9852 (method git-fetch)
9853 (uri (git-reference
9854 (url "https://github.com/orthecreedence/cl-async-future")
9855 (commit commit)))
9856 (file-name (git-file-name name version))
9857 (sha256
9858 (base32
9859 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9860 (build-system asdf-build-system/sbcl)
9861 (inputs
9862 `(("blackbird" ,sbcl-blackbird)))
9863 (native-inputs
9864 `(("cl-async" ,sbcl-cl-async)
9865 ("eos" ,sbcl-eos)))
9866 (synopsis "Futures implementation for Common Lisp")
9867 (description
9868 "This is futures implementation for Common Lisp. It plugs in nicely
9869 to cl-async.")
9870 (home-page "https://orthecreedence.github.io/cl-async/future")
9871 (license license:expat))))
9872
9873 (define-public cl-async-future
9874 (sbcl-package->cl-source-package sbcl-cl-async-future))
9875
9876 (define-public ecl-cl-async-future
9877 (sbcl-package->ecl-package sbcl-cl-async-future))
9878
9879 (define-public sbcl-green-threads
9880 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9881 (revision "1"))
9882 (package
9883 (name "sbcl-green-threads")
9884 (version (git-version "0.3" revision commit))
9885 (source
9886 (origin
9887 (method git-fetch)
9888 (uri (git-reference
9889 (url "https://github.com/thezerobit/green-threads")
9890 (commit commit)))
9891 (file-name (git-file-name name version))
9892 (sha256
9893 (base32
9894 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9895 (build-system asdf-build-system/sbcl)
9896 (inputs
9897 `(("cl-async-future" ,sbcl-cl-async-future)
9898 ("cl-cont" ,sbcl-cl-cont)))
9899 (native-inputs
9900 `(("prove" ,sbcl-prove)))
9901 (arguments
9902 `(;; TODO: Fix the tests. They fail with:
9903 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9904 #:tests? #f
9905 #:phases
9906 (modify-phases %standard-phases
9907 (add-after 'unpack 'fix-tests
9908 (lambda _
9909 (substitute* "green-threads-test.asd"
9910 (("cl-test-more")
9911 "prove"))
9912 #t)))))
9913 (synopsis "Cooperative multitasking library for Common Lisp")
9914 (description
9915 "This library allows for cooperative multitasking with help of cl-cont
9916 for continuations. It tries to mimic the API of bordeaux-threads as much as
9917 possible.")
9918 (home-page "https://github.com/thezerobit/green-threads")
9919 (license license:bsd-3))))
9920
9921 (define-public cl-green-threads
9922 (sbcl-package->cl-source-package sbcl-green-threads))
9923
9924 (define-public ecl-green-threads
9925 (sbcl-package->ecl-package sbcl-green-threads))
9926
9927 (define-public sbcl-cl-base32
9928 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9929 (revision "1"))
9930 (package
9931 (name "sbcl-cl-base32")
9932 (version (git-version "0.1" revision commit))
9933 (source
9934 (origin
9935 (method git-fetch)
9936 (uri (git-reference
9937 (url "https://github.com/hargettp/cl-base32")
9938 (commit commit)))
9939 (file-name (git-file-name name version))
9940 (sha256
9941 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9942 (build-system asdf-build-system/sbcl)
9943 (native-inputs
9944 `(("lisp-unit" ,sbcl-lisp-unit)))
9945 (synopsis "Common Lisp library for base32 encoding and decoding")
9946 (description
9947 "This package provides functions for base32 encoding and decoding as
9948 defined in RFC4648.")
9949 (home-page "https://github.com/hargettp/cl-base32")
9950 (license license:expat))))
9951
9952 (define-public cl-base32
9953 (sbcl-package->cl-source-package sbcl-cl-base32))
9954
9955 (define-public ecl-cl-base32
9956 (sbcl-package->ecl-package sbcl-cl-base32))
9957
9958 (define-public sbcl-cl-z85
9959 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9960 (revision "1"))
9961 (package
9962 (name "sbcl-cl-z85")
9963 (version (git-version "1.0" revision commit))
9964 (source
9965 (origin
9966 (method git-fetch)
9967 (uri (git-reference
9968 (url "https://github.com/glv2/cl-z85")
9969 (commit commit)))
9970 (file-name (git-file-name name version))
9971 (sha256
9972 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9973 (build-system asdf-build-system/sbcl)
9974 (native-inputs
9975 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9976 ("fiveam" ,sbcl-fiveam)))
9977 (synopsis "Common Lisp library for Z85 encoding and decoding")
9978 (description
9979 "This package provides functions to encode or decode byte vectors or
9980 byte streams using the Z85 format, which is a base-85 encoding used by
9981 ZeroMQ.")
9982 (home-page "https://github.com/glv2/cl-z85")
9983 (license license:gpl3+))))
9984
9985 (define-public cl-z85
9986 (sbcl-package->cl-source-package sbcl-cl-z85))
9987
9988 (define-public ecl-cl-z85
9989 (sbcl-package->ecl-package sbcl-cl-z85))
9990
9991 (define-public sbcl-ltk
9992 (package
9993 (name "sbcl-ltk")
9994 (version "0.992")
9995 (source
9996 (origin
9997 (method git-fetch)
9998 (uri (git-reference
9999 (url "https://github.com/herth/ltk")
10000 (commit version)))
10001 (file-name (git-file-name name version))
10002 (sha256
10003 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
10004 (build-system asdf-build-system/sbcl)
10005 (inputs
10006 `(("imagemagick" ,imagemagick)
10007 ("tk" ,tk)))
10008 (arguments
10009 `(#:asd-file "ltk/ltk.asd"
10010 #:tests? #f
10011 #:phases (modify-phases %standard-phases
10012 (add-after 'unpack 'fix-paths
10013 (lambda* (#:key inputs #:allow-other-keys)
10014 (substitute* "ltk/ltk.lisp"
10015 (("#-freebsd \"wish\"")
10016 (string-append "#-freebsd \""
10017 (assoc-ref inputs "tk")
10018 "/bin/wish\""))
10019 (("do-execute \"convert\"")
10020 (string-append "do-execute \""
10021 (assoc-ref inputs "imagemagick")
10022 "/bin/convert\"")))
10023 #t)))))
10024 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10025 (description
10026 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
10027 in pure Common Lisp and does not require any Tk knowledge for its usage.")
10028 (home-page "http://www.peter-herth.de/ltk/")
10029 (license license:llgpl)))
10030
10031 (define-public cl-ltk
10032 (sbcl-package->cl-source-package sbcl-ltk))
10033
10034 (define-public ecl-ltk
10035 (sbcl-package->ecl-package sbcl-ltk))
10036
10037 (define-public sbcl-ltk-mw
10038 (package
10039 (inherit sbcl-ltk)
10040 (name "sbcl-ltk-mw")
10041 (inputs
10042 `(("ltk" ,sbcl-ltk)))
10043 (arguments
10044 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10045 ((#:asd-file _) "ltk/ltk-mw.asd")
10046 ((#:phases _) '%standard-phases)))
10047 (synopsis "Extra widgets for LTK")
10048 (description
10049 "This is a collection of higher-level widgets built on top of LTK.")))
10050
10051 (define-public cl-ltk-mw
10052 (sbcl-package->cl-source-package sbcl-ltk-mw))
10053
10054 (define-public ecl-ltk-mw
10055 (sbcl-package->ecl-package sbcl-ltk-mw))
10056
10057 (define-public sbcl-ltk-remote
10058 (package
10059 (inherit sbcl-ltk)
10060 (name "sbcl-ltk-remote")
10061 (inputs
10062 `(("ltk" ,sbcl-ltk)))
10063 (arguments
10064 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10065 ((#:asd-file _) "ltk/ltk-remote.asd")
10066 ((#:phases _) '%standard-phases)))
10067 (synopsis "Remote GUI support for LTK")
10068 (description
10069 "This LTK extension allows the GUI to be displayed on a computer different
10070 from the one running the Lisp program by using a TCP connection.")))
10071
10072 (define-public cl-ltk-remote
10073 (sbcl-package->cl-source-package sbcl-ltk-remote))
10074
10075 (define-public sbcl-cl-lex
10076 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
10077 (revision "1"))
10078 (package
10079 (name "sbcl-cl-lex")
10080 (version (git-version "1.1.3" revision commit))
10081 (source
10082 (origin
10083 (method git-fetch)
10084 (uri (git-reference
10085 (url "https://github.com/djr7C4/cl-lex")
10086 (commit commit)))
10087 (file-name (git-file-name name version))
10088 (sha256
10089 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10090 (build-system asdf-build-system/sbcl)
10091 (inputs
10092 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10093 (synopsis "Common Lisp macros for generating lexical analyzers")
10094 (description
10095 "This is a Common Lisp library providing a set of macros for generating
10096 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10097 be used with @code{cl-yacc}.")
10098 (home-page "https://github.com/djr7C4/cl-lex")
10099 (license license:gpl3))))
10100
10101 (define-public cl-lex
10102 (sbcl-package->cl-source-package sbcl-cl-lex))
10103
10104 (define-public ecl-cl-lex
10105 (sbcl-package->ecl-package sbcl-cl-lex))
10106
10107 (define-public sbcl-clunit2
10108 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10109 (revision "1"))
10110 (package
10111 (name "sbcl-clunit2")
10112 (version (git-version "0.2.4" revision commit))
10113 (source
10114 (origin
10115 (method git-fetch)
10116 (uri (git-reference
10117 (url "https://notabug.org/cage/clunit2.git")
10118 (commit commit)))
10119 (file-name (git-file-name name version))
10120 (sha256
10121 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10122 (build-system asdf-build-system/sbcl)
10123 (synopsis "Unit testing framework for Common Lisp")
10124 (description
10125 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10126 easy to use so that you can quickly start testing.")
10127 (home-page "https://notabug.org/cage/clunit2")
10128 (license license:expat))))
10129
10130 (define-public cl-clunit2
10131 (sbcl-package->cl-source-package sbcl-clunit2))
10132
10133 (define-public ecl-clunit2
10134 (sbcl-package->ecl-package sbcl-clunit2))
10135
10136 (define-public sbcl-cl-colors2
10137 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10138 (revision "1"))
10139 (package
10140 (name "sbcl-cl-colors2")
10141 (version (git-version "0.2.1" revision commit))
10142 (source
10143 (origin
10144 (method git-fetch)
10145 (uri (git-reference
10146 (url "https://notabug.org/cage/cl-colors2.git")
10147 (commit commit)))
10148 (file-name (git-file-name name version))
10149 (sha256
10150 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10151 (build-system asdf-build-system/sbcl)
10152 (native-inputs
10153 `(("clunit2" ,sbcl-clunit2)))
10154 (inputs
10155 `(("alexandria" ,sbcl-alexandria)
10156 ("cl-ppcre" ,sbcl-cl-ppcre)))
10157 (synopsis "Color library for Common Lisp")
10158 (description
10159 "This is a very simple color library for Common Lisp, providing:
10160
10161 @itemize
10162 @item Types for representing colors in HSV and RGB spaces.
10163 @item Simple conversion functions between the above types (and also
10164 hexadecimal representation for RGB).
10165 @item Some predefined colors (currently X11 color names -- of course
10166 the library does not depend on X11).
10167 @end itemize\n")
10168 (home-page "https://notabug.org/cage/cl-colors2")
10169 (license license:boost1.0))))
10170
10171 (define-public cl-colors2
10172 (sbcl-package->cl-source-package sbcl-cl-colors2))
10173
10174 (define-public ecl-cl-colors2
10175 (sbcl-package->ecl-package sbcl-cl-colors2))
10176
10177 (define-public sbcl-cl-jpeg
10178 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10179 (revision "1"))
10180 (package
10181 (name "sbcl-cl-jpeg")
10182 (version (git-version "2.8" revision commit))
10183 (source
10184 (origin
10185 (method git-fetch)
10186 (uri (git-reference
10187 (url "https://github.com/sharplispers/cl-jpeg")
10188 (commit commit)))
10189 (file-name (git-file-name name version))
10190 (sha256
10191 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10192 (build-system asdf-build-system/sbcl)
10193 (synopsis "JPEG image library for Common Lisp")
10194 (description
10195 "This is a baseline JPEG codec written in Common Lisp. It can be used
10196 for reading and writing JPEG image files.")
10197 (home-page "https://github.com/sharplispers/cl-jpeg")
10198 (license license:bsd-3))))
10199
10200 (define-public cl-jpeg
10201 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10202
10203 (define-public ecl-cl-jpeg
10204 (sbcl-package->ecl-package sbcl-cl-jpeg))
10205
10206 (define-public sbcl-nodgui
10207 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10208 (revision "1"))
10209 (package
10210 (name "sbcl-nodgui")
10211 (version (git-version "0.0.5" revision commit))
10212 (source
10213 (origin
10214 (method git-fetch)
10215 (uri (git-reference
10216 (url "https://notabug.org/cage/nodgui.git")
10217 (commit commit)))
10218 (file-name (git-file-name name version))
10219 (sha256
10220 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10221 (build-system asdf-build-system/sbcl)
10222 (inputs
10223 `(("alexandria" ,sbcl-alexandria)
10224 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10225 ("cl-colors2" ,sbcl-cl-colors2)
10226 ("cl-jpeg" ,sbcl-cl-jpeg)
10227 ("cl-lex" ,sbcl-cl-lex)
10228 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10229 ("cl-unicode" ,sbcl-cl-unicode)
10230 ("cl-yacc" ,sbcl-cl-yacc)
10231 ("clunit2" ,sbcl-clunit2)
10232 ("named-readtables" ,sbcl-named-readtables)
10233 ("parse-number" ,sbcl-parse-number)
10234 ("tk" ,tk)))
10235 (arguments
10236 `(#:phases (modify-phases %standard-phases
10237 (add-after 'unpack 'fix-paths
10238 (lambda* (#:key inputs #:allow-other-keys)
10239 (substitute* "src/wish-communication.lisp"
10240 (("#-freebsd \"wish\"")
10241 (string-append "#-freebsd \""
10242 (assoc-ref inputs "tk")
10243 "/bin/wish\"")))
10244 #t)))))
10245 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10246 (description
10247 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10248 toolkit. It also provides a few additional widgets more than the standard Tk
10249 ones.")
10250 (home-page "https://www.autistici.org/interzona/nodgui.html")
10251 (license license:llgpl))))
10252
10253 (define-public cl-nodgui
10254 (sbcl-package->cl-source-package sbcl-nodgui))
10255
10256 (define-public ecl-nodgui
10257 (sbcl-package->ecl-package sbcl-nodgui))
10258
10259 (define-public sbcl-salza2
10260 (package
10261 (name "sbcl-salza2")
10262 (version "2.0.9")
10263 (source
10264 (origin
10265 (method git-fetch)
10266 (uri (git-reference
10267 (url "https://github.com/xach/salza2")
10268 (commit (string-append "release-" version))))
10269 (file-name (git-file-name name version))
10270 (sha256
10271 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10272 (build-system asdf-build-system/sbcl)
10273 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10274 (description
10275 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10276 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10277 respectively.")
10278 (home-page "https://www.xach.com/lisp/salza2/")
10279 (license license:bsd-2)))
10280
10281 (define-public cl-salza2
10282 (sbcl-package->cl-source-package sbcl-salza2))
10283
10284 (define-public ecl-salza2
10285 (sbcl-package->ecl-package sbcl-salza2))
10286
10287 (define-public sbcl-png-read
10288 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10289 (revision "1"))
10290 (package
10291 (name "sbcl-png-read")
10292 (version (git-version "0.3.1" revision commit))
10293 (source
10294 (origin
10295 (method git-fetch)
10296 (uri (git-reference
10297 (url "https://github.com/Ramarren/png-read")
10298 (commit commit)))
10299 (file-name (git-file-name name version))
10300 (sha256
10301 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10302 (build-system asdf-build-system/sbcl)
10303 (inputs
10304 `(("babel" ,sbcl-babel)
10305 ("chipz" ,sbcl-chipz)
10306 ("iterate" ,sbcl-iterate)))
10307 (synopsis "PNG decoder for Common Lisp")
10308 (description "This is a Common Lisp library for reading PNG images.")
10309 (home-page "https://github.com/Ramarren/png-read")
10310 (license license:bsd-3))))
10311
10312 (define-public cl-png-read
10313 (sbcl-package->cl-source-package sbcl-png-read))
10314
10315 (define-public ecl-png-read
10316 (sbcl-package->ecl-package sbcl-png-read))
10317
10318 (define-public sbcl-zpng
10319 (package
10320 (name "sbcl-zpng")
10321 (version "1.2.2")
10322 (source
10323 (origin
10324 (method git-fetch)
10325 (uri (git-reference
10326 (url "https://github.com/xach/zpng")
10327 (commit (string-append "release-" version))))
10328 (file-name (git-file-name name version))
10329 (sha256
10330 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10331 (build-system asdf-build-system/sbcl)
10332 (inputs
10333 `(("salza2" ,sbcl-salza2)))
10334 (synopsis "PNG encoder for Common Lisp")
10335 (description "This is a Common Lisp library for creating PNG images.")
10336 (home-page "https://www.xach.com/lisp/zpng/")
10337 (license license:bsd-2)))
10338
10339 (define-public cl-zpng
10340 (sbcl-package->cl-source-package sbcl-zpng))
10341
10342 (define-public ecl-zpng
10343 (sbcl-package->ecl-package sbcl-zpng))
10344
10345 (define-public sbcl-cl-qrencode
10346 (package
10347 (name "sbcl-cl-qrencode")
10348 (version "0.1.2")
10349 (source
10350 (origin
10351 (method git-fetch)
10352 (uri (git-reference
10353 (url "https://github.com/jnjcc/cl-qrencode")
10354 (commit (string-append "v" version))))
10355 (file-name (git-file-name name version))
10356 (sha256
10357 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10358 (build-system asdf-build-system/sbcl)
10359 (native-inputs
10360 `(("lisp-unit" ,sbcl-lisp-unit)))
10361 (inputs
10362 `(("zpng" ,sbcl-zpng)))
10363 (synopsis "QR code encoder for Common Lisp")
10364 (description
10365 "This Common Lisp library provides function to make QR codes and to save
10366 them as PNG files.")
10367 (home-page "https://github.com/jnjcc/cl-qrencode")
10368 (license license:gpl2+)))
10369
10370 (define-public cl-qrencode
10371 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10372
10373 (define-public ecl-cl-qrencode
10374 (sbcl-package->ecl-package sbcl-cl-qrencode))
10375
10376 (define-public sbcl-hdf5-cffi
10377 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10378 (revision "1"))
10379 (package
10380 (name "sbcl-hdf5-cffi")
10381 (version (git-version "1.8.18" revision commit))
10382 (source
10383 (origin
10384 (method git-fetch)
10385 (uri (git-reference
10386 (url "https://github.com/hdfgroup/hdf5-cffi")
10387 (commit commit)))
10388 (file-name (git-file-name name version))
10389 (sha256
10390 (base32
10391 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10392 (build-system asdf-build-system/sbcl)
10393 (synopsis "Common Lisp bindings for the HDF5 library")
10394 (description
10395 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10396 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10397 (license (license:non-copyleft
10398 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10399 commit
10400 "/LICENSE")))
10401 (inputs
10402 `(("cffi" ,sbcl-cffi)
10403 ("cffi-grovel" ,sbcl-cffi-grovel)
10404 ("hdf5" ,hdf5-1.10)))
10405 (native-inputs
10406 `(("fiveam" ,sbcl-fiveam)))
10407 (arguments
10408 `(#:asd-system-name "hdf5-cffi"
10409 #:asd-file "hdf5-cffi.asd"
10410 #:test-asd-file "hdf5-cffi.test.asd"
10411 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10412 ;; I don't know if there is a way to tell asdf-build-system to load
10413 ;; an additional system first, so tests are disabled.
10414 #:tests? #f
10415 #:phases
10416 (modify-phases %standard-phases
10417 (add-after 'unpack 'fix-paths
10418 (lambda* (#:key inputs #:allow-other-keys)
10419 (substitute* "src/library.lisp"
10420 (("libhdf5.so")
10421 (string-append
10422 (assoc-ref inputs "hdf5")
10423 "/lib/libhdf5.so")))))
10424 (add-after 'unpack 'fix-dependencies
10425 (lambda* (#:key inputs #:allow-other-keys)
10426 (substitute* "hdf5-cffi.asd"
10427 ((":depends-on \\(:cffi\\)")
10428 ":depends-on (:cffi :cffi-grovel)"))
10429 (substitute* "hdf5-cffi.test.asd"
10430 ((":depends-on \\(:cffi :hdf5-cffi")
10431 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10432
10433 (define-public cl-hdf5-cffi
10434 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10435
10436 (define-public ecl-hdf5-cffi
10437 (sbcl-package->ecl-package sbcl-hdf5-cffi))
10438
10439 (define-public sbcl-cl-randist
10440 (package
10441 (name "sbcl-cl-randist")
10442 (version "0.4.2")
10443 (source
10444 (origin
10445 (method git-fetch)
10446 (uri (git-reference
10447 (url "https://github.com/lvaruzza/cl-randist")
10448 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10449 (file-name (git-file-name name version))
10450 (sha256
10451 (base32
10452 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10453 (build-system asdf-build-system/sbcl)
10454 (synopsis "Random distributions for Common Lisp")
10455 (description
10456 "Manual translation from C to Common Lisp of some random number
10457 generation functions from the GSL library.")
10458 (home-page "https://github.com/lvaruzza/cl-randist")
10459 (license license:bsd-2)
10460 (arguments
10461 `(#:asd-system-name "cl-randist"
10462 #:asd-file "cl-randist.asd"
10463 #:tests? #f))))
10464
10465 (define-public cl-randist
10466 (sbcl-package->cl-source-package sbcl-cl-randist))
10467
10468 (define-public ecl-cl-randist
10469 (sbcl-package->ecl-package sbcl-cl-randist))
10470
10471 (define-public sbcl-float-features
10472 (package
10473 (name "sbcl-float-features")
10474 (version "1.0.0")
10475 (source
10476 (origin
10477 (method git-fetch)
10478 (uri (git-reference
10479 (url "https://github.com/Shinmera/float-features")
10480 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10481 (file-name (git-file-name name version))
10482 (sha256
10483 (base32
10484 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10485 (build-system asdf-build-system/sbcl)
10486 (synopsis "Common Lisp IEEE float portability library")
10487 (description
10488 "Portability library for IEEE float features that are not
10489 covered by the Common Lisp standard.")
10490 (home-page "https://github.com/Shinmera/float-features")
10491 (license license:zlib)
10492 (inputs
10493 `(("documentation-utils" ,sbcl-documentation-utils)))
10494 (arguments
10495 `(#:asd-system-name "float-features"
10496 #:asd-file "float-features.asd"
10497 #:tests? #f))))
10498
10499 (define-public cl-float-features
10500 (sbcl-package->cl-source-package sbcl-float-features))
10501
10502 (define-public ecl-float-features
10503 (sbcl-package->ecl-package sbcl-float-features))
10504
10505 (define-public sbcl-function-cache
10506 (package
10507 (name "sbcl-function-cache")
10508 (version "1.0.3")
10509 (source
10510 (origin
10511 (method git-fetch)
10512 (uri (git-reference
10513 (url "https://github.com/AccelerationNet/function-cache")
10514 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10515 (file-name (git-file-name name version))
10516 (sha256
10517 (base32
10518 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10519 (build-system asdf-build-system/sbcl)
10520 (synopsis "Function caching / memoization library for Common Lisp")
10521 (description
10522 "A common lisp library that provides extensible function result
10523 caching based on arguments (an expanded form of memoization).")
10524 (home-page "https://github.com/AccelerationNet/function-cache")
10525 (license
10526 (license:non-copyleft
10527 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10528 (inputs
10529 `(("alexandria" ,sbcl-alexandria)
10530 ("cl-interpol" ,sbcl-cl-interpol)
10531 ("iterate" ,sbcl-iterate)
10532 ("symbol-munger" ,sbcl-symbol-munger)
10533 ("closer-mop" ,sbcl-closer-mop)))
10534 (arguments
10535 `(#:asd-system-name "function-cache"
10536 #:asd-file "function-cache.asd"
10537 #:tests? #f))))
10538
10539 (define-public cl-function-cache
10540 (sbcl-package->cl-source-package sbcl-function-cache))
10541
10542 (define-public ecl-function-cache
10543 (sbcl-package->ecl-package sbcl-function-cache))
10544
10545 (define-public sbcl-type-r
10546 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10547 (revision "1"))
10548 (package
10549 (name "sbcl-type-r")
10550 (version (git-version "0.0.0" revision commit))
10551 (source
10552 (origin
10553 (method git-fetch)
10554 (uri (git-reference
10555 (url "https://github.com/guicho271828/type-r")
10556 (commit commit)))
10557 (file-name (git-file-name name version))
10558 (sha256
10559 (base32
10560 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10561 (build-system asdf-build-system/sbcl)
10562 (synopsis "Parser interface for Common Lisp built-in compound types")
10563 (description
10564 "Collections of accessor functions and patterns to access
10565 the elements in compound type specifier, e.g. @code{dimensions} in
10566 @code{(array element-type dimensions)}")
10567 (home-page "https://github.com/guicho271828/type-r")
10568 (license license:lgpl3+)
10569 (inputs
10570 `(("trivia" ,sbcl-trivia)
10571 ("alexandria" ,sbcl-alexandria)))
10572 (native-inputs
10573 `(("fiveam" ,sbcl-fiveam)))
10574 (arguments
10575 `(#:asd-system-name "type-r"
10576 #:asd-file "type-r.asd"
10577 #:test-asd-file "type-r.test.asd")))))
10578
10579 (define-public cl-type-r
10580 (sbcl-package->cl-source-package sbcl-type-r))
10581
10582 (define-public sbcl-trivialib-type-unify
10583 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10584 (revision "1"))
10585 (package
10586 (name "sbcl-trivialib-type-unify")
10587 (version (git-version "0.1" revision commit))
10588 (source
10589 (origin
10590 (method git-fetch)
10591 (uri (git-reference
10592 (url "https://github.com/guicho271828/trivialib.type-unify")
10593 (commit commit)))
10594 (file-name (git-file-name name version))
10595 (sha256
10596 (base32
10597 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10598 (build-system asdf-build-system/sbcl)
10599 (synopsis "Common Lisp type unification")
10600 (description
10601 "Unifies a parametrized type specifier against an actual type specifier.
10602 Importantly, it handles complicated array-subtypes and number-related types
10603 correctly.")
10604 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10605 (license license:lgpl3+)
10606 (inputs
10607 `(("alexandria" ,sbcl-alexandria)
10608 ("trivia" ,sbcl-trivia)
10609 ("introspect-environment" ,sbcl-introspect-environment)
10610 ("type-r" ,sbcl-type-r)))
10611 (native-inputs
10612 `(("fiveam" ,sbcl-fiveam)))
10613 (arguments
10614 `(#:asd-system-name "trivialib.type-unify"
10615 #:asd-file "trivialib.type-unify.asd"
10616 #:test-asd-file "trivialib.type-unify.test.asd")))))
10617
10618 (define-public cl-trivialib-type-unify
10619 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
10620
10621 (define-public sbcl-specialized-function
10622 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10623 (revision "1"))
10624 (package
10625 (name "sbcl-specialized-function")
10626 (version (git-version "0.0.0" revision commit))
10627 (source
10628 (origin
10629 (method git-fetch)
10630 (uri (git-reference
10631 (url "https://github.com/numcl/specialized-function")
10632 (commit commit)))
10633 (file-name (git-file-name name version))
10634 (sha256
10635 (base32
10636 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10637 (build-system asdf-build-system/sbcl)
10638 (synopsis "Julia-like dispatch for Common Lisp")
10639 (description
10640 "This library is part of NUMCL. It provides a macro
10641 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10642 lazily compiling a type-specific version of the function from the same
10643 code. The main target of this macro is speed.")
10644 (home-page "https://github.com/numcl/specialized-function")
10645 (license license:lgpl3+)
10646 (inputs
10647 `(("trivia" ,sbcl-trivia)
10648 ("alexandria" ,sbcl-alexandria)
10649 ("iterate" ,sbcl-iterate)
10650 ("lisp-namespace" ,sbcl-lisp-namespace)
10651 ("type-r" ,sbcl-type-r)
10652 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10653 (native-inputs
10654 `(("fiveam" ,sbcl-fiveam)))
10655 (arguments
10656 `(#:asd-system-name "specialized-function"
10657 #:asd-file "specialized-function.asd"
10658 #:test-asd-file "specialized-function.test.asd")))))
10659
10660 (define-public cl-specialized-function
10661 (sbcl-package->cl-source-package sbcl-specialized-function))
10662
10663 (define-public sbcl-constantfold
10664 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10665 (revision "1"))
10666 (package
10667 (name "sbcl-constantfold")
10668 (version (git-version "0.1" revision commit))
10669 (source
10670 (origin
10671 (method git-fetch)
10672 (uri (git-reference
10673 (url "https://github.com/numcl/constantfold")
10674 (commit commit)))
10675 (file-name (git-file-name name version))
10676 (sha256
10677 (base32
10678 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10679 (build-system asdf-build-system/sbcl)
10680 (synopsis "Support library for numcl")
10681 (description
10682 "Support library for numcl. Registers a function as an
10683 additional form that is considered as a candidate for a constant.")
10684 (home-page "https://github.com/numcl/constantfold")
10685 (license license:lgpl3+)
10686 (inputs
10687 `(("trivia" ,sbcl-trivia)
10688 ("alexandria" ,sbcl-alexandria)
10689 ("iterate" ,sbcl-iterate)
10690 ("lisp-namespace" ,sbcl-lisp-namespace)))
10691 (native-inputs
10692 `(("fiveam" ,sbcl-fiveam)))
10693 (arguments
10694 `(#:asd-system-name "constantfold"
10695 #:asd-file "constantfold.asd"
10696 #:test-asd-file "constantfold.test.asd")))))
10697
10698 (define-public cl-constantfold
10699 (sbcl-package->cl-source-package sbcl-constantfold))
10700
10701 (define-public sbcl-gtype
10702 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10703 (revision "1"))
10704 (package
10705 (name "sbcl-gtype")
10706 (version (git-version "0.1" revision commit))
10707 (source
10708 (origin
10709 (method git-fetch)
10710 (uri (git-reference
10711 (url "https://github.com/numcl/gtype")
10712 (commit commit)))
10713 (file-name (git-file-name name version))
10714 (sha256
10715 (base32
10716 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10717 (build-system asdf-build-system/sbcl)
10718 (synopsis "C++/Julia-like parametric types in Common Lisp")
10719 (description
10720 "Support library for numcl that provides Julia-like runtime parametric
10721 type correctness in Common Lisp. It is based on CLtL2 extensions.")
10722 (home-page "https://github.com/numcl/gtype")
10723 (license license:lgpl3+)
10724 (inputs
10725 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10726 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10727 ("trivia" ,sbcl-trivia)
10728 ("alexandria" ,sbcl-alexandria)
10729 ("iterate" ,sbcl-iterate)
10730 ("type-r" ,sbcl-type-r)))
10731 (native-inputs
10732 `(("fiveam" ,sbcl-fiveam)))
10733 (arguments
10734 `(#:asd-system-name "gtype"
10735 #:asd-file "gtype.asd"
10736 #:test-asd-file "gtype.test.asd")))))
10737
10738 (define-public cl-gtype
10739 (sbcl-package->cl-source-package sbcl-gtype))
10740
10741 (define-public sbcl-numcl
10742 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10743 (revision "1"))
10744 (package
10745 (name "sbcl-numcl")
10746 (version (git-version "0.1.0" revision commit))
10747 (source
10748 (origin
10749 (method git-fetch)
10750 (uri (git-reference
10751 (url "https://github.com/numcl/numcl")
10752 (commit commit)))
10753 (file-name (git-file-name name version))
10754 (sha256
10755 (base32
10756 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10757 (build-system asdf-build-system/sbcl)
10758 (synopsis "Numpy clone in Common Lisp")
10759 (description
10760 "This is a Numpy clone in Common Lisp. At the moment the
10761 library is written in pure Common Lisp, focusing more on correctness
10762 and usefulness, not speed. Track the progress at
10763 @url{https://github.com/numcl/numcl/projects/1}.")
10764 (home-page "https://github.com/numcl/numcl")
10765 (license license:lgpl3+)
10766 (inputs
10767 `(("trivia" ,sbcl-trivia)
10768 ("alexandria" ,sbcl-alexandria)
10769 ("iterate" ,sbcl-iterate)
10770 ("lisp-namespace" ,sbcl-lisp-namespace)
10771 ("type-r" ,sbcl-type-r)
10772 ("constantfold" ,sbcl-constantfold)
10773 ("cl-randist" ,sbcl-cl-randist)
10774 ("float-features" ,sbcl-float-features)
10775 ("function-cache" ,sbcl-function-cache)
10776 ("specialized-function" ,sbcl-specialized-function)
10777 ("gtype" ,sbcl-gtype)))
10778 (native-inputs
10779 `(("fiveam" ,sbcl-fiveam)))
10780 (arguments
10781 `(#:asd-system-name "numcl"
10782 #:asd-file "numcl.asd"
10783 #:test-asd-file "numcl.test.asd")))))
10784
10785 (define-public cl-numcl
10786 (sbcl-package->cl-source-package sbcl-numcl))
10787
10788 (define-public sbcl-pzmq
10789 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10790 (revision "1"))
10791 (package
10792 (name "sbcl-pzmq")
10793 (version (git-version "0.0.0" revision commit))
10794 (source
10795 (origin
10796 (method git-fetch)
10797 (uri (git-reference
10798 (url "https://github.com/orivej/pzmq")
10799 (commit commit)))
10800 (file-name (git-file-name name version))
10801 (sha256
10802 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10803 (build-system asdf-build-system/sbcl)
10804 (native-inputs
10805 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10806 ("fiveam" ,sbcl-fiveam)
10807 ("let-plus" ,sbcl-let-plus)))
10808 (inputs
10809 `(("cffi" ,sbcl-cffi)
10810 ("cffi-grovel" ,sbcl-cffi-grovel)
10811 ("zeromq" ,zeromq)))
10812 (arguments
10813 `(#:phases (modify-phases %standard-phases
10814 (add-after 'unpack 'fix-paths
10815 (lambda* (#:key inputs #:allow-other-keys)
10816 (substitute* "c-api.lisp"
10817 (("\"libzmq")
10818 (string-append "\""
10819 (assoc-ref inputs "zeromq")
10820 "/lib/libzmq")))
10821 #t)))))
10822 (synopsis "Common Lisp bindings for the ZeroMQ library")
10823 (description "This Common Lisp library provides bindings for the ZeroMQ
10824 lightweight messaging kernel.")
10825 (home-page "https://github.com/orivej/pzmq")
10826 (license license:unlicense))))
10827
10828 (define-public cl-pzmq
10829 (sbcl-package->cl-source-package sbcl-pzmq))
10830
10831 (define-public ecl-pzmq
10832 (sbcl-package->ecl-package sbcl-pzmq))
10833
10834 (define-public sbcl-clss
10835 (let ((revision "1")
10836 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10837 (package
10838 (name "sbcl-clss")
10839 (version (git-version "0.3.1" revision commit))
10840 (source
10841 (origin
10842 (method git-fetch)
10843 (uri
10844 (git-reference
10845 (url "https://github.com/Shinmera/clss")
10846 (commit commit)))
10847 (sha256
10848 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10849 (file-name (git-file-name name version))))
10850 (inputs
10851 `(("array-utils" ,sbcl-array-utils)
10852 ("plump" ,sbcl-plump)))
10853 (build-system asdf-build-system/sbcl)
10854 (synopsis "DOM tree searching engine based on CSS selectors")
10855 (description "CLSS is a DOM traversal engine based on CSS
10856 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10857 (home-page "https://github.com/Shinmera/clss")
10858 (license license:zlib))))
10859
10860 (define-public cl-clss
10861 (sbcl-package->cl-source-package sbcl-clss))
10862
10863 (define-public ecl-clss
10864 (sbcl-package->ecl-package sbcl-clss))
10865
10866 (define-public sbcl-lquery
10867 (let ((revision "1")
10868 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10869 (package
10870 (name "sbcl-lquery")
10871 (version (git-version "3.2.1" revision commit))
10872 (source
10873 (origin
10874 (method git-fetch)
10875 (uri
10876 (git-reference
10877 (url "https://github.com/Shinmera/lquery")
10878 (commit commit)))
10879 (sha256
10880 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10881 (file-name (git-file-name name version))))
10882 (native-inputs
10883 `(("fiveam" ,sbcl-fiveam)))
10884 (inputs
10885 `(("array-utils" ,sbcl-array-utils)
10886 ("form-fiddle" ,sbcl-form-fiddle)
10887 ("plump" ,sbcl-plump)
10888 ("clss" ,sbcl-clss)))
10889 (build-system asdf-build-system/sbcl)
10890 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10891 (description "@code{lQuery} is a DOM manipulation library written in
10892 Common Lisp, inspired by and based on the jQuery syntax and
10893 functions. It uses Plump and CLSS as DOM and selector engines. The
10894 main idea behind lQuery is to provide a simple interface for crawling
10895 and modifying HTML sites, as well as to allow for an alternative
10896 approach to templating.")
10897 (home-page "https://github.com/Shinmera/lquery")
10898 (license license:zlib))))
10899
10900 (define-public cl-lquery
10901 (sbcl-package->cl-source-package sbcl-lquery))
10902
10903 (define-public ecl-lquery
10904 (sbcl-package->ecl-package sbcl-lquery))
10905
10906 (define-public sbcl-cl-mysql
10907 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10908 (revision "1"))
10909 (package
10910 (name "sbcl-cl-mysql")
10911 (version (git-version "0.1" revision commit))
10912 (source
10913 (origin
10914 (method git-fetch)
10915 (uri (git-reference
10916 (url "https://github.com/hackinghat/cl-mysql")
10917 (commit commit)))
10918 (file-name (git-file-name name version))
10919 (sha256
10920 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10921 (build-system asdf-build-system/sbcl)
10922 (native-inputs
10923 `(("stefil" ,sbcl-stefil)))
10924 (inputs
10925 `(("cffi" ,sbcl-cffi)
10926 ("mariadb-lib" ,mariadb "lib")))
10927 (arguments
10928 `(#:tests? #f ; TODO: Tests require a running server
10929 #:phases
10930 (modify-phases %standard-phases
10931 (add-after 'unpack 'fix-paths
10932 (lambda* (#:key inputs #:allow-other-keys)
10933 (substitute* "system.lisp"
10934 (("libmysqlclient_r" all)
10935 (string-append (assoc-ref inputs "mariadb-lib")
10936 "/lib/"
10937 all)))
10938 #t)))))
10939 (synopsis "Common Lisp wrapper for MySQL")
10940 (description
10941 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10942 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10943 (license license:expat))))
10944
10945 (define-public cl-mysql
10946 (sbcl-package->cl-source-package sbcl-cl-mysql))
10947
10948 (define-public sbcl-simple-date
10949 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10950 (revision "1"))
10951 (package
10952 (name "sbcl-simple-date")
10953 (version (git-version "1.19" revision commit))
10954 (source
10955 (origin
10956 (method git-fetch)
10957 (uri (git-reference
10958 (url "https://github.com/marijnh/Postmodern")
10959 (commit commit)))
10960 (file-name (git-file-name name version))
10961 (sha256
10962 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10963 (build-system asdf-build-system/sbcl)
10964 (native-inputs
10965 `(("fiveam" ,sbcl-fiveam)))
10966 (synopsis "Basic date and time objects for Common Lisp")
10967 (description
10968 "@code{simple-date} is a very basic implementation of date and time
10969 objects, used to support storing and retrieving time-related SQL types.")
10970 (home-page "https://marijnhaverbeke.nl/postmodern/")
10971 (license license:zlib))))
10972
10973 (define-public cl-simple-date
10974 (sbcl-package->cl-source-package sbcl-simple-date))
10975
10976 (define-public ecl-simple-date
10977 (sbcl-package->ecl-package sbcl-simple-date))
10978
10979 (define-public sbcl-cl-postgres
10980 (package
10981 (inherit sbcl-simple-date)
10982 (name "sbcl-cl-postgres")
10983 (native-inputs
10984 `(("fiveam" ,sbcl-fiveam)
10985 ("simple-date" ,sbcl-simple-date)))
10986 (inputs
10987 `(("md5" ,sbcl-md5)
10988 ("split-sequence" ,sbcl-split-sequence)
10989 ("usocket" ,sbcl-usocket)))
10990 (arguments
10991 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10992 (synopsis "Common Lisp interface for PostgreSQL")
10993 (description
10994 "@code{cl-postgres} is a low-level library used for interfacing with
10995 a PostgreSQL server over a socket.")))
10996
10997 (define-public cl-postgres
10998 (sbcl-package->cl-source-package sbcl-cl-postgres))
10999
11000 (define-public ecl-cl-postgres
11001 (package
11002 (inherit (sbcl-package->ecl-package sbcl-cl-postgres))
11003 (arguments
11004 `(#:phases
11005 (modify-phases %standard-phases
11006 (add-after 'unpack 'fix-ecl
11007 (lambda _
11008 (substitute* "cl-postgres.asd"
11009 (("\\) \"usocket\"") " :ecl) \"usocket\""))
11010 #t)))
11011 #:tests? #f))))
11012
11013 (define-public sbcl-simple-date-postgres-glue
11014 (package
11015 (inherit sbcl-simple-date)
11016 (name "sbcl-simple-date-postgres-glue")
11017 (inputs
11018 `(("cl-postgres" ,sbcl-cl-postgres)
11019 ("simple-date" ,sbcl-simple-date)))
11020 (arguments
11021 `(#:asd-file "simple-date.asd"
11022 #:asd-system-name "simple-date/postgres-glue"))))
11023
11024 (define-public cl-simple-date-postgres-glue
11025 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
11026
11027 (define-public sbcl-s-sql
11028 (package
11029 (inherit sbcl-simple-date)
11030 (name "sbcl-s-sql")
11031 (inputs
11032 `(("alexandria" ,sbcl-alexandria)
11033 ("cl-postgres" ,sbcl-cl-postgres)))
11034 (arguments
11035 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
11036 (synopsis "Lispy DSL for SQL")
11037 (description
11038 "@code{s-sql} is a Common Lisp library that can be used to compile
11039 s-expressions to strings of SQL code, escaping any Lisp values inside, and
11040 doing as much as possible of the work at compile time.")))
11041
11042 (define-public cl-s-sql
11043 (sbcl-package->cl-source-package sbcl-s-sql))
11044
11045 (define-public sbcl-postmodern
11046 (package
11047 (inherit sbcl-simple-date)
11048 (name "sbcl-postmodern")
11049 (native-inputs
11050 `(("fiveam" ,sbcl-fiveam)
11051 ("simple-date" ,sbcl-simple-date)
11052 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
11053 (inputs
11054 `(("alexandria" ,sbcl-alexandria)
11055 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11056 ("cl-postgres" ,sbcl-cl-postgres)
11057 ("closer-mop" ,sbcl-closer-mop)
11058 ("global-vars" ,sbcl-global-vars)
11059 ("s-sql" ,sbcl-s-sql)
11060 ("split-sequence" ,sbcl-split-sequence)))
11061 (arguments
11062 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
11063 ;; cl-postgres/tests and s-sql/tests.
11064 `(#:tests? #f))
11065 (synopsis "Common Lisp library for interacting with PostgreSQL")
11066 (description
11067 "@code{postmodern} is a Common Lisp library for interacting with
11068 PostgreSQL databases. It provides the following features:
11069
11070 @itemize
11071 @item Efficient communication with the database server without need for
11072 foreign libraries.
11073 @item Support for UTF-8 on Unicode-aware Lisp implementations.
11074 @item A syntax for mixing SQL and Lisp code.
11075 @item Convenient support for prepared statements and stored procedures.
11076 @item A metaclass for simple database-access objects.
11077 @end itemize\n")))
11078
11079 (define-public cl-postmodern
11080 (sbcl-package->cl-source-package sbcl-postmodern))
11081
11082 (define-public sbcl-dbi
11083 ;; Master includes a breaking change which other packages depend on since
11084 ;; Quicklisp decided to follow it:
11085 ;; https://github.com/fukamachi/cl-dbi/commit/31c46869722f77fd5292a81b5b101f1347d7fce1
11086 (let ((commit "31c46869722f77fd5292a81b5b101f1347d7fce1"))
11087 (package
11088 (name "sbcl-dbi")
11089 (version (git-version "0.9.4" "1" commit))
11090 (source
11091 (origin
11092 (method git-fetch)
11093 (uri (git-reference
11094 (url "https://github.com/fukamachi/cl-dbi")
11095 (commit commit)))
11096 (file-name (git-file-name name version))
11097 (sha256
11098 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3"))))
11099 (build-system asdf-build-system/sbcl)
11100 (inputs
11101 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11102 ("closer-mop" ,sbcl-closer-mop)
11103 ("split-sequence" ,sbcl-split-sequence)))
11104 (arguments
11105 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11106 (synopsis "Database independent interface for Common Lisp")
11107 (description
11108 "@code{dbi} is a Common Lisp library providing a database independent
11109 interface for MySQL, PostgreSQL and SQLite.")
11110 (home-page "https://github.com/fukamachi/cl-dbi")
11111 (license license:llgpl))))
11112
11113 (define-public cl-dbi
11114 (sbcl-package->cl-source-package sbcl-dbi))
11115
11116 (define-public sbcl-dbd-mysql
11117 (package
11118 (inherit sbcl-dbi)
11119 (name "sbcl-dbd-mysql")
11120 (inputs
11121 `(("cl-mysql" ,sbcl-cl-mysql)
11122 ("dbi" ,sbcl-dbi)))
11123 (synopsis "Database driver for MySQL")))
11124
11125 (define-public cl-dbd-mysql
11126 (sbcl-package->cl-source-package sbcl-dbd-mysql))
11127
11128 (define-public sbcl-dbd-postgres
11129 (package
11130 (inherit sbcl-dbi)
11131 (name "sbcl-dbd-postgres")
11132 (inputs
11133 `(("cl-postgres" ,sbcl-cl-postgres)
11134 ("dbi" ,sbcl-dbi)
11135 ("trivial-garbage" ,sbcl-trivial-garbage)))
11136 (synopsis "Database driver for PostgreSQL")))
11137
11138 (define-public cl-dbd-postgres
11139 (sbcl-package->cl-source-package sbcl-dbd-postgres))
11140
11141 (define-public sbcl-dbd-sqlite3
11142 (package
11143 (inherit sbcl-dbi)
11144 (name "sbcl-dbd-sqlite3")
11145 (inputs
11146 `(("cl-sqlite" ,sbcl-cl-sqlite)
11147 ("dbi" ,sbcl-dbi)
11148 ("trivial-garbage" ,sbcl-trivial-garbage)))
11149 (synopsis "Database driver for SQLite3")))
11150
11151 (define-public cl-dbd-sqlite3
11152 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
11153
11154 (define-public sbcl-uffi
11155 (package
11156 (name "sbcl-uffi")
11157 (version "2.1.2")
11158 (source
11159 (origin
11160 (method git-fetch)
11161 (uri (git-reference
11162 (url "http://git.kpe.io/uffi.git")
11163 (commit (string-append "v" version))))
11164 (file-name (git-file-name name version))
11165 (sha256
11166 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11167 (build-system asdf-build-system/sbcl)
11168 (arguments
11169 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11170 #:phases
11171 (modify-phases %standard-phases
11172 (add-after 'unpack 'fix-permissions
11173 (lambda _
11174 (make-file-writable "doc/html.tar.gz")
11175 #t)))))
11176 (synopsis "Universal foreign function library for Common Lisp")
11177 (description
11178 "UFFI provides a universal foreign function interface (FFI)
11179 for Common Lisp.")
11180 (home-page "http://quickdocs.org/uffi/")
11181 (license license:llgpl)))
11182
11183 (define-public cl-uffi
11184 (package
11185 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11186 (arguments
11187 `(#:phases
11188 ;; asdf-build-system/source has its own phases and does not inherit
11189 ;; from asdf-build-system/sbcl phases.
11190 (modify-phases %standard-phases/source
11191 (add-after 'unpack 'fix-permissions
11192 (lambda _
11193 (make-file-writable "doc/html.tar.gz")
11194 #t)))))))
11195
11196 (define-public sbcl-clsql
11197 (package
11198 (name "sbcl-clsql")
11199 (version "6.7.0")
11200 (source
11201 (origin
11202 (method git-fetch)
11203 (uri (git-reference
11204 (url "http://git.kpe.io/clsql.git")
11205 (commit (string-append "v" version))))
11206 (file-name (git-file-name name version))
11207 (sha256
11208 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11209 (snippet
11210 '(begin
11211 ;; Remove precompiled libraries.
11212 (delete-file "db-mysql/clsql_mysql.dll")
11213 (delete-file "uffi/clsql_uffi.dll")
11214 (delete-file "uffi/clsql_uffi.lib")
11215 #t))))
11216 (build-system asdf-build-system/sbcl)
11217 (native-inputs
11218 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11219 ("rt" ,sbcl-rt)
11220 ("uffi" ,sbcl-uffi)))
11221 (arguments
11222 `(#:phases
11223 (modify-phases %standard-phases
11224 (add-after 'unpack 'fix-permissions
11225 (lambda _
11226 (make-file-writable "doc/html.tar.gz")
11227 #t))
11228 (add-after 'unpack 'fix-tests
11229 (lambda _
11230 (substitute* "clsql.asd"
11231 (("clsql-tests :force t")
11232 "clsql-tests"))
11233 #t)))))
11234 (synopsis "Common Lisp SQL Interface library")
11235 (description
11236 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11237 Xanalys CommonSQL interface for Lispworks. It provides low-level database
11238 interfaces as well as a functional and an object oriented interface.")
11239 (home-page "http://clsql.kpe.io/")
11240 (license license:llgpl)))
11241
11242 (define-public cl-clsql
11243 (package
11244 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11245 (native-inputs
11246 `(("rt" ,cl-rt)))
11247 (inputs
11248 `(("mysql" ,mysql)
11249 ("postgresql" ,postgresql)
11250 ("sqlite" ,sqlite)
11251 ("zlib" ,zlib)))
11252 (propagated-inputs
11253 `(("cl-postgres" ,cl-postgres)
11254 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11255 ("md5" ,cl-md5)
11256 ("uffi" ,cl-uffi)))
11257 (arguments
11258 `(#:phases
11259 ;; asdf-build-system/source has its own phases and does not inherit
11260 ;; from asdf-build-system/sbcl phases.
11261 (modify-phases %standard-phases/source
11262 (add-after 'unpack 'fix-permissions
11263 (lambda _
11264 (make-file-writable "doc/html.tar.gz")
11265 #t)))))))
11266
11267 (define-public sbcl-clsql-uffi
11268 (package
11269 (inherit sbcl-clsql)
11270 (name "sbcl-clsql-uffi")
11271 (inputs
11272 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11273 ("clsql" ,sbcl-clsql)
11274 ("uffi" ,sbcl-uffi)))
11275 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
11276
11277 (define-public sbcl-clsql-sqlite3
11278 (package
11279 (inherit sbcl-clsql)
11280 (name "sbcl-clsql-sqlite3")
11281 (inputs
11282 `(("clsql" ,sbcl-clsql)
11283 ("clsql-uffi" ,sbcl-clsql-uffi)
11284 ("sqlite" ,sqlite)))
11285 (arguments
11286 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11287 ((#:phases phases '%standard-phases)
11288 `(modify-phases ,phases
11289 (add-after 'unpack 'fix-paths
11290 (lambda* (#:key inputs #:allow-other-keys)
11291 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11292 (("libsqlite3")
11293 (string-append (assoc-ref inputs "sqlite")
11294 "/lib/libsqlite3")))
11295 #t))))))
11296 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
11297
11298 (define-public sbcl-clsql-postgresql
11299 (package
11300 (inherit sbcl-clsql)
11301 (name "sbcl-clsql-postgresql")
11302 (inputs
11303 `(("clsql" ,sbcl-clsql)
11304 ("clsql-uffi" ,sbcl-clsql-uffi)
11305 ("postgresql" ,postgresql)))
11306 (arguments
11307 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11308 ((#:phases phases '%standard-phases)
11309 `(modify-phases ,phases
11310 (add-after 'unpack 'fix-paths
11311 (lambda* (#:key inputs #:allow-other-keys)
11312 (substitute* "db-postgresql/postgresql-loader.lisp"
11313 (("libpq")
11314 (string-append (assoc-ref inputs "postgresql")
11315 "/lib/libpq")))
11316 #t))))))
11317 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11318
11319 (define-public sbcl-clsql-postgresql-socket3
11320 (package
11321 (inherit sbcl-clsql)
11322 (name "sbcl-clsql-postgresql-socket3")
11323 (inputs
11324 `(("cl-postgres" ,sbcl-cl-postgres)
11325 ("clsql" ,sbcl-clsql)
11326 ("md5" ,sbcl-md5)))
11327 (arguments
11328 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11329 ((#:phases phases '%standard-phases)
11330 `(modify-phases ,phases
11331 (add-after 'create-asd-file 'fix-asd-file
11332 (lambda* (#:key outputs #:allow-other-keys)
11333 (let* ((out (assoc-ref outputs "out"))
11334 (lib (string-append out "/lib/" (%lisp-type)))
11335 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11336 (substitute* asd
11337 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11338 "")))
11339 #t))))))
11340 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11341
11342 (define-public sbcl-clsql-mysql
11343 (package
11344 (inherit sbcl-clsql)
11345 (name "sbcl-clsql-mysql")
11346 (inputs
11347 `(("mysql" ,mysql)
11348 ("sbcl-clsql" ,sbcl-clsql)
11349 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11350 ("zlib" ,zlib)))
11351 (arguments
11352 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11353 ((#:phases phases '%standard-phases)
11354 `(modify-phases ,phases
11355 (add-after 'unpack 'fix-paths
11356 (lambda* (#:key inputs outputs #:allow-other-keys)
11357 (let ((lib (string-append "#p\""
11358 (assoc-ref outputs "out")
11359 "/lib/\"")))
11360 (substitute* "clsql-mysql.asd"
11361 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11362 lib))
11363 (substitute* "db-mysql/mysql-loader.lisp"
11364 (("libmysqlclient" all)
11365 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11366 (("clsql-mysql-system::\\*library-file-dir\\*")
11367 lib)))
11368 #t))
11369 (add-before 'build 'build-helper-library
11370 (lambda* (#:key inputs outputs #:allow-other-keys)
11371 (let* ((mysql (assoc-ref inputs "mysql"))
11372 (inc-dir (string-append mysql "/include/mysql"))
11373 (lib-dir (string-append mysql "/lib"))
11374 (shared-lib-dir (string-append (assoc-ref outputs "out")
11375 "/lib"))
11376 (shared-lib (string-append shared-lib-dir
11377 "/clsql_mysql.so")))
11378 (mkdir-p shared-lib-dir)
11379 (invoke "gcc" "-fPIC" "-shared"
11380 "-I" inc-dir
11381 "db-mysql/clsql_mysql.c"
11382 "-Wl,-soname=clsql_mysql"
11383 "-L" lib-dir "-lmysqlclient" "-lz"
11384 "-o" shared-lib)
11385 #t)))))))
11386 (synopsis "MySQL driver for Common Lisp SQL interface library")))
11387
11388 (define-public sbcl-sycamore
11389 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11390 (package
11391 (name "sbcl-sycamore")
11392 (version "0.0.20120604")
11393 (source
11394 (origin
11395 (method git-fetch)
11396 (uri (git-reference
11397 (url "https://github.com/ndantam/sycamore/")
11398 (commit commit)))
11399 (file-name (git-file-name name version))
11400 (sha256
11401 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11402 (build-system asdf-build-system/sbcl)
11403 (arguments
11404 `(#:asd-file "src/sycamore.asd"))
11405 (inputs
11406 `(("alexandria" ,sbcl-alexandria)
11407 ("cl-ppcre" ,sbcl-cl-ppcre)))
11408 (synopsis "Purely functional data structure library in Common Lisp")
11409 (description
11410 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11411 If features:
11412
11413 @itemize
11414 @item Fast, purely functional weight-balanced binary trees.
11415 @item Leaf nodes are simple-vectors, greatly reducing tree height.
11416 @item Interfaces for tree Sets and Maps (dictionaries).
11417 @item Ropes.
11418 @item Purely functional pairing heaps.
11419 @item Purely functional amortized queue.
11420 @end itemize\n")
11421 (home-page "http://ndantam.github.io/sycamore/")
11422 (license license:bsd-3))))
11423
11424 (define-public cl-sycamore
11425 (sbcl-package->cl-source-package sbcl-sycamore))
11426
11427 (define-public sbcl-trivial-package-local-nicknames
11428 (package
11429 (name "sbcl-trivial-package-local-nicknames")
11430 (version "0.2")
11431 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11432 (source
11433 (origin
11434 (method git-fetch)
11435 (uri (git-reference
11436 (url home-page)
11437 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11438 (file-name (git-file-name name version))
11439 (sha256
11440 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11441 (build-system asdf-build-system/sbcl)
11442 (synopsis "Common Lisp compatibility library for package local nicknames")
11443 (description
11444 "This library is a portable compatibility layer around package local nicknames (PLN).
11445 This was done so there is a portability library for the PLN API not included
11446 in DEFPACKAGE.")
11447 (license license:unlicense)))
11448
11449 (define-public cl-trivial-package-local-nicknames
11450 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
11451
11452 (define-public sbcl-enchant
11453 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11454 (package
11455 (name "sbcl-enchant")
11456 (version (git-version "0.0.0" "1" commit))
11457 (home-page "https://github.com/tlikonen/cl-enchant")
11458 (source
11459 (origin
11460 (method git-fetch)
11461 (uri (git-reference
11462 (url home-page)
11463 (commit commit)))
11464 (file-name (git-file-name name version))
11465 (sha256
11466 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11467 (build-system asdf-build-system/sbcl)
11468 (inputs
11469 `(("enchant" ,enchant)
11470 ("cffi" ,sbcl-cffi)))
11471 (arguments
11472 `(#:phases
11473 (modify-phases %standard-phases
11474 (add-after 'unpack 'fix-paths
11475 (lambda* (#:key inputs #:allow-other-keys)
11476 (substitute* "load-enchant.lisp"
11477 (("libenchant")
11478 (string-append
11479 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11480 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11481 (description
11482 "Enchant is a Common Lisp interface for the Enchant spell-checker
11483 library. The Enchant library is a generic spell-checker library which uses
11484 other spell-checkers transparently as back-end. The library supports the
11485 multiple checkers, including Aspell and Hunspell.")
11486 (license license:public-domain))))
11487
11488 (define-public cl-enchant
11489 (sbcl-package->cl-source-package sbcl-enchant))
11490
11491 (define-public sbcl-cl-change-case
11492 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11493 (package
11494 (name "sbcl-cl-change-case")
11495 (version (git-version "0.1.0" "1" commit))
11496 (home-page "https://github.com/rudolfochrist/cl-change-case")
11497 (source
11498 (origin
11499 (method git-fetch)
11500 (uri (git-reference
11501 (url home-page)
11502 (commit commit)))
11503 (file-name (git-file-name name version))
11504 (sha256
11505 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11506 (build-system asdf-build-system/sbcl)
11507 (inputs
11508 `(("cl-ppcre" ,sbcl-cl-ppcre)
11509 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11510 (native-inputs
11511 `(("fiveam" ,sbcl-fiveam)))
11512 (arguments
11513 '(;; FIXME: Test pass but phase fails with 'Component
11514 ;; "cl-change-case-test" not found, required by'.
11515 #:tests? #f
11516 #:test-asd-file "cl-change-case-test.asd"))
11517 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11518 (description
11519 "@code{cl-change-case} is library to convert strings between camelCase,
11520 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11521 (license license:llgpl))))
11522
11523 (define-public cl-change-case
11524 (sbcl-package->cl-source-package sbcl-cl-change-case))
11525
11526 (define-public sbcl-moptilities
11527 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11528 (package
11529 (name "sbcl-moptilities")
11530 (version (git-version "0.3.13" "1" commit))
11531 (home-page "https://github.com/gwkkwg/moptilities/")
11532 (source
11533 (origin
11534 (method git-fetch)
11535 (uri (git-reference
11536 (url home-page)
11537 (commit commit)))
11538 (file-name (git-file-name name version))
11539 (sha256
11540 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11541 (build-system asdf-build-system/sbcl)
11542 (inputs
11543 `(("closer-mop" ,sbcl-closer-mop)))
11544 (native-inputs
11545 `(("lift" ,sbcl-lift)))
11546 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11547 (description
11548 "MOP utilities provide a common interface between Lisps and make the
11549 MOP easier to use.")
11550 (license license:expat))))
11551
11552 (define-public cl-moptilities
11553 (sbcl-package->cl-source-package sbcl-moptilities))
11554
11555 (define-public sbcl-osicat
11556 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11557 (package
11558 (name "sbcl-osicat")
11559 (version (git-version "0.7.0" "1" commit))
11560 (home-page "http://www.common-lisp.net/project/osicat/")
11561 (source
11562 (origin
11563 (method git-fetch)
11564 (uri (git-reference
11565 (url "https://github.com/osicat/osicat")
11566 (commit commit)))
11567 (file-name (git-file-name name version))
11568 (sha256
11569 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11570 (build-system asdf-build-system/sbcl)
11571 (arguments
11572 `(#:phases
11573 (modify-phases %standard-phases
11574 ;; The cleanup phase moves files around but we need to keep the
11575 ;; directory structure for the grovel-generated library.
11576 (replace 'cleanup
11577 (lambda* (#:key outputs #:allow-other-keys)
11578 (let* ((out (assoc-ref outputs "out"))
11579 (lib (string-append out "/lib/sbcl/")))
11580 (delete-file-recursively (string-append lib "src"))
11581 (delete-file-recursively (string-append lib "tests"))
11582 (for-each delete-file
11583 (filter (lambda (file)
11584 (not (member (basename file) '("libosicat.so"))))
11585 (find-files (string-append lib "posix") ".*"))))
11586 #t)))))
11587 (inputs
11588 `(("alexandria" ,sbcl-alexandria)
11589 ("cffi" ,sbcl-cffi)
11590 ("trivial-features" ,sbcl-trivial-features)))
11591 (native-inputs
11592 `(("cffi-grovel" ,sbcl-cffi-grovel)
11593 ("rt" ,sbcl-rt)))
11594 (synopsis "Operating system interface for Common Lisp")
11595 (description
11596 "Osicat is a lightweight operating system interface for Common Lisp on
11597 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11598 accompaniment to the standard ANSI facilities.")
11599 (license license:expat))))
11600
11601 (define-public cl-osicat
11602 (sbcl-package->cl-source-package sbcl-osicat))
11603
11604 (define-public sbcl-clx-xembed
11605 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11606 (revision "1"))
11607 (package
11608 (name "sbcl-clx-xembed")
11609 (version (git-version "0.1" revision commit))
11610 (home-page "https://github.com/laynor/clx-xembed")
11611 (source
11612 (origin
11613 (method git-fetch)
11614 (uri (git-reference
11615 (url "https://github.com/laynor/clx-xembed")
11616 (commit commit)))
11617 (file-name (git-file-name name version))
11618 (sha256
11619 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11620 (build-system asdf-build-system/sbcl)
11621 (arguments
11622 `(#:asd-system-name "xembed"))
11623 (inputs
11624 `(("sbcl-clx" ,sbcl-clx)))
11625 (synopsis "CL(x) xembed protocol implementation ")
11626 (description "CL(x) xembed protocol implementation")
11627 ;; MIT License
11628 (license license:expat))))
11629
11630 (define-public cl-clx-xembed
11631 (sbcl-package->cl-source-package sbcl-clx-xembed))
11632
11633 (define-public ecl-clx-xembed
11634 (sbcl-package->ecl-package sbcl-clx-xembed))
11635
11636 (define-public sbcl-quantile-estimator
11637 (package
11638 (name "sbcl-quantile-estimator")
11639 (version "0.0.1")
11640 (source
11641 (origin
11642 (method git-fetch)
11643 (uri (git-reference
11644 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11645 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11646 (file-name (git-file-name name version))
11647 (sha256
11648 (base32
11649 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11650 (build-system asdf-build-system/sbcl)
11651 (arguments
11652 '(#:asd-system-name "quantile-estimator"))
11653 (inputs
11654 `(("alexandria" ,sbcl-alexandria)))
11655 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11656 (synopsis
11657 "Effective computation of biased quantiles over data streams")
11658 (description
11659 "Common Lisp implementation of Graham Cormode and S.
11660 Muthukrishnan's Effective Computation of Biased Quantiles over Data
11661 Streams in ICDE’05.")
11662 (license license:expat)))
11663
11664 (define-public cl-quantile-estimator
11665 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11666
11667 (define-public ecl-quantile-estimator
11668 (sbcl-package->ecl-package sbcl-quantile-estimator))
11669
11670 (define-public sbcl-prometheus
11671 (package
11672 (name "sbcl-prometheus")
11673 (version "0.4.1")
11674 (source
11675 (origin
11676 (method git-fetch)
11677 (uri (git-reference
11678 (url "https://github.com/deadtrickster/prometheus.cl")
11679 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11680 (file-name (git-file-name name version))
11681 (sha256
11682 (base32
11683 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11684 (build-system asdf-build-system/sbcl)
11685 (inputs
11686 `(("alexandria" ,sbcl-alexandria)
11687 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11688 ("cl-ppcre" ,sbcl-cl-ppcre)
11689 ("local-time" ,sbcl-local-time)
11690 ("quantile-estimator" ,sbcl-quantile-estimator)))
11691 (home-page "https://github.com/deadtrickster/prometheus.cl")
11692 (synopsis "Prometheus.io Common Lisp client")
11693 (description "Prometheus.io Common Lisp client.")
11694 (license license:expat)))
11695
11696 (define-public cl-prometheus
11697 (sbcl-package->cl-source-package sbcl-prometheus))
11698
11699 (define-public ecl-prometheus
11700 (sbcl-package->ecl-package sbcl-prometheus))
11701
11702 (define-public sbcl-prometheus.collectors.sbcl
11703 (package
11704 (inherit sbcl-prometheus)
11705 (name "sbcl-prometheus.collectors.sbcl")
11706 (inputs `(("prometheus" ,sbcl-prometheus)))
11707 (synopsis "Prometheus collector for SBCL metrics")
11708 (description "Prometheus collector for SBCL metrics.")))
11709
11710 (define-public cl-prometheus.collectors.sbcl
11711 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
11712
11713 (define-public sbcl-prometheus.collectors.process
11714 (package
11715 (inherit sbcl-prometheus)
11716 (name "sbcl-prometheus.collectors.process")
11717 (inputs
11718 `(("cffi" ,sbcl-cffi)
11719 ("cffi-grovel" ,sbcl-cffi-grovel)
11720 ("cl-fad" ,sbcl-cl-fad)
11721 ("prometheus" ,sbcl-prometheus)
11722 ("split-sequence" ,sbcl-split-sequence)))
11723 (synopsis "Prometheus collector for process metrics")
11724 (description "Prometheus collector for process metrics.")))
11725
11726 (define-public cl-prometheus.collectors.process
11727 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11728
11729 (define-public ecl-prometheus.collectors.process
11730 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
11731
11732 (define-public sbcl-prometheus.formats.text
11733 (package
11734 (inherit sbcl-prometheus)
11735 (name "sbcl-prometheus.formats.text")
11736 (inputs
11737 `(("alexandria" ,sbcl-alexandria)
11738 ("prometheus" ,sbcl-prometheus)))
11739 (synopsis "Prometheus client text format")
11740 (description "Prometheus client text format.")))
11741
11742 (define-public cl-prometheus.formats.text
11743 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11744
11745 (define-public ecl-prometheus.formats.text
11746 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
11747
11748 (define-public sbcl-prometheus.exposers.hunchentoot
11749 (package
11750 (inherit sbcl-prometheus)
11751 (name "sbcl-prometheus.exposers.hunchentoot")
11752 (inputs
11753 `(("hunchentoot" ,sbcl-hunchentoot)
11754 ("prometheus" ,sbcl-prometheus)
11755 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11756 ("salza2" ,sbcl-salza2)
11757 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11758 (synopsis "Prometheus collector for Hunchentoot metrics")
11759 (description "Prometheus collector for Hunchentoot metrics")))
11760
11761 (define-public cl-prometheus.exposers.hunchentoot
11762 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
11763
11764 (define-public sbcl-prometheus.pushgateway
11765 (package
11766 (inherit sbcl-prometheus)
11767 (name "sbcl-prometheus.pushgateway")
11768 (inputs
11769 `(("drakma" ,sbcl-drakma)
11770 ("prometheus" ,sbcl-prometheus)
11771 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11772 (synopsis "Prometheus Pushgateway client")
11773 (description "Prometheus Pushgateway client.")))
11774
11775 (define-public cl-prometheus.pushgateway
11776 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11777
11778 (define-public ecl-prometheus.pushgateway
11779 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
11780
11781 (define-public sbcl-uuid
11782 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11783 (package
11784 (name "sbcl-uuid")
11785 (version (git-version "2012.12.26" "1" commit))
11786 (source
11787 (origin
11788 (method git-fetch)
11789 (uri (git-reference
11790 (url "https://github.com/dardoria/uuid")
11791 (commit commit)))
11792 (file-name (git-file-name name version))
11793 (sha256
11794 (base32
11795 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11796 (build-system asdf-build-system/sbcl)
11797 (inputs
11798 `(("ironclad" ,sbcl-ironclad)
11799 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11800 (home-page "https://github.com/dardoria/uuid")
11801 (synopsis
11802 "Common Lisp implementation of UUIDs according to RFC4122")
11803 (description
11804 "Common Lisp implementation of UUIDs according to RFC4122.")
11805 (license license:llgpl))))
11806
11807 (define-public cl-uuid
11808 (sbcl-package->cl-source-package sbcl-uuid))
11809
11810 (define-public ecl-uuid
11811 (sbcl-package->ecl-package sbcl-uuid))
11812
11813 (define-public sbcl-dissect
11814 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11815 (package
11816 (name "sbcl-dissect")
11817 (version (git-version "1.0.0" "1" commit))
11818 (source
11819 (origin
11820 (method git-fetch)
11821 (uri (git-reference
11822 (url "https://github.com/Shinmera/dissect")
11823 (commit commit)))
11824 (file-name (git-file-name name version))
11825 (sha256
11826 (base32
11827 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11828 (build-system asdf-build-system/sbcl)
11829 (inputs
11830 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11831 (home-page "https://shinmera.github.io/dissect/")
11832 (synopsis
11833 "Introspection library for the call stack and restarts")
11834 (description
11835 "Dissect is a small Common Lisp library for introspecting the call stack
11836 and active restarts.")
11837 (license license:zlib))))
11838
11839 (define-public cl-dissect
11840 (sbcl-package->cl-source-package sbcl-dissect))
11841
11842 (define-public ecl-dissect
11843 (sbcl-package->ecl-package sbcl-dissect))
11844
11845 ;; TODO: Uses ASDF's package-inferred-system which is not supported by
11846 ;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11847 ;; asdf-build-system/sbcl.
11848 (define-public sbcl-rove
11849 (package
11850 (name "sbcl-rove")
11851 (version "0.9.6")
11852 (source
11853 (origin
11854 (method git-fetch)
11855 (uri (git-reference
11856 (url "https://github.com/fukamachi/rove")
11857 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11858 (file-name (git-file-name name version))
11859 (sha256
11860 (base32
11861 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11862 (build-system asdf-build-system/sbcl)
11863 (inputs
11864 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11865 ("dissect" ,sbcl-dissect)
11866 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11867 (home-page "https://github.com/fukamachi/rove")
11868 (synopsis
11869 "Yet another common lisp testing library")
11870 (description
11871 "Rove is a unit testing framework for Common Lisp applications.
11872 This is intended to be a successor of Prove.")
11873 (license license:bsd-3)))
11874
11875 (define-public cl-rove
11876 (sbcl-package->cl-source-package sbcl-rove))
11877
11878 (define-public ecl-rove
11879 (sbcl-package->ecl-package sbcl-rove))
11880
11881 (define-public sbcl-exponential-backoff
11882 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11883 (package
11884 (name "sbcl-exponential-backoff")
11885 (version (git-version "0" "1" commit))
11886 (source
11887 (origin
11888 (method git-fetch)
11889 (uri (git-reference
11890 (url "https://github.com/death/exponential-backoff")
11891 (commit commit)))
11892 (file-name (git-file-name name version))
11893 (sha256
11894 (base32
11895 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11896 (build-system asdf-build-system/sbcl)
11897 (home-page "https://github.com/death/exponential-backoff")
11898 (synopsis "Exponential backoff algorithm in Common Lisp")
11899 (description
11900 "An implementation of the exponential backoff algorithm in Common Lisp.
11901 Inspired by the implementation found in Chromium. Read the header file to
11902 learn about each of the parameters.")
11903 (license license:expat))))
11904
11905 (define-public cl-exponential-backoff
11906 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11907
11908 (define-public ecl-exponential-backoff
11909 (sbcl-package->ecl-package sbcl-exponential-backoff))
11910
11911 (define-public sbcl-sxql
11912 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11913 (package
11914 (name "sbcl-sxql")
11915 (version (git-version "0.1.0" "1" commit))
11916 (source
11917 (origin
11918 (method git-fetch)
11919 (uri (git-reference
11920 (url "https://github.com/fukamachi/sxql")
11921 (commit commit)))
11922 (file-name (git-file-name name version))
11923 (sha256
11924 (base32
11925 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11926 (build-system asdf-build-system/sbcl)
11927 (arguments
11928 `(#:test-asd-file "sxql-test.asd"))
11929 (inputs
11930 `(("alexandria" ,sbcl-alexandria)
11931 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11932 ("iterate" ,sbcl-iterate)
11933 ("optima" ,sbcl-optima)
11934 ("split-sequence" ,sbcl-split-sequence)
11935 ("trivial-types" ,sbcl-trivial-types)))
11936 (native-inputs
11937 `(("prove" ,sbcl-prove)
11938 ("prove-asdf" ,sbcl-prove-asdf)))
11939 (home-page "https://github.com/fukamachi/sxql")
11940 (synopsis "SQL generator for Common Lisp")
11941 (description "SQL generator for Common Lisp.")
11942 (license license:bsd-3))))
11943
11944 (define-public cl-sxql
11945 (sbcl-package->cl-source-package sbcl-sxql))
11946
11947 (define-public ecl-sxql
11948 (sbcl-package->ecl-package sbcl-sxql))
11949
11950 (define-public sbcl-1am
11951 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11952 (package
11953 (name "sbcl-1am")
11954 (version (git-version "0.0" "1" commit))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/lmj/1am")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32
11964 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11965 (build-system asdf-build-system/sbcl)
11966 (arguments
11967 `(#:asd-system-name "1am"))
11968 (home-page "https://github.com/lmj/1am")
11969 (synopsis "Minimal testing framework for Common Lisp")
11970 (description "A minimal testing framework for Common Lisp.")
11971 (license license:expat))))
11972
11973 (define-public cl-1am
11974 (sbcl-package->cl-source-package sbcl-1am))
11975
11976 (define-public ecl-1am
11977 (sbcl-package->ecl-package sbcl-1am))
11978
11979 (define-public sbcl-cl-ascii-table
11980 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11981 (revision "1"))
11982 (package
11983 (name "sbcl-cl-ascii-table")
11984 (version (git-version "0.0.0" revision commit))
11985 (source
11986 (origin
11987 (method git-fetch)
11988 (uri (git-reference
11989 (url "https://github.com/telephil/cl-ascii-table")
11990 (commit commit)))
11991 (file-name (git-file-name name version))
11992 (sha256
11993 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11994 (build-system asdf-build-system/sbcl)
11995 (synopsis "Library to make ascii-art tables")
11996 (description
11997 "This is a Common Lisp library to present tabular data in ascii-art
11998 tables.")
11999 (home-page "https://github.com/telephil/cl-ascii-table")
12000 (license license:expat))))
12001
12002 (define-public cl-ascii-table
12003 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
12004
12005 (define-public ecl-cl-ascii-table
12006 (sbcl-package->ecl-package sbcl-cl-ascii-table))
12007
12008 (define-public sbcl-cl-rdkafka
12009 (package
12010 (name "sbcl-cl-rdkafka")
12011 (version "1.0.2")
12012 (source
12013 (origin
12014 (method git-fetch)
12015 (uri (git-reference
12016 (url "https://github.com/SahilKang/cl-rdkafka")
12017 (commit (string-append "v" version))))
12018 (file-name (git-file-name name version))
12019 (sha256
12020 (base32
12021 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
12022 (build-system asdf-build-system/sbcl)
12023 (arguments
12024 `(#:tests? #f ; Attempts to connect to locally running Kafka
12025 #:phases
12026 (modify-phases %standard-phases
12027 (add-after 'unpack 'fix-paths
12028 (lambda* (#:key inputs #:allow-other-keys)
12029 (substitute* "src/low-level/librdkafka-bindings.lisp"
12030 (("librdkafka" all)
12031 (string-append (assoc-ref inputs "librdkafka") "/lib/"
12032 all)))))
12033 (add-before 'cleanup 'move-bundle
12034 (lambda* (#:key outputs #:allow-other-keys)
12035 (let* ((out (assoc-ref outputs "out"))
12036 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
12037 (expected (string-append
12038 out "/lib/sbcl/cl-rdkafka--system.fasl")))
12039 (copy-file actual expected)
12040 #t))))))
12041 (inputs
12042 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
12043 ("cffi" ,sbcl-cffi)
12044 ("cffi-grovel" ,sbcl-cffi-grovel)
12045 ("librdkafka" ,librdkafka)
12046 ("lparallel" ,sbcl-lparallel)
12047 ("trivial-garbage" ,sbcl-trivial-garbage)))
12048 (home-page "https://github.com/SahilKang/cl-rdkafka")
12049 (synopsis "Common Lisp client library for Apache Kafka")
12050 (description "A Common Lisp client library for Apache Kafka.")
12051 (license license:gpl3)))
12052
12053 (define-public cl-rdkafka
12054 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
12055
12056 (define-public sbcl-acclimation
12057 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
12058 (package
12059 (name "sbcl-acclimation")
12060 (version (git-version "0.0.0" "1" commit))
12061 (source
12062 (origin
12063 (method git-fetch)
12064 (uri (git-reference
12065 (url "https://github.com/robert-strandh/Acclimation")
12066 (commit commit)))
12067 (file-name (git-file-name name version))
12068 (sha256
12069 (base32
12070 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
12071 (build-system asdf-build-system/sbcl)
12072 (home-page "https://github.com/robert-strandh/Acclimation")
12073 (synopsis "Internationalization library for Common Lisp")
12074 (description "This project is meant to provide tools for
12075 internationalizing Common Lisp programs.
12076
12077 One important aspect of internationalization is of course the language used in
12078 error messages, documentation strings, etc. But with this project we provide
12079 tools for all other aspects of internationalization as well, including dates,
12080 weight, temperature, names of physical quantitites, etc.")
12081 (license license:bsd-2))))
12082
12083 (define-public cl-acclimation
12084 (sbcl-package->cl-source-package sbcl-acclimation))
12085
12086 (define-public sbcl-clump-2-3-tree
12087 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
12088 (package
12089 (name "sbcl-clump-2-3-tree")
12090 (version (git-version "0.0.0" "1" commit))
12091 (source
12092 (origin
12093 (method git-fetch)
12094 (uri (git-reference
12095 (url "https://github.com/robert-strandh/Clump")
12096 (commit commit)))
12097 (file-name (git-file-name name version))
12098 (sha256
12099 (base32
12100 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
12101 (arguments
12102 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
12103 #:asd-system-name "clump-2-3-tree"))
12104 (inputs
12105 `(("acclimation" ,sbcl-acclimation)))
12106 (build-system asdf-build-system/sbcl)
12107 (home-page "https://github.com/robert-strandh/Clump")
12108 (synopsis "Implementation of 2-3 trees for Common Lisp")
12109 (description "The purpose of this library is to provide a collection of
12110 implementations of trees.
12111
12112 In contrast to existing libraries such as cl-containers, it does not impose a
12113 particular use for the trees. Instead, it aims for a stratified design,
12114 allowing client code to choose between different levels of abstraction.
12115
12116 As a consequence of this policy, low-level interfaces are provided where
12117 the concrete representation is exposed, but also high level interfaces
12118 where the trees can be used as search trees or as trees that represent
12119 sequences of objects.")
12120 (license license:bsd-2))))
12121
12122 (define-public sbcl-clump-binary-tree
12123 (package
12124 (inherit sbcl-clump-2-3-tree)
12125 (name "sbcl-clump-binary-tree")
12126 (arguments
12127 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12128 #:asd-system-name "clump-binary-tree"))
12129 (synopsis "Implementation of binary trees for Common Lisp")))
12130
12131 (define-public sbcl-clump
12132 (package
12133 (inherit sbcl-clump-2-3-tree)
12134 (name "sbcl-clump")
12135 (arguments
12136 '(#:asd-file "clump.asd"
12137 #:asd-system-name "clump"))
12138 (inputs
12139 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12140 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12141 (synopsis "Collection of tree implementations for Common Lisp")))
12142
12143 (define-public cl-clump
12144 (sbcl-package->cl-source-package sbcl-clump))
12145
12146 (define-public sbcl-cluffer-base
12147 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12148 (package
12149 (name "sbcl-cluffer-base")
12150 (version (git-version "0.0.0" "1" commit))
12151 (source
12152 (origin
12153 (method git-fetch)
12154 (uri (git-reference
12155 (url "https://github.com/robert-strandh/cluffer")
12156 (commit commit)))
12157 (file-name (git-file-name name version))
12158 (sha256
12159 (base32
12160 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12161 (arguments
12162 '(#:asd-file "Base/cluffer-base.asd"
12163 #:asd-system-name "cluffer-base"))
12164 (inputs
12165 `(("acclimation" ,sbcl-acclimation)))
12166 (build-system asdf-build-system/sbcl)
12167 (home-page "https://github.com/robert-strandh/cluffer")
12168 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12169 (description "Cluffer is a library for representing the buffer of a text
12170 editor. As such, it defines a set of CLOS protocols for client code to
12171 interact with the buffer contents in various ways, and it supplies different
12172 implementations of those protocols for different purposes.")
12173 (license license:bsd-2))))
12174
12175 (define-public sbcl-cluffer-standard-line
12176 (package
12177 (inherit sbcl-cluffer-base)
12178 (name "sbcl-cluffer-standard-line")
12179 (arguments
12180 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12181 #:asd-system-name "cluffer-standard-line"))
12182 (inputs
12183 `(("cluffer-base" ,sbcl-cluffer-base)))))
12184
12185 (define-public sbcl-cluffer-standard-buffer
12186 (package
12187 (inherit sbcl-cluffer-base)
12188 (name "sbcl-cluffer-standard-buffer")
12189 (arguments
12190 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12191 #:asd-system-name "cluffer-standard-buffer"))
12192 (inputs
12193 `(("cluffer-base" ,sbcl-cluffer-base)
12194 ("clump" ,sbcl-clump)))))
12195
12196 (define-public sbcl-cluffer-simple-line
12197 (package
12198 (inherit sbcl-cluffer-base)
12199 (name "sbcl-cluffer-simple-line")
12200 (arguments
12201 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12202 #:asd-system-name "cluffer-simple-line"))
12203 (inputs
12204 `(("cluffer-base" ,sbcl-cluffer-base)))))
12205
12206 (define-public sbcl-cluffer-simple-buffer
12207 (package
12208 (inherit sbcl-cluffer-base)
12209 (name "sbcl-cluffer-simple-buffer")
12210 (arguments
12211 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12212 #:asd-system-name "cluffer-simple-buffer"))
12213 (inputs
12214 `(("cluffer-base" ,sbcl-cluffer-base)))))
12215
12216 (define-public sbcl-cluffer
12217 (package
12218 (inherit sbcl-cluffer-base)
12219 (name "sbcl-cluffer")
12220 (arguments
12221 '(#:asd-file "cluffer.asd"
12222 #:asd-system-name "cluffer"))
12223 (inputs
12224 `(("cluffer-base" ,sbcl-cluffer-base)
12225 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12226 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12227 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12228 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12229
12230 (define-public cl-cluffer
12231 (sbcl-package->cl-source-package sbcl-cluffer))
12232
12233 (define-public sbcl-cl-libsvm-format
12234 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12235 (revision "0"))
12236 (package
12237 (name "sbcl-cl-libsvm-format")
12238 (version (git-version "0.1.0" revision commit))
12239 (source
12240 (origin
12241 (method git-fetch)
12242 (uri (git-reference
12243 (url "https://github.com/masatoi/cl-libsvm-format")
12244 (commit commit)))
12245 (file-name (git-file-name name version))
12246 (sha256
12247 (base32
12248 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12249 (build-system asdf-build-system/sbcl)
12250 (native-inputs
12251 `(("prove" ,sbcl-prove)
12252 ("prove-asdf" ,sbcl-prove-asdf)))
12253 (inputs
12254 `(("alexandria" ,sbcl-alexandria)))
12255 (synopsis "LibSVM data format reader for Common Lisp")
12256 (description
12257 "This Common Lisp library provides a fast reader for data in LibSVM
12258 format.")
12259 (home-page "https://github.com/masatoi/cl-libsvm-format")
12260 (license license:expat))))
12261
12262 (define-public cl-libsvm-format
12263 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12264
12265 (define-public ecl-cl-libsvm-format
12266 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12267
12268 (define-public sbcl-cl-online-learning
12269 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12270 (revision "0"))
12271 (package
12272 (name "sbcl-cl-online-learning")
12273 (version (git-version "0.5" revision commit))
12274 (source
12275 (origin
12276 (method git-fetch)
12277 (uri (git-reference
12278 (url "https://github.com/masatoi/cl-online-learning")
12279 (commit commit)))
12280 (file-name (git-file-name name version))
12281 (sha256
12282 (base32
12283 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12284 (build-system asdf-build-system/sbcl)
12285 (native-inputs
12286 `(("prove" ,sbcl-prove)
12287 ("prove-asdf" ,sbcl-prove-asdf)))
12288 (inputs
12289 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12290 ("cl-store" ,sbcl-cl-store)))
12291 (arguments
12292 `(;; FIXME: Tests pass but then the check phase crashes
12293 #:tests? #f))
12294 (synopsis "Online Machine Learning for Common Lisp")
12295 (description
12296 "This library contains a collection of machine learning algorithms for
12297 online linear classification written in Common Lisp.")
12298 (home-page "https://github.com/masatoi/cl-online-learning")
12299 (license license:expat))))
12300
12301 (define-public cl-online-learning
12302 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12303
12304 (define-public ecl-cl-online-learning
12305 (sbcl-package->ecl-package sbcl-cl-online-learning))
12306
12307 (define-public sbcl-cl-random-forest
12308 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12309 (revision "1"))
12310 (package
12311 (name "sbcl-cl-random-forest")
12312 (version (git-version "0.1" revision commit))
12313 (source
12314 (origin
12315 (method git-fetch)
12316 (uri (git-reference
12317 (url "https://github.com/masatoi/cl-random-forest")
12318 (commit commit)))
12319 (file-name (git-file-name name version))
12320 (sha256
12321 (base32
12322 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
12323 (build-system asdf-build-system/sbcl)
12324 (native-inputs
12325 `(("prove" ,sbcl-prove)
12326 ("prove-asdf" ,sbcl-prove-asdf)
12327 ("trivial-garbage" ,sbcl-trivial-garbage)))
12328 (inputs
12329 `(("alexandria" ,sbcl-alexandria)
12330 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12331 ("cl-online-learning" ,sbcl-cl-online-learning)
12332 ("lparallel" ,sbcl-lparallel)))
12333 (arguments
12334 `(#:tests? #f)) ; The tests download data from the Internet
12335 (synopsis "Random Forest and Global Refinement for Common Lisp")
12336 (description
12337 "CL-random-forest is an implementation of Random Forest for multiclass
12338 classification and univariate regression written in Common Lisp. It also
12339 includes an implementation of Global Refinement of Random Forest.")
12340 (home-page "https://github.com/masatoi/cl-random-forest")
12341 (license license:expat))))
12342
12343 (define-public cl-random-forest
12344 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12345
12346 (define-public ecl-cl-random-forest
12347 (sbcl-package->ecl-package sbcl-cl-random-forest))
12348
12349 (define-public sbcl-bordeaux-fft
12350 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12351 (revision "0"))
12352 (package
12353 (name "sbcl-bordeaux-fft")
12354 (version (git-version "1.0.1" revision commit))
12355 (source
12356 (origin
12357 (method git-fetch)
12358 (uri (git-reference
12359 (url "https://github.com/ahefner/bordeaux-fft")
12360 (commit commit)))
12361 (file-name (git-file-name name version))
12362 (sha256
12363 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12364 (build-system asdf-build-system/sbcl)
12365 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12366 (synopsis "Fast Fourier Transform for Common Lisp")
12367 (description
12368 "The Bordeaux-FFT library provides a reasonably efficient implementation
12369 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12370 portable Common Lisp.")
12371 (license license:gpl2+))))
12372
12373 (define-public cl-bordeaux-fft
12374 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12375
12376 (define-public ecl-bordeaux-fft
12377 (sbcl-package->ecl-package sbcl-bordeaux-fft))
12378
12379 (define-public sbcl-napa-fft3
12380 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12381 (revision "0"))
12382 (package
12383 (name "sbcl-napa-fft3")
12384 (version (git-version "0.0.1" revision commit))
12385 (source
12386 (origin
12387 (method git-fetch)
12388 (uri (git-reference
12389 (url "https://github.com/pkhuong/Napa-FFT3")
12390 (commit commit)))
12391 (file-name (git-file-name name version))
12392 (sha256
12393 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12394 (build-system asdf-build-system/sbcl)
12395 (home-page "https://github.com/pkhuong/Napa-FFT3")
12396 (synopsis "Fast Fourier Transform routines in Common Lisp")
12397 (description
12398 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12399 buildings blocks to express common operations that involve DFTs: filtering,
12400 convolutions, etc.")
12401 (license license:bsd-3))))
12402
12403 (define-public cl-napa-fft3
12404 (sbcl-package->cl-source-package sbcl-napa-fft3))
12405
12406 (define-public sbcl-cl-tga
12407 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12408 (revision "0"))
12409 (package
12410 (name "sbcl-cl-tga")
12411 (version (git-version "0.0.0" revision commit))
12412 (source
12413 (origin
12414 (method git-fetch)
12415 (uri (git-reference
12416 (url "https://github.com/fisxoj/cl-tga")
12417 (commit commit)))
12418 (file-name (git-file-name name version))
12419 (sha256
12420 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12421 (build-system asdf-build-system/sbcl)
12422 (home-page "https://github.com/fisxoj/cl-tga")
12423 (synopsis "TGA file loader for Common Lisp")
12424 (description
12425 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12426 programs. It's a very simple library, and, at the moment, only supports
12427 non-RLE encoded forms of the files.")
12428 (license license:expat))))
12429
12430 (define-public cl-tga
12431 (sbcl-package->cl-source-package sbcl-cl-tga))
12432
12433 (define-public ecl-cl-tga
12434 (sbcl-package->ecl-package sbcl-cl-tga))
12435
12436 (define-public sbcl-com.gigamonkeys.binary-data
12437 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12438 (revision "0"))
12439 (package
12440 (name "sbcl-com.gigamonkeys.binary-data")
12441 (version (git-version "0.0.0" revision commit))
12442 (source
12443 (origin
12444 (method git-fetch)
12445 (uri (git-reference
12446 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12447 (commit commit)))
12448 (file-name (git-file-name name version))
12449 (sha256
12450 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12451 (build-system asdf-build-system/sbcl)
12452 (inputs
12453 `(("alexandria" ,sbcl-alexandria)))
12454 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12455 (synopsis "Common Lisp library for reading and writing binary data")
12456 (description
12457 "This a Common Lisp library for reading and writing binary data. It is
12458 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12459 (license license:bsd-3))))
12460
12461 (define-public cl-com.gigamonkeys.binary-data
12462 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12463
12464 (define-public ecl-com.gigamonkeys.binary-data
12465 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
12466
12467 (define-public sbcl-deflate
12468 (package
12469 (name "sbcl-deflate")
12470 (version "1.0.3")
12471 (source
12472 (origin
12473 (method git-fetch)
12474 (uri (git-reference
12475 (url "https://github.com/pmai/Deflate")
12476 (commit (string-append "release-" version))))
12477 (file-name (git-file-name name version))
12478 (sha256
12479 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12480 (build-system asdf-build-system/sbcl)
12481 (home-page "https://github.com/pmai/Deflate")
12482 (synopsis "Native deflate decompression for Common Lisp")
12483 (description
12484 "This library is an implementation of Deflate (RFC 1951) decompression,
12485 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12486 wrappers of deflate streams. It currently does not handle compression.")
12487 (license license:expat)))
12488
12489 (define-public cl-deflate
12490 (sbcl-package->cl-source-package sbcl-deflate))
12491
12492 (define-public ecl-deflate
12493 (sbcl-package->ecl-package sbcl-deflate))
12494
12495 (define-public sbcl-skippy
12496 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12497 (revision "0"))
12498 (package
12499 (name "sbcl-skippy")
12500 (version (git-version "1.3.12" revision commit))
12501 (source
12502 (origin
12503 (method git-fetch)
12504 (uri (git-reference
12505 (url "https://github.com/xach/skippy")
12506 (commit commit)))
12507 (file-name (git-file-name name version))
12508 (sha256
12509 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12510 (build-system asdf-build-system/sbcl)
12511 (home-page "https://xach.com/lisp/skippy/")
12512 (synopsis "Common Lisp library for GIF images")
12513 (description
12514 "Skippy is a Common Lisp library to read and write GIF image files.")
12515 (license license:bsd-2))))
12516
12517 (define-public cl-skippy
12518 (sbcl-package->cl-source-package sbcl-skippy))
12519
12520 (define-public ecl-skippy
12521 (sbcl-package->ecl-package sbcl-skippy))
12522
12523 (define-public sbcl-cl-freetype2
12524 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12525 (revision "0"))
12526 (package
12527 (name "sbcl-cl-freetype2")
12528 (version (git-version "1.1" revision commit))
12529 (source
12530 (origin
12531 (method git-fetch)
12532 (uri (git-reference
12533 (url "https://github.com/rpav/cl-freetype2")
12534 (commit commit)))
12535 (file-name (git-file-name name version))
12536 (sha256
12537 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12538 (build-system asdf-build-system/sbcl)
12539 (native-inputs
12540 `(("fiveam" ,sbcl-fiveam)))
12541 (inputs
12542 `(("alexandria" ,sbcl-alexandria)
12543 ("cffi" ,sbcl-cffi)
12544 ("cffi-grovel" ,sbcl-cffi-grovel)
12545 ("freetype" ,freetype)
12546 ("trivial-garbage" ,sbcl-trivial-garbage)))
12547 (arguments
12548 `(#:phases
12549 (modify-phases %standard-phases
12550 (add-after 'unpack 'fix-paths
12551 (lambda* (#:key inputs #:allow-other-keys)
12552 (substitute* "src/ffi/ft2-lib.lisp"
12553 (("\"libfreetype\"")
12554 (string-append "\"" (assoc-ref inputs "freetype")
12555 "/lib/libfreetype\"")))
12556 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12557 (("-I/usr/include/freetype")
12558 (string-append "-I" (assoc-ref inputs "freetype")
12559 "/include/freetype")))
12560 #t)))))
12561 (home-page "https://github.com/rpav/cl-freetype2")
12562 (synopsis "Common Lisp bindings for Freetype 2")
12563 (description
12564 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12565 geared toward both using Freetype directly by providing a simplified API, as
12566 well as providing access to the underlying C structures and functions for use
12567 with other libraries which may also use Freetype.")
12568 (license license:bsd-3))))
12569
12570 (define-public cl-freetype2
12571 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12572
12573 (define-public ecl-cl-freetype2
12574 (sbcl-package->ecl-package sbcl-cl-freetype2))
12575
12576 (define-public sbcl-opticl-core
12577 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12578 (revision "0"))
12579 (package
12580 (name "sbcl-opticl-core")
12581 (version (git-version "0.0.0" revision commit))
12582 (source
12583 (origin
12584 (method git-fetch)
12585 (uri (git-reference
12586 (url "https://github.com/slyrus/opticl-core")
12587 (commit commit)))
12588 (file-name (git-file-name name version))
12589 (sha256
12590 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12591 (build-system asdf-build-system/sbcl)
12592 (inputs
12593 `(("alexandria" ,sbcl-alexandria)))
12594 (home-page "https://github.com/slyrus/opticl-core")
12595 (synopsis "Core classes and pixel access macros for Opticl")
12596 (description
12597 "This Common Lisp library contains the core classes and pixel access
12598 macros for the Opticl image processing library.")
12599 (license license:bsd-2))))
12600
12601 (define-public cl-opticl-core
12602 (sbcl-package->cl-source-package sbcl-opticl-core))
12603
12604 (define-public ecl-opticl-core
12605 (sbcl-package->ecl-package sbcl-opticl-core))
12606
12607 (define-public sbcl-retrospectiff
12608 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12609 (revision "0"))
12610 (package
12611 (name "sbcl-retrospectiff")
12612 (version (git-version "0.2" revision commit))
12613 (source
12614 (origin
12615 (method git-fetch)
12616 (uri (git-reference
12617 (url "https://github.com/slyrus/retrospectiff")
12618 (commit commit)))
12619 (file-name (git-file-name name version))
12620 (sha256
12621 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12622 (build-system asdf-build-system/sbcl)
12623 (native-inputs
12624 `(("fiveam" ,sbcl-fiveam)))
12625 (inputs
12626 `(("cl-jpeg" ,sbcl-cl-jpeg)
12627 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12628 ("deflate" ,sbcl-deflate)
12629 ("flexi-streams" ,sbcl-flexi-streams)
12630 ("ieee-floats" ,sbcl-ieee-floats)
12631 ("opticl-core" ,sbcl-opticl-core)))
12632 (home-page "https://github.com/slyrus/retrospectiff")
12633 (synopsis "Common Lisp library for TIFF images")
12634 (description
12635 "Retrospectiff is a common lisp library for reading and writing images
12636 in the TIFF (Tagged Image File Format) format.")
12637 (license license:bsd-2))))
12638
12639 (define-public cl-retrospectif
12640 (sbcl-package->cl-source-package sbcl-retrospectiff))
12641
12642 (define-public ecl-retrospectiff
12643 (sbcl-package->ecl-package sbcl-retrospectiff))
12644
12645 (define-public sbcl-mmap
12646 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12647 (revision "0"))
12648 (package
12649 (name "sbcl-mmap")
12650 (version (git-version "1.0.0" revision commit))
12651 (source
12652 (origin
12653 (method git-fetch)
12654 (uri (git-reference
12655 (url "https://github.com/Shinmera/mmap")
12656 (commit commit)))
12657 (file-name (git-file-name name version))
12658 (sha256
12659 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12660 (build-system asdf-build-system/sbcl)
12661 (native-inputs
12662 `(("alexandria" ,sbcl-alexandria)
12663 ("cffi" ,sbcl-cffi)
12664 ("parachute" ,sbcl-parachute)
12665 ("trivial-features" ,sbcl-trivial-features)))
12666 (inputs
12667 `(("cffi" ,sbcl-cffi)
12668 ("documentation-utils" ,sbcl-documentation-utils)))
12669 (home-page "https://shinmera.github.io/mmap/")
12670 (synopsis "File memory mapping for Common Lisp")
12671 (description
12672 "This is a utility library providing access to the @emph{mmap} family of
12673 functions in a portable way. It allows you to directly map a file into the
12674 address space of your process without having to manually read it into memory
12675 sequentially. Typically this is much more efficient for files that are larger
12676 than a few Kb.")
12677 (license license:zlib))))
12678
12679 (define-public cl-mmap
12680 (sbcl-package->cl-source-package sbcl-mmap))
12681
12682 (define-public ecl-mmap
12683 (sbcl-package->ecl-package sbcl-mmap))
12684
12685 (define-public sbcl-3bz
12686 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12687 (revision "0"))
12688 (package
12689 (name "sbcl-3bz")
12690 (version (git-version "0.0.0" revision commit))
12691 (source
12692 (origin
12693 (method git-fetch)
12694 (uri (git-reference
12695 (url "https://github.com/3b/3bz")
12696 (commit commit)))
12697 (file-name (git-file-name name version))
12698 (sha256
12699 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12700 (build-system asdf-build-system/sbcl)
12701 (inputs
12702 `(("alexandria" ,sbcl-alexandria)
12703 ("babel" ,sbcl-babel)
12704 ("cffi" ,sbcl-cffi)
12705 ("mmap" ,sbcl-mmap)
12706 ("nibbles" ,sbcl-nibbles)
12707 ("trivial-features" ,sbcl-trivial-features)))
12708 (arguments
12709 ;; FIXME: Without the following line, the build fails (see issue 41437).
12710 `(#:asd-system-name "3bz"))
12711 (home-page "https://github.com/3b/3bz")
12712 (synopsis "Deflate decompression for Common Lisp")
12713 (description
12714 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12715 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12716 foreign pointers (for use with mmap and similar, etc), and from CL octet
12717 vectors and streams.")
12718 (license license:expat))))
12719
12720 (define-public cl-3bz
12721 (sbcl-package->cl-source-package sbcl-3bz))
12722
12723 (define-public ecl-3bz
12724 (sbcl-package->ecl-package sbcl-3bz))
12725
12726 (define-public sbcl-zpb-exif
12727 (package
12728 (name "sbcl-zpb-exif")
12729 (version "1.2.4")
12730 (source
12731 (origin
12732 (method git-fetch)
12733 (uri (git-reference
12734 (url "https://github.com/xach/zpb-exif")
12735 (commit (string-append "release-" version))))
12736 (file-name (git-file-name name version))
12737 (sha256
12738 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12739 (build-system asdf-build-system/sbcl)
12740 (home-page "https://xach.com/lisp/zpb-exif/")
12741 (synopsis "EXIF information extractor for Common Lisp")
12742 (description
12743 "This is a Common Lisp library to extract EXIF information from image
12744 files.")
12745 (license license:bsd-2)))
12746
12747 (define-public cl-zpb-exif
12748 (sbcl-package->cl-source-package sbcl-zpb-exif))
12749
12750 (define-public ecl-zpb-exif
12751 (sbcl-package->ecl-package sbcl-zpb-exif))
12752
12753 (define-public sbcl-pngload
12754 (package
12755 (name "sbcl-pngload")
12756 (version "2.0.0")
12757 (source
12758 (origin
12759 (method git-fetch)
12760 (uri (git-reference
12761 (url "https://github.com/bufferswap/pngload")
12762 (commit version)))
12763 (file-name (git-file-name name version))
12764 (sha256
12765 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12766 (build-system asdf-build-system/sbcl)
12767 (inputs
12768 `(("3bz" ,sbcl-3bz)
12769 ("alexandria" ,sbcl-alexandria)
12770 ("cffi" ,sbcl-cffi)
12771 ("mmap" ,sbcl-mmap)
12772 ("parse-float" ,sbcl-parse-float)
12773 ("static-vectors" ,sbcl-static-vectors)
12774 ("swap-bytes" ,sbcl-swap-bytes)
12775 ("zpb-exif" ,sbcl-zpb-exif)))
12776 (arguments
12777 ;; Test suite disabled because of a dependency cycle.
12778 ;; pngload tests depend on opticl which depends on pngload.
12779 '(#:tests? #f))
12780 (home-page "https://github.com/bufferswap/pngload")
12781 (synopsis "PNG image decoder for Common Lisp")
12782 (description
12783 "This is a Common Lisp library to load images in the PNG image format,
12784 both from files on disk, or streams in memory.")
12785 (license license:expat)))
12786
12787 (define-public cl-pngload
12788 (sbcl-package->cl-source-package sbcl-pngload))
12789
12790 (define-public ecl-pngload
12791 (sbcl-package->ecl-package sbcl-pngload))
12792
12793 (define-public sbcl-opticl
12794 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12795 (revision "0"))
12796 (package
12797 (name "sbcl-opticl")
12798 (version (git-version "0.0.0" revision commit))
12799 (source
12800 (origin
12801 (method git-fetch)
12802 (uri (git-reference
12803 (url "https://github.com/slyrus/opticl")
12804 (commit commit)))
12805 (file-name (git-file-name name version))
12806 (sha256
12807 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12808 (build-system asdf-build-system/sbcl)
12809 (native-inputs
12810 `(("fiveam" ,sbcl-fiveam)))
12811 (inputs
12812 `(("alexandria" ,sbcl-alexandria)
12813 ("cl-jpeg" ,sbcl-cl-jpeg)
12814 ("cl-tga" ,sbcl-cl-tga)
12815 ("png-read" ,sbcl-png-read)
12816 ("pngload" ,sbcl-pngload)
12817 ("retrospectiff" ,sbcl-retrospectiff)
12818 ("skippy" ,sbcl-skippy)
12819 ("zpng" ,sbcl-zpng)))
12820 (home-page "https://github.com/slyrus/opticl")
12821 (synopsis "Image processing library for Common Lisp")
12822 (description
12823 "Opticl is a Common Lisp library for representing, processing, loading,
12824 and saving 2-dimensional pixel-based images.")
12825 (license license:bsd-2))))
12826
12827 (define-public cl-opticl
12828 (sbcl-package->cl-source-package sbcl-opticl))
12829
12830 (define-public sbcl-clim-lisp
12831 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12832 (revision "0"))
12833 (package
12834 (name "sbcl-clim-lisp")
12835 (version (git-version "0.9.7" revision commit))
12836 (source
12837 (origin
12838 (method git-fetch)
12839 (uri (git-reference
12840 (url "https://github.com/mcclim/mcclim")
12841 (commit commit)))
12842 (file-name (git-file-name name version))
12843 (sha256
12844 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12845 (build-system asdf-build-system/sbcl)
12846 (inputs
12847 `(("alexandria" ,sbcl-alexandria)
12848 ("closer-mop" ,sbcl-closer-mop)
12849 ("log4cl" ,sbcl-log4cl)
12850 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12851 (home-page "https://common-lisp.net/project/mcclim/")
12852 (synopsis "Common Lisp GUI toolkit")
12853 (description
12854 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12855 specification}, a toolkit for writing GUIs in Common Lisp.")
12856 (license license:lgpl2.1+))))
12857
12858 (define-public sbcl-clim-basic
12859 (package
12860 (inherit sbcl-clim-lisp)
12861 (name "sbcl-clim-basic")
12862 (inputs
12863 `(("alexandria" ,sbcl-alexandria)
12864 ("babel" ,sbcl-babel)
12865 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12866 ("clim-lisp" ,sbcl-clim-lisp)
12867 ("flexichain" ,sbcl-flexichain)
12868 ("spatial-trees" ,sbcl-spatial-trees)
12869 ("trivial-features" ,sbcl-trivial-features)
12870 ("trivial-garbage" ,sbcl-trivial-garbage)))
12871 (arguments
12872 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
12873
12874 (define-public sbcl-clim-core
12875 (package
12876 (inherit sbcl-clim-lisp)
12877 (name "sbcl-clim-core")
12878 (inputs
12879 `(("clim-basic" ,sbcl-clim-basic)))
12880 (arguments
12881 '(#:asd-file "Core/clim-core/clim-core.asd"))))
12882
12883 (define-public sbcl-esa-mcclim
12884 (package
12885 (inherit sbcl-clim-lisp)
12886 (name "sbcl-esa-mcclim")
12887 (inputs
12888 `(("alexandria" ,sbcl-alexandria)
12889 ("clim-core" ,sbcl-clim-core)))
12890 (arguments
12891 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
12892
12893 (define-public sbcl-mcclim-fonts
12894 (package
12895 (inherit sbcl-clim-lisp)
12896 (name "sbcl-mcclim-fonts")
12897 (inputs
12898 `(("clim-basic" ,sbcl-clim-basic)))
12899 (arguments
12900 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
12901
12902 (define-public sbcl-automaton
12903 (package
12904 (inherit sbcl-clim-lisp)
12905 (name "sbcl-automaton")
12906 (inputs
12907 `())
12908 (arguments
12909 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
12910
12911 (define-public sbcl-persistent
12912 (package
12913 (inherit sbcl-clim-lisp)
12914 (name "sbcl-persistent")
12915 (inputs
12916 `())
12917 (arguments
12918 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
12919
12920 (define-public sbcl-drei-mcclim
12921 (package
12922 (inherit sbcl-clim-lisp)
12923 (name "sbcl-drei-mcclim")
12924 (native-inputs
12925 `(("fiveam" ,sbcl-fiveam)))
12926 (inputs
12927 `(("automaton" ,sbcl-automaton)
12928 ("clim-core" ,sbcl-clim-core)
12929 ("esa-mcclim" ,sbcl-esa-mcclim)
12930 ("flexichain" ,sbcl-flexichain)
12931 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12932 ("persistent" ,sbcl-persistent)
12933 ("swank" ,cl-slime-swank)))
12934 (arguments
12935 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
12936
12937 (define-public sbcl-clim
12938 (package
12939 (inherit sbcl-clim-lisp)
12940 (name "sbcl-clim")
12941 (inputs
12942 `(("clim-core" ,sbcl-clim-core)
12943 ("drei-mcclim" ,sbcl-drei-mcclim)
12944 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12945 (arguments
12946 '(#:asd-file "Core/clim/clim.asd"))))
12947
12948 (define-public sbcl-mcclim-backend-common
12949 (package
12950 (inherit sbcl-clim-lisp)
12951 (name "sbcl-mcclim-backend-common")
12952 (native-inputs
12953 `(("fiveam" ,sbcl-fiveam)))
12954 (inputs
12955 `(("clim" ,sbcl-clim)
12956 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12957 (arguments
12958 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
12959
12960 (define-public sbcl-mcclim-clx
12961 (package
12962 (inherit sbcl-clim-lisp)
12963 (name "sbcl-mcclim-clx")
12964 (inputs
12965 `(("alexandria" ,sbcl-alexandria)
12966 ("cl-unicode" ,sbcl-cl-unicode)
12967 ("clx" ,sbcl-clx)
12968 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12969 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12970 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12971 (arguments
12972 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
12973
12974 (define-public sbcl-mcclim-fonts-truetype
12975 (package
12976 (inherit sbcl-clim-lisp)
12977 (name "sbcl-mcclim-fonts-truetype")
12978 (inputs
12979 `(("alexandria" ,sbcl-alexandria)
12980 ("cl-aa" ,sbcl-cl-aa)
12981 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12982 ("cl-vectors" ,sbcl-cl-vectors)
12983 ("clim-basic" ,sbcl-clim-basic)
12984 ("font-dejavu" ,font-dejavu)
12985 ("zpb-ttf" ,sbcl-zpb-ttf)))
12986 (arguments
12987 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
12988 #:asd-system-name "mcclim-fonts/truetype"
12989 #:phases
12990 (modify-phases %standard-phases
12991 (add-after 'unpack 'fix-paths
12992 (lambda* (#:key inputs #:allow-other-keys)
12993 ;; mcclim-truetype uses DejaVu as default font and
12994 ;; sets the path at build time.
12995 (substitute* "Extensions/fonts/fontconfig.lisp"
12996 (("/usr/share/fonts/truetype/dejavu/")
12997 (string-append (assoc-ref inputs "font-dejavu")
12998 "/share/fonts/truetype/")))
12999 #t)))))))
13000
13001 (define-public sbcl-mcclim-fonts-clx-truetype
13002 (package
13003 (inherit sbcl-clim-lisp)
13004 (name "sbcl-mcclim-fonts-clx-truetype")
13005 (inputs
13006 `(("mcclim-clx" ,sbcl-mcclim-clx)
13007 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13008 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13009 (arguments
13010 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
13011 #:asd-system-name "mcclim-fonts/clx-truetype"
13012 #:phases
13013 (modify-phases %standard-phases
13014 (add-after 'unpack 'fix-asd-system-names
13015 (lambda _
13016 (substitute* "Extensions/fonts/mcclim-fonts.asd"
13017 ((":depends-on \\(#:mcclim-fonts/truetype")
13018 ":depends-on (#:mcclim-fonts-truetype"))
13019 #t)))))))
13020
13021 (define-public sbcl-mcclim-clx-truetype
13022 (package
13023 (inherit sbcl-clim-lisp)
13024 (name "sbcl-mcclim-clx-truetype")
13025 (inputs
13026 `(("mcclim-clx" ,sbcl-mcclim-clx)
13027 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
13028 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13029 (arguments
13030 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13031 #:asd-system-name "mcclim-clx/truetype"
13032 #:phases
13033 (modify-phases %standard-phases
13034 (add-after 'unpack 'fix-asd-system-names
13035 (lambda _
13036 (substitute* "Backends/CLX/mcclim-clx.asd"
13037 (("mcclim-fonts/clx-truetype")
13038 "mcclim-fonts-clx-truetype"))
13039 #t)))))))
13040
13041 (define-public sbcl-mcclim-fontconfig
13042 (package
13043 (inherit sbcl-clim-lisp)
13044 (name "sbcl-mcclim-fontconfig")
13045 (native-inputs
13046 `(("pkg-config" ,pkg-config)))
13047 (inputs
13048 `(("alexandria" ,sbcl-alexandria)
13049 ("cffi" ,sbcl-cffi)
13050 ("cffi-grovel" ,sbcl-cffi-grovel)
13051 ("fontconfig" ,fontconfig)))
13052 (arguments
13053 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
13054 #:phases
13055 (modify-phases %standard-phases
13056 (add-after 'unpack 'fix-paths
13057 (lambda* (#:key inputs #:allow-other-keys)
13058 (substitute* "Extensions/fontconfig/src/functions.lisp"
13059 (("libfontconfig\\.so")
13060 (string-append (assoc-ref inputs "fontconfig")
13061 "/lib/libfontconfig.so")))
13062 #t))
13063 (add-after 'unpack 'fix-build
13064 (lambda _
13065 ;; The cffi-grovel system does not get loaded automatically,
13066 ;; so we load it explicitly.
13067 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
13068 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
13069 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13070 #t)))))))
13071
13072 (define-public sbcl-mcclim-harfbuzz
13073 (package
13074 (inherit sbcl-clim-lisp)
13075 (name "sbcl-mcclim-harfbuzz")
13076 (native-inputs
13077 `(("pkg-config" ,pkg-config)))
13078 (inputs
13079 `(("alexandria" ,sbcl-alexandria)
13080 ("cffi" ,sbcl-cffi)
13081 ("cffi-grovel" ,sbcl-cffi-grovel)
13082 ("freetype" ,freetype)
13083 ("harfbuzz" ,harfbuzz)
13084 ("trivial-garbage" ,sbcl-trivial-garbage)))
13085 (arguments
13086 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13087 #:phases
13088 (modify-phases %standard-phases
13089 (add-after 'unpack 'fix-paths
13090 (lambda* (#:key inputs #:allow-other-keys)
13091 (substitute* "Extensions/harfbuzz/src/functions.lisp"
13092 (("libharfbuzz\\.so")
13093 (string-append (assoc-ref inputs "harfbuzz")
13094 "/lib/libharfbuzz.so")))
13095 #t))
13096 (add-after 'unpack 'fix-build
13097 (lambda _
13098 ;; The cffi-grovel system does not get loaded automatically,
13099 ;; so we load it explicitly.
13100 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
13101 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
13102 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
13103 #t)))))))
13104
13105 (define-public sbcl-mcclim-fonts-clx-freetype
13106 (package
13107 (inherit sbcl-clim-lisp)
13108 (name "sbcl-mcclim-fonts-clx-freetype")
13109 (inputs
13110 `(("cl-freetype2" ,sbcl-cl-freetype2)
13111 ("mcclim-clx" ,sbcl-mcclim-clx)
13112 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
13113 ("mcclim-fonts" ,sbcl-mcclim-fonts)
13114 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13115 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13116 (arguments
13117 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13118 #:asd-system-name "mcclim-fonts/clx-freetype"))))
13119
13120 (define-public sbcl-mcclim-clx-freetype
13121 (package
13122 (inherit sbcl-clim-lisp)
13123 (name "sbcl-mcclim-clx-freetype")
13124 (inputs
13125 `(("mcclim-clx" ,sbcl-mcclim-clx)
13126 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13127 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13128 (arguments
13129 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13130 #:asd-system-name "mcclim-clx/freetype"
13131 #:phases
13132 (modify-phases %standard-phases
13133 (add-after 'unpack 'fix-asd-system-names
13134 (lambda _
13135 (substitute* "Backends/CLX/mcclim-clx.asd"
13136 (("mcclim-fonts/clx-freetype")
13137 "mcclim-fonts-clx-freetype"))
13138 #t)))))))
13139
13140 (define-public sbcl-mcclim-render
13141 (package
13142 (inherit sbcl-clim-lisp)
13143 (name "sbcl-mcclim-render")
13144 (inputs
13145 `(("alexandria" ,sbcl-alexandria)
13146 ("cl-vectors" ,sbcl-cl-vectors)
13147 ("clim-basic" ,sbcl-clim-basic)
13148 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13149 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13150 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13151 (arguments
13152 '(#:asd-file "Extensions/render/mcclim-render.asd"
13153 #:phases
13154 (modify-phases %standard-phases
13155 (add-after 'unpack 'fix-asd-system-names
13156 (lambda _
13157 (substitute* "Extensions/render/mcclim-render.asd"
13158 (("mcclim-fonts/truetype")
13159 "mcclim-fonts-truetype"))
13160 #t)))))))
13161
13162 (define-public sbcl-mcclim-clx-fb
13163 (package
13164 (inherit sbcl-clim-lisp)
13165 (name "sbcl-mcclim-clx-fb")
13166 (inputs
13167 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13168 ("mcclim-clx" ,sbcl-mcclim-clx)
13169 ("mcclim-render" ,sbcl-mcclim-render)
13170 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13171 (arguments
13172 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))
13173
13174 (define-public sbcl-mcclim-null
13175 (package
13176 (inherit sbcl-clim-lisp)
13177 (name "sbcl-mcclim-null")
13178 (inputs
13179 `(("clim" ,sbcl-clim)
13180 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13181 (arguments
13182 '(#:asd-file "Backends/Null/mcclim-null.asd"))))
13183
13184 (define-public sbcl-clim-postscript-font
13185 (package
13186 (inherit sbcl-clim-lisp)
13187 (name "sbcl-clim-postscript-font")
13188 (inputs
13189 `(("clim-basic" ,sbcl-clim-basic)
13190 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13191 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13192 (arguments
13193 '(#:asd-file "Backends/PostScript/clim-postscript-font.asd"))))
13194
13195 (define-public sbcl-clim-postscript
13196 (package
13197 (inherit sbcl-clim-lisp)
13198 (name "sbcl-clim-postscript")
13199 (native-inputs
13200 `(("fiveam" ,sbcl-fiveam)))
13201 (inputs
13202 `(("clim-basic" ,sbcl-clim-basic)
13203 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13204 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13205 (arguments
13206 '(#:asd-file "Backends/PostScript/clim-postscript.asd"
13207 ;; Test suite disabled because of a dependency cycle.
13208 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13209 ;; wich depends on mcclim/extensions, which depends on clim-postscript.
13210 #:tests? #f))))
13211
13212 (define-public sbcl-clim-pdf
13213 (package
13214 (inherit sbcl-clim-lisp)
13215 (name "sbcl-clim-pdf")
13216 (native-inputs
13217 `(("fiveam" ,sbcl-fiveam)))
13218 (inputs
13219 `(("cl-pdf" ,sbcl-cl-pdf)
13220 ("clim-basic" ,sbcl-clim-basic)
13221 ("clim-postscript-font" ,sbcl-clim-postscript-font)
13222 ("flexi-streams" ,sbcl-flexi-streams)
13223 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13224 (arguments
13225 '(#:asd-file "Backends/PDF/clim-pdf.asd"
13226 ;; Test suite disabled because of a dependency cycle.
13227 ;; The tests depend on mcclim/test-util, which depends on mcclim,
13228 ;; wich depends on mcclim/extensions, which depends on clim-pdf.
13229 #:tests? #f))))
13230
13231 (define-public sbcl-mcclim-looks
13232 (package
13233 (inherit sbcl-clim-lisp)
13234 (name "sbcl-mcclim-looks")
13235 (inputs
13236 `(("clim" ,sbcl-clim)
13237 ("mcclim-clx" ,sbcl-mcclim-clx)
13238 ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb)
13239 ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype)
13240 ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype)
13241 ("mcclim-null" ,sbcl-mcclim-null)
13242 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13243 (arguments
13244 '(#:asd-file "mcclim.asd"
13245 #:asd-system-name "mcclim/looks"
13246 #:phases
13247 (modify-phases %standard-phases
13248 (add-after 'unpack 'fix-asd-system-names
13249 (lambda _
13250 (substitute* "mcclim.asd"
13251 (("mcclim-clx/truetype")
13252 "mcclim-clx-truetype")
13253 (("mcclim-clx/freetype")
13254 "mcclim-clx-freetype"))
13255 #t)))))))
13256
13257 (define-public sbcl-mcclim-franz
13258 (package
13259 (inherit sbcl-clim-lisp)
13260 (name "sbcl-mcclim-franz")
13261 (inputs
13262 `(("clim" ,sbcl-clim)
13263 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13264 (arguments
13265 '(#:asd-file "Extensions/Franz/mcclim-franz.asd"))))
13266
13267 (define-public sbcl-mcclim-bezier-core
13268 (package
13269 (inherit sbcl-clim-lisp)
13270 (name "sbcl-mcclim-bezier-core")
13271 (inputs
13272 `(("clim" ,sbcl-clim)
13273 ("clim-pdf" ,sbcl-clim-pdf)
13274 ("clim-postscript" ,sbcl-clim-postscript)
13275 ("mcclim-null" ,sbcl-mcclim-null)
13276 ("mcclim-render" ,sbcl-mcclim-render)
13277 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13278 (arguments
13279 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13280 #:asd-system-name "mcclim-bezier/core"))))
13281
13282 (define-public sbcl-mcclim-bezier-clx
13283 (package
13284 (inherit sbcl-clim-lisp)
13285 (name "sbcl-mcclim-bezier-clx")
13286 (inputs
13287 `(("clim" ,sbcl-clim)
13288 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13289 ("mcclim-clx" ,sbcl-mcclim-clx)
13290 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13291 (arguments
13292 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13293 #:asd-system-name "mcclim-bezier/clx"
13294 #:phases
13295 (modify-phases %standard-phases
13296 (add-after 'unpack 'fix-asd-system-names
13297 (lambda _
13298 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13299 (("mcclim-bezier/core\\)")
13300 "mcclim-bezier-core)"))
13301 #t)))))))
13302
13303 (define-public sbcl-mcclim-bezier
13304 (package
13305 (inherit sbcl-clim-lisp)
13306 (name "sbcl-mcclim-bezier")
13307 (inputs
13308 `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx)
13309 ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core)
13310 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13311 (arguments
13312 '(#:asd-file "Extensions/bezier/mcclim-bezier.asd"
13313 #:phases
13314 (modify-phases %standard-phases
13315 (add-after 'unpack 'fix-asd-system-names
13316 (lambda _
13317 (substitute* "Extensions/bezier/mcclim-bezier.asd"
13318 (("\\(#:mcclim-bezier/core")
13319 "(#:mcclim-bezier-core")
13320 (("#:mcclim-bezier/clx\\)\\)")
13321 "#:mcclim-bezier-clx))"))
13322 #t)))))))
13323
13324 (define-public sbcl-mcclim-bitmaps
13325 (package
13326 (inherit sbcl-clim-lisp)
13327 (name "sbcl-mcclim-bitmaps")
13328 (inputs
13329 `(("clim-basic" ,sbcl-clim-basic)
13330 ("opticl" ,sbcl-opticl)))
13331 (arguments
13332 '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd"))))
13333
13334 (define-public sbcl-conditional-commands
13335 (package
13336 (inherit sbcl-clim-lisp)
13337 (name "sbcl-conditional-commands")
13338 (inputs
13339 `(("clim-basic" ,sbcl-clim-basic)))
13340 (arguments
13341 '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd"))))
13342
13343 (define-public sbcl-mcclim-layouts-tab
13344 (package
13345 (inherit sbcl-clim-lisp)
13346 (name "sbcl-mcclim-layouts-tab")
13347 (inputs
13348 `(("clim" ,sbcl-clim)
13349 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13350 (arguments
13351 '(#:asd-file "Extensions/layouts/mcclim-layouts.asd"
13352 #:asd-system-name "mcclim-layouts/tab"))))
13353
13354 (define-public sbcl-mcclim-extensions
13355 (package
13356 (inherit sbcl-clim-lisp)
13357 (name "sbcl-mcclim-extensions")
13358 (inputs
13359 `(("clim-pdf" ,sbcl-clim-pdf)
13360 ("clim-postscript" ,sbcl-clim-postscript)
13361 ("conditional-commands" ,sbcl-conditional-commands)
13362 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13363 ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps)
13364 ("mcclim-franz" ,sbcl-mcclim-franz)
13365 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13366 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13367 (arguments
13368 '(#:asd-file "mcclim.asd"
13369 #:asd-system-name "mcclim/extensions"
13370 #:phases
13371 (modify-phases %standard-phases
13372 (add-after 'unpack 'fix-asd-system-names
13373 (lambda _
13374 (substitute* "mcclim.asd"
13375 (("mcclim-layouts/tab")
13376 "mcclim-layouts-tab"))
13377 #t)))))))
13378
13379 (define-public sbcl-mcclim
13380 (package
13381 (inherit sbcl-clim-lisp)
13382 (name "sbcl-mcclim")
13383 (native-inputs
13384 `(("fiveam" ,sbcl-fiveam)))
13385 (inputs
13386 `(("mcclim-looks" ,sbcl-mcclim-looks)
13387 ("mcclim-extensions" ,sbcl-mcclim-extensions)
13388 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13389 (arguments
13390 '(#:phases
13391 (modify-phases %standard-phases
13392 (add-after 'unpack 'fix-asd-system-names
13393 (lambda _
13394 (substitute* "mcclim.asd"
13395 ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)")
13396 ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")"))
13397 #t)))
13398 ;; Test suite disabled because of a dependency cycle.
13399 ;; The tests depend on mcclim/test-util, which depends on mcclim.
13400 #:tests? #f))))
13401
13402 (define-public cl-mcclim
13403 (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp)))
13404 (package
13405 (inherit base)
13406 (name "cl-mcclim")
13407 (native-inputs
13408 `(("fiveam" ,cl-fiveam)
13409 ("pkg-config" ,pkg-config)))
13410 (inputs
13411 `(("alexandria" ,cl-alexandria)
13412 ("babel" ,cl-babel)
13413 ("bordeaux-threads" ,cl-bordeaux-threads)
13414 ("cffi" ,cl-cffi)
13415 ("cl-aa" ,cl-aa)
13416 ("cl-freetype2" ,cl-freetype2)
13417 ("cl-paths-ttf" ,cl-paths-ttf)
13418 ("cl-pdf" ,cl-pdf)
13419 ("cl-unicode" ,cl-unicode)
13420 ("cl-vectors" ,cl-vectors)
13421 ("closer-mop" ,cl-closer-mop)
13422 ("clx" ,cl-clx)
13423 ("flexi-streams" ,cl-flexi-streams)
13424 ("flexichain" ,cl-flexichain)
13425 ("fontconfig" ,fontconfig)
13426 ("freetype" ,freetype)
13427 ("harfbuzz" ,harfbuzz)
13428 ("log4cl" ,cl-log4cl)
13429 ("opticl" ,cl-opticl)
13430 ("spatial-trees" ,cl-spatial-trees)
13431 ("trivial-features" ,cl-trivial-features)
13432 ("trivial-garbage" ,cl-trivial-garbage)
13433 ("trivial-gray-streams" ,cl-trivial-gray-streams)
13434 ("swank" ,cl-slime-swank)
13435 ("zpb-ttf" ,cl-zpb-ttf))))))
13436
13437 (define-public sbcl-mcclim-test-util
13438 (package
13439 (inherit sbcl-clim-lisp)
13440 (name "sbcl-mcclim-test-util")
13441 (inputs
13442 `(("fiveam" ,sbcl-fiveam)
13443 ("mcclim" ,sbcl-mcclim)
13444 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13445 (arguments
13446 '(#:asd-file "mcclim.asd"
13447 #:asd-system-name "mcclim/test-util"))))
13448
13449 (define-public sbcl-mcclim-raster-image
13450 (package
13451 (inherit sbcl-clim-lisp)
13452 (name "sbcl-mcclim-raster-image")
13453 (native-inputs
13454 `(("fiveam" ,sbcl-fiveam)
13455 ("mcclim-test-util" ,sbcl-mcclim-test-util)))
13456 (inputs
13457 `(("clim-basic" ,sbcl-clim-basic)
13458 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13459 ("mcclim-render" ,sbcl-mcclim-render)
13460 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13461 (arguments
13462 '(#:asd-file "Backends/RasterImage/mcclim-raster-image.asd"
13463 #:phases
13464 (modify-phases %standard-phases
13465 (add-after 'unpack 'fix-asd-system-names
13466 (lambda _
13467 (substitute* "Backends/RasterImage/mcclim-raster-image.asd"
13468 (("mcclim/test-util")
13469 "mcclim-test-util"))
13470 #t)))))))
13471
13472 (define-public sbcl-clim-examples
13473 (package
13474 (inherit sbcl-clim-lisp)
13475 (name "sbcl-clim-examples")
13476 (inputs
13477 `(("alexandria" ,sbcl-alexandria)
13478 ("closer-mop" ,sbcl-closer-mop)
13479 ("mcclim" ,sbcl-mcclim)
13480 ("mcclim-bezier" ,sbcl-mcclim-bezier)
13481 ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab)
13482 ("mcclim-raster-image" ,sbcl-mcclim-raster-image)
13483 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13484 (arguments
13485 '(#:asd-file "Examples/clim-examples.asd"
13486 #:phases
13487 (modify-phases %standard-phases
13488 (add-after 'unpack 'fix-asd-system-names
13489 (lambda _
13490 (substitute* "Examples/clim-examples.asd"
13491 (("mcclim-layouts/tab")
13492 "mcclim-layouts-tab"))
13493 #t)))))))
13494
13495 (define-public sbcl-cl-inflector
13496 (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
13497 (revision "1"))
13498 (package
13499 (name "sbcl-cl-inflector")
13500 (version (git-version "0.2" revision commit))
13501 (source
13502 (origin
13503 (method git-fetch)
13504 (uri (git-reference
13505 (url "https://github.com/AccelerationNet/cl-inflector")
13506 (commit commit)))
13507 (file-name (git-file-name name version))
13508 (sha256
13509 (base32 "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y"))))
13510 (build-system asdf-build-system/sbcl)
13511 (native-inputs
13512 `(("lisp-unit2" ,sbcl-lisp-unit2)))
13513 (inputs
13514 `(("alexandria" ,sbcl-alexandria)
13515 ("cl-ppcre" ,sbcl-cl-ppcre)))
13516 (home-page "https://github.com/AccelerationNet/cl-inflector")
13517 (synopsis "Library to pluralize/singularize English and Portuguese words")
13518 (description
13519 "This is a common lisp library to easily pluralize and singularize
13520 English and Portuguese words. This is a port of the ruby ActiveSupport
13521 Inflector module.")
13522 (license license:expat))))
13523
13524 (define-public cl-inflector
13525 (sbcl-package->cl-source-package sbcl-cl-inflector))
13526
13527 (define-public ecl-cl-inflector
13528 (sbcl-package->ecl-package sbcl-cl-inflector))
13529
13530 (define-public sbcl-qbase64
13531 (package
13532 (name "sbcl-qbase64")
13533 (version "0.3.0")
13534 (source
13535 (origin
13536 (method git-fetch)
13537 (uri (git-reference
13538 (url "https://github.com/chaitanyagupta/qbase64")
13539 (commit version)))
13540 (file-name (git-file-name name version))
13541 (sha256
13542 (base32 "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi"))))
13543 (build-system asdf-build-system/sbcl)
13544 (inputs
13545 `(("metabang-bind" ,sbcl-metabang-bind)
13546 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
13547 (native-inputs
13548 `(("fiveam" ,sbcl-fiveam)))
13549 (home-page "https://github.com/chaitanyagupta/qbase64")
13550 (synopsis "Base64 encoder and decoder for Common Lisp")
13551 (description "@code{qbase64} provides a fast and flexible base64 encoder
13552 and decoder for Common Lisp.")
13553 (license license:bsd-3)))
13554
13555 (define-public cl-qbase64
13556 (sbcl-package->cl-source-package sbcl-qbase64))
13557
13558 (define-public ecl-qbase64
13559 (sbcl-package->ecl-package sbcl-qbase64))
13560
13561 (define-public sbcl-hu.dwim.common-lisp
13562 (package
13563 (name "sbcl-hu.dwim.common-lisp")
13564 (version "2015-07-09")
13565 (source
13566 (origin
13567 (method url-fetch)
13568 (uri (string-append
13569 "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/"
13570 version "/hu.dwim.common-lisp-"
13571 (string-replace-substring version "-" "")
13572 "-darcs.tgz"))
13573 (sha256
13574 (base32 "13cxrvh55rw080mvfir7s7k735l9rcfh3khxp97qfwd5rz0gadb9"))))
13575 (build-system asdf-build-system/sbcl)
13576 (native-inputs
13577 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13578 (home-page "http://dwim.hu/")
13579 (synopsis "Redefine some standard Common Lisp names")
13580 (description "This library is a redefinition of the standard Common Lisp
13581 package that includes a number of renames and shadows. ")
13582 (license license:public-domain)))
13583
13584 (define-public cl-hu.dwim.common-lisp
13585 (sbcl-package->cl-source-package sbcl-hu.dwim.common-lisp))
13586
13587 (define-public ecl-hu.dwim.common-lisp
13588 (sbcl-package->ecl-package sbcl-hu.dwim.common-lisp))
13589
13590 (define-public sbcl-hu.dwim.common
13591 (package
13592 (name "sbcl-hu.dwim.common")
13593 (version "2015-07-09")
13594 (source
13595 (origin
13596 (method url-fetch)
13597 (uri (string-append
13598 "http://beta.quicklisp.org/archive/hu.dwim.common/"
13599 version "/hu.dwim.common-"
13600 (string-replace-substring version "-" "")
13601 "-darcs.tgz"))
13602 (sha256
13603 (base32 "12l1rr6w9m99w0b5gc6hv58ainjfhbc588kz6vwshn4gqsxyzbhp"))))
13604 (build-system asdf-build-system/sbcl)
13605 (native-inputs
13606 `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13607 (inputs
13608 `(("alexandria" ,sbcl-alexandria)
13609 ("anaphora" ,sbcl-anaphora)
13610 ("closer-mop" ,sbcl-closer-mop)
13611 ("hu.dwim.common-lisp" ,sbcl-hu.dwim.common-lisp)
13612 ("iterate" ,sbcl-iterate)
13613 ("metabang-bind" ,sbcl-metabang-bind)))
13614 (home-page "http://dwim.hu/")
13615 (synopsis "Common Lisp library shared by other hu.dwim systems")
13616 (description "")
13617 (license license:public-domain)))
13618
13619 (define-public cl-hu.dwim.common
13620 (sbcl-package->cl-source-package sbcl-hu.dwim.common))
13621
13622 (define-public ecl-hu.dwim.common
13623 (sbcl-package->ecl-package sbcl-hu.dwim.common))
13624
13625 (define-public sbcl-hu.dwim.defclass-star
13626 (package
13627 (name "sbcl-hu.dwim.defclass-star")
13628 (version "2015-07-09")
13629 (source
13630 (origin
13631 (method url-fetch)
13632 (uri (string-append
13633 "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/"
13634 version "/hu.dwim.defclass-star-"
13635 (string-replace-substring version "-" "")
13636 "-darcs.tgz"))
13637 (sha256
13638 (base32 "032982lyp0hm0ssxlyh572whi2hr4j1nqkyqlllaj373v0dbs3vs"))))
13639 (build-system asdf-build-system/sbcl)
13640 (native-inputs
13641 `(;; These 2 inputs are only needed tests which are disabled, see below.
13642 ;; ("hu.dwim.common" ,sbcl-hu.dwim.common)
13643 ;; Need cl- package for the :hu.dwim.stefil+hu.dwim.def+swank system.
13644 ;; ("hu.dwim.stefil" ,cl-hu.dwim.stefil)
13645 ("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
13646 (arguments
13647 `(#:test-asd-file "hu.dwim.defclass-star.test.asd"
13648 ;; Tests require a circular dependency: hu.dwim.stefil -> hu.dwim.def
13649 ;; -> hu.dwim.util -> hu.dwim.defclass-star.
13650 #:tests? #f))
13651 (home-page "http://dwim.hu/?_x=dfxn&_f=mRIMfonK")
13652 (synopsis "Simplify definitions with defclass* and friends in Common Lisp")
13653 (description "@code{defclass-star} provides defclass* and defcondition* to
13654 simplify class and condition declarations. Features include:
13655
13656 @itemize
13657 @item Automatically export all or select slots at compile time.
13658 @item Define the @code{:initarg} and @code{:accesor} automatically.
13659 @item Specify a name transformer for both the @code{:initarg} and
13660 @code{:accessor}, etc.
13661 @item Specify the @code{:initform} as second slot value.
13662 @end itemize
13663
13664 See
13665 @url{https://common-lisp.net/project/defclass-star/configuration.lisp.html}
13666 for an example.")
13667 (license license:public-domain)))
13668
13669 (define-public cl-hu.dwim.defclass-star
13670 (sbcl-package->cl-source-package sbcl-hu.dwim.defclass-star))
13671
13672 (define-public ecl-hu.dwim.defclass-star
13673 (sbcl-package->ecl-package sbcl-hu.dwim.defclass-star))
13674
13675 (define-public sbcl-livesupport
13676 (let ((commit "71e6e412df9f3759ad8378fabb203913d82e228a")
13677 (revision "1"))
13678 (package
13679 (name "sbcl-livesupport")
13680 (version (git-version "0.0.0" revision commit))
13681 (source
13682 (origin
13683 (method git-fetch)
13684 (uri (git-reference
13685 (url "https://github.com/cbaggers/livesupport")
13686 (commit commit)))
13687 (file-name (git-file-name name version))
13688 (sha256
13689 (base32 "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg"))))
13690 (build-system asdf-build-system/sbcl)
13691 (home-page "https://github.com/cbaggers/livesupport")
13692 (synopsis "Some helpers that make livecoding a little easier")
13693 (description "This package provides a macro commonly used in livecoding to
13694 enable continuing when errors are raised. Simply wrap around a chunk of code
13695 and it provides a restart called @code{continue} which ignores the error and
13696 carrys on from the end of the body.")
13697 (license license:bsd-2))))
13698
13699 (define-public cl-livesupport
13700 (sbcl-package->cl-source-package sbcl-livesupport))
13701
13702 (define-public ecl-livesupport
13703 (sbcl-package->ecl-package sbcl-livesupport))
13704
13705 (define-public sbcl-envy
13706 (let ((commit "956321b2852d58ba71c6fe621f5c2924178e9f88")
13707 (revision "1"))
13708 (package
13709 (name "sbcl-envy")
13710 (version (git-version "0.1" revision commit))
13711 (home-page "https://github.com/fukamachi/envy")
13712 (source
13713 (origin
13714 (method git-fetch)
13715 (uri (git-reference
13716 (url home-page)
13717 (commit commit)))
13718 (file-name (git-file-name name version))
13719 (sha256
13720 (base32 "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg"))))
13721 (build-system asdf-build-system/sbcl)
13722 ;; (native-inputs ; Only for tests.
13723 ;; `(("prove" ,sbcl-prove)
13724 ;; ("osicat" ,sbcl-osicat)))
13725 (arguments
13726 '(#:phases
13727 (modify-phases %standard-phases
13728 (add-after 'unpack 'fix-tests
13729 (lambda _
13730 (substitute* "envy-test.asd"
13731 (("cl-test-more") "prove"))
13732 #t)))
13733 ;; Tests fail with
13734 ;; Component ENVY-ASD::ENVY-TEST not found, required by #<SYSTEM "envy">
13735 ;; like xsubseq. Why?
13736 #:tests? #f))
13737 (synopsis "Common Lisp configuration switcher inspired by Perl's Config::ENV.")
13738 (description "Envy is a configuration manager for various applications.
13739 Envy uses an environment variable to determine a configuration to use. This
13740 can separate configuration system from an implementation.")
13741 (license license:bsd-2))))
13742
13743 (define-public cl-envy
13744 (sbcl-package->cl-source-package sbcl-envy))
13745
13746 (define-public ecl-envy
13747 (sbcl-package->ecl-package sbcl-envy))
13748
13749 (define sbcl-mito-core
13750 (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a")
13751 (revision "1"))
13752 (package
13753 (name "sbcl-mito-core")
13754 (version (git-version "0.1" revision commit))
13755 (home-page "https://github.com/fukamachi/mito")
13756 (source
13757 (origin
13758 (method git-fetch)
13759 (uri (git-reference
13760 (url home-page)
13761 (commit commit)))
13762 (file-name (git-file-name name version))
13763 (sha256
13764 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb"))))
13765 (build-system asdf-build-system/sbcl)
13766 (inputs
13767 `(("dbi" ,sbcl-dbi)
13768 ("sxql" ,sbcl-sxql)
13769 ("cl-ppcre" ,sbcl-cl-ppcre)
13770 ("closer-mop" ,sbcl-closer-mop)
13771 ("dissect" ,sbcl-dissect)
13772 ("optima" ,sbcl-optima)
13773 ("cl-reexport" ,sbcl-cl-reexport)
13774 ("local-time" ,sbcl-local-time)
13775 ("uuid" ,sbcl-uuid)
13776 ("alexandria" ,sbcl-alexandria)))
13777 (synopsis "ORM for Common Lisp with migrations and relationships support")
13778 (description "Mito is yet another object relational mapper, and it aims
13779 to be a successor of Integral.
13780
13781 @itemize
13782 @item Support MySQL, PostgreSQL and SQLite3.
13783 @item Add id (serial/uuid primary key), created_at and updated_at by default
13784 like Ruby's ActiveRecord.
13785 @item Migrations.
13786 @item Database schema versioning.
13787 @end itemize\n")
13788 (license license:llgpl))))
13789
13790 (define sbcl-mito-migration
13791 (package
13792 (inherit sbcl-mito-core)
13793 (name "sbcl-mito-migration")
13794 (inputs
13795 `(("mito-core" ,sbcl-mito-core)
13796 ("dbi" ,sbcl-dbi)
13797 ("sxql" ,sbcl-sxql)
13798 ("closer-mop" ,sbcl-closer-mop)
13799 ("cl-reexport" ,sbcl-cl-reexport)
13800 ("uuid" ,sbcl-uuid)
13801 ("alexandria" ,sbcl-alexandria)
13802 ("esrap" ,sbcl-esrap)))))
13803
13804 (define sbcl-lack-middleware-mito
13805 (package
13806 (inherit sbcl-mito-core)
13807 (name "sbcl-lack-middleware-mito")
13808 (inputs
13809 `(("mito-core" ,sbcl-mito-core)
13810 ("dbi" ,sbcl-dbi)))
13811 (arguments
13812 '(#:phases
13813 (modify-phases %standard-phases
13814 (add-after 'unpack 'fix-build
13815 (lambda _
13816 (substitute* "lack-middleware-mito.asd"
13817 (("cl-dbi") "dbi"))
13818 #t)))))))
13819
13820 (define-public sbcl-mito
13821 (package
13822 (inherit sbcl-mito-core)
13823 (name "sbcl-mito")
13824 (inputs
13825 `(("mito-core" ,sbcl-mito-core)
13826 ("mito-migration" ,sbcl-mito-migration)
13827 ("lack-middleware-mito" ,sbcl-lack-middleware-mito)
13828 ("cl-reexport" ,sbcl-cl-reexport)))
13829 (native-inputs
13830 `(("prove" ,sbcl-prove)
13831 ("prove-asdf" ,sbcl-prove-asdf)
13832 ("dbd-mysql" ,sbcl-dbd-mysql)
13833 ("dbd-postgres" ,sbcl-dbd-postgres)
13834 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13835 (arguments
13836 '(#:phases
13837 (modify-phases %standard-phases
13838 (add-after 'unpack 'remove-non-functional-tests
13839 (lambda _
13840 (substitute* "mito-test.asd"
13841 (("\\(:test-file \"db/mysql\"\\)") "")
13842 (("\\(:test-file \"db/postgres\"\\)") "")
13843 (("\\(:test-file \"dao\"\\)") "")
13844 ;; TODO: migration/sqlite3 should work, re-enable once
13845 ;; upstream has fixed it:
13846 ;; https://github.com/fukamachi/mito/issues/70
13847 (("\\(:test-file \"migration/sqlite3\"\\)") "")
13848 (("\\(:test-file \"migration/mysql\"\\)") "")
13849 (("\\(:test-file \"migration/postgres\"\\)") "")
13850 (("\\(:test-file \"postgres-types\"\\)") "")
13851 (("\\(:test-file \"mixin\"\\)") ""))
13852 #t)))
13853 ;; TODO: While all enabled tests pass, the phase fails with:
13854 ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito">
13855 #:tests? #f))))
13856
13857 (define-public cl-mito
13858 (sbcl-package->cl-source-package sbcl-mito))
13859
13860 (define-public sbcl-kebab
13861 (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b")
13862 (revision "1"))
13863 (package
13864 (name "sbcl-kebab")
13865 (version (git-version "0.1" revision commit))
13866 (home-page "https://github.com/pocket7878/kebab")
13867 (source
13868 (origin
13869 (method git-fetch)
13870 (uri (git-reference
13871 (url home-page)
13872 (commit commit)))
13873 (file-name (git-file-name name version))
13874 (sha256
13875 (base32 "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b"))))
13876 (build-system asdf-build-system/sbcl)
13877 (inputs
13878 `(("cl-ppcre" ,sbcl-cl-ppcre)
13879 ("alexandria" ,sbcl-alexandria)
13880 ("cl-interpol" ,sbcl-cl-interpol)
13881 ("split-sequence" ,sbcl-split-sequence)))
13882 (native-inputs
13883 `(("prove-asdf" ,sbcl-prove-asdf)
13884 ("prove" ,sbcl-prove)))
13885 (arguments
13886 ;; Tests passes but the phase fails with
13887 ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">.
13888 `(#:tests? #f))
13889 (synopsis "Common Lisp case converter")
13890 (description "This Common Lisp library converts strings, symbols and
13891 keywords between any of the following typographical cases: PascalCase,
13892 camelCase, snake_case, kebab-case (lisp-case).")
13893 (license license:llgpl))))
13894
13895 (define-public cl-kebab
13896 (sbcl-package->cl-source-package sbcl-kebab))
13897
13898 (define-public ecl-kebab
13899 (sbcl-package->ecl-package sbcl-kebab))
13900
13901 (define-public sbcl-datafly
13902 (let ((commit "adece27fcbc4b5ea39ad1a105048b6b7166e3b0d")
13903 (revision "1"))
13904 (package
13905 (name "sbcl-datafly")
13906 (version (git-version "0.1" revision commit))
13907 (home-page "https://github.com/fukamachi/datafly")
13908 (source
13909 (origin
13910 (method git-fetch)
13911 (uri (git-reference
13912 (url home-page)
13913 (commit commit)))
13914 (file-name (git-file-name name version))
13915 (sha256
13916 (base32 "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv"))))
13917 (build-system asdf-build-system/sbcl)
13918 (inputs
13919 `(("alexandria" ,sbcl-alexandria)
13920 ("iterate" ,sbcl-iterate)
13921 ("optima" ,sbcl-optima)
13922 ("trivial-types" ,sbcl-trivial-types)
13923 ("closer-mop" ,sbcl-closer-mop)
13924 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
13925 ("sxql" ,sbcl-sxql)
13926 ("dbi" ,sbcl-dbi)
13927 ("babel" ,sbcl-babel)
13928 ("local-time" ,sbcl-local-time)
13929 ("function-cache" ,sbcl-function-cache)
13930 ("jonathan" ,sbcl-jonathan)
13931 ("kebab" ,sbcl-kebab)
13932 ("log4cl" ,sbcl-log4cl)))
13933 (native-inputs
13934 `(("prove-asdf" ,sbcl-prove-asdf)
13935 ("prove" ,sbcl-prove)
13936 ("dbd-sqlite3" ,sbcl-dbd-sqlite3)))
13937 (arguments
13938 ;; TODO: Tests fail with
13939 ;; While evaluating the form starting at line 22, column 0
13940 ;; of #P"/tmp/guix-build-sbcl-datafly-0.1-1.adece27.drv-0/source/t/datafly.lisp":
13941 ;; Unhandled SQLITE:SQLITE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
13942 ;; {10009F8083}>:
13943 ;; Error when binding parameter 1 to value NIL.
13944 ;; Code RANGE: column index out of range.
13945 `(#:tests? #f))
13946 (synopsis "Lightweight database library for Common Lisp")
13947 (description "Datafly is a lightweight database library for Common Lisp.")
13948 (license license:bsd-3))))
13949
13950 (define-public cl-datafly
13951 (sbcl-package->cl-source-package sbcl-datafly))
13952
13953 (define-public ecl-datafly
13954 (sbcl-package->ecl-package sbcl-datafly))
13955
13956 (define-public sbcl-do-urlencode
13957 (let ((commit "199846441dad5dfac5478b8dee4b4e20d107af6a")
13958 (revision "1"))
13959 (package
13960 (name "sbcl-do-urlencode")
13961 (version (git-version "0.0.0" revision commit))
13962 (home-page "https://github.com/drdo/do-urlencode")
13963 (source
13964 (origin
13965 (method git-fetch)
13966 (uri (git-reference
13967 (url home-page)
13968 (commit commit)))
13969 (file-name (git-file-name name version))
13970 (sha256
13971 (base32 "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9"))))
13972 (build-system asdf-build-system/sbcl)
13973 (inputs
13974 `(("alexandria" ,sbcl-alexandria)
13975 ("babel" ,sbcl-babel)))
13976 (synopsis "Percent Encoding (aka URL Encoding) Common Lisp library")
13977 (description "This library provides trivial percent encoding and
13978 decoding functions for URLs.")
13979 (license license:isc))))
13980
13981 (define-public cl-do-urlencode
13982 (sbcl-package->cl-source-package sbcl-do-urlencode))
13983
13984 (define-public ecl-do-urlencode
13985 (sbcl-package->ecl-package sbcl-do-urlencode))
13986
13987 (define-public sbcl-cl-emb
13988 (let ((commit "fd8652174d048d4525a81f38cdf42f4fa519f840")
13989 (revision "1"))
13990 (package
13991 (name "sbcl-cl-emb")
13992 (version (git-version "0.4.3" revision commit))
13993 (home-page "https://common-lisp.net/project/cl-emb/")
13994 (source
13995 (origin
13996 (method git-fetch)
13997 (uri (git-reference
13998 (url "https://github.com/38a938c2/cl-emb")
13999 (commit commit)))
14000 (file-name (git-file-name name version))
14001 (sha256
14002 (base32 "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk"))))
14003 (build-system asdf-build-system/sbcl)
14004 (inputs
14005 `(("cl-ppcre" ,sbcl-cl-ppcre)))
14006 (synopsis "Templating system for Common Lisp")
14007 (description "A mixture of features from eRuby and HTML::Template. You
14008 could name it \"Yet Another LSP\" (LispServer Pages) but it's a bit more than
14009 that and not limited to a certain server or text format.")
14010 (license license:llgpl))))
14011
14012 (define-public cl-emb
14013 (sbcl-package->cl-source-package sbcl-cl-emb))
14014
14015 (define-public ecl-cl-emb
14016 (sbcl-package->ecl-package sbcl-cl-emb))
14017
14018 (define-public sbcl-cl-project
14019 (let ((commit "151107014e534fc4666222d57fec2cc8549c8814")
14020 (revision "1"))
14021 (package
14022 (name "sbcl-cl-project")
14023 (version (git-version "0.3.1" revision commit))
14024 (home-page "https://github.com/fukamachi/cl-project")
14025 (source
14026 (origin
14027 (method git-fetch)
14028 (uri (git-reference
14029 (url home-page)
14030 (commit commit)))
14031 (file-name (git-file-name name version))
14032 (sha256
14033 (base32 "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y"))))
14034 (build-system asdf-build-system/sbcl)
14035 (inputs
14036 `(("cl-emb" ,sbcl-cl-emb)
14037 ("cl-ppcre" ,sbcl-cl-ppcre)
14038 ("local-time" ,sbcl-local-time)
14039 ("prove" ,sbcl-prove)))
14040 (arguments
14041 ;; Tests depend on caveman, which in turns depends on cl-project.
14042 '(#:tests? #f))
14043 (synopsis "Generate a skeleton for modern Common Lisp projects")
14044 (description "This library provides a modern project skeleton generator.
14045 In contract with other generators, CL-Project generates one package per file
14046 and encourages unit testing by generating a system for unit testing, so you
14047 can begin writing unit tests as soon as the project is generated.")
14048 (license license:llgpl))))
14049
14050 (define-public cl-project
14051 (sbcl-package->cl-source-package sbcl-cl-project))
14052
14053 (define-public ecl-cl-project
14054 (sbcl-package->ecl-package sbcl-cl-project))
14055
14056 (define-public sbcl-caveman
14057 (let ((commit "faa5f7e3b364fd7e7096af9a7bb06728b8d80441") ; No release since 2012
14058 (revision "1"))
14059 (package
14060 (name "sbcl-caveman")
14061 (version (git-version "2.4.0" revision commit))
14062 (home-page "http://8arrow.org/caveman/")
14063 (source
14064 (origin
14065 (method git-fetch)
14066 (uri (git-reference
14067 (url "https://github.com/fukamachi/caveman/")
14068 (commit commit)))
14069 (file-name (git-file-name name version))
14070 (sha256
14071 (base32 "0kh0gx05pczk8f7r9qdi4zn1p3d0a2prps27k7jpgvc1dxkl8qhq"))))
14072 (build-system asdf-build-system/sbcl)
14073 (inputs
14074 `(("ningle" ,cl-ningle)
14075 ("lack-request" ,sbcl-lack-request)
14076 ("lack-response" ,sbcl-lack-response)
14077 ("cl-project" ,sbcl-cl-project)
14078 ("dbi" ,sbcl-dbi)
14079 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
14080 ("myway" ,sbcl-myway)
14081 ("quri" ,sbcl-quri)))
14082 (native-inputs
14083 `(("usocket" ,sbcl-usocket)
14084 ("dexador" ,sbcl-dexador)))
14085 (arguments
14086 `(#:asd-file "caveman2.asd"
14087 #:asd-system-name "caveman2"
14088 #:phases
14089 (modify-phases %standard-phases
14090 (add-after 'unpack 'remove-v1
14091 (lambda _
14092 (delete-file-recursively "v1")
14093 (for-each delete-file
14094 '("README.v1.markdown" "caveman.asd" "caveman-test.asd")))))
14095 ;; TODO: Tests fail with:
14096 ;; writing /gnu/store/...-sbcl-caveman-2.4.0-1.faa5f7e/share/common-lisp/sbcl-source/caveman2/v2/t/tmp/myapp573/tests/myapp573.lisp
14097 ;; While evaluating the form starting at line 38, column 0
14098 ;; of #P"/tmp/guix-build-sbcl-caveman-2.4.0-1.faa5f7e.drv-0/source/v2/t/caveman.lisp":
14099 ;; Unhandled ASDF/FIND-COMPONENT:MISSING-COMPONENT in thread #<SB-THREAD:THREAD "main thread" RUNNING
14100 ;; {10009F8083}>:
14101 ;; Component "myapp573" not found
14102 #:tests? #f))
14103 (synopsis "Lightweight web application framework in Common Lisp")
14104 (description "Caveman is intended to be a collection of common parts for
14105 web applications. Caveman2 has three design goals:
14106
14107 @itemize
14108 @item Be extensible.
14109 @item Be practical.
14110 @item Don't force anything.
14111 @end itemize\n")
14112 (license license:llgpl))))
14113
14114 (define-public cl-caveman
14115 (package
14116 (inherit
14117 (sbcl-package->cl-source-package sbcl-caveman))
14118 (propagated-inputs
14119 `(("ningle" ,cl-ningle)))))
14120
14121 (define-public ecl-caveman
14122 (sbcl-package->ecl-package sbcl-caveman))