gnu: Add sbcl-mcclim-clx-fb.
[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 ;;;
23 ;;; This file is part of GNU Guix.
24 ;;;
25 ;;; GNU Guix is free software; you can redistribute it and/or modify it
26 ;;; under the terms of the GNU General Public License as published by
27 ;;; the Free Software Foundation; either version 3 of the License, or (at
28 ;;; your option) any later version.
29 ;;;
30 ;;; GNU Guix is distributed in the hope that it will be useful, but
31 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 ;;; GNU General Public License for more details.
34 ;;;
35 ;;; You should have received a copy of the GNU General Public License
36 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
38 ;;; This file only contains Common Lisp libraries.
39 ;;; Common Lisp compilers and tooling go to lisp.scm.
40 ;;; Common Lisp applications should go to the most appropriate file,
41 ;;; e.g. StumpWM is in wm.scm.
42
43 (define-module (gnu packages lisp-xyz)
44 #:use-module (gnu packages)
45 #:use-module ((guix licenses) #:prefix license:)
46 #:use-module (guix packages)
47 #:use-module (guix download)
48 #:use-module (guix git-download)
49 #:use-module (guix hg-download)
50 #:use-module (guix utils)
51 #:use-module (guix build-system asdf)
52 #:use-module (guix build-system trivial)
53 #:use-module (gnu packages c)
54 #:use-module (gnu packages compression)
55 #:use-module (gnu packages databases)
56 #:use-module (gnu packages enchant)
57 #:use-module (gnu packages fontutils)
58 #:use-module (gnu packages glib)
59 #:use-module (gnu packages gtk)
60 #:use-module (gnu packages imagemagick)
61 #:use-module (gnu packages libevent)
62 #:use-module (gnu packages libffi)
63 #:use-module (gnu packages lisp)
64 #:use-module (gnu packages maths)
65 #:use-module (gnu packages networking)
66 #:use-module (gnu packages pkg-config)
67 #:use-module (gnu packages python)
68 #:use-module (gnu packages python-xyz)
69 #:use-module (gnu packages sqlite)
70 #:use-module (gnu packages tcl)
71 #:use-module (gnu packages tls)
72 #:use-module (gnu packages webkit)
73 #:use-module (gnu packages xdisorg)
74 #:use-module (ice-9 match)
75 #:use-module (srfi srfi-19))
76
77 (define-public sbcl-alexandria
78 (package
79 (name "sbcl-alexandria")
80 (version "1.1")
81 (source
82 (origin
83 (method git-fetch)
84 (uri (git-reference
85 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
86 (commit (string-append "v" version))))
87 (sha256
88 (base32
89 "1zanb3xa98js0i66iqcmx3gp123p1m2d1fxn8d7bfzyfad5f6xn2"))
90 (file-name (git-file-name name version))))
91 (build-system asdf-build-system/sbcl)
92 (native-inputs
93 `(("rt" ,sbcl-rt)))
94 (synopsis "Collection of portable utilities for Common Lisp")
95 (description
96 "Alexandria is a collection of portable utilities. It does not contain
97 conceptual extensions to Common Lisp. It is conservative in scope, and
98 portable between implementations.")
99 (home-page "https://common-lisp.net/project/alexandria/")
100 (license license:public-domain)))
101
102 (define-public cl-alexandria
103 (sbcl-package->cl-source-package sbcl-alexandria))
104
105 (define-public ecl-alexandria
106 (sbcl-package->ecl-package sbcl-alexandria))
107
108 (define-public sbcl-net.didierverna.asdf-flv
109 (package
110 (name "sbcl-net.didierverna.asdf-flv")
111 (version "2.1")
112 (source
113 (origin
114 (method git-fetch)
115 (uri (git-reference
116 (url "https://github.com/didierverna/asdf-flv")
117 (commit (string-append "version-" version))))
118 (file-name (git-file-name "asdf-flv" version))
119 (sha256
120 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
121 (build-system asdf-build-system/sbcl)
122 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
123 (description "ASDF-FLV provides support for file-local variables through
124 ASDF. A file-local variable behaves like @code{*PACKAGE*} and
125 @code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
126 dynamic binding is created before processing the file, so that any
127 modification to the variable becomes essentially file-local.
128
129 In order to make one or several variables file-local, use the macros
130 @code{SET-FILE-LOCAL-VARIABLE(S)}.")
131 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
132 (license (license:non-copyleft
133 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
134 "GNU All-Permissive License"))))
135
136 (define-public cl-net.didierverna.asdf-flv
137 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
138
139 (define-public ecl-net.didierverna.asdf-flv
140 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
141
142 (define-public sbcl-fiveam
143 (package
144 (name "sbcl-fiveam")
145 (version "1.4.1")
146 (source
147 (origin
148 (method git-fetch)
149 (uri (git-reference
150 (url "https://github.com/sionescu/fiveam")
151 (commit (string-append "v" version))))
152 (file-name (git-file-name "fiveam" version))
153 (sha256
154 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
155 (inputs
156 `(("alexandria" ,sbcl-alexandria)
157 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
158 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
159 (build-system asdf-build-system/sbcl)
160 (synopsis "Common Lisp testing framework")
161 (description "FiveAM is a simple (as far as writing and running tests
162 goes) regression testing framework. It has been designed with Common Lisp's
163 interactive development model in mind.")
164 (home-page "https://common-lisp.net/project/fiveam/")
165 (license license:bsd-3)))
166
167 (define-public cl-fiveam
168 (sbcl-package->cl-source-package sbcl-fiveam))
169
170 (define-public ecl-fiveam
171 (sbcl-package->ecl-package sbcl-fiveam))
172
173 (define-public sbcl-bordeaux-threads
174 (package
175 (name "sbcl-bordeaux-threads")
176 (version "0.8.8")
177 (source (origin
178 (method git-fetch)
179 (uri (git-reference
180 (url "https://github.com/sionescu/bordeaux-threads")
181 (commit (string-append "v" version))))
182 (sha256
183 (base32 "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6"))
184 (file-name
185 (git-file-name "bordeaux-threads" version))))
186 (inputs `(("alexandria" ,sbcl-alexandria)))
187 (native-inputs `(("fiveam" ,sbcl-fiveam)))
188 (build-system asdf-build-system/sbcl)
189 (synopsis "Portable shared-state concurrency library for Common Lisp")
190 (description "BORDEAUX-THREADS is a proposed standard for a minimal
191 MP/Threading interface. It is similar to the CLIM-SYS threading and lock
192 support.")
193 (home-page "https://common-lisp.net/project/bordeaux-threads/")
194 (license license:x11)))
195
196 (define-public cl-bordeaux-threads
197 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
198
199 (define-public ecl-bordeaux-threads
200 (sbcl-package->ecl-package sbcl-bordeaux-threads))
201
202 (define-public sbcl-trivial-gray-streams
203 (let ((revision "1")
204 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
205 (package
206 (name "sbcl-trivial-gray-streams")
207 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
208 (source
209 (origin
210 (method git-fetch)
211 (uri
212 (git-reference
213 (url "https://github.com/trivial-gray-streams/trivial-gray-streams")
214 (commit commit)))
215 (sha256
216 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
217 (file-name
218 (string-append "trivial-gray-streams-" version "-checkout"))))
219 (build-system asdf-build-system/sbcl)
220 (synopsis "Compatibility layer for Gray streams implementations")
221 (description "Gray streams is an interface proposed for inclusion with
222 ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
223 popular CL implementations implement it. This package provides an extremely
224 thin compatibility layer for gray streams.")
225 (home-page "https://www.cliki.net/trivial-gray-streams")
226 (license license:x11))))
227
228 (define-public cl-trivial-gray-streams
229 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
230
231 (define-public ecl-trivial-gray-streams
232 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
233
234 (define-public sbcl-fiasco
235 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
236 (revision "1"))
237 (package
238 (name "sbcl-fiasco")
239 (version (git-version "0.0.1" revision commit))
240 (source
241 (origin
242 (method git-fetch)
243 (uri (git-reference
244 (url "https://github.com/joaotavora/fiasco")
245 (commit commit)))
246 (file-name (git-file-name "fiasco" version))
247 (sha256
248 (base32
249 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
250 (build-system asdf-build-system/sbcl)
251 (inputs
252 `(("alexandria" ,sbcl-alexandria)
253 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
254 (synopsis "Simple and powerful test framework for Common Lisp")
255 (description "A Common Lisp test framework that treasures your failures,
256 logical continuation of Stefil. It focuses on interactive debugging.")
257 (home-page "https://github.com/joaotavora/fiasco")
258 ;; LICENCE specifies this is public-domain unless the legislation
259 ;; doesn't allow or recognize it. In that case it falls back to a
260 ;; permissive licence.
261 (license (list license:public-domain
262 (license:x11-style "file://LICENCE"))))))
263
264 (define-public cl-fiasco
265 (sbcl-package->cl-source-package sbcl-fiasco))
266
267 (define-public ecl-fiasco
268 (sbcl-package->ecl-package sbcl-fiasco))
269
270 (define-public sbcl-flexi-streams
271 (package
272 (name "sbcl-flexi-streams")
273 (version "1.0.18")
274 (source
275 (origin
276 (method git-fetch)
277 (uri (git-reference
278 (url "https://github.com/edicl/flexi-streams")
279 (commit (string-append "v" version))))
280 (file-name (git-file-name "flexi-streams" version))
281 (sha256
282 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
283 (build-system asdf-build-system/sbcl)
284 (arguments
285 `(#:phases
286 (modify-phases %standard-phases
287 (add-after 'unpack 'make-git-checkout-writable
288 (lambda _
289 (for-each make-file-writable (find-files "."))
290 #t)))))
291 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
292 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
293 (description "Flexi-streams is an implementation of \"virtual\" bivalent
294 streams that can be layered atop real binary or bivalent streams and that can
295 be used to read and write character data in various single- or multi-octet
296 encodings which can be changed on the fly. It also supplies in-memory binary
297 streams which are similar to string streams.")
298 (home-page "http://weitz.de/flexi-streams/")
299 (license license:bsd-3)))
300
301 (define-public cl-flexi-streams
302 (sbcl-package->cl-source-package sbcl-flexi-streams))
303
304 (define-public ecl-flexi-streams
305 (sbcl-package->ecl-package sbcl-flexi-streams))
306
307 (define-public sbcl-cl-ppcre
308 (package
309 (name "sbcl-cl-ppcre")
310 (version "2.1.1")
311 (source
312 (origin
313 (method git-fetch)
314 (uri (git-reference
315 (url "https://github.com/edicl/cl-ppcre")
316 (commit (string-append "v" version))))
317 (file-name (git-file-name "cl-ppcre" version))
318 (sha256
319 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
320 (build-system asdf-build-system/sbcl)
321 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
322 (synopsis "Portable regular expression library for Common Lisp")
323 (description "CL-PPCRE is a portable regular expression library for Common
324 Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
325 compatible with ANSI-compliant Common Lisp implementations.")
326 (home-page "http://weitz.de/cl-ppcre/")
327 (license license:bsd-2)))
328
329 (define-public cl-ppcre
330 (sbcl-package->cl-source-package sbcl-cl-ppcre))
331
332 (define-public ecl-cl-ppcre
333 (sbcl-package->ecl-package sbcl-cl-ppcre))
334
335 (define sbcl-cl-unicode-base
336 (package
337 (name "sbcl-cl-unicode-base")
338 (version "0.1.6")
339 (source (origin
340 (method git-fetch)
341 (uri (git-reference
342 (url "https://github.com/edicl/cl-unicode")
343 (commit (string-append "v" version))))
344 (file-name (git-file-name name version))
345 (sha256
346 (base32
347 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
348 (build-system asdf-build-system/sbcl)
349 (arguments
350 '(#:asd-file "cl-unicode.asd"
351 #:asd-system-name "cl-unicode/base"))
352 (inputs
353 `(("cl-ppcre" ,sbcl-cl-ppcre)))
354 (home-page "http://weitz.de/cl-unicode/")
355 (synopsis "Portable Unicode library for Common Lisp")
356 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
357 is compatible with perl. It is pretty fast, thread-safe, and compatible with
358 ANSI-compliant Common Lisp implementations.")
359 (license license:bsd-2)))
360
361 (define-public sbcl-cl-unicode
362 (package
363 (inherit sbcl-cl-unicode-base)
364 (name "sbcl-cl-unicode")
365 (inputs
366 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
367 ,@(package-inputs sbcl-cl-unicode-base)))
368 (native-inputs
369 `(("flexi-streams" ,sbcl-flexi-streams)))
370 (arguments '())))
371
372 (define-public ecl-cl-unicode
373 (sbcl-package->ecl-package sbcl-cl-unicode))
374
375 (define-public cl-unicode
376 (sbcl-package->cl-source-package sbcl-cl-unicode))
377
378 (define-public sbcl-zpb-ttf
379 (package
380 (name "sbcl-zpb-ttf")
381 (version "1.0.3")
382 (source
383 (origin
384 (method git-fetch)
385 (uri (git-reference
386 (url "https://github.com/xach/zpb-ttf")
387 (commit (string-append "release-" version))))
388 (file-name (git-file-name name version))
389 (sha256
390 (base32
391 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
392 (build-system asdf-build-system/sbcl)
393 (home-page "https://github.com/xach/zpb-ttf")
394 (synopsis "TrueType font file access for Common Lisp")
395 (description
396 "ZPB-TTF is a TrueType font file parser that provides an interface for
397 reading typographic metrics, glyph outlines, and other information from the
398 file.")
399 (license license:bsd-2)))
400
401 (define-public ecl-zpb-ttf
402 (sbcl-package->ecl-package sbcl-zpb-ttf))
403
404 (define-public cl-zpb-ttf
405 (sbcl-package->cl-source-package sbcl-zpb-ttf))
406
407 (define-public sbcl-cl-aa
408 (package
409 (name "sbcl-cl-aa")
410 (version "0.1.5")
411 (source
412 (origin
413 (method url-fetch)
414 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
415 "files/cl-vectors-" version ".tar.gz"))
416 (sha256
417 (base32
418 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
419 (build-system asdf-build-system/sbcl)
420 (arguments '(#:asd-file "cl-aa.asd"))
421 (home-page "http://projects.tuxee.net/cl-vectors/")
422 (synopsis "Polygon rasterizer")
423 (description
424 "This is a Common Lisp library implementing the AA polygon rasterization
425 algorithm from the @url{http://antigrain.com, Antigrain} project.")
426 (license license:expat)))
427
428 (define-public ecl-cl-aa
429 (sbcl-package->ecl-package sbcl-cl-aa))
430
431 (define-public cl-aa
432 (sbcl-package->cl-source-package sbcl-cl-aa))
433
434 (define-public sbcl-cl-paths
435 (package
436 (inherit sbcl-cl-aa)
437 (name "sbcl-cl-paths")
438 (arguments '(#:asd-file "cl-paths.asd"))
439 (synopsis "Facilities to create and manipulate vectorial paths")
440 (description
441 "This package provides facilities to create and manipulate vectorial
442 paths.")))
443
444 (define-public ecl-cl-paths
445 (sbcl-package->ecl-package sbcl-cl-paths))
446
447 (define-public cl-paths
448 (sbcl-package->cl-source-package sbcl-cl-paths))
449
450 (define-public sbcl-cl-paths-ttf
451 (package
452 (inherit sbcl-cl-aa)
453 (name "sbcl-cl-paths-ttf")
454 (arguments '(#:asd-file "cl-paths-ttf.asd"))
455 (inputs
456 `(("cl-paths" ,sbcl-cl-paths)
457 ("zpb-ttf" ,sbcl-zpb-ttf)))
458 (synopsis "Facilities to create and manipulate vectorial paths")
459 (description
460 "This package provides facilities to create and manipulate vectorial
461 paths.")))
462
463 (define-public ecl-cl-paths-ttf
464 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
465
466 (define-public cl-paths-ttf
467 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
468
469 (define-public sbcl-cl-vectors
470 (package
471 (inherit sbcl-cl-aa)
472 (name "sbcl-cl-vectors")
473 (arguments '(#:asd-file "cl-vectors.asd"))
474 (inputs
475 `(("cl-aa" ,sbcl-cl-aa)
476 ("cl-paths" ,sbcl-cl-paths)))
477 (synopsis "Create, transform and render anti-aliased vectorial paths")
478 (description
479 "This is a pure Common Lisp library to create, transform and render
480 anti-aliased vectorial paths.")))
481
482 (define-public ecl-cl-vectors
483 (sbcl-package->ecl-package sbcl-cl-vectors))
484
485 (define-public cl-vectors
486 (sbcl-package->cl-source-package sbcl-cl-vectors))
487
488 (define-public sbcl-spatial-trees
489 ;; There have been no releases.
490 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
491 (revision "1"))
492 (package
493 (name "sbcl-spatial-trees")
494 (version (git-version "0" revision commit))
495 (source
496 (origin
497 (method git-fetch)
498 (uri (git-reference
499 (url "https://github.com/rpav/spatial-trees")
500 (commit commit)))
501 (file-name (git-file-name name version))
502 (sha256
503 (base32
504 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
505 (build-system asdf-build-system/sbcl)
506 (arguments
507 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
508 #:asd-file "spatial-trees.asd"
509 #:test-asd-file "spatial-trees.test.asd"))
510 (native-inputs
511 `(("fiveam" ,sbcl-fiveam)))
512 (home-page "https://github.com/rpav/spatial-trees")
513 (synopsis "Dynamic index data structures for spatially-extended data")
514 (description
515 "Spatial-trees is a set of dynamic index data structures for
516 spatially-extended data.")
517 (license license:bsd-3))))
518
519 (define-public ecl-spatial-trees
520 (sbcl-package->ecl-package sbcl-spatial-trees))
521
522 (define-public cl-spatial-trees
523 (sbcl-package->cl-source-package sbcl-spatial-trees))
524
525 (define-public sbcl-flexichain
526 ;; There are no releases.
527 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
528 (revision "1"))
529 (package
530 (name "sbcl-flexichain")
531 (version "1.5.1")
532 (source
533 (origin
534 (method git-fetch)
535 (uri (git-reference
536 (url "https://github.com/robert-strandh/Flexichain")
537 (commit commit)))
538 (file-name (git-file-name name version))
539 (sha256
540 (base32
541 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
542 (build-system asdf-build-system/sbcl)
543 (home-page "https://github.com/robert-strandh/Flexichain.git")
544 (synopsis "Dynamically add elements to or remove them from sequences")
545 (description
546 "This package provides an implementation of the flexichain protocol,
547 allowing client code to dynamically add elements to, and delete elements from
548 a sequence (or chain) of such elements.")
549 (license license:lgpl2.1+))))
550
551 (define-public ecl-flexichain
552 (sbcl-package->ecl-package sbcl-flexichain))
553
554 (define-public cl-flexichain
555 (sbcl-package->cl-source-package sbcl-flexichain))
556
557 (define-public sbcl-cl-pdf
558 ;; There are no releases
559 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
560 (revision "1"))
561 (package
562 (name "sbcl-cl-pdf")
563 (version (git-version "0" revision commit))
564 (source
565 (origin
566 (method git-fetch)
567 (uri (git-reference
568 (url "https://github.com/mbattyani/cl-pdf")
569 (commit commit)))
570 (file-name (git-file-name name version))
571 (sha256
572 (base32
573 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
574 (build-system asdf-build-system/sbcl)
575 (inputs
576 `(("iterate" ,sbcl-iterate)
577 ("zpb-ttf" ,sbcl-zpb-ttf)))
578 (home-page "https://github.com/mbattyani/cl-pdf")
579 (synopsis "Common Lisp library for generating PDF files")
580 (description
581 "CL-PDF is a cross-platform Common Lisp library for generating PDF
582 files.")
583 (license license:bsd-2))))
584
585 (define-public ecl-cl-pdf
586 (sbcl-package->ecl-package sbcl-cl-pdf))
587
588 (define-public cl-pdf
589 (sbcl-package->cl-source-package sbcl-cl-pdf))
590
591 (define-public sbcl-clx
592 (package
593 (name "sbcl-clx")
594 (version "0.7.5")
595 (source
596 (origin
597 (method git-fetch)
598 (uri
599 (git-reference
600 (url "https://github.com/sharplispers/clx")
601 (commit version)))
602 (sha256
603 (base32
604 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
605 (file-name (string-append "clx-" version))))
606 (build-system asdf-build-system/sbcl)
607 (native-inputs
608 `(("fiasco" ,sbcl-fiasco)))
609 (home-page "https://www.cliki.net/portable-clx")
610 (synopsis "X11 client library for Common Lisp")
611 (description "CLX is an X11 client library for Common Lisp. The code was
612 originally taken from a CMUCL distribution, was modified somewhat in order to
613 make it compile and run under SBCL, then a selection of patches were added
614 from other CLXes around the net.")
615 (license license:x11)))
616
617 (define-public cl-clx
618 (sbcl-package->cl-source-package sbcl-clx))
619
620 (define-public ecl-clx
621 (sbcl-package->ecl-package sbcl-clx))
622
623 (define-public sbcl-clx-truetype
624 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
625 (revision "1"))
626 (package
627 (name "sbcl-clx-truetype")
628 (version (git-version "0.0.1" revision commit))
629 (source
630 (origin
631 (method git-fetch)
632 (uri (git-reference
633 (url "https://github.com/l04m33/clx-truetype")
634 (commit commit)))
635 (file-name (git-file-name name version))
636 (sha256
637 (base32
638 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
639 (modules '((guix build utils)))
640 (snippet
641 '(begin
642 (substitute* "package.lisp"
643 ((":export") ":export\n :+font-cache-filename+"))
644 #t))))
645 (build-system asdf-build-system/sbcl)
646 (inputs
647 `(("clx" ,sbcl-clx)
648 ("zpb-ttf" ,sbcl-zpb-ttf)
649 ("cl-vectors" ,sbcl-cl-vectors)
650 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
651 ("cl-fad" ,sbcl-cl-fad)
652 ("cl-store" ,sbcl-cl-store)
653 ("trivial-features" ,sbcl-trivial-features)))
654 (home-page "https://github.com/l04m33/clx-truetype")
655 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
656 (description "CLX-TrueType is pure common lisp solution for
657 antialiased TrueType font rendering using CLX and XRender extension.")
658 (license license:expat))))
659
660 (define-public sbcl-cl-ppcre-unicode
661 (package (inherit sbcl-cl-ppcre)
662 (name "sbcl-cl-ppcre-unicode")
663 (arguments
664 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
665 #:asd-file "cl-ppcre-unicode.asd"))
666 (inputs
667 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
668 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
669
670 (define-public ecl-cl-ppcre-unicode
671 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
672
673 ;; The slynk that users expect to install includes all of slynk's contrib
674 ;; modules. Therefore, we build the base module and all contribs first; then
675 ;; we expose the union of these as `sbcl-slynk'. The following variable
676 ;; describes the base module.
677 (define sbcl-slynk-boot0
678 (let ((revision "3")
679 ;; Update together with emacs-sly.
680 (commit "6a2f543cb21f14104c2253af5a1427b884a987ae"))
681 (package
682 (name "sbcl-slynk-boot0")
683 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
684 (source
685 (origin
686 (method git-fetch)
687 (uri
688 (git-reference
689 (url "https://github.com/joaotavora/sly")
690 (commit commit)))
691 (sha256
692 (base32 "0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144"))
693 (file-name (string-append "slynk-" version "-checkout"))
694 (modules '((guix build utils)
695 (ice-9 ftw)))
696 (snippet
697 '(begin
698 ;; Move the contribs into the main source directory for easier
699 ;; access
700 (substitute* "slynk/slynk.asd"
701 (("\\.\\./contrib")
702 "contrib")
703 (("\\(defsystem :slynk/util")
704 "(defsystem :slynk/util :depends-on (:slynk)"))
705 (substitute* "contrib/slynk-trace-dialog.lisp"
706 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
707 "nil"))
708 (substitute* "contrib/slynk-profiler.lisp"
709 (("slynk:to-line")
710 "slynk-pprint-to-line"))
711 (substitute* "contrib/slynk-fancy-inspector.lisp"
712 (("slynk/util") "slynk-util")
713 ((":compile-toplevel :load-toplevel") ""))
714 (rename-file "contrib" "slynk/contrib")
715 ;; Move slynk's contents into the base directory for easier
716 ;; access
717 (for-each (lambda (file)
718 (unless (string-prefix? "." file)
719 (rename-file (string-append "slynk/" file)
720 (string-append "./" (basename file)))))
721 (scandir "slynk"))
722 #t))))
723 (build-system asdf-build-system/sbcl)
724 (arguments
725 `(#:tests? #f ; No test suite
726 #:asd-system-name "slynk"))
727 (synopsis "Common Lisp IDE for Emacs")
728 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
729 It also features a completely redesigned REPL based on Emacs's own
730 full-featured @code{comint-mode}, live code annotations, and a consistent interactive
731 button interface. Everything can be copied to the REPL. One can create
732 multiple inspectors with independent history.")
733 (home-page "https://github.com/joaotavora/sly")
734 (license license:public-domain)
735 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
736
737 (define-public cl-slynk
738 (package
739 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
740 (name "cl-slynk")))
741
742 (define ecl-slynk-boot0
743 (sbcl-package->ecl-package sbcl-slynk-boot0))
744
745 (define sbcl-slynk-arglists
746 (package
747 (inherit sbcl-slynk-boot0)
748 (name "sbcl-slynk-arglists")
749 (inputs `(("slynk" ,sbcl-slynk-boot0)))
750 (arguments
751 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
752 ((#:asd-file _ "") "slynk.asd")
753 ((#:asd-system-name _ #f) "slynk/arglists")))))
754
755 (define ecl-slynk-arglists
756 (sbcl-package->ecl-package sbcl-slynk-arglists))
757
758 (define sbcl-slynk-util
759 (package
760 (inherit sbcl-slynk-boot0)
761 (name "sbcl-slynk-util")
762 (inputs `(("slynk" ,sbcl-slynk-boot0)))
763 (arguments
764 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
765 ((#:asd-file _ "") "slynk.asd")
766 ((#:asd-system-name _ #f) "slynk/util")))))
767
768 (define ecl-slynk-util
769 (sbcl-package->ecl-package sbcl-slynk-util))
770
771 (define sbcl-slynk-fancy-inspector
772 (package
773 (inherit sbcl-slynk-arglists)
774 (name "sbcl-slynk-fancy-inspector")
775 (inputs `(("slynk-util" ,sbcl-slynk-util)
776 ,@(package-inputs sbcl-slynk-arglists)))
777 (arguments
778 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
779 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
780
781 (define ecl-slynk-fancy-inspector
782 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
783
784 (define sbcl-slynk-package-fu
785 (package
786 (inherit sbcl-slynk-arglists)
787 (name "sbcl-slynk-package-fu")
788 (arguments
789 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
790 ((#:asd-system-name _ #f) "slynk/package-fu")))))
791
792 (define ecl-slynk-package-fu
793 (sbcl-package->ecl-package sbcl-slynk-package-fu))
794
795 (define sbcl-slynk-mrepl
796 (package
797 (inherit sbcl-slynk-fancy-inspector)
798 (name "sbcl-slynk-mrepl")
799 (arguments
800 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
801 ((#:asd-system-name _ #f) "slynk/mrepl")))))
802
803 (define ecl-slynk-mrepl
804 (sbcl-package->ecl-package sbcl-slynk-mrepl))
805
806 (define sbcl-slynk-trace-dialog
807 (package
808 (inherit sbcl-slynk-arglists)
809 (name "sbcl-slynk-trace-dialog")
810 (arguments
811 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
812 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
813
814 (define ecl-slynk-trace-dialog
815 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
816
817 (define sbcl-slynk-profiler
818 (package
819 (inherit sbcl-slynk-arglists)
820 (name "sbcl-slynk-profiler")
821 (arguments
822 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
823 ((#:asd-system-name _ #f) "slynk/profiler")))))
824
825 (define ecl-slynk-profiler
826 (sbcl-package->ecl-package sbcl-slynk-profiler))
827
828 (define sbcl-slynk-stickers
829 (package
830 (inherit sbcl-slynk-arglists)
831 (name "sbcl-slynk-stickers")
832 (arguments
833 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
834 ((#:asd-system-name _ #f) "slynk/stickers")))))
835
836 (define ecl-slynk-stickers
837 (sbcl-package->ecl-package sbcl-slynk-stickers))
838
839 (define sbcl-slynk-indentation
840 (package
841 (inherit sbcl-slynk-arglists)
842 (name "sbcl-slynk-indentation")
843 (arguments
844 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
845 ((#:asd-system-name _ #f) "slynk/indentation")))))
846
847 (define ecl-slynk-indentation
848 (sbcl-package->ecl-package sbcl-slynk-indentation))
849
850 (define sbcl-slynk-retro
851 (package
852 (inherit sbcl-slynk-arglists)
853 (name "sbcl-slynk-retro")
854 (arguments
855 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
856 ((#:asd-system-name _ #f) "slynk/retro")))))
857
858 (define ecl-slynk-retro
859 (sbcl-package->ecl-package sbcl-slynk-retro))
860
861 (define slynk-systems
862 '("slynk"
863 "slynk-util"
864 "slynk-arglists"
865 "slynk-fancy-inspector"
866 "slynk-package-fu"
867 "slynk-mrepl"
868 "slynk-profiler"
869 "slynk-trace-dialog"
870 "slynk-stickers"
871 "slynk-indentation"
872 "slynk-retro"))
873
874 (define-public sbcl-slynk
875 (package
876 (inherit sbcl-slynk-boot0)
877 (name "sbcl-slynk")
878 (inputs
879 `(("slynk" ,sbcl-slynk-boot0)
880 ("slynk-util" ,sbcl-slynk-util)
881 ("slynk-arglists" ,sbcl-slynk-arglists)
882 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
883 ("slynk-package-fu" ,sbcl-slynk-package-fu)
884 ("slynk-mrepl" ,sbcl-slynk-mrepl)
885 ("slynk-profiler" ,sbcl-slynk-profiler)
886 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
887 ("slynk-stickers" ,sbcl-slynk-stickers)
888 ("slynk-indentation" ,sbcl-slynk-indentation)
889 ("slynk-retro" ,sbcl-slynk-retro)))
890 (native-inputs `(("sbcl" ,sbcl)))
891 (build-system trivial-build-system)
892 (source #f)
893 (outputs '("out" "image"))
894 (arguments
895 `(#:modules ((guix build union)
896 (guix build utils)
897 (guix build lisp-utils))
898 #:builder
899 (begin
900 (use-modules (ice-9 match)
901 (srfi srfi-1)
902 (guix build union)
903 (guix build lisp-utils))
904
905 (union-build
906 (assoc-ref %outputs "out")
907 (filter-map
908 (match-lambda
909 ((name . path)
910 (if (string-prefix? "slynk" name) path #f)))
911 %build-inputs))
912
913 (prepend-to-source-registry
914 (string-append (assoc-ref %outputs "out") "//"))
915
916 (parameterize ((%lisp-type "sbcl")
917 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
918 "/bin/sbcl")))
919 (build-image (string-append
920 (assoc-ref %outputs "image")
921 "/bin/slynk")
922 %outputs
923 #:dependencies ',slynk-systems))
924 #t)))))
925
926 (define-public ecl-slynk
927 (package
928 (inherit sbcl-slynk)
929 (name "ecl-slynk")
930 (inputs
931 (map (match-lambda
932 ((name pkg . _)
933 (list name (sbcl-package->ecl-package pkg))))
934 (package-inputs sbcl-slynk)))
935 (native-inputs '())
936 (outputs '("out"))
937 (arguments
938 '(#:modules ((guix build union))
939 #:builder
940 (begin
941 (use-modules (ice-9 match)
942 (guix build union))
943 (match %build-inputs
944 (((names . paths) ...)
945 (union-build (assoc-ref %outputs "out")
946 paths)
947 #t)))))))
948
949 (define-public sbcl-parse-js
950 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
951 (revision "1"))
952 (package
953 (name "sbcl-parse-js")
954 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
955 (source
956 (origin
957 (method git-fetch)
958 (uri (git-reference
959 (url "http://marijn.haverbeke.nl/git/parse-js")
960 (commit commit)))
961 (file-name (string-append name "-" commit "-checkout"))
962 (sha256
963 (base32
964 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
965 (build-system asdf-build-system/sbcl)
966 (home-page "https://marijnhaverbeke.nl/parse-js/")
967 (synopsis "Parse JavaScript")
968 (description "Parse-js is a Common Lisp package for parsing
969 JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
970 (license license:zlib))))
971
972 (define-public cl-parse-js
973 (sbcl-package->cl-source-package sbcl-parse-js))
974
975 (define-public sbcl-parse-number
976 (package
977 (name "sbcl-parse-number")
978 (version "1.7")
979 (source
980 (origin
981 (method git-fetch)
982 (uri (git-reference
983 (url "https://github.com/sharplispers/parse-number/")
984 (commit (string-append "v" version))))
985 (file-name (git-file-name name version))
986 (sha256
987 (base32
988 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
989 (build-system asdf-build-system/sbcl)
990 (home-page "https://www.cliki.net/PARSE-NUMBER")
991 (synopsis "Parse numbers")
992 (description "@code{parse-number} is a library of functions for parsing
993 strings into one of the standard Common Lisp number types without using the
994 reader. @code{parse-number} accepts an arbitrary string and attempts to parse
995 the string into one of the standard Common Lisp number types, if possible, or
996 else @code{parse-number} signals an error of type @code{invalid-number}.")
997 (license license:bsd-3)))
998
999 (define-public cl-parse-number
1000 (sbcl-package->cl-source-package sbcl-parse-number))
1001
1002 (define-public sbcl-iterate
1003 (package
1004 (name "sbcl-iterate")
1005 (version "1.5")
1006 (source
1007 (origin
1008 (method url-fetch)
1009 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1010 "iterate-" version ".tar.gz"))
1011 (sha256
1012 (base32
1013 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
1014 (build-system asdf-build-system/sbcl)
1015 (native-inputs
1016 `(("rt" ,sbcl-rt)))
1017 (home-page "https://common-lisp.net/project/iterate/")
1018 (synopsis "Iteration construct for Common Lisp")
1019 (description "@code{iterate} is an iteration construct for Common Lisp.
1020 It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1021
1022 @itemize
1023 @item it is extensible,
1024 @item it helps editors like Emacs indent iterate forms by having a more
1025 lisp-like syntax, and
1026 @item it isn't part of the ANSI standard for Common Lisp.
1027 @end itemize\n")
1028 (license license:expat)))
1029
1030 (define-public cl-iterate
1031 (sbcl-package->cl-source-package sbcl-iterate))
1032
1033 (define-public ecl-iterate
1034 (sbcl-package->ecl-package sbcl-iterate))
1035
1036 (define-public sbcl-cl-uglify-js
1037 ;; There have been many bug fixes since the 2010 release.
1038 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1039 (revision "1"))
1040 (package
1041 (name "sbcl-cl-uglify-js")
1042 (version (string-append "0.1-" revision "." (string-take commit 9)))
1043 (source
1044 (origin
1045 (method git-fetch)
1046 (uri (git-reference
1047 (url "https://github.com/mishoo/cl-uglify-js")
1048 (commit commit)))
1049 (file-name (git-file-name name version))
1050 (sha256
1051 (base32
1052 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1053 (build-system asdf-build-system/sbcl)
1054 (inputs
1055 `(("sbcl-parse-js" ,sbcl-parse-js)
1056 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1057 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1058 ("sbcl-parse-number" ,sbcl-parse-number)
1059 ("sbcl-iterate" ,sbcl-iterate)))
1060 (home-page "https://github.com/mishoo/cl-uglify-js")
1061 (synopsis "JavaScript compressor library for Common Lisp")
1062 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1063 compressor. It works on data produced by @code{parse-js} to generate a
1064 @dfn{minified} version of the code. Currently it can:
1065
1066 @itemize
1067 @item reduce variable names (usually to single letters)
1068 @item join consecutive @code{var} statements
1069 @item resolve simple binary expressions
1070 @item group most consecutive statements using the @code{sequence} operator (comma)
1071 @item remove unnecessary blocks
1072 @item convert @code{IF} expressions in various ways that result in smaller code
1073 @item remove some unreachable code
1074 @end itemize\n")
1075 (license license:zlib))))
1076
1077 (define-public cl-uglify-js
1078 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1079
1080 (define-public uglify-js
1081 (package
1082 (inherit sbcl-cl-uglify-js)
1083 (name "uglify-js")
1084 (build-system trivial-build-system)
1085 (arguments
1086 `(#:modules ((guix build utils))
1087 #:builder
1088 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1089 (script (string-append bin "uglify-js")))
1090 (use-modules (guix build utils))
1091 (mkdir-p bin)
1092 (with-output-to-file script
1093 (lambda _
1094 (format #t "#!~a/bin/sbcl --script
1095 (require :asdf)
1096 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1097 (assoc-ref %build-inputs "sbcl")
1098 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1099 ;; FIXME: cannot use progn here because otherwise it fails to
1100 ;; find cl-uglify-js.
1101 (for-each
1102 write
1103 '(;; Quiet, please!
1104 (let ((*standard-output* (make-broadcast-stream))
1105 (*error-output* (make-broadcast-stream)))
1106 (asdf:load-system :cl-uglify-js))
1107 (let ((file (cadr *posix-argv*)))
1108 (if file
1109 (format t "~a"
1110 (cl-uglify-js:ast-gen-code
1111 (cl-uglify-js:ast-mangle
1112 (cl-uglify-js:ast-squeeze
1113 (with-open-file (in file)
1114 (parse-js:parse-js in))))
1115 :beautify nil))
1116 (progn
1117 (format *error-output*
1118 "Please provide a JavaScript file.~%")
1119 (sb-ext:exit :code 1))))))))
1120 (chmod script #o755)
1121 #t)))
1122 (inputs
1123 `(("sbcl" ,sbcl)
1124 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1125 (synopsis "JavaScript compressor")))
1126
1127 (define-public sbcl-cl-strings
1128 (let ((revision "1")
1129 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1130 (package
1131 (name "sbcl-cl-strings")
1132 (version (git-version "0.0.0" revision commit))
1133 (source
1134 (origin
1135 (method git-fetch)
1136 (uri (git-reference
1137 (url "https://github.com/diogoalexandrefranco/cl-strings")
1138 (commit commit)))
1139 (sha256
1140 (base32
1141 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1142 (file-name (string-append "cl-strings-" version "-checkout"))))
1143 (build-system asdf-build-system/sbcl)
1144 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1145 (description
1146 "@command{cl-strings} is a small, portable, dependency-free set of
1147 utilities that make it even easier to manipulate text in Common Lisp. It has
1148 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1149 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1150 (license license:expat))))
1151
1152 (define-public cl-strings
1153 (sbcl-package->cl-source-package sbcl-cl-strings))
1154
1155 (define-public ecl-cl-strings
1156 (sbcl-package->ecl-package sbcl-cl-strings))
1157
1158 (define-public sbcl-trivial-features
1159 ;; No release since 2014.
1160 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1161 (package
1162 (name "sbcl-trivial-features")
1163 (version (git-version "0.8" "1" commit))
1164 (source
1165 (origin
1166 (method git-fetch)
1167 (uri (git-reference
1168 (url "https://github.com/trivial-features/trivial-features")
1169 (commit commit)))
1170 (file-name (git-file-name "trivial-features" version))
1171 (sha256
1172 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1173 (build-system asdf-build-system/sbcl)
1174 (arguments '(#:tests? #f))
1175 (home-page "https://cliki.net/trivial-features")
1176 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1177 (description "Trivial-features ensures that @code{*FEATURES*} is
1178 consistent across multiple Common Lisp implementations.")
1179 (license license:expat))))
1180
1181 (define-public cl-trivial-features
1182 (sbcl-package->cl-source-package sbcl-trivial-features))
1183
1184 (define-public ecl-trivial-features
1185 (sbcl-package->ecl-package sbcl-trivial-features))
1186
1187 (define-public sbcl-hu.dwim.asdf
1188 (package
1189 (name "sbcl-hu.dwim.asdf")
1190 (version "20190521")
1191 (source
1192 (origin
1193 (method url-fetch)
1194 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1195 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1196 (sha256
1197 (base32
1198 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1199 (build-system asdf-build-system/sbcl)
1200 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1201 (synopsis "Extensions to ASDF")
1202 (description "Various ASDF extensions such as attached test and
1203 documentation system, explicit development support, etc.")
1204 (license license:public-domain)))
1205
1206 (define-public cl-hu.dwim.asdf
1207 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1208
1209 (define-public ecl-hu.dwim.asdf
1210 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1211
1212 (define-public sbcl-hu.dwim.stefil
1213 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1214 (package
1215 (name "sbcl-hu.dwim.stefil")
1216 (version (git-version "0.0.0" "1" commit))
1217 (source
1218 (origin
1219 (method git-fetch)
1220 (uri
1221 (git-reference
1222 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1223 (commit commit)))
1224 (sha256
1225 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1226 (file-name (git-file-name "hu.dwim.stefil" version))))
1227 (build-system asdf-build-system/sbcl)
1228 (native-inputs
1229 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1230 (inputs
1231 `(("sbcl-alexandria" ,sbcl-alexandria)))
1232 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1233 (synopsis "Simple test framework")
1234 (description "Stefil is a simple test framework for Common Lisp,
1235 with a focus on interactive development.")
1236 (license license:public-domain))))
1237
1238 (define-public cl-hu.dwim.stefil
1239 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1240
1241 (define-public ecl-hu.dwim.stefil
1242 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1243
1244 (define-public sbcl-babel
1245 ;; No release since 2014.
1246 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1247 (package
1248 (name "sbcl-babel")
1249 (version (git-version "0.5.0" "1" commit))
1250 (source
1251 (origin
1252 (method git-fetch)
1253 (uri (git-reference
1254 (url "https://github.com/cl-babel/babel")
1255 (commit commit)))
1256 (file-name (git-file-name "babel" version))
1257 (sha256
1258 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1259 (build-system asdf-build-system/sbcl)
1260 (native-inputs
1261 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1262 (inputs
1263 `(("sbcl-alexandria" ,sbcl-alexandria)
1264 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1265 (home-page "https://common-lisp.net/project/babel/")
1266 (synopsis "Charset encoding and decoding library")
1267 (description "Babel is a charset encoding and decoding library, not unlike
1268 GNU libiconv, but completely written in Common Lisp.")
1269 (license license:expat))))
1270
1271 (define-public cl-babel
1272 (sbcl-package->cl-source-package sbcl-babel))
1273
1274 (define-public ecl-babel
1275 (sbcl-package->ecl-package sbcl-babel))
1276
1277 (define-public sbcl-cl-yacc
1278 (package
1279 (name "sbcl-cl-yacc")
1280 (version "0.3")
1281 (source
1282 (origin
1283 (method git-fetch)
1284 (uri (git-reference
1285 (url "https://github.com/jech/cl-yacc")
1286 (commit (string-append "cl-yacc-" version))))
1287 (sha256
1288 (base32
1289 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1290 (file-name (string-append "cl-yacc-" version "-checkout"))))
1291 (build-system asdf-build-system/sbcl)
1292 (arguments
1293 `(#:asd-file "yacc.asd"
1294 #:asd-system-name "yacc"))
1295 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1296 (description
1297 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1298 to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1299
1300 CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1301 by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1302 to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1303 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1304 (license license:expat)))
1305
1306 (define-public cl-yacc
1307 (sbcl-package->cl-source-package sbcl-cl-yacc))
1308
1309 (define-public ecl-cl-yacc
1310 (sbcl-package->ecl-package sbcl-cl-yacc))
1311
1312 (define-public sbcl-jpl-util
1313 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1314 (package
1315 (name "sbcl-jpl-util")
1316 (version "20151005")
1317 (source
1318 (origin
1319 (method git-fetch)
1320 (uri (git-reference
1321 ;; Quicklisp uses this fork.
1322 (url "https://github.com/hawkir/cl-jpl-util")
1323 (commit commit)))
1324 (file-name
1325 (git-file-name "jpl-util" version))
1326 (sha256
1327 (base32
1328 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1329 (build-system asdf-build-system/sbcl)
1330 (synopsis "Collection of Common Lisp utility functions and macros")
1331 (description
1332 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1333 and macros, primarily for software projects written in CL by the author.")
1334 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1335 (license license:isc))))
1336
1337 (define-public cl-jpl-util
1338 (sbcl-package->cl-source-package sbcl-jpl-util))
1339
1340 (define-public ecl-jpl-util
1341 (sbcl-package->ecl-package sbcl-jpl-util))
1342
1343 (define-public sbcl-jpl-queues
1344 (package
1345 (name "sbcl-jpl-queues")
1346 (version "0.1")
1347 (source
1348 (origin
1349 (method url-fetch)
1350 (uri (string-append
1351 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1352 version
1353 ".tar.gz"))
1354 (sha256
1355 (base32
1356 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1357 (build-system asdf-build-system/sbcl)
1358 (inputs
1359 `(("jpl-util" ,sbcl-jpl-util)
1360 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1361 (arguments
1362 ;; Tests seem to be broken.
1363 `(#:tests? #f))
1364 (synopsis "Common Lisp library implementing a few different kinds of queues")
1365 (description
1366 "A Common Lisp library implementing a few different kinds of queues:
1367
1368 @itemize
1369 @item Bounded and unbounded FIFO queues.
1370 @item Lossy bounded FIFO queues that drop elements when full.
1371 @item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1372 @end itemize
1373
1374 Additionally, a synchronization wrapper is provided to make any queue
1375 conforming to the @command{jpl-queues} API thread-safe for lightweight
1376 multithreading applications. (See Calispel for a more sophisticated CL
1377 multithreaded message-passing library with timeouts and alternation among
1378 several blockable channels.)")
1379 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1380 (license license:isc)))
1381
1382 (define-public cl-jpl-queues
1383 (sbcl-package->cl-source-package sbcl-jpl-queues))
1384
1385 (define-public ecl-jpl-queues
1386 (sbcl-package->ecl-package sbcl-jpl-queues))
1387
1388 (define-public sbcl-eos
1389 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1390 (package
1391 (name "sbcl-eos")
1392 (version (git-version "0.0.0" "1" commit))
1393 (source
1394 (origin
1395 (method git-fetch)
1396 (uri (git-reference
1397 (url "https://github.com/adlai/Eos")
1398 (commit commit)))
1399 (sha256
1400 (base32
1401 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1402 (file-name (git-file-name "eos" version))))
1403 (build-system asdf-build-system/sbcl)
1404 (synopsis "Unit Testing for Common Lisp")
1405 (description
1406 "Eos was a unit testing library for Common Lisp.
1407 It began as a fork of FiveAM; however, FiveAM development has continued, while
1408 that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1409 (home-page "https://github.com/adlai/Eos")
1410 (license license:expat))))
1411
1412 (define-public cl-eos
1413 (sbcl-package->cl-source-package sbcl-eos))
1414
1415 (define-public ecl-eos
1416 (sbcl-package->ecl-package sbcl-eos))
1417
1418 (define-public sbcl-esrap
1419 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1420 (package
1421 (name "sbcl-esrap")
1422 (version (git-version "0.0.0" "1" commit))
1423 (source
1424 (origin
1425 (method git-fetch)
1426 (uri (git-reference
1427 (url "https://github.com/nikodemus/esrap")
1428 (commit commit)))
1429 (sha256
1430 (base32
1431 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1432 (file-name (git-file-name "esrap" version))))
1433 (build-system asdf-build-system/sbcl)
1434 (native-inputs
1435 `(("eos" ,sbcl-eos))) ;For testing only.
1436 (inputs
1437 `(("alexandria" ,sbcl-alexandria)))
1438 (synopsis "Common Lisp packrat parser")
1439 (description
1440 "A packrat parser for Common Lisp.
1441 In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1442
1443 @itemize
1444 @item dynamic redefinition of nonterminals
1445 @item inline grammars
1446 @item semantic predicates
1447 @item introspective facilities (describing grammars, tracing, setting breaks)
1448 @end itemize\n")
1449 (home-page "https://nikodemus.github.io/esrap/")
1450 (license license:expat))))
1451
1452 (define-public cl-esrap
1453 (sbcl-package->cl-source-package sbcl-esrap))
1454
1455 (define-public ecl-esrap
1456 (sbcl-package->ecl-package sbcl-esrap))
1457
1458 (define-public sbcl-split-sequence
1459 (package
1460 (name "sbcl-split-sequence")
1461 (version "2.0.0")
1462 (source
1463 (origin
1464 (method git-fetch)
1465 (uri (git-reference
1466 (url "https://github.com/sharplispers/split-sequence")
1467 (commit (string-append "v" version))))
1468 (sha256
1469 (base32
1470 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
1471 (file-name (git-file-name "split-sequence" version))))
1472 (build-system asdf-build-system/sbcl)
1473 (native-inputs
1474 `(("fiveam" ,sbcl-fiveam)))
1475 (synopsis "Member of the Common Lisp Utilities family of programs")
1476 (description
1477 "Splits sequence into a list of subsequences delimited by objects
1478 satisfying the test.")
1479 (home-page "https://cliki.net/split-sequence")
1480 (license license:expat)))
1481
1482 (define-public cl-split-sequence
1483 (sbcl-package->cl-source-package sbcl-split-sequence))
1484
1485 (define-public ecl-split-sequence
1486 (sbcl-package->ecl-package sbcl-split-sequence))
1487
1488 (define-public sbcl-html-encode
1489 (package
1490 (name "sbcl-html-encode")
1491 (version "1.2")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append
1496 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1497 version ".tgz"))
1498 (sha256
1499 (base32
1500 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1501 (file-name (string-append "colorize" version "-checkout"))))
1502 (build-system asdf-build-system/sbcl)
1503 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1504 (description
1505 "A library for encoding text in various web-savvy encodings.")
1506 (home-page "http://quickdocs.org/html-encode/")
1507 (license license:expat)))
1508
1509 (define-public cl-html-encode
1510 (sbcl-package->cl-source-package sbcl-html-encode))
1511
1512 (define-public ecl-html-encode
1513 (sbcl-package->ecl-package sbcl-html-encode))
1514
1515 (define-public sbcl-colorize
1516 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1517 (package
1518 (name "sbcl-colorize")
1519 (version (git-version "0.0.0" "1" commit))
1520 (source
1521 (origin
1522 (method git-fetch)
1523 (uri (git-reference
1524 (url "https://github.com/kingcons/colorize")
1525 (commit commit)))
1526 (sha256
1527 (base32
1528 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1529 (file-name (git-file-name "colorize" version))))
1530 (build-system asdf-build-system/sbcl)
1531 (inputs
1532 `(("alexandria" ,sbcl-alexandria)
1533 ("split-sequence" ,sbcl-split-sequence)
1534 ("html-encode" ,sbcl-html-encode)))
1535 (synopsis "Common Lisp for syntax highlighting")
1536 (description
1537 "@command{colorize} is a Lisp library for syntax highlighting
1538 supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1539 C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1540 (home-page "https://github.com/kingcons/colorize")
1541 ;; TODO: Missing license?
1542 (license license:expat))))
1543
1544 (define-public cl-colorize
1545 (sbcl-package->cl-source-package sbcl-colorize))
1546
1547 (define-public ecl-colorize
1548 (sbcl-package->ecl-package sbcl-colorize))
1549
1550 (define-public sbcl-3bmd
1551 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1552 (package
1553 (name "sbcl-3bmd")
1554 (version (git-version "0.0.0" "1" commit))
1555 (source
1556 (origin
1557 (method git-fetch)
1558 (uri (git-reference
1559 (url "https://github.com/3b/3bmd")
1560 (commit commit)))
1561 (sha256
1562 (base32
1563 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1564 (file-name (git-file-name "3bmd" version))))
1565 (build-system asdf-build-system/sbcl)
1566 (arguments
1567 ;; FIXME: We need to specify the name because the build-system thinks
1568 ;; "3" is a version marker.
1569 `(#:asd-system-name "3bmd"))
1570 (inputs
1571 `(("esrap" ,sbcl-esrap)
1572 ("split-sequence" ,sbcl-split-sequence)))
1573 (synopsis "Markdown processor in Command Lisp using esrap parser")
1574 (description
1575 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1576 parsing, and grammar based on @command{peg-markdown}.")
1577 (home-page "https://github.com/3b/3bmd")
1578 (license license:expat))))
1579
1580 (define-public cl-3bmd
1581 (sbcl-package->cl-source-package sbcl-3bmd))
1582
1583 (define-public ecl-3bmd
1584 (sbcl-package->ecl-package sbcl-3bmd))
1585
1586 (define-public sbcl-3bmd-ext-code-blocks
1587 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1588 (package
1589 (inherit sbcl-3bmd)
1590 (name "sbcl-3bmd-ext-code-blocks")
1591 (arguments
1592 `(#:asd-system-name "3bmd-ext-code-blocks"
1593 #:asd-file "3bmd-ext-code-blocks.asd"))
1594 (inputs
1595 `(("3bmd" ,sbcl-3bmd)
1596 ("colorize" ,sbcl-colorize)))
1597 (synopsis "3bmd extension which adds support for GitHub-style fenced
1598 code blocks")
1599 (description
1600 "3bmd extension which adds support for GitHub-style fenced code blocks,
1601 with @command{colorize} support."))))
1602
1603 (define-public cl-3bmd-ext-code-blocks
1604 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1605
1606 (define-public ecl-3bmd-ext-code-blocks
1607 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1608
1609 (define-public sbcl-cl-fad
1610 (package
1611 (name "sbcl-cl-fad")
1612 (version "0.7.6")
1613 (source
1614 (origin
1615 (method git-fetch)
1616 (uri (git-reference
1617 (url "https://github.com/edicl/cl-fad/")
1618 (commit (string-append "v" version))))
1619 (sha256
1620 (base32
1621 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
1622 (file-name (string-append "cl-fad" version "-checkout"))))
1623 (build-system asdf-build-system/sbcl)
1624 (inputs
1625 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1626 (synopsis "Portable pathname library for Common Lisp")
1627 (description
1628 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1629 Lisp's standard pathname functions. It is intended to provide some
1630 unification between current CL implementations on Windows, OS X, Linux, and
1631 Unix. Most of the code was written by Peter Seibel for his book Practical
1632 Common Lisp.")
1633 (home-page "https://edicl.github.io/cl-fad/")
1634 (license license:bsd-2)))
1635
1636 (define-public cl-fad
1637 (sbcl-package->cl-source-package sbcl-cl-fad))
1638
1639 (define-public ecl-cl-fad
1640 (sbcl-package->ecl-package sbcl-cl-fad))
1641
1642 (define-public sbcl-rt
1643 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1644 (revision "1"))
1645 (package
1646 (name "sbcl-rt")
1647 (version (git-version "1990.12.19" revision commit))
1648 (source
1649 (origin
1650 (method git-fetch)
1651 (uri (git-reference
1652 (url "http://git.kpe.io/rt.git")
1653 (commit commit)))
1654 (file-name (git-file-name name version))
1655 (sha256
1656 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1657 (build-system asdf-build-system/sbcl)
1658 (synopsis "MIT Regression Tester")
1659 (description
1660 "RT provides a framework for writing regression test suites.")
1661 (home-page "https://www.cliki.net/rt")
1662 (license license:expat))))
1663
1664 (define-public cl-rt
1665 (sbcl-package->cl-source-package sbcl-rt))
1666
1667 (define-public ecl-rt
1668 (sbcl-package->ecl-package sbcl-rt))
1669
1670 (define-public sbcl-nibbles
1671 (package
1672 (name "sbcl-nibbles")
1673 (version "0.14")
1674 (source
1675 (origin
1676 (method git-fetch)
1677 (uri (git-reference
1678 (url "https://github.com/sharplispers/nibbles/")
1679 (commit (string-append "v" version))))
1680 (sha256
1681 (base32
1682 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1683 (file-name (git-file-name "nibbles" version))))
1684 (build-system asdf-build-system/sbcl)
1685 (native-inputs
1686 ;; Tests only.
1687 `(("rt" ,sbcl-rt)))
1688 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1689 (description
1690 "When dealing with network protocols and file formats, it's common to
1691 have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1692 flavors. Common Lisp sort of supports this by specifying :element-type for
1693 streams, but that facility is underspecified and there's nothing similar for
1694 read/write from octet vectors. What most people wind up doing is rolling their
1695 own small facility for their particular needs and calling it a day.
1696
1697 This library attempts to be comprehensive and centralize such
1698 facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1699 vectors in signed or unsigned flavors are provided; these functions are also
1700 SETFable. Since it's sometimes desirable to read/write directly from streams,
1701 functions for doing so are also provided. On some implementations,
1702 reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1703 also be supported.")
1704 (home-page "https://github.com/sharplispers/nibbles")
1705 (license license:bsd-3)))
1706
1707 (define-public cl-nibbles
1708 (sbcl-package->cl-source-package sbcl-nibbles))
1709
1710 (define-public ecl-nibbles
1711 (sbcl-package->ecl-package sbcl-nibbles))
1712
1713 (define-public sbcl-ironclad
1714 (package
1715 (name "sbcl-ironclad")
1716 (version "0.50")
1717 (source
1718 (origin
1719 (method git-fetch)
1720 (uri (git-reference
1721 (url "https://github.com/sharplispers/ironclad/")
1722 (commit (string-append "v" version))))
1723 (sha256
1724 (base32 "0k4bib9mbrzalbl9ivkw4a7g4c7bbad1l5jw4pzkifqszy2swkr5"))
1725 (file-name (git-file-name name version))))
1726 (build-system asdf-build-system/sbcl)
1727 (native-inputs
1728 ;; Tests only.
1729 `(("rt" ,sbcl-rt)))
1730 (inputs
1731 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
1732 ("flexi-streams" ,sbcl-flexi-streams)))
1733 (synopsis "Cryptographic toolkit written in Common Lisp")
1734 (description
1735 "Ironclad is a cryptography library written entirely in Common Lisp.
1736 It includes support for several popular ciphers, digests, MACs and public key
1737 cryptography algorithms. For several implementations that support Gray
1738 streams, support is included for convenient stream wrappers.")
1739 (home-page "https://github.com/sharplispers/ironclad")
1740 (license license:bsd-3)))
1741
1742 (define-public cl-ironclad
1743 (sbcl-package->cl-source-package sbcl-ironclad))
1744
1745 (define-public ecl-ironclad
1746 (sbcl-package->ecl-package sbcl-ironclad))
1747
1748 (define-public sbcl-named-readtables
1749 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1750 (revision "2"))
1751 (package
1752 (name "sbcl-named-readtables")
1753 (version (git-version "0.9" revision commit))
1754 (source
1755 (origin
1756 (method git-fetch)
1757 (uri (git-reference
1758 (url "https://github.com/melisgl/named-readtables")
1759 (commit commit)))
1760 (sha256
1761 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
1762 (file-name (git-file-name "named-readtables" version))))
1763 (build-system asdf-build-system/sbcl)
1764 (arguments
1765 ;; Tests seem to be broken.
1766 `(#:tests? #f))
1767 (home-page "https://github.com/melisgl/named-readtables/")
1768 (synopsis "Library that creates a namespace for named readtables")
1769 (description "Named readtables is a library that creates a namespace for
1770 named readtables, which is akin to package namespacing in Common Lisp.")
1771 (license license:bsd-3))))
1772
1773 (define-public cl-named-readtables
1774 (sbcl-package->cl-source-package sbcl-named-readtables))
1775
1776 (define-public ecl-named-readtables
1777 (sbcl-package->ecl-package sbcl-named-readtables))
1778
1779 (define-public sbcl-pythonic-string-reader
1780 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1781 (package
1782 (name "sbcl-pythonic-string-reader")
1783 (version (git-version "0.0.0" "1" commit))
1784 (source
1785 (origin
1786 (method git-fetch)
1787 (uri (git-reference
1788 (url "https://github.com/smithzvk/pythonic-string-reader/")
1789 (commit commit)))
1790 (sha256
1791 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1792 (file-name (git-file-name "pythonic-string-reader" version))))
1793 (build-system asdf-build-system/sbcl)
1794 (inputs
1795 `(("named-readtables" ,sbcl-named-readtables)))
1796 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1797 (synopsis "Read table modification inspired by Python's three quote strings")
1798 (description "This piece of code sets up some reader macros that make it
1799 simpler to input string literals which contain backslashes and double quotes
1800 This is very useful for writing complicated docstrings and, as it turns out,
1801 writing code that contains string literals that contain code themselves.")
1802 (license license:bsd-3))))
1803
1804 (define-public cl-pythonic-string-reader
1805 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1806
1807 (define-public ecl-pythonic-string-reader
1808 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1809
1810 ;; SLIME does not have a ASDF system definition to build all of Swank. As a
1811 ;; result, the asdf-build-system/sbcl will produce an almost empty package.
1812 ;; Some work was done to fix this at
1813 ;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1814 ;; and is now lagging behind. Building SBCL fasls might not be worth the
1815 ;; hassle, so let's just ship the source then.
1816 (define-public cl-slime-swank
1817 (package
1818 (name "cl-slime-swank")
1819 (version "2.24")
1820 (source
1821 (origin
1822 (file-name (string-append name "-" version ".tar.gz"))
1823 (method git-fetch)
1824 (uri (git-reference
1825 (url "https://github.com/slime/slime/")
1826 (commit (string-append "v" version))))
1827 (sha256
1828 (base32
1829 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1830 (build-system asdf-build-system/source)
1831 (home-page "https://github.com/slime/slime")
1832 (synopsis "Common Lisp Swank server")
1833 (description
1834 "This is only useful if you want to start a Swank server in a Lisp
1835 processes that doesn't run under Emacs. Lisp processes created by
1836 @command{M-x slime} automatically start the server.")
1837 (license (list license:gpl2+ license:public-domain))))
1838
1839 (define-public sbcl-slime-swank
1840 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1841
1842 (define-public sbcl-mgl-pax
1843 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1844 (package
1845 (name "sbcl-mgl-pax")
1846 (version (git-version "0.0.0" "1" commit))
1847 (source
1848 (origin
1849 (method git-fetch)
1850 (uri (git-reference
1851 (url "https://github.com/melisgl/mgl-pax")
1852 (commit commit)))
1853 (sha256
1854 (base32
1855 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1856 (file-name (git-file-name "mgl-pax" version))))
1857 (build-system asdf-build-system/sbcl)
1858 (inputs
1859 `(("3bmd" ,sbcl-3bmd)
1860 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1861 ("babel" ,sbcl-babel)
1862 ("cl-fad" ,sbcl-cl-fad)
1863 ("ironclad" ,sbcl-ironclad)
1864 ("named-readtables" ,sbcl-named-readtables)
1865 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1866 (propagated-inputs
1867 ;; Packages having mgl-pax as input complain that it can't find
1868 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1869 `(("swank" ,cl-slime-swank)))
1870 (synopsis "Exploratory programming environment and documentation generator")
1871 (description
1872 "PAX provides an extremely poor man's Explorable Programming
1873 environment. Narrative primarily lives in so called sections that mix markdown
1874 docstrings with references to functions, variables, etc, all of which should
1875 probably have their own docstrings.
1876
1877 The primary focus is on making code easily explorable by using SLIME's
1878 @command{M-.} (@command{slime-edit-definition}). See how to enable some
1879 fanciness in Emacs Integration. Generating documentation from sections and all
1880 the referenced items in Markdown or HTML format is also implemented.
1881
1882 With the simplistic tools provided, one may accomplish similar effects as with
1883 Literate Programming, but documentation is generated from code, not vice versa
1884 and there is no support for chunking yet. Code is first, code must look
1885 pretty, documentation is code.")
1886 (home-page "http://quotenil.com/")
1887 (license license:expat))))
1888
1889 (define-public cl-mgl-pax
1890 (sbcl-package->cl-source-package sbcl-mgl-pax))
1891
1892 (define-public ecl-mgl-pax
1893 (sbcl-package->ecl-package sbcl-mgl-pax))
1894
1895 (define-public sbcl-lisp-unit
1896 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1897 (package
1898 (name "sbcl-lisp-unit")
1899 (version (git-version "0.0.0" "1" commit))
1900 (source
1901 (origin
1902 (method git-fetch)
1903 (uri (git-reference
1904 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1905 (commit commit)))
1906 (sha256
1907 (base32
1908 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1909 (file-name (git-file-name "lisp-unit" version))))
1910 (build-system asdf-build-system/sbcl)
1911 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1912 (description
1913 "@command{lisp-unit} is a Common Lisp library that supports unit
1914 testing. It is an extension of the library written by Chris Riesbeck.")
1915 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1916 (license license:expat))))
1917
1918 (define-public cl-lisp-unit
1919 (sbcl-package->cl-source-package sbcl-lisp-unit))
1920
1921 (define-public ecl-lisp-unit
1922 (sbcl-package->ecl-package sbcl-lisp-unit))
1923
1924 (define-public sbcl-anaphora
1925 (package
1926 (name "sbcl-anaphora")
1927 (version "0.9.6")
1928 (source
1929 (origin
1930 (method git-fetch)
1931 (uri (git-reference
1932 (url "https://github.com/tokenrove/anaphora")
1933 (commit version)))
1934 (sha256
1935 (base32
1936 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1937 (file-name (git-file-name "anaphora" version))))
1938 (build-system asdf-build-system/sbcl)
1939 (native-inputs
1940 `(("rt" ,sbcl-rt)))
1941 (synopsis "The anaphoric macro collection from Hell")
1942 (description
1943 "Anaphora is the anaphoric macro collection from Hell: it includes many
1944 new fiends in addition to old friends like @command{aif} and
1945 @command{awhen}.")
1946 (home-page "https://github.com/tokenrove/anaphora")
1947 (license license:public-domain)))
1948
1949 (define-public cl-anaphora
1950 (sbcl-package->cl-source-package sbcl-anaphora))
1951
1952 (define-public ecl-anaphora
1953 (sbcl-package->ecl-package sbcl-anaphora))
1954
1955 (define-public sbcl-lift
1956 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1957 (package
1958 (name "sbcl-lift")
1959 (version (git-version "1.7.1" "1" commit))
1960 (source
1961 (origin
1962 (method git-fetch)
1963 (uri (git-reference
1964 (url "https://github.com/gwkkwg/lift")
1965 (commit commit)))
1966 (sha256
1967 (base32
1968 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1969 (file-name (git-file-name "lift" version))
1970 (modules '((guix build utils)))
1971 (snippet
1972 ;; Don't keep the bundled website
1973 `(begin
1974 (delete-file-recursively "website")
1975 #t))))
1976 (build-system asdf-build-system/sbcl)
1977 (arguments
1978 ;; The tests require a debugger, but we run with the debugger disabled.
1979 '(#:tests? #f))
1980 (synopsis "LIsp Framework for Testing")
1981 (description
1982 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1983 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1984 testcases are organized into hierarchical testsuites each of which can have
1985 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1986 supports randomized testing, benchmarking, profiling, and reporting.")
1987 (home-page "https://github.com/gwkkwg/lift")
1988 (license license:expat))))
1989
1990 (define-public cl-lift
1991 (sbcl-package->cl-source-package sbcl-lift))
1992
1993 (define-public ecl-lift
1994 (sbcl-package->ecl-package sbcl-lift))
1995
1996 (define-public sbcl-let-plus
1997 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1998 (package
1999 (name "sbcl-let-plus")
2000 (version (git-version "0.0.0" "1" commit))
2001 (source
2002 (origin
2003 (method git-fetch)
2004 (uri (git-reference
2005 (url "https://github.com/sharplispers/let-plus")
2006 (commit commit)))
2007 (sha256
2008 (base32
2009 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2010 (file-name (git-file-name "let-plus" version))))
2011 (build-system asdf-build-system/sbcl)
2012 (inputs
2013 `(("alexandria" ,sbcl-alexandria)
2014 ("anaphora" ,sbcl-anaphora)))
2015 (native-inputs
2016 `(("lift" ,sbcl-lift)))
2017 (synopsis "Destructuring extension of let*")
2018 (description
2019 "This library implements the let+ macro, which is a dectructuring
2020 extension of let*. It features:
2021
2022 @itemize
2023 @item Clean, consistent syntax and small implementation (less than 300 LOC,
2024 not counting tests)
2025 @item Placeholder macros allow editor hints and syntax highlighting
2026 @item @command{&ign} for ignored values (in forms where that makes sense)
2027 @item Very easy to extend
2028 @end itemize\n")
2029 (home-page "https://github.com/sharplispers/let-plus")
2030 (license license:boost1.0))))
2031
2032 (define-public cl-let-plus
2033 (sbcl-package->cl-source-package sbcl-let-plus))
2034
2035 (define-public ecl-let-plus
2036 (sbcl-package->ecl-package sbcl-let-plus))
2037
2038 (define-public sbcl-cl-colors
2039 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2040 (package
2041 (name "sbcl-cl-colors")
2042 (version (git-version "0.0.0" "1" commit))
2043 (source
2044 (origin
2045 (method git-fetch)
2046 (uri (git-reference
2047 (url "https://github.com/tpapp/cl-colors")
2048 (commit commit)))
2049 (sha256
2050 (base32
2051 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2052 (file-name (git-file-name "cl-colors" version))))
2053 (build-system asdf-build-system/sbcl)
2054 (inputs
2055 `(("alexandria" ,sbcl-alexandria)
2056 ("let-plus" ,sbcl-let-plus)))
2057 (synopsis "Simple color library for Common Lisp")
2058 (description
2059 "This is a very simple color library for Common Lisp, providing
2060
2061 @itemize
2062 @item Types for representing colors in HSV and RGB spaces.
2063 @item Simple conversion functions between the above types (and also
2064 hexadecimal representation for RGB).
2065 @item Some predefined colors (currently X11 color names – of course the
2066 library does not depend on X11).Because color in your terminal is nice.
2067 @end itemize
2068
2069 This library is no longer supported by its author.")
2070 (home-page "https://github.com/tpapp/cl-colors")
2071 (license license:boost1.0))))
2072
2073 (define-public cl-colors
2074 (sbcl-package->cl-source-package sbcl-cl-colors))
2075
2076 (define-public ecl-cl-colors
2077 (sbcl-package->ecl-package sbcl-cl-colors))
2078
2079 (define-public sbcl-cl-ansi-text
2080 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2081 (package
2082 (name "sbcl-cl-ansi-text")
2083 (version (git-version "1.0.0" "1" commit))
2084 (source
2085 (origin
2086 (method git-fetch)
2087 (uri (git-reference
2088 (url "https://github.com/pnathan/cl-ansi-text")
2089 (commit commit)))
2090 (sha256
2091 (base32
2092 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2093 (file-name (git-file-name "cl-ansi-text" version))))
2094 (build-system asdf-build-system/sbcl)
2095 (inputs
2096 `(("alexandria" ,sbcl-alexandria)
2097 ("cl-colors" ,sbcl-cl-colors)))
2098 (native-inputs
2099 `(("fiveam" ,sbcl-fiveam)))
2100 (synopsis "ANSI terminal color implementation for Common Lisp")
2101 (description
2102 "@command{cl-ansi-text} provides utilities which enable printing to an
2103 ANSI terminal with colored text. It provides the macro @command{with-color}
2104 which causes everything printed in the body to be displayed with the provided
2105 color. It further provides functions which will print the argument with the
2106 named color.")
2107 (home-page "https://github.com/pnathan/cl-ansi-text")
2108 (license license:llgpl))))
2109
2110 (define-public cl-ansi-text
2111 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2112
2113 (define-public ecl-cl-ansi-text
2114 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2115
2116 (define-public sbcl-prove-asdf
2117 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2118 (package
2119 (name "sbcl-prove-asdf")
2120 (version (git-version "1.0.0" "1" commit))
2121 (source
2122 (origin
2123 (method git-fetch)
2124 (uri (git-reference
2125 (url "https://github.com/fukamachi/prove")
2126 (commit commit)))
2127 (sha256
2128 (base32
2129 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2130 (file-name (git-file-name "prove" version))))
2131 (build-system asdf-build-system/sbcl)
2132 (arguments
2133 `(#:asd-file "prove-asdf.asd"))
2134 (synopsis "Test requirement for the Common Lisp 'prove' library")
2135 (description
2136 "Test requirement for the Common Lisp @command{prove} library.")
2137 (home-page "https://github.com/fukamachi/prove")
2138 (license license:expat))))
2139
2140 (define-public cl-prove-asdf
2141 (sbcl-package->cl-source-package sbcl-prove-asdf))
2142
2143 (define-public ecl-prove-asdf
2144 (sbcl-package->ecl-package sbcl-prove-asdf))
2145
2146 (define-public sbcl-prove
2147 (package
2148 (inherit sbcl-prove-asdf)
2149 (name "sbcl-prove")
2150 (inputs
2151 `(("alexandria" ,sbcl-alexandria)
2152 ("cl-ppcre" ,sbcl-cl-ppcre)
2153 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2154 (native-inputs
2155 `(("prove-asdf" ,sbcl-prove-asdf)))
2156 (arguments
2157 `(#:asd-file "prove.asd"))
2158 (synopsis "Yet another unit testing framework for Common Lisp")
2159 (description
2160 "This project was originally called @command{cl-test-more}.
2161 @command{prove} is yet another unit testing framework for Common Lisp. The
2162 advantages of @command{prove} are:
2163
2164 @itemize
2165 @item Various simple functions for testing and informative error messages
2166 @item ASDF integration
2167 @item Extensible test reporters
2168 @item Colorizes the report if it's available (note for SLIME)
2169 @item Reports test durations
2170 @end itemize\n")))
2171
2172 (define-public cl-prove
2173 (sbcl-package->cl-source-package sbcl-prove))
2174
2175 (define-public ecl-prove
2176 (sbcl-package->ecl-package sbcl-prove))
2177
2178 (define-public sbcl-proc-parse
2179 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2180 (package
2181 (name "sbcl-proc-parse")
2182 (version (git-version "0.0.0" "1" commit))
2183 (source
2184 (origin
2185 (method git-fetch)
2186 (uri (git-reference
2187 (url "https://github.com/fukamachi/proc-parse")
2188 (commit commit)))
2189 (sha256
2190 (base32
2191 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2192 (file-name (git-file-name "proc-parse" version))))
2193 (build-system asdf-build-system/sbcl)
2194 (inputs
2195 `(("alexandria" ,sbcl-alexandria)
2196 ("babel" ,sbcl-babel)))
2197 (native-inputs
2198 `(("prove" ,sbcl-prove)
2199 ("prove-asdf" ,sbcl-prove-asdf)))
2200 (arguments
2201 ;; TODO: Tests don't find "proc-parse-test", why?
2202 `(#:tests? #f))
2203 (synopsis "Procedural vector parser")
2204 (description
2205 "This is a string/octets parser library for Common Lisp with speed and
2206 readability in mind. Unlike other libraries, the code is not a
2207 pattern-matching-like, but a char-by-char procedural parser.")
2208 (home-page "https://github.com/fukamachi/proc-parse")
2209 (license license:bsd-2))))
2210
2211 (define-public cl-proc-parse
2212 (sbcl-package->cl-source-package sbcl-proc-parse))
2213
2214 (define-public ecl-proc-parse
2215 (sbcl-package->ecl-package sbcl-proc-parse))
2216
2217 (define-public sbcl-parse-float
2218 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2219 (package
2220 (name "sbcl-parse-float")
2221 (version (git-version "0.0.0" "1" commit))
2222 (source
2223 (origin
2224 (method git-fetch)
2225 (uri (git-reference
2226 (url "https://github.com/soemraws/parse-float")
2227 (commit commit)))
2228 (sha256
2229 (base32
2230 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2231 (file-name (git-file-name "proc-parse" version))))
2232 (build-system asdf-build-system/sbcl)
2233 (inputs
2234 `(("alexandria" ,sbcl-alexandria)
2235 ("babel" ,sbcl-babel)))
2236 (native-inputs
2237 `(("prove" ,sbcl-prove)
2238 ("prove-asdf" ,sbcl-prove-asdf)))
2239 (arguments
2240 ;; TODO: Tests don't find "proc-parse-test", why?
2241 `(#:tests? #f))
2242 (synopsis "Parse a floating point value from a string in Common Lisp")
2243 (description
2244 "This package exports the following function to parse floating-point
2245 values from a string in Common Lisp.")
2246 (home-page "https://github.com/soemraws/parse-float")
2247 (license license:public-domain))))
2248
2249 (define-public cl-parse-float
2250 (sbcl-package->cl-source-package sbcl-parse-float))
2251
2252 (define-public ecl-parse-float
2253 (sbcl-package->ecl-package sbcl-parse-float))
2254
2255 (define-public sbcl-ascii-strings
2256 (let ((revision "1")
2257 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2258 (package
2259 (name "sbcl-ascii-strings")
2260 (version (string-append "0-" revision "." (string-take changeset 7)))
2261 (source
2262 (origin
2263 (method hg-fetch)
2264 (uri (hg-reference
2265 (url "https://bitbucket.org/vityok/cl-string-match/")
2266 (changeset changeset)))
2267 (sha256
2268 (base32
2269 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2270 (file-name (git-file-name "cl-string-match" version))))
2271 (build-system asdf-build-system/sbcl)
2272 (inputs
2273 `(("alexandria" ,sbcl-alexandria)
2274 ("babel" ,sbcl-babel)))
2275 (arguments
2276 `(#:asd-file "ascii-strings.asd"))
2277 (synopsis "Operations on ASCII strings")
2278 (description
2279 "Operations on ASCII strings. Essentially this can be any kind of
2280 single-byte encoded strings.")
2281 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2282 (license license:bsd-3))))
2283
2284 (define-public cl-ascii-strings
2285 (sbcl-package->cl-source-package sbcl-ascii-strings))
2286
2287 (define-public ecl-ascii-strings
2288 (sbcl-package->ecl-package sbcl-ascii-strings))
2289
2290 (define-public sbcl-simple-scanf
2291 (package
2292 (inherit sbcl-ascii-strings)
2293 (name "sbcl-simple-scanf")
2294 (inputs
2295 `(("alexandria" ,sbcl-alexandria)
2296 ("iterate" ,sbcl-iterate)
2297 ("proc-parse" ,sbcl-proc-parse)
2298 ("parse-float" ,sbcl-parse-float)))
2299 (arguments
2300 `(#:asd-file "simple-scanf.asd"))
2301 (synopsis "Simple scanf-like functionality implementation")
2302 (description
2303 "A simple scanf-like functionality implementation.")))
2304
2305 (define-public cl-simple-scanf
2306 (sbcl-package->cl-source-package sbcl-simple-scanf))
2307
2308 (define-public ecl-simple-scanf
2309 (sbcl-package->ecl-package sbcl-simple-scanf))
2310
2311 (define-public sbcl-cl-string-match
2312 (package
2313 (inherit sbcl-ascii-strings)
2314 (name "sbcl-cl-string-match")
2315 (inputs
2316 `(("alexandria" ,sbcl-alexandria)
2317 ("ascii-strings" ,sbcl-ascii-strings)
2318 ("yacc" ,sbcl-cl-yacc)
2319 ("jpl-util" ,sbcl-jpl-util)
2320 ("jpl-queues" ,sbcl-jpl-queues)
2321 ("mgl-pax" ,sbcl-mgl-pax)
2322 ("iterate" ,sbcl-iterate)))
2323 ;; TODO: Tests are not evaluated properly.
2324 (native-inputs
2325 ;; For testing:
2326 `(("lisp-unit" ,sbcl-lisp-unit)
2327 ("simple-scanf" ,sbcl-simple-scanf)))
2328 (arguments
2329 `(#:tests? #f
2330 #:asd-file "cl-string-match.asd"))
2331 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2332 (description
2333 "@command{cl-strings} is a small, portable, dependency-free set of
2334 utilities that make it even easier to manipulate text in Common Lisp. It has
2335 100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2336
2337 (define-public cl-string-match
2338 (sbcl-package->cl-source-package sbcl-cl-string-match))
2339
2340 (define-public ecl-cl-string-match
2341 (sbcl-package->ecl-package sbcl-cl-string-match))
2342
2343 (define-public sbcl-ptester
2344 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2345 (revision "1"))
2346 (package
2347 (name "sbcl-ptester")
2348 (version (git-version "2.1.3" revision commit))
2349 (source
2350 (origin
2351 (method git-fetch)
2352 (uri (git-reference
2353 (url "http://git.kpe.io/ptester.git")
2354 (commit commit)))
2355 (file-name (git-file-name name version))
2356 (sha256
2357 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2358 (build-system asdf-build-system/sbcl)
2359 (home-page "http://quickdocs.org/ptester/")
2360 (synopsis "Portable test harness package")
2361 (description
2362 "@command{ptester} is a portable testing framework based on Franz's
2363 tester module.")
2364 (license license:llgpl))))
2365
2366 (define-public cl-ptester
2367 (sbcl-package->cl-source-package sbcl-ptester))
2368
2369 (define-public ecl-ptester
2370 (sbcl-package->ecl-package sbcl-ptester))
2371
2372 (define-public sbcl-puri
2373 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2374 (revision "1"))
2375 (package
2376 (name "sbcl-puri")
2377 (version (git-version "1.5.7" revision commit))
2378 (source
2379 (origin
2380 (method git-fetch)
2381 (uri (git-reference
2382 (url "http://git.kpe.io/puri.git")
2383 (commit commit)))
2384 (file-name (git-file-name name version))
2385 (sha256
2386 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2387 (build-system asdf-build-system/sbcl)
2388 (native-inputs
2389 `(("ptester" ,sbcl-ptester)))
2390 (home-page "http://quickdocs.org/puri/")
2391 (synopsis "Portable URI Library")
2392 (description
2393 "This is a portable Universal Resource Identifier library for Common
2394 Lisp programs. It parses URI according to the RFC 2396 specification.")
2395 (license license:llgpl))))
2396
2397 (define-public cl-puri
2398 (sbcl-package->cl-source-package sbcl-puri))
2399
2400 (define-public ecl-puri
2401 (sbcl-package->ecl-package sbcl-puri))
2402
2403 (define-public sbcl-queues
2404 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2405 (package
2406 (name "sbcl-queues")
2407 (version (git-version "0.0.0" "1" commit))
2408 (source
2409 (origin
2410 (method git-fetch)
2411 (uri (git-reference
2412 (url "https://github.com/oconnore/queues")
2413 (commit commit)))
2414 (file-name (git-file-name "queues" version))
2415 (sha256
2416 (base32
2417 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2418 (build-system asdf-build-system/sbcl)
2419 (home-page "https://github.com/oconnore/queues")
2420 (synopsis "Common Lisp queue library")
2421 (description
2422 "This is a simple queue library for Common Lisp with features such as
2423 non-consing thread safe queues and fibonacci priority queues.")
2424 (license license:expat))))
2425
2426 (define-public cl-queues
2427 (sbcl-package->cl-source-package sbcl-queues))
2428
2429 (define-public ecl-queues
2430 (sbcl-package->ecl-package sbcl-queues))
2431
2432 (define-public sbcl-queues.simple-queue
2433 (package
2434 (inherit sbcl-queues)
2435 (name "sbcl-queues.simple-queue")
2436 (inputs
2437 `(("sbcl-queues" ,sbcl-queues)))
2438 (arguments
2439 `(#:asd-file "queues.simple-queue.asd"))
2440 (synopsis "Simple queue implementation")
2441 (description
2442 "This is a simple queue library for Common Lisp with features such as
2443 non-consing thread safe queues and fibonacci priority queues.")
2444 (license license:expat)))
2445
2446 (define-public cl-queues.simple-queue
2447 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2448
2449 (define-public ecl-queues.simple-queue
2450 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2451
2452 (define-public sbcl-queues.simple-cqueue
2453 (package
2454 (inherit sbcl-queues)
2455 (name "sbcl-queues.simple-cqueue")
2456 (inputs
2457 `(("sbcl-queues" ,sbcl-queues)
2458 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2459 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2460 (arguments
2461 `(#:asd-file "queues.simple-cqueue.asd"))
2462 (synopsis "Thread safe queue implementation")
2463 (description
2464 "This is a simple queue library for Common Lisp with features such as
2465 non-consing thread safe queues and fibonacci priority queues.")
2466 (license license:expat)))
2467
2468 (define-public cl-queues.simple-cqueue
2469 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2470
2471 (define-public ecl-queues.simple-cqueue
2472 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2473
2474 (define-public sbcl-queues.priority-queue
2475 (package
2476 (inherit sbcl-queues)
2477 (name "sbcl-queues.priority-queue")
2478 (inputs
2479 `(("sbcl-queues" ,sbcl-queues)))
2480 (arguments
2481 `(#:asd-file "queues.priority-queue.asd"))
2482 (synopsis "Priority queue (Fibonacci) implementation")
2483 (description
2484 "This is a simple queue library for Common Lisp with features such as
2485 non-consing thread safe queues and fibonacci priority queues.")
2486 (license license:expat)))
2487
2488 (define-public cl-queues.priority-queue
2489 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2490
2491 (define-public ecl-queues.priority-queue
2492 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2493
2494 (define-public sbcl-queues.priority-cqueue
2495 (package
2496 (inherit sbcl-queues)
2497 (name "sbcl-queues.priority-cqueue")
2498 (inputs
2499 `(("sbcl-queues" ,sbcl-queues)
2500 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2501 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2502 (arguments
2503 `(#:asd-file "queues.priority-cqueue.asd"))
2504 (synopsis "Thread safe fibonacci priority queue implementation")
2505 (description
2506 "This is a simple queue library for Common Lisp with features such as
2507 non-consing thread safe queues and fibonacci priority queues.")
2508 (license license:expat)))
2509
2510 (define-public cl-queues.priority-cqueue
2511 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2512
2513 (define-public ecl-queues.priority-cqueue
2514 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2515
2516 (define sbcl-cffi-bootstrap
2517 (package
2518 (name "sbcl-cffi-bootstrap")
2519 (version "0.21.0")
2520 (source
2521 (origin
2522 (method git-fetch)
2523 (uri (git-reference
2524 (url "https://github.com/cffi/cffi")
2525 (commit (string-append "v" version))))
2526 (file-name (git-file-name "cffi-bootstrap" version))
2527 (sha256
2528 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
2529 (build-system asdf-build-system/sbcl)
2530 (inputs
2531 `(("libffi" ,libffi)
2532 ("alexandria" ,sbcl-alexandria)
2533 ("babel" ,sbcl-babel)
2534 ("trivial-features" ,sbcl-trivial-features)))
2535 (native-inputs
2536 `(("pkg-config" ,pkg-config)))
2537 (arguments
2538 '(#:phases
2539 (modify-phases %standard-phases
2540 (add-after 'unpack 'fix-paths
2541 (lambda* (#:key inputs #:allow-other-keys)
2542 (substitute* "libffi/libffi.lisp"
2543 (("libffi.so.7" all) (string-append
2544 (assoc-ref inputs "libffi")
2545 "/lib/" all)))
2546 (substitute* "toolchain/c-toolchain.lisp"
2547 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2548 #:asd-system-name "cffi"
2549 #:tests? #f))
2550 (home-page "https://common-lisp.net/project/cffi/")
2551 (synopsis "Common Foreign Function Interface for Common Lisp")
2552 (description "The Common Foreign Function Interface (CFFI)
2553 purports to be a portable foreign function interface for Common Lisp.
2554 The CFFI library is composed of a Lisp-implementation-specific backend
2555 in the CFFI-SYS package, and a portable frontend in the CFFI
2556 package.")
2557 (license license:expat)))
2558
2559 (define-public sbcl-cffi-toolchain
2560 (package
2561 (inherit sbcl-cffi-bootstrap)
2562 (name "sbcl-cffi-toolchain")
2563 (inputs
2564 `(("libffi" ,libffi)
2565 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2566 (arguments
2567 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2568 ((#:asd-system-name _) #f)
2569 ((#:tests? _) #t)))))
2570
2571 (define-public sbcl-cffi-libffi
2572 (package
2573 (inherit sbcl-cffi-toolchain)
2574 (name "sbcl-cffi-libffi")
2575 (inputs
2576 `(("cffi" ,sbcl-cffi-bootstrap)
2577 ("cffi-grovel" ,sbcl-cffi-grovel)
2578 ("trivial-features" ,sbcl-trivial-features)
2579 ("libffi" ,libffi)))))
2580
2581 (define-public sbcl-cffi-grovel
2582 (package
2583 (inherit sbcl-cffi-toolchain)
2584 (name "sbcl-cffi-grovel")
2585 (inputs
2586 `(("libffi" ,libffi)
2587 ("cffi" ,sbcl-cffi-bootstrap)
2588 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2589 ("alexandria" ,sbcl-alexandria)))
2590 (arguments
2591 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2592 ((#:phases phases)
2593 `(modify-phases ,phases
2594 (add-after 'build 'install-headers
2595 (lambda* (#:key outputs #:allow-other-keys)
2596 (install-file "grovel/common.h"
2597 (string-append
2598 (assoc-ref outputs "out")
2599 "/include/grovel"))))))))))
2600
2601 (define-public sbcl-cffi
2602 (package
2603 (inherit sbcl-cffi-toolchain)
2604 (name "sbcl-cffi")
2605 (inputs (package-inputs sbcl-cffi-bootstrap))
2606 (native-inputs
2607 `(("cffi-grovel" ,sbcl-cffi-grovel)
2608 ("cffi-libffi" ,sbcl-cffi-libffi)
2609 ("rt" ,sbcl-rt)
2610 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2611 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2612
2613 (define-public cl-cffi
2614 (sbcl-package->cl-source-package sbcl-cffi))
2615
2616 (define-public sbcl-cffi-uffi-compat
2617 (package
2618 (inherit sbcl-cffi-toolchain)
2619 (name "sbcl-cffi-uffi-compat")
2620 (native-inputs
2621 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2622 (inputs
2623 `(("cffi" ,sbcl-cffi)))
2624 (synopsis "UFFI Compatibility Layer for CFFI")))
2625
2626 (define-public cl-cffi-uffi-compat
2627 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2628
2629 (define-public sbcl-cl-sqlite
2630 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2631 (package
2632 (name "sbcl-cl-sqlite")
2633 (version (git-version "0.2" "1" commit))
2634 (source
2635 (origin
2636 (method git-fetch)
2637 (uri (git-reference
2638 (url "https://github.com/dmitryvk/cl-sqlite")
2639 (commit commit)))
2640 (file-name (git-file-name "cl-sqlite" version))
2641 (sha256
2642 (base32
2643 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2644 (build-system asdf-build-system/sbcl)
2645 (inputs
2646 `(("iterate" ,sbcl-iterate)
2647 ("cffi" ,sbcl-cffi)
2648 ("sqlite" ,sqlite)))
2649 (native-inputs
2650 `(("fiveam" ,sbcl-fiveam)
2651 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2652 (arguments
2653 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2654 #:asd-file "sqlite.asd"
2655 #:asd-system-name "sqlite"
2656 #:phases
2657 (modify-phases %standard-phases
2658 (add-after 'unpack 'fix-paths
2659 (lambda* (#:key inputs #:allow-other-keys)
2660 (substitute* "sqlite-ffi.lisp"
2661 (("libsqlite3" all) (string-append
2662 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2663 (home-page "https://common-lisp.net/project/cl-sqlite/")
2664 (synopsis "Common Lisp binding for SQLite")
2665 (description
2666 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2667 relational database engine.")
2668 (license license:public-domain))))
2669
2670 (define-public cl-sqlite
2671 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2672
2673 (define-public sbcl-parenscript
2674 ;; Source archives are overwritten on every release, we use the Git repo instead.
2675 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
2676 (package
2677 (name "sbcl-parenscript")
2678 (version (git-version "2.7.1" "1" commit))
2679 (source
2680 (origin
2681 (method git-fetch)
2682 (uri (git-reference
2683 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2684 (commit commit)))
2685 (file-name (git-file-name "parenscript" version))
2686 (sha256
2687 (base32
2688 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
2689 (build-system asdf-build-system/sbcl)
2690 (inputs
2691 `(("cl-ppcre" ,sbcl-cl-ppcre)
2692 ("anaphora" ,sbcl-anaphora)
2693 ("named-readtables" ,sbcl-named-readtables)))
2694 (home-page "https://common-lisp.net/project/parenscript/")
2695 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2696 (description
2697 "Parenscript is a translator from an extended subset of Common Lisp to
2698 JavaScript. Parenscript code can run almost identically on both the
2699 browser (as JavaScript) and server (as Common Lisp).
2700
2701 Parenscript code is treated the same way as Common Lisp code, making the full
2702 power of Lisp macros available for JavaScript. This provides a web
2703 development environment that is unmatched in its ability to reduce code
2704 duplication and provide advanced meta-programming facilities to web
2705 developers.
2706
2707 At the same time, Parenscript is different from almost all other \"language
2708 X\" to JavaScript translators in that it imposes almost no overhead:
2709
2710 @itemize
2711 @item No run-time dependencies: Any piece of Parenscript code is runnable
2712 as-is. There are no JavaScript files to include.
2713 @item Native types: Parenscript works entirely with native JavaScript data
2714 types. There are no new types introduced, and object prototypes are not
2715 touched.
2716 @item Native calling convention: Any JavaScript code can be called without the
2717 need for bindings. Likewise, Parenscript can be used to make efficient,
2718 self-contained JavaScript libraries.
2719 @item Readable code: Parenscript generates concise, formatted, idiomatic
2720 JavaScript code. Identifier names are preserved. This enables seamless
2721 debugging in tools like Firebug.
2722 @item Efficiency: Parenscript introduces minimal overhead for advanced Common
2723 Lisp features. The generated code is almost as fast as hand-written
2724 JavaScript.
2725 @end itemize\n")
2726 (license license:bsd-3))))
2727
2728 (define-public cl-parenscript
2729 (sbcl-package->cl-source-package sbcl-parenscript))
2730
2731 (define-public ecl-parenscript
2732 (sbcl-package->ecl-package sbcl-parenscript))
2733
2734 (define-public sbcl-cl-json
2735 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2736 (package
2737 (name "sbcl-cl-json")
2738 (version (git-version "0.5" "1" commit))
2739 (source
2740 (origin
2741 (method git-fetch)
2742 (uri (git-reference
2743 (url "https://github.com/hankhero/cl-json")
2744 (commit commit)))
2745 (file-name (git-file-name "cl-json" version))
2746 (sha256
2747 (base32
2748 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2749 (build-system asdf-build-system/sbcl)
2750 (native-inputs
2751 `(("fiveam" ,sbcl-fiveam)))
2752 (home-page "https://github.com/hankhero/cl-json")
2753 (synopsis "JSON encoder and decoder for Common-Lisp")
2754 (description
2755 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2756 and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2757 and the decoder are highly customizable; at the same time, the default
2758 settings ensure a very simple mode of operation, similar to that provided by
2759 @command{yason} or @command{st-json}.")
2760 (license license:expat))))
2761
2762 (define-public cl-json
2763 (sbcl-package->cl-source-package sbcl-cl-json))
2764
2765 (define-public ecl-cl-json
2766 (sbcl-package->ecl-package sbcl-cl-json))
2767
2768 (define-public sbcl-unix-opts
2769 (package
2770 (name "sbcl-unix-opts")
2771 (version "0.1.7")
2772 (source
2773 (origin
2774 (method git-fetch)
2775 (uri (git-reference
2776 (url "https://github.com/libre-man/unix-opts")
2777 (commit version)))
2778 (file-name (git-file-name "unix-opts" version))
2779 (sha256
2780 (base32
2781 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2782 (build-system asdf-build-system/sbcl)
2783 (home-page "https://github.com/hankhero/cl-json")
2784 (synopsis "Unix-style command line options parser")
2785 (description
2786 "This is a minimalistic parser of command line options. The main
2787 advantage of the library is the ability to concisely define command line
2788 options once and then use this definition for parsing and extraction of
2789 command line arguments, as well as printing description of command line
2790 options (you get --help for free). This way you don't need to repeat
2791 yourself. Also, @command{unix-opts} doesn't depend on anything and
2792 precisely controls the behavior of the parser via Common Lisp restarts.")
2793 (license license:expat)))
2794
2795 (define-public cl-unix-opts
2796 (sbcl-package->cl-source-package sbcl-unix-opts))
2797
2798 (define-public ecl-unix-opts
2799 (sbcl-package->ecl-package sbcl-unix-opts))
2800
2801 (define-public sbcl-trivial-garbage
2802 (package
2803 (name "sbcl-trivial-garbage")
2804 (version "0.21")
2805 (source
2806 (origin
2807 (method git-fetch)
2808 (uri (git-reference
2809 (url "https://github.com/trivial-garbage/trivial-garbage")
2810 (commit (string-append "v" version))))
2811 (file-name (git-file-name "trivial-garbage" version))
2812 (sha256
2813 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2814 (build-system asdf-build-system/sbcl)
2815 (native-inputs
2816 `(("rt" ,sbcl-rt)))
2817 (home-page "https://common-lisp.net/project/trivial-garbage/")
2818 (synopsis "Portable GC-related APIs for Common Lisp")
2819 (description "@command{trivial-garbage} provides a portable API to
2820 finalizers, weak hash-tables and weak pointers on all major implementations of
2821 the Common Lisp programming language.")
2822 (license license:public-domain)))
2823
2824 (define-public cl-trivial-garbage
2825 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2826
2827 (define-public ecl-trivial-garbage
2828 (sbcl-package->ecl-package sbcl-trivial-garbage))
2829
2830 (define-public sbcl-closer-mop
2831 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
2832 (package
2833 (name "sbcl-closer-mop")
2834 (version (git-version "1.0.0" "2" commit))
2835 (source
2836 (origin
2837 (method git-fetch)
2838 (uri (git-reference
2839 (url "https://github.com/pcostanza/closer-mop")
2840 (commit commit)))
2841 (sha256
2842 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
2843 (file-name (git-file-name "closer-mop" version ))))
2844 (build-system asdf-build-system/sbcl)
2845 (home-page "https://github.com/pcostanza/closer-mop")
2846 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2847 (description "Closer to MOP is a compatibility layer that rectifies many
2848 of the absent or incorrect CLOS MOP features across a broad range of Common
2849 Lisp implementations.")
2850 (license license:expat))))
2851
2852 (define-public cl-closer-mop
2853 (sbcl-package->cl-source-package sbcl-closer-mop))
2854
2855 (define-public ecl-closer-mop
2856 (sbcl-package->ecl-package sbcl-closer-mop))
2857
2858 (define sbcl-cl-cffi-gtk-boot0
2859 (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4"))
2860 (package
2861 (name "sbcl-cl-cffi-gtk-boot0")
2862 (version (git-version "0.11.2" "1" commit))
2863 (source
2864 (origin
2865 (method git-fetch)
2866 (uri (git-reference
2867 (url "https://github.com/Ferada/cl-cffi-gtk/")
2868 (commit commit)))
2869 (file-name (git-file-name "cl-cffi-gtk" version))
2870 (sha256
2871 (base32
2872 "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn"))))
2873 (build-system asdf-build-system/sbcl)
2874 (inputs
2875 `(("iterate" ,sbcl-iterate)
2876 ("cffi" ,sbcl-cffi)
2877 ("trivial-features" ,sbcl-trivial-features)
2878 ("glib" ,glib)
2879 ("cairo" ,cairo)
2880 ("pango" ,pango)
2881 ("gdk-pixbuf" ,gdk-pixbuf)
2882 ("gtk" ,gtk+)))
2883 (arguments
2884 `(#:phases
2885 (modify-phases %standard-phases
2886 (add-after 'unpack 'fix-paths
2887 (lambda* (#:key inputs #:allow-other-keys)
2888 (substitute* "glib/glib.init.lisp"
2889 (("libglib|libgthread" all)
2890 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2891 (substitute* "gobject/gobject.init.lisp"
2892 (("libgobject" all)
2893 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2894 (substitute* "gio/gio.init.lisp"
2895 (("libgio" all)
2896 (string-append (assoc-ref inputs "glib") "/lib/" all)))
2897 (substitute* "cairo/cairo.init.lisp"
2898 (("libcairo" all)
2899 (string-append (assoc-ref inputs "cairo") "/lib/" all)))
2900 (substitute* "pango/pango.init.lisp"
2901 (("libpango" all)
2902 (string-append (assoc-ref inputs "pango") "/lib/" all)))
2903 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2904 (("libgdk_pixbuf" all)
2905 (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))
2906 (substitute* "gdk/gdk.init.lisp"
2907 (("libgdk" all)
2908 (string-append (assoc-ref inputs "gtk") "/lib/" all)))
2909 (substitute* "gdk/gdk.package.lisp"
2910 (("libgtk" all)
2911 (string-append (assoc-ref inputs "gtk") "/lib/" all))))))))
2912 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2913 (synopsis "Common Lisp binding for GTK+3")
2914 (description
2915 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2916 is a library for creating graphical user interfaces.")
2917 (license license:lgpl3))))
2918
2919 (define-public sbcl-cl-cffi-gtk-glib
2920 (package
2921 (inherit sbcl-cl-cffi-gtk-boot0)
2922 (name "sbcl-cl-cffi-gtk-glib")
2923 (inputs
2924 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
2925 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2926 (arguments
2927 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2928 ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd")))))
2929
2930 (define-public sbcl-cl-cffi-gtk-gobject
2931 (package
2932 (inherit sbcl-cl-cffi-gtk-boot0)
2933 (name "sbcl-cl-cffi-gtk-gobject")
2934 (inputs
2935 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2936 ("trivial-garbage" ,sbcl-trivial-garbage)
2937 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2938 ("closer-mop" ,sbcl-closer-mop)
2939 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2940 (arguments
2941 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2942 ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd")
2943 ((#:phases phases)
2944 `(modify-phases ,phases
2945 (add-after 'install 'link-source
2946 ;; Since source is particularly heavy (16MiB+), let's reuse it
2947 ;; across the different components of cl-ffi-gtk.
2948 (lambda* (#:key inputs outputs #:allow-other-keys)
2949 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2950 "/share/common-lisp/sbcl-source/"
2951 "cl-cffi-gtk-glib"))
2952 (out-source (string-append (assoc-ref outputs "out")
2953 "/share/common-lisp/sbcl-source/"
2954 "cl-cffi-gtk-gobject")))
2955 (delete-file-recursively out-source)
2956 (symlink glib-source out-source)
2957 #t)))))))))
2958
2959 (define-public sbcl-cl-cffi-gtk-gio
2960 (package
2961 (inherit sbcl-cl-cffi-gtk-boot0)
2962 (name "sbcl-cl-cffi-gtk-gio")
2963 (inputs
2964 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2965 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2966 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2967 (arguments
2968 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2969 ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd")
2970 ((#:phases phases)
2971 `(modify-phases ,phases
2972 (add-after 'install 'link-source
2973 ;; Since source is particularly heavy (16MiB+), let's reuse it
2974 ;; across the different components of cl-ffi-gtk.
2975 (lambda* (#:key inputs outputs #:allow-other-keys)
2976 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2977 "/share/common-lisp/sbcl-source/"
2978 "cl-cffi-gtk-glib"))
2979 (out-source (string-append (assoc-ref outputs "out")
2980 "/share/common-lisp/sbcl-source/"
2981 "cl-cffi-gtk-gio")))
2982 (delete-file-recursively out-source)
2983 (symlink glib-source out-source)
2984 #t)))))))))
2985
2986 (define-public sbcl-cl-cffi-gtk-cairo
2987 (package
2988 (inherit sbcl-cl-cffi-gtk-boot0)
2989 (name "sbcl-cl-cffi-gtk-cairo")
2990 (inputs
2991 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2992 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2993 (arguments
2994 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
2995 ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd")
2996 ((#:phases phases)
2997 `(modify-phases ,phases
2998 (add-after 'install 'link-source
2999 ;; Since source is particularly heavy (16MiB+), let's reuse it
3000 ;; across the different components of cl-ffi-gtk.
3001 (lambda* (#:key inputs outputs #:allow-other-keys)
3002 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3003 "/share/common-lisp/sbcl-source/"
3004 "cl-cffi-gtk-glib"))
3005 (out-source (string-append (assoc-ref outputs "out")
3006 "/share/common-lisp/sbcl-source/"
3007 "cl-cffi-gtk-cairo")))
3008 (delete-file-recursively out-source)
3009 (symlink glib-source out-source)
3010 #t)))))))))
3011
3012 (define-public sbcl-cl-cffi-gtk-pango
3013 (package
3014 (inherit sbcl-cl-cffi-gtk-boot0)
3015 (name "sbcl-cl-cffi-gtk-pango")
3016 (inputs
3017 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3018 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3019 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3020 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3021 (arguments
3022 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3023 ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd")
3024 ((#:phases phases)
3025 `(modify-phases ,phases
3026 (add-after 'install 'link-source
3027 ;; Since source is particularly heavy (16MiB+), let's reuse it
3028 ;; across the different components of cl-ffi-gtk.
3029 (lambda* (#:key inputs outputs #:allow-other-keys)
3030 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3031 "/share/common-lisp/sbcl-source/"
3032 "cl-cffi-gtk-glib"))
3033 (out-source (string-append (assoc-ref outputs "out")
3034 "/share/common-lisp/sbcl-source/"
3035 "cl-cffi-gtk-pango")))
3036 (delete-file-recursively out-source)
3037 (symlink glib-source out-source)
3038 #t)))))))))
3039
3040 (define-public sbcl-cl-cffi-gtk-gdk-pixbuf
3041 (package
3042 (inherit sbcl-cl-cffi-gtk-boot0)
3043 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
3044 (inputs
3045 `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3046 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3047 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3048 (arguments
3049 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3050 ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd")
3051 ((#:phases phases)
3052 `(modify-phases ,phases
3053 (add-after 'install 'link-source
3054 ;; Since source is particularly heavy (16MiB+), let's reuse it
3055 ;; across the different components of cl-ffi-gtk.
3056 (lambda* (#:key inputs outputs #:allow-other-keys)
3057 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3058 "/share/common-lisp/sbcl-source/"
3059 "cl-cffi-gtk-glib"))
3060 (out-source (string-append (assoc-ref outputs "out")
3061 "/share/common-lisp/sbcl-source/"
3062 "cl-cffi-gtk-gdk-pixbuf")))
3063 (delete-file-recursively out-source)
3064 (symlink glib-source out-source)
3065 #t)))))))))
3066
3067 (define-public sbcl-cl-cffi-gtk-gdk
3068 (package
3069 (inherit sbcl-cl-cffi-gtk-boot0)
3070 (name "sbcl-cl-cffi-gtk-gdk")
3071 (inputs
3072 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3073 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3074 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3075 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3076 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3077 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3078 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3079 (arguments
3080 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3081 ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd")
3082 ((#:phases phases)
3083 `(modify-phases ,phases
3084 (add-after 'install 'link-source
3085 ;; Since source is particularly heavy (16MiB+), let's reuse it
3086 ;; across the different components of cl-ffi-gtk.
3087 (lambda* (#:key inputs outputs #:allow-other-keys)
3088 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3089 "/share/common-lisp/sbcl-source/"
3090 "cl-cffi-gtk-glib"))
3091 (out-source (string-append (assoc-ref outputs "out")
3092 "/share/common-lisp/sbcl-source/"
3093 "cl-cffi-gtk-gdk")))
3094 (delete-file-recursively out-source)
3095 (symlink glib-source out-source)
3096 #t)))))))))
3097
3098 (define-public sbcl-cl-cffi-gtk
3099 (package
3100 (inherit sbcl-cl-cffi-gtk-boot0)
3101 (name "sbcl-cl-cffi-gtk")
3102 (inputs
3103 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3104 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3105 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3106 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3107 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3108 (native-inputs
3109 `(("fiveam" ,sbcl-fiveam)))
3110 (arguments
3111 (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0)
3112 ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd")
3113 ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd")
3114 ;; TODO: Tests fail with memory fault.
3115 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3116 ((#:tests? _ #f) #f)
3117 ((#:phases phases)
3118 `(modify-phases ,phases
3119 (add-after 'install 'link-source
3120 ;; Since source is particularly heavy (16MiB+), let's reuse it
3121 ;; across the different components of cl-ffi-gtk.
3122 (lambda* (#:key inputs outputs #:allow-other-keys)
3123 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3124 "/share/common-lisp/sbcl-source/"
3125 "cl-cffi-gtk-glib"))
3126 (out-source (string-append (assoc-ref outputs "out")
3127 "/share/common-lisp/sbcl-source/"
3128 "cl-cffi-gtk")))
3129 (delete-file-recursively out-source)
3130 (symlink glib-source out-source)
3131 #t)))))))))
3132
3133 (define-public cl-cffi-gtk
3134 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3135
3136 (define-public sbcl-cl-webkit
3137 (let ((commit "6c905a5550b58a5b7602da5a087d7dafc5337122"))
3138 (package
3139 (name "sbcl-cl-webkit")
3140 (version (git-version "2.4" "4" commit))
3141 (source
3142 (origin
3143 (method git-fetch)
3144 (uri (git-reference
3145 (url "https://github.com/joachifm/cl-webkit")
3146 (commit commit)))
3147 (file-name (git-file-name "cl-webkit" version))
3148 (sha256
3149 (base32
3150 "0017ijjflqqbgbj5bf7ffkyw5idhxc0ggly2qh5igf3kz886p9rh"))))
3151 (build-system asdf-build-system/sbcl)
3152 (inputs
3153 `(("cffi" ,sbcl-cffi)
3154 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3155 ("webkitgtk" ,webkitgtk)))
3156 (arguments
3157 `(#:asd-file "webkit2/cl-webkit2.asd"
3158 #:asd-system-name "cl-webkit2"
3159 #:phases
3160 (modify-phases %standard-phases
3161 (add-after 'unpack 'fix-paths
3162 (lambda* (#:key inputs #:allow-other-keys)
3163 (substitute* "webkit2/webkit2.init.lisp"
3164 (("libwebkit2gtk" all)
3165 (string-append
3166 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3167 (home-page "https://github.com/joachifm/cl-webkit")
3168 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3169 (description
3170 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3171 currently targeting WebKit version 2. The WebKitGTK+ library adds web
3172 browsing capabilities to an application, leveraging the full power of the
3173 WebKit browsing engine.")
3174 (license license:expat))))
3175
3176 (define-public cl-webkit
3177 (sbcl-package->cl-source-package sbcl-cl-webkit))
3178
3179 (define-public sbcl-lparallel
3180 (package
3181 (name "sbcl-lparallel")
3182 (version "2.8.4")
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/lmj/lparallel/")
3188 (commit (string-append "lparallel-" version))))
3189 (file-name (git-file-name "lparallel" version))
3190 (sha256
3191 (base32
3192 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3193 (build-system asdf-build-system/sbcl)
3194 (inputs
3195 `(("alexandria" ,sbcl-alexandria)
3196 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3197 ("trivial-garbage" ,sbcl-trivial-garbage)))
3198 (arguments
3199 `(#:phases
3200 (modify-phases %standard-phases
3201 (add-after 'unpack 'fix-dependency
3202 ;; lparallel loads a SBCL specific system in its asd file. This is
3203 ;; not carried over into the fasl which is generated. In order for
3204 ;; it to be carried over, it needs to be listed as a dependency.
3205 (lambda _
3206 (substitute* "lparallel.asd"
3207 ((":depends-on \\(:alexandria" all)
3208 (string-append all " #+sbcl :sb-cltl2"))))))))
3209 (home-page "https://lparallel.org/")
3210 (synopsis "Parallelism for Common Lisp")
3211 (description
3212 "@command{lparallel} is a library for parallel programming in Common
3213 Lisp, featuring:
3214
3215 @itemize
3216 @item a simple model of task submission with receiving queue,
3217 @item constructs for expressing fine-grained parallelism,
3218 @item asynchronous condition handling across thread boundaries,
3219 @item parallel versions of map, reduce, sort, remove, and many others,
3220 @item promises, futures, and delayed evaluation constructs,
3221 @item computation trees for parallelizing interconnected tasks,
3222 @item bounded and unbounded FIFO queues,
3223 @item high and low priority tasks,
3224 @item task killing by category,
3225 @item integrated timeouts.
3226 @end itemize\n")
3227 (license license:expat)))
3228
3229 (define-public cl-lparallel
3230 (sbcl-package->cl-source-package sbcl-lparallel))
3231
3232 (define-public ecl-lparallel
3233 (sbcl-package->ecl-package sbcl-lparallel))
3234
3235 (define-public sbcl-cl-markup
3236 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3237 (package
3238 (name "sbcl-cl-markup")
3239 (version (git-version "0.1" "1" commit))
3240 (source
3241 (origin
3242 (method git-fetch)
3243 (uri (git-reference
3244 (url "https://github.com/arielnetworks/cl-markup/")
3245 (commit commit)))
3246 (file-name (git-file-name "cl-markup" version))
3247 (sha256
3248 (base32
3249 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3250 (build-system asdf-build-system/sbcl)
3251 (home-page "https://github.com/arielnetworks/cl-markup/")
3252 (synopsis "Markup generation library for Common Lisp")
3253 (description
3254 "A modern markup generation library for Common Lisp that features:
3255
3256 @itemize
3257 @item Fast (even faster through compiling the code)
3258 @item Safety
3259 @item Support for multiple document types (markup, xml, html, html5, xhtml)
3260 @item Output with doctype
3261 @item Direct output to stream
3262 @end itemize\n")
3263 (license license:lgpl3+))))
3264
3265 (define-public cl-markup
3266 (sbcl-package->cl-source-package sbcl-cl-markup))
3267
3268 (define-public ecl-cl-markup
3269 (sbcl-package->ecl-package sbcl-cl-markup))
3270
3271 (define-public sbcl-cl-css
3272 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3273 (package
3274 (name "sbcl-cl-css")
3275 (version (git-version "0.1" "1" commit))
3276 (source
3277 (origin
3278 (method git-fetch)
3279 (uri (git-reference
3280 (url "https://github.com/inaimathi/cl-css/")
3281 (commit commit)))
3282 (file-name (git-file-name "cl-css" version))
3283 (sha256
3284 (base32
3285 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3286 (build-system asdf-build-system/sbcl)
3287 (home-page "https://github.com/inaimathi/cl-css/")
3288 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3289 (description
3290 "This is a dead-simple, non validating, inline CSS generator for Common
3291 Lisp. Its goals are axiomatic syntax, simple implementation to support
3292 portability, and boilerplate reduction in CSS.")
3293 (license license:expat))))
3294
3295 (define-public cl-css
3296 (sbcl-package->cl-source-package sbcl-cl-css))
3297
3298 (define-public ecl-cl-css
3299 (sbcl-package->ecl-package sbcl-cl-css))
3300
3301 (define-public sbcl-portable-threads
3302 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3303 (package
3304 (name "sbcl-portable-threads")
3305 (version (git-version "2.3" "1" commit))
3306 (source
3307 (origin
3308 (method git-fetch)
3309 (uri (git-reference
3310 (url "https://github.com/binghe/portable-threads/")
3311 (commit commit)))
3312 (file-name (git-file-name "portable-threads" version))
3313 (sha256
3314 (base32
3315 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3316 (build-system asdf-build-system/sbcl)
3317 (arguments
3318 `(;; Tests seem broken.
3319 #:tests? #f))
3320 (home-page "https://github.com/binghe/portable-threads")
3321 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3322 (description
3323 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3324 Lisp (from GBBopen project).")
3325 (license license:asl2.0))))
3326
3327 (define-public cl-portable-threads
3328 (sbcl-package->cl-source-package sbcl-portable-threads))
3329
3330 (define-public ecl-portable-threada
3331 (sbcl-package->ecl-package sbcl-portable-threads))
3332
3333 (define sbcl-usocket-boot0
3334 ;; usocket's test rely on usocket-server which depends on usocket itself.
3335 ;; We break this cyclic dependency with -boot0 that packages usocket.
3336 (package
3337 (name "sbcl-usocket-boot0")
3338 (version "0.8.3")
3339 (source
3340 (origin
3341 (method git-fetch)
3342 (uri (git-reference
3343 (url "https://github.com/usocket/usocket/")
3344 (commit (string-append "v" version))))
3345 (file-name (git-file-name "usocket" version))
3346 (sha256
3347 (base32
3348 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3349 (build-system asdf-build-system/sbcl)
3350 (inputs
3351 `(("split-sequence" ,sbcl-split-sequence)))
3352 (arguments
3353 `(#:tests? #f
3354 #:asd-system-name "usocket"))
3355 (home-page "https://common-lisp.net/project/usocket/")
3356 (synopsis "Universal socket library for Common Lisp (server side)")
3357 (description
3358 "This library strives to provide a portable TCP/IP and UDP/IP socket
3359 interface for as many Common Lisp implementations as possible, while keeping
3360 the abstraction and portability layer as thin as possible.")
3361 (license license:expat)))
3362
3363 (define-public sbcl-usocket-server
3364 (package
3365 (inherit sbcl-usocket-boot0)
3366 (name "sbcl-usocket-server")
3367 (inputs
3368 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3369 ("usocket" ,sbcl-usocket-boot0)))
3370 (arguments
3371 '(#:asd-system-name "usocket-server"))
3372 (synopsis "Universal socket library for Common Lisp (server side)")))
3373
3374 (define-public cl-usocket-server
3375 (sbcl-package->cl-source-package sbcl-usocket-server))
3376
3377 (define-public ecl-socket-server
3378 (sbcl-package->ecl-package sbcl-usocket-server))
3379
3380 (define-public sbcl-usocket
3381 (package
3382 (inherit sbcl-usocket-boot0)
3383 (name "sbcl-usocket")
3384 (arguments
3385 ;; FIXME: Tests need network access?
3386 `(#:tests? #f))
3387 (native-inputs
3388 ;; Testing only.
3389 `(("usocket-server" ,sbcl-usocket-server)
3390 ("rt" ,sbcl-rt)))))
3391
3392 (define-public cl-usocket
3393 (sbcl-package->cl-source-package sbcl-usocket))
3394
3395 (define-public ecl-usocket
3396 (sbcl-package->ecl-package sbcl-usocket))
3397
3398 (define-public sbcl-s-xml
3399 (package
3400 (name "sbcl-s-xml")
3401 (version "3")
3402 (source
3403 (origin
3404 (method url-fetch)
3405 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3406 (sha256
3407 (base32
3408 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3409 (build-system asdf-build-system/sbcl)
3410 (home-page "https://common-lisp.net/project/s-xml/")
3411 (synopsis "Simple XML parser implemented in Common Lisp")
3412 (description
3413 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3414 parser implementation has the following features:
3415
3416 @itemize
3417 @item It works (handling many common XML usages).
3418 @item It is very small (the core is about 700 lines of code, including
3419 comments and whitespace).
3420 @item It has a core API that is simple, efficient and pure functional, much
3421 like that from SSAX (see also http://ssax.sourceforge.net).
3422 @item It supports different DOM models: an XSML-based one, an LXML-based one
3423 and a classic xml-element struct based one.
3424 @item It is reasonably time and space efficient (internally avoiding garbage
3425 generatation as much as possible).
3426 @item It does support CDATA.
3427 @item It should support the same character sets as your Common Lisp
3428 implementation.
3429 @item It does support XML name spaces.
3430 @end itemize
3431
3432 This XML parser implementation has the following limitations:
3433
3434 @itemize
3435 @item It does not support any special tags (like processing instructions).
3436 @item It is not validating, even skips DTD's all together.
3437 @end itemize\n")
3438 (license license:lgpl3+)))
3439
3440 (define-public cl-s-xml
3441 (sbcl-package->cl-source-package sbcl-s-xml))
3442
3443 (define-public ecl-s-xml
3444 (sbcl-package->ecl-package sbcl-s-xml))
3445
3446 (define-public sbcl-s-xml-rpc
3447 (package
3448 (name "sbcl-s-xml-rpc")
3449 (version "7")
3450 (source
3451 (origin
3452 (method url-fetch)
3453 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3454 (sha256
3455 (base32
3456 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3457 (build-system asdf-build-system/sbcl)
3458 (inputs
3459 `(("s-xml" ,sbcl-s-xml)))
3460 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3461 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3462 (description
3463 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3464 client and server.")
3465 (license license:lgpl3+)))
3466
3467 (define-public cl-s-xml-rpc
3468 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3469
3470 (define-public ecl-s-xml-rpc
3471 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3472
3473 (define-public sbcl-trivial-clipboard
3474 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3475 (package
3476 (name "sbcl-trivial-clipboard")
3477 (version (git-version "0.0.0.0" "2" commit))
3478 (source
3479 (origin
3480 (method git-fetch)
3481 (uri (git-reference
3482 (url "https://github.com/snmsts/trivial-clipboard")
3483 (commit commit)))
3484 (file-name (git-file-name "trivial-clipboard" version))
3485 (sha256
3486 (base32
3487 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3488 (build-system asdf-build-system/sbcl)
3489 (inputs
3490 `(("xclip" ,xclip)))
3491 (native-inputs
3492 `(("fiveam" ,sbcl-fiveam)))
3493 (arguments
3494 `(#:phases
3495 (modify-phases %standard-phases
3496 (add-after 'unpack 'fix-paths
3497 (lambda* (#:key inputs #:allow-other-keys)
3498 (substitute* "src/text.lisp"
3499 (("\\(executable-find \"xclip\"\\)")
3500 (string-append "(executable-find \""
3501 (assoc-ref inputs "xclip")
3502 "/bin/xclip\")"))))))))
3503 (home-page "https://github.com/snmsts/trivial-clipboard")
3504 (synopsis "Access system clipboard in Common Lisp")
3505 (description
3506 "@command{trivial-clipboard} gives access to the system clipboard.")
3507 (license license:expat))))
3508
3509 (define-public cl-trivial-clipboard
3510 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3511
3512 (define-public ecl-trivial-clipboard
3513 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3514
3515 (define-public sbcl-trivial-backtrace
3516 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3517 (revision "1"))
3518 (package
3519 (name "sbcl-trivial-backtrace")
3520 (version (git-version "0.0.0" revision commit))
3521 (source
3522 (origin
3523 (method git-fetch)
3524 (uri (git-reference
3525 (url "https://github.com/gwkkwg/trivial-backtrace")
3526 (commit commit)))
3527 (file-name (git-file-name "trivial-backtrace" version))
3528 (sha256
3529 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3530 (build-system asdf-build-system/sbcl)
3531 (inputs
3532 `(("sbcl-lift" ,sbcl-lift)))
3533 (arguments
3534 `(#:phases
3535 (modify-phases %standard-phases
3536 (add-after 'check 'delete-test-results
3537 (lambda* (#:key outputs #:allow-other-keys)
3538 (let ((test-results (string-append (assoc-ref outputs "out")
3539 "/share/common-lisp/"
3540 (%lisp-type) "-source"
3541 "/trivial-backtrace"
3542 "/test-results")))
3543 (when (file-exists? test-results)
3544 (delete-file-recursively test-results)))
3545 #t)))))
3546 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3547 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3548 (description
3549 "One of the many things that didn't quite get into the Common Lisp
3550 standard was how to get a Lisp to output its call stack when something has
3551 gone wrong. As such, each Lisp has developed its own notion of what to
3552 display, how to display it, and what sort of arguments can be used to
3553 customize it. @code{trivial-backtrace} is a simple solution to generating a
3554 backtrace portably.")
3555 (license license:expat))))
3556
3557 (define-public cl-trivial-backtrace
3558 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3559
3560 (define-public sbcl-rfc2388
3561 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3562 (revision "1"))
3563 (package
3564 (name "sbcl-rfc2388")
3565 (version (git-version "0.0.0" revision commit))
3566 (source
3567 (origin
3568 (method git-fetch)
3569 (uri (git-reference
3570 (url "https://github.com/jdz/rfc2388")
3571 (commit commit)))
3572 (file-name (git-file-name "rfc2388" version))
3573 (sha256
3574 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3575 (build-system asdf-build-system/sbcl)
3576 (home-page "https://github.com/jdz/rfc2388/")
3577 (synopsis "An implementation of RFC 2388 in Common Lisp")
3578 (description
3579 "This package contains an implementation of RFC 2388, which is used to
3580 process form data posted with HTTP POST method using enctype
3581 \"multipart/form-data\".")
3582 (license license:bsd-2))))
3583
3584 (define-public cl-rfc2388
3585 (sbcl-package->cl-source-package sbcl-rfc2388))
3586
3587 (define-public sbcl-md5
3588 (package
3589 (name "sbcl-md5")
3590 (version "2.0.4")
3591 (source
3592 (origin
3593 (method git-fetch)
3594 (uri (git-reference
3595 (url "https://github.com/pmai/md5")
3596 (commit (string-append "release-" version))))
3597 (file-name (git-file-name "md5" version))
3598 (sha256
3599 (base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
3600 (build-system asdf-build-system/sbcl)
3601 (home-page "https://github.com/pmai/md5")
3602 (synopsis
3603 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3604 (description
3605 "This package implements The MD5 Message-Digest Algorithm, as defined in
3606 RFC 1321 by R. Rivest, published April 1992.")
3607 (license license:public-domain)))
3608
3609 (define-public cl-md5
3610 (sbcl-package->cl-source-package sbcl-md5))
3611
3612 (define-public sbcl-cl+ssl
3613 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
3614 (revision "1"))
3615 (package
3616 (name "sbcl-cl+ssl")
3617 (version (git-version "0.0.0" revision commit))
3618 (source
3619 (origin
3620 (method git-fetch)
3621 (uri (git-reference
3622 (url "https://github.com/cl-plus-ssl/cl-plus-ssl")
3623 (commit commit)))
3624 (file-name (git-file-name "cl+ssl" version))
3625 (sha256
3626 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
3627 (build-system asdf-build-system/sbcl)
3628 (arguments
3629 '(#:phases
3630 (modify-phases %standard-phases
3631 (add-after 'unpack 'fix-paths
3632 (lambda* (#:key inputs #:allow-other-keys)
3633 (substitute* "src/reload.lisp"
3634 (("libssl.so" all)
3635 (string-append
3636 (assoc-ref inputs "openssl") "/lib/" all))))))))
3637 (inputs
3638 `(("openssl" ,openssl)
3639 ("sbcl-cffi" ,sbcl-cffi)
3640 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3641 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3642 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3643 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3644 ("sbcl-alexandria" ,sbcl-alexandria)
3645 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3646 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
3647 (synopsis "Common Lisp bindings to OpenSSL")
3648 (description
3649 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3650 code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3651 Development into CL+SSL was done by David Lichteblau.")
3652 (license license:expat))))
3653
3654 (define-public cl-cl+ssl
3655 (sbcl-package->cl-source-package sbcl-cl+ssl))
3656
3657 (define-public sbcl-kmrcl
3658 (let ((version "1.109.0")
3659 (commit "5260068b2eb735af6796740c2db4955afac21636")
3660 (revision "1"))
3661 (package
3662 (name "sbcl-kmrcl")
3663 (version (git-version version revision commit))
3664 (source
3665 (origin
3666 (method git-fetch)
3667 (uri (git-reference
3668 (url "http://git.kpe.io/kmrcl.git/")
3669 (commit commit)))
3670 (file-name (git-file-name name version))
3671 (sha256
3672 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3673 (build-system asdf-build-system/sbcl)
3674 (arguments
3675 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3676 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3677 '(#:tests? #f))
3678 (inputs
3679 `(("sbcl-rt" ,sbcl-rt)))
3680 (home-page "http://files.kpe.io/kmrcl/")
3681 (synopsis "General utilities for Common Lisp programs")
3682 (description
3683 "KMRCL is a collection of utilities used by a number of Kevin
3684 Rosenberg's CL packages.")
3685 (license license:llgpl))))
3686
3687 (define-public cl-kmrcl
3688 (sbcl-package->cl-source-package sbcl-kmrcl))
3689
3690 (define-public sbcl-cl-base64
3691 (package
3692 (name "sbcl-cl-base64")
3693 (version "3.3.4")
3694 (source
3695 (origin
3696 (method url-fetch)
3697 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3698 version ".tar.gz"))
3699 (sha256
3700 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3701 (build-system asdf-build-system/sbcl)
3702 (arguments
3703 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3704 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3705 ;; to toplevel
3706 '(#:tests? #f))
3707 (inputs
3708 `(("sbcl-ptester" ,sbcl-ptester)
3709 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3710 (home-page "http://files.kpe.io/cl-base64/")
3711 (synopsis
3712 "Common Lisp package to encode and decode base64 with URI support")
3713 (description
3714 "This package provides highly optimized base64 encoding and decoding.
3715 Besides conversion to and from strings, integer conversions are supported.
3716 Encoding with Uniform Resource Identifiers is supported by using a modified
3717 encoding table that uses only URI-compatible characters.")
3718 (license license:bsd-3)))
3719
3720 (define-public cl-base64
3721 (sbcl-package->cl-source-package sbcl-cl-base64))
3722
3723 (define-public sbcl-chunga
3724 (package
3725 (name "sbcl-chunga")
3726 (version "1.1.7")
3727 (source
3728 (origin
3729 (method git-fetch)
3730 (uri (git-reference
3731 (url "https://github.com/edicl/chunga")
3732 (commit (string-append "v" version))))
3733 (file-name (git-file-name name version))
3734 (sha256
3735 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3736 (build-system asdf-build-system/sbcl)
3737 (inputs
3738 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3739 (home-page "https://edicl.github.io/chunga/")
3740 (synopsis "Portable chunked streams for Common Lisp")
3741 (description
3742 "Chunga implements streams capable of chunked encoding on demand as
3743 defined in RFC 2616.")
3744 (license license:bsd-2)))
3745
3746 (define-public cl-chunga
3747 (sbcl-package->cl-source-package sbcl-chunga))
3748
3749 (define-public sbcl-cl-who
3750 (let ((version "1.1.4")
3751 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3752 (revision "1"))
3753 (package
3754 (name "sbcl-cl-who")
3755 (version (git-version version revision commit))
3756 (source
3757 (origin
3758 (method git-fetch)
3759 (uri (git-reference
3760 (url "https://github.com/edicl/cl-who")
3761 (commit commit)))
3762 (file-name (git-file-name name version))
3763 (sha256
3764 (base32
3765 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3766 (build-system asdf-build-system/sbcl)
3767 (native-inputs
3768 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3769 (home-page "https://edicl.github.io/cl-who/")
3770 (synopsis "Yet another Lisp markup language")
3771 (description
3772 "There are plenty of Lisp Markup Languages out there - every Lisp
3773 programmer seems to write at least one during his career - and CL-WHO (where
3774 WHO means \"with-html-output\" for want of a better acronym) is probably just
3775 as good or bad as the next one.")
3776 (license license:bsd-2))))
3777
3778 (define-public cl-cl-who
3779 (sbcl-package->cl-source-package sbcl-cl-who))
3780
3781 (define-public sbcl-chipz
3782 (let ((version "0.8")
3783 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3784 (revision "1"))
3785 (package
3786 (name "sbcl-chipz")
3787 (version (git-version version revision commit))
3788 (source
3789 (origin
3790 (method git-fetch)
3791 (uri (git-reference
3792 (url "https://github.com/froydnj/chipz")
3793 (commit commit)))
3794 (file-name (git-file-name name version))
3795 (sha256
3796 (base32
3797 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3798 (build-system asdf-build-system/sbcl)
3799 (native-inputs
3800 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3801 (home-page "http://method-combination.net/lisp/chipz/")
3802 (synopsis
3803 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3804 data")
3805 (description
3806 "DEFLATE data, defined in RFC1951, forms the core of popular
3807 compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3808 Chipz also provides for decompressing data in those formats as well. BZIP2 is
3809 the format used by the popular compression tool bzip2.")
3810 ;; The author describes it as "MIT-like"
3811 (license license:expat))))
3812
3813 (define-public cl-chipz
3814 (sbcl-package->cl-source-package sbcl-chipz))
3815
3816 (define-public sbcl-drakma
3817 (package
3818 (name "sbcl-drakma")
3819 (version "2.0.7")
3820 (source
3821 (origin
3822 (method git-fetch)
3823 (uri (git-reference
3824 (url "https://github.com/edicl/drakma")
3825 (commit (string-append "v" version))))
3826 (file-name (git-file-name name version))
3827 (sha256
3828 (base32
3829 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3830 (build-system asdf-build-system/sbcl)
3831 (inputs
3832 `(("sbcl-puri" ,sbcl-puri)
3833 ("sbcl-cl-base64" ,sbcl-cl-base64)
3834 ("sbcl-chunga" ,sbcl-chunga)
3835 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3836 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3837 ("sbcl-chipz" ,sbcl-chipz)
3838 ("sbcl-usocket" ,sbcl-usocket)
3839 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3840 (native-inputs
3841 `(("sbcl-fiveam" ,sbcl-fiveam)))
3842 (home-page "https://edicl.github.io/drakma/")
3843 (synopsis "HTTP client written in Common Lisp")
3844 (description
3845 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
3846 knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3847 sockets, SSL, continuable uploads, file uploads, cookies, and more.")
3848 (license license:bsd-2)))
3849
3850 (define-public cl-drakma
3851 (sbcl-package->cl-source-package sbcl-drakma))
3852
3853 (define-public ecl-drakma
3854 (sbcl-package->ecl-package sbcl-drakma))
3855
3856 (define-public sbcl-hunchentoot
3857 (package
3858 (name "sbcl-hunchentoot")
3859 (version "1.2.38")
3860 (source
3861 (origin
3862 (method git-fetch)
3863 (uri (git-reference
3864 (url "https://github.com/edicl/hunchentoot")
3865 (commit (string-append "v" version))))
3866 (file-name (git-file-name "hunchentoot" version))
3867 (sha256
3868 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3869 (build-system asdf-build-system/sbcl)
3870 (native-inputs
3871 `(("sbcl-cl-who" ,sbcl-cl-who)
3872 ("sbcl-drakma" ,sbcl-drakma)))
3873 (inputs
3874 `(("sbcl-chunga" ,sbcl-chunga)
3875 ("sbcl-cl-base64" ,sbcl-cl-base64)
3876 ("sbcl-cl-fad" ,sbcl-cl-fad)
3877 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3878 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3879 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3880 ("sbcl-md5" ,sbcl-md5)
3881 ("sbcl-rfc2388" ,sbcl-rfc2388)
3882 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3883 ("sbcl-usocket" ,sbcl-usocket)))
3884 (home-page "https://edicl.github.io/hunchentoot/")
3885 (synopsis "Web server written in Common Lisp")
3886 (description
3887 "Hunchentoot is a web server written in Common Lisp and at the same
3888 time a toolkit for building dynamic websites. As a stand-alone web server,
3889 Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3890 connections (keep-alive), and SSL.")
3891 (license license:bsd-2)))
3892
3893 (define-public cl-hunchentoot
3894 (sbcl-package->cl-source-package sbcl-hunchentoot))
3895
3896 (define-public sbcl-trivial-types
3897 (package
3898 (name "sbcl-trivial-types")
3899 (version "0.0.1")
3900 (source
3901 (origin
3902 (method git-fetch)
3903 (uri (git-reference
3904 (url "https://github.com/m2ym/trivial-types")
3905 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3906 (file-name (git-file-name name version))
3907 (sha256
3908 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3909 (build-system asdf-build-system/sbcl)
3910 (home-page "https://github.com/m2ym/trivial-types")
3911 (synopsis "Trivial type definitions for Common Lisp")
3912 (description
3913 "TRIVIAL-TYPES provides missing but important type definitions such as
3914 PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3915 (license license:llgpl)))
3916
3917 (define-public cl-trivial-types
3918 (sbcl-package->cl-source-package sbcl-trivial-types))
3919
3920 (define-public sbcl-cl-syntax
3921 (package
3922 (name "sbcl-cl-syntax")
3923 (version "0.0.3")
3924 (source
3925 (origin
3926 (method git-fetch)
3927 (uri (git-reference
3928 (url "https://github.com/m2ym/cl-syntax")
3929 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3930 (file-name (git-file-name "cl-syntax" version))
3931 (sha256
3932 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3933 (build-system asdf-build-system/sbcl)
3934 (arguments
3935 '(#:asd-file "cl-syntax.asd"
3936 #:asd-system-name "cl-syntax"))
3937 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3938 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3939 (home-page "https://github.com/m2ym/cl-syntax")
3940 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3941 (description
3942 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3943 (license license:llgpl)))
3944
3945 (define-public cl-syntax
3946 (sbcl-package->cl-source-package sbcl-cl-syntax))
3947
3948 (define-public sbcl-cl-annot
3949 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3950 (revision "1"))
3951 (package
3952 (name "sbcl-cl-annot")
3953 (version (git-version "0.0.0" revision commit))
3954 (source
3955 (origin
3956 (method git-fetch)
3957 (uri (git-reference
3958 (url "https://github.com/m2ym/cl-annot")
3959 (commit commit)))
3960 (file-name (git-file-name name version))
3961 (sha256
3962 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3963 (build-system asdf-build-system/sbcl)
3964 (arguments
3965 '(#:asd-file "cl-annot.asd"
3966 #:asd-system-name "cl-annot"))
3967 (inputs
3968 `(("sbcl-alexandria" ,sbcl-alexandria)))
3969 (home-page "https://github.com/m2ym/cl-annot")
3970 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3971 (description
3972 "@code{cl-annot} is an general annotation library for Common Lisp.")
3973 (license license:llgpl))))
3974
3975 (define-public cl-annot
3976 (sbcl-package->cl-source-package sbcl-cl-annot))
3977
3978 (define-public sbcl-cl-syntax-annot
3979 (package
3980 (inherit sbcl-cl-syntax)
3981 (name "sbcl-cl-syntax-annot")
3982 (arguments
3983 '(#:asd-file "cl-syntax-annot.asd"
3984 #:asd-system-name "cl-syntax-annot"))
3985 (inputs
3986 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3987 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3988 (synopsis "Common Lisp reader Syntax for cl-annot")
3989 (description
3990 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3991 @code{cl-annot}.")))
3992
3993 (define-public cl-syntax-annot
3994 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3995
3996 (define-public sbcl-cl-syntax-interpol
3997 (package
3998 (inherit sbcl-cl-syntax)
3999 (name "sbcl-cl-syntax-interpol")
4000 (arguments
4001 '(#:asd-file "cl-syntax-interpol.asd"
4002 #:asd-system-name "cl-syntax-interpol"))
4003 (inputs
4004 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4005 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4006 (synopsis "Common Lisp reader Syntax for cl-interpol")
4007 (description
4008 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4009 @code{cl-interpol}.")))
4010
4011 (define-public cl-syntax-interpol
4012 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4013
4014 (define-public sbcl-cl-utilities
4015 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4016 (revision "1"))
4017 (package
4018 (name "sbcl-cl-utilities")
4019 (version (git-version "0.0.0" revision commit))
4020 (source
4021 (origin
4022 (method url-fetch)
4023 (uri
4024 (string-append
4025 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4026 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4027 (sha256
4028 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4029 (build-system asdf-build-system/sbcl)
4030 (arguments
4031 '(#:asd-file "cl-utilities.asd"
4032 #:asd-system-name "cl-utilities"
4033 #:phases
4034 (modify-phases %standard-phases
4035 (add-after 'unpack 'fix-paths
4036 (lambda* (#:key inputs #:allow-other-keys)
4037 (substitute* "rotate-byte.lisp"
4038 (("in-package :cl-utilities)" all)
4039 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4040 (home-page "http://common-lisp.net/project/cl-utilities")
4041 (synopsis "A collection of semi-standard utilities")
4042 (description
4043 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4044 is a collection of Common Lisp Utilities, things that everybody writes since
4045 they're not part of the official standard. There are some very useful things
4046 there; the only problems are that they aren't implemented as well as you'd
4047 like (some aren't implemented at all) and they aren't conveniently packaged
4048 and maintained. It takes quite a bit of work to carefully implement utilities
4049 for common use, commented and documented, with error checking placed
4050 everywhere some dumb user might make a mistake.")
4051 (license license:public-domain))))
4052
4053 (define-public cl-utilities
4054 (sbcl-package->cl-source-package sbcl-cl-utilities))
4055
4056 (define-public sbcl-map-set
4057 (let ((commit "7b4b545b68b8")
4058 (revision "1"))
4059 (package
4060 (name "sbcl-map-set")
4061 (version (git-version "0.0.0" revision commit))
4062 (source
4063 (origin
4064 (method url-fetch)
4065 (uri (string-append
4066 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4067 commit ".tar.gz"))
4068 (sha256
4069 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4070 (build-system asdf-build-system/sbcl)
4071 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4072 (synopsis "Set-like data structure")
4073 (description
4074 "Implementation of a set-like data structure with constant time
4075 addition, removal, and random selection.")
4076 (license license:bsd-3))))
4077
4078 (define-public cl-map-set
4079 (sbcl-package->cl-source-package sbcl-map-set))
4080
4081 (define-public sbcl-quri
4082 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4083 (revision "2"))
4084 (package
4085 (name "sbcl-quri")
4086 (version (git-version "0.1.0" revision commit))
4087 (source
4088 (origin
4089 (method git-fetch)
4090 (uri (git-reference
4091 (url "https://github.com/fukamachi/quri")
4092 (commit commit)))
4093 (file-name (git-file-name name version))
4094 (sha256
4095 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
4096 (build-system asdf-build-system/sbcl)
4097 (arguments
4098 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4099 ;; required by #<SYSTEM "quri">. Why?
4100 '(#:tests? #f))
4101 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4102 ("sbcl-prove" ,sbcl-prove)))
4103 (inputs `(("sbcl-babel" ,sbcl-babel)
4104 ("sbcl-split-sequence" ,sbcl-split-sequence)
4105 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4106 ("sbcl-alexandria" ,sbcl-alexandria)))
4107 (home-page "https://github.com/fukamachi/quri")
4108 (synopsis "Yet another URI library for Common Lisp")
4109 (description
4110 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4111 Lisp. It is intended to be a replacement of PURI.")
4112 (license license:bsd-3))))
4113
4114 (define-public cl-quri
4115 (sbcl-package->cl-source-package sbcl-quri))
4116
4117 (define-public sbcl-myway
4118 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4119 (revision "1"))
4120 (package
4121 (name "sbcl-myway")
4122 (version (git-version "0.1.0" revision commit))
4123 (source
4124 (origin
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/fukamachi/myway")
4128 (commit commit)))
4129 (file-name (git-file-name "myway" version))
4130 (sha256
4131 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4132 (build-system asdf-build-system/sbcl)
4133 (arguments
4134 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4135 ;; by #<SYSTEM "myway">. Why?
4136 '(#:tests? #f))
4137 (native-inputs
4138 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4139 ("sbcl-prove" ,sbcl-prove)))
4140 (inputs
4141 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4142 ("sbcl-quri" ,sbcl-quri)
4143 ("sbcl-map-set" ,sbcl-map-set)))
4144 (home-page "https://github.com/fukamachi/myway")
4145 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4146 (description "My Way is a Sinatra-compatible URL routing library.")
4147 (license license:llgpl))))
4148
4149 (define-public cl-myway
4150 (sbcl-package->cl-source-package sbcl-myway))
4151
4152 (define-public sbcl-xsubseq
4153 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4154 (revision "1"))
4155 (package
4156 (name "sbcl-xsubseq")
4157 (version (git-version "0.0.1" revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/fukamachi/xsubseq")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4167 (build-system asdf-build-system/sbcl)
4168 (arguments
4169 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4170 ;; required by #<SYSTEM "xsubseq">. Why?
4171 '(#:tests? #f))
4172 (native-inputs
4173 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4174 ("sbcl-prove" ,sbcl-prove)))
4175 (home-page "https://github.com/fukamachi/xsubseq")
4176 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4177 (description
4178 "XSubseq provides functions to be able to handle \"subseq\"s more
4179 effieiently.")
4180 (license license:bsd-2))))
4181
4182 (define-public cl-xsubseq
4183 (sbcl-package->cl-source-package sbcl-xsubseq))
4184
4185 (define-public sbcl-smart-buffer
4186 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4187 (revision "1"))
4188 (package
4189 (name "sbcl-smart-buffer")
4190 (version (git-version "0.0.1" revision commit))
4191 (source
4192 (origin
4193 (method git-fetch)
4194 (uri (git-reference
4195 (url "https://github.com/fukamachi/smart-buffer")
4196 (commit commit)))
4197 (file-name (git-file-name name version))
4198 (sha256
4199 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4200 (build-system asdf-build-system/sbcl)
4201 (arguments
4202 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4203 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4204 `(#:tests? #f))
4205 (native-inputs
4206 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4207 ("sbcl-prove" ,sbcl-prove)))
4208 (inputs
4209 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4210 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4211 (home-page "https://github.com/fukamachi/smart-buffer")
4212 (synopsis "Smart octets buffer")
4213 (description
4214 "Smart-buffer provides an output buffer which changes the destination
4215 depending on content size.")
4216 (license license:bsd-3))))
4217
4218 (define-public cl-smart-buffer
4219 (sbcl-package->cl-source-package sbcl-smart-buffer))
4220
4221 (define-public sbcl-fast-http
4222 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4223 (revision "2"))
4224 (package
4225 (name "sbcl-fast-http")
4226 (version (git-version "0.2.0" revision commit))
4227 (source
4228 (origin
4229 (method git-fetch)
4230 (uri (git-reference
4231 (url "https://github.com/fukamachi/fast-http")
4232 (commit commit)))
4233 (file-name (git-file-name name version))
4234 (sha256
4235 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
4236 (build-system asdf-build-system/sbcl)
4237 (arguments
4238 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4239 ;; required by #<SYSTEM "fast-http">. Why?
4240 `(#:tests? #f))
4241 (native-inputs
4242 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4243 ("sbcl-prove" ,sbcl-prove)
4244 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
4245 (inputs
4246 `(("sbcl-alexandria" ,sbcl-alexandria)
4247 ("sbcl-proc-parse" ,sbcl-proc-parse)
4248 ("sbcl-xsubseq" ,sbcl-xsubseq)
4249 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4250 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4251 (home-page "https://github.com/fukamachi/fast-http")
4252 (synopsis "HTTP request/response parser for Common Lisp")
4253 (description
4254 "@code{fast-http} is a HTTP request/response protocol parser for Common
4255 Lisp.")
4256 ;; Author specified the MIT license
4257 (license license:expat))))
4258
4259 (define-public cl-fast-http
4260 (sbcl-package->cl-source-package sbcl-fast-http))
4261
4262 (define-public sbcl-static-vectors
4263 (package
4264 (name "sbcl-static-vectors")
4265 (version "1.8.4")
4266 (source
4267 (origin
4268 (method git-fetch)
4269 (uri (git-reference
4270 (url "https://github.com/sionescu/static-vectors")
4271 (commit (string-append "v" version))))
4272 (file-name (git-file-name name version))
4273 (sha256
4274 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4275 (native-inputs
4276 `(("sbcl-fiveam" ,sbcl-fiveam)))
4277 (inputs
4278 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4279 ("sbcl-cffi" ,sbcl-cffi)))
4280 (build-system asdf-build-system/sbcl)
4281 (home-page "https://github.com/sionescu/static-vectors")
4282 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4283 (description
4284 "With @code{static-vectors}, you can create vectors allocated in static
4285 memory.")
4286 (license license:expat)))
4287
4288 (define-public cl-static-vectors
4289 (sbcl-package->cl-source-package sbcl-static-vectors))
4290
4291 (define-public ecl-static-vectors
4292 (sbcl-package->ecl-package sbcl-static-vectors))
4293
4294 (define-public sbcl-marshal
4295 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4296 (revision "1"))
4297 (package
4298 (name "sbcl-marshal")
4299 (version (git-version "1.3.0" revision commit))
4300 (source
4301 (origin
4302 (method git-fetch)
4303 (uri (git-reference
4304 (url "https://github.com/wlbr/cl-marshal")
4305 (commit commit)))
4306 (file-name (git-file-name name version))
4307 (sha256
4308 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4309 (build-system asdf-build-system/sbcl)
4310 (home-page "https://github.com/wlbr/cl-marshal")
4311 (synopsis "Simple (de)serialization of Lisp datastructures")
4312 (description
4313 "Simple and fast marshalling of Lisp datastructures. Convert any object
4314 into a string representation, put it on a stream an revive it from there.
4315 Only minimal changes required to make your CLOS objects serializable.")
4316 (license license:expat))))
4317
4318 (define-public cl-marshal
4319 (sbcl-package->cl-source-package sbcl-marshal))
4320
4321 (define-public sbcl-checkl
4322 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4323 (revision "1"))
4324 (package
4325 (name "sbcl-checkl")
4326 (version (git-version "0.0.0" revision commit))
4327 (source
4328 (origin
4329 (method git-fetch)
4330 (uri (git-reference
4331 (url "https://github.com/rpav/CheckL")
4332 (commit commit)))
4333 (file-name (git-file-name name version))
4334 (sha256
4335 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4336 (build-system asdf-build-system/sbcl)
4337 (arguments
4338 ;; Error while trying to load definition for system checkl-test from
4339 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4340 ;; is undefined.
4341 '(#:tests? #f))
4342 (native-inputs
4343 `(("sbcl-fiveam" ,sbcl-fiveam)))
4344 (inputs
4345 `(("sbcl-marshal" ,sbcl-marshal)))
4346 (home-page "https://github.com/rpav/CheckL/")
4347 (synopsis "Dynamic testing for Common Lisp")
4348 (description
4349 "CheckL lets you write tests dynamically, it checks resulting values
4350 against the last run.")
4351 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4352 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4353 ;; stronger of the two and so I think only listing this should suffice.
4354 (license license:llgpl))))
4355
4356 (define-public cl-checkl
4357 (sbcl-package->cl-source-package sbcl-checkl))
4358
4359 (define-public sbcl-fast-io
4360 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4361 (revision "2"))
4362 (package
4363 (name "sbcl-fast-io")
4364 (version (git-version "1.0.0" revision commit))
4365 (source
4366 (origin
4367 (method git-fetch)
4368 (uri (git-reference
4369 (url "https://github.com/rpav/fast-io")
4370 (commit commit)))
4371 (file-name (git-file-name name version))
4372 (sha256
4373 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
4374 (build-system asdf-build-system/sbcl)
4375 (arguments
4376 ;; Error while trying to load definition for system fast-io-test from
4377 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4378 ;; is undefined.
4379 '(#:tests? #f))
4380 (native-inputs
4381 `(("sbcl-fiveam" ,sbcl-fiveam)
4382 ("sbcl-checkl" ,sbcl-checkl)))
4383 (inputs
4384 `(("sbcl-alexandria" ,sbcl-alexandria)
4385 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4386 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4387 (home-page "https://github.com/rpav/fast-io")
4388 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4389 (description
4390 "Fast-io is about improving performance to octet-vectors and octet
4391 streams (though primarily the former, while wrapping the latter).")
4392 ;; Author specifies this as NewBSD which is an alias
4393 (license license:bsd-3))))
4394
4395 (define-public cl-fast-io
4396 (sbcl-package->cl-source-package sbcl-fast-io))
4397
4398 (define-public sbcl-jonathan
4399 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4400 (revision "1"))
4401 (package
4402 (name "sbcl-jonathan")
4403 (version (git-version "0.1.0" revision commit))
4404 (source
4405 (origin
4406 (method git-fetch)
4407 (uri (git-reference
4408 (url "https://github.com/Rudolph-Miller/jonathan")
4409 (commit commit)))
4410 (file-name (git-file-name name version))
4411 (sha256
4412 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4413 (build-system asdf-build-system/sbcl)
4414 (arguments
4415 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4416 ;; required by #<SYSTEM "jonathan">. Why?
4417 `(#:tests? #f))
4418 (native-inputs
4419 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4420 ("sbcl-prove" ,sbcl-prove)))
4421 (inputs
4422 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4423 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4424 ("sbcl-fast-io" ,sbcl-fast-io)
4425 ("sbcl-proc-parse" ,sbcl-proc-parse)
4426 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4427 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
4428 (synopsis "JSON encoder and decoder")
4429 (description
4430 "High performance JSON encoder and decoder. Currently support: SBCL,
4431 CCL.")
4432 ;; Author specifies the MIT license
4433 (license license:expat))))
4434
4435 (define-public cl-jonathan
4436 (sbcl-package->cl-source-package sbcl-jonathan))
4437
4438 (define-public sbcl-http-body
4439 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4440 (revision "1"))
4441 (package
4442 (name "sbcl-http-body")
4443 (version (git-version "0.1.0" revision commit))
4444 (source
4445 (origin
4446 (method git-fetch)
4447 (uri (git-reference
4448 (url "https://github.com/fukamachi/http-body")
4449 (commit commit)))
4450 (file-name (git-file-name name version))
4451 (sha256
4452 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4453 (build-system asdf-build-system/sbcl)
4454 (arguments
4455 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4456 ;; found, required by #<SYSTEM "http-body">. Why?
4457 `(#:tests? #f))
4458 (native-inputs
4459 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4460 ("sbcl-prove" ,sbcl-prove)))
4461 (inputs
4462 `(("sbcl-fast-http" ,sbcl-fast-http)
4463 ("sbcl-jonathan" ,sbcl-jonathan)
4464 ("sbcl-quri" ,sbcl-quri)))
4465 (home-page "https://github.com/fukamachi/http-body")
4466 (synopsis "HTTP POST data parser")
4467 (description
4468 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4469 supports application/x-www-form-urlencoded, application/json, and
4470 multipart/form-data.")
4471 (license license:bsd-2))))
4472
4473 (define-public cl-http-body
4474 (sbcl-package->cl-source-package sbcl-http-body))
4475
4476 (define-public sbcl-circular-streams
4477 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4478 (revision "1"))
4479 (package
4480 (name "sbcl-circular-streams")
4481 (version (git-version "0.1.0" revision commit))
4482 (source
4483 (origin
4484 (method git-fetch)
4485 (uri (git-reference
4486 (url "https://github.com/fukamachi/circular-streams")
4487 (commit commit)))
4488 (file-name (git-file-name name version))
4489 (sha256
4490 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4491 (build-system asdf-build-system/sbcl)
4492 (arguments
4493 ;; The tests depend on cl-test-more which is now prove. Prove
4494 ;; tests aren't working for some reason.
4495 `(#:tests? #f))
4496 (inputs
4497 `(("sbcl-fast-io" ,sbcl-fast-io)
4498 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4499 (home-page "https://github.com/fukamachi/circular-streams")
4500 (synopsis "Circularly readable streams for Common Lisp")
4501 (description
4502 "Circular-Streams allows you to read streams circularly by wrapping real
4503 streams. Once you reach end-of-file of a stream, it's file position will be
4504 reset to 0 and you're able to read it again.")
4505 (license license:llgpl))))
4506
4507 (define-public cl-circular-streams
4508 (sbcl-package->cl-source-package sbcl-circular-streams))
4509
4510 (define-public sbcl-lack-request
4511 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4512 (revision "1"))
4513 (package
4514 (name "sbcl-lack-request")
4515 (version (git-version "0.1.0" revision commit))
4516 (source
4517 (origin
4518 (method git-fetch)
4519 (uri (git-reference
4520 (url "https://github.com/fukamachi/lack")
4521 (commit commit)))
4522 (file-name (git-file-name "lack-request" version))
4523 (sha256
4524 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4525 (build-system asdf-build-system/sbcl)
4526 (arguments
4527 '(#:asd-file "lack-request.asd"
4528 #:asd-system-name "lack-request"
4529 #:test-asd-file "t-lack-request.asd"
4530 ;; XXX: Component :CLACK-TEST not found
4531 #:tests? #f))
4532 (native-inputs
4533 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4534 ("sbcl-prove" ,sbcl-prove)))
4535 (inputs
4536 `(("sbcl-quri" ,sbcl-quri)
4537 ("sbcl-http-body" ,sbcl-http-body)
4538 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4539 (home-page "https://github.com/fukamachi/lack")
4540 (synopsis "Lack, the core of Clack")
4541 (description
4542 "Lack is a Common Lisp library which allows web applications to be
4543 constructed of modular components. It was originally a part of Clack, however
4544 it's going to be rewritten as an individual project since Clack v2 with
4545 performance and simplicity in mind.")
4546 (license license:llgpl))))
4547
4548 (define-public cl-lack-request
4549 (sbcl-package->cl-source-package sbcl-lack-request))
4550
4551 (define-public sbcl-local-time
4552 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
4553 (revision "1"))
4554 (package
4555 (name "sbcl-local-time")
4556 (version (git-version "1.0.6" revision commit))
4557 (source
4558 (origin
4559 (method git-fetch)
4560 (uri (git-reference
4561 (url "https://github.com/dlowe-net/local-time")
4562 (commit commit)))
4563 (file-name (git-file-name name version))
4564 (sha256
4565 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
4566 (build-system asdf-build-system/sbcl)
4567 (arguments
4568 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4569 ;; "local-time/test">
4570 '(#:tests? #f))
4571 (native-inputs
4572 `(("stefil" ,sbcl-hu.dwim.stefil)))
4573 (inputs
4574 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4575 (home-page "https://common-lisp.net/project/local-time/")
4576 (synopsis "Time manipulation library for Common Lisp")
4577 (description
4578 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4579 dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4580 Long Painful History of Time\".")
4581 (license license:expat))))
4582
4583 (define-public cl-local-time
4584 (sbcl-package->cl-source-package sbcl-local-time))
4585
4586 (define-public sbcl-lack-response
4587 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4588 (revision "1"))
4589 (package
4590 (name "sbcl-lack-response")
4591 (version (git-version "0.1.0" revision commit))
4592 (source
4593 (origin
4594 (method git-fetch)
4595 (uri (git-reference
4596 (url "https://github.com/fukamachi/lack")
4597 (commit commit)))
4598 (file-name (git-file-name name version))
4599 (sha256
4600 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4601 (build-system asdf-build-system/sbcl)
4602 (arguments
4603 '(#:asd-file "lack-response.asd"
4604 #:asd-system-name "lack-response"
4605 ;; XXX: no tests for lack-response.
4606 #:tests? #f))
4607 (native-inputs
4608 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4609 ("sbcl-prove" ,sbcl-prove)))
4610 (inputs
4611 `(("sbcl-quri" ,sbcl-quri)
4612 ("sbcl-http-body" ,sbcl-http-body)
4613 ("sbcl-circular-streams" ,sbcl-circular-streams)
4614 ("sbcl-local-time" ,sbcl-local-time)))
4615 (home-page "https://github.com/fukamachi/lack")
4616 (synopsis "Lack, the core of Clack")
4617 (description
4618 "Lack is a Common Lisp library which allows web applications to be
4619 constructed of modular components. It was originally a part of Clack, however
4620 it's going to be rewritten as an individual project since Clack v2 with
4621 performance and simplicity in mind.")
4622 (license license:llgpl))))
4623
4624 (define-public cl-lack-response
4625 (sbcl-package->cl-source-package sbcl-lack-response))
4626
4627 (define-public sbcl-lack-component
4628 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4629 (revision "1"))
4630 (package
4631 (name "sbcl-lack-component")
4632 (version (git-version "0.0.0" revision commit))
4633 (source
4634 (origin
4635 (method git-fetch)
4636 (uri (git-reference
4637 (url "https://github.com/fukamachi/lack")
4638 (commit commit)))
4639 (file-name (git-file-name "lack-component" version))
4640 (sha256
4641 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4642 (build-system asdf-build-system/sbcl)
4643 (arguments
4644 '(#:asd-file "lack-component.asd"
4645 #:asd-system-name "lack-component"
4646 #:test-asd-file "t-lack-component.asd"
4647 ;; XXX: Component :LACK-TEST not found
4648 #:tests? #f))
4649 (native-inputs
4650 `(("prove-asdf" ,sbcl-prove-asdf)))
4651 (home-page "https://github.com/fukamachi/lack")
4652 (synopsis "Lack, the core of Clack")
4653 (description
4654 "Lack is a Common Lisp library which allows web applications to be
4655 constructed of modular components. It was originally a part of Clack, however
4656 it's going to be rewritten as an individual project since Clack v2 with
4657 performance and simplicity in mind.")
4658 (license license:llgpl))))
4659
4660 (define-public cl-lack-component
4661 (sbcl-package->cl-source-package sbcl-lack-component))
4662
4663 (define-public sbcl-lack-util
4664 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4665 (revision "1"))
4666 (package
4667 (name "sbcl-lack-util")
4668 (version (git-version "0.1.0" revision commit))
4669 (source
4670 (origin
4671 (method git-fetch)
4672 (uri (git-reference
4673 (url "https://github.com/fukamachi/lack")
4674 (commit commit)))
4675 (file-name (git-file-name "lack-util" version))
4676 (sha256
4677 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4678 (build-system asdf-build-system/sbcl)
4679 (arguments
4680 '(#:asd-file "lack-util.asd"
4681 #:asd-system-name "lack-util"
4682 #:test-asd-file "t-lack-util.asd"
4683 ;; XXX: Component :LACK-TEST not found
4684 #:tests? #f))
4685 (native-inputs
4686 `(("prove-asdf" ,sbcl-prove-asdf)))
4687 (inputs
4688 `(("sbcl-ironclad" ,sbcl-ironclad)))
4689 (home-page "https://github.com/fukamachi/lack")
4690 (synopsis "Lack, the core of Clack")
4691 (description
4692 "Lack is a Common Lisp library which allows web applications to be
4693 constructed of modular components. It was originally a part of Clack, however
4694 it's going to be rewritten as an individual project since Clack v2 with
4695 performance and simplicity in mind.")
4696 (license license:llgpl))))
4697
4698 (define-public cl-lack-util
4699 (sbcl-package->cl-source-package sbcl-lack-util))
4700
4701 (define-public sbcl-lack-middleware-backtrace
4702 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4703 (revision "1"))
4704 (package
4705 (name "sbcl-lack-middleware-backtrace")
4706 (version (git-version "0.1.0" revision commit))
4707 (source
4708 (origin
4709 (method git-fetch)
4710 (uri (git-reference
4711 (url "https://github.com/fukamachi/lack")
4712 (commit commit)))
4713 (file-name (git-file-name "lack-middleware-backtrace" version))
4714 (sha256
4715 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4716 (build-system asdf-build-system/sbcl)
4717 (arguments
4718 '(#:asd-file "lack-middleware-backtrace.asd"
4719 #:asd-system-name "lack-middleware-backtrace"
4720 #:test-asd-file "t-lack-middleware-backtrace.asd"
4721 ;; XXX: Component :LACK not found
4722 #:tests? #f))
4723 (native-inputs
4724 `(("prove-asdf" ,sbcl-prove-asdf)))
4725 (home-page "https://github.com/fukamachi/lack")
4726 (synopsis "Lack, the core of Clack")
4727 (description
4728 "Lack is a Common Lisp library which allows web applications to be
4729 constructed of modular components. It was originally a part of Clack, however
4730 it's going to be rewritten as an individual project since Clack v2 with
4731 performance and simplicity in mind.")
4732 (license license:llgpl))))
4733
4734 (define-public cl-lack-middleware-backtrace
4735 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4736
4737 (define-public sbcl-trivial-mimes
4738 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4739 (revision "1"))
4740 (package
4741 (name "sbcl-trivial-mimes")
4742 (version (git-version "1.1.0" revision commit))
4743 (source
4744 (origin
4745 (method git-fetch)
4746 (uri (git-reference
4747 (url "https://github.com/Shinmera/trivial-mimes")
4748 (commit commit)))
4749 (file-name (git-file-name name version))
4750 (sha256
4751 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4752 (build-system asdf-build-system/sbcl)
4753 (arguments
4754 '(#:phases
4755 (modify-phases %standard-phases
4756 (add-after
4757 'unpack 'fix-paths
4758 (lambda* (#:key inputs #:allow-other-keys)
4759 (let ((anchor "#p\"/etc/mime.types\""))
4760 (substitute* "mime-types.lisp"
4761 ((anchor all)
4762 (string-append
4763 anchor "\n"
4764 "(asdf:system-relative-pathname :trivial-mimes "
4765 "\"../../share/common-lisp/" (%lisp-type)
4766 "-source/trivial-mimes/mime.types\")")))))))))
4767 (native-inputs
4768 `(("stefil" ,sbcl-hu.dwim.stefil)))
4769 (inputs
4770 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4771 (home-page "https://shinmera.github.io/trivial-mimes/")
4772 (synopsis "Tiny Common Lisp library to detect mime types in files")
4773 (description
4774 "This is a teensy library that provides some functions to determine the
4775 mime-type of a file.")
4776 (license license:artistic2.0))))
4777
4778 (define-public cl-trivial-mimes
4779 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4780
4781 (define-public ecl-trivial-mimes
4782 (sbcl-package->ecl-package sbcl-trivial-mimes))
4783
4784 (define-public sbcl-lack-middleware-static
4785 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4786 (revision "1"))
4787 (package
4788 (name "sbcl-lack-middleware-static")
4789 (version (git-version "0.1.0" revision commit))
4790 (source
4791 (origin
4792 (method git-fetch)
4793 (uri (git-reference
4794 (url "https://github.com/fukamachi/lack")
4795 (commit commit)))
4796 (file-name (git-file-name "lack-middleware-static" version))
4797 (sha256
4798 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4799 (build-system asdf-build-system/sbcl)
4800 (arguments
4801 '(#:asd-file "lack-middleware-static.asd"
4802 #:asd-system-name "lack-middleware-static"
4803 #:test-asd-file "t-lack-middleware-static.asd"
4804 ;; XXX: Component :LACK not found
4805 #:tests? #f))
4806 (native-inputs
4807 `(("prove-asdf" ,sbcl-prove-asdf)))
4808 (inputs
4809 `(("sbcl-ironclad" ,sbcl-ironclad)
4810 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4811 ("sbcl-local-time" ,sbcl-local-time)))
4812 (home-page "https://github.com/fukamachi/lack")
4813 (synopsis "Lack, the core of Clack")
4814 (description
4815 "Lack is a Common Lisp library which allows web applications to be
4816 constructed of modular components. It was originally a part of Clack, however
4817 it's going to be rewritten as an individual project since Clack v2 with
4818 performance and simplicity in mind.")
4819 (license license:llgpl))))
4820
4821 (define-public cl-lack-middleware-static
4822 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4823
4824 (define-public sbcl-lack
4825 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4826 (revision "1"))
4827 (package
4828 (name "sbcl-lack")
4829 (version (git-version "0.1.0" revision commit))
4830 (source
4831 (origin
4832 (method git-fetch)
4833 (uri (git-reference
4834 (url "https://github.com/fukamachi/lack")
4835 (commit commit)))
4836 (file-name (git-file-name "lack" version))
4837 (sha256
4838 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4839 (build-system asdf-build-system/sbcl)
4840 (arguments
4841 '(#:test-asd-file "t-lack.asd"
4842 ;; XXX: Component :CLACK not found
4843 #:tests? #f))
4844 (native-inputs
4845 `(("prove-asdf" ,sbcl-prove-asdf)))
4846 (inputs
4847 `(("sbcl-lack-component" ,sbcl-lack-component)
4848 ("sbcl-lack-util" ,sbcl-lack-util)))
4849 (home-page "https://github.com/fukamachi/lack")
4850 (synopsis "Lack, the core of Clack")
4851 (description
4852 "Lack is a Common Lisp library which allows web applications to be
4853 constructed of modular components. It was originally a part of Clack, however
4854 it's going to be rewritten as an individual project since Clack v2 with
4855 performance and simplicity in mind.")
4856 (license license:llgpl))))
4857
4858 (define-public cl-lack
4859 (sbcl-package->cl-source-package sbcl-lack))
4860
4861 (define-public sbcl-ningle
4862 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4863 (revision "1"))
4864 (package
4865 (name "sbcl-ningle")
4866 (version (git-version "0.3.0" revision commit))
4867 (source
4868 (origin
4869 (method git-fetch)
4870 (uri (git-reference
4871 (url "https://github.com/fukamachi/ningle")
4872 (commit commit)))
4873 (file-name (git-file-name name version))
4874 (sha256
4875 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4876 (build-system asdf-build-system/sbcl)
4877 (arguments
4878 ;; TODO: pull in clack-test
4879 '(#:tests? #f
4880 #:phases
4881 (modify-phases %standard-phases
4882 (delete 'cleanup-files)
4883 (delete 'cleanup)
4884 (add-before 'cleanup 'combine-fasls
4885 (lambda* (#:key outputs #:allow-other-keys)
4886 (let* ((out (assoc-ref outputs "out"))
4887 (lib (string-append out "/lib/sbcl"))
4888 (ningle-path (string-append lib "/ningle"))
4889 (fasl-files (find-files out "\\.fasl$")))
4890 (mkdir-p ningle-path)
4891 (let ((fasl-path (lambda (name)
4892 (string-append ningle-path
4893 "/"
4894 (basename name)
4895 "--system.fasl"))))
4896 (for-each (lambda (file)
4897 (rename-file file
4898 (fasl-path
4899 (basename file ".fasl"))))
4900 fasl-files))
4901 fasl-files)
4902 #t)))))
4903 (native-inputs
4904 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4905 ("sbcl-prove" ,sbcl-prove)))
4906 (inputs
4907 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4908 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4909 ("sbcl-myway" ,sbcl-myway)
4910 ("sbcl-lack-request" ,sbcl-lack-request)
4911 ("sbcl-lack-response" ,sbcl-lack-response)
4912 ("sbcl-lack-component" ,sbcl-lack-component)
4913 ("sbcl-alexandria" ,sbcl-alexandria)
4914 ("sbcl-babel" ,sbcl-babel)))
4915 (home-page "https://8arrow.org/ningle/")
4916 (synopsis "Super micro framework for Common Lisp")
4917 (description
4918 "Ningle is a lightweight web application framework for Common Lisp.")
4919 (license license:llgpl))))
4920
4921 (define-public cl-ningle
4922 (sbcl-package->cl-source-package sbcl-ningle))
4923
4924 (define-public sbcl-clack
4925 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4926 (revision "1"))
4927 (package
4928 (name "sbcl-clack")
4929 (version (git-version "2.0.0" revision commit))
4930 (source
4931 (origin
4932 (method git-fetch)
4933 (uri (git-reference
4934 (url "https://github.com/fukamachi/clack")
4935 (commit commit)))
4936 (file-name (git-file-name name version))
4937 (sha256
4938 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4939 (build-system asdf-build-system/sbcl)
4940 (inputs
4941 `(("sbcl-lack" ,sbcl-lack)
4942 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4943 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4944 (home-page "https://github.com/fukamachi/clack")
4945 (synopsis "Web Application Environment for Common Lisp")
4946 (description
4947 "Clack is a web application environment for Common Lisp inspired by
4948 Python's WSGI and Ruby's Rack.")
4949 (license license:llgpl))))
4950
4951 (define-public cl-clack
4952 (sbcl-package->cl-source-package sbcl-clack))
4953
4954 (define-public sbcl-log4cl
4955 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4956 (revision "1"))
4957 (package
4958 (name "sbcl-log4cl")
4959 (build-system asdf-build-system/sbcl)
4960 (version "1.1.2")
4961 (source
4962 (origin
4963 (method git-fetch)
4964 (uri (git-reference
4965 (url "https://github.com/sharplispers/log4cl")
4966 (commit commit)))
4967 (file-name (git-file-name name version))
4968 (sha256
4969 (base32
4970 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4971 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4972 (arguments
4973 `(#:tests? #f))
4974 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4975 (synopsis "Common Lisp logging framework, modeled after Log4J")
4976 (home-page "https://github.com/7max/log4cl")
4977 (description "This is a Common Lisp logging framework that can log at
4978 various levels and mix text with expressions.")
4979 (license license:asl2.0))))
4980
4981 (define-public cl-log4cl
4982 (sbcl-package->cl-source-package sbcl-log4cl))
4983
4984 (define-public ecl-log4cl
4985 (sbcl-package->ecl-package sbcl-log4cl))
4986
4987 (define-public sbcl-find-port
4988 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4989 (revision "1"))
4990 (package
4991 (name "sbcl-find-port")
4992 (build-system asdf-build-system/sbcl)
4993 (version "0.1")
4994 (home-page "https://github.com/eudoxia0/find-port")
4995 (source
4996 (origin
4997 (method git-fetch)
4998 (uri (git-reference
4999 (url home-page)
5000 (commit commit)))
5001 (file-name (git-file-name name version))
5002 (sha256
5003 (base32
5004 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5005 (native-inputs
5006 `(("fiveam" ,sbcl-fiveam)))
5007 (inputs
5008 `(("sbcl-usocket" ,sbcl-usocket)))
5009 (synopsis "Find open ports programmatically in Common Lisp")
5010 (description "This is a small Common Lisp library that finds an open
5011 port within a range.")
5012 (license license:expat))))
5013
5014 (define-public cl-find-port
5015 (sbcl-package->cl-source-package sbcl-find-port))
5016
5017 (define-public ecl-find-port
5018 (sbcl-package->ecl-package sbcl-find-port))
5019
5020 (define-public sbcl-clunit
5021 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5022 (revision "1"))
5023 (package
5024 (name "sbcl-clunit")
5025 (version (git-version "0.2.3" revision commit))
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://github.com/tgutu/clunit")
5031 (commit commit)))
5032 (file-name (git-file-name name version))
5033 (sha256
5034 (base32
5035 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5036 (build-system asdf-build-system/sbcl)
5037 (synopsis "CLUnit is a Common Lisp unit testing framework")
5038 (description
5039 "CLUnit is a Common Lisp unit testing framework. It is designed
5040 to be easy to use so that you can quickly start testing. CLUnit
5041 provides a rich set of features aimed at improving your unit testing
5042 experience.")
5043 (home-page "https://tgutu.github.io/clunit/")
5044 ;; MIT License
5045 (license license:expat))))
5046
5047 (define-public cl-clunit
5048 (sbcl-package->cl-source-package sbcl-clunit))
5049
5050 (define-public ecl-clunit
5051 (sbcl-package->ecl-package sbcl-clunit))
5052
5053 (define-public sbcl-py4cl
5054 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5055 (revision "1"))
5056 (package
5057 (name "sbcl-py4cl")
5058 (version (git-version "0.0.0" revision commit))
5059 (source
5060 (origin
5061 (method git-fetch)
5062 (uri (git-reference
5063 (url "https://github.com/bendudson/py4cl")
5064 (commit commit)))
5065 (file-name (git-file-name name version))
5066 (sha256
5067 (base32
5068 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5069 (modules '((guix build utils)))))
5070 (build-system asdf-build-system/sbcl)
5071 (native-inputs
5072 `(("sbcl-clunit" ,sbcl-clunit)))
5073 (inputs
5074 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5075 (propagated-inputs
5076 ;; This package doesn't do anything without python available
5077 `(("python" ,python)
5078 ;; For multi-dimensional array support
5079 ("python-numpy" ,python-numpy)))
5080 (arguments
5081 '(#:phases
5082 (modify-phases %standard-phases
5083 (add-after 'unpack 'replace-*base-directory*-var
5084 (lambda* (#:key outputs #:allow-other-keys)
5085 ;; In the ASD, the author makes an attempt to
5086 ;; programatically determine the location of the
5087 ;; source-code so lisp can call into "py4cl.py". We can
5088 ;; hard-code this since we know where this file will
5089 ;; reside.
5090 (substitute* "src/callpython.lisp"
5091 (("py4cl/config:\\*base-directory\\*")
5092 (string-append
5093 "\""
5094 (assoc-ref outputs "out")
5095 "/share/common-lisp/sbcl-source/py4cl/"
5096 "\""))))))))
5097 (synopsis "Call python from Common Lisp")
5098 (description
5099 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5100 Lisp to interact with Python code. It uses streams to communicate with a
5101 separate python process, the approach taken by cl4py. This is different to
5102 the CFFI approach used by burgled-batteries, but has the same goal.")
5103 (home-page "https://github.com/bendudson/py4cl")
5104 ;; MIT License
5105 (license license:expat))))
5106
5107 (define-public cl-py4cl
5108 (sbcl-package->cl-source-package sbcl-py4cl))
5109
5110 (define-public ecl-py4cl
5111 (sbcl-package->ecl-package sbcl-py4cl))
5112
5113 (define-public sbcl-parse-declarations
5114 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5115 (revision "1"))
5116 (package
5117 (name "sbcl-parse-declarations")
5118 (version (git-version "1.0.0" revision commit))
5119 (source
5120 (origin
5121 (method git-fetch)
5122 (uri (git-reference
5123 (url (string-append
5124 "https://gitlab.common-lisp.net/parse-declarations/"
5125 "parse-declarations.git"))
5126 (commit commit)))
5127 (file-name (git-file-name name version))
5128 (sha256
5129 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5130 (build-system asdf-build-system/sbcl)
5131 (arguments
5132 `(#:asd-file "parse-declarations-1.0.asd"
5133 #:asd-system-name "parse-declarations-1.0"))
5134 (home-page "https://common-lisp.net/project/parse-declarations/")
5135 (synopsis "Parse, filter, and build declarations")
5136 (description
5137 "Parse-Declarations is a Common Lisp library to help writing
5138 macros which establish bindings. To be semantically correct, such
5139 macros must take user declarations into account, as these may affect
5140 the bindings they establish. Yet the ANSI standard of Common Lisp does
5141 not provide any operators to work with declarations in a convenient,
5142 high-level way. This library provides such operators.")
5143 ;; MIT License
5144 (license license:expat))))
5145
5146 (define-public cl-parse-declarations
5147 (sbcl-package->cl-source-package sbcl-parse-declarations))
5148
5149 (define-public ecl-parse-declarations
5150 (sbcl-package->ecl-package sbcl-parse-declarations))
5151
5152 (define-public sbcl-cl-quickcheck
5153 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5154 (revision "1"))
5155 (package
5156 (name "sbcl-cl-quickcheck")
5157 (version (git-version "0.0.4" revision commit))
5158 (source
5159 (origin
5160 (method git-fetch)
5161 (uri (git-reference
5162 (url "https://github.com/mcandre/cl-quickcheck")
5163 (commit commit)))
5164 (file-name (git-file-name name version))
5165 (sha256
5166 (base32
5167 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5168 (build-system asdf-build-system/sbcl)
5169 (synopsis
5170 "Common Lisp port of the QuickCheck unit test framework")
5171 (description
5172 "Common Lisp port of the QuickCheck unit test framework")
5173 (home-page "https://github.com/mcandre/cl-quickcheck")
5174 ;; MIT
5175 (license license:expat))))
5176
5177 (define-public cl-cl-quickcheck
5178 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5179
5180 (define-public ecl-cl-quickcheck
5181 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5182
5183 (define-public sbcl-burgled-batteries3
5184 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5185 (revision "2"))
5186 (package
5187 (name "sbcl-burgled-batteries3")
5188 (version (git-version "0.0.0" revision commit))
5189 (source
5190 (origin
5191 (method git-fetch)
5192 (uri (git-reference
5193 (url "https://github.com/snmsts/burgled-batteries3")
5194 (commit commit)))
5195 (file-name (git-file-name name version))
5196 (sha256
5197 (base32
5198 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
5199 (build-system asdf-build-system/sbcl)
5200 (arguments
5201 `(#:tests? #f
5202 #:modules (((guix build python-build-system) #:select (python-version))
5203 ,@%asdf-build-system-modules)
5204 #:imported-modules ((guix build python-build-system)
5205 ,@%asdf-build-system-modules)
5206 #:phases
5207 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
5208 (add-after 'unpack 'set-*cpython-include-dir*-var
5209 (lambda* (#:key inputs #:allow-other-keys)
5210 (let ((python (assoc-ref inputs "python")))
5211 (setenv "BB_PYTHON3_INCLUDE_DIR"
5212 (string-append python "/include/python"
5213 (python-version python)))
5214 (setenv "BB_PYTHON3_DYLIB"
5215 (string-append python "/lib/libpython3.so"))
5216 #t)))
5217 (add-after 'unpack 'adjust-for-python-3.8
5218 (lambda _
5219 ;; This method is no longer part of the public API.
5220 (substitute* "ffi-interface.lisp"
5221 ((".*PyEval_ReInitThreads.*")
5222 ""))
5223 #t)))))
5224 (native-inputs
5225 `(("sbcl-cl-fad" ,sbcl-cl-fad)
5226 ("sbcl-lift" ,sbcl-lift)
5227 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5228 (inputs
5229 `(("python" ,python)
5230 ("sbcl-cffi" ,sbcl-cffi)
5231 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5232 ("sbcl-alexandria" , sbcl-alexandria)
5233 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5234 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5235 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5236 (description
5237 "This package provides a shim between Python3 (specifically, the
5238 CPython implementation of Python) and Common Lisp.")
5239 (home-page "https://github.com/snmsts/burgled-batteries3")
5240 (license license:expat))))
5241
5242 (define-public cl-burgled-batteries3
5243 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5244
5245 (define-public ecl-burgled-batteries3
5246 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5247
5248 (define-public sbcl-metabang-bind
5249 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5250 (revision "1"))
5251 (package
5252 (name "sbcl-metabang-bind")
5253 (version (git-version "0.8.0" revision commit))
5254 (source
5255 (origin
5256 (method git-fetch)
5257 (uri (git-reference
5258 (url "https://github.com/gwkkwg/metabang-bind")
5259 (commit commit)))
5260 (file-name (git-file-name name version))
5261 (sha256
5262 (base32
5263 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5264 (build-system asdf-build-system/sbcl)
5265 (native-inputs
5266 `(("sbcl-lift" ,sbcl-lift)))
5267 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5268 (description
5269 "Bind extends the idea of of let and destructing to provide a uniform
5270 syntax for all your accessor needs. It combines @code{let},
5271 @code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5272 editing, property or association-lists, and @code{multiple-value-bind} and a
5273 whole lot more into a single form.")
5274 (home-page "https://common-lisp.net/project/metabang-bind/")
5275 ;; MIT License
5276 (license license:expat))))
5277
5278 (define-public cl-metabang-bind
5279 (sbcl-package->cl-source-package sbcl-metabang-bind))
5280
5281 (define-public ecl-metabang-bind
5282 (sbcl-package->ecl-package sbcl-metabang-bind))
5283
5284 (define-public sbcl-fare-utils
5285 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5286 (revision "1"))
5287 (package
5288 (name "sbcl-fare-utils")
5289 (version (git-version "1.0.0.5" revision commit))
5290 (source
5291 (origin
5292 (method git-fetch)
5293 (uri
5294 (git-reference
5295 (url
5296 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5297 (commit commit)))
5298 (file-name (git-file-name name version))
5299 (sha256
5300 (base32
5301 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5302 (build-system asdf-build-system/sbcl)
5303 (arguments
5304 `(#:test-asd-file "test/fare-utils-test.asd"))
5305 (native-inputs
5306 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5307 (synopsis "Collection of utilities and data structures")
5308 (description
5309 "fare-utils is a small collection of utilities. It contains a lot of
5310 basic everyday functions and macros.")
5311 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5312 ;; MIT License
5313 (license license:expat))))
5314
5315 (define-public cl-fare-utils
5316 (sbcl-package->cl-source-package sbcl-fare-utils))
5317
5318 (define-public ecl-fare-utils
5319 (sbcl-package->ecl-package sbcl-fare-utils))
5320
5321 (define-public sbcl-trivial-utf-8
5322 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5323 (revision "1"))
5324 (package
5325 (name "sbcl-trivial-utf-8")
5326 (version (git-version "0.0.0" revision commit))
5327 (source
5328 (origin
5329 (method git-fetch)
5330 (uri
5331 (git-reference
5332 (url (string-append "https://gitlab.common-lisp.net/"
5333 "trivial-utf-8/trivial-utf-8.git"))
5334 (commit commit)))
5335 (file-name (git-file-name name version))
5336 (sha256
5337 (base32
5338 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5339 (arguments
5340 ;; Guix incorrectly assumes the "8" is part of the version
5341 ;; number and lobs it off.
5342 `(#:asd-file "trivial-utf-8.asd"
5343 #:asd-system-name "trivial-utf-8"))
5344 (build-system asdf-build-system/sbcl)
5345 (synopsis "UTF-8 input/output library")
5346 (description
5347 "The Babel library solves a similar problem while understanding more
5348 encodings. Trivial UTF-8 was written before Babel existed, but for new
5349 projects you might be better off going with Babel. The one plus that Trivial
5350 UTF-8 has is that it doesn't depend on any other libraries.")
5351 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5352 (license license:bsd-3))))
5353
5354 (define-public cl-trivial-utf-8
5355 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5356
5357 (define-public ecl-trivial-utf-8
5358 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5359
5360 (define-public sbcl-idna
5361 (package
5362 (name "sbcl-idna")
5363 (build-system asdf-build-system/sbcl)
5364 (version "0.2.2")
5365 (home-page "https://github.com/antifuchs/idna")
5366 (source
5367 (origin
5368 (method git-fetch)
5369 (uri (git-reference
5370 (url home-page)
5371 (commit version)))
5372 (file-name (git-file-name name version))
5373 (sha256
5374 (base32
5375 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5376 (inputs
5377 `(("split-sequence" ,sbcl-split-sequence)))
5378 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5379 (description "This Common Lisp library provides string encoding and
5380 decoding routines for IDNA, the International Domain Names in Applications.")
5381 (license license:expat)))
5382
5383 (define-public cl-idna
5384 (sbcl-package->cl-source-package sbcl-idna))
5385
5386 (define-public ecl-idna
5387 (sbcl-package->ecl-package sbcl-idna))
5388
5389 (define-public sbcl-swap-bytes
5390 (package
5391 (name "sbcl-swap-bytes")
5392 (build-system asdf-build-system/sbcl)
5393 (version "1.2")
5394 (home-page "https://github.com/sionescu/swap-bytes")
5395 (source
5396 (origin
5397 (method git-fetch)
5398 (uri (git-reference
5399 (url home-page)
5400 (commit (string-append "v" version))))
5401 (file-name (git-file-name name version))
5402 (sha256
5403 (base32
5404 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
5405 (inputs
5406 `(("trivial-features" ,sbcl-trivial-features)))
5407 (native-inputs
5408 `(("fiveam" ,sbcl-fiveam)))
5409 (synopsis "Efficient endianness conversion for Common Lisp")
5410 (description "This Common Lisp library provides optimized byte-swapping
5411 primitives. The library can change endianness of unsigned integers of length
5412 1/2/4/8. Very useful in implementing various network protocols and file
5413 formats.")
5414 (license license:expat)))
5415
5416 (define-public cl-swap-bytes
5417 (sbcl-package->cl-source-package sbcl-swap-bytes))
5418
5419 (define-public ecl-swap-bytes
5420 (sbcl-package->ecl-package sbcl-swap-bytes))
5421
5422 (define-public sbcl-iolib.asdf
5423 ;; Latest release is from June 2017.
5424 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5425 (revision "2"))
5426 (package
5427 (name "sbcl-iolib.asdf")
5428 (build-system asdf-build-system/sbcl)
5429 (version (git-version "0.8.3" revision commit))
5430 (home-page "https://github.com/sionescu/iolib")
5431 (source
5432 (origin
5433 (method git-fetch)
5434 (uri (git-reference
5435 (url home-page)
5436 (commit commit)))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32
5440 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
5441 (inputs
5442 `(("alexandria" ,sbcl-alexandria)))
5443 (arguments
5444 '(#:asd-file "iolib.asdf.asd"))
5445 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5446 (description "IOlib is to be a better and more modern I/O library than
5447 the standard Common Lisp library. It contains a socket library, a DNS
5448 resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5449 and @code{kqueue(2)}), a pathname library and file-system utilities.")
5450 (license license:expat))))
5451
5452 (define-public sbcl-iolib.conf
5453 (package
5454 (inherit sbcl-iolib.asdf)
5455 (name "sbcl-iolib.conf")
5456 (inputs
5457 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5458 (arguments
5459 '(#:asd-file "iolib.conf.asd"))
5460 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5461
5462 (define-public sbcl-iolib.common-lisp
5463 (package
5464 (inherit sbcl-iolib.asdf)
5465 (name "sbcl-iolib.common-lisp")
5466 (inputs
5467 `(("iolib.asdf" ,sbcl-iolib.asdf)
5468 ("iolib.conf" ,sbcl-iolib.conf)))
5469 (arguments
5470 '(#:asd-file "iolib.common-lisp.asd"))
5471 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5472
5473 (define-public sbcl-iolib.base
5474 (package
5475 (inherit sbcl-iolib.asdf)
5476 (name "sbcl-iolib.base")
5477 (inputs
5478 `(("iolib.asdf" ,sbcl-iolib.asdf)
5479 ("iolib.conf" ,sbcl-iolib.conf)
5480 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5481 ("split-sequence" ,sbcl-split-sequence)))
5482 (arguments
5483 '(#:asd-file "iolib.base.asd"))
5484 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5485
5486 (define-public sbcl-iolib.grovel
5487 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
5488
5489 (define sbcl-iolib+syscalls
5490 (package
5491 (inherit sbcl-iolib.asdf)
5492 (name "sbcl-iolib+syscalls")
5493 (inputs
5494 `(("iolib.asdf" ,sbcl-iolib.asdf)
5495 ("iolib.conf" ,sbcl-iolib.conf)
5496 ("cffi-grovel" ,sbcl-cffi-grovel)
5497 ("iolib.base" ,sbcl-iolib.base)
5498 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5499 ("idna" ,sbcl-idna)
5500 ("swap-bytes" ,sbcl-swap-bytes)
5501 ("libfixposix" ,libfixposix)
5502 ("cffi" ,sbcl-cffi)))
5503 (native-inputs
5504 `(("fiveam" ,sbcl-fiveam)))
5505 (arguments
5506 '(#:asd-file "iolib.asd"
5507 #:asd-system-name "iolib/syscalls"
5508 #:phases
5509 (modify-phases %standard-phases
5510 (add-after 'unpack 'fix-paths
5511 (lambda* (#:key inputs #:allow-other-keys)
5512 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5513 (("\\(:default \"libfixposix\"\\)")
5514 (string-append
5515 "(:default \""
5516 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5517 ;; Socket tests need Internet access, disable them.
5518 (substitute* "iolib.asd"
5519 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5520 "")))))))
5521 (synopsis "Common Lisp I/O library")))
5522
5523 (define sbcl-iolib+multiplex
5524 (package
5525 (inherit sbcl-iolib+syscalls)
5526 (name "sbcl-iolib+multiplex")
5527 (inputs
5528 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5529 ,@(package-inputs sbcl-iolib+syscalls)))
5530 (arguments
5531 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5532 ((#:asd-system-name _) "iolib/multiplex")))))
5533
5534 (define sbcl-iolib+streams
5535 (package
5536 (inherit sbcl-iolib+syscalls)
5537 (name "sbcl-iolib+streams")
5538 (inputs
5539 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5540 ,@(package-inputs sbcl-iolib+syscalls)))
5541 (arguments
5542 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5543 ((#:asd-system-name _) "iolib/streams")))))
5544
5545 (define sbcl-iolib+sockets
5546 (package
5547 (inherit sbcl-iolib+syscalls)
5548 (name "sbcl-iolib+sockets")
5549 (inputs
5550 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5551 ("iolib+streams" ,sbcl-iolib+streams)
5552 ,@(package-inputs sbcl-iolib+syscalls)))
5553 (arguments
5554 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5555 ((#:asd-system-name _) "iolib/sockets")))))
5556
5557 (define-public sbcl-iolib
5558 (package
5559 (inherit sbcl-iolib+syscalls)
5560 (name "sbcl-iolib")
5561 (inputs
5562 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5563 ("iolib+streams" ,sbcl-iolib+streams)
5564 ("iolib+sockets" ,sbcl-iolib+sockets)
5565 ,@(package-inputs sbcl-iolib+syscalls)))
5566 (arguments
5567 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5568 ((#:asd-system-name _) "iolib")))))
5569
5570 (define-public cl-iolib
5571 (let ((parent (sbcl-package->cl-source-package sbcl-iolib)))
5572 (package
5573 (inherit parent)
5574 (propagated-inputs
5575 ;; Need header to compile.
5576 `(("libfixposix" ,libfixposix)
5577 ,@(package-propagated-inputs parent))))))
5578
5579 (define-public sbcl-ieee-floats
5580 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5581 (revision "1"))
5582 (package
5583 (name "sbcl-ieee-floats")
5584 (build-system asdf-build-system/sbcl)
5585 (version (git-version "20170924" revision commit))
5586 (home-page "https://github.com/marijnh/ieee-floats/")
5587 (source
5588 (origin
5589 (method git-fetch)
5590 (uri (git-reference
5591 (url home-page)
5592 (commit commit)))
5593 (file-name (git-file-name name version))
5594 (sha256
5595 (base32
5596 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5597 (native-inputs
5598 `(("fiveam" ,sbcl-fiveam)))
5599 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5600 (description "This is a Common Lisp library that converts
5601 floating point values to IEEE 754 binary representation.")
5602 (license license:bsd-3))))
5603
5604 (define-public cl-ieee-floats
5605 (sbcl-package->cl-source-package sbcl-ieee-floats))
5606
5607 (define sbcl-closure-common
5608 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5609 (revision "1"))
5610 (package
5611 (name "sbcl-closure-common")
5612 (build-system asdf-build-system/sbcl)
5613 (version (git-version "20101006" revision commit))
5614 (home-page "https://common-lisp.net/project/cxml/")
5615 (source
5616 (origin
5617 (method git-fetch)
5618 (uri (git-reference
5619 (url "https://github.com/sharplispers/closure-common")
5620 (commit commit)))
5621 (file-name (git-file-name name version))
5622 (sha256
5623 (base32
5624 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5625 (inputs
5626 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5627 ("babel" ,sbcl-babel)))
5628 (synopsis "Support Common Lisp library for CXML")
5629 (description "Closure-common is an internal helper library. The name
5630 Closure is a reference to the web browser it was originally written for.")
5631 ;; TODO: License?
5632 (license #f))))
5633
5634 (define-public sbcl-cxml+xml
5635 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5636 (revision "1"))
5637 (package
5638 (name "sbcl-cxml+xml")
5639 (build-system asdf-build-system/sbcl)
5640 (version (git-version "0.0.0" revision commit))
5641 (home-page "https://common-lisp.net/project/cxml/")
5642 (source
5643 (origin
5644 (method git-fetch)
5645 (uri (git-reference
5646 (url "https://github.com/sharplispers/cxml")
5647 (commit commit)))
5648 (file-name (git-file-name name version))
5649 (sha256
5650 (base32
5651 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5652 (inputs
5653 `(("closure-common" ,sbcl-closure-common)
5654 ("puri" ,sbcl-puri)
5655 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5656 (arguments
5657 `(#:asd-file "cxml.asd"
5658 #:asd-system-name "cxml/xml"))
5659 (synopsis "Common Lisp XML parser")
5660 (description "CXML implements a namespace-aware, validating XML 1.0
5661 parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5662 offered, one SAX-like, the other similar to StAX.")
5663 (license license:llgpl))))
5664
5665 (define sbcl-cxml+dom
5666 (package
5667 (inherit sbcl-cxml+xml)
5668 (name "sbcl-cxml+dom")
5669 (inputs
5670 `(("closure-common" ,sbcl-closure-common)
5671 ("puri" ,sbcl-puri)
5672 ("cxml+xml" ,sbcl-cxml+xml)))
5673 (arguments
5674 `(#:asd-file "cxml.asd"
5675 #:asd-system-name "cxml/dom"))))
5676
5677 (define sbcl-cxml+klacks
5678 (package
5679 (inherit sbcl-cxml+xml)
5680 (name "sbcl-cxml+klacks")
5681 (inputs
5682 `(("closure-common" ,sbcl-closure-common)
5683 ("puri" ,sbcl-puri)
5684 ("cxml+xml" ,sbcl-cxml+xml)))
5685 (arguments
5686 `(#:asd-file "cxml.asd"
5687 #:asd-system-name "cxml/klacks"))))
5688
5689 (define sbcl-cxml+test
5690 (package
5691 (inherit sbcl-cxml+xml)
5692 (name "sbcl-cxml+test")
5693 (inputs
5694 `(("closure-common" ,sbcl-closure-common)
5695 ("puri" ,sbcl-puri)
5696 ("cxml+xml" ,sbcl-cxml+xml)))
5697 (arguments
5698 `(#:asd-file "cxml.asd"
5699 #:asd-system-name "cxml/test"))))
5700
5701 (define-public sbcl-cxml
5702 (package
5703 (inherit sbcl-cxml+xml)
5704 (name "sbcl-cxml")
5705 (inputs
5706 `(("closure-common" ,sbcl-closure-common)
5707 ("puri" ,sbcl-puri)
5708 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5709 ("cxml+dom" ,sbcl-cxml+dom)
5710 ("cxml+klacks" ,sbcl-cxml+klacks)
5711 ("cxml+test" ,sbcl-cxml+test)))
5712 (arguments
5713 `(#:asd-file "cxml.asd"
5714 #:asd-system-name "cxml"
5715 #:phases
5716 (modify-phases %standard-phases
5717 (add-after 'build 'install-dtd
5718 (lambda* (#:key outputs #:allow-other-keys)
5719 (install-file "catalog.dtd"
5720 (string-append
5721 (assoc-ref outputs "out")
5722 "/lib/" (%lisp-type))))))))))
5723
5724 (define-public cl-cxml
5725 (sbcl-package->cl-source-package sbcl-cxml))
5726
5727 (define-public sbcl-cl-reexport
5728 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5729 (revision "1"))
5730 (package
5731 (name "sbcl-cl-reexport")
5732 (build-system asdf-build-system/sbcl)
5733 (version (git-version "0.1" revision commit))
5734 (home-page "https://github.com/takagi/cl-reexport")
5735 (source
5736 (origin
5737 (method git-fetch)
5738 (uri (git-reference
5739 (url home-page)
5740 (commit commit)))
5741 (file-name (git-file-name name version))
5742 (sha256
5743 (base32
5744 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5745 (inputs
5746 `(("alexandria" ,sbcl-alexandria)))
5747 (arguments
5748 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5749 `(#:tests? #f))
5750 (synopsis "HTTP cookie manager for Common Lisp")
5751 (description "cl-cookie is a Common Lisp library featuring parsing of
5752 cookie headers, cookie creation, cookie jar creation and more.")
5753 (license license:llgpl))))
5754
5755 (define-public cl-reexport
5756 (sbcl-package->cl-source-package sbcl-cl-reexport))
5757
5758 (define-public sbcl-cl-cookie
5759 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5760 (revision "1"))
5761 (package
5762 (name "sbcl-cl-cookie")
5763 (build-system asdf-build-system/sbcl)
5764 (version (git-version "0.9.10" revision commit))
5765 (home-page "https://github.com/fukamachi/cl-cookie")
5766 (source
5767 (origin
5768 (method git-fetch)
5769 (uri (git-reference
5770 (url home-page)
5771 (commit commit)))
5772 (file-name (git-file-name name version))
5773 (sha256
5774 (base32
5775 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5776 (inputs
5777 `(("proc-parse" ,sbcl-proc-parse)
5778 ("alexandria" ,sbcl-alexandria)
5779 ("quri" ,sbcl-quri)
5780 ("cl-ppcre" ,sbcl-cl-ppcre)
5781 ("local-time" ,sbcl-local-time)))
5782 (native-inputs
5783 `(("prove-asdf" ,sbcl-prove-asdf)
5784 ("prove" ,sbcl-prove)))
5785 (arguments
5786 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5787 `(#:tests? #f))
5788 (synopsis "HTTP cookie manager for Common Lisp")
5789 (description "cl-cookie is a Common Lisp library featuring parsing of
5790 cookie headers, cookie creation, cookie jar creation and more.")
5791 (license license:bsd-2))))
5792
5793 (define-public cl-cookie
5794 (sbcl-package->cl-source-package sbcl-cl-cookie))
5795
5796 (define-public sbcl-dexador
5797 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
5798 (revision "1"))
5799 (package
5800 (name "sbcl-dexador")
5801 (build-system asdf-build-system/sbcl)
5802 (version "0.9.14" )
5803 (home-page "https://github.com/fukamachi/dexador")
5804 (source
5805 (origin
5806 (method git-fetch)
5807 (uri (git-reference
5808 (url home-page)
5809 (commit commit)))
5810 (file-name (git-file-name name version))
5811 (sha256
5812 (base32
5813 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
5814 (inputs
5815 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5816 ("babel" ,sbcl-babel)
5817 ("usocket" ,sbcl-usocket)
5818 ("fast-http" ,sbcl-fast-http)
5819 ("quri" ,sbcl-quri)
5820 ("fast-io" ,sbcl-fast-io)
5821 ("chunga" ,sbcl-chunga)
5822 ("cl-ppcre" ,sbcl-cl-ppcre)
5823 ("cl-cookie" ,sbcl-cl-cookie)
5824 ("trivial-mimes" ,sbcl-trivial-mimes)
5825 ("chipz" ,sbcl-chipz)
5826 ("cl-base64" ,sbcl-cl-base64)
5827 ("cl-reexport" ,sbcl-cl-reexport)
5828 ("cl+ssl" ,sbcl-cl+ssl)
5829 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5830 ("alexandria" ,sbcl-alexandria)))
5831 (native-inputs
5832 `(("prove" ,sbcl-prove)
5833 ("prove-asdf" ,sbcl-prove-asdf)
5834 ("lack-request" ,sbcl-lack-request)
5835 ("clack" ,sbcl-clack)
5836 ("babel" ,sbcl-babel)
5837 ("alexandria" ,sbcl-alexandria)
5838 ("cl-ppcre" ,sbcl-cl-ppcre)
5839 ("local-time" ,sbcl-local-time)
5840 ("trivial-features" ,sbcl-trivial-features)))
5841 (arguments
5842 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5843 `(#:tests? #f
5844 #:phases
5845 (modify-phases %standard-phases
5846 (add-after 'unpack 'fix-permissions
5847 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5848 (synopsis "Yet another HTTP client for Common Lisp")
5849 (description "Dexador is yet another HTTP client for Common Lisp with
5850 neat APIs and connection-pooling. It is meant to supersede Drakma.")
5851 (license license:expat))))
5852
5853 (define-public cl-dexador
5854 (package
5855 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5856 (arguments
5857 `(#:phases
5858 ;; asdf-build-system/source has its own phases and does not inherit
5859 ;; from asdf-build-system/sbcl phases.
5860 (modify-phases %standard-phases/source
5861 ;; Already done in SBCL package.
5862 (delete 'reset-gzip-timestamps))))))
5863
5864 (define-public ecl-dexador
5865 (sbcl-package->ecl-package sbcl-dexador))
5866
5867 (define-public sbcl-lisp-namespace
5868 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5869 (revision "1"))
5870 (package
5871 (name "sbcl-lisp-namespace")
5872 (build-system asdf-build-system/sbcl)
5873 (version (git-version "0.1" revision commit))
5874 (home-page "https://github.com/guicho271828/lisp-namespace")
5875 (source
5876 (origin
5877 (method git-fetch)
5878 (uri (git-reference
5879 (url home-page)
5880 (commit commit)))
5881 (file-name (git-file-name name version))
5882 (sha256
5883 (base32
5884 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5885 (inputs
5886 `(("alexandria" ,sbcl-alexandria)))
5887 (native-inputs
5888 `(("fiveam" ,sbcl-fiveam)))
5889 (arguments
5890 `(#:test-asd-file "lisp-namespace.test.asd"
5891 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5892 #:tests? #f))
5893 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5894 (description "Common Lisp already has major 2 namespaces, function
5895 namespace and value namespace (or variable namespace), but there are actually
5896 more — e.g., class namespace.
5897 This library offers macros to deal with symbols from any namespace.")
5898 (license license:llgpl))))
5899
5900 (define-public cl-lisp-namespace
5901 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5902
5903 (define-public sbcl-trivial-cltl2
5904 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5905 (revision "2"))
5906 (package
5907 (name "sbcl-trivial-cltl2")
5908 (build-system asdf-build-system/sbcl)
5909 (version (git-version "0.1.1" revision commit))
5910 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5911 (source
5912 (origin
5913 (method git-fetch)
5914 (uri (git-reference
5915 (url home-page)
5916 (commit commit)))
5917 (file-name (git-file-name name version))
5918 (sha256
5919 (base32
5920 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
5921 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5922 (description "This library is a portable compatibility layer around
5923 \"Common Lisp the Language, 2nd
5924 Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5925 and it exports symbols from implementation-specific packages.")
5926 (license license:llgpl))))
5927
5928 (define-public cl-trivial-cltl2
5929 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5930
5931 (define-public sbcl-introspect-environment
5932 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5933 (revision "1"))
5934 (package
5935 (name "sbcl-introspect-environment")
5936 (build-system asdf-build-system/sbcl)
5937 (version (git-version "0.1" revision commit))
5938 (home-page "https://github.com/Bike/introspect-environment")
5939 (source
5940 (origin
5941 (method git-fetch)
5942 (uri (git-reference
5943 (url home-page)
5944 (commit commit)))
5945 (file-name (git-file-name name version))
5946 (sha256
5947 (base32
5948 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5949 (native-inputs
5950 `(("fiveam" ,sbcl-fiveam)))
5951 (synopsis "Common Lisp environment introspection portability layer")
5952 (description "This library is a small interface to portable but
5953 nonstandard introspection of Common Lisp environments. It is intended to
5954 allow a bit more compile-time introspection of environments in Common Lisp.
5955
5956 Quite a bit of information is available at the time a macro or compiler-macro
5957 runs; inlining info, type declarations, that sort of thing. This information
5958 is all standard - any Common Lisp program can @code{(declare (integer x))} and
5959 such.
5960
5961 This info ought to be accessible through the standard @code{&environment}
5962 parameters, but it is not. Several implementations keep the information for
5963 their own purposes but do not make it available to user programs, because
5964 there is no standard mechanism to do so.
5965
5966 This library uses implementation-specific hooks to make information available
5967 to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5968 implementations have implementations of the functions that do as much as they
5969 can and/or provide reasonable defaults.")
5970 (license license:wtfpl2))))
5971
5972 (define-public cl-introspect-environment
5973 (sbcl-package->cl-source-package sbcl-introspect-environment))
5974
5975 (define-public sbcl-type-i
5976 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5977 (revision "2"))
5978 (package
5979 (name "sbcl-type-i")
5980 (build-system asdf-build-system/sbcl)
5981 (version (git-version "0.1" revision commit))
5982 (home-page "https://github.com/guicho271828/type-i")
5983 (source
5984 (origin
5985 (method git-fetch)
5986 (uri (git-reference
5987 (url home-page)
5988 (commit commit)))
5989 (file-name (git-file-name name version))
5990 (sha256
5991 (base32
5992 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
5993 (inputs
5994 `(("alexandria" ,sbcl-alexandria)
5995 ("introspect-environment" ,sbcl-introspect-environment)
5996 ("trivia.trivial" ,sbcl-trivia.trivial)))
5997 (native-inputs
5998 `(("fiveam" ,sbcl-fiveam)))
5999 (arguments
6000 `(#:test-asd-file "type-i.test.asd"))
6001 (synopsis "Type inference utility on unary predicates for Common Lisp")
6002 (description "This library tries to provide a way to detect what kind of
6003 type the given predicate is trying to check. This is different from inferring
6004 the return type of a function.")
6005 (license license:llgpl))))
6006
6007 (define-public cl-type-i
6008 (sbcl-package->cl-source-package sbcl-type-i))
6009
6010 (define-public sbcl-optima
6011 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6012 (revision "1"))
6013 (package
6014 (name "sbcl-optima")
6015 (build-system asdf-build-system/sbcl)
6016 (version (git-version "1.0" revision commit))
6017 (home-page "https://github.com/m2ym/optima")
6018 (source
6019 (origin
6020 (method git-fetch)
6021 (uri (git-reference
6022 (url home-page)
6023 (commit commit)))
6024 (file-name (git-file-name name version))
6025 (sha256
6026 (base32
6027 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6028 (inputs
6029 `(("alexandria" ,sbcl-alexandria)
6030 ("closer-mop" ,sbcl-closer-mop)))
6031 (native-inputs
6032 `(("eos" ,sbcl-eos)))
6033 (arguments
6034 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6035 `(#:tests? #f
6036 #:test-asd-file "optima.test.asd"))
6037 (synopsis "Optimized pattern matching library for Common Lisp")
6038 (description "Optima is a fast pattern matching library which uses
6039 optimizing techniques widely used in the functional programming world.")
6040 (license license:expat))))
6041
6042 (define-public cl-optima
6043 (sbcl-package->cl-source-package sbcl-optima))
6044
6045 (define-public sbcl-fare-quasiquote
6046 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6047 (revision "1"))
6048 (package
6049 (name "sbcl-fare-quasiquote")
6050 (build-system asdf-build-system/sbcl)
6051 (version (git-version "1.0.1" revision commit))
6052 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6053 (source
6054 (origin
6055 (method git-fetch)
6056 (uri (git-reference
6057 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6058 "fare-quasiquote.git"))
6059 (commit commit)))
6060 (file-name (git-file-name name version))
6061 (sha256
6062 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6063 (inputs
6064 `(("fare-utils" ,sbcl-fare-utils)))
6065 (arguments
6066 ;; XXX: Circular dependencies: Tests depend on subsystems,
6067 ;; which depend on the main systems.
6068 `(#:tests? #f
6069 #:phases
6070 (modify-phases %standard-phases
6071 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6072 ;; commits after 1.0.0.5, but ASDF fails to read the
6073 ;; "-REVISION-COMMIT" part generated by Guix.
6074 (add-after 'unpack 'patch-requirement
6075 (lambda _
6076 (substitute* "fare-quasiquote.asd"
6077 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6078 "\"fare-utils\"")))))))
6079 (synopsis "Pattern-matching friendly implementation of quasiquote")
6080 (description "The main purpose of this n+2nd reimplementation of
6081 quasiquote is enable matching of quasiquoted patterns, using Optima or
6082 Trivia.")
6083 (license license:expat))))
6084
6085 (define-public cl-fare-quasiquote
6086 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6087
6088 (define-public sbcl-fare-quasiquote-optima
6089 (package
6090 (inherit sbcl-fare-quasiquote)
6091 (name "sbcl-fare-quasiquote-optima")
6092 (inputs
6093 `(("optima" ,sbcl-optima)
6094 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6095 (arguments
6096 '(#:phases
6097 (modify-phases %standard-phases
6098 (add-after 'unpack 'patch-requirement
6099 (lambda _
6100 (substitute* "fare-quasiquote-optima.asd"
6101 (("\\(:version \"optima\" \"1\\.0\"\\)")
6102 "\"optima\""))
6103 #t)))))))
6104
6105 (define-public cl-fare-quasiquote-optima
6106 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6107
6108 (define-public sbcl-fare-quasiquote-readtable
6109 (package
6110 (inherit sbcl-fare-quasiquote)
6111 (name "sbcl-fare-quasiquote-readtable")
6112 (inputs
6113 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6114 ("named-readtables" ,sbcl-named-readtables)))
6115 (description "The main purpose of this n+2nd reimplementation of
6116 quasiquote is enable matching of quasiquoted patterns, using Optima or
6117 Trivia.
6118
6119 This package uses fare-quasiquote with named-readtable.")))
6120
6121 (define-public cl-fare-quasiquote-readtable
6122 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6123
6124 (define-public sbcl-fare-quasiquote-extras
6125 (package
6126 (inherit sbcl-fare-quasiquote)
6127 (name "sbcl-fare-quasiquote-extras")
6128 (build-system asdf-build-system/sbcl)
6129 (inputs
6130 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6131 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6132 (arguments
6133 `(#:phases
6134 (modify-phases %standard-phases
6135 (replace 'build
6136 (lambda* (#:key outputs #:allow-other-keys)
6137 (let* ((out (assoc-ref outputs "out"))
6138 (lib (string-append out "/lib/" (%lisp-type))))
6139 (mkdir-p lib)
6140 (install-file "fare-quasiquote-extras.asd" lib)
6141 (make-file-writable
6142 (string-append lib "/fare-quasiquote-extras.asd"))
6143 #t))))))
6144 (description "This library combines @code{fare-quasiquote-readtable} and
6145 @code{fare-quasiquote-optima}.")))
6146
6147 (define-public cl-fare-quasiquote-extras
6148 (package
6149 (inherit cl-fare-quasiquote)
6150 (name "cl-fare-quasiquote-extras")
6151 (build-system asdf-build-system/source)
6152 (propagated-inputs
6153 `(("fare-quasiquote" ,cl-fare-quasiquote)
6154 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6155 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6156 (description "This library combines @code{fare-quasiquote-readtable} and
6157 @code{fare-quasiquote-optima}.")))
6158
6159 (define-public sbcl-trivia.level0
6160 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6161 (revision "2"))
6162 (package
6163 (name "sbcl-trivia.level0")
6164 (build-system asdf-build-system/sbcl)
6165 (version (git-version "0.0.0" revision commit))
6166 (home-page "https://github.com/guicho271828/trivia")
6167 (source
6168 (origin
6169 (method git-fetch)
6170 (uri (git-reference
6171 (url home-page)
6172 (commit commit)))
6173 (file-name (git-file-name name version))
6174 (sha256
6175 (base32
6176 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
6177 (inputs
6178 `(("alexandria" ,sbcl-alexandria)))
6179 (synopsis "Pattern matching in Common Lisp")
6180 (description "Trivia is a pattern matching compiler that is compatible
6181 with Optima, another pattern matching library for Common Lisp. It is meant to
6182 be faster and more extensible than Optima.")
6183 (license license:llgpl))))
6184
6185 (define-public sbcl-trivia.level1
6186 (package
6187 (inherit sbcl-trivia.level0)
6188 (name "sbcl-trivia.level1")
6189 (inputs
6190 `(("trivia.level0" ,sbcl-trivia.level0)))
6191 (description "Trivia is a pattern matching compiler that is compatible
6192 with Optima, another pattern matching library for Common Lisp. It is meant to
6193 be faster and more extensible than Optima.
6194
6195 This system contains the core patterns of Trivia.")))
6196
6197 (define-public sbcl-trivia.level2
6198 (package
6199 (inherit sbcl-trivia.level0)
6200 (name "sbcl-trivia.level2")
6201 (inputs
6202 `(("trivia.level1" ,sbcl-trivia.level1)
6203 ("lisp-namespace" ,sbcl-lisp-namespace)
6204 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6205 ("closer-mop" ,sbcl-closer-mop)))
6206 (description "Trivia is a pattern matching compiler that is compatible
6207 with Optima, another pattern matching library for Common Lisp. It is meant to
6208 be faster and more extensible than Optima.
6209
6210 This system contains a non-optimized pattern matcher compatible with Optima,
6211 with extensible optimizer interface.")))
6212
6213 (define-public sbcl-trivia.trivial
6214 (package
6215 (inherit sbcl-trivia.level0)
6216 (name "sbcl-trivia.trivial")
6217 (inputs
6218 `(("trivia.level2" ,sbcl-trivia.level2)))
6219 (description "Trivia is a pattern matching compiler that is compatible
6220 with Optima, another pattern matching library for Common Lisp. It is meant to
6221 be faster and more extensible than Optima.
6222
6223 This system contains the base level system of Trivia with a trivial optimizer.")))
6224
6225 (define-public sbcl-trivia.balland2006
6226 (package
6227 (inherit sbcl-trivia.level0)
6228 (name "sbcl-trivia.balland2006")
6229 (inputs
6230 `(("trivia.trivial" ,sbcl-trivia.trivial)
6231 ("iterate" ,sbcl-iterate)
6232 ("type-i" ,sbcl-type-i)
6233 ("alexandria" ,sbcl-alexandria)))
6234 (arguments
6235 ;; Tests are done in trivia itself.
6236 `(#:tests? #f))
6237 (description "Trivia is a pattern matching compiler that is compatible
6238 with Optima, another pattern matching library for Common Lisp. It is meant to
6239 be faster and more extensible than Optima.
6240
6241 This system contains the base level system of Trivia with a trivial optimizer.")))
6242
6243 (define-public sbcl-trivia.ppcre
6244 (package
6245 (inherit sbcl-trivia.level0)
6246 (name "sbcl-trivia.ppcre")
6247 (inputs
6248 `(("trivia.trivial" ,sbcl-trivia.trivial)
6249 ("cl-ppcre" ,sbcl-cl-ppcre)))
6250 (description "Trivia is a pattern matching compiler that is compatible
6251 with Optima, another pattern matching library for Common Lisp. It is meant to
6252 be faster and more extensible than Optima.
6253
6254 This system contains the PPCRE extension.")))
6255
6256 (define-public sbcl-trivia.quasiquote
6257 (package
6258 (inherit sbcl-trivia.level0)
6259 (name "sbcl-trivia.quasiquote")
6260 (inputs
6261 `(("trivia.trivial" ,sbcl-trivia.trivial)
6262 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6263 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6264 (description "Trivia is a pattern matching compiler that is compatible
6265 with Optima, another pattern matching library for Common Lisp. It is meant to
6266 be faster and more extensible than Optima.
6267
6268 This system contains the fare-quasiquote extension.")))
6269
6270 (define-public sbcl-trivia.cffi
6271 (package
6272 (inherit sbcl-trivia.level0)
6273 (name "sbcl-trivia.cffi")
6274 (inputs
6275 `(("cffi" ,sbcl-cffi)
6276 ("trivia.trivial" ,sbcl-trivia.trivial)))
6277 (description "Trivia is a pattern matching compiler that is compatible
6278 with Optima, another pattern matching library for Common Lisp. It is meant to
6279 be faster and more extensible than Optima.
6280
6281 This system contains the CFFI foreign slot access extension.")))
6282
6283 (define-public sbcl-trivia
6284 (package
6285 (inherit sbcl-trivia.level0)
6286 (name "sbcl-trivia")
6287 (inputs
6288 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6289 (native-inputs
6290 `(("fiveam" ,sbcl-fiveam)
6291 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6292 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6293 ("trivia.cffi" ,sbcl-trivia.cffi)
6294 ("optima" ,sbcl-optima)))
6295 (arguments
6296 `(#:test-asd-file "trivia.test.asd"))
6297 (description "Trivia is a pattern matching compiler that is compatible
6298 with Optima, another pattern matching library for Common Lisp. It is meant to
6299 be faster and more extensible than Optima.")))
6300
6301 (define-public cl-trivia
6302 (sbcl-package->cl-source-package sbcl-trivia))
6303
6304 (define-public sbcl-mk-string-metrics
6305 (package
6306 (name "sbcl-mk-string-metrics")
6307 (version "0.1.2")
6308 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6309 (source (origin
6310 (method git-fetch)
6311 (uri (git-reference
6312 (url home-page)
6313 (commit version)))
6314 (sha256
6315 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6316 (file-name (git-file-name name version))))
6317 (build-system asdf-build-system/sbcl)
6318 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6319 (description "This library implements efficient algorithms that calculate
6320 various string metrics in Common Lisp:
6321
6322 @itemize
6323 @item Damerau-Levenshtein distance
6324 @item Hamming distance
6325 @item Jaccard similarity coefficient
6326 @item Jaro distance
6327 @item Jaro-Winkler distance
6328 @item Levenshtein distance
6329 @item Normalized Damerau-Levenshtein distance
6330 @item Normalized Levenshtein distance
6331 @item Overlap coefficient
6332 @end itemize\n")
6333 (license license:x11)))
6334
6335 (define-public cl-mk-string-metrics
6336 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6337
6338 (define-public sbcl-cl-str
6339 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
6340 (package
6341 (name "sbcl-cl-str")
6342 (version (git-version "0.17" "1" commit))
6343 (home-page "https://github.com/vindarel/cl-str")
6344 (source (origin
6345 (method git-fetch)
6346 (uri (git-reference
6347 (url home-page)
6348 (commit commit)))
6349 (sha256
6350 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
6351 (file-name (git-file-name name version))))
6352 (build-system asdf-build-system/sbcl)
6353 (inputs
6354 `(("cl-ppcre" ,sbcl-cl-ppcre)
6355 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6356 ("cl-change-case" ,sbcl-cl-change-case)))
6357 (native-inputs
6358 `(("prove" ,sbcl-prove)
6359 ("prove-asdf" ,sbcl-prove-asdf)))
6360 (arguments
6361 `(#:asd-file "str.asd"
6362 #:asd-system-name "str"
6363 #:test-asd-file "str.test.asd"))
6364 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6365 (description "A modern and consistent Common Lisp string manipulation
6366 library that focuses on modernity, simplicity and discoverability:
6367 @code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6368 @code{str:concat strings} instead of an unusual format construct; one
6369 discoverable library instead of many; consistency and composability, where
6370 @code{s} is always the last argument, which makes it easier to feed pipes and
6371 arrows.")
6372 (license license:expat))))
6373
6374 (define-public cl-str
6375 (sbcl-package->cl-source-package sbcl-cl-str))
6376
6377 (define-public sbcl-cl-xmlspam
6378 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6379 (package
6380 (name "sbcl-cl-xmlspam")
6381 (build-system asdf-build-system/sbcl)
6382 (version (git-version "0.0.0" "1" commit))
6383 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6384 (source
6385 (origin
6386 (method git-fetch)
6387 (uri (git-reference
6388 (url home-page)
6389 (commit commit)))
6390 (file-name (string-append name "-" version))
6391 (sha256
6392 (base32
6393 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6394 (inputs
6395 `(("cxml" ,sbcl-cxml)
6396 ("cl-ppcre" ,sbcl-cl-ppcre)))
6397 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6398 (description "CXML does an excellent job at parsing XML elements, but what
6399 do you do when you have a XML file that's larger than you want to fit in
6400 memory, and you want to extract some information from it? Writing code to deal
6401 with SAX events, or even using Klacks, quickly becomes tedious.
6402 @code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6403 to write code that mirrors the structure of the XML that it's parsing. It
6404 also makes it easy to shift paradigms when necessary - the usual Lisp control
6405 constructs can be used interchangeably with pattern matching, and the full
6406 power of CXML is available when necessary.")
6407 (license license:bsd-3))))
6408
6409 ;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6410 ;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6411 ;; asdf-build-system/sbcl.
6412 (define-public cl-dbus
6413 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6414 (revision "1"))
6415 (package
6416 (name "cl-dbus")
6417 (build-system asdf-build-system/source)
6418 (version (git-version "20190408" revision commit))
6419 (home-page "https://github.com/death/dbus")
6420 (source
6421 (origin
6422 (method git-fetch)
6423 (uri (git-reference
6424 (url home-page)
6425 (commit commit)))
6426 (file-name (git-file-name name version))
6427 (sha256
6428 (base32
6429 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6430 ;; Inputs must be propagated or else packages depending on this won't
6431 ;; have the necessary packages.
6432 (propagated-inputs
6433 `(("alexandria" ,sbcl-alexandria)
6434 ("trivial-garbage" ,sbcl-trivial-garbage)
6435 ("babel" ,sbcl-babel)
6436 ("iolib" ,sbcl-iolib)
6437 ("ieee-floats" ,sbcl-ieee-floats)
6438 ("flexi-streams" ,sbcl-flexi-streams)
6439 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6440 ("ironclad" ,sbcl-ironclad)))
6441 (synopsis "D-Bus client library for Common Lisp")
6442 (description "This is a Common Lisp library that publishes D-Bus
6443 objects as well as send and notify other objects connected to a bus.")
6444 (license license:bsd-2))))
6445
6446 (define-public sbcl-cl-hooks
6447 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6448 (revision "1"))
6449 (package
6450 (name "sbcl-cl-hooks")
6451 (build-system asdf-build-system/sbcl)
6452 (version (git-version "0.2.1" revision commit))
6453 (home-page "https://github.com/scymtym/architecture.hooks")
6454 (source
6455 (origin
6456 (method git-fetch)
6457 (uri (git-reference
6458 (url home-page)
6459 (commit commit)))
6460 (file-name (git-file-name name version))
6461 (sha256
6462 (base32
6463 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6464 (inputs
6465 `(("alexandria" ,sbcl-alexandria)
6466 ("let-plus" ,sbcl-let-plus)
6467 ("trivial-garbage" ,sbcl-trivial-garbage)
6468 ("closer-mop" ,sbcl-closer-mop)))
6469 (native-inputs
6470 `(("fiveam" ,sbcl-fiveam)))
6471 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6472 (description "A hook, in the present context, is a certain kind of
6473 extension point in a program that allows interleaving the execution of
6474 arbitrary code with the execution of a the program without introducing any
6475 coupling between the two. Hooks are used extensively in the extensible editor
6476 Emacs.
6477
6478 In the Common LISP Object System (CLOS), a similar kind of extensibility is
6479 possible using the flexible multi-method dispatch mechanism. It may even seem
6480 that the concept of hooks does not provide any benefits over the possibilities
6481 of CLOS. However, there are some differences:
6482
6483 @itemize
6484
6485 @item There can be only one method for each combination of specializers and
6486 qualifiers. As a result this kind of extension point cannot be used by
6487 multiple extensions independently.
6488 @item Removing code previously attached via a @code{:before}, @code{:after} or
6489 @code{:around} method can be cumbersome.
6490 @item There could be other or even multiple extension points besides @code{:before}
6491 and @code{:after} in a single method.
6492 @item Attaching codes to individual objects using eql specializers can be
6493 cumbersome.
6494 @item Introspection of code attached a particular extension point is
6495 cumbersome since this requires enumerating and inspecting the methods of a
6496 generic function.
6497 @end itemize
6498
6499 This library tries to complement some of these weaknesses of method-based
6500 extension-points via the concept of hooks.")
6501 (license license:llgpl))))
6502
6503 (define-public cl-hooks
6504 (sbcl-package->cl-source-package sbcl-cl-hooks))
6505
6506 (define-public ecl-cl-hooks
6507 (sbcl-package->ecl-package sbcl-cl-hooks))
6508
6509 (define-public sbcl-s-sysdeps
6510 ;; No release since 2013.
6511 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6512 (revision "2"))
6513 (package
6514 (name "sbcl-s-sysdeps")
6515 (build-system asdf-build-system/sbcl)
6516 (version (git-version "1" revision commit))
6517 (home-page "https://github.com/svenvc/s-sysdeps")
6518 (source
6519 (origin
6520 (method git-fetch)
6521 (uri (git-reference
6522 (url home-page)
6523 (commit commit)))
6524 (file-name (git-file-name name version))
6525 (sha256
6526 (base32
6527 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6528 (inputs
6529 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6530 ("usocket" ,sbcl-usocket)
6531 ("usocket-server" ,sbcl-usocket-server)))
6532 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6533 (description "@code{s-sysdeps} is an abstraction layer over platform
6534 dependent functionality. This simple package is used as a building block in a
6535 number of other open source projects.
6536
6537 @code{s-sysdeps} abstracts:
6538
6539 @itemize
6540 @item managing processes,
6541 @item implementing a standard TCP/IP server,
6542 @item opening a client TCP/IP socket stream,
6543 @item working with process locks.
6544 @end itemize\n")
6545 (license license:llgpl))))
6546
6547 (define-public cl-s-sysdeps
6548 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6549
6550 (define-public ecl-s-sysdeps
6551 (sbcl-package->ecl-package sbcl-s-sysdeps))
6552
6553 (define-public sbcl-cl-prevalence
6554 (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
6555 (revision "3"))
6556 (package
6557 (name "sbcl-cl-prevalence")
6558 (build-system asdf-build-system/sbcl)
6559 (version (git-version "5" revision commit))
6560 (home-page "https://github.com/40ants/cl-prevalence")
6561 (source
6562 (origin
6563 (method git-fetch)
6564 (uri (git-reference
6565 (url home-page)
6566 (commit commit)))
6567 (file-name (git-file-name name version))
6568 (sha256
6569 (base32
6570 "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
6571 (inputs
6572 `(("s-sysdeps" ,sbcl-s-sysdeps)
6573 ("s-xml" ,sbcl-s-xml)))
6574 (native-inputs
6575 `(("fiveam" ,sbcl-fiveam)))
6576 (synopsis "Implementation of object prevalence for Common Lisp")
6577 (description "This Common Lisp library implements object prevalence (see
6578 @url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6579 for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6580 classes and cyclic data structures are supported.")
6581 (license license:llgpl))))
6582
6583 (define-public cl-prevalence
6584 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6585
6586 (define-public ecl-cl-prevalence
6587 (sbcl-package->ecl-package sbcl-cl-prevalence))
6588
6589 (define-public sbcl-series
6590 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6591 (revision "1"))
6592 (package
6593 (name "sbcl-series")
6594 (version (git-version "2.2.11" revision commit))
6595 (source
6596 (origin
6597 (method git-fetch)
6598 (uri (git-reference
6599 (url "git://git.code.sf.net/p/series/series")
6600 (commit commit)))
6601 (file-name (git-file-name name version))
6602 (sha256
6603 (base32
6604 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6605 (build-system asdf-build-system/sbcl)
6606 (arguments
6607 ;; Disable the tests, they are apparently buggy and I didn't find
6608 ;; a simple way to make them run and pass.
6609 '(#:tests? #f))
6610 (synopsis "Series data structure for Common Lisp")
6611 (description
6612 "This Common Lisp library provides a series data structure much like
6613 a sequence, with similar kinds of operations. The difference is that in many
6614 situations, operations on series may be composed functionally and yet execute
6615 iteratively, without the need to construct intermediate series values
6616 explicitly. In this manner, series provide both the clarity of a functional
6617 programming style and the efficiency of an iterative programming style.")
6618 (home-page "http://series.sourceforge.net/")
6619 (license license:expat))))
6620
6621 (define-public cl-series
6622 (sbcl-package->cl-source-package sbcl-series))
6623
6624 (define-public ecl-series
6625 (sbcl-package->ecl-package sbcl-series))
6626
6627 (define-public sbcl-periods
6628 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6629 (revision "1"))
6630 (package
6631 (name "sbcl-periods")
6632 (version (git-version "0.0.2" revision commit))
6633 (source
6634 (origin
6635 (method git-fetch)
6636 (uri (git-reference
6637 (url "https://github.com/jwiegley/periods")
6638 (commit commit)))
6639 (file-name (git-file-name name version))
6640 (sha256
6641 (base32
6642 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6643 (build-system asdf-build-system/sbcl)
6644 (inputs
6645 `(("local-time" ,sbcl-local-time)))
6646 (synopsis "Common Lisp library for manipulating date/time objects")
6647 (description
6648 "Periods is a Common Lisp library providing a set of utilities for
6649 manipulating times, distances between times, and both contiguous and
6650 discontiguous ranges of time.")
6651 (home-page "https://github.com/jwiegley/periods")
6652 (license license:bsd-3))))
6653
6654 (define-public cl-periods
6655 (sbcl-package->cl-source-package sbcl-periods))
6656
6657 (define-public ecl-periods
6658 (sbcl-package->ecl-package sbcl-periods))
6659
6660 (define-public sbcl-periods-series
6661 (package
6662 (inherit sbcl-periods)
6663 (name "sbcl-periods-series")
6664 (inputs
6665 `(("periods" ,sbcl-periods)
6666 ("series" ,sbcl-series)))
6667 (arguments
6668 '(#:asd-file "periods-series.asd"
6669 #:asd-system-name "periods-series"))
6670 (description
6671 "Periods-series is an extension of the periods Common Lisp library
6672 providing functions compatible with the series Common Lisp library.")))
6673
6674 (define-public cl-periods-series
6675 (sbcl-package->cl-source-package sbcl-periods-series))
6676
6677 (define-public ecl-periods-series
6678 (sbcl-package->ecl-package sbcl-periods-series))
6679
6680 (define-public sbcl-metatilities-base
6681 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6682 (revision "1"))
6683 (package
6684 (name "sbcl-metatilities-base")
6685 (version (git-version "0.6.6" revision commit))
6686 (source
6687 (origin
6688 (method git-fetch)
6689 (uri (git-reference
6690 (url "https://github.com/gwkkwg/metatilities-base")
6691 (commit commit)))
6692 (file-name (git-file-name name version))
6693 (sha256
6694 (base32
6695 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6696 (build-system asdf-build-system/sbcl)
6697 (native-inputs
6698 `(("lift" ,sbcl-lift)))
6699 (synopsis "Core of the metatilities Common Lisp library")
6700 (description
6701 "Metatilities-base is the core of the metatilities Common Lisp library
6702 which implements a set of utilities.")
6703 (home-page "https://common-lisp.net/project/metatilities-base/")
6704 (license license:expat))))
6705
6706 (define-public cl-metatilities-base
6707 (sbcl-package->cl-source-package sbcl-metatilities-base))
6708
6709 (define-public ecl-metatilities-base
6710 (sbcl-package->ecl-package sbcl-metatilities-base))
6711
6712 (define-public sbcl-cl-containers
6713 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6714 (revision "3"))
6715 (package
6716 (name "sbcl-cl-containers")
6717 (version (git-version "0.12.1" revision commit))
6718 (source
6719 (origin
6720 (method git-fetch)
6721 (uri (git-reference
6722 (url "https://github.com/gwkkwg/cl-containers")
6723 (commit commit)))
6724 (file-name (git-file-name name version))
6725 (sha256
6726 (base32
6727 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
6728 (build-system asdf-build-system/sbcl)
6729 (native-inputs
6730 `(("lift" ,sbcl-lift)))
6731 (inputs
6732 `(("metatilities-base" ,sbcl-metatilities-base)))
6733 (arguments
6734 '(#:phases
6735 (modify-phases %standard-phases
6736 (add-after 'unpack 'relax-version-checks
6737 (lambda _
6738 (substitute* "cl-containers.asd"
6739 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6740 "\"metatilities-base\""))
6741 (substitute* "cl-containers-test.asd"
6742 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6743 "\"lift\""))
6744 #t)))))
6745 (synopsis "Container library for Common Lisp")
6746 (description
6747 "Common Lisp ships with a set of powerful built in data structures
6748 including the venerable list, full featured arrays, and hash-tables.
6749 CL-containers enhances and builds on these structures by adding containers
6750 that are not available in native Lisp (for example: binary search trees,
6751 red-black trees, sparse arrays and so on), and by providing a standard
6752 interface so that they are simpler to use and so that changing design
6753 decisions becomes significantly easier.")
6754 (home-page "https://common-lisp.net/project/cl-containers/")
6755 (license license:expat))))
6756
6757 (define-public cl-containers
6758 (sbcl-package->cl-source-package sbcl-cl-containers))
6759
6760 (define-public ecl-cl-containers
6761 (sbcl-package->ecl-package sbcl-cl-containers))
6762
6763 (define-public sbcl-xlunit
6764 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6765 (revision "1"))
6766 (package
6767 (name "sbcl-xlunit")
6768 (version (git-version "0.6.3" revision commit))
6769 (source
6770 (origin
6771 (method git-fetch)
6772 (uri (git-reference
6773 (url "http://git.kpe.io/xlunit.git")
6774 (commit commit)))
6775 (file-name (git-file-name name version))
6776 (sha256
6777 (base32
6778 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6779 (build-system asdf-build-system/sbcl)
6780 (arguments
6781 '(#:phases
6782 (modify-phases %standard-phases
6783 (add-after 'unpack 'fix-tests
6784 (lambda _
6785 (substitute* "xlunit.asd"
6786 ((" :force t") ""))
6787 #t)))))
6788 (synopsis "Unit testing package for Common Lisp")
6789 (description
6790 "The XLUnit package is a toolkit for building test suites. It is based
6791 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6792 (home-page "http://quickdocs.org/xlunit/")
6793 (license license:bsd-3))))
6794
6795 (define-public cl-xlunit
6796 (sbcl-package->cl-source-package sbcl-xlunit))
6797
6798 (define-public ecl-xlunit
6799 (sbcl-package->ecl-package sbcl-xlunit))
6800
6801 (define-public sbcl-fprog
6802 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6803 (revision "1"))
6804 (package
6805 (name "sbcl-fprog")
6806 (version (git-version "1.0.0" revision commit))
6807 (source
6808 (origin
6809 (method git-fetch)
6810 (uri (git-reference
6811 (url "https://github.com/jwiegley/cambl")
6812 (commit commit)))
6813 (file-name (git-file-name name version))
6814 (sha256
6815 (base32
6816 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6817 (build-system asdf-build-system/sbcl)
6818 (synopsis "Functional programming utilities for Common Lisp")
6819 (description
6820 "@code{fprog} is a Common Lisp library allowing iteration over
6821 immutable lists sharing identical sublists.")
6822 (home-page "https://github.com/jwiegley/cambl")
6823 (license license:bsd-3))))
6824
6825 (define-public cl-fprog
6826 (sbcl-package->cl-source-package sbcl-fprog))
6827
6828 (define-public ecl-fprog
6829 (sbcl-package->ecl-package sbcl-fprog))
6830
6831 (define-public sbcl-cambl
6832 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6833 (revision "1"))
6834 (package
6835 (inherit sbcl-fprog)
6836 (name "sbcl-cambl")
6837 (version (git-version "4.0.0" revision commit))
6838 (native-inputs
6839 `(("xlunit" ,sbcl-xlunit)))
6840 (inputs
6841 `(("alexandria" ,sbcl-alexandria)
6842 ("cl-containers" ,sbcl-cl-containers)
6843 ("local-time" ,sbcl-local-time)
6844 ("periods" ,sbcl-periods)
6845 ("fprog" ,sbcl-fprog)))
6846 (synopsis "Commoditized amounts and balances for Common Lisp")
6847 (description
6848 "CAMBL is a Common Lisp library providing a convenient facility for
6849 working with commoditized values. It does not allow compound units (and so is
6850 not suited for scientific operations) but does work rather nicely for the
6851 purpose of financial calculations."))))
6852
6853 (define-public cl-cambl
6854 (sbcl-package->cl-source-package sbcl-cambl))
6855
6856 (define-public ecl-cambl
6857 (sbcl-package->ecl-package sbcl-cambl))
6858
6859 (define-public sbcl-cl-ledger
6860 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6861 (revision "1"))
6862 (package
6863 (name "sbcl-cl-ledger")
6864 (version (git-version "4.0.0" revision commit))
6865 (source
6866 (origin
6867 (method git-fetch)
6868 (uri (git-reference
6869 (url "https://github.com/ledger/cl-ledger")
6870 (commit commit)))
6871 (file-name (git-file-name name version))
6872 (sha256
6873 (base32
6874 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6875 (build-system asdf-build-system/sbcl)
6876 (inputs
6877 `(("cambl" ,sbcl-cambl)
6878 ("cl-ppcre" ,sbcl-cl-ppcre)
6879 ("local-time" ,sbcl-local-time)
6880 ("periods-series" ,sbcl-periods-series)))
6881 (arguments
6882 '(#:phases
6883 (modify-phases %standard-phases
6884 (add-after 'unpack 'fix-system-definition
6885 (lambda _
6886 (substitute* "cl-ledger.asd"
6887 ((" :build-operation program-op") "")
6888 ((" :build-pathname \"cl-ledger\"") "")
6889 ((" :entry-point \"ledger::main\"") ""))
6890 #t)))))
6891 (synopsis "Common Lisp port of the Ledger accounting system")
6892 (description
6893 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6894 system.")
6895 (home-page "https://github.com/ledger/cl-ledger")
6896 (license license:bsd-3))))
6897
6898 (define-public cl-ledger
6899 (sbcl-package->cl-source-package sbcl-cl-ledger))
6900
6901 (define-public ecl-cl-ledger
6902 (sbcl-package->ecl-package sbcl-cl-ledger))
6903
6904 (define-public sbcl-bst
6905 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6906 (revision "1"))
6907 (package
6908 (name "sbcl-bst")
6909 (version (git-version "1.1" revision commit))
6910 (source
6911 (origin
6912 (method git-fetch)
6913 (uri (git-reference
6914 (url "https://github.com/glv2/bst")
6915 (commit commit)))
6916 (file-name (git-file-name name version))
6917 (sha256
6918 (base32
6919 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6920 (build-system asdf-build-system/sbcl)
6921 (native-inputs
6922 `(("alexandria" ,sbcl-alexandria)
6923 ("fiveam" ,sbcl-fiveam)))
6924 (synopsis "Binary search tree for Common Lisp")
6925 (description
6926 "BST is a Common Lisp library for working with binary search trees that
6927 can contain any kind of values.")
6928 (home-page "https://github.com/glv2/bst")
6929 (license license:gpl3))))
6930
6931 (define-public cl-bst
6932 (sbcl-package->cl-source-package sbcl-bst))
6933
6934 (define-public ecl-bst
6935 (sbcl-package->ecl-package sbcl-bst))
6936
6937 (define-public sbcl-cl-octet-streams
6938 (package
6939 (name "sbcl-cl-octet-streams")
6940 (version "1.0")
6941 (source
6942 (origin
6943 (method git-fetch)
6944 (uri (git-reference
6945 (url "https://github.com/glv2/cl-octet-streams")
6946 (commit (string-append "v" version))))
6947 (file-name (git-file-name name version))
6948 (sha256
6949 (base32
6950 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6951 (build-system asdf-build-system/sbcl)
6952 (native-inputs
6953 `(("fiveam" ,sbcl-fiveam)))
6954 (inputs
6955 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6956 (synopsis "In-memory octet streams for Common Lisp")
6957 (description
6958 "CL-octet-streams is a library implementing in-memory octet
6959 streams for Common Lisp. It was inspired by the trivial-octet-streams and
6960 cl-plumbing libraries.")
6961 (home-page "https://github.com/glv2/cl-octet-streams")
6962 (license license:gpl3+)))
6963
6964 (define-public cl-octet-streams
6965 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6966
6967 (define-public ecl-cl-octet-streams
6968 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6969
6970 (define-public sbcl-lzlib
6971 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6972 (revision "1"))
6973 (package
6974 (name "sbcl-lzlib")
6975 (version (git-version "1.0" revision commit))
6976 (source
6977 (origin
6978 (method git-fetch)
6979 (uri (git-reference
6980 (url "https://github.com/glv2/cl-lzlib")
6981 (commit commit)))
6982 (file-name (git-file-name name version))
6983 (sha256
6984 (base32
6985 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6986 (build-system asdf-build-system/sbcl)
6987 (native-inputs
6988 `(("fiveam" ,sbcl-fiveam)))
6989 (inputs
6990 `(("cffi" ,sbcl-cffi)
6991 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6992 ("lzlib" ,lzlib)))
6993 (arguments
6994 '(#:phases
6995 (modify-phases %standard-phases
6996 (add-after 'unpack 'fix-paths
6997 (lambda* (#:key inputs #:allow-other-keys)
6998 (substitute* "src/lzlib.lisp"
6999 (("liblz\\.so")
7000 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7001 #t)))))
7002 (synopsis "Common Lisp library for lzip (de)compression")
7003 (description
7004 "This Common Lisp library provides functions for lzip (LZMA)
7005 compression/decompression using bindings to the lzlib C library.")
7006 (home-page "https://github.com/glv2/cl-lzlib")
7007 (license license:gpl3+))))
7008
7009 (define-public cl-lzlib
7010 (sbcl-package->cl-source-package sbcl-lzlib))
7011
7012 (define-public ecl-lzlib
7013 (sbcl-package->ecl-package sbcl-lzlib))
7014
7015 (define-public sbcl-chanl
7016 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7017 (revision "1"))
7018 (package
7019 (name "sbcl-chanl")
7020 (version (git-version "0.4.1" revision commit))
7021 (source
7022 (origin
7023 (method git-fetch)
7024 (uri (git-reference
7025 (url "https://github.com/zkat/chanl")
7026 (commit commit)))
7027 (file-name (git-file-name name version))
7028 (sha256
7029 (base32
7030 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
7031 (build-system asdf-build-system/sbcl)
7032 (native-inputs
7033 `(("fiveam" ,sbcl-fiveam)))
7034 (inputs
7035 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7036 (synopsis "Portable channel-based concurrency for Common Lisp")
7037 (description "Common Lisp library for channel-based concurrency. In
7038 a nutshell, you create various threads sequentially executing tasks you need
7039 done, and use channel objects to communicate and synchronize the state of these
7040 threads.")
7041 (home-page "https://github.com/zkat/chanl")
7042 (license (list license:expat license:bsd-3)))))
7043
7044 (define-public cl-chanl
7045 (sbcl-package->cl-source-package sbcl-chanl))
7046
7047 (define-public ecl-chanl
7048 (sbcl-package->ecl-package sbcl-chanl))
7049
7050 (define-public sbcl-cl-store
7051 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7052 (revision "1"))
7053 (package
7054 (name "sbcl-cl-store")
7055 (version (git-version "0.8.11" revision commit))
7056 (source
7057 (origin
7058 (method git-fetch)
7059 (uri (git-reference
7060 (url "https://github.com/skypher/cl-store")
7061 (commit commit)))
7062 (file-name (git-file-name name version))
7063 (sha256
7064 (base32
7065 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
7066 (build-system asdf-build-system/sbcl)
7067 (native-inputs
7068 `(("rt" ,sbcl-rt)))
7069 (synopsis "Common Lisp library to serialize data")
7070 (description
7071 "CL-STORE is a portable serialization package which should give you the
7072 ability to store all Common Lisp data types into streams.")
7073 (home-page "https://www.common-lisp.net/project/cl-store/")
7074 (license license:expat))))
7075
7076 (define-public cl-store
7077 (sbcl-package->cl-source-package sbcl-cl-store))
7078
7079 (define-public ecl-cl-store
7080 (sbcl-package->ecl-package sbcl-cl-store))
7081
7082 (define-public sbcl-cl-gobject-introspection
7083 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7084 (revision "0"))
7085 (package
7086 (name "sbcl-cl-gobject-introspection")
7087 (version (git-version "0.3" revision commit))
7088 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7089 (source
7090 (origin
7091 (method git-fetch)
7092 (uri (git-reference
7093 (url home-page)
7094 (commit commit)))
7095 (file-name (git-file-name name version))
7096 (sha256
7097 (base32
7098 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7099 (build-system asdf-build-system/sbcl)
7100 (inputs
7101 `(("alexandria" ,sbcl-alexandria)
7102 ("cffi" ,sbcl-cffi)
7103 ("iterate" ,sbcl-iterate)
7104 ("trivial-garbage" ,sbcl-trivial-garbage)
7105 ("glib" ,glib)
7106 ("gobject-introspection" ,gobject-introspection)))
7107 (native-inputs
7108 `(("fiveam" ,sbcl-fiveam)))
7109 (arguments
7110 ;; TODO: Tests fail, see
7111 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7112 '(#:tests? #f
7113 #:phases
7114 (modify-phases %standard-phases
7115 (add-after (quote unpack) (quote fix-paths)
7116 (lambda* (#:key inputs #:allow-other-keys)
7117 (substitute* "src/init.lisp"
7118 (("libgobject-2\\.0\\.so")
7119 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7120 (("libgirepository-1\\.0\\.so")
7121 (string-append (assoc-ref inputs "gobject-introspection")
7122 "/lib/libgirepository-1.0.so")))
7123 #t)))))
7124 (synopsis "Common Lisp bindings to GObject Introspection")
7125 (description
7126 "This library is a bridge between Common Lisp and GObject
7127 Introspection, which enables Common Lisp programs to access the full interface
7128 of C+GObject libraries without the need of writing dedicated bindings.")
7129 (license (list license:bsd-3
7130 ;; Tests are under a different license.
7131 license:llgpl)))))
7132
7133 (define-public cl-gobject-introspection
7134 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7135
7136 (define-public sbcl-string-case
7137 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7138 (revision "0"))
7139 (package
7140 (name "sbcl-string-case")
7141 (version (git-version "0.0.2" revision commit))
7142 (home-page "https://github.com/pkhuong/string-case")
7143 (source
7144 (origin
7145 (method git-fetch)
7146 (uri (git-reference
7147 (url home-page)
7148 (commit commit)))
7149 (file-name (git-file-name name version))
7150 (sha256
7151 (base32
7152 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7153 (build-system asdf-build-system/sbcl)
7154 (synopsis "Efficient string= case in Common Lisp")
7155 (description
7156 "@code{string-case} is a Common Lisp macro that generates specialised decision
7157 trees to dispatch on string equality.")
7158 (license license:bsd-3))))
7159
7160 (define-public cl-string-case
7161 (sbcl-package->cl-source-package sbcl-string-case))
7162
7163 (define-public ecl-string-case
7164 (sbcl-package->ecl-package sbcl-string-case))
7165
7166 (define-public sbcl-global-vars
7167 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7168 (revision "0"))
7169 (package
7170 (name "sbcl-global-vars")
7171 (version (git-version "1.0.0" revision commit))
7172 (home-page "https://github.com/lmj/global-vars")
7173 (source
7174 (origin
7175 (method git-fetch)
7176 (uri (git-reference
7177 (url home-page)
7178 (commit commit)))
7179 (file-name (git-file-name name version))
7180 (sha256
7181 (base32
7182 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7183 (build-system asdf-build-system/sbcl)
7184 (synopsis "Efficient global variables in Common Lisp")
7185 (description
7186 "In Common Lisp, a special variable that is never dynamically bound
7187 typically serves as a stand-in for a global variable. The @code{global-vars}
7188 library provides true global variables that are implemented by some compilers.
7189 An attempt to rebind a global variable properly results in a compiler error.
7190 That is, a global variable cannot be dynamically bound.
7191
7192 Global variables therefore allow us to communicate an intended usage that
7193 differs from special variables. Global variables are also more efficient than
7194 special variables, especially in the presence of threads.")
7195 (license license:expat))))
7196
7197 (define-public cl-global-vars
7198 (sbcl-package->cl-source-package sbcl-global-vars))
7199
7200 (define-public ecl-global-vars
7201 (sbcl-package->ecl-package sbcl-global-vars))
7202
7203 (define-public sbcl-trivial-file-size
7204 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7205 (revision "0"))
7206 (package
7207 (name "sbcl-trivial-file-size")
7208 (version (git-version "0.0.0" revision commit))
7209 (home-page "https://github.com/ruricolist/trivial-file-size")
7210 (source
7211 (origin
7212 (method git-fetch)
7213 (uri (git-reference
7214 (url home-page)
7215 (commit commit)))
7216 (file-name (git-file-name name version))
7217 (sha256
7218 (base32
7219 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7220 (build-system asdf-build-system/sbcl)
7221 (native-inputs
7222 `(("fiveam" ,sbcl-fiveam)))
7223 (synopsis "Size of a file in bytes in Common Lisp")
7224 (description
7225 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7226 is to open the file with an element type of (unsigned-byte 8) and then
7227 calculate the length of the stream. This is less than ideal. In most cases
7228 it is better to get the size of the file from its metadata, using a system
7229 call.
7230
7231 This library exports a single function, file-size-in-octets. It returns the
7232 size of a file in bytes, using system calls when possible.")
7233 (license license:expat))))
7234
7235 (define-public cl-trivial-file-size
7236 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7237
7238 (define-public ecl-trivial-file-size
7239 (sbcl-package->ecl-package sbcl-trivial-file-size))
7240
7241 (define-public sbcl-trivial-macroexpand-all
7242 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7243 (revision "0"))
7244 (package
7245 (name "sbcl-trivial-macroexpand-all")
7246 (version (git-version "0.0.0" revision commit))
7247 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7248 (source
7249 (origin
7250 (method git-fetch)
7251 (uri (git-reference
7252 (url home-page)
7253 (commit commit)))
7254 (file-name (git-file-name name version))
7255 (sha256
7256 (base32
7257 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7258 (build-system asdf-build-system/sbcl)
7259 (native-inputs
7260 `(("fiveam" ,sbcl-fiveam)))
7261 (synopsis "Portable macroexpand-all for Common Lisp")
7262 (description
7263 "This library provides a macroexpand-all function that calls the
7264 implementation specific equivalent.")
7265 (license license:unlicense))))
7266
7267 (define-public cl-trivial-macroexpand-all
7268 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7269
7270 (define-public ecl-trivial-macroexpand-all
7271 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7272
7273 (define-public sbcl-serapeum
7274 (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2")
7275 (revision "2"))
7276 (package
7277 (name "sbcl-serapeum")
7278 (version (git-version "0.0.0" revision commit))
7279 (home-page "https://github.com/ruricolist/serapeum")
7280 (source
7281 (origin
7282 (method git-fetch)
7283 (uri (git-reference
7284 (url home-page)
7285 (commit commit)))
7286 (file-name (git-file-name name version))
7287 (sha256
7288 (base32
7289 "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q"))))
7290 (build-system asdf-build-system/sbcl)
7291 (inputs
7292 `(("alexandria" ,sbcl-alexandria)
7293 ("trivia" ,sbcl-trivia)
7294 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7295 ("split-sequence" ,sbcl-split-sequence)
7296 ("string-case" ,sbcl-string-case)
7297 ("parse-number" ,sbcl-parse-number)
7298 ("trivial-garbage" ,sbcl-trivial-garbage)
7299 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7300 ("named-readtables" ,sbcl-named-readtables)
7301 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
7302 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7303 ("global-vars" ,sbcl-global-vars)
7304 ("trivial-file-size" ,sbcl-trivial-file-size)
7305 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7306 (native-inputs
7307 `(("fiveam" ,sbcl-fiveam)
7308 ("local-time" ,sbcl-local-time)))
7309 (arguments
7310 '(#:phases
7311 (modify-phases %standard-phases
7312 (add-after 'unpack 'disable-failing-tests
7313 (lambda* (#:key inputs #:allow-other-keys)
7314 (substitute* "serapeum.asd"
7315 ;; Guix does not have Quicklisp, and probably never will.
7316 (("\\(:file \"quicklisp\"\\)") ""))
7317 #t)))))
7318 (synopsis "Common Lisp utility library beyond Alexandria")
7319 (description
7320 "Serapeum is a conservative library of Common Lisp utilities. It is a
7321 supplement, not a competitor, to Alexandria.")
7322 (license license:expat))))
7323
7324 (define-public cl-serapeum
7325 (sbcl-package->cl-source-package sbcl-serapeum))
7326
7327 (define-public sbcl-arrows
7328 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7329 (revision "0"))
7330 (package
7331 (name "sbcl-arrows")
7332 (version (git-version "0.2.0" revision commit))
7333 (source
7334 (origin
7335 (method git-fetch)
7336 (uri (git-reference
7337 (url "https://gitlab.com/Harleqin/arrows.git")
7338 (commit commit)))
7339 (file-name (git-file-name name version))
7340 (sha256
7341 (base32
7342 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7343 (build-system asdf-build-system/sbcl)
7344 (native-inputs
7345 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7346 (synopsis "Clojure-like arrow macros for Common Lisp")
7347 (description
7348 "This library implements the @code{->} and @code{->>} macros from
7349 Clojure, as well as several expansions on the idea.")
7350 (home-page "https://gitlab.com/Harleqin/arrows")
7351 (license license:public-domain))))
7352
7353 (define-public cl-arrows
7354 (sbcl-package->cl-source-package sbcl-arrows))
7355
7356 (define-public ecl-arrows
7357 (sbcl-package->ecl-package sbcl-arrows))
7358
7359 (define-public sbcl-simple-parallel-tasks
7360 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7361 (revision "0"))
7362 (package
7363 (name "sbcl-simple-parallel-tasks")
7364 (version (git-version "1.0" revision commit))
7365 (source
7366 (origin
7367 (method git-fetch)
7368 (uri (git-reference
7369 (url "https://github.com/glv2/simple-parallel-tasks")
7370 (commit commit)))
7371 (file-name (git-file-name name version))
7372 (sha256
7373 (base32
7374 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7375 (build-system asdf-build-system/sbcl)
7376 (native-inputs
7377 `(("fiveam" ,sbcl-fiveam)))
7378 (inputs
7379 `(("chanl" ,sbcl-chanl)))
7380 (synopsis "Common Lisp library to evaluate some forms in parallel")
7381 (description "This is a simple Common Lisp library to evaluate some
7382 forms in parallel.")
7383 (home-page "https://github.com/glv2/simple-parallel-tasks")
7384 (license license:gpl3))))
7385
7386 (define-public cl-simple-parallel-tasks
7387 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7388
7389 (define-public ecl-simple-parallel-tasks
7390 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7391
7392 (define-public sbcl-cl-heap
7393 (package
7394 (name "sbcl-cl-heap")
7395 (version "0.1.6")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7400 "cl-heap_" version ".tar.gz"))
7401 (sha256
7402 (base32
7403 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7404 (build-system asdf-build-system/sbcl)
7405 (native-inputs
7406 `(("xlunit" ,sbcl-xlunit)))
7407 (arguments
7408 `(#:test-asd-file "cl-heap-tests.asd"))
7409 (synopsis "Heap and priority queue data structures for Common Lisp")
7410 (description
7411 "CL-HEAP provides various implementations of heap data structures (a
7412 binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7413 (home-page "https://common-lisp.net/project/cl-heap/")
7414 (license license:gpl3+)))
7415
7416 (define-public cl-heap
7417 (sbcl-package->cl-source-package sbcl-cl-heap))
7418
7419 (define-public ecl-cl-heap
7420 (sbcl-package->ecl-package sbcl-cl-heap))
7421
7422 (define-public sbcl-curry-compose-reader-macros
7423 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7424 (revision "0"))
7425 (package
7426 (name "sbcl-curry-compose-reader-macros")
7427 (version (git-version "1.0.0" revision commit))
7428 (source
7429 (origin
7430 (method git-fetch)
7431 (uri
7432 (git-reference
7433 (url "https://github.com/eschulte/curry-compose-reader-macros")
7434 (commit commit)))
7435 (file-name (git-file-name name version))
7436 (sha256
7437 (base32
7438 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7439 (build-system asdf-build-system/sbcl)
7440 (inputs
7441 `(("alexandria" ,sbcl-alexandria)
7442 ("named-readtables" ,sbcl-named-readtables)))
7443 (synopsis "Reader macros for partial application and composition")
7444 (description
7445 "This Common Lisp library provides reader macros for concise expression
7446 of function partial application and composition.")
7447 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7448 (license license:public-domain))))
7449
7450 (define-public cl-curry-compose-reader-macros
7451 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7452
7453 (define-public ecl-curry-compose-reader-macros
7454 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7455
7456 (define-public sbcl-yason
7457 (package
7458 (name "sbcl-yason")
7459 (version "0.7.7")
7460 (source
7461 (origin
7462 (method git-fetch)
7463 (uri (git-reference
7464 (url "https://github.com/phmarek/yason")
7465 (commit (string-append "v" version))))
7466 (file-name (git-file-name name version))
7467 (sha256
7468 (base32
7469 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7470 (build-system asdf-build-system/sbcl)
7471 (inputs
7472 `(("alexandria" ,sbcl-alexandria)
7473 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7474 (synopsis "Common Lisp JSON parser/encoder")
7475 (description
7476 "YASON is a Common Lisp library for encoding and decoding data in the
7477 JSON interchange format.")
7478 (home-page "https://github.com/phmarek/yason")
7479 (license license:bsd-3)))
7480
7481 (define-public cl-yason
7482 (sbcl-package->cl-source-package sbcl-yason))
7483
7484 (define-public ecl-yason
7485 (sbcl-package->ecl-package sbcl-yason))
7486
7487 (define-public sbcl-stefil
7488 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7489 (revision "0"))
7490 (package
7491 (name "sbcl-stefil")
7492 (version (git-version "0.1" revision commit))
7493 (source
7494 (origin
7495 (method git-fetch)
7496 (uri (git-reference
7497 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7498 (commit commit)))
7499 (file-name (git-file-name name version))
7500 (sha256
7501 (base32
7502 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7503 (build-system asdf-build-system/sbcl)
7504 (inputs
7505 `(("alexandria" ,sbcl-alexandria)
7506 ("iterate" ,sbcl-iterate)
7507 ("metabang-bind" ,sbcl-metabang-bind)))
7508 (propagated-inputs
7509 ;; Swank doesn't have a pre-compiled package, therefore we must
7510 ;; propagate its sources.
7511 `(("swank" ,cl-slime-swank)))
7512 (arguments
7513 '(#:phases
7514 (modify-phases %standard-phases
7515 (add-after 'unpack 'drop-unnecessary-dependency
7516 (lambda _
7517 (substitute* "package.lisp"
7518 ((":stefil-system") ""))
7519 #t)))))
7520 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7521 (synopsis "Simple test framework")
7522 (description
7523 "Stefil is a simple test framework for Common Lisp, with a focus on
7524 interactive development.")
7525 (license license:public-domain))))
7526
7527 (define-public cl-stefil
7528 (sbcl-package->cl-source-package sbcl-stefil))
7529
7530 (define-public sbcl-graph
7531 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7532 (revision "0"))
7533 (package
7534 (name "sbcl-graph")
7535 (version (git-version "0.0.0" revision commit))
7536 (source
7537 (origin
7538 (method git-fetch)
7539 (uri
7540 (git-reference
7541 (url "https://github.com/eschulte/graph")
7542 (commit commit)))
7543 (file-name (git-file-name name version))
7544 (sha256
7545 (base32
7546 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7547 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7548 (build-system asdf-build-system/sbcl)
7549 (native-inputs
7550 `(("stefil" ,sbcl-stefil)))
7551 (inputs
7552 `(("alexandria" ,sbcl-alexandria)
7553 ("cl-heap" ,sbcl-cl-heap)
7554 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7555 ("metabang-bind" ,sbcl-metabang-bind)
7556 ("named-readtables" ,sbcl-named-readtables)))
7557 (arguments
7558 '(#:test-asd-file "graph-test.asd"))
7559 (synopsis "Graph data structure and algorithms for Common Lisp")
7560 (description
7561 "The GRAPH Common Lisp library provides a data structures to represent
7562 graphs, as well as some graph manipulation and analysis algorithms (shortest
7563 path, maximum flow, minimum spanning tree, etc.).")
7564 (home-page "https://eschulte.github.io/graph/")
7565 (license license:gpl3+))))
7566
7567 (define-public cl-graph
7568 (sbcl-package->cl-source-package sbcl-graph))
7569
7570 (define-public sbcl-graph-dot
7571 (package
7572 (inherit sbcl-graph)
7573 (name "sbcl-graph-dot")
7574 (inputs
7575 `(("alexandria" ,sbcl-alexandria)
7576 ("cl-ppcre" ,sbcl-cl-ppcre)
7577 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7578 ("graph" ,sbcl-graph)
7579 ("metabang-bind" ,sbcl-metabang-bind)
7580 ("named-readtables" ,sbcl-named-readtables)))
7581 (arguments
7582 (substitute-keyword-arguments (package-arguments sbcl-graph)
7583 ((#:asd-file _ "") "graph-dot.asd")
7584 ((#:asd-system-name _ #f) "graph-dot")))
7585 (synopsis "Serialize graphs to and from DOT format")))
7586
7587 (define-public sbcl-graph-json
7588 (package
7589 (inherit sbcl-graph)
7590 (name "sbcl-graph-json")
7591 (inputs
7592 `(("alexandria" ,sbcl-alexandria)
7593 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7594 ("graph" ,sbcl-graph)
7595 ("metabang-bind" ,sbcl-metabang-bind)
7596 ("named-readtables" ,sbcl-named-readtables)
7597 ("yason" ,sbcl-yason)))
7598 (arguments
7599 (substitute-keyword-arguments (package-arguments sbcl-graph)
7600 ((#:asd-file _ "") "graph-json.asd")
7601 ((#:asd-system-name _ #f) "graph-json")))
7602 (synopsis "Serialize graphs to and from JSON format")))
7603
7604 (define-public sbcl-trivial-indent
7605 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7606 (revision "0"))
7607 (package
7608 (name "sbcl-trivial-indent")
7609 (version (git-version "1.0.0" revision commit))
7610 (source
7611 (origin
7612 (method git-fetch)
7613 (uri
7614 (git-reference
7615 (url "https://github.com/Shinmera/trivial-indent")
7616 (commit commit)))
7617 (file-name (git-file-name name version))
7618 (sha256
7619 (base32
7620 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7621 (build-system asdf-build-system/sbcl)
7622 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7623 (description
7624 "This library allows you to define custom indentation hints for your
7625 macros if the one recognised by SLIME automatically produces unwanted
7626 results.")
7627 (home-page "https://shinmera.github.io/trivial-indent/")
7628 (license license:zlib))))
7629
7630 (define-public cl-trivial-indent
7631 (sbcl-package->cl-source-package sbcl-trivial-indent))
7632
7633 (define-public sbcl-documentation-utils
7634 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7635 (revision "0"))
7636 (package
7637 (name "sbcl-documentation-utils")
7638 (version (git-version "1.2.0" revision commit))
7639 (source
7640 (origin
7641 (method git-fetch)
7642 (uri
7643 (git-reference
7644 (url "https://github.com/Shinmera/documentation-utils")
7645 (commit commit)))
7646 (file-name (git-file-name name version))
7647 (sha256
7648 (base32
7649 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7650 (build-system asdf-build-system/sbcl)
7651 (inputs
7652 `(("trivial-indent" ,sbcl-trivial-indent)))
7653 (synopsis "Few simple tools to document Common Lisp libraries")
7654 (description
7655 "This is a small library to help you with managing the Common Lisp
7656 docstrings for your library.")
7657 (home-page "https://shinmera.github.io/documentation-utils/")
7658 (license license:zlib))))
7659
7660 (define-public cl-documentation-utils
7661 (sbcl-package->cl-source-package sbcl-documentation-utils))
7662
7663 (define-public ecl-documentation-utils
7664 (sbcl-package->ecl-package sbcl-documentation-utils))
7665
7666 (define-public sbcl-form-fiddle
7667 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7668 (revision "0"))
7669 (package
7670 (name "sbcl-form-fiddle")
7671 (version (git-version "1.1.0" revision commit))
7672 (source
7673 (origin
7674 (method git-fetch)
7675 (uri
7676 (git-reference
7677 (url "https://github.com/Shinmera/form-fiddle")
7678 (commit commit)))
7679 (file-name (git-file-name name version))
7680 (sha256
7681 (base32
7682 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7683 (build-system asdf-build-system/sbcl)
7684 (inputs
7685 `(("documentation-utils" ,sbcl-documentation-utils)))
7686 (synopsis "Utilities to destructure Common Lisp lambda forms")
7687 (description
7688 "Often times we need to destructure a form definition in a Common Lisp
7689 macro. This library provides a set of simple utilities to help with that.")
7690 (home-page "https://shinmera.github.io/form-fiddle/")
7691 (license license:zlib))))
7692
7693 (define-public cl-form-fiddle
7694 (sbcl-package->cl-source-package sbcl-form-fiddle))
7695
7696 (define-public sbcl-parachute
7697 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7698 (revision "0"))
7699 (package
7700 (name "sbcl-parachute")
7701 (version (git-version "1.1.1" revision commit))
7702 (source
7703 (origin
7704 (method git-fetch)
7705 (uri
7706 (git-reference
7707 (url "https://github.com/Shinmera/parachute")
7708 (commit commit)))
7709 (file-name (git-file-name name version))
7710 (sha256
7711 (base32
7712 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7713 (build-system asdf-build-system/sbcl)
7714 (inputs
7715 `(("documentation-utils" ,sbcl-documentation-utils)
7716 ("form-fiddle" ,sbcl-form-fiddle)))
7717 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7718 (description
7719 "Parachute is a simple-to-use and extensible testing framework.
7720 In Parachute, things are organised as a bunch of named tests within a package.
7721 Each test can contain a bunch of test forms that make up its body.")
7722 (home-page "https://shinmera.github.io/parachute/")
7723 (license license:zlib))))
7724
7725 (define-public cl-parachute
7726 (sbcl-package->cl-source-package sbcl-parachute))
7727
7728 (define-public sbcl-array-utils
7729 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7730 (revision "0"))
7731 (package
7732 (name "sbcl-array-utils")
7733 (version (git-version "1.1.1" revision commit))
7734 (source
7735 (origin
7736 (method git-fetch)
7737 (uri
7738 (git-reference
7739 (url "https://github.com/Shinmera/array-utils")
7740 (commit commit)))
7741 (file-name (git-file-name name version))
7742 (sha256
7743 (base32
7744 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7745 (build-system asdf-build-system/sbcl)
7746 (native-inputs
7747 `(("parachute" ,sbcl-parachute)))
7748 (inputs
7749 `(("documentation-utils" ,sbcl-documentation-utils)))
7750 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7751 (description
7752 "A miniature toolkit that contains some useful shifting/popping/pushing
7753 functions for arrays and vectors. Originally from Plump.")
7754 (home-page "https://shinmera.github.io/array-utils/")
7755 (license license:zlib))))
7756
7757 (define-public cl-array-utils
7758 (sbcl-package->cl-source-package sbcl-array-utils))
7759
7760 (define-public sbcl-plump
7761 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7762 (revision "1"))
7763 (package
7764 (name "sbcl-plump")
7765 (version (git-version "2.0.0" revision commit))
7766 (source
7767 (origin
7768 (method git-fetch)
7769 (uri
7770 (git-reference
7771 (url "https://github.com/Shinmera/plump")
7772 (commit commit)))
7773 (file-name (git-file-name name version))
7774 (sha256
7775 (base32
7776 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
7777 (build-system asdf-build-system/sbcl)
7778 (inputs
7779 `(("array-utils" ,sbcl-array-utils)
7780 ("documentation-utils" ,sbcl-documentation-utils)))
7781 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7782 (description
7783 "Plump is a parser for HTML/XML-like documents, focusing on being
7784 lenient towards invalid markup. It can handle things like invalid attributes,
7785 bad closing tag order, unencoded entities, inexistent tag types, self-closing
7786 tags and so on. It parses documents to a class representation and offers a
7787 small set of DOM functions to manipulate it. It can be extended to parse to
7788 your own classes.")
7789 (home-page "https://shinmera.github.io/plump/")
7790 (license license:zlib))))
7791
7792 (define-public cl-plump
7793 (sbcl-package->cl-source-package sbcl-plump))
7794
7795 (define-public sbcl-antik-base
7796 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7797 (revision "1"))
7798 (package
7799 (name "sbcl-antik-base")
7800 (version (git-version "0.0.0" revision commit))
7801 (source
7802 (origin
7803 (method git-fetch)
7804 (uri (git-reference
7805 (url "https://gitlab.common-lisp.net/antik/antik.git")
7806 (commit commit)))
7807 (file-name (git-file-name name version))
7808 (sha256
7809 (base32
7810 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7811 (build-system asdf-build-system/sbcl)
7812 (inputs
7813 `(("alexandria" ,sbcl-alexandria)
7814 ("cl-ppcre" ,sbcl-cl-ppcre)
7815 ("iterate" ,sbcl-iterate)
7816 ("metabang-bind" ,sbcl-metabang-bind)
7817 ("named-readtables" ,sbcl-named-readtables)
7818 ("split-sequence" ,sbcl-split-sequence)))
7819 (native-inputs
7820 `(("lisp-unit" ,sbcl-lisp-unit)))
7821 (synopsis "Scientific and engineering computation in Common Lisp")
7822 (description
7823 "Antik provides a foundation for scientific and engineering
7824 computation in Common Lisp. It is designed not only to facilitate
7825 numerical computations, but to permit the use of numerical computation
7826 libraries and the interchange of data and procedures, whether
7827 foreign (non-Lisp) or Lisp libraries. It is named after the
7828 Antikythera mechanism, one of the oldest examples of a scientific
7829 computer known.")
7830 (home-page "https://common-lisp.net/project/antik/")
7831 (license license:gpl3))))
7832
7833 (define-public cl-antik-base
7834 (sbcl-package->cl-source-package sbcl-antik-base))
7835
7836 (define-public ecl-antik-base
7837 (sbcl-package->ecl-package sbcl-antik-base))
7838
7839 (define-public sbcl-foreign-array
7840 (package
7841 (inherit sbcl-antik-base)
7842 (name "sbcl-foreign-array")
7843 (arguments
7844 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7845 ((#:asd-file _ "") "foreign-array.asd")
7846 ((#:asd-system-name _ #f) "foreign-array")))
7847 (inputs
7848 `(("antik-base" ,sbcl-antik-base)
7849 ("cffi" ,sbcl-cffi)
7850 ("trivial-garbage" ,sbcl-trivial-garbage)
7851 ("static-vectors" ,sbcl-static-vectors)))
7852 (synopsis "Common Lisp library providing access to foreign arrays")))
7853
7854 (define-public cl-foreign-array
7855 (sbcl-package->cl-source-package sbcl-foreign-array))
7856
7857 (define-public ecl-foreign-array
7858 (sbcl-package->ecl-package sbcl-foreign-array))
7859
7860 (define-public sbcl-physical-dimension
7861 (package
7862 (inherit sbcl-antik-base)
7863 (name "sbcl-physical-dimension")
7864 (inputs
7865 `(("fare-utils" ,sbcl-fare-utils)
7866 ("foreign-array" ,sbcl-foreign-array)
7867 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7868 (arguments
7869 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7870 ((#:asd-file _ "") "physical-dimension.asd")
7871 ((#:asd-system-name _ #f) "physical-dimension")))
7872 (synopsis
7873 "Common Lisp library providing computations with physical units")))
7874
7875 (define-public cl-physical-dimension
7876 (sbcl-package->cl-source-package sbcl-physical-dimension))
7877
7878 (define-public sbcl-science-data
7879 (package
7880 (inherit sbcl-antik-base)
7881 (name "sbcl-science-data")
7882 (inputs
7883 `(("physical-dimension" ,sbcl-physical-dimension)
7884 ("drakma" ,sbcl-drakma)))
7885 (arguments
7886 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7887 ((#:asd-file _ "") "science-data.asd")
7888 ((#:asd-system-name _ #f) "science-data")))
7889 (synopsis
7890 "Common Lisp library for scientific and engineering numerical data")))
7891
7892 (define-public cl-science-data
7893 (sbcl-package->cl-source-package sbcl-science-data))
7894
7895 (define-public sbcl-gsll
7896 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7897 (revision "1"))
7898 (package
7899 (name "sbcl-gsll")
7900 (version (git-version "0.0.0" revision commit))
7901 (source
7902 (origin
7903 (method git-fetch)
7904 (uri (git-reference
7905 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7906 (commit commit)))
7907 (file-name (git-file-name name version))
7908 (sha256
7909 (base32
7910 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7911 (build-system asdf-build-system/sbcl)
7912 (native-inputs
7913 `(("lisp-unit" ,sbcl-lisp-unit)))
7914 (inputs
7915 `(("alexandria" ,sbcl-alexandria)
7916 ("cffi-grovel" ,sbcl-cffi-grovel)
7917 ("cffi-libffi" ,sbcl-cffi-libffi)
7918 ("foreign-array" ,sbcl-foreign-array)
7919 ("gsl" ,gsl)
7920 ("metabang-bind" ,sbcl-metabang-bind)
7921 ("trivial-features" ,sbcl-trivial-features)
7922 ("trivial-garbage" ,sbcl-trivial-garbage)))
7923 (arguments
7924 `(#:tests? #f
7925 #:phases
7926 (modify-phases %standard-phases
7927 (add-after 'unpack 'fix-cffi-paths
7928 (lambda* (#:key inputs #:allow-other-keys)
7929 (substitute* "gsll.asd"
7930 ((":depends-on \\(#:foreign-array")
7931 ":depends-on (#:foreign-array #:cffi-libffi"))
7932 (substitute* "init/init.lisp"
7933 (("libgslcblas.so" all)
7934 (string-append
7935 (assoc-ref inputs "gsl") "/lib/" all)))
7936 (substitute* "init/init.lisp"
7937 (("libgsl.so" all)
7938 (string-append
7939 (assoc-ref inputs "gsl") "/lib/" all))))))))
7940 (synopsis "GNU Scientific Library for Lisp")
7941 (description
7942 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7943 GNU Scientific Library (GSL) from Common Lisp. This library provides a
7944 full range of common mathematical operations useful to scientific and
7945 engineering applications. The design of the GSLL interface is such
7946 that access to most of the GSL library is possible in a Lisp-natural
7947 way; the intent is that the user not be hampered by the restrictions
7948 of the C language in which GSL has been written. GSLL thus provides
7949 interactive use of GSL for getting quick answers, even for someone not
7950 intending to program in Lisp.")
7951 (home-page "https://common-lisp.net/project/gsll/")
7952 (license license:gpl3))))
7953
7954 (define-public cl-gsll
7955 (sbcl-package->cl-source-package sbcl-gsll))
7956
7957 (define-public sbcl-antik
7958 (package
7959 (inherit sbcl-antik-base)
7960 (name "sbcl-antik")
7961 (inputs
7962 `(("gsll" ,sbcl-gsll)
7963 ("physical-dimension" ,sbcl-physical-dimension)))
7964 (arguments
7965 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7966 ((#:asd-file _ "") "antik.asd")
7967 ((#:asd-system-name _ #f) "antik")))))
7968
7969 (define-public cl-antik
7970 (sbcl-package->cl-source-package sbcl-antik))
7971
7972 (define-public sbcl-cl-interpol
7973 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7974 (revision "1"))
7975 (package
7976 (name "sbcl-cl-interpol")
7977 (version (git-version "0.2.6" revision commit))
7978 (source
7979 (origin
7980 (method git-fetch)
7981 (uri (git-reference
7982 (url "https://github.com/edicl/cl-interpol")
7983 (commit commit)))
7984 (file-name (git-file-name name version))
7985 (sha256
7986 (base32
7987 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7988 (build-system asdf-build-system/sbcl)
7989 (inputs
7990 `(("cl-unicode" ,sbcl-cl-unicode)
7991 ("named-readtables" ,sbcl-named-readtables)))
7992 (native-inputs
7993 `(("flexi-streams" ,sbcl-flexi-streams)))
7994 (synopsis "String interpolation for Common Lisp")
7995 (description
7996 "CL-INTERPOL is a library for Common Lisp which modifies the
7997 reader so that you can have interpolation within strings similar to
7998 Perl or Unix Shell scripts. It also provides various ways to insert
7999 arbitrary characters into literal strings even if your editor/IDE
8000 doesn't support them.")
8001 (home-page "https://edicl.github.io/cl-interpol/")
8002 (license license:bsd-3))))
8003
8004 (define-public cl-interpol
8005 (sbcl-package->cl-source-package sbcl-cl-interpol))
8006
8007 (define-public ecl-cl-interpol
8008 (sbcl-package->ecl-package sbcl-cl-interpol))
8009
8010 (define sbcl-symbol-munger-boot0
8011 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8012 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8013 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8014 (revision "1"))
8015 (package
8016 (name "sbcl-symbol-munger-boot0")
8017 (version (git-version "0.0.1" revision commit))
8018 (source
8019 (origin
8020 (method git-fetch)
8021 (uri (git-reference
8022 (url "https://github.com/AccelerationNet/symbol-munger")
8023 (commit commit)))
8024 (file-name (git-file-name name version))
8025 (sha256
8026 (base32
8027 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8028 (build-system asdf-build-system/sbcl)
8029 (arguments
8030 `(#:asd-file "symbol-munger.asd"
8031 #:asd-system-name "symbol-munger"))
8032 (inputs
8033 `(("iterate" ,sbcl-iterate)
8034 ("alexandria" ,sbcl-alexandria)))
8035 (native-inputs
8036 `(("lisp-unit" ,sbcl-lisp-unit)))
8037 (synopsis
8038 "Capitalization and spacing conversion functions for Common Lisp")
8039 (description
8040 "This is a Common Lisp library to change the capitalization and spacing
8041 of a string or a symbol. It can convert to and from Lisp, english, underscore
8042 and camel-case rules.")
8043 (home-page "https://github.com/AccelerationNet/symbol-munger")
8044 ;; The package declares a BSD license, but all of the license
8045 ;; text is MIT.
8046 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8047 (license license:expat))))
8048
8049 (define sbcl-lisp-unit2-boot0
8050 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8051 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8052 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8053 (revision "1"))
8054 (package
8055 (name "sbcl-lisp-unit2-boot0")
8056 (version (git-version "0.2.0" revision commit))
8057 (source
8058 (origin
8059 (method git-fetch)
8060 (uri (git-reference
8061 (url "https://github.com/AccelerationNet/lisp-unit2")
8062 (commit commit)))
8063 (file-name (git-file-name name version))
8064 (sha256
8065 (base32
8066 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8067 (build-system asdf-build-system/sbcl)
8068 (arguments
8069 `(#:asd-file "lisp-unit2.asd"
8070 #:asd-system-name "lisp-unit2"))
8071 (inputs
8072 `(("alexandria" ,sbcl-alexandria)
8073 ("cl-interpol" ,sbcl-cl-interpol)
8074 ("iterate" ,sbcl-iterate)
8075 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8076 (synopsis "Test Framework for Common Lisp")
8077 (description
8078 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8079 style of JUnit for Java. It is a new version of the lisp-unit library written
8080 by Chris Riesbeck.")
8081 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8082 (license license:expat))))
8083
8084 (define-public sbcl-symbol-munger
8085 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8086 (revision "1"))
8087 (package
8088 (name "sbcl-symbol-munger")
8089 (version (git-version "0.0.1" revision commit))
8090 (source
8091 (origin
8092 (method git-fetch)
8093 (uri (git-reference
8094 (url "https://github.com/AccelerationNet/symbol-munger")
8095 (commit commit)))
8096 (file-name (git-file-name name version))
8097 (sha256
8098 (base32
8099 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8100 (build-system asdf-build-system/sbcl)
8101 (inputs
8102 `(("alexandria" ,sbcl-alexandria)
8103 ("iterate" ,sbcl-iterate)))
8104 (native-inputs
8105 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8106 (synopsis
8107 "Capitalization and spacing conversion functions for Common Lisp")
8108 (description
8109 "This is a Common Lisp library to change the capitalization and spacing
8110 of a string or a symbol. It can convert to and from Lisp, english, underscore
8111 and camel-case rules.")
8112 (home-page "https://github.com/AccelerationNet/symbol-munger")
8113 ;; The package declares a BSD license, but all of the license
8114 ;; text is MIT.
8115 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8116 (license license:expat))))
8117
8118 (define-public cl-symbol-munger
8119 (sbcl-package->cl-source-package sbcl-symbol-munger))
8120
8121 (define-public ecl-symbol-munger
8122 (sbcl-package->ecl-package sbcl-symbol-munger))
8123
8124 (define-public sbcl-lisp-unit2
8125 (package
8126 (inherit sbcl-lisp-unit2-boot0)
8127 (name "sbcl-lisp-unit2")
8128 (inputs
8129 `(("alexandria" ,sbcl-alexandria)
8130 ("cl-interpol" ,sbcl-cl-interpol)
8131 ("iterate" ,sbcl-iterate)
8132 ("symbol-munger" ,sbcl-symbol-munger)))))
8133
8134 (define-public cl-lisp-unit2
8135 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8136
8137 (define-public ecl-lisp-unit2
8138 (sbcl-package->ecl-package sbcl-lisp-unit2))
8139
8140 (define-public sbcl-cl-csv
8141 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8142 (revision "1"))
8143 (package
8144 (name "sbcl-cl-csv")
8145 (version (git-version "1.0.6" revision commit))
8146 (source
8147 (origin
8148 (method git-fetch)
8149 (uri (git-reference
8150 (url "https://github.com/AccelerationNet/cl-csv")
8151 (commit commit)))
8152 (file-name (git-file-name name version))
8153 (sha256
8154 (base32
8155 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8156 (build-system asdf-build-system/sbcl)
8157 (arguments
8158 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8159 `(#:tests? #f))
8160 (inputs
8161 `(("alexandria" ,sbcl-alexandria)
8162 ("cl-interpol" ,sbcl-cl-interpol)
8163 ("iterate" ,sbcl-iterate)))
8164 (native-inputs
8165 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8166 (synopsis "Common lisp library for comma-separated values")
8167 (description
8168 "This is a Common Lisp library providing functions to read/write CSV
8169 from/to strings, streams and files.")
8170 (home-page "https://github.com/AccelerationNet/cl-csv")
8171 (license license:bsd-3))))
8172
8173 (define-public cl-csv
8174 (sbcl-package->cl-source-package sbcl-cl-csv))
8175
8176 (define-public ecl-cl-csv
8177 (sbcl-package->ecl-package sbcl-cl-csv))
8178
8179 (define-public sbcl-external-program
8180 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8181 (revision "1"))
8182 (package
8183 (name "sbcl-external-program")
8184 (version (git-version "0.0.6" revision commit))
8185 (source
8186 (origin
8187 (method git-fetch)
8188 (uri (git-reference
8189 (url "https://github.com/sellout/external-program")
8190 (commit commit)))
8191 (file-name (git-file-name name version))
8192 (sha256
8193 (base32
8194 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8195 (build-system asdf-build-system/sbcl)
8196 (inputs
8197 `(("trivial-features" ,sbcl-trivial-features)))
8198 (native-inputs
8199 `(("fiveam" ,sbcl-fiveam)))
8200 (synopsis "Common Lisp library for running external programs")
8201 (description
8202 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8203 process. It is an attempt to make the RUN-PROGRAM functionality in
8204 implementations like SBCL and CCL as portable as possible without
8205 sacrificing much in the way of power.")
8206 (home-page "https://github.com/sellout/external-program")
8207 (license license:llgpl))))
8208
8209 (define-public cl-external-program
8210 (sbcl-package->cl-source-package sbcl-external-program))
8211
8212 (define-public ecl-external-program
8213 (sbcl-package->ecl-package sbcl-external-program))
8214
8215 (define sbcl-cl-ana-boot0
8216 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8217 (revision "1"))
8218 (package
8219 (name "sbcl-cl-ana-boot0")
8220 (version (git-version "0.0.0" revision commit))
8221 (source
8222 (origin
8223 (method git-fetch)
8224 (uri (git-reference
8225 (url "https://github.com/ghollisjr/cl-ana")
8226 (commit commit)))
8227 (file-name (git-file-name name version))
8228 (sha256
8229 (base32
8230 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8231 (build-system asdf-build-system/sbcl)
8232 (synopsis "Common Lisp data analysis library")
8233 (description
8234 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8235 binned data analysis along with nonlinear least squares fitting and
8236 visualization.")
8237 (home-page "https://github.com/ghollisjr/cl-ana")
8238 (license license:gpl3))))
8239
8240 (define-public sbcl-cl-ana.pathname-utils
8241 (package
8242 (inherit sbcl-cl-ana-boot0)
8243 (name "sbcl-cl-ana.pathname-utils")
8244 (arguments
8245 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8246 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8247 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8248
8249 (define-public cl-ana.pathname-utils
8250 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8251
8252 (define-public ecl-cl-ana.pathname-utils
8253 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
8254
8255 (define-public sbcl-cl-ana.package-utils
8256 (package
8257 (inherit sbcl-cl-ana-boot0)
8258 (name "sbcl-cl-ana.package-utils")
8259 (inputs
8260 `(("alexandria" ,sbcl-alexandria)))
8261 (arguments
8262 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8263 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8264 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8265
8266 (define-public cl-ana.package-utils
8267 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8268
8269 (define-public ecl-cl-ana.package-utils
8270 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
8271
8272 (define-public sbcl-cl-ana.string-utils
8273 (package
8274 (inherit sbcl-cl-ana-boot0)
8275 (name "sbcl-cl-ana.string-utils")
8276 (inputs
8277 `(("split-sequence" ,sbcl-split-sequence)))
8278 (arguments
8279 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8280 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8281 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8282
8283 (define-public cl-ana.string-utils
8284 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8285
8286 (define-public ecl-cl-ana.string-utils
8287 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
8288
8289 (define-public sbcl-cl-ana.functional-utils
8290 (package
8291 (inherit sbcl-cl-ana-boot0)
8292 (name "sbcl-cl-ana.functional-utils")
8293 (arguments
8294 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8295 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8296 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8297
8298 (define-public cl-ana.functional-utils
8299 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8300
8301 (define-public ecl-cl-ana.functional-utils
8302 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
8303
8304 (define-public sbcl-cl-ana.list-utils
8305 (package
8306 (inherit sbcl-cl-ana-boot0)
8307 (name "sbcl-cl-ana.list-utils")
8308 (inputs
8309 `(("alexandria" ,sbcl-alexandria)
8310 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8311 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8312 (arguments
8313 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8314 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8315 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8316
8317 (define-public cl-ana.list-utils
8318 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8319
8320 (define-public ecl-cl-ana.list-utils
8321 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
8322
8323 (define-public sbcl-cl-ana.generic-math
8324 (package
8325 (inherit sbcl-cl-ana-boot0)
8326 (name "sbcl-cl-ana.generic-math")
8327 (inputs
8328 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8329 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8330 (arguments
8331 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8332 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8333 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8334
8335 (define-public cl-ana.generic-math
8336 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8337
8338 (define-public ecl-cl-ana.generic-math
8339 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
8340
8341 (define-public sbcl-cl-ana.math-functions
8342 (package
8343 (inherit sbcl-cl-ana-boot0)
8344 (name "sbcl-cl-ana.math-functions")
8345 (inputs
8346 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8347 ("gsll" ,sbcl-gsll)))
8348 (arguments
8349 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8350 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8351 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8352
8353 (define-public cl-ana.math-functions
8354 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
8355
8356 (define-public sbcl-cl-ana.calculus
8357 (package
8358 (inherit sbcl-cl-ana-boot0)
8359 (name "sbcl-cl-ana.calculus")
8360 (inputs
8361 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8362 (arguments
8363 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8364 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8365 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8366
8367 (define-public cl-ana.calculus
8368 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8369
8370 (define-public ecl-cl-ana.calculus
8371 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
8372
8373 (define-public sbcl-cl-ana.symbol-utils
8374 (package
8375 (inherit sbcl-cl-ana-boot0)
8376 (name "sbcl-cl-ana.symbol-utils")
8377 (inputs
8378 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8379 (arguments
8380 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8381 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8382 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8383
8384 (define-public cl-ana.symbol-utils
8385 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8386
8387 (define-public ecl-cl-ana.symbol-utils
8388 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
8389
8390 (define-public sbcl-cl-ana.macro-utils
8391 (package
8392 (inherit sbcl-cl-ana-boot0)
8393 (name "sbcl-cl-ana.macro-utils")
8394 (inputs
8395 `(("alexandria" ,sbcl-alexandria)
8396 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8397 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8398 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8399 ("split-sequence" ,sbcl-split-sequence)))
8400 (arguments
8401 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8402 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8403 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8404
8405 (define-public cl-ana.macro-utils
8406 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8407
8408 (define-public ecl-cl-ana.macro-utils
8409 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
8410
8411 (define-public sbcl-cl-ana.binary-tree
8412 (package
8413 (inherit sbcl-cl-ana-boot0)
8414 (name "sbcl-cl-ana.binary-tree")
8415 (inputs
8416 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8417 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8418 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8419 (arguments
8420 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8421 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8422 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8423
8424 (define-public cl-ana.binary-tree
8425 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8426
8427 (define-public ecl-cl-ana.binary-tree
8428 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
8429
8430 (define-public sbcl-cl-ana.tensor
8431 (package
8432 (inherit sbcl-cl-ana-boot0)
8433 (name "sbcl-cl-ana.tensor")
8434 (inputs
8435 `(("alexandria" ,sbcl-alexandria)
8436 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8437 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8438 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8439 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8440 (arguments
8441 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8442 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8443 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8444
8445 (define-public cl-ana.tensor
8446 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8447
8448 (define-public ecl-cl-ana.tensor
8449 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
8450
8451 (define-public sbcl-cl-ana.error-propogation
8452 (package
8453 (inherit sbcl-cl-ana-boot0)
8454 (name "sbcl-cl-ana.error-propogation")
8455 (inputs
8456 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8457 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8458 (arguments
8459 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8460 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8461 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8462
8463 (define-public cl-ana.error-propogation
8464 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
8465
8466 (define-public sbcl-cl-ana.quantity
8467 (package
8468 (inherit sbcl-cl-ana-boot0)
8469 (name "sbcl-cl-ana.quantity")
8470 (inputs
8471 `(("alexandria" ,sbcl-alexandria)
8472 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8473 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8474 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8475 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8476 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8477 (arguments
8478 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8479 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8480 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8481
8482 (define-public cl-ana.quantity
8483 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
8484
8485 (define-public sbcl-cl-ana.table
8486 (package
8487 (inherit sbcl-cl-ana-boot0)
8488 (name "sbcl-cl-ana.table")
8489 (inputs
8490 `(("alexandria" ,sbcl-alexandria)
8491 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8492 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8493 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8494 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8495 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8496 (arguments
8497 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8498 ((#:asd-file _ "") "table/cl-ana.table.asd")
8499 ((#:asd-system-name _ #f) "cl-ana.table")))))
8500
8501 (define-public cl-ana.table
8502 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8503
8504 (define-public ecl-cl-ana.table
8505 (sbcl-package->ecl-package sbcl-cl-ana.table))
8506
8507 (define-public sbcl-cl-ana.table-utils
8508 (package
8509 (inherit sbcl-cl-ana-boot0)
8510 (name "sbcl-cl-ana.table-utils")
8511 (inputs
8512 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8513 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8514 ("cl-ana.table" ,sbcl-cl-ana.table)))
8515 (arguments
8516 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8517 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8518 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8519
8520 (define-public cl-ana.table-utils
8521 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8522
8523 (define-public ecl-cl-ana.table-utils
8524 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
8525
8526 (define-public sbcl-cl-ana.hdf-cffi
8527 (package
8528 (inherit sbcl-cl-ana-boot0)
8529 (name "sbcl-cl-ana.hdf-cffi")
8530 (inputs
8531 `(("cffi" ,sbcl-cffi)
8532 ("hdf5" ,hdf5-parallel-openmpi)))
8533 (arguments
8534 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8535 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8536 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8537 ((#:phases phases '%standard-phases)
8538 `(modify-phases ,phases
8539 (add-after 'unpack 'fix-paths
8540 (lambda* (#:key inputs #:allow-other-keys)
8541 (substitute* "hdf-cffi/hdf-cffi.lisp"
8542 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8543 (string-append
8544 (assoc-ref inputs "hdf5")
8545 "/lib/libhdf5.so")))))))))))
8546
8547 (define-public cl-ana.hdf-cffi
8548 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8549
8550 (define-public ecl-cl-ana.hdf-cffi
8551 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
8552
8553 (define-public sbcl-cl-ana.int-char
8554 (package
8555 (inherit sbcl-cl-ana-boot0)
8556 (name "sbcl-cl-ana.int-char")
8557 (arguments
8558 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8559 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8560 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8561
8562 (define-public cl-ana.int-char
8563 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8564
8565 (define-public ecl-cl-ana.int-char
8566 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
8567
8568 (define-public sbcl-cl-ana.memoization
8569 (package
8570 (inherit sbcl-cl-ana-boot0)
8571 (name "sbcl-cl-ana.memoization")
8572 (inputs
8573 `(("alexandria" ,sbcl-alexandria)))
8574 (arguments
8575 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8576 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8577 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8578
8579 (define-public cl-ana.memoization
8580 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8581
8582 (define-public ecl-cl-ana.memoization
8583 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
8584
8585 (define-public sbcl-cl-ana.typespec
8586 (package
8587 (inherit sbcl-cl-ana-boot0)
8588 (name "sbcl-cl-ana.typespec")
8589 (inputs
8590 `(("alexandria" ,sbcl-alexandria)
8591 ("cffi" ,sbcl-cffi)
8592 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8593 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8594 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8595 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8596 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8597 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8598 (arguments
8599 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8600 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8601 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8602
8603 (define-public cl-ana.typespec
8604 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8605
8606 (define-public ecl-cl-ana.typespec
8607 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
8608
8609 (define-public sbcl-cl-ana.hdf-typespec
8610 (package
8611 (inherit sbcl-cl-ana-boot0)
8612 (name "sbcl-cl-ana.hdf-typespec")
8613 (inputs
8614 `(("alexandria" ,sbcl-alexandria)
8615 ("cffi" ,sbcl-cffi)
8616 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8617 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8618 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8619 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8620 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8621 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8622 (arguments
8623 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8624 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8625 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8626
8627 (define-public cl-ana.hdf-typespec
8628 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8629
8630 (define-public ecl-cl-ana.hdf-typespec
8631 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
8632
8633 (define-public sbcl-cl-ana.hdf-utils
8634 (package
8635 (inherit sbcl-cl-ana-boot0)
8636 (name "sbcl-cl-ana.hdf-utils")
8637 (inputs
8638 `(("alexandria" ,sbcl-alexandria)
8639 ("cffi" ,sbcl-cffi)
8640 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8641 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8642 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8643 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8644 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8645 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8646 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8647 (arguments
8648 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8649 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8650 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8651
8652 (define-public cl-ana.hdf-utils
8653 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8654
8655 (define-public ecl-cl-ana.hdf-utils
8656 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
8657
8658 (define-public sbcl-cl-ana.typed-table
8659 (package
8660 (inherit sbcl-cl-ana-boot0)
8661 (name "sbcl-cl-ana.typed-table")
8662 (inputs
8663 `(("alexandria" ,sbcl-alexandria)
8664 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8665 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8666 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8667 ("cl-ana.table" ,sbcl-cl-ana.table)
8668 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8669 (arguments
8670 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8671 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8672 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8673
8674 (define-public cl-ana.typed-table
8675 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8676
8677 (define-public ecl-cl-ana.typed-table
8678 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8679
8680 (define-public sbcl-cl-ana.hdf-table
8681 (package
8682 (inherit sbcl-cl-ana-boot0)
8683 (name "sbcl-cl-ana.hdf-table")
8684 (inputs
8685 `(("alexandria" ,sbcl-alexandria)
8686 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8687 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8688 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8689 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8690 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8691 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8692 ("cl-ana.table" ,sbcl-cl-ana.table)
8693 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8694 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8695 (arguments
8696 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8697 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8698 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8699
8700 (define-public cl-ana.hdf-table
8701 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8702
8703 (define-public ecl-cl-ana.hdf-table
8704 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
8705
8706 (define-public sbcl-cl-ana.gsl-cffi
8707 (package
8708 (inherit sbcl-cl-ana-boot0)
8709 (name "sbcl-cl-ana.gsl-cffi")
8710 (inputs
8711 `(("cffi" ,sbcl-cffi)
8712 ("gsl" ,gsl)))
8713 (arguments
8714 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8715 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8716 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8717 ((#:phases phases '%standard-phases)
8718 `(modify-phases ,phases
8719 (add-after 'unpack 'fix-paths
8720 (lambda* (#:key inputs #:allow-other-keys)
8721 (substitute* "gsl-cffi/gsl-cffi.lisp"
8722 (("define-foreign-library gsl-cffi" all)
8723 (string-append all " (:unix "
8724 (assoc-ref inputs "gsl")
8725 "/lib/libgsl.so)")))))))))))
8726
8727 (define-public cl-ana.gsl-cffi
8728 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8729
8730 (define-public ecl-cl-ana.gsl-cffi
8731 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
8732
8733 (define-public sbcl-cl-ana.ntuple-table
8734 (package
8735 (inherit sbcl-cl-ana-boot0)
8736 (name "sbcl-cl-ana.ntuple-table")
8737 (inputs
8738 `(("alexandria" ,sbcl-alexandria)
8739 ("cffi" ,sbcl-cffi)
8740 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8741 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8742 ("cl-ana.table" ,sbcl-cl-ana.table)
8743 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8744 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8745 ("gsll" ,sbcl-gsll)))
8746 (arguments
8747 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8748 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8749 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8750
8751 (define-public cl-ana.ntuple-table
8752 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
8753
8754 (define-public sbcl-cl-ana.csv-table
8755 (package
8756 (inherit sbcl-cl-ana-boot0)
8757 (name "sbcl-cl-ana.csv-table")
8758 (inputs
8759 `(("alexandria" ,sbcl-alexandria)
8760 ("antik" ,sbcl-antik)
8761 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8762 ("cl-ana.table" ,sbcl-cl-ana.table)
8763 ("cl-csv" ,sbcl-cl-csv)
8764 ("iterate" ,sbcl-iterate)))
8765 (arguments
8766 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8767 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8768 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8769
8770 (define-public cl-ana.csv-table
8771 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
8772
8773 (define-public sbcl-cl-ana.reusable-table
8774 (package
8775 (inherit sbcl-cl-ana-boot0)
8776 (name "sbcl-cl-ana.reusable-table")
8777 (inputs
8778 `(("alexandria" ,sbcl-alexandria)
8779 ("cl-ana.table" ,sbcl-cl-ana.table)))
8780 (arguments
8781 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8782 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8783 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8784
8785 (define-public cl-ana.reusable-table
8786 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8787
8788 (define-public ecl-cl-ana.reusable-table
8789 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
8790
8791 (define-public sbcl-cl-ana.linear-algebra
8792 (package
8793 (inherit sbcl-cl-ana-boot0)
8794 (name "sbcl-cl-ana.linear-algebra")
8795 (inputs
8796 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8797 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8798 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8799 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8800 ("gsll" ,sbcl-gsll)))
8801 (arguments
8802 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8803 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8804 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8805
8806 (define-public cl-ana.linear-algebra
8807 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
8808
8809 (define-public sbcl-cl-ana.lorentz
8810 (package
8811 (inherit sbcl-cl-ana-boot0)
8812 (name "sbcl-cl-ana.lorentz")
8813 (inputs
8814 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8815 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8816 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8817 ("iterate" ,sbcl-iterate)))
8818 (arguments
8819 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8820 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8821 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8822
8823 (define-public cl-ana.lorentz
8824 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
8825
8826 (define-public sbcl-cl-ana.clos-utils
8827 (package
8828 (inherit sbcl-cl-ana-boot0)
8829 (name "sbcl-cl-ana.clos-utils")
8830 (inputs
8831 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8832 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8833 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8834 ("closer-mop" ,sbcl-closer-mop)))
8835 (arguments
8836 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8837 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8838 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8839
8840 (define-public cl-ana.clos-utils
8841 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8842
8843 (define-public ecl-cl-ana.clos-utils
8844 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
8845
8846 (define-public sbcl-cl-ana.hash-table-utils
8847 (package
8848 (inherit sbcl-cl-ana-boot0)
8849 (name "sbcl-cl-ana.hash-table-utils")
8850 (arguments
8851 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8852 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8853 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8854
8855 (define-public cl-ana.hash-table-utils
8856 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8857
8858 (define-public ecl-cl-ana.hash-table-utils
8859 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
8860
8861 (define-public sbcl-cl-ana.map
8862 (package
8863 (inherit sbcl-cl-ana-boot0)
8864 (name "sbcl-cl-ana.map")
8865 (inputs
8866 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8867 (arguments
8868 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8869 ((#:asd-file _ "") "map/cl-ana.map.asd")
8870 ((#:asd-system-name _ #f) "cl-ana.map")))))
8871
8872 (define-public cl-ana.map
8873 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8874
8875 (define-public ecl-cl-ana.map
8876 (sbcl-package->ecl-package sbcl-cl-ana.map))
8877
8878 (define-public sbcl-cl-ana.fitting
8879 (package
8880 (inherit sbcl-cl-ana-boot0)
8881 (name "sbcl-cl-ana.fitting")
8882 (inputs
8883 `(("alexandria" ,sbcl-alexandria)
8884 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8885 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8886 ("cl-ana.map" ,sbcl-cl-ana.map)
8887 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8888 ("gsll" ,sbcl-gsll)))
8889 (arguments
8890 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8891 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8892 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8893
8894 (define-public cl-ana.fitting
8895 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
8896
8897 (define-public sbcl-cl-ana.histogram
8898 (package
8899 (inherit sbcl-cl-ana-boot0)
8900 (name "sbcl-cl-ana.histogram")
8901 (inputs
8902 `(("alexandria" ,sbcl-alexandria)
8903 ("iterate" ,sbcl-iterate)
8904 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8905 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8906 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8907 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8908 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8909 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8910 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8911 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8912 ("cl-ana.map" ,sbcl-cl-ana.map)
8913 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8914 (arguments
8915 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8916 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8917 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8918
8919 (define-public cl-ana.histogram
8920 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
8921
8922 (define-public sbcl-cl-ana.file-utils
8923 (package
8924 (inherit sbcl-cl-ana-boot0)
8925 (name "sbcl-cl-ana.file-utils")
8926 (inputs
8927 `(("external-program" ,sbcl-external-program)
8928 ("split-sequence" ,sbcl-split-sequence)))
8929 (arguments
8930 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8931 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8932 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8933
8934 (define-public cl-ana.file-utils
8935 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8936
8937 (define-public ecl-cl-ana.file-utils
8938 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
8939
8940 (define-public sbcl-cl-ana.statistics
8941 (package
8942 (inherit sbcl-cl-ana-boot0)
8943 (name "sbcl-cl-ana.statistics")
8944 (inputs
8945 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8946 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8947 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8948 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8949 ("cl-ana.map" ,sbcl-cl-ana.map)))
8950 (arguments
8951 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8952 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8953 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8954
8955 (define-public cl-ana.statistics
8956 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
8957
8958 (define-public sbcl-cl-ana.gnuplot-interface
8959 (package
8960 (inherit sbcl-cl-ana-boot0)
8961 (name "sbcl-cl-ana.gnuplot-interface")
8962 (inputs
8963 `(("external-program" ,sbcl-external-program)))
8964 (arguments
8965 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8966 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8967 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8968
8969 (define-public cl-ana.gnuplot-interface
8970 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8971
8972 (define-public ecl-cl-ana.gnuplot-interface
8973 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
8974
8975 (define-public sbcl-cl-ana.plotting
8976 (package
8977 (inherit sbcl-cl-ana-boot0)
8978 (name "sbcl-cl-ana.plotting")
8979 (inputs
8980 `(("alexandria" ,sbcl-alexandria)
8981 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8982 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8983 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8984 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8985 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8986 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8987 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8988 ("cl-ana.map" ,sbcl-cl-ana.map)
8989 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8990 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8991 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8992 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8993 ("external-program" ,sbcl-external-program)
8994 ("split-sequence" ,sbcl-split-sequence)))
8995 (arguments
8996 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8997 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8998 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8999
9000 (define-public cl-ana.plotting
9001 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
9002
9003 (define-public sbcl-cl-ana.table-viewing
9004 (package
9005 (inherit sbcl-cl-ana-boot0)
9006 (name "sbcl-cl-ana.table-viewing")
9007 (inputs
9008 `(("alexandria" ,sbcl-alexandria)
9009 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9010 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9011 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9012 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9013 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9014 ("cl-ana.table" ,sbcl-cl-ana.table)))
9015 (arguments
9016 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9017 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9018 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9019
9020 (define-public cl-ana.table-viewing
9021 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
9022
9023 (define-public sbcl-cl-ana.serialization
9024 (package
9025 (inherit sbcl-cl-ana-boot0)
9026 (name "sbcl-cl-ana.serialization")
9027 (inputs
9028 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9029 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9030 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9031 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9032 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9033 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9034 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9035 (arguments
9036 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9037 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9038 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9039
9040 (define-public cl-ana.serialization
9041 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
9042
9043 (define-public sbcl-cl-ana.makeres
9044 (package
9045 (inherit sbcl-cl-ana-boot0)
9046 (name "sbcl-cl-ana.makeres")
9047 (inputs
9048 `(("alexandria" ,sbcl-alexandria)
9049 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9050 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9051 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9052 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9053 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9054 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9055 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9056 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9057 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9058 ("cl-ana.map" ,sbcl-cl-ana.map)
9059 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9060 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9061 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9062 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9063 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9064 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9065 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9066 ("cl-ana.table" ,sbcl-cl-ana.table)
9067 ("external-program" ,sbcl-external-program)))
9068 (native-inputs
9069 `(("cl-fad" ,sbcl-cl-fad)))
9070 (arguments
9071 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9072 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9073 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9074
9075 (define-public cl-ana.makeres
9076 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
9077
9078 (define-public sbcl-cl-ana.makeres-macro
9079 (package
9080 (inherit sbcl-cl-ana-boot0)
9081 (name "sbcl-cl-ana.makeres-macro")
9082 (inputs
9083 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9084 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9085 (arguments
9086 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9087 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9088 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9089
9090 (define-public cl-ana.makeres-macro
9091 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
9092
9093 (define-public sbcl-cl-ana.makeres-block
9094 (package
9095 (inherit sbcl-cl-ana-boot0)
9096 (name "sbcl-cl-ana.makeres-block")
9097 (inputs
9098 `(("alexandria" ,sbcl-alexandria)
9099 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9100 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9101 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9102 (arguments
9103 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9104 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9105 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9106
9107 (define-public cl-ana.makeres-block
9108 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
9109
9110 (define-public sbcl-cl-ana.makeres-progress
9111 (package
9112 (inherit sbcl-cl-ana-boot0)
9113 (name "sbcl-cl-ana.makeres-progress")
9114 (inputs
9115 `(("alexandria" ,sbcl-alexandria)
9116 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9117 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9118 (arguments
9119 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9120 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9121 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9122
9123 (define-public cl-ana.makeres-progress
9124 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
9125
9126 (define-public sbcl-cl-ana.makeres-table
9127 (package
9128 (inherit sbcl-cl-ana-boot0)
9129 (name "sbcl-cl-ana.makeres-table")
9130 (inputs
9131 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9132 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9133 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9134 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9135 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9136 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9137 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9138 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9139 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9140 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9141 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9142 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9143 ("cl-ana.table" ,sbcl-cl-ana.table)))
9144 (native-inputs
9145 `(("cl-fad" ,sbcl-cl-fad)))
9146 (arguments
9147 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9148 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9149 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9150
9151 (define-public cl-ana.makeres-table
9152 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
9153
9154 (define-public sbcl-cl-ana.makeres-graphviz
9155 (package
9156 (inherit sbcl-cl-ana-boot0)
9157 (name "sbcl-cl-ana.makeres-graphviz")
9158 (inputs
9159 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9160 ("external-program" ,sbcl-external-program)))
9161 (arguments
9162 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9163 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9164 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9165
9166 (define-public cl-ana.makeres-graphviz
9167 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
9168
9169 (define-public sbcl-cl-ana.makeres-branch
9170 (package
9171 (inherit sbcl-cl-ana-boot0)
9172 (name "sbcl-cl-ana.makeres-branch")
9173 (inputs
9174 `(("alexandria" ,sbcl-alexandria)
9175 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9176 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9177 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9178 ("cl-ana.map" ,sbcl-cl-ana.map)
9179 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9180 (arguments
9181 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9182 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9183 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9184
9185 (define-public cl-ana.makeres-branch
9186 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
9187
9188 (define-public sbcl-cl-ana.makeres-utils
9189 (package
9190 (inherit sbcl-cl-ana-boot0)
9191 (name "sbcl-cl-ana.makeres-utils")
9192 (inputs
9193 `(("alexandria" ,sbcl-alexandria)
9194 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9195 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9196 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9197 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9198 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9199 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9200 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9201 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9202 ("cl-ana.map" ,sbcl-cl-ana.map)
9203 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9204 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9205 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9206 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9207 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9208 ("cl-ana.table" ,sbcl-cl-ana.table)))
9209 (native-inputs
9210 `(("cl-fad" ,sbcl-cl-fad)))
9211 (arguments
9212 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9213 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9214 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9215
9216 (define-public cl-ana.makeres-utils
9217 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
9218
9219 (define-public sbcl-cl-ana.statistical-learning
9220 (package
9221 (inherit sbcl-cl-ana-boot0)
9222 (name "sbcl-cl-ana.statistical-learning")
9223 (inputs
9224 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9225 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9226 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9227 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9228 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9229 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9230 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9231 ("cl-ana.map" ,sbcl-cl-ana.map)
9232 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9233 (native-inputs
9234 `(("cl-fad" ,sbcl-cl-fad)))
9235 (arguments
9236 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9237 ((#:asd-file _ "")
9238 "statistical-learning/cl-ana.statistical-learning.asd")
9239 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9240
9241 (define-public cl-ana.statistical-learning
9242 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
9243
9244 (define-public sbcl-cl-ana
9245 (package
9246 (inherit sbcl-cl-ana-boot0)
9247 (name "sbcl-cl-ana")
9248 (inputs
9249 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9250 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9251 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9252 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9253 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9254 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9255 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9256 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9257 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9258 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9259 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9260 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9261 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9262 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9263 ("cl-ana.map" ,sbcl-cl-ana.map)
9264 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9265 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9266 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9267 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9268 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9269 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9270 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9271 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9272 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9273 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9274 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9275 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9276 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9277 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9278 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9279 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9280 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9281 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9282 ("cl-ana.table" ,sbcl-cl-ana.table)
9283 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9284 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9285 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9286 ("libffi" ,libffi)))
9287 (native-inputs
9288 `(("cl-fad" ,sbcl-cl-fad)))
9289 (arguments
9290 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9291 ((#:asd-file _ "") "cl-ana.asd")
9292 ((#:asd-system-name _ #f) "cl-ana")))))
9293
9294 (define-public cl-ana
9295 (sbcl-package->cl-source-package sbcl-cl-ana))
9296
9297 (define-public sbcl-archive
9298 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9299 (revision "1"))
9300 (package
9301 (name "sbcl-archive")
9302 (version (git-version "0.9" revision commit))
9303 (source (origin
9304 (method git-fetch)
9305 (uri (git-reference
9306 (url "https://github.com/sharplispers/archive")
9307 (commit commit)))
9308 (file-name (git-file-name name version))
9309 (sha256
9310 (base32
9311 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9312 (build-system asdf-build-system/sbcl)
9313 (inputs
9314 `(("cl-fad" ,sbcl-cl-fad)
9315 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9316 (synopsis "Common Lisp library for tar and cpio archives")
9317 (description
9318 "This is a Common Lisp library to read and write disk-based file
9319 archives such as those generated by the tar and cpio programs on Unix.")
9320 (home-page "https://github.com/sharplispers/archive")
9321 (license license:bsd-3))))
9322
9323 (define-public cl-archive
9324 (sbcl-package->cl-source-package sbcl-archive))
9325
9326 (define-public ecl-archive
9327 (sbcl-package->ecl-package sbcl-archive))
9328
9329 (define-public sbcl-misc-extensions
9330 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9331 (revision "1"))
9332 (package
9333 (name "sbcl-misc-extensions")
9334 (version (git-version "3.3" revision commit))
9335 (source
9336 (origin
9337 (method git-fetch)
9338 (uri (git-reference
9339 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9340 (commit commit)))
9341 (file-name (git-file-name name version))
9342 (sha256
9343 (base32
9344 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9345 (build-system asdf-build-system/sbcl)
9346 (synopsis "Collection of small macros and extensions for Common Lisp")
9347 (description
9348 "This project is intended as a catchall for small, general-purpose
9349 extensions to Common Lisp. It contains:
9350
9351 @itemize
9352 @item @code{new-let}, a macro that combines and generalizes @code{let},
9353 @code{let*} and @code{multiple-value-bind},
9354 @item @code{gmap}, an iteration macro that generalizes @code{map}.
9355 @end itemize\n")
9356 (home-page "https://common-lisp.net/project/misc-extensions/")
9357 (license license:public-domain))))
9358
9359 (define-public cl-misc-extensions
9360 (sbcl-package->cl-source-package sbcl-misc-extensions))
9361
9362 (define-public ecl-misc-extensions
9363 (sbcl-package->ecl-package sbcl-misc-extensions))
9364
9365 (define-public sbcl-mt19937
9366 (package
9367 (name "sbcl-mt19937")
9368 (version "1.1")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9373 "mt19937-latest.tar.gz"))
9374 (sha256
9375 (base32
9376 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9377 (build-system asdf-build-system/sbcl)
9378 (synopsis "Mersenne Twister pseudo-random number generator")
9379 (description
9380 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9381 for Common Lisp.")
9382 (home-page "https://www.cliki.net/mt19937")
9383 (license license:public-domain)))
9384
9385 (define-public cl-mt19937
9386 (sbcl-package->cl-source-package sbcl-mt19937))
9387
9388 (define-public ecl-mt19937
9389 (sbcl-package->ecl-package sbcl-mt19937))
9390
9391 (define-public sbcl-fset
9392 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9393 (revision "1"))
9394 (package
9395 (name "sbcl-fset")
9396 (version (git-version "1.3.2" revision commit))
9397 (source
9398 (origin
9399 (method git-fetch)
9400 (uri (git-reference
9401 (url "https://github.com/slburson/fset")
9402 (commit commit)))
9403 (file-name (git-file-name name version))
9404 (sha256
9405 (base32
9406 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9407 (snippet '(begin
9408 ;; Remove obsolete copy of system definition.
9409 (delete-file "Code/fset.asd")
9410 #t))))
9411 (build-system asdf-build-system/sbcl)
9412 (inputs
9413 `(("misc-extensions" ,sbcl-misc-extensions)
9414 ("mt19937" ,sbcl-mt19937)
9415 ("named-readtables" ,sbcl-named-readtables)))
9416 (synopsis "Functional set-theoretic collections library")
9417 (description
9418 "FSet is a functional set-theoretic collections library for Common Lisp.
9419 Functional means that all update operations return a new collection rather than
9420 modifying an existing one in place. Set-theoretic means that collections may
9421 be nested arbitrarily with no additional programmer effort; for instance, sets
9422 may contain sets, maps may be keyed by sets, etc.")
9423 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9424 (license license:llgpl))))
9425
9426 (define-public cl-fset
9427 (sbcl-package->cl-source-package sbcl-fset))
9428
9429 (define-public sbcl-cl-cont
9430 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9431 (revision "1"))
9432 (package
9433 (name "sbcl-cl-cont")
9434 (version (git-version "0.3.8" revision commit))
9435 (source
9436 (origin
9437 (method git-fetch)
9438 (uri (git-reference
9439 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9440 (commit commit)))
9441 (file-name (git-file-name name version))
9442 (sha256
9443 (base32
9444 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9445 (build-system asdf-build-system/sbcl)
9446 (inputs
9447 `(("alexandria" ,sbcl-alexandria)
9448 ("closer-mop" ,sbcl-closer-mop)))
9449 (native-inputs
9450 `(("rt" ,sbcl-rt)))
9451 (synopsis "Delimited continuations for Common Lisp")
9452 (description
9453 "This is a library that implements delimited continuations by
9454 transforming Common Lisp code to continuation passing style.")
9455 (home-page "https://common-lisp.net/project/cl-cont/")
9456 (license license:llgpl))))
9457
9458 (define-public cl-cont
9459 (sbcl-package->cl-source-package sbcl-cl-cont))
9460
9461 (define-public ecl-cl-cont
9462 (sbcl-package->ecl-package sbcl-cl-cont))
9463
9464 (define-public sbcl-cl-coroutine
9465 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9466 (revision "1"))
9467 (package
9468 (name "sbcl-cl-coroutine")
9469 (version (git-version "0.1" revision commit))
9470 (source
9471 (origin
9472 (method git-fetch)
9473 (uri (git-reference
9474 (url "https://github.com/takagi/cl-coroutine")
9475 (commit commit)))
9476 (file-name (git-file-name name version))
9477 (sha256
9478 (base32
9479 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9480 (build-system asdf-build-system/sbcl)
9481 (inputs
9482 `(("alexandria" ,sbcl-alexandria)
9483 ("cl-cont" ,sbcl-cl-cont)))
9484 (native-inputs
9485 `(("prove" ,sbcl-prove)))
9486 (arguments
9487 `(;; TODO: Fix the tests. They fail with:
9488 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9489 #:tests? #f
9490 #:phases
9491 (modify-phases %standard-phases
9492 (add-after 'unpack 'fix-tests
9493 (lambda _
9494 (substitute* "cl-coroutine-test.asd"
9495 (("cl-test-more")
9496 "prove"))
9497 #t)))))
9498 (synopsis "Coroutine library for Common Lisp")
9499 (description
9500 "This is a coroutine library for Common Lisp implemented using the
9501 continuations of the @code{cl-cont} library.")
9502 (home-page "https://github.com/takagi/cl-coroutine")
9503 (license license:llgpl))))
9504
9505 (define-public cl-coroutine
9506 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9507
9508 (define-public ecl-cl-coroutine
9509 (sbcl-package->ecl-package sbcl-cl-coroutine))
9510
9511 (define-public sbcl-vom
9512 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9513 (revision "1"))
9514 (package
9515 (name "sbcl-vom")
9516 (version (git-version "0.1.4" revision commit))
9517 (source
9518 (origin
9519 (method git-fetch)
9520 (uri (git-reference
9521 (url "https://github.com/orthecreedence/vom")
9522 (commit commit)))
9523 (file-name (git-file-name name version))
9524 (sha256
9525 (base32
9526 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9527 (build-system asdf-build-system/sbcl)
9528 (synopsis "Tiny logging utility for Common Lisp")
9529 (description
9530 "Vom is a logging library for Common Lisp. It's goal is to be useful
9531 and small. It does not provide a lot of features as other loggers do, but
9532 has a small codebase that's easy to understand and use.")
9533 (home-page "https://github.com/orthecreedence/vom")
9534 (license license:expat))))
9535
9536 (define-public cl-vom
9537 (sbcl-package->cl-source-package sbcl-vom))
9538
9539 (define-public ecl-vom
9540 (sbcl-package->ecl-package sbcl-vom))
9541
9542 (define-public sbcl-cl-libuv
9543 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9544 (revision "1"))
9545 (package
9546 (name "sbcl-cl-libuv")
9547 (version (git-version "0.1.6" revision commit))
9548 (source
9549 (origin
9550 (method git-fetch)
9551 (uri (git-reference
9552 (url "https://github.com/orthecreedence/cl-libuv")
9553 (commit commit)))
9554 (file-name (git-file-name name version))
9555 (sha256
9556 (base32
9557 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9558 (build-system asdf-build-system/sbcl)
9559 (inputs
9560 `(("alexandria" ,sbcl-alexandria)
9561 ("cffi" ,sbcl-cffi)
9562 ("cffi-grovel" ,sbcl-cffi-grovel)
9563 ("libuv" ,libuv)))
9564 (arguments
9565 `(#:phases
9566 (modify-phases %standard-phases
9567 (add-after 'unpack 'fix-paths
9568 (lambda* (#:key inputs #:allow-other-keys)
9569 (substitute* "lib.lisp"
9570 (("/usr/lib/libuv.so")
9571 (string-append (assoc-ref inputs "libuv")
9572 "/lib/libuv.so")))
9573 #t))
9574 (add-after 'fix-paths 'fix-system-definition
9575 (lambda _
9576 (substitute* "cl-libuv.asd"
9577 (("#:cffi #:alexandria")
9578 "#:cffi #:cffi-grovel #:alexandria"))
9579 #t)))))
9580 (synopsis "Common Lisp bindings to libuv")
9581 (description
9582 "This library provides low-level libuv bindings for Common Lisp.")
9583 (home-page "https://github.com/orthecreedence/cl-libuv")
9584 (license license:expat))))
9585
9586 (define-public cl-libuv
9587 (sbcl-package->cl-source-package sbcl-cl-libuv))
9588
9589 (define-public ecl-cl-libuv
9590 (sbcl-package->ecl-package sbcl-cl-libuv))
9591
9592 (define-public sbcl-cl-async-base
9593 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9594 (revision "1"))
9595 (package
9596 (name "sbcl-cl-async-base")
9597 (version (git-version "0.6.1" revision commit))
9598 (source
9599 (origin
9600 (method git-fetch)
9601 (uri (git-reference
9602 (url "https://github.com/orthecreedence/cl-async")
9603 (commit commit)))
9604 (file-name (git-file-name name version))
9605 (sha256
9606 (base32
9607 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9608 (build-system asdf-build-system/sbcl)
9609 (inputs
9610 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9611 ("cffi" ,sbcl-cffi)
9612 ("cl-libuv" ,sbcl-cl-libuv)))
9613 (arguments
9614 `(#:asd-file "cl-async.asd"))
9615 (synopsis "Base system for cl-async")
9616 (description
9617 "Cl-async is a library for general purpose, non-blocking programming in
9618 Common Lisp. It uses the libuv library as backend.")
9619 (home-page "https://orthecreedence.github.io/cl-async/")
9620 (license license:expat))))
9621
9622 (define-public cl-async-base
9623 (sbcl-package->cl-source-package sbcl-cl-async-base))
9624
9625 (define-public ecl-cl-async-base
9626 (sbcl-package->ecl-package sbcl-cl-async-base))
9627
9628 (define-public sbcl-cl-async-util
9629 (package
9630 (inherit sbcl-cl-async-base)
9631 (name "sbcl-cl-async-util")
9632 (inputs
9633 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9634 ("cffi" ,sbcl-cffi)
9635 ("cl-async-base" ,sbcl-cl-async-base)
9636 ("cl-libuv" ,sbcl-cl-libuv)
9637 ("cl-ppcre" ,sbcl-cl-ppcre)
9638 ("fast-io" ,sbcl-fast-io)
9639 ("vom" ,sbcl-vom)))
9640 (synopsis "Internal utilities for cl-async")))
9641
9642 (define-public cl-async-util
9643 (sbcl-package->cl-source-package sbcl-cl-async-util))
9644
9645 (define-public ecl-cl-async-util
9646 (sbcl-package->ecl-package sbcl-cl-async-util))
9647
9648 (define-public sbcl-cl-async
9649 (package
9650 (inherit sbcl-cl-async-base)
9651 (name "sbcl-cl-async")
9652 (inputs
9653 `(("babel" ,sbcl-babel)
9654 ("cffi" ,sbcl-cffi)
9655 ("cl-async-base" ,sbcl-cl-async-base)
9656 ("cl-async-util" ,sbcl-cl-async-util)
9657 ("cl-libuv" ,sbcl-cl-libuv)
9658 ("cl-ppcre" ,sbcl-cl-ppcre)
9659 ("static-vectors" ,sbcl-static-vectors)
9660 ("trivial-features" ,sbcl-trivial-features)
9661 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9662 (synopsis "Asynchronous operations for Common Lisp")))
9663
9664 (define-public cl-async
9665 (sbcl-package->cl-source-package sbcl-cl-async))
9666
9667 (define-public ecl-cl-async
9668 (sbcl-package->ecl-package sbcl-cl-async))
9669
9670 (define-public sbcl-cl-async-repl
9671 (package
9672 (inherit sbcl-cl-async-base)
9673 (name "sbcl-cl-async-repl")
9674 (inputs
9675 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9676 ("cl-async" ,sbcl-cl-async)))
9677 (arguments
9678 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9679 ((#:asd-file _ "") "cl-async-repl.asd")))
9680 (synopsis "REPL integration for cl-async")))
9681
9682 (define-public cl-async-repl
9683 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9684
9685 (define-public ecl-cl-async-repl
9686 (sbcl-package->ecl-package sbcl-cl-async-repl))
9687
9688 (define-public sbcl-cl-async-ssl
9689 (package
9690 (inherit sbcl-cl-async-base)
9691 (name "sbcl-cl-async-ssl")
9692 (inputs
9693 `(("cffi" ,sbcl-cffi)
9694 ("cl-async" ,sbcl-cl-async)
9695 ("openssl" ,openssl)
9696 ("vom" ,sbcl-vom)))
9697 (arguments
9698 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9699 ((#:asd-file _ "") "cl-async-ssl.asd")
9700 ((#:phases phases '%standard-phases)
9701 `(modify-phases ,phases
9702 (add-after 'unpack 'fix-paths
9703 (lambda* (#:key inputs #:allow-other-keys)
9704 (substitute* "src/ssl/package.lisp"
9705 (("libcrypto\\.so")
9706 (string-append (assoc-ref inputs "openssl")
9707 "/lib/libcrypto.so"))
9708 (("libssl\\.so")
9709 (string-append (assoc-ref inputs "openssl")
9710 "/lib/libssl.so")))
9711 #t))))))
9712 (synopsis "SSL wrapper around cl-async socket implementation")))
9713
9714 (define-public cl-async-ssl
9715 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9716
9717 (define-public ecl-cl-async-ssl
9718 (sbcl-package->ecl-package sbcl-cl-async-ssl))
9719
9720 (define-public sbcl-blackbird
9721 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9722 (revision "1"))
9723 (package
9724 (name "sbcl-blackbird")
9725 (version (git-version "0.5.2" revision commit))
9726 (source
9727 (origin
9728 (method git-fetch)
9729 (uri (git-reference
9730 (url "https://github.com/orthecreedence/blackbird")
9731 (commit commit)))
9732 (file-name (git-file-name name version))
9733 (sha256
9734 (base32
9735 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9736 (build-system asdf-build-system/sbcl)
9737 (inputs
9738 `(("vom" ,sbcl-vom)))
9739 (native-inputs
9740 `(("cl-async" ,sbcl-cl-async)
9741 ("fiveam" ,sbcl-fiveam)))
9742 (synopsis "Promise implementation for Common Lisp")
9743 (description
9744 "This is a standalone promise implementation for Common Lisp. It is
9745 the successor to the now-deprecated cl-async-future project.")
9746 (home-page "https://orthecreedence.github.io/blackbird/")
9747 (license license:expat))))
9748
9749 (define-public cl-blackbird
9750 (sbcl-package->cl-source-package sbcl-blackbird))
9751
9752 (define-public ecl-blackbird
9753 (sbcl-package->ecl-package sbcl-blackbird))
9754
9755 (define-public sbcl-cl-async-future
9756 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9757 (revision "1"))
9758 (package
9759 (name "sbcl-cl-async-future")
9760 (version (git-version "0.4.4.1" revision commit))
9761 (source
9762 (origin
9763 (method git-fetch)
9764 (uri (git-reference
9765 (url "https://github.com/orthecreedence/cl-async-future")
9766 (commit commit)))
9767 (file-name (git-file-name name version))
9768 (sha256
9769 (base32
9770 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9771 (build-system asdf-build-system/sbcl)
9772 (inputs
9773 `(("blackbird" ,sbcl-blackbird)))
9774 (native-inputs
9775 `(("cl-async" ,sbcl-cl-async)
9776 ("eos" ,sbcl-eos)))
9777 (synopsis "Futures implementation for Common Lisp")
9778 (description
9779 "This is futures implementation for Common Lisp. It plugs in nicely
9780 to cl-async.")
9781 (home-page "https://orthecreedence.github.io/cl-async/future")
9782 (license license:expat))))
9783
9784 (define-public cl-async-future
9785 (sbcl-package->cl-source-package sbcl-cl-async-future))
9786
9787 (define-public ecl-cl-async-future
9788 (sbcl-package->ecl-package sbcl-cl-async-future))
9789
9790 (define-public sbcl-green-threads
9791 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9792 (revision "1"))
9793 (package
9794 (name "sbcl-green-threads")
9795 (version (git-version "0.3" revision commit))
9796 (source
9797 (origin
9798 (method git-fetch)
9799 (uri (git-reference
9800 (url "https://github.com/thezerobit/green-threads")
9801 (commit commit)))
9802 (file-name (git-file-name name version))
9803 (sha256
9804 (base32
9805 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9806 (build-system asdf-build-system/sbcl)
9807 (inputs
9808 `(("cl-async-future" ,sbcl-cl-async-future)
9809 ("cl-cont" ,sbcl-cl-cont)))
9810 (native-inputs
9811 `(("prove" ,sbcl-prove)))
9812 (arguments
9813 `(;; TODO: Fix the tests. They fail with:
9814 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9815 #:tests? #f
9816 #:phases
9817 (modify-phases %standard-phases
9818 (add-after 'unpack 'fix-tests
9819 (lambda _
9820 (substitute* "green-threads-test.asd"
9821 (("cl-test-more")
9822 "prove"))
9823 #t)))))
9824 (synopsis "Cooperative multitasking library for Common Lisp")
9825 (description
9826 "This library allows for cooperative multitasking with help of cl-cont
9827 for continuations. It tries to mimic the API of bordeaux-threads as much as
9828 possible.")
9829 (home-page "https://github.com/thezerobit/green-threads")
9830 (license license:bsd-3))))
9831
9832 (define-public cl-green-threads
9833 (sbcl-package->cl-source-package sbcl-green-threads))
9834
9835 (define-public ecl-green-threads
9836 (sbcl-package->ecl-package sbcl-green-threads))
9837
9838 (define-public sbcl-cl-base32
9839 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9840 (revision "1"))
9841 (package
9842 (name "sbcl-cl-base32")
9843 (version (git-version "0.1" revision commit))
9844 (source
9845 (origin
9846 (method git-fetch)
9847 (uri (git-reference
9848 (url "https://github.com/hargettp/cl-base32")
9849 (commit commit)))
9850 (file-name (git-file-name name version))
9851 (sha256
9852 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9853 (build-system asdf-build-system/sbcl)
9854 (native-inputs
9855 `(("lisp-unit" ,sbcl-lisp-unit)))
9856 (synopsis "Common Lisp library for base32 encoding and decoding")
9857 (description
9858 "This package provides functions for base32 encoding and decoding as
9859 defined in RFC4648.")
9860 (home-page "https://github.com/hargettp/cl-base32")
9861 (license license:expat))))
9862
9863 (define-public cl-base32
9864 (sbcl-package->cl-source-package sbcl-cl-base32))
9865
9866 (define-public ecl-cl-base32
9867 (sbcl-package->ecl-package sbcl-cl-base32))
9868
9869 (define-public sbcl-cl-z85
9870 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9871 (revision "1"))
9872 (package
9873 (name "sbcl-cl-z85")
9874 (version (git-version "1.0" revision commit))
9875 (source
9876 (origin
9877 (method git-fetch)
9878 (uri (git-reference
9879 (url "https://github.com/glv2/cl-z85")
9880 (commit commit)))
9881 (file-name (git-file-name name version))
9882 (sha256
9883 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9884 (build-system asdf-build-system/sbcl)
9885 (native-inputs
9886 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9887 ("fiveam" ,sbcl-fiveam)))
9888 (synopsis "Common Lisp library for Z85 encoding and decoding")
9889 (description
9890 "This package provides functions to encode or decode byte vectors or
9891 byte streams using the Z85 format, which is a base-85 encoding used by
9892 ZeroMQ.")
9893 (home-page "https://github.com/glv2/cl-z85")
9894 (license license:gpl3+))))
9895
9896 (define-public cl-z85
9897 (sbcl-package->cl-source-package sbcl-cl-z85))
9898
9899 (define-public ecl-cl-z85
9900 (sbcl-package->ecl-package sbcl-cl-z85))
9901
9902 (define-public sbcl-ltk
9903 (package
9904 (name "sbcl-ltk")
9905 (version "0.992")
9906 (source
9907 (origin
9908 (method git-fetch)
9909 (uri (git-reference
9910 (url "https://github.com/herth/ltk")
9911 (commit version)))
9912 (file-name (git-file-name name version))
9913 (sha256
9914 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9915 (build-system asdf-build-system/sbcl)
9916 (inputs
9917 `(("imagemagick" ,imagemagick)
9918 ("tk" ,tk)))
9919 (arguments
9920 `(#:asd-file "ltk/ltk.asd"
9921 #:tests? #f
9922 #:phases (modify-phases %standard-phases
9923 (add-after 'unpack 'fix-paths
9924 (lambda* (#:key inputs #:allow-other-keys)
9925 (substitute* "ltk/ltk.lisp"
9926 (("#-freebsd \"wish\"")
9927 (string-append "#-freebsd \""
9928 (assoc-ref inputs "tk")
9929 "/bin/wish\""))
9930 (("do-execute \"convert\"")
9931 (string-append "do-execute \""
9932 (assoc-ref inputs "imagemagick")
9933 "/bin/convert\"")))
9934 #t)))))
9935 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9936 (description
9937 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9938 in pure Common Lisp and does not require any Tk knowledge for its usage.")
9939 (home-page "http://www.peter-herth.de/ltk/")
9940 (license license:llgpl)))
9941
9942 (define-public cl-ltk
9943 (sbcl-package->cl-source-package sbcl-ltk))
9944
9945 (define-public ecl-ltk
9946 (sbcl-package->ecl-package sbcl-ltk))
9947
9948 (define-public sbcl-ltk-mw
9949 (package
9950 (inherit sbcl-ltk)
9951 (name "sbcl-ltk-mw")
9952 (inputs
9953 `(("ltk" ,sbcl-ltk)))
9954 (arguments
9955 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9956 ((#:asd-file _) "ltk/ltk-mw.asd")
9957 ((#:phases _) '%standard-phases)))
9958 (synopsis "Extra widgets for LTK")
9959 (description
9960 "This is a collection of higher-level widgets built on top of LTK.")))
9961
9962 (define-public cl-ltk-mw
9963 (sbcl-package->cl-source-package sbcl-ltk-mw))
9964
9965 (define-public ecl-ltk-mw
9966 (sbcl-package->ecl-package sbcl-ltk-mw))
9967
9968 (define-public sbcl-ltk-remote
9969 (package
9970 (inherit sbcl-ltk)
9971 (name "sbcl-ltk-remote")
9972 (inputs
9973 `(("ltk" ,sbcl-ltk)))
9974 (arguments
9975 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9976 ((#:asd-file _) "ltk/ltk-remote.asd")
9977 ((#:phases _) '%standard-phases)))
9978 (synopsis "Remote GUI support for LTK")
9979 (description
9980 "This LTK extension allows the GUI to be displayed on a computer different
9981 from the one running the Lisp program by using a TCP connection.")))
9982
9983 (define-public cl-ltk-remote
9984 (sbcl-package->cl-source-package sbcl-ltk-remote))
9985
9986 (define-public sbcl-cl-lex
9987 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9988 (revision "1"))
9989 (package
9990 (name "sbcl-cl-lex")
9991 (version (git-version "1.1.3" revision commit))
9992 (source
9993 (origin
9994 (method git-fetch)
9995 (uri (git-reference
9996 (url "https://github.com/djr7C4/cl-lex")
9997 (commit commit)))
9998 (file-name (git-file-name name version))
9999 (sha256
10000 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10001 (build-system asdf-build-system/sbcl)
10002 (inputs
10003 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10004 (synopsis "Common Lisp macros for generating lexical analyzers")
10005 (description
10006 "This is a Common Lisp library providing a set of macros for generating
10007 lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10008 be used with @code{cl-yacc}.")
10009 (home-page "https://github.com/djr7C4/cl-lex")
10010 (license license:gpl3))))
10011
10012 (define-public cl-lex
10013 (sbcl-package->cl-source-package sbcl-cl-lex))
10014
10015 (define-public ecl-cl-lex
10016 (sbcl-package->ecl-package sbcl-cl-lex))
10017
10018 (define-public sbcl-clunit2
10019 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10020 (revision "1"))
10021 (package
10022 (name "sbcl-clunit2")
10023 (version (git-version "0.2.4" revision commit))
10024 (source
10025 (origin
10026 (method git-fetch)
10027 (uri (git-reference
10028 (url "https://notabug.org/cage/clunit2.git")
10029 (commit commit)))
10030 (file-name (git-file-name name version))
10031 (sha256
10032 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10033 (build-system asdf-build-system/sbcl)
10034 (synopsis "Unit testing framework for Common Lisp")
10035 (description
10036 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10037 easy to use so that you can quickly start testing.")
10038 (home-page "https://notabug.org/cage/clunit2")
10039 (license license:expat))))
10040
10041 (define-public cl-clunit2
10042 (sbcl-package->cl-source-package sbcl-clunit2))
10043
10044 (define-public ecl-clunit2
10045 (sbcl-package->ecl-package sbcl-clunit2))
10046
10047 (define-public sbcl-cl-colors2
10048 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10049 (revision "1"))
10050 (package
10051 (name "sbcl-cl-colors2")
10052 (version (git-version "0.2.1" revision commit))
10053 (source
10054 (origin
10055 (method git-fetch)
10056 (uri (git-reference
10057 (url "https://notabug.org/cage/cl-colors2.git")
10058 (commit commit)))
10059 (file-name (git-file-name name version))
10060 (sha256
10061 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10062 (build-system asdf-build-system/sbcl)
10063 (native-inputs
10064 `(("clunit2" ,sbcl-clunit2)))
10065 (inputs
10066 `(("alexandria" ,sbcl-alexandria)
10067 ("cl-ppcre" ,sbcl-cl-ppcre)))
10068 (synopsis "Color library for Common Lisp")
10069 (description
10070 "This is a very simple color library for Common Lisp, providing:
10071
10072 @itemize
10073 @item Types for representing colors in HSV and RGB spaces.
10074 @item Simple conversion functions between the above types (and also
10075 hexadecimal representation for RGB).
10076 @item Some predefined colors (currently X11 color names -- of course
10077 the library does not depend on X11).
10078 @end itemize\n")
10079 (home-page "https://notabug.org/cage/cl-colors2")
10080 (license license:boost1.0))))
10081
10082 (define-public cl-colors2
10083 (sbcl-package->cl-source-package sbcl-cl-colors2))
10084
10085 (define-public ecl-cl-colors2
10086 (sbcl-package->ecl-package sbcl-cl-colors2))
10087
10088 (define-public sbcl-cl-jpeg
10089 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10090 (revision "1"))
10091 (package
10092 (name "sbcl-cl-jpeg")
10093 (version (git-version "2.8" revision commit))
10094 (source
10095 (origin
10096 (method git-fetch)
10097 (uri (git-reference
10098 (url "https://github.com/sharplispers/cl-jpeg")
10099 (commit commit)))
10100 (file-name (git-file-name name version))
10101 (sha256
10102 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10103 (build-system asdf-build-system/sbcl)
10104 (synopsis "JPEG image library for Common Lisp")
10105 (description
10106 "This is a baseline JPEG codec written in Common Lisp. It can be used
10107 for reading and writing JPEG image files.")
10108 (home-page "https://github.com/sharplispers/cl-jpeg")
10109 (license license:bsd-3))))
10110
10111 (define-public cl-jpeg
10112 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10113
10114 (define-public ecl-cl-jpeg
10115 (sbcl-package->ecl-package sbcl-cl-jpeg))
10116
10117 (define-public sbcl-nodgui
10118 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10119 (revision "1"))
10120 (package
10121 (name "sbcl-nodgui")
10122 (version (git-version "0.0.5" revision commit))
10123 (source
10124 (origin
10125 (method git-fetch)
10126 (uri (git-reference
10127 (url "https://notabug.org/cage/nodgui.git")
10128 (commit commit)))
10129 (file-name (git-file-name name version))
10130 (sha256
10131 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10132 (build-system asdf-build-system/sbcl)
10133 (inputs
10134 `(("alexandria" ,sbcl-alexandria)
10135 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10136 ("cl-colors2" ,sbcl-cl-colors2)
10137 ("cl-jpeg" ,sbcl-cl-jpeg)
10138 ("cl-lex" ,sbcl-cl-lex)
10139 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10140 ("cl-unicode" ,sbcl-cl-unicode)
10141 ("cl-yacc" ,sbcl-cl-yacc)
10142 ("clunit2" ,sbcl-clunit2)
10143 ("named-readtables" ,sbcl-named-readtables)
10144 ("parse-number" ,sbcl-parse-number)
10145 ("tk" ,tk)))
10146 (arguments
10147 `(#:phases (modify-phases %standard-phases
10148 (add-after 'unpack 'fix-paths
10149 (lambda* (#:key inputs #:allow-other-keys)
10150 (substitute* "src/wish-communication.lisp"
10151 (("#-freebsd \"wish\"")
10152 (string-append "#-freebsd \""
10153 (assoc-ref inputs "tk")
10154 "/bin/wish\"")))
10155 #t)))))
10156 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10157 (description
10158 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10159 toolkit. It also provides a few additional widgets more than the standard Tk
10160 ones.")
10161 (home-page "https://www.autistici.org/interzona/nodgui.html")
10162 (license license:llgpl))))
10163
10164 (define-public cl-nodgui
10165 (sbcl-package->cl-source-package sbcl-nodgui))
10166
10167 (define-public ecl-nodgui
10168 (sbcl-package->ecl-package sbcl-nodgui))
10169
10170 (define-public sbcl-salza2
10171 (package
10172 (name "sbcl-salza2")
10173 (version "2.0.9")
10174 (source
10175 (origin
10176 (method git-fetch)
10177 (uri (git-reference
10178 (url "https://github.com/xach/salza2")
10179 (commit (string-append "release-" version))))
10180 (file-name (git-file-name name version))
10181 (sha256
10182 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10183 (build-system asdf-build-system/sbcl)
10184 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10185 (description
10186 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10187 deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10188 respectively.")
10189 (home-page "https://www.xach.com/lisp/salza2/")
10190 (license license:bsd-2)))
10191
10192 (define-public cl-salza2
10193 (sbcl-package->cl-source-package sbcl-salza2))
10194
10195 (define-public ecl-salza2
10196 (sbcl-package->ecl-package sbcl-salza2))
10197
10198 (define-public sbcl-png-read
10199 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10200 (revision "1"))
10201 (package
10202 (name "sbcl-png-read")
10203 (version (git-version "0.3.1" revision commit))
10204 (source
10205 (origin
10206 (method git-fetch)
10207 (uri (git-reference
10208 (url "https://github.com/Ramarren/png-read")
10209 (commit commit)))
10210 (file-name (git-file-name name version))
10211 (sha256
10212 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10213 (build-system asdf-build-system/sbcl)
10214 (inputs
10215 `(("babel" ,sbcl-babel)
10216 ("chipz" ,sbcl-chipz)
10217 ("iterate" ,sbcl-iterate)))
10218 (synopsis "PNG decoder for Common Lisp")
10219 (description "This is a Common Lisp library for reading PNG images.")
10220 (home-page "https://github.com/Ramarren/png-read")
10221 (license license:bsd-3))))
10222
10223 (define-public cl-png-read
10224 (sbcl-package->cl-source-package sbcl-png-read))
10225
10226 (define-public ecl-png-read
10227 (sbcl-package->ecl-package sbcl-png-read))
10228
10229 (define-public sbcl-zpng
10230 (package
10231 (name "sbcl-zpng")
10232 (version "1.2.2")
10233 (source
10234 (origin
10235 (method git-fetch)
10236 (uri (git-reference
10237 (url "https://github.com/xach/zpng")
10238 (commit (string-append "release-" version))))
10239 (file-name (git-file-name name version))
10240 (sha256
10241 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10242 (build-system asdf-build-system/sbcl)
10243 (inputs
10244 `(("salza2" ,sbcl-salza2)))
10245 (synopsis "PNG encoder for Common Lisp")
10246 (description "This is a Common Lisp library for creating PNG images.")
10247 (home-page "https://www.xach.com/lisp/zpng/")
10248 (license license:bsd-2)))
10249
10250 (define-public cl-zpng
10251 (sbcl-package->cl-source-package sbcl-zpng))
10252
10253 (define-public ecl-zpng
10254 (sbcl-package->ecl-package sbcl-zpng))
10255
10256 (define-public sbcl-cl-qrencode
10257 (package
10258 (name "sbcl-cl-qrencode")
10259 (version "0.1.2")
10260 (source
10261 (origin
10262 (method git-fetch)
10263 (uri (git-reference
10264 (url "https://github.com/jnjcc/cl-qrencode")
10265 (commit (string-append "v" version))))
10266 (file-name (git-file-name name version))
10267 (sha256
10268 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10269 (build-system asdf-build-system/sbcl)
10270 (native-inputs
10271 `(("lisp-unit" ,sbcl-lisp-unit)))
10272 (inputs
10273 `(("zpng" ,sbcl-zpng)))
10274 (synopsis "QR code encoder for Common Lisp")
10275 (description
10276 "This Common Lisp library provides function to make QR codes and to save
10277 them as PNG files.")
10278 (home-page "https://github.com/jnjcc/cl-qrencode")
10279 (license license:gpl2+)))
10280
10281 (define-public cl-qrencode
10282 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10283
10284 (define-public ecl-cl-qrencode
10285 (sbcl-package->ecl-package sbcl-cl-qrencode))
10286
10287 (define-public sbcl-hdf5-cffi
10288 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10289 (revision "1"))
10290 (package
10291 (name "sbcl-hdf5-cffi")
10292 (version (git-version "1.8.18" revision commit))
10293 (source
10294 (origin
10295 (method git-fetch)
10296 (uri (git-reference
10297 (url "https://github.com/hdfgroup/hdf5-cffi")
10298 (commit commit)))
10299 (file-name (git-file-name name version))
10300 (sha256
10301 (base32
10302 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10303 (build-system asdf-build-system/sbcl)
10304 (synopsis "Common Lisp bindings for the HDF5 library")
10305 (description
10306 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10307 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10308 (license (license:non-copyleft
10309 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10310 commit
10311 "/LICENSE")))
10312 (inputs
10313 `(("cffi" ,sbcl-cffi)
10314 ("cffi-grovel" ,sbcl-cffi-grovel)
10315 ("hdf5" ,hdf5-1.10)))
10316 (native-inputs
10317 `(("fiveam" ,sbcl-fiveam)))
10318 (arguments
10319 `(#:asd-system-name "hdf5-cffi"
10320 #:asd-file "hdf5-cffi.asd"
10321 #:test-asd-file "hdf5-cffi.test.asd"
10322 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10323 ;; I don't know if there is a way to tell asdf-build-system to load
10324 ;; an additional system first, so tests are disabled.
10325 #:tests? #f
10326 #:phases
10327 (modify-phases %standard-phases
10328 (add-after 'unpack 'fix-paths
10329 (lambda* (#:key inputs #:allow-other-keys)
10330 (substitute* "src/library.lisp"
10331 (("libhdf5.so")
10332 (string-append
10333 (assoc-ref inputs "hdf5")
10334 "/lib/libhdf5.so")))))
10335 (add-after 'unpack 'fix-dependencies
10336 (lambda* (#:key inputs #:allow-other-keys)
10337 (substitute* "hdf5-cffi.asd"
10338 ((":depends-on \\(:cffi\\)")
10339 ":depends-on (:cffi :cffi-grovel)"))
10340 (substitute* "hdf5-cffi.test.asd"
10341 ((":depends-on \\(:cffi :hdf5-cffi")
10342 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10343
10344 (define-public cl-hdf5-cffi
10345 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10346
10347 (define-public ecl-hdf5-cffi
10348 (sbcl-package->ecl-package sbcl-hdf5-cffi))
10349
10350 (define-public sbcl-cl-randist
10351 (package
10352 (name "sbcl-cl-randist")
10353 (version "0.4.2")
10354 (source
10355 (origin
10356 (method git-fetch)
10357 (uri (git-reference
10358 (url "https://github.com/lvaruzza/cl-randist")
10359 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10360 (file-name (git-file-name name version))
10361 (sha256
10362 (base32
10363 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10364 (build-system asdf-build-system/sbcl)
10365 (synopsis "Random distributions for Common Lisp")
10366 (description
10367 "Manual translation from C to Common Lisp of some random number
10368 generation functions from the GSL library.")
10369 (home-page "https://github.com/lvaruzza/cl-randist")
10370 (license license:bsd-2)
10371 (arguments
10372 `(#:asd-system-name "cl-randist"
10373 #:asd-file "cl-randist.asd"
10374 #:tests? #f))))
10375
10376 (define-public cl-randist
10377 (sbcl-package->cl-source-package sbcl-cl-randist))
10378
10379 (define-public ecl-cl-randist
10380 (sbcl-package->ecl-package sbcl-cl-randist))
10381
10382 (define-public sbcl-float-features
10383 (package
10384 (name "sbcl-float-features")
10385 (version "1.0.0")
10386 (source
10387 (origin
10388 (method git-fetch)
10389 (uri (git-reference
10390 (url "https://github.com/Shinmera/float-features")
10391 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10392 (file-name (git-file-name name version))
10393 (sha256
10394 (base32
10395 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10396 (build-system asdf-build-system/sbcl)
10397 (synopsis "Common Lisp IEEE float portability library")
10398 (description
10399 "Portability library for IEEE float features that are not
10400 covered by the Common Lisp standard.")
10401 (home-page "https://github.com/Shinmera/float-features")
10402 (license license:zlib)
10403 (inputs
10404 `(("documentation-utils" ,sbcl-documentation-utils)))
10405 (arguments
10406 `(#:asd-system-name "float-features"
10407 #:asd-file "float-features.asd"
10408 #:tests? #f))))
10409
10410 (define-public cl-float-features
10411 (sbcl-package->cl-source-package sbcl-float-features))
10412
10413 (define-public ecl-float-features
10414 (sbcl-package->ecl-package sbcl-float-features))
10415
10416 (define-public sbcl-function-cache
10417 (package
10418 (name "sbcl-function-cache")
10419 (version "1.0.3")
10420 (source
10421 (origin
10422 (method git-fetch)
10423 (uri (git-reference
10424 (url "https://github.com/AccelerationNet/function-cache")
10425 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10426 (file-name (git-file-name name version))
10427 (sha256
10428 (base32
10429 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10430 (build-system asdf-build-system/sbcl)
10431 (synopsis "Function caching / memoization library for Common Lisp")
10432 (description
10433 "A common lisp library that provides extensible function result
10434 caching based on arguments (an expanded form of memoization).")
10435 (home-page "https://github.com/AccelerationNet/function-cache")
10436 (license
10437 (license:non-copyleft
10438 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10439 (inputs
10440 `(("alexandria" ,sbcl-alexandria)
10441 ("cl-interpol" ,sbcl-cl-interpol)
10442 ("iterate" ,sbcl-iterate)
10443 ("symbol-munger" ,sbcl-symbol-munger)
10444 ("closer-mop" ,sbcl-closer-mop)))
10445 (arguments
10446 `(#:asd-system-name "function-cache"
10447 #:asd-file "function-cache.asd"
10448 #:tests? #f))))
10449
10450 (define-public cl-function-cache
10451 (sbcl-package->cl-source-package sbcl-function-cache))
10452
10453 (define-public ecl-function-cache
10454 (sbcl-package->ecl-package sbcl-function-cache))
10455
10456 (define-public sbcl-type-r
10457 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10458 (revision "1"))
10459 (package
10460 (name "sbcl-type-r")
10461 (version (git-version "0.0.0" revision commit))
10462 (source
10463 (origin
10464 (method git-fetch)
10465 (uri (git-reference
10466 (url "https://github.com/guicho271828/type-r")
10467 (commit commit)))
10468 (file-name (git-file-name name version))
10469 (sha256
10470 (base32
10471 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10472 (build-system asdf-build-system/sbcl)
10473 (synopsis "Parser interface for Common Lisp built-in compound types")
10474 (description
10475 "Collections of accessor functions and patterns to access
10476 the elements in compound type specifier, e.g. @code{dimensions} in
10477 @code{(array element-type dimensions)}")
10478 (home-page "https://github.com/guicho271828/type-r")
10479 (license license:lgpl3+)
10480 (inputs
10481 `(("trivia" ,sbcl-trivia)
10482 ("alexandria" ,sbcl-alexandria)))
10483 (native-inputs
10484 `(("fiveam" ,sbcl-fiveam)))
10485 (arguments
10486 `(#:asd-system-name "type-r"
10487 #:asd-file "type-r.asd"
10488 #:test-asd-file "type-r.test.asd")))))
10489
10490 (define-public cl-type-r
10491 (sbcl-package->cl-source-package sbcl-type-r))
10492
10493 (define-public sbcl-trivialib-type-unify
10494 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10495 (revision "1"))
10496 (package
10497 (name "sbcl-trivialib-type-unify")
10498 (version (git-version "0.1" revision commit))
10499 (source
10500 (origin
10501 (method git-fetch)
10502 (uri (git-reference
10503 (url "https://github.com/guicho271828/trivialib.type-unify")
10504 (commit commit)))
10505 (file-name (git-file-name name version))
10506 (sha256
10507 (base32
10508 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10509 (build-system asdf-build-system/sbcl)
10510 (synopsis "Common Lisp type unification")
10511 (description
10512 "Unifies a parametrized type specifier against an actual type specifier.
10513 Importantly, it handles complicated array-subtypes and number-related types
10514 correctly.")
10515 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10516 (license license:lgpl3+)
10517 (inputs
10518 `(("alexandria" ,sbcl-alexandria)
10519 ("trivia" ,sbcl-trivia)
10520 ("introspect-environment" ,sbcl-introspect-environment)
10521 ("type-r" ,sbcl-type-r)))
10522 (native-inputs
10523 `(("fiveam" ,sbcl-fiveam)))
10524 (arguments
10525 `(#:asd-system-name "trivialib.type-unify"
10526 #:asd-file "trivialib.type-unify.asd"
10527 #:test-asd-file "trivialib.type-unify.test.asd")))))
10528
10529 (define-public cl-trivialib-type-unify
10530 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
10531
10532 (define-public sbcl-specialized-function
10533 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10534 (revision "1"))
10535 (package
10536 (name "sbcl-specialized-function")
10537 (version (git-version "0.0.0" revision commit))
10538 (source
10539 (origin
10540 (method git-fetch)
10541 (uri (git-reference
10542 (url "https://github.com/numcl/specialized-function")
10543 (commit commit)))
10544 (file-name (git-file-name name version))
10545 (sha256
10546 (base32
10547 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10548 (build-system asdf-build-system/sbcl)
10549 (synopsis "Julia-like dispatch for Common Lisp")
10550 (description
10551 "This library is part of NUMCL. It provides a macro
10552 @code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10553 lazily compiling a type-specific version of the function from the same
10554 code. The main target of this macro is speed.")
10555 (home-page "https://github.com/numcl/specialized-function")
10556 (license license:lgpl3+)
10557 (inputs
10558 `(("trivia" ,sbcl-trivia)
10559 ("alexandria" ,sbcl-alexandria)
10560 ("iterate" ,sbcl-iterate)
10561 ("lisp-namespace" ,sbcl-lisp-namespace)
10562 ("type-r" ,sbcl-type-r)
10563 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10564 (native-inputs
10565 `(("fiveam" ,sbcl-fiveam)))
10566 (arguments
10567 `(#:asd-system-name "specialized-function"
10568 #:asd-file "specialized-function.asd"
10569 #:test-asd-file "specialized-function.test.asd")))))
10570
10571 (define-public cl-specialized-function
10572 (sbcl-package->cl-source-package sbcl-specialized-function))
10573
10574 (define-public sbcl-constantfold
10575 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10576 (revision "1"))
10577 (package
10578 (name "sbcl-constantfold")
10579 (version (git-version "0.1" revision commit))
10580 (source
10581 (origin
10582 (method git-fetch)
10583 (uri (git-reference
10584 (url "https://github.com/numcl/constantfold")
10585 (commit commit)))
10586 (file-name (git-file-name name version))
10587 (sha256
10588 (base32
10589 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10590 (build-system asdf-build-system/sbcl)
10591 (synopsis "Support library for numcl")
10592 (description
10593 "Support library for numcl. Registers a function as an
10594 additional form that is considered as a candidate for a constant.")
10595 (home-page "https://github.com/numcl/constantfold")
10596 (license license:lgpl3+)
10597 (inputs
10598 `(("trivia" ,sbcl-trivia)
10599 ("alexandria" ,sbcl-alexandria)
10600 ("iterate" ,sbcl-iterate)
10601 ("lisp-namespace" ,sbcl-lisp-namespace)))
10602 (native-inputs
10603 `(("fiveam" ,sbcl-fiveam)))
10604 (arguments
10605 `(#:asd-system-name "constantfold"
10606 #:asd-file "constantfold.asd"
10607 #:test-asd-file "constantfold.test.asd")))))
10608
10609 (define-public cl-constantfold
10610 (sbcl-package->cl-source-package sbcl-constantfold))
10611
10612 (define-public sbcl-gtype
10613 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10614 (revision "1"))
10615 (package
10616 (name "sbcl-gtype")
10617 (version (git-version "0.1" revision commit))
10618 (source
10619 (origin
10620 (method git-fetch)
10621 (uri (git-reference
10622 (url "https://github.com/numcl/gtype")
10623 (commit commit)))
10624 (file-name (git-file-name name version))
10625 (sha256
10626 (base32
10627 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10628 (build-system asdf-build-system/sbcl)
10629 (synopsis "C++/Julia-like parametric types in Common Lisp")
10630 (description
10631 "Support library for numcl that provides Julia-like runtime parametric
10632 type correctness in Common Lisp. It is based on CLtL2 extensions.")
10633 (home-page "https://github.com/numcl/gtype")
10634 (license license:lgpl3+)
10635 (inputs
10636 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10637 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10638 ("trivia" ,sbcl-trivia)
10639 ("alexandria" ,sbcl-alexandria)
10640 ("iterate" ,sbcl-iterate)
10641 ("type-r" ,sbcl-type-r)))
10642 (native-inputs
10643 `(("fiveam" ,sbcl-fiveam)))
10644 (arguments
10645 `(#:asd-system-name "gtype"
10646 #:asd-file "gtype.asd"
10647 #:test-asd-file "gtype.test.asd")))))
10648
10649 (define-public cl-gtype
10650 (sbcl-package->cl-source-package sbcl-gtype))
10651
10652 (define-public sbcl-numcl
10653 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10654 (revision "1"))
10655 (package
10656 (name "sbcl-numcl")
10657 (version (git-version "0.1.0" revision commit))
10658 (source
10659 (origin
10660 (method git-fetch)
10661 (uri (git-reference
10662 (url "https://github.com/numcl/numcl")
10663 (commit commit)))
10664 (file-name (git-file-name name version))
10665 (sha256
10666 (base32
10667 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10668 (build-system asdf-build-system/sbcl)
10669 (synopsis "Numpy clone in Common Lisp")
10670 (description
10671 "This is a Numpy clone in Common Lisp. At the moment the
10672 library is written in pure Common Lisp, focusing more on correctness
10673 and usefulness, not speed. Track the progress at
10674 @url{https://github.com/numcl/numcl/projects/1}.")
10675 (home-page "https://github.com/numcl/numcl")
10676 (license license:lgpl3+)
10677 (inputs
10678 `(("trivia" ,sbcl-trivia)
10679 ("alexandria" ,sbcl-alexandria)
10680 ("iterate" ,sbcl-iterate)
10681 ("lisp-namespace" ,sbcl-lisp-namespace)
10682 ("type-r" ,sbcl-type-r)
10683 ("constantfold" ,sbcl-constantfold)
10684 ("cl-randist" ,sbcl-cl-randist)
10685 ("float-features" ,sbcl-float-features)
10686 ("function-cache" ,sbcl-function-cache)
10687 ("specialized-function" ,sbcl-specialized-function)
10688 ("gtype" ,sbcl-gtype)))
10689 (native-inputs
10690 `(("fiveam" ,sbcl-fiveam)))
10691 (arguments
10692 `(#:asd-system-name "numcl"
10693 #:asd-file "numcl.asd"
10694 #:test-asd-file "numcl.test.asd")))))
10695
10696 (define-public cl-numcl
10697 (sbcl-package->cl-source-package sbcl-numcl))
10698
10699 (define-public sbcl-pzmq
10700 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10701 (revision "1"))
10702 (package
10703 (name "sbcl-pzmq")
10704 (version (git-version "0.0.0" revision commit))
10705 (source
10706 (origin
10707 (method git-fetch)
10708 (uri (git-reference
10709 (url "https://github.com/orivej/pzmq")
10710 (commit commit)))
10711 (file-name (git-file-name name version))
10712 (sha256
10713 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10714 (build-system asdf-build-system/sbcl)
10715 (native-inputs
10716 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10717 ("fiveam" ,sbcl-fiveam)
10718 ("let-plus" ,sbcl-let-plus)))
10719 (inputs
10720 `(("cffi" ,sbcl-cffi)
10721 ("cffi-grovel" ,sbcl-cffi-grovel)
10722 ("zeromq" ,zeromq)))
10723 (arguments
10724 `(#:phases (modify-phases %standard-phases
10725 (add-after 'unpack 'fix-paths
10726 (lambda* (#:key inputs #:allow-other-keys)
10727 (substitute* "c-api.lisp"
10728 (("\"libzmq")
10729 (string-append "\""
10730 (assoc-ref inputs "zeromq")
10731 "/lib/libzmq")))
10732 #t)))))
10733 (synopsis "Common Lisp bindings for the ZeroMQ library")
10734 (description "This Common Lisp library provides bindings for the ZeroMQ
10735 lightweight messaging kernel.")
10736 (home-page "https://github.com/orivej/pzmq")
10737 (license license:unlicense))))
10738
10739 (define-public cl-pzmq
10740 (sbcl-package->cl-source-package sbcl-pzmq))
10741
10742 (define-public ecl-pzmq
10743 (sbcl-package->ecl-package sbcl-pzmq))
10744
10745 (define-public sbcl-clss
10746 (let ((revision "1")
10747 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10748 (package
10749 (name "sbcl-clss")
10750 (version (git-version "0.3.1" revision commit))
10751 (source
10752 (origin
10753 (method git-fetch)
10754 (uri
10755 (git-reference
10756 (url "https://github.com/Shinmera/clss")
10757 (commit commit)))
10758 (sha256
10759 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10760 (file-name (git-file-name name version))))
10761 (inputs
10762 `(("array-utils" ,sbcl-array-utils)
10763 ("plump" ,sbcl-plump)))
10764 (build-system asdf-build-system/sbcl)
10765 (synopsis "DOM tree searching engine based on CSS selectors")
10766 (description "CLSS is a DOM traversal engine based on CSS
10767 selectors. It makes use of the Plump-DOM and is used by lQuery.")
10768 (home-page "https://github.com/Shinmera/clss")
10769 (license license:zlib))))
10770
10771 (define-public cl-clss
10772 (sbcl-package->cl-source-package sbcl-clss))
10773
10774 (define-public ecl-clss
10775 (sbcl-package->ecl-package sbcl-clss))
10776
10777 (define-public sbcl-lquery
10778 (let ((revision "1")
10779 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10780 (package
10781 (name "sbcl-lquery")
10782 (version (git-version "3.2.1" revision commit))
10783 (source
10784 (origin
10785 (method git-fetch)
10786 (uri
10787 (git-reference
10788 (url "https://github.com/Shinmera/lquery")
10789 (commit commit)))
10790 (sha256
10791 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10792 (file-name (git-file-name name version))))
10793 (native-inputs
10794 `(("fiveam" ,sbcl-fiveam)))
10795 (inputs
10796 `(("array-utils" ,sbcl-array-utils)
10797 ("form-fiddle" ,sbcl-form-fiddle)
10798 ("plump" ,sbcl-plump)
10799 ("clss" ,sbcl-clss)))
10800 (build-system asdf-build-system/sbcl)
10801 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10802 (description "@code{lQuery} is a DOM manipulation library written in
10803 Common Lisp, inspired by and based on the jQuery syntax and
10804 functions. It uses Plump and CLSS as DOM and selector engines. The
10805 main idea behind lQuery is to provide a simple interface for crawling
10806 and modifying HTML sites, as well as to allow for an alternative
10807 approach to templating.")
10808 (home-page "https://github.com/Shinmera/lquery")
10809 (license license:zlib))))
10810
10811 (define-public cl-lquery
10812 (sbcl-package->cl-source-package sbcl-lquery))
10813
10814 (define-public ecl-lquery
10815 (sbcl-package->ecl-package sbcl-lquery))
10816
10817 (define-public sbcl-cl-mysql
10818 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10819 (revision "1"))
10820 (package
10821 (name "sbcl-cl-mysql")
10822 (version (git-version "0.1" revision commit))
10823 (source
10824 (origin
10825 (method git-fetch)
10826 (uri (git-reference
10827 (url "https://github.com/hackinghat/cl-mysql")
10828 (commit commit)))
10829 (file-name (git-file-name name version))
10830 (sha256
10831 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10832 (build-system asdf-build-system/sbcl)
10833 (native-inputs
10834 `(("stefil" ,sbcl-stefil)))
10835 (inputs
10836 `(("cffi" ,sbcl-cffi)
10837 ("mariadb-lib" ,mariadb "lib")))
10838 (arguments
10839 `(#:tests? #f ; TODO: Tests require a running server
10840 #:phases
10841 (modify-phases %standard-phases
10842 (add-after 'unpack 'fix-paths
10843 (lambda* (#:key inputs #:allow-other-keys)
10844 (substitute* "system.lisp"
10845 (("libmysqlclient_r" all)
10846 (string-append (assoc-ref inputs "mariadb-lib")
10847 "/lib/"
10848 all)))
10849 #t)))))
10850 (synopsis "Common Lisp wrapper for MySQL")
10851 (description
10852 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10853 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10854 (license license:expat))))
10855
10856 (define-public cl-mysql
10857 (sbcl-package->cl-source-package sbcl-cl-mysql))
10858
10859 (define-public sbcl-simple-date
10860 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10861 (revision "1"))
10862 (package
10863 (name "sbcl-simple-date")
10864 (version (git-version "1.19" revision commit))
10865 (source
10866 (origin
10867 (method git-fetch)
10868 (uri (git-reference
10869 (url "https://github.com/marijnh/Postmodern")
10870 (commit commit)))
10871 (file-name (git-file-name name version))
10872 (sha256
10873 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10874 (build-system asdf-build-system/sbcl)
10875 (native-inputs
10876 `(("fiveam" ,sbcl-fiveam)))
10877 (synopsis "Basic date and time objects for Common Lisp")
10878 (description
10879 "@code{simple-date} is a very basic implementation of date and time
10880 objects, used to support storing and retrieving time-related SQL types.")
10881 (home-page "https://marijnhaverbeke.nl/postmodern/")
10882 (license license:zlib))))
10883
10884 (define-public cl-simple-date
10885 (sbcl-package->cl-source-package sbcl-simple-date))
10886
10887 (define-public ecl-simple-date
10888 (sbcl-package->ecl-package sbcl-simple-date))
10889
10890 (define-public sbcl-cl-postgres
10891 (package
10892 (inherit sbcl-simple-date)
10893 (name "sbcl-cl-postgres")
10894 (native-inputs
10895 `(("fiveam" ,sbcl-fiveam)
10896 ("simple-date" ,sbcl-simple-date)))
10897 (inputs
10898 `(("md5" ,sbcl-md5)
10899 ("split-sequence" ,sbcl-split-sequence)
10900 ("usocket" ,sbcl-usocket)))
10901 (arguments
10902 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10903 (synopsis "Common Lisp interface for PostgreSQL")
10904 (description
10905 "@code{cl-postgres} is a low-level library used for interfacing with
10906 a PostgreSQL server over a socket.")))
10907
10908 (define-public cl-postgres
10909 (sbcl-package->cl-source-package sbcl-cl-postgres))
10910
10911 (define-public sbcl-simple-date-postgres-glue
10912 (package
10913 (inherit sbcl-simple-date)
10914 (name "sbcl-simple-date-postgres-glue")
10915 (inputs
10916 `(("cl-postgres" ,sbcl-cl-postgres)
10917 ("simple-date" ,sbcl-simple-date)))
10918 (arguments
10919 `(#:asd-file "simple-date.asd"
10920 #:asd-system-name "simple-date/postgres-glue"))))
10921
10922 (define-public cl-simple-date-postgres-glue
10923 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
10924
10925 (define-public sbcl-s-sql
10926 (package
10927 (inherit sbcl-simple-date)
10928 (name "sbcl-s-sql")
10929 (inputs
10930 `(("alexandria" ,sbcl-alexandria)
10931 ("cl-postgres" ,sbcl-cl-postgres)))
10932 (arguments
10933 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10934 (synopsis "Lispy DSL for SQL")
10935 (description
10936 "@code{s-sql} is a Common Lisp library that can be used to compile
10937 s-expressions to strings of SQL code, escaping any Lisp values inside, and
10938 doing as much as possible of the work at compile time.")))
10939
10940 (define-public cl-s-sql
10941 (sbcl-package->cl-source-package sbcl-s-sql))
10942
10943 (define-public sbcl-postmodern
10944 (package
10945 (inherit sbcl-simple-date)
10946 (name "sbcl-postmodern")
10947 (native-inputs
10948 `(("fiveam" ,sbcl-fiveam)
10949 ("simple-date" ,sbcl-simple-date)
10950 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10951 (inputs
10952 `(("alexandria" ,sbcl-alexandria)
10953 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10954 ("cl-postgres" ,sbcl-cl-postgres)
10955 ("closer-mop" ,sbcl-closer-mop)
10956 ("global-vars" ,sbcl-global-vars)
10957 ("s-sql" ,sbcl-s-sql)
10958 ("split-sequence" ,sbcl-split-sequence)))
10959 (arguments
10960 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10961 ;; cl-postgres/tests and s-sql/tests.
10962 `(#:tests? #f))
10963 (synopsis "Common Lisp library for interacting with PostgreSQL")
10964 (description
10965 "@code{postmodern} is a Common Lisp library for interacting with
10966 PostgreSQL databases. It provides the following features:
10967
10968 @itemize
10969 @item Efficient communication with the database server without need for
10970 foreign libraries.
10971 @item Support for UTF-8 on Unicode-aware Lisp implementations.
10972 @item A syntax for mixing SQL and Lisp code.
10973 @item Convenient support for prepared statements and stored procedures.
10974 @item A metaclass for simple database-access objects.
10975 @end itemize\n")))
10976
10977 (define-public cl-postmodern
10978 (sbcl-package->cl-source-package sbcl-postmodern))
10979
10980 (define-public sbcl-dbi
10981 (package
10982 (name "sbcl-dbi")
10983 (version "0.9.4")
10984 (source
10985 (origin
10986 (method git-fetch)
10987 (uri (git-reference
10988 (url "https://github.com/fukamachi/cl-dbi")
10989 (commit version)))
10990 (file-name (git-file-name name version))
10991 (sha256
10992 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10993 (build-system asdf-build-system/sbcl)
10994 (inputs
10995 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10996 ("closer-mop" ,sbcl-closer-mop)
10997 ("split-sequence" ,sbcl-split-sequence)))
10998 (arguments
10999 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11000 (synopsis "Database independent interface for Common Lisp")
11001 (description
11002 "@code{dbi} is a Common Lisp library providing a database independent
11003 interface for MySQL, PostgreSQL and SQLite.")
11004 (home-page "https://github.com/fukamachi/cl-dbi")
11005 (license license:llgpl)))
11006
11007 (define-public cl-dbi
11008 (sbcl-package->cl-source-package sbcl-dbi))
11009
11010 (define-public sbcl-dbd-mysql
11011 (package
11012 (inherit sbcl-dbi)
11013 (name "sbcl-dbd-mysql")
11014 (inputs
11015 `(("cl-mysql" ,sbcl-cl-mysql)
11016 ("dbi" ,sbcl-dbi)))
11017 (synopsis "Database driver for MySQL")))
11018
11019 (define-public cl-dbd-mysql
11020 (sbcl-package->cl-source-package sbcl-dbd-mysql))
11021
11022 (define-public sbcl-dbd-postgres
11023 (package
11024 (inherit sbcl-dbi)
11025 (name "sbcl-dbd-postgres")
11026 (inputs
11027 `(("cl-postgres" ,sbcl-cl-postgres)
11028 ("dbi" ,sbcl-dbi)
11029 ("trivial-garbage" ,sbcl-trivial-garbage)))
11030 (synopsis "Database driver for PostgreSQL")))
11031
11032 (define-public cl-dbd-postgres
11033 (sbcl-package->cl-source-package sbcl-dbd-postgres))
11034
11035 (define-public sbcl-dbd-sqlite3
11036 (package
11037 (inherit sbcl-dbi)
11038 (name "sbcl-dbd-sqlite3")
11039 (inputs
11040 `(("cl-sqlite" ,sbcl-cl-sqlite)
11041 ("dbi" ,sbcl-dbi)
11042 ("trivial-garbage" ,sbcl-trivial-garbage)))
11043 (synopsis "Database driver for SQLite3")))
11044
11045 (define-public cl-dbd-sqlite3
11046 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
11047
11048 (define-public sbcl-uffi
11049 (package
11050 (name "sbcl-uffi")
11051 (version "2.1.2")
11052 (source
11053 (origin
11054 (method git-fetch)
11055 (uri (git-reference
11056 (url "http://git.kpe.io/uffi.git")
11057 (commit (string-append "v" version))))
11058 (file-name (git-file-name name version))
11059 (sha256
11060 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11061 (build-system asdf-build-system/sbcl)
11062 (arguments
11063 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11064 #:phases
11065 (modify-phases %standard-phases
11066 (add-after 'unpack 'fix-permissions
11067 (lambda _
11068 (make-file-writable "doc/html.tar.gz")
11069 #t)))))
11070 (synopsis "Universal foreign function library for Common Lisp")
11071 (description
11072 "UFFI provides a universal foreign function interface (FFI)
11073 for Common Lisp.")
11074 (home-page "http://quickdocs.org/uffi/")
11075 (license license:llgpl)))
11076
11077 (define-public cl-uffi
11078 (package
11079 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11080 (arguments
11081 `(#:phases
11082 ;; asdf-build-system/source has its own phases and does not inherit
11083 ;; from asdf-build-system/sbcl phases.
11084 (modify-phases %standard-phases/source
11085 (add-after 'unpack 'fix-permissions
11086 (lambda _
11087 (make-file-writable "doc/html.tar.gz")
11088 #t)))))))
11089
11090 (define-public sbcl-clsql
11091 (package
11092 (name "sbcl-clsql")
11093 (version "6.7.0")
11094 (source
11095 (origin
11096 (method git-fetch)
11097 (uri (git-reference
11098 (url "http://git.kpe.io/clsql.git")
11099 (commit (string-append "v" version))))
11100 (file-name (git-file-name name version))
11101 (sha256
11102 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11103 (snippet
11104 '(begin
11105 ;; Remove precompiled libraries.
11106 (delete-file "db-mysql/clsql_mysql.dll")
11107 (delete-file "uffi/clsql_uffi.dll")
11108 (delete-file "uffi/clsql_uffi.lib")
11109 #t))))
11110 (build-system asdf-build-system/sbcl)
11111 (native-inputs
11112 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11113 ("rt" ,sbcl-rt)
11114 ("uffi" ,sbcl-uffi)))
11115 (arguments
11116 `(#:phases
11117 (modify-phases %standard-phases
11118 (add-after 'unpack 'fix-permissions
11119 (lambda _
11120 (make-file-writable "doc/html.tar.gz")
11121 #t))
11122 (add-after 'unpack 'fix-tests
11123 (lambda _
11124 (substitute* "clsql.asd"
11125 (("clsql-tests :force t")
11126 "clsql-tests"))
11127 #t)))))
11128 (synopsis "Common Lisp SQL Interface library")
11129 (description
11130 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11131 Xanalys CommonSQL interface for Lispworks. It provides low-level database
11132 interfaces as well as a functional and an object oriented interface.")
11133 (home-page "http://clsql.kpe.io/")
11134 (license license:llgpl)))
11135
11136 (define-public cl-clsql
11137 (package
11138 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11139 (native-inputs
11140 `(("rt" ,cl-rt)))
11141 (inputs
11142 `(("mysql" ,mysql)
11143 ("postgresql" ,postgresql)
11144 ("sqlite" ,sqlite)
11145 ("zlib" ,zlib)))
11146 (propagated-inputs
11147 `(("cl-postgres" ,cl-postgres)
11148 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11149 ("md5" ,cl-md5)
11150 ("uffi" ,cl-uffi)))
11151 (arguments
11152 `(#:phases
11153 ;; asdf-build-system/source has its own phases and does not inherit
11154 ;; from asdf-build-system/sbcl phases.
11155 (modify-phases %standard-phases/source
11156 (add-after 'unpack 'fix-permissions
11157 (lambda _
11158 (make-file-writable "doc/html.tar.gz")
11159 #t)))))))
11160
11161 (define-public sbcl-clsql-uffi
11162 (package
11163 (inherit sbcl-clsql)
11164 (name "sbcl-clsql-uffi")
11165 (inputs
11166 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11167 ("clsql" ,sbcl-clsql)
11168 ("uffi" ,sbcl-uffi)))
11169 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
11170
11171 (define-public sbcl-clsql-sqlite3
11172 (package
11173 (inherit sbcl-clsql)
11174 (name "sbcl-clsql-sqlite3")
11175 (inputs
11176 `(("clsql" ,sbcl-clsql)
11177 ("clsql-uffi" ,sbcl-clsql-uffi)
11178 ("sqlite" ,sqlite)))
11179 (arguments
11180 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11181 ((#:phases phases '%standard-phases)
11182 `(modify-phases ,phases
11183 (add-after 'unpack 'fix-paths
11184 (lambda* (#:key inputs #:allow-other-keys)
11185 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11186 (("libsqlite3")
11187 (string-append (assoc-ref inputs "sqlite")
11188 "/lib/libsqlite3")))
11189 #t))))))
11190 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
11191
11192 (define-public sbcl-clsql-postgresql
11193 (package
11194 (inherit sbcl-clsql)
11195 (name "sbcl-clsql-postgresql")
11196 (inputs
11197 `(("clsql" ,sbcl-clsql)
11198 ("clsql-uffi" ,sbcl-clsql-uffi)
11199 ("postgresql" ,postgresql)))
11200 (arguments
11201 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11202 ((#:phases phases '%standard-phases)
11203 `(modify-phases ,phases
11204 (add-after 'unpack 'fix-paths
11205 (lambda* (#:key inputs #:allow-other-keys)
11206 (substitute* "db-postgresql/postgresql-loader.lisp"
11207 (("libpq")
11208 (string-append (assoc-ref inputs "postgresql")
11209 "/lib/libpq")))
11210 #t))))))
11211 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11212
11213 (define-public sbcl-clsql-postgresql-socket3
11214 (package
11215 (inherit sbcl-clsql)
11216 (name "sbcl-clsql-postgresql-socket3")
11217 (inputs
11218 `(("cl-postgres" ,sbcl-cl-postgres)
11219 ("clsql" ,sbcl-clsql)
11220 ("md5" ,sbcl-md5)))
11221 (arguments
11222 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11223 ((#:phases phases '%standard-phases)
11224 `(modify-phases ,phases
11225 (add-after 'create-asd-file 'fix-asd-file
11226 (lambda* (#:key outputs #:allow-other-keys)
11227 (let* ((out (assoc-ref outputs "out"))
11228 (lib (string-append out "/lib/" (%lisp-type)))
11229 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11230 (substitute* asd
11231 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11232 "")))
11233 #t))))))
11234 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
11235
11236 (define-public sbcl-clsql-mysql
11237 (package
11238 (inherit sbcl-clsql)
11239 (name "sbcl-clsql-mysql")
11240 (inputs
11241 `(("mysql" ,mysql)
11242 ("sbcl-clsql" ,sbcl-clsql)
11243 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11244 ("zlib" ,zlib)))
11245 (arguments
11246 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11247 ((#:phases phases '%standard-phases)
11248 `(modify-phases ,phases
11249 (add-after 'unpack 'fix-paths
11250 (lambda* (#:key inputs outputs #:allow-other-keys)
11251 (let ((lib (string-append "#p\""
11252 (assoc-ref outputs "out")
11253 "/lib/\"")))
11254 (substitute* "clsql-mysql.asd"
11255 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11256 lib))
11257 (substitute* "db-mysql/mysql-loader.lisp"
11258 (("libmysqlclient" all)
11259 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11260 (("clsql-mysql-system::\\*library-file-dir\\*")
11261 lib)))
11262 #t))
11263 (add-before 'build 'build-helper-library
11264 (lambda* (#:key inputs outputs #:allow-other-keys)
11265 (let* ((mysql (assoc-ref inputs "mysql"))
11266 (inc-dir (string-append mysql "/include/mysql"))
11267 (lib-dir (string-append mysql "/lib"))
11268 (shared-lib-dir (string-append (assoc-ref outputs "out")
11269 "/lib"))
11270 (shared-lib (string-append shared-lib-dir
11271 "/clsql_mysql.so")))
11272 (mkdir-p shared-lib-dir)
11273 (invoke "gcc" "-fPIC" "-shared"
11274 "-I" inc-dir
11275 "db-mysql/clsql_mysql.c"
11276 "-Wl,-soname=clsql_mysql"
11277 "-L" lib-dir "-lmysqlclient" "-lz"
11278 "-o" shared-lib)
11279 #t)))))))
11280 (synopsis "MySQL driver for Common Lisp SQL interface library")))
11281
11282 (define-public sbcl-sycamore
11283 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11284 (package
11285 (name "sbcl-sycamore")
11286 (version "0.0.20120604")
11287 (source
11288 (origin
11289 (method git-fetch)
11290 (uri (git-reference
11291 (url "https://github.com/ndantam/sycamore/")
11292 (commit commit)))
11293 (file-name (git-file-name name version))
11294 (sha256
11295 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11296 (build-system asdf-build-system/sbcl)
11297 (arguments
11298 `(#:asd-file "src/sycamore.asd"))
11299 (inputs
11300 `(("alexandria" ,sbcl-alexandria)
11301 ("cl-ppcre" ,sbcl-cl-ppcre)))
11302 (synopsis "Purely functional data structure library in Common Lisp")
11303 (description
11304 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11305 If features:
11306
11307 @itemize
11308 @item Fast, purely functional weight-balanced binary trees.
11309 @item Leaf nodes are simple-vectors, greatly reducing tree height.
11310 @item Interfaces for tree Sets and Maps (dictionaries).
11311 @item Ropes.
11312 @item Purely functional pairing heaps.
11313 @item Purely functional amortized queue.
11314 @end itemize\n")
11315 (home-page "http://ndantam.github.io/sycamore/")
11316 (license license:bsd-3))))
11317
11318 (define-public cl-sycamore
11319 (sbcl-package->cl-source-package sbcl-sycamore))
11320
11321 (define-public sbcl-trivial-package-local-nicknames
11322 (package
11323 (name "sbcl-trivial-package-local-nicknames")
11324 (version "0.2")
11325 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11326 (source
11327 (origin
11328 (method git-fetch)
11329 (uri (git-reference
11330 (url home-page)
11331 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11332 (file-name (git-file-name name version))
11333 (sha256
11334 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11335 (build-system asdf-build-system/sbcl)
11336 (synopsis "Common Lisp compatibility library for package local nicknames")
11337 (description
11338 "This library is a portable compatibility layer around package local nicknames (PLN).
11339 This was done so there is a portability library for the PLN API not included
11340 in DEFPACKAGE.")
11341 (license license:unlicense)))
11342
11343 (define-public cl-trivial-package-local-nicknames
11344 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
11345
11346 (define-public sbcl-enchant
11347 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11348 (package
11349 (name "sbcl-enchant")
11350 (version (git-version "0.0.0" "1" commit))
11351 (home-page "https://github.com/tlikonen/cl-enchant")
11352 (source
11353 (origin
11354 (method git-fetch)
11355 (uri (git-reference
11356 (url home-page)
11357 (commit commit)))
11358 (file-name (git-file-name name version))
11359 (sha256
11360 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11361 (build-system asdf-build-system/sbcl)
11362 (inputs
11363 `(("enchant" ,enchant)
11364 ("cffi" ,sbcl-cffi)))
11365 (arguments
11366 `(#:phases
11367 (modify-phases %standard-phases
11368 (add-after 'unpack 'fix-paths
11369 (lambda* (#:key inputs #:allow-other-keys)
11370 (substitute* "load-enchant.lisp"
11371 (("libenchant")
11372 (string-append
11373 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11374 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11375 (description
11376 "Enchant is a Common Lisp interface for the Enchant spell-checker
11377 library. The Enchant library is a generic spell-checker library which uses
11378 other spell-checkers transparently as back-end. The library supports the
11379 multiple checkers, including Aspell and Hunspell.")
11380 (license license:public-domain))))
11381
11382 (define-public cl-enchant
11383 (sbcl-package->cl-source-package sbcl-enchant))
11384
11385 (define-public sbcl-cl-change-case
11386 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11387 (package
11388 (name "sbcl-cl-change-case")
11389 (version (git-version "0.1.0" "1" commit))
11390 (home-page "https://github.com/rudolfochrist/cl-change-case")
11391 (source
11392 (origin
11393 (method git-fetch)
11394 (uri (git-reference
11395 (url home-page)
11396 (commit commit)))
11397 (file-name (git-file-name name version))
11398 (sha256
11399 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11400 (build-system asdf-build-system/sbcl)
11401 (inputs
11402 `(("cl-ppcre" ,sbcl-cl-ppcre)
11403 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11404 (native-inputs
11405 `(("fiveam" ,sbcl-fiveam)))
11406 (arguments
11407 '(;; FIXME: Test pass but phase fails with 'Component
11408 ;; "cl-change-case-test" not found, required by'.
11409 #:tests? #f
11410 #:test-asd-file "cl-change-case-test.asd"))
11411 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11412 (description
11413 "@code{cl-change-case} is library to convert strings between camelCase,
11414 PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11415 (license license:llgpl))))
11416
11417 (define-public cl-change-case
11418 (sbcl-package->cl-source-package sbcl-cl-change-case))
11419
11420 (define-public sbcl-moptilities
11421 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11422 (package
11423 (name "sbcl-moptilities")
11424 (version (git-version "0.3.13" "1" commit))
11425 (home-page "https://github.com/gwkkwg/moptilities/")
11426 (source
11427 (origin
11428 (method git-fetch)
11429 (uri (git-reference
11430 (url home-page)
11431 (commit commit)))
11432 (file-name (git-file-name name version))
11433 (sha256
11434 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11435 (build-system asdf-build-system/sbcl)
11436 (inputs
11437 `(("closer-mop" ,sbcl-closer-mop)))
11438 (native-inputs
11439 `(("lift" ,sbcl-lift)))
11440 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11441 (description
11442 "MOP utilities provide a common interface between Lisps and make the
11443 MOP easier to use.")
11444 (license license:expat))))
11445
11446 (define-public cl-moptilities
11447 (sbcl-package->cl-source-package sbcl-moptilities))
11448
11449 (define-public sbcl-osicat
11450 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11451 (package
11452 (name "sbcl-osicat")
11453 (version (git-version "0.7.0" "1" commit))
11454 (home-page "http://www.common-lisp.net/project/osicat/")
11455 (source
11456 (origin
11457 (method git-fetch)
11458 (uri (git-reference
11459 (url "https://github.com/osicat/osicat")
11460 (commit commit)))
11461 (file-name (git-file-name name version))
11462 (sha256
11463 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11464 (build-system asdf-build-system/sbcl)
11465 (arguments
11466 `(#:phases
11467 (modify-phases %standard-phases
11468 ;; The cleanup phase moves files around but we need to keep the
11469 ;; directory structure for the grovel-generated library.
11470 (replace 'cleanup
11471 (lambda* (#:key outputs #:allow-other-keys)
11472 (let* ((out (assoc-ref outputs "out"))
11473 (lib (string-append out "/lib/sbcl/")))
11474 (delete-file-recursively (string-append lib "src"))
11475 (delete-file-recursively (string-append lib "tests"))
11476 (for-each delete-file
11477 (filter (lambda (file)
11478 (not (member (basename file) '("libosicat.so"))))
11479 (find-files (string-append lib "posix") ".*"))))
11480 #t)))))
11481 (inputs
11482 `(("alexandria" ,sbcl-alexandria)
11483 ("cffi" ,sbcl-cffi)
11484 ("trivial-features" ,sbcl-trivial-features)))
11485 (native-inputs
11486 `(("cffi-grovel" ,sbcl-cffi-grovel)
11487 ("rt" ,sbcl-rt)))
11488 (synopsis "Operating system interface for Common Lisp")
11489 (description
11490 "Osicat is a lightweight operating system interface for Common Lisp on
11491 Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11492 accompaniment to the standard ANSI facilities.")
11493 (license license:expat))))
11494
11495 (define-public cl-osicat
11496 (sbcl-package->cl-source-package sbcl-osicat))
11497
11498 (define-public sbcl-clx-xembed
11499 (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743")
11500 (revision "1"))
11501 (package
11502 (name "sbcl-clx-xembed")
11503 (version (git-version "0.1" revision commit))
11504 (home-page "https://github.com/laynor/clx-xembed")
11505 (source
11506 (origin
11507 (method git-fetch)
11508 (uri (git-reference
11509 (url "https://github.com/laynor/clx-xembed")
11510 (commit commit)))
11511 (file-name (git-file-name name version))
11512 (sha256
11513 (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12"))))
11514 (build-system asdf-build-system/sbcl)
11515 (arguments
11516 `(#:asd-system-name "xembed"))
11517 (inputs
11518 `(("sbcl-clx" ,sbcl-clx)))
11519 (synopsis "CL(x) xembed protocol implementation ")
11520 (description "CL(x) xembed protocol implementation")
11521 ;; MIT License
11522 (license license:expat))))
11523
11524 (define-public cl-clx-xembed
11525 (sbcl-package->cl-source-package sbcl-clx-xembed))
11526
11527 (define-public ecl-clx-xembed
11528 (sbcl-package->ecl-package sbcl-clx-xembed))
11529
11530 (define-public sbcl-quantile-estimator
11531 (package
11532 (name "sbcl-quantile-estimator")
11533 (version "0.0.1")
11534 (source
11535 (origin
11536 (method git-fetch)
11537 (uri (git-reference
11538 (url "https://github.com/deadtrickster/quantile-estimator.cl")
11539 (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5")))
11540 (file-name (git-file-name name version))
11541 (sha256
11542 (base32
11543 "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9"))))
11544 (build-system asdf-build-system/sbcl)
11545 (arguments
11546 '(#:asd-system-name "quantile-estimator"))
11547 (inputs
11548 `(("alexandria" ,sbcl-alexandria)))
11549 (home-page "https://github.com/deadtrickster/quantile-estimator.cl")
11550 (synopsis
11551 "Effective computation of biased quantiles over data streams")
11552 (description
11553 "Common Lisp implementation of Graham Cormode and S.
11554 Muthukrishnan's Effective Computation of Biased Quantiles over Data
11555 Streams in ICDE’05.")
11556 (license license:expat)))
11557
11558 (define-public cl-quantile-estimator
11559 (sbcl-package->cl-source-package sbcl-quantile-estimator))
11560
11561 (define-public ecl-quantile-estimator
11562 (sbcl-package->ecl-package sbcl-quantile-estimator))
11563
11564 (define-public sbcl-prometheus
11565 (package
11566 (name "sbcl-prometheus")
11567 (version "0.4.1")
11568 (source
11569 (origin
11570 (method git-fetch)
11571 (uri (git-reference
11572 (url "https://github.com/deadtrickster/prometheus.cl")
11573 (commit "7352b92296996ff383503e19bdd3bcea30409a15")))
11574 (file-name (git-file-name name version))
11575 (sha256
11576 (base32
11577 "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z"))))
11578 (build-system asdf-build-system/sbcl)
11579 (inputs
11580 `(("alexandria" ,sbcl-alexandria)
11581 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11582 ("cl-ppcre" ,sbcl-cl-ppcre)
11583 ("local-time" ,sbcl-local-time)
11584 ("quantile-estimator" ,sbcl-quantile-estimator)))
11585 (home-page "https://github.com/deadtrickster/prometheus.cl")
11586 (synopsis "Prometheus.io Common Lisp client")
11587 (description "Prometheus.io Common Lisp client.")
11588 (license license:expat)))
11589
11590 (define-public cl-prometheus
11591 (sbcl-package->cl-source-package sbcl-prometheus))
11592
11593 (define-public ecl-prometheus
11594 (sbcl-package->ecl-package sbcl-prometheus))
11595
11596 (define-public sbcl-prometheus.collectors.sbcl
11597 (package
11598 (inherit sbcl-prometheus)
11599 (name "sbcl-prometheus.collectors.sbcl")
11600 (inputs `(("prometheus" ,sbcl-prometheus)))
11601 (synopsis "Prometheus collector for SBCL metrics")
11602 (description "Prometheus collector for SBCL metrics.")))
11603
11604 (define-public cl-prometheus.collectors.sbcl
11605 (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl))
11606
11607 (define-public sbcl-prometheus.collectors.process
11608 (package
11609 (inherit sbcl-prometheus)
11610 (name "sbcl-prometheus.collectors.process")
11611 (inputs
11612 `(("cffi" ,sbcl-cffi)
11613 ("cffi-grovel" ,sbcl-cffi-grovel)
11614 ("cl-fad" ,sbcl-cl-fad)
11615 ("prometheus" ,sbcl-prometheus)
11616 ("split-sequence" ,sbcl-split-sequence)))
11617 (synopsis "Prometheus collector for process metrics")
11618 (description "Prometheus collector for process metrics.")))
11619
11620 (define-public cl-prometheus.collectors.process
11621 (sbcl-package->cl-source-package sbcl-prometheus.collectors.process))
11622
11623 (define-public ecl-prometheus.collectors.process
11624 (sbcl-package->ecl-package sbcl-prometheus.collectors.process))
11625
11626 (define-public sbcl-prometheus.formats.text
11627 (package
11628 (inherit sbcl-prometheus)
11629 (name "sbcl-prometheus.formats.text")
11630 (inputs
11631 `(("alexandria" ,sbcl-alexandria)
11632 ("prometheus" ,sbcl-prometheus)))
11633 (synopsis "Prometheus client text format")
11634 (description "Prometheus client text format.")))
11635
11636 (define-public cl-prometheus.formats.text
11637 (sbcl-package->cl-source-package sbcl-prometheus.formats.text))
11638
11639 (define-public ecl-prometheus.formats.text
11640 (sbcl-package->ecl-package sbcl-prometheus.formats.text))
11641
11642 (define-public sbcl-prometheus.exposers.hunchentoot
11643 (package
11644 (inherit sbcl-prometheus)
11645 (name "sbcl-prometheus.exposers.hunchentoot")
11646 (inputs
11647 `(("hunchentoot" ,sbcl-hunchentoot)
11648 ("prometheus" ,sbcl-prometheus)
11649 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)
11650 ("salza2" ,sbcl-salza2)
11651 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11652 (synopsis "Prometheus collector for Hunchentoot metrics")
11653 (description "Prometheus collector for Hunchentoot metrics")))
11654
11655 (define-public cl-prometheus.exposers.hunchentoot
11656 (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot))
11657
11658 (define-public sbcl-prometheus.pushgateway
11659 (package
11660 (inherit sbcl-prometheus)
11661 (name "sbcl-prometheus.pushgateway")
11662 (inputs
11663 `(("drakma" ,sbcl-drakma)
11664 ("prometheus" ,sbcl-prometheus)
11665 ("prometheus.formats.text" ,sbcl-prometheus.formats.text)))
11666 (synopsis "Prometheus Pushgateway client")
11667 (description "Prometheus Pushgateway client.")))
11668
11669 (define-public cl-prometheus.pushgateway
11670 (sbcl-package->cl-source-package sbcl-prometheus.pushgateway))
11671
11672 (define-public ecl-prometheus.pushgateway
11673 (sbcl-package->ecl-package sbcl-prometheus.pushgateway))
11674
11675 (define-public sbcl-uuid
11676 (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8"))
11677 (package
11678 (name "sbcl-uuid")
11679 (version (git-version "2012.12.26" "1" commit))
11680 (source
11681 (origin
11682 (method git-fetch)
11683 (uri (git-reference
11684 (url "https://github.com/dardoria/uuid")
11685 (commit commit)))
11686 (file-name (git-file-name name version))
11687 (sha256
11688 (base32
11689 "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f"))))
11690 (build-system asdf-build-system/sbcl)
11691 (inputs
11692 `(("ironclad" ,sbcl-ironclad)
11693 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
11694 (home-page "https://github.com/dardoria/uuid")
11695 (synopsis
11696 "Common Lisp implementation of UUIDs according to RFC4122")
11697 (description
11698 "Common Lisp implementation of UUIDs according to RFC4122.")
11699 (license license:llgpl))))
11700
11701 (define-public cl-uuid
11702 (sbcl-package->cl-source-package sbcl-uuid))
11703
11704 (define-public ecl-uuid
11705 (sbcl-package->ecl-package sbcl-uuid))
11706
11707 (define-public sbcl-dissect
11708 (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45"))
11709 (package
11710 (name "sbcl-dissect")
11711 (version (git-version "1.0.0" "1" commit))
11712 (source
11713 (origin
11714 (method git-fetch)
11715 (uri (git-reference
11716 (url "https://github.com/Shinmera/dissect")
11717 (commit commit)))
11718 (file-name (git-file-name name version))
11719 (sha256
11720 (base32
11721 "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5"))))
11722 (build-system asdf-build-system/sbcl)
11723 (inputs
11724 `(("cl-ppcre" ,sbcl-cl-ppcre)))
11725 (home-page "https://shinmera.github.io/dissect/")
11726 (synopsis
11727 "Introspection library for the call stack and restarts")
11728 (description
11729 "Dissect is a small Common Lisp library for introspecting the call stack
11730 and active restarts.")
11731 (license license:zlib))))
11732
11733 (define-public cl-dissect
11734 (sbcl-package->cl-source-package sbcl-dissect))
11735
11736 (define-public ecl-dissect
11737 (sbcl-package->ecl-package sbcl-dissect))
11738
11739 ;; TODO: Uses ASDF's package-inferred-system which is not supported by
11740 ;; asdf-build-system/sbcl as of 2020-05-21. We should fix
11741 ;; asdf-build-system/sbcl.
11742 (define-public sbcl-rove
11743 (package
11744 (name "sbcl-rove")
11745 (version "0.9.6")
11746 (source
11747 (origin
11748 (method git-fetch)
11749 (uri (git-reference
11750 (url "https://github.com/fukamachi/rove")
11751 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
11752 (file-name (git-file-name name version))
11753 (sha256
11754 (base32
11755 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
11756 (build-system asdf-build-system/sbcl)
11757 (inputs
11758 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11759 ("dissect" ,sbcl-dissect)
11760 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
11761 (home-page "https://github.com/fukamachi/rove")
11762 (synopsis
11763 "Yet another common lisp testing library")
11764 (description
11765 "Rove is a unit testing framework for Common Lisp applications.
11766 This is intended to be a successor of Prove.")
11767 (license license:bsd-3)))
11768
11769 (define-public cl-rove
11770 (sbcl-package->cl-source-package sbcl-rove))
11771
11772 (define-public ecl-rove
11773 (sbcl-package->ecl-package sbcl-rove))
11774
11775 (define-public sbcl-exponential-backoff
11776 (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f"))
11777 (package
11778 (name "sbcl-exponential-backoff")
11779 (version (git-version "0" "1" commit))
11780 (source
11781 (origin
11782 (method git-fetch)
11783 (uri (git-reference
11784 (url "https://github.com/death/exponential-backoff")
11785 (commit commit)))
11786 (file-name (git-file-name name version))
11787 (sha256
11788 (base32
11789 "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv"))))
11790 (build-system asdf-build-system/sbcl)
11791 (home-page "https://github.com/death/exponential-backoff")
11792 (synopsis "Exponential backoff algorithm in Common Lisp")
11793 (description
11794 "An implementation of the exponential backoff algorithm in Common Lisp.
11795 Inspired by the implementation found in Chromium. Read the header file to
11796 learn about each of the parameters.")
11797 (license license:expat))))
11798
11799 (define-public cl-exponential-backoff
11800 (sbcl-package->cl-source-package sbcl-exponential-backoff))
11801
11802 (define-public ecl-exponential-backoff
11803 (sbcl-package->ecl-package sbcl-exponential-backoff))
11804
11805 (define-public sbcl-sxql
11806 (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8"))
11807 (package
11808 (name "sbcl-sxql")
11809 (version (git-version "0.1.0" "1" commit))
11810 (source
11811 (origin
11812 (method git-fetch)
11813 (uri (git-reference
11814 (url "https://github.com/fukamachi/sxql")
11815 (commit commit)))
11816 (file-name (git-file-name name version))
11817 (sha256
11818 (base32
11819 "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj"))))
11820 (build-system asdf-build-system/sbcl)
11821 (arguments
11822 `(#:test-asd-file "sxql-test.asd"))
11823 (inputs
11824 `(("alexandria" ,sbcl-alexandria)
11825 ("cl-syntax-annot" ,sbcl-cl-syntax-annot)
11826 ("iterate" ,sbcl-iterate)
11827 ("optima" ,sbcl-optima)
11828 ("split-sequence" ,sbcl-split-sequence)
11829 ("trivial-types" ,sbcl-trivial-types)))
11830 (native-inputs
11831 `(("prove" ,sbcl-prove)
11832 ("prove-asdf" ,sbcl-prove-asdf)))
11833 (home-page "https://github.com/fukamachi/sxql")
11834 (synopsis "SQL generator for Common Lisp")
11835 (description "SQL generator for Common Lisp.")
11836 (license license:bsd-3))))
11837
11838 (define-public cl-sxql
11839 (sbcl-package->cl-source-package sbcl-sxql))
11840
11841 (define-public ecl-sxql
11842 (sbcl-package->ecl-package sbcl-sxql))
11843
11844 (define-public sbcl-1am
11845 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
11846 (package
11847 (name "sbcl-1am")
11848 (version (git-version "0.0" "1" commit))
11849 (source
11850 (origin
11851 (method git-fetch)
11852 (uri (git-reference
11853 (url "https://github.com/lmj/1am")
11854 (commit commit)))
11855 (file-name (git-file-name name version))
11856 (sha256
11857 (base32
11858 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
11859 (build-system asdf-build-system/sbcl)
11860 (arguments
11861 `(#:asd-system-name "1am"))
11862 (home-page "https://github.com/lmj/1am")
11863 (synopsis "Minimal testing framework for Common Lisp")
11864 (description "A minimal testing framework for Common Lisp.")
11865 (license license:expat))))
11866
11867 (define-public cl-1am
11868 (sbcl-package->cl-source-package sbcl-1am))
11869
11870 (define-public ecl-1am
11871 (sbcl-package->ecl-package sbcl-1am))
11872
11873 (define-public sbcl-cl-ascii-table
11874 (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2")
11875 (revision "1"))
11876 (package
11877 (name "sbcl-cl-ascii-table")
11878 (version (git-version "0.0.0" revision commit))
11879 (source
11880 (origin
11881 (method git-fetch)
11882 (uri (git-reference
11883 (url "https://github.com/telephil/cl-ascii-table")
11884 (commit commit)))
11885 (file-name (git-file-name name version))
11886 (sha256
11887 (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s"))))
11888 (build-system asdf-build-system/sbcl)
11889 (synopsis "Library to make ascii-art tables")
11890 (description
11891 "This is a Common Lisp library to present tabular data in ascii-art
11892 tables.")
11893 (home-page "https://github.com/telephil/cl-ascii-table")
11894 (license license:expat))))
11895
11896 (define-public cl-ascii-table
11897 (sbcl-package->cl-source-package sbcl-cl-ascii-table))
11898
11899 (define-public ecl-cl-ascii-table
11900 (sbcl-package->ecl-package sbcl-cl-ascii-table))
11901
11902 (define-public sbcl-cl-rdkafka
11903 (package
11904 (name "sbcl-cl-rdkafka")
11905 (version "1.0.2")
11906 (source
11907 (origin
11908 (method git-fetch)
11909 (uri (git-reference
11910 (url "https://github.com/SahilKang/cl-rdkafka")
11911 (commit (string-append "v" version))))
11912 (file-name (git-file-name name version))
11913 (sha256
11914 (base32
11915 "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82"))))
11916 (build-system asdf-build-system/sbcl)
11917 (arguments
11918 `(#:tests? #f ; Attempts to connect to locally running Kafka
11919 #:phases
11920 (modify-phases %standard-phases
11921 (add-after 'unpack 'fix-paths
11922 (lambda* (#:key inputs #:allow-other-keys)
11923 (substitute* "src/low-level/librdkafka-bindings.lisp"
11924 (("librdkafka" all)
11925 (string-append (assoc-ref inputs "librdkafka") "/lib/"
11926 all)))))
11927 (add-before 'cleanup 'move-bundle
11928 (lambda* (#:key outputs #:allow-other-keys)
11929 (let* ((out (assoc-ref outputs "out"))
11930 (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl"))
11931 (expected (string-append
11932 out "/lib/sbcl/cl-rdkafka--system.fasl")))
11933 (copy-file actual expected)
11934 #t))))))
11935 (inputs
11936 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11937 ("cffi" ,sbcl-cffi)
11938 ("cffi-grovel" ,sbcl-cffi-grovel)
11939 ("librdkafka" ,librdkafka)
11940 ("lparallel" ,sbcl-lparallel)
11941 ("trivial-garbage" ,sbcl-trivial-garbage)))
11942 (home-page "https://github.com/SahilKang/cl-rdkafka")
11943 (synopsis "Common Lisp client library for Apache Kafka")
11944 (description "A Common Lisp client library for Apache Kafka.")
11945 (license license:gpl3)))
11946
11947 (define-public cl-rdkafka
11948 (sbcl-package->cl-source-package sbcl-cl-rdkafka))
11949
11950 (define-public sbcl-acclimation
11951 (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
11952 (package
11953 (name "sbcl-acclimation")
11954 (version (git-version "0.0.0" "1" commit))
11955 (source
11956 (origin
11957 (method git-fetch)
11958 (uri (git-reference
11959 (url "https://github.com/robert-strandh/Acclimation")
11960 (commit commit)))
11961 (file-name (git-file-name name version))
11962 (sha256
11963 (base32
11964 "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
11965 (build-system asdf-build-system/sbcl)
11966 (home-page "https://github.com/robert-strandh/Acclimation")
11967 (synopsis "Internationalization library for Common Lisp")
11968 (description "This project is meant to provide tools for
11969 internationalizing Common Lisp programs.
11970
11971 One important aspect of internationalization is of course the language used in
11972 error messages, documentation strings, etc. But with this project we provide
11973 tools for all other aspects of internationalization as well, including dates,
11974 weight, temperature, names of physical quantitites, etc.")
11975 (license license:bsd-2))))
11976
11977 (define-public cl-acclimation
11978 (sbcl-package->cl-source-package sbcl-acclimation))
11979
11980 (define-public sbcl-clump-2-3-tree
11981 (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
11982 (package
11983 (name "sbcl-clump-2-3-tree")
11984 (version (git-version "0.0.0" "1" commit))
11985 (source
11986 (origin
11987 (method git-fetch)
11988 (uri (git-reference
11989 (url "https://github.com/robert-strandh/Clump")
11990 (commit commit)))
11991 (file-name (git-file-name name version))
11992 (sha256
11993 (base32
11994 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
11995 (arguments
11996 '(#:asd-file "2-3-tree/clump-2-3-tree.asd"
11997 #:asd-system-name "clump-2-3-tree"))
11998 (inputs
11999 `(("acclimation" ,sbcl-acclimation)))
12000 (build-system asdf-build-system/sbcl)
12001 (home-page "https://github.com/robert-strandh/Clump")
12002 (synopsis "Implementation of 2-3 trees for Common Lisp")
12003 (description "The purpose of this library is to provide a collection of
12004 implementations of trees.
12005
12006 In contrast to existing libraries such as cl-containers, it does not impose a
12007 particular use for the trees. Instead, it aims for a stratified design,
12008 allowing client code to choose between different levels of abstraction.
12009
12010 As a consequence of this policy, low-level interfaces are provided where
12011 the concrete representation is exposed, but also high level interfaces
12012 where the trees can be used as search trees or as trees that represent
12013 sequences of objects.")
12014 (license license:bsd-2))))
12015
12016 (define-public sbcl-clump-binary-tree
12017 (package
12018 (inherit sbcl-clump-2-3-tree)
12019 (name "sbcl-clump-binary-tree")
12020 (arguments
12021 '(#:asd-file "Binary-tree/clump-binary-tree.asd"
12022 #:asd-system-name "clump-binary-tree"))
12023 (synopsis "Implementation of binary trees for Common Lisp")))
12024
12025 (define-public sbcl-clump
12026 (package
12027 (inherit sbcl-clump-2-3-tree)
12028 (name "sbcl-clump")
12029 (arguments
12030 '(#:asd-file "clump.asd"
12031 #:asd-system-name "clump"))
12032 (inputs
12033 `(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
12034 ("clump-binary-tree" ,sbcl-clump-binary-tree)))
12035 (synopsis "Collection of tree implementations for Common Lisp")))
12036
12037 (define-public cl-clump
12038 (sbcl-package->cl-source-package sbcl-clump))
12039
12040 (define-public sbcl-cluffer-base
12041 (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
12042 (package
12043 (name "sbcl-cluffer-base")
12044 (version (git-version "0.0.0" "1" commit))
12045 (source
12046 (origin
12047 (method git-fetch)
12048 (uri (git-reference
12049 (url "https://github.com/robert-strandh/cluffer")
12050 (commit commit)))
12051 (file-name (git-file-name name version))
12052 (sha256
12053 (base32
12054 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
12055 (arguments
12056 '(#:asd-file "Base/cluffer-base.asd"
12057 #:asd-system-name "cluffer-base"))
12058 (inputs
12059 `(("acclimation" ,sbcl-acclimation)))
12060 (build-system asdf-build-system/sbcl)
12061 (home-page "https://github.com/robert-strandh/cluffer")
12062 (synopsis "Common Lisp library providing a protocol for text-editor buffers")
12063 (description "Cluffer is a library for representing the buffer of a text
12064 editor. As such, it defines a set of CLOS protocols for client code to
12065 interact with the buffer contents in various ways, and it supplies different
12066 implementations of those protocols for different purposes.")
12067 (license license:bsd-2))))
12068
12069 (define-public sbcl-cluffer-standard-line
12070 (package
12071 (inherit sbcl-cluffer-base)
12072 (name "sbcl-cluffer-standard-line")
12073 (arguments
12074 '(#:asd-file "Standard-line/cluffer-standard-line.asd"
12075 #:asd-system-name "cluffer-standard-line"))
12076 (inputs
12077 `(("cluffer-base" ,sbcl-cluffer-base)))))
12078
12079 (define-public sbcl-cluffer-standard-buffer
12080 (package
12081 (inherit sbcl-cluffer-base)
12082 (name "sbcl-cluffer-standard-buffer")
12083 (arguments
12084 '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
12085 #:asd-system-name "cluffer-standard-buffer"))
12086 (inputs
12087 `(("cluffer-base" ,sbcl-cluffer-base)
12088 ("clump" ,sbcl-clump)))))
12089
12090 (define-public sbcl-cluffer-simple-line
12091 (package
12092 (inherit sbcl-cluffer-base)
12093 (name "sbcl-cluffer-simple-line")
12094 (arguments
12095 '(#:asd-file "Simple-line/cluffer-simple-line.asd"
12096 #:asd-system-name "cluffer-simple-line"))
12097 (inputs
12098 `(("cluffer-base" ,sbcl-cluffer-base)))))
12099
12100 (define-public sbcl-cluffer-simple-buffer
12101 (package
12102 (inherit sbcl-cluffer-base)
12103 (name "sbcl-cluffer-simple-buffer")
12104 (arguments
12105 '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
12106 #:asd-system-name "cluffer-simple-buffer"))
12107 (inputs
12108 `(("cluffer-base" ,sbcl-cluffer-base)))))
12109
12110 (define-public sbcl-cluffer
12111 (package
12112 (inherit sbcl-cluffer-base)
12113 (name "sbcl-cluffer")
12114 (arguments
12115 '(#:asd-file "cluffer.asd"
12116 #:asd-system-name "cluffer"))
12117 (inputs
12118 `(("cluffer-base" ,sbcl-cluffer-base)
12119 ("cluffer-standard-line" ,sbcl-cluffer-standard-line)
12120 ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
12121 ("cluffer-simple-line" ,sbcl-cluffer-simple-line)
12122 ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
12123
12124 (define-public cl-cluffer
12125 (sbcl-package->cl-source-package sbcl-cluffer))
12126
12127 (define-public sbcl-cl-libsvm-format
12128 (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb")
12129 (revision "0"))
12130 (package
12131 (name "sbcl-cl-libsvm-format")
12132 (version (git-version "0.1.0" revision commit))
12133 (source
12134 (origin
12135 (method git-fetch)
12136 (uri (git-reference
12137 (url "https://github.com/masatoi/cl-libsvm-format")
12138 (commit commit)))
12139 (file-name (git-file-name name version))
12140 (sha256
12141 (base32
12142 "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg"))))
12143 (build-system asdf-build-system/sbcl)
12144 (native-inputs
12145 `(("prove" ,sbcl-prove)
12146 ("prove-asdf" ,sbcl-prove-asdf)))
12147 (inputs
12148 `(("alexandria" ,sbcl-alexandria)))
12149 (synopsis "LibSVM data format reader for Common Lisp")
12150 (description
12151 "This Common Lisp library provides a fast reader for data in LibSVM
12152 format.")
12153 (home-page "https://github.com/masatoi/cl-libsvm-format")
12154 (license license:expat))))
12155
12156 (define-public cl-libsvm-format
12157 (sbcl-package->cl-source-package sbcl-cl-libsvm-format))
12158
12159 (define-public ecl-cl-libsvm-format
12160 (sbcl-package->ecl-package sbcl-cl-libsvm-format))
12161
12162 (define-public sbcl-cl-online-learning
12163 (let ((commit "fc7a34f4f161cd1c7dd747d2ed8f698947781423")
12164 (revision "0"))
12165 (package
12166 (name "sbcl-cl-online-learning")
12167 (version (git-version "0.5" revision commit))
12168 (source
12169 (origin
12170 (method git-fetch)
12171 (uri (git-reference
12172 (url "https://github.com/masatoi/cl-online-learning")
12173 (commit commit)))
12174 (file-name (git-file-name name version))
12175 (sha256
12176 (base32
12177 "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq"))))
12178 (build-system asdf-build-system/sbcl)
12179 (native-inputs
12180 `(("prove" ,sbcl-prove)
12181 ("prove-asdf" ,sbcl-prove-asdf)))
12182 (inputs
12183 `(("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12184 ("cl-store" ,sbcl-cl-store)))
12185 (arguments
12186 `(;; FIXME: Tests pass but then the check phase crashes
12187 #:tests? #f))
12188 (synopsis "Online Machine Learning for Common Lisp")
12189 (description
12190 "This library contains a collection of machine learning algorithms for
12191 online linear classification written in Common Lisp.")
12192 (home-page "https://github.com/masatoi/cl-online-learning")
12193 (license license:expat))))
12194
12195 (define-public cl-online-learning
12196 (sbcl-package->cl-source-package sbcl-cl-online-learning))
12197
12198 (define-public ecl-cl-online-learning
12199 (sbcl-package->ecl-package sbcl-cl-online-learning))
12200
12201 (define-public sbcl-cl-random-forest
12202 (let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
12203 (revision "1"))
12204 (package
12205 (name "sbcl-cl-random-forest")
12206 (version (git-version "0.1" revision commit))
12207 (source
12208 (origin
12209 (method git-fetch)
12210 (uri (git-reference
12211 (url "https://github.com/masatoi/cl-random-forest")
12212 (commit commit)))
12213 (file-name (git-file-name name version))
12214 (sha256
12215 (base32
12216 "0wqh4dxy5hrvm14jgyfypwhdw35f24rsksid4blz5a6l2z16rlmq"))))
12217 (build-system asdf-build-system/sbcl)
12218 (native-inputs
12219 `(("prove" ,sbcl-prove)
12220 ("prove-asdf" ,sbcl-prove-asdf)
12221 ("trivial-garbage" ,sbcl-trivial-garbage)))
12222 (inputs
12223 `(("alexandria" ,sbcl-alexandria)
12224 ("cl-libsvm-format" ,sbcl-cl-libsvm-format)
12225 ("cl-online-learning" ,sbcl-cl-online-learning)
12226 ("lparallel" ,sbcl-lparallel)))
12227 (arguments
12228 `(#:tests? #f)) ; The tests download data from the Internet
12229 (synopsis "Random Forest and Global Refinement for Common Lisp")
12230 (description
12231 "CL-random-forest is an implementation of Random Forest for multiclass
12232 classification and univariate regression written in Common Lisp. It also
12233 includes an implementation of Global Refinement of Random Forest.")
12234 (home-page "https://github.com/masatoi/cl-random-forest")
12235 (license license:expat))))
12236
12237 (define-public cl-random-forest
12238 (sbcl-package->cl-source-package sbcl-cl-random-forest))
12239
12240 (define-public ecl-cl-random-forest
12241 (sbcl-package->ecl-package sbcl-cl-random-forest))
12242
12243 (define-public sbcl-bordeaux-fft
12244 (let ((commit "4a1f5600cae59bdabcb32de4ee2d7d73a9450d6e")
12245 (revision "0"))
12246 (package
12247 (name "sbcl-bordeaux-fft")
12248 (version (git-version "1.0.1" revision commit))
12249 (source
12250 (origin
12251 (method git-fetch)
12252 (uri (git-reference
12253 (url "https://github.com/ahefner/bordeaux-fft")
12254 (commit commit)))
12255 (file-name (git-file-name name version))
12256 (sha256
12257 (base32 "0j584w6kq2k6r8lp2i14f9605rxhp3r15s33xs08iz1pndn6iwqf"))))
12258 (build-system asdf-build-system/sbcl)
12259 (home-page "http://vintage-digital.com/hefner/software/bordeaux-fft/")
12260 (synopsis "Fast Fourier Transform for Common Lisp")
12261 (description
12262 "The Bordeaux-FFT library provides a reasonably efficient implementation
12263 of the Fast Fourier Transform and its inverse for complex-valued inputs, in
12264 portable Common Lisp.")
12265 (license license:gpl2+))))
12266
12267 (define-public cl-bordeaux-fft
12268 (sbcl-package->cl-source-package sbcl-bordeaux-fft))
12269
12270 (define-public ecl-bordeaux-fft
12271 (sbcl-package->ecl-package sbcl-bordeaux-fft))
12272
12273 (define-public sbcl-napa-fft3
12274 (let ((commit "f2d9614c7167da327c9ceebefb04ff6eae2d2236")
12275 (revision "0"))
12276 (package
12277 (name "sbcl-napa-fft3")
12278 (version (git-version "0.0.1" revision commit))
12279 (source
12280 (origin
12281 (method git-fetch)
12282 (uri (git-reference
12283 (url "https://github.com/pkhuong/Napa-FFT3")
12284 (commit commit)))
12285 (file-name (git-file-name name version))
12286 (sha256
12287 (base32 "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp"))))
12288 (build-system asdf-build-system/sbcl)
12289 (home-page "https://github.com/pkhuong/Napa-FFT3")
12290 (synopsis "Fast Fourier Transform routines in Common Lisp")
12291 (description
12292 "Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also
12293 buildings blocks to express common operations that involve DFTs: filtering,
12294 convolutions, etc.")
12295 (license license:bsd-3))))
12296
12297 (define-public cl-napa-fft3
12298 (sbcl-package->cl-source-package sbcl-napa-fft3))
12299
12300 (define-public sbcl-cl-tga
12301 (let ((commit "4dc2f7b8a259b9360862306640a07a23d4afaacc")
12302 (revision "0"))
12303 (package
12304 (name "sbcl-cl-tga")
12305 (version (git-version "0.0.0" revision commit))
12306 (source
12307 (origin
12308 (method git-fetch)
12309 (uri (git-reference
12310 (url "https://github.com/fisxoj/cl-tga")
12311 (commit commit)))
12312 (file-name (git-file-name name version))
12313 (sha256
12314 (base32 "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br"))))
12315 (build-system asdf-build-system/sbcl)
12316 (home-page "https://github.com/fisxoj/cl-tga")
12317 (synopsis "TGA file loader for Common Lisp")
12318 (description
12319 "Cl-tga was written to facilitate loading @emph{.tga} files into OpenGL
12320 programs. It's a very simple library, and, at the moment, only supports
12321 non-RLE encoded forms of the files.")
12322 (license license:expat))))
12323
12324 (define-public cl-tga
12325 (sbcl-package->cl-source-package sbcl-cl-tga))
12326
12327 (define-public ecl-cl-tga
12328 (sbcl-package->ecl-package sbcl-cl-tga))
12329
12330 (define-public sbcl-com.gigamonkeys.binary-data
12331 (let ((commit "22e908976d7f3e2318b7168909f911b4a00963ee")
12332 (revision "0"))
12333 (package
12334 (name "sbcl-com.gigamonkeys.binary-data")
12335 (version (git-version "0.0.0" revision commit))
12336 (source
12337 (origin
12338 (method git-fetch)
12339 (uri (git-reference
12340 (url "https://github.com/gigamonkey/monkeylib-binary-data")
12341 (commit commit)))
12342 (file-name (git-file-name name version))
12343 (sha256
12344 (base32 "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw"))))
12345 (build-system asdf-build-system/sbcl)
12346 (inputs
12347 `(("alexandria" ,sbcl-alexandria)))
12348 (home-page "https://github.com/gigamonkey/monkeylib-binary-data")
12349 (synopsis "Common Lisp library for reading and writing binary data")
12350 (description
12351 "This a Common Lisp library for reading and writing binary data. It is
12352 based on code from chapter 24 of the book @emph{Practical Common Lisp}.")
12353 (license license:bsd-3))))
12354
12355 (define-public cl-com.gigamonkeys.binary-data
12356 (sbcl-package->cl-source-package sbcl-com.gigamonkeys.binary-data))
12357
12358 (define-public ecl-com.gigamonkeys.binary-data
12359 (sbcl-package->ecl-package sbcl-com.gigamonkeys.binary-data))
12360
12361 (define-public sbcl-deflate
12362 (package
12363 (name "sbcl-deflate")
12364 (version "1.0.3")
12365 (source
12366 (origin
12367 (method git-fetch)
12368 (uri (git-reference
12369 (url "https://github.com/pmai/Deflate")
12370 (commit (string-append "release-" version))))
12371 (file-name (git-file-name name version))
12372 (sha256
12373 (base32 "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids"))))
12374 (build-system asdf-build-system/sbcl)
12375 (home-page "https://github.com/pmai/Deflate")
12376 (synopsis "Native deflate decompression for Common Lisp")
12377 (description
12378 "This library is an implementation of Deflate (RFC 1951) decompression,
12379 with optional support for ZLIB-style (RFC 1950) and gzip-style (RFC 1952)
12380 wrappers of deflate streams. It currently does not handle compression.")
12381 (license license:expat)))
12382
12383 (define-public cl-deflate
12384 (sbcl-package->cl-source-package sbcl-deflate))
12385
12386 (define-public ecl-deflate
12387 (sbcl-package->ecl-package sbcl-deflate))
12388
12389 (define-public sbcl-skippy
12390 (let ((commit "e456210202ca702c792292c5060a264d45e47090")
12391 (revision "0"))
12392 (package
12393 (name "sbcl-skippy")
12394 (version (git-version "1.3.12" revision commit))
12395 (source
12396 (origin
12397 (method git-fetch)
12398 (uri (git-reference
12399 (url "https://github.com/xach/skippy")
12400 (commit commit)))
12401 (file-name (git-file-name name version))
12402 (sha256
12403 (base32 "1sxbn5nh24qpx9w64x8mhp259cxcl1x8p126wk3b91ijjsj7l5vj"))))
12404 (build-system asdf-build-system/sbcl)
12405 (home-page "https://xach.com/lisp/skippy/")
12406 (synopsis "Common Lisp library for GIF images")
12407 (description
12408 "Skippy is a Common Lisp library to read and write GIF image files.")
12409 (license license:bsd-2))))
12410
12411 (define-public cl-skippy
12412 (sbcl-package->cl-source-package sbcl-skippy))
12413
12414 (define-public ecl-skippy
12415 (sbcl-package->ecl-package sbcl-skippy))
12416
12417 (define-public sbcl-cl-freetype2
12418 (let ((commit "96058da730b4812df916c1f4ee18c99b3b15a3de")
12419 (revision "0"))
12420 (package
12421 (name "sbcl-cl-freetype2")
12422 (version (git-version "1.1" revision commit))
12423 (source
12424 (origin
12425 (method git-fetch)
12426 (uri (git-reference
12427 (url "https://github.com/rpav/cl-freetype2")
12428 (commit commit)))
12429 (file-name (git-file-name name version))
12430 (sha256
12431 (base32 "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl"))))
12432 (build-system asdf-build-system/sbcl)
12433 (native-inputs
12434 `(("fiveam" ,sbcl-fiveam)))
12435 (inputs
12436 `(("alexandria" ,sbcl-alexandria)
12437 ("cffi" ,sbcl-cffi)
12438 ("cffi-grovel" ,sbcl-cffi-grovel)
12439 ("freetype" ,freetype)
12440 ("trivial-garbage" ,sbcl-trivial-garbage)))
12441 (arguments
12442 `(#:phases
12443 (modify-phases %standard-phases
12444 (add-after 'unpack 'fix-paths
12445 (lambda* (#:key inputs #:allow-other-keys)
12446 (substitute* "src/ffi/ft2-lib.lisp"
12447 (("\"libfreetype\"")
12448 (string-append "\"" (assoc-ref inputs "freetype")
12449 "/lib/libfreetype\"")))
12450 (substitute* "src/ffi/grovel/grovel-freetype2.lisp"
12451 (("-I/usr/include/freetype")
12452 (string-append "-I" (assoc-ref inputs "freetype")
12453 "/include/freetype")))
12454 #t)))))
12455 (home-page "https://github.com/rpav/cl-freetype2")
12456 (synopsis "Common Lisp bindings for Freetype 2")
12457 (description
12458 "This is a general Freetype 2 wrapper for Common Lisp using CFFI. It's
12459 geared toward both using Freetype directly by providing a simplified API, as
12460 well as providing access to the underlying C structures and functions for use
12461 with other libraries which may also use Freetype.")
12462 (license license:bsd-3))))
12463
12464 (define-public cl-freetype2
12465 (sbcl-package->cl-source-package sbcl-cl-freetype2))
12466
12467 (define-public ecl-cl-freetype2
12468 (sbcl-package->ecl-package sbcl-cl-freetype2))
12469
12470 (define-public sbcl-opticl-core
12471 (let ((commit "b7cd13d26df6b824b216fbc360dc27bfadf04999")
12472 (revision "0"))
12473 (package
12474 (name "sbcl-opticl-core")
12475 (version (git-version "0.0.0" revision commit))
12476 (source
12477 (origin
12478 (method git-fetch)
12479 (uri (git-reference
12480 (url "https://github.com/slyrus/opticl-core")
12481 (commit commit)))
12482 (file-name (git-file-name name version))
12483 (sha256
12484 (base32 "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95"))))
12485 (build-system asdf-build-system/sbcl)
12486 (inputs
12487 `(("alexandria" ,sbcl-alexandria)))
12488 (home-page "https://github.com/slyrus/opticl-core")
12489 (synopsis "Core classes and pixel access macros for Opticl")
12490 (description
12491 "This Common Lisp library contains the core classes and pixel access
12492 macros for the Opticl image processing library.")
12493 (license license:bsd-2))))
12494
12495 (define-public cl-opticl-core
12496 (sbcl-package->cl-source-package sbcl-opticl-core))
12497
12498 (define-public ecl-opticl-core
12499 (sbcl-package->ecl-package sbcl-opticl-core))
12500
12501 (define-public sbcl-retrospectiff
12502 (let ((commit "c2a69d77d5010f8cdd9045b3e36a08a73da5d321")
12503 (revision "0"))
12504 (package
12505 (name "sbcl-retrospectiff")
12506 (version (git-version "0.2" revision commit))
12507 (source
12508 (origin
12509 (method git-fetch)
12510 (uri (git-reference
12511 (url "https://github.com/slyrus/retrospectiff")
12512 (commit commit)))
12513 (file-name (git-file-name name version))
12514 (sha256
12515 (base32 "0qsn9hpd8j2kp43dk05j8dczz9zppdff5rrclbp45n3ksk9inw8i"))))
12516 (build-system asdf-build-system/sbcl)
12517 (native-inputs
12518 `(("fiveam" ,sbcl-fiveam)))
12519 (inputs
12520 `(("cl-jpeg" ,sbcl-cl-jpeg)
12521 ("com.gigamonkeys.binary-data" ,sbcl-com.gigamonkeys.binary-data)
12522 ("deflate" ,sbcl-deflate)
12523 ("flexi-streams" ,sbcl-flexi-streams)
12524 ("ieee-floats" ,sbcl-ieee-floats)
12525 ("opticl-core" ,sbcl-opticl-core)))
12526 (home-page "https://github.com/slyrus/retrospectiff")
12527 (synopsis "Common Lisp library for TIFF images")
12528 (description
12529 "Retrospectiff is a common lisp library for reading and writing images
12530 in the TIFF (Tagged Image File Format) format.")
12531 (license license:bsd-2))))
12532
12533 (define-public cl-retrospectif
12534 (sbcl-package->cl-source-package sbcl-retrospectiff))
12535
12536 (define-public ecl-retrospectiff
12537 (sbcl-package->ecl-package sbcl-retrospectiff))
12538
12539 (define-public sbcl-mmap
12540 (let ((commit "ba2e98c67e25f0fb8ff838238561120a23903ce7")
12541 (revision "0"))
12542 (package
12543 (name "sbcl-mmap")
12544 (version (git-version "1.0.0" revision commit))
12545 (source
12546 (origin
12547 (method git-fetch)
12548 (uri (git-reference
12549 (url "https://github.com/Shinmera/mmap")
12550 (commit commit)))
12551 (file-name (git-file-name name version))
12552 (sha256
12553 (base32 "0qd0xp20i1pcfn12kkapv9pirb6hd4ns7kz4zf1mmjwykpsln96q"))))
12554 (build-system asdf-build-system/sbcl)
12555 (native-inputs
12556 `(("alexandria" ,sbcl-alexandria)
12557 ("cffi" ,sbcl-cffi)
12558 ("parachute" ,sbcl-parachute)
12559 ("trivial-features" ,sbcl-trivial-features)))
12560 (inputs
12561 `(("cffi" ,sbcl-cffi)
12562 ("documentation-utils" ,sbcl-documentation-utils)))
12563 (home-page "https://shinmera.github.io/mmap/")
12564 (synopsis "File memory mapping for Common Lisp")
12565 (description
12566 "This is a utility library providing access to the @emph{mmap} family of
12567 functions in a portable way. It allows you to directly map a file into the
12568 address space of your process without having to manually read it into memory
12569 sequentially. Typically this is much more efficient for files that are larger
12570 than a few Kb.")
12571 (license license:zlib))))
12572
12573 (define-public cl-mmap
12574 (sbcl-package->cl-source-package sbcl-mmap))
12575
12576 (define-public ecl-mmap
12577 (sbcl-package->ecl-package sbcl-mmap))
12578
12579 (define-public sbcl-3bz
12580 (let ((commit "d6119083b5e0b0a6dd3abc2877936c51f3f3deed")
12581 (revision "0"))
12582 (package
12583 (name "sbcl-3bz")
12584 (version (git-version "0.0.0" revision commit))
12585 (source
12586 (origin
12587 (method git-fetch)
12588 (uri (git-reference
12589 (url "https://github.com/3b/3bz")
12590 (commit commit)))
12591 (file-name (git-file-name name version))
12592 (sha256
12593 (base32 "0fyxzyf2b6sc0w8d9g4nlva861565z6f3xszj0lw29x526dd9rhj"))))
12594 (build-system asdf-build-system/sbcl)
12595 (inputs
12596 `(("alexandria" ,sbcl-alexandria)
12597 ("babel" ,sbcl-babel)
12598 ("cffi" ,sbcl-cffi)
12599 ("mmap" ,sbcl-mmap)
12600 ("nibbles" ,sbcl-nibbles)
12601 ("trivial-features" ,sbcl-trivial-features)))
12602 (arguments
12603 ;; FIXME: Without the following line, the build fails (see issue 41437).
12604 `(#:asd-system-name "3bz"))
12605 (home-page "https://github.com/3b/3bz")
12606 (synopsis "Deflate decompression for Common Lisp")
12607 (description
12608 "3bz is an implementation of Deflate decompression (RFC 1951) optionally
12609 with zlib (RFC 1950) or gzip (RFC 1952) wrappers, with support for reading from
12610 foreign pointers (for use with mmap and similar, etc), and from CL octet
12611 vectors and streams.")
12612 (license license:expat))))
12613
12614 (define-public cl-3bz
12615 (sbcl-package->cl-source-package sbcl-3bz))
12616
12617 (define-public ecl-3bz
12618 (sbcl-package->ecl-package sbcl-3bz))
12619
12620 (define-public sbcl-zpb-exif
12621 (package
12622 (name "sbcl-zpb-exif")
12623 (version "1.2.4")
12624 (source
12625 (origin
12626 (method git-fetch)
12627 (uri (git-reference
12628 (url "https://github.com/xach/zpb-exif")
12629 (commit (string-append "release-" version))))
12630 (file-name (git-file-name name version))
12631 (sha256
12632 (base32 "15s227jhby55cisz14xafb0p1ws2jmrg2rrbbd00lrb97im84hy6"))))
12633 (build-system asdf-build-system/sbcl)
12634 (home-page "https://xach.com/lisp/zpb-exif/")
12635 (synopsis "EXIF information extractor for Common Lisp")
12636 (description
12637 "This is a Common Lisp library to extract EXIF information from image
12638 files.")
12639 (license license:bsd-2)))
12640
12641 (define-public cl-zpb-exif
12642 (sbcl-package->cl-source-package sbcl-zpb-exif))
12643
12644 (define-public ecl-zpb-exif
12645 (sbcl-package->ecl-package sbcl-zpb-exif))
12646
12647 (define-public sbcl-pngload
12648 (package
12649 (name "sbcl-pngload")
12650 (version "2.0.0")
12651 (source
12652 (origin
12653 (method git-fetch)
12654 (uri (git-reference
12655 (url "https://github.com/bufferswap/pngload")
12656 (commit version)))
12657 (file-name (git-file-name name version))
12658 (sha256
12659 (base32 "1ix8dd0fxlf8xm0bszh1s7sx83hn0vqq8b8c9gkrd5m310w8mpvh"))))
12660 (build-system asdf-build-system/sbcl)
12661 (inputs
12662 `(("3bz" ,sbcl-3bz)
12663 ("alexandria" ,sbcl-alexandria)
12664 ("cffi" ,sbcl-cffi)
12665 ("mmap" ,sbcl-mmap)
12666 ("parse-float" ,sbcl-parse-float)
12667 ("static-vectors" ,sbcl-static-vectors)
12668 ("swap-bytes" ,sbcl-swap-bytes)
12669 ("zpb-exif" ,sbcl-zpb-exif)))
12670 (arguments
12671 ;; Test suite disabled because of a dependency cycle.
12672 ;; pngload tests depend on opticl which depends on pngload.
12673 '(#:tests? #f))
12674 (home-page "https://github.com/bufferswap/pngload")
12675 (synopsis "PNG image decoder for Common Lisp")
12676 (description
12677 "This is a Common Lisp library to load images in the PNG image format,
12678 both from files on disk, or streams in memory.")
12679 (license license:expat)))
12680
12681 (define-public cl-pngload
12682 (sbcl-package->cl-source-package sbcl-pngload))
12683
12684 (define-public ecl-pngload
12685 (sbcl-package->ecl-package sbcl-pngload))
12686
12687 (define-public sbcl-opticl
12688 (let ((commit "e8684416eca2e78e82a7b436d436ef2ea24c019d")
12689 (revision "0"))
12690 (package
12691 (name "sbcl-opticl")
12692 (version (git-version "0.0.0" revision commit))
12693 (source
12694 (origin
12695 (method git-fetch)
12696 (uri (git-reference
12697 (url "https://github.com/slyrus/opticl")
12698 (commit commit)))
12699 (file-name (git-file-name name version))
12700 (sha256
12701 (base32 "03rirnnhhisjbimlmpi725h1d3x0cfv00r57988am873dyzawmm1"))))
12702 (build-system asdf-build-system/sbcl)
12703 (native-inputs
12704 `(("fiveam" ,sbcl-fiveam)))
12705 (inputs
12706 `(("alexandria" ,sbcl-alexandria)
12707 ("cl-jpeg" ,sbcl-cl-jpeg)
12708 ("cl-tga" ,sbcl-cl-tga)
12709 ("png-read" ,sbcl-png-read)
12710 ("pngload" ,sbcl-pngload)
12711 ("retrospectiff" ,sbcl-retrospectiff)
12712 ("skippy" ,sbcl-skippy)
12713 ("zpng" ,sbcl-zpng)))
12714 (home-page "https://github.com/slyrus/opticl")
12715 (synopsis "Image processing library for Common Lisp")
12716 (description
12717 "Opticl is a Common Lisp library for representing, processing, loading,
12718 and saving 2-dimensional pixel-based images.")
12719 (license license:bsd-2))))
12720
12721 (define-public cl-opticl
12722 (sbcl-package->cl-source-package sbcl-opticl))
12723
12724 (define-public sbcl-clim-lisp
12725 (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7")
12726 (revision "0"))
12727 (package
12728 (name "sbcl-clim-lisp")
12729 (version (git-version "0.9.7" revision commit))
12730 (source
12731 (origin
12732 (method git-fetch)
12733 (uri (git-reference
12734 (url "https://github.com/mcclim/mcclim")
12735 (commit commit)))
12736 (file-name (git-file-name name version))
12737 (sha256
12738 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h"))))
12739 (build-system asdf-build-system/sbcl)
12740 (inputs
12741 `(("alexandria" ,sbcl-alexandria)
12742 ("closer-mop" ,sbcl-closer-mop)
12743 ("log4cl" ,sbcl-log4cl)
12744 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
12745 (home-page "https://common-lisp.net/project/mcclim/")
12746 (synopsis "Common Lisp GUI toolkit")
12747 (description
12748 "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
12749 specification}, a toolkit for writing GUIs in Common Lisp.")
12750 (license license:lgpl2.1+))))
12751
12752 (define-public sbcl-clim-basic
12753 (package
12754 (inherit sbcl-clim-lisp)
12755 (name "sbcl-clim-basic")
12756 (inputs
12757 `(("alexandria" ,sbcl-alexandria)
12758 ("babel" ,sbcl-babel)
12759 ("bordeaux-threads" ,sbcl-bordeaux-threads)
12760 ("clim-lisp" ,sbcl-clim-lisp)
12761 ("flexichain" ,sbcl-flexichain)
12762 ("spatial-trees" ,sbcl-spatial-trees)
12763 ("trivial-features" ,sbcl-trivial-features)
12764 ("trivial-garbage" ,sbcl-trivial-garbage)))
12765 (arguments
12766 '(#:asd-file "Core/clim-basic/clim-basic.asd"))))
12767
12768 (define-public sbcl-clim-core
12769 (package
12770 (inherit sbcl-clim-lisp)
12771 (name "sbcl-clim-core")
12772 (inputs
12773 `(("clim-basic" ,sbcl-clim-basic)))
12774 (arguments
12775 '(#:asd-file "Core/clim-core/clim-core.asd"))))
12776
12777 (define-public sbcl-esa-mcclim
12778 (package
12779 (inherit sbcl-clim-lisp)
12780 (name "sbcl-esa-mcclim")
12781 (inputs
12782 `(("alexandria" ,sbcl-alexandria)
12783 ("clim-core" ,sbcl-clim-core)))
12784 (arguments
12785 '(#:asd-file "Libraries/ESA/esa-mcclim.asd"))))
12786
12787 (define-public sbcl-mcclim-fonts
12788 (package
12789 (inherit sbcl-clim-lisp)
12790 (name "sbcl-mcclim-fonts")
12791 (inputs
12792 `(("clim-basic" ,sbcl-clim-basic)))
12793 (arguments
12794 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"))))
12795
12796 (define-public sbcl-automaton
12797 (package
12798 (inherit sbcl-clim-lisp)
12799 (name "sbcl-automaton")
12800 (inputs
12801 `())
12802 (arguments
12803 '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd"))))
12804
12805 (define-public sbcl-persistent
12806 (package
12807 (inherit sbcl-clim-lisp)
12808 (name "sbcl-persistent")
12809 (inputs
12810 `())
12811 (arguments
12812 '(#:asd-file "Libraries/Drei/Persistent/persistent.asd"))))
12813
12814 (define-public sbcl-drei-mcclim
12815 (package
12816 (inherit sbcl-clim-lisp)
12817 (name "sbcl-drei-mcclim")
12818 (native-inputs
12819 `(("fiveam" ,sbcl-fiveam)))
12820 (inputs
12821 `(("automaton" ,sbcl-automaton)
12822 ("clim-core" ,sbcl-clim-core)
12823 ("esa-mcclim" ,sbcl-esa-mcclim)
12824 ("flexichain" ,sbcl-flexichain)
12825 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12826 ("persistent" ,sbcl-persistent)
12827 ("swank" ,cl-slime-swank)))
12828 (arguments
12829 '(#:asd-file "Libraries/Drei/drei-mcclim.asd"))))
12830
12831 (define-public sbcl-clim
12832 (package
12833 (inherit sbcl-clim-lisp)
12834 (name "sbcl-clim")
12835 (inputs
12836 `(("clim-core" ,sbcl-clim-core)
12837 ("drei-mcclim" ,sbcl-drei-mcclim)
12838 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12839 (arguments
12840 '(#:asd-file "Core/clim/clim.asd"))))
12841
12842 (define-public sbcl-mcclim-backend-common
12843 (package
12844 (inherit sbcl-clim-lisp)
12845 (name "sbcl-mcclim-backend-common")
12846 (native-inputs
12847 `(("fiveam" ,sbcl-fiveam)))
12848 (inputs
12849 `(("clim" ,sbcl-clim)
12850 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12851 (arguments
12852 '(#:asd-file "Backends/common/mcclim-backend-common.asd"))))
12853
12854 (define-public sbcl-mcclim-clx
12855 (package
12856 (inherit sbcl-clim-lisp)
12857 (name "sbcl-mcclim-clx")
12858 (inputs
12859 `(("alexandria" ,sbcl-alexandria)
12860 ("cl-unicode" ,sbcl-cl-unicode)
12861 ("clx" ,sbcl-clx)
12862 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
12863 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12864 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12865 (arguments
12866 '(#:asd-file "Backends/CLX/mcclim-clx.asd"))))
12867
12868 (define-public sbcl-mcclim-fonts-truetype
12869 (package
12870 (inherit sbcl-clim-lisp)
12871 (name "sbcl-mcclim-fonts-truetype")
12872 (inputs
12873 `(("alexandria" ,sbcl-alexandria)
12874 ("cl-aa" ,sbcl-cl-aa)
12875 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
12876 ("cl-vectors" ,sbcl-cl-vectors)
12877 ("clim-basic" ,sbcl-clim-basic)
12878 ("zpb-ttf" ,sbcl-zpb-ttf)))
12879 (arguments
12880 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12881 #:asd-system-name "mcclim-fonts/truetype"
12882 ;; Tests want access to user's fonts, which are not available in
12883 ;; build container.
12884 #:tests? #f))))
12885
12886 (define-public sbcl-mcclim-fonts-clx-truetype
12887 (package
12888 (inherit sbcl-clim-lisp)
12889 (name "sbcl-mcclim-fonts-clx-truetype")
12890 (inputs
12891 `(("mcclim-clx" ,sbcl-mcclim-clx)
12892 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
12893 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12894 (arguments
12895 '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd"
12896 #:asd-system-name "mcclim-fonts/clx-truetype"
12897 #:phases
12898 (modify-phases %standard-phases
12899 (add-after 'unpack 'fix-asd-system-names
12900 (lambda _
12901 (substitute* "Extensions/fonts/mcclim-fonts.asd"
12902 ((":depends-on \\(#:mcclim-fonts/truetype")
12903 ":depends-on (#:mcclim-fonts-truetype"))
12904 #t)))))))
12905
12906 (define-public sbcl-mcclim-clx-truetype
12907 (package
12908 (inherit sbcl-clim-lisp)
12909 (name "sbcl-mcclim-clx-truetype")
12910 (inputs
12911 `(("mcclim-clx" ,sbcl-mcclim-clx)
12912 ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype)
12913 ("swank" ,cl-slime-swank))) ; For drei-mcclim
12914 (arguments
12915 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
12916 #:asd-system-name "mcclim-clx/truetype"
12917 #:phases
12918 (modify-phases %standard-phases
12919 (add-after 'unpack 'fix-asd-system-names
12920 (lambda _
12921 (substitute* "Backends/CLX/mcclim-clx.asd"
12922 (("mcclim-fonts/clx-truetype")
12923 "mcclim-fonts-clx-truetype"))
12924 #t)))))))
12925
12926 (define-public sbcl-mcclim-fontconfig
12927 (package
12928 (inherit sbcl-clim-lisp)
12929 (name "sbcl-mcclim-fontconfig")
12930 (native-inputs
12931 `(("pkg-config" ,pkg-config)))
12932 (inputs
12933 `(("alexandria" ,sbcl-alexandria)
12934 ("cffi" ,sbcl-cffi)
12935 ("cffi-grovel" ,sbcl-cffi-grovel)
12936 ("fontconfig" ,fontconfig)))
12937 (arguments
12938 '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd"
12939 #:phases
12940 (modify-phases %standard-phases
12941 (add-after 'unpack 'fix-paths
12942 (lambda* (#:key inputs #:allow-other-keys)
12943 (substitute* "Extensions/fontconfig/src/functions.lisp"
12944 (("libfontconfig\\.so")
12945 (string-append (assoc-ref inputs "fontconfig")
12946 "/lib/libfontconfig.so")))
12947 #t))
12948 (add-after 'unpack 'fix-build
12949 (lambda _
12950 ;; The cffi-grovel system does not get loaded automatically,
12951 ;; so we load it explicitly.
12952 (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd"
12953 (("\\(asdf:defsystem #:mcclim-fontconfig" all)
12954 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12955 #t)))))))
12956
12957 (define-public sbcl-mcclim-harfbuzz
12958 (package
12959 (inherit sbcl-clim-lisp)
12960 (name "sbcl-mcclim-harfbuzz")
12961 (native-inputs
12962 `(("pkg-config" ,pkg-config)))
12963 (inputs
12964 `(("alexandria" ,sbcl-alexandria)
12965 ("cffi" ,sbcl-cffi)
12966 ("cffi-grovel" ,sbcl-cffi-grovel)
12967 ("freetype" ,freetype)
12968 ("harfbuzz" ,harfbuzz)
12969 ("trivial-garbage" ,sbcl-trivial-garbage)))
12970 (arguments
12971 '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12972 #:phases
12973 (modify-phases %standard-phases
12974 (add-after 'unpack 'fix-paths
12975 (lambda* (#:key inputs #:allow-other-keys)
12976 (substitute* "Extensions/harfbuzz/src/functions.lisp"
12977 (("libharfbuzz\\.so")
12978 (string-append (assoc-ref inputs "harfbuzz")
12979 "/lib/libharfbuzz.so")))
12980 #t))
12981 (add-after 'unpack 'fix-build
12982 (lambda _
12983 ;; The cffi-grovel system does not get loaded automatically,
12984 ;; so we load it explicitly.
12985 (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd"
12986 (("\\(asdf:defsystem #:mcclim-harfbuzz" all)
12987 (string-append "(asdf:load-system :cffi-grovel)\n" all)))
12988 #t)))))))
12989
12990 (define-public sbcl-mcclim-fonts-clx-freetype
12991 (package
12992 (inherit sbcl-clim-lisp)
12993 (name "sbcl-mcclim-fonts-clx-freetype")
12994 (inputs
12995 `(("cl-freetype2" ,sbcl-cl-freetype2)
12996 ("mcclim-clx" ,sbcl-mcclim-clx)
12997 ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig)
12998 ("mcclim-fonts" ,sbcl-mcclim-fonts)
12999 ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz)
13000 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13001 (arguments
13002 '(#:asd-file "Extensions/fonts/mcclim-fonts.asd"
13003 #:asd-system-name "mcclim-fonts/clx-freetype"))))
13004
13005 (define-public sbcl-mcclim-clx-freetype
13006 (package
13007 (inherit sbcl-clim-lisp)
13008 (name "sbcl-mcclim-clx-freetype")
13009 (inputs
13010 `(("mcclim-clx" ,sbcl-mcclim-clx)
13011 ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype)
13012 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13013 (arguments
13014 '(#:asd-file "Backends/CLX/mcclim-clx.asd"
13015 #:asd-system-name "mcclim-clx/freetype"
13016 #:phases
13017 (modify-phases %standard-phases
13018 (add-after 'unpack 'fix-asd-system-names
13019 (lambda _
13020 (substitute* "Backends/CLX/mcclim-clx.asd"
13021 (("mcclim-fonts/clx-freetype")
13022 "mcclim-fonts-clx-freetype"))
13023 #t)))))))
13024
13025 (define-public sbcl-mcclim-render
13026 (package
13027 (inherit sbcl-clim-lisp)
13028 (name "sbcl-mcclim-render")
13029 (inputs
13030 `(("alexandria" ,sbcl-alexandria)
13031 ("cl-vectors" ,sbcl-cl-vectors)
13032 ("clim-basic" ,sbcl-clim-basic)
13033 ("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13034 ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype)
13035 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13036 (arguments
13037 '(#:asd-file "Extensions/render/mcclim-render.asd"
13038 #:phases
13039 (modify-phases %standard-phases
13040 (add-after 'unpack 'fix-asd-system-names
13041 (lambda _
13042 (substitute* "Extensions/render/mcclim-render.asd"
13043 (("mcclim-fonts/truetype")
13044 "mcclim-fonts-truetype"))
13045 #t)))))))
13046
13047 (define-public sbcl-mcclim-clx-fb
13048 (package
13049 (inherit sbcl-clim-lisp)
13050 (name "sbcl-mcclim-clx-fb")
13051 (inputs
13052 `(("mcclim-backend-common" ,sbcl-mcclim-backend-common)
13053 ("mcclim-clx" ,sbcl-mcclim-clx)
13054 ("mcclim-render" ,sbcl-mcclim-render)
13055 ("swank" ,cl-slime-swank))) ; For drei-mcclim
13056 (arguments
13057 '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd"))))