gnu: Add sbcl-fare-quasiquote-extras.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
CommitLineData
88f06fd0
PN
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
7;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
92afa57b 8;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
88f06fd0
PN
9;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
10;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
13;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
14;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
20972e4e 15;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
88f06fd0 16;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
20972e4e 17;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
7ae8c34b 18;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
c6397e3e 19;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
88f06fd0
PN
20;;;
21;;; This file is part of GNU Guix.
22;;;
23;;; GNU Guix is free software; you can redistribute it and/or modify it
24;;; under the terms of the GNU General Public License as published by
25;;; the Free Software Foundation; either version 3 of the License, or (at
26;;; your option) any later version.
27;;;
28;;; GNU Guix is distributed in the hope that it will be useful, but
29;;; WITHOUT ANY WARRANTY; without even the implied warranty of
30;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31;;; GNU General Public License for more details.
32;;;
33;;; You should have received a copy of the GNU General Public License
34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35
36;;; This file only contains Common Lisp libraries.
37;;; Common Lisp compilers and tooling go to lisp.scm.
38;;; Common Lisp applications should go to the most appropriate file,
39;;; e.g. StumpWM is in wm.scm.
40
41(define-module (gnu packages lisp-xyz)
42 #:use-module (gnu packages)
43 #:use-module ((guix licenses) #:prefix license:)
44 #:use-module (guix packages)
45 #:use-module (guix download)
46 #:use-module (guix git-download)
47 #:use-module (guix hg-download)
48 #:use-module (guix utils)
49 #:use-module (guix build-system asdf)
50 #:use-module (guix build-system trivial)
51 #:use-module (gnu packages c)
52 #:use-module (gnu packages compression)
53 #:use-module (gnu packages glib)
54 #:use-module (gnu packages gtk)
d3a2df68 55 #:use-module (gnu packages imagemagick)
37b48dc1 56 #:use-module (gnu packages libevent)
88f06fd0
PN
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages lisp)
064dbb71 59 #:use-module (gnu packages maths)
88f06fd0
PN
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages python)
62 #:use-module (gnu packages python-xyz)
63 #:use-module (gnu packages sqlite)
d3a2df68 64 #:use-module (gnu packages tcl)
88f06fd0
PN
65 #:use-module (gnu packages tls)
66 #:use-module (gnu packages webkit)
67 #:use-module (gnu packages xdisorg)
68 #:use-module (ice-9 match)
69 #:use-module (srfi srfi-19))
70
71(define-public sbcl-alexandria
72 (let ((revision "1")
73 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
74 (package
75 (name "sbcl-alexandria")
76 (version (git-version "1.0.0" revision commit))
77 (source
78 (origin
79 (method git-fetch)
80 (uri (git-reference
81 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
82 (commit commit)))
83 (sha256
84 (base32
85 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
86 (file-name (git-file-name name version))))
87 (build-system asdf-build-system/sbcl)
88 (native-inputs
89 `(("rt" ,sbcl-rt)))
90 (synopsis "Collection of portable utilities for Common Lisp")
91 (description
92 "Alexandria is a collection of portable utilities. It does not contain
93conceptual extensions to Common Lisp. It is conservative in scope, and
94portable between implementations.")
95 (home-page "https://common-lisp.net/project/alexandria/")
96 (license license:public-domain))))
97
98(define-public cl-alexandria
99 (sbcl-package->cl-source-package sbcl-alexandria))
100
101(define-public ecl-alexandria
102 (sbcl-package->ecl-package sbcl-alexandria))
103
104(define-public sbcl-net.didierverna.asdf-flv
105 (package
106 (name "sbcl-net.didierverna.asdf-flv")
107 (version "2.1")
108 (source
109 (origin
110 (method git-fetch)
111 (uri (git-reference
112 (url "https://github.com/didierverna/asdf-flv")
113 (commit (string-append "version-" version))))
114 (file-name (git-file-name "asdf-flv" version))
115 (sha256
116 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
117 (build-system asdf-build-system/sbcl)
118 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
119 (description "ASDF-FLV provides support for file-local variables through
120ASDF. A file-local variable behaves like @code{*PACKAGE*} and
121@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
122dynamic binding is created before processing the file, so that any
123modification to the variable becomes essentially file-local.
124
125In order to make one or several variables file-local, use the macros
126@code{SET-FILE-LOCAL-VARIABLE(S)}.")
127 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
128 (license (license:non-copyleft
129 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
130 "GNU All-Permissive License"))))
131
132(define-public cl-net.didierverna.asdf-flv
133 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
134
135(define-public ecl-net.didierverna.asdf-flv
136 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
137
138(define-public sbcl-fiveam
139 (package
140 (name "sbcl-fiveam")
141 (version "1.4.1")
142 (source
143 (origin
144 (method git-fetch)
145 (uri (git-reference
146 (url "https://github.com/sionescu/fiveam.git")
147 (commit (string-append "v" version))))
148 (file-name (git-file-name "fiveam" version))
149 (sha256
150 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
151 (inputs
152 `(("alexandria" ,sbcl-alexandria)
153 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
154 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
155 (build-system asdf-build-system/sbcl)
156 (synopsis "Common Lisp testing framework")
157 (description "FiveAM is a simple (as far as writing and running tests
158goes) regression testing framework. It has been designed with Common Lisp's
159interactive development model in mind.")
160 (home-page "https://common-lisp.net/project/fiveam/")
161 (license license:bsd-3)))
162
163(define-public cl-fiveam
164 (sbcl-package->cl-source-package sbcl-fiveam))
165
166(define-public ecl-fiveam
167 (sbcl-package->ecl-package sbcl-fiveam))
168
169(define-public sbcl-bordeaux-threads
5a647850
GLV
170 (package
171 (name "sbcl-bordeaux-threads")
172 (version "0.8.7")
173 (source (origin
174 (method git-fetch)
175 (uri (git-reference
176 (url "https://github.com/sionescu/bordeaux-threads.git")
177 (commit (string-append "v" version))))
178 (sha256
179 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
180 (file-name
181 (git-file-name "bordeaux-threads" version))))
182 (inputs `(("alexandria" ,sbcl-alexandria)))
183 (native-inputs `(("fiveam" ,sbcl-fiveam)))
184 (build-system asdf-build-system/sbcl)
185 (synopsis "Portable shared-state concurrency library for Common Lisp")
186 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
187MP/Threading interface. It is similar to the CLIM-SYS threading and lock
188support.")
5a647850
GLV
189 (home-page "https://common-lisp.net/project/bordeaux-threads/")
190 (license license:x11)))
88f06fd0
PN
191
192(define-public cl-bordeaux-threads
193 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
194
195(define-public ecl-bordeaux-threads
196 (sbcl-package->ecl-package sbcl-bordeaux-threads))
197
198(define-public sbcl-trivial-gray-streams
199 (let ((revision "1")
200 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
201 (package
202 (name "sbcl-trivial-gray-streams")
203 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
204 (source
205 (origin
206 (method git-fetch)
207 (uri
208 (git-reference
209 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
210 (commit commit)))
211 (sha256
212 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
213 (file-name
214 (string-append "trivial-gray-streams-" version "-checkout"))))
215 (build-system asdf-build-system/sbcl)
216 (synopsis "Compatibility layer for Gray streams implementations")
217 (description "Gray streams is an interface proposed for inclusion with
218ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
219popular CL implementations implement it. This package provides an extremely
220thin compatibility layer for gray streams.")
221 (home-page "http://www.cliki.net/trivial-gray-streams")
222 (license license:x11))))
223
224(define-public cl-trivial-gray-streams
225 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
226
227(define-public ecl-trivial-gray-streams
228 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
229
230(define-public sbcl-fiasco
231 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
232 (revision "1"))
233 (package
234 (name "sbcl-fiasco")
235 (version (git-version "0.0.1" revision commit))
236 (source
237 (origin
238 (method git-fetch)
239 (uri (git-reference
240 (url "https://github.com/joaotavora/fiasco.git")
241 (commit commit)))
242 (file-name (git-file-name "fiasco" version))
243 (sha256
244 (base32
245 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
246 (build-system asdf-build-system/sbcl)
247 (inputs
248 `(("alexandria" ,sbcl-alexandria)
249 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
250 (synopsis "Simple and powerful test framework for Common Lisp")
251 (description "A Common Lisp test framework that treasures your failures,
252logical continuation of Stefil. It focuses on interactive debugging.")
253 (home-page "https://github.com/joaotavora/fiasco")
254 ;; LICENCE specifies this is public-domain unless the legislation
255 ;; doesn't allow or recognize it. In that case it falls back to a
256 ;; permissive licence.
257 (license (list license:public-domain
258 (license:x11-style "file://LICENCE"))))))
259
260(define-public cl-fiasco
261 (sbcl-package->cl-source-package sbcl-fiasco))
262
263(define-public ecl-fiasco
264 (sbcl-package->ecl-package sbcl-fiasco))
265
266(define-public sbcl-flexi-streams
267 (package
268 (name "sbcl-flexi-streams")
6b0604fd 269 (version "1.0.18")
88f06fd0
PN
270 (source
271 (origin
272 (method git-fetch)
273 (uri (git-reference
274 (url "https://github.com/edicl/flexi-streams.git")
275 (commit (string-append "v" version))))
276 (file-name (git-file-name "flexi-streams" version))
277 (sha256
6b0604fd 278 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
279 (build-system asdf-build-system/sbcl)
280 (arguments
281 `(#:phases
282 (modify-phases %standard-phases
283 (add-after 'unpack 'make-git-checkout-writable
284 (lambda _
285 (for-each make-file-writable (find-files "."))
286 #t)))))
287 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
288 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
289 (description "Flexi-streams is an implementation of \"virtual\" bivalent
290streams that can be layered atop real binary or bivalent streams and that can
291be used to read and write character data in various single- or multi-octet
292encodings which can be changed on the fly. It also supplies in-memory binary
293streams which are similar to string streams.")
294 (home-page "http://weitz.de/flexi-streams/")
295 (license license:bsd-3)))
296
297(define-public cl-flexi-streams
298 (sbcl-package->cl-source-package sbcl-flexi-streams))
299
300(define-public ecl-flexi-streams
301 (sbcl-package->ecl-package sbcl-flexi-streams))
302
303(define-public sbcl-cl-ppcre
304 (package
305 (name "sbcl-cl-ppcre")
6c874425 306 (version "2.1.1")
88f06fd0
PN
307 (source
308 (origin
309 (method git-fetch)
310 (uri (git-reference
311 (url "https://github.com/edicl/cl-ppcre.git")
312 (commit (string-append "v" version))))
313 (file-name (git-file-name "cl-ppcre" version))
314 (sha256
6c874425 315 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0
PN
316 (build-system asdf-build-system/sbcl)
317 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
318 (synopsis "Portable regular expression library for Common Lisp")
319 (description "CL-PPCRE is a portable regular expression library for Common
320Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
321compatible with ANSI-compliant Common Lisp implementations.")
322 (home-page "http://weitz.de/cl-ppcre/")
323 (license license:bsd-2)))
324
325(define-public cl-ppcre
326 (sbcl-package->cl-source-package sbcl-cl-ppcre))
327
328(define-public ecl-cl-ppcre
329 (sbcl-package->ecl-package sbcl-cl-ppcre))
330
331(define sbcl-cl-unicode-base
6fdfef66
GLV
332 (package
333 (name "sbcl-cl-unicode-base")
334 (version "0.1.6")
335 (source (origin
336 (method git-fetch)
337 (uri (git-reference
338 (url "https://github.com/edicl/cl-unicode.git")
339 (commit (string-append "v" version))))
340 (file-name (git-file-name name version))
341 (sha256
342 (base32
343 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
344 (build-system asdf-build-system/sbcl)
345 (arguments
346 '(#:asd-file "cl-unicode.asd"
347 #:asd-system-name "cl-unicode/base"))
348 (inputs
349 `(("cl-ppcre" ,sbcl-cl-ppcre)))
350 (home-page "http://weitz.de/cl-unicode/")
351 (synopsis "Portable Unicode library for Common Lisp")
352 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
353is compatible with perl. It is pretty fast, thread-safe, and compatible with
354ANSI-compliant Common Lisp implementations.")
6fdfef66 355 (license license:bsd-2)))
88f06fd0
PN
356
357(define-public sbcl-cl-unicode
358 (package
359 (inherit sbcl-cl-unicode-base)
360 (name "sbcl-cl-unicode")
361 (inputs
362 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
363 ,@(package-inputs sbcl-cl-unicode-base)))
364 (native-inputs
365 `(("flexi-streams" ,sbcl-flexi-streams)))
366 (arguments '())))
367
368(define-public ecl-cl-unicode
369 (sbcl-package->ecl-package sbcl-cl-unicode))
370
371(define-public cl-unicode
372 (sbcl-package->cl-source-package sbcl-cl-unicode))
373
92afa57b
RW
374(define-public sbcl-zpb-ttf
375 (package
376 (name "sbcl-zpb-ttf")
377 (version "1.0.3")
378 (source
379 (origin
380 (method git-fetch)
381 (uri (git-reference
382 (url "https://github.com/xach/zpb-ttf.git")
383 (commit (string-append "release-" version))))
384 (file-name (git-file-name name version))
385 (sha256
386 (base32
387 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
388 (build-system asdf-build-system/sbcl)
389 (home-page "https://github.com/xach/zpb-ttf")
390 (synopsis "TrueType font file access for Common Lisp")
391 (description
392 "ZPB-TTF is a TrueType font file parser that provides an interface for
393reading typographic metrics, glyph outlines, and other information from the
394file.")
395 (license license:bsd-2)))
396
397(define-public ecl-zpb-ttf
398 (sbcl-package->ecl-package sbcl-zpb-ttf))
399
400(define-public cl-zpb-ttf
401 (sbcl-package->cl-source-package sbcl-zpb-ttf))
402
64997728
RW
403(define-public sbcl-cl-aa
404 (package
405 (name "sbcl-cl-aa")
406 (version "0.1.5")
407 (source
408 (origin
409 (method url-fetch)
410 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
411 "files/cl-vectors-" version ".tar.gz"))
412 (sha256
413 (base32
414 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
415 (build-system asdf-build-system/sbcl)
416 (arguments '(#:asd-file "cl-aa.asd"))
417 (home-page "http://projects.tuxee.net/cl-vectors/")
418 (synopsis "Polygon rasterizer")
419 (description
420 "This is a Common Lisp library implementing the AA polygon rasterization
421algorithm from the @url{http://antigrain.com, Antigrain} project.")
422 (license license:expat)))
423
424(define-public ecl-cl-aa
425 (sbcl-package->ecl-package sbcl-cl-aa))
426
427(define-public cl-aa
428 (sbcl-package->cl-source-package sbcl-cl-aa))
429
b571dfdb
RW
430(define-public sbcl-cl-paths
431 (package
432 (inherit sbcl-cl-aa)
433 (name "sbcl-cl-paths")
434 (arguments '(#:asd-file "cl-paths.asd"))
435 (synopsis "Facilities to create and manipulate vectorial paths")
436 (description
437 "This package provides facilities to create and manipulate vectorial
438paths.")))
439
440(define-public ecl-cl-paths
441 (sbcl-package->ecl-package sbcl-cl-paths))
442
443(define-public cl-paths
444 (sbcl-package->cl-source-package sbcl-cl-paths))
445
0dbd7c3c
RW
446(define-public sbcl-cl-paths-ttf
447 (package
448 (inherit sbcl-cl-aa)
449 (name "sbcl-cl-paths-ttf")
450 (arguments '(#:asd-file "cl-paths-ttf.asd"))
451 (inputs
452 `(("cl-paths" ,sbcl-cl-paths)
453 ("zpb-ttf" ,sbcl-zpb-ttf)))
454 (synopsis "Facilities to create and manipulate vectorial paths")
455 (description
456 "This package provides facilities to create and manipulate vectorial
457paths.")))
458
459(define-public ecl-cl-paths-ttf
460 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
461
462(define-public cl-paths-ttf
463 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
464
94c621bd
RW
465(define-public sbcl-cl-vectors
466 (package
467 (inherit sbcl-cl-aa)
468 (name "sbcl-cl-vectors")
469 (arguments '(#:asd-file "cl-vectors.asd"))
470 (inputs
471 `(("cl-aa" ,sbcl-cl-aa)
472 ("cl-paths" ,sbcl-cl-paths)))
473 (synopsis "Create, transform and render anti-aliased vectorial paths")
474 (description
475 "This is a pure Common Lisp library to create, transform and render
476anti-aliased vectorial paths.")))
477
478(define-public ecl-cl-vectors
479 (sbcl-package->ecl-package sbcl-cl-vectors))
480
481(define-public cl-vectors
482 (sbcl-package->cl-source-package sbcl-cl-vectors))
483
7c62d384
RW
484(define-public sbcl-spatial-trees
485 ;; There have been no releases.
486 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
487 (revision "1"))
488 (package
489 (name "sbcl-spatial-trees")
490 (version (git-version "0" revision commit))
491 (source
492 (origin
493 (method git-fetch)
494 (uri (git-reference
495 (url "https://github.com/rpav/spatial-trees.git")
496 (commit commit)))
497 (file-name (git-file-name name version))
498 (sha256
499 (base32
500 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
501 (build-system asdf-build-system/sbcl)
502 (arguments
503 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
504 #:asd-file "spatial-trees.asd"
505 #:test-asd-file "spatial-trees.test.asd"))
506 (native-inputs
507 `(("fiveam" ,sbcl-fiveam)))
508 (home-page "https://github.com/rpav/spatial-trees")
509 (synopsis "Dynamic index data structures for spatially-extended data")
510 (description
511 "Spatial-trees is a set of dynamic index data structures for
512spatially-extended data.")
513 (license license:bsd-3))))
514
515(define-public ecl-spatial-trees
516 (sbcl-package->ecl-package sbcl-spatial-trees))
517
518(define-public cl-spatial-trees
519 (sbcl-package->cl-source-package sbcl-spatial-trees))
520
5dfde3f5
RW
521(define-public sbcl-flexichain
522 ;; There are no releases.
523 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
524 (revision "1"))
525 (package
526 (name "sbcl-flexichain")
527 (version "1.5.1")
528 (source
529 (origin
530 (method git-fetch)
531 (uri (git-reference
532 (url "https://github.com/robert-strandh/Flexichain.git")
533 (commit commit)))
534 (file-name (git-file-name name version))
535 (sha256
536 (base32
537 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
538 (build-system asdf-build-system/sbcl)
539 (home-page "https://github.com/robert-strandh/Flexichain.git")
540 (synopsis "Dynamically add elements to or remove them from sequences")
541 (description
542 "This package provides an implementation of the flexichain protocol,
543allowing client code to dynamically add elements to, and delete elements from
544a sequence (or chain) of such elements.")
545 (license license:lgpl2.1+))))
546
547(define-public ecl-flexichain
548 (sbcl-package->ecl-package sbcl-flexichain))
549
550(define-public cl-flexichain
551 (sbcl-package->cl-source-package sbcl-flexichain))
552
e088a010
RW
553(define-public sbcl-cl-pdf
554 ;; There are no releases
555 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
556 (revision "1"))
557 (package
558 (name "sbcl-cl-pdf")
559 (version (git-version "0" revision commit))
560 (source
561 (origin
562 (method git-fetch)
563 (uri (git-reference
564 (url "https://github.com/mbattyani/cl-pdf.git")
565 (commit commit)))
566 (file-name (git-file-name name version))
567 (sha256
568 (base32
569 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
570 (build-system asdf-build-system/sbcl)
571 (inputs
572 `(("iterate" ,sbcl-iterate)
573 ("zpb-ttf" ,sbcl-zpb-ttf)))
574 (home-page "https://github.com/mbattyani/cl-pdf")
575 (synopsis "Common Lisp library for generating PDF files")
576 (description
577 "CL-PDF is a cross-platform Common Lisp library for generating PDF
578files.")
579 (license license:bsd-2))))
580
581(define-public ecl-cl-pdf
582 (sbcl-package->ecl-package sbcl-cl-pdf))
583
584(define-public cl-pdf
585 (sbcl-package->cl-source-package sbcl-cl-pdf))
586
88f06fd0
PN
587(define-public sbcl-clx
588 (package
589 (name "sbcl-clx")
590 (version "0.7.5")
591 (source
592 (origin
593 (method git-fetch)
594 (uri
595 (git-reference
596 (url "https://github.com/sharplispers/clx.git")
597 (commit version)))
598 (sha256
599 (base32
600 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
601 (file-name (string-append "clx-" version))))
602 (build-system asdf-build-system/sbcl)
603 (native-inputs
604 `(("fiasco" ,sbcl-fiasco)))
605 (home-page "http://www.cliki.net/portable-clx")
606 (synopsis "X11 client library for Common Lisp")
607 (description "CLX is an X11 client library for Common Lisp. The code was
608originally taken from a CMUCL distribution, was modified somewhat in order to
609make it compile and run under SBCL, then a selection of patches were added
610from other CLXes around the net.")
611 (license license:x11)))
612
613(define-public cl-clx
614 (sbcl-package->cl-source-package sbcl-clx))
615
616(define-public ecl-clx
617 (sbcl-package->ecl-package sbcl-clx))
618
619(define-public sbcl-cl-ppcre-unicode
620 (package (inherit sbcl-cl-ppcre)
621 (name "sbcl-cl-ppcre-unicode")
622 (arguments
623 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
624 #:asd-file "cl-ppcre-unicode.asd"))
625 (inputs
626 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
627 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
628
54dc3ba2
GLV
629(define-public ecl-cl-ppcre-unicode
630 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
631
88f06fd0
PN
632;; The slynk that users expect to install includes all of slynk's contrib
633;; modules. Therefore, we build the base module and all contribs first; then
634;; we expose the union of these as `sbcl-slynk'. The following variable
635;; describes the base module.
636(define sbcl-slynk-boot0
637 (let ((revision "2")
638 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
639 (package
640 (name "sbcl-slynk-boot0")
641 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
642 (source
643 (origin
644 (method git-fetch)
645 (uri
646 (git-reference
647 (url "https://github.com/joaotavora/sly.git")
648 (commit commit)))
649 (sha256
650 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
651 (file-name (string-append "slynk-" version "-checkout"))
652 (modules '((guix build utils)
653 (ice-9 ftw)))
654 (snippet
655 '(begin
656 ;; Move the contribs into the main source directory for easier
657 ;; access
658 (substitute* "slynk/slynk.asd"
659 (("\\.\\./contrib")
660 "contrib")
661 (("\\(defsystem :slynk/util")
662 "(defsystem :slynk/util :depends-on (:slynk)")
663 ((":depends-on \\(:slynk :slynk/util\\)")
664 ":depends-on (:slynk :slynk-util)"))
665 (substitute* "contrib/slynk-trace-dialog.lisp"
666 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
667 "nil"))
668 (substitute* "contrib/slynk-profiler.lisp"
669 (("slynk:to-line")
670 "slynk-pprint-to-line"))
671 (substitute* "contrib/slynk-fancy-inspector.lisp"
672 (("slynk/util") "slynk-util")
673 ((":compile-toplevel :load-toplevel") ""))
674 (rename-file "contrib" "slynk/contrib")
675 ;; Move slynk's contents into the base directory for easier
676 ;; access
677 (for-each (lambda (file)
678 (unless (string-prefix? "." file)
679 (rename-file (string-append "slynk/" file)
680 (string-append "./" (basename file)))))
681 (scandir "slynk"))
682 #t))))
683 (build-system asdf-build-system/sbcl)
684 (arguments
685 `(#:tests? #f ; No test suite
686 #:asd-system-name "slynk"))
687 (synopsis "Common Lisp IDE for Emacs")
688 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
689It also features a completely redesigned REPL based on Emacs's own
690full-featured comint.el, live code annotations, and a consistent interactive
691button interface. Everything can be copied to the REPL. One can create
692multiple inspectors with independent history.")
693 (home-page "https://github.com/joaotavora/sly")
694 (license license:public-domain)
695 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
696
697(define-public cl-slynk
698 (package
699 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
700 (name "cl-slynk")))
701
702(define ecl-slynk-boot0
703 (sbcl-package->ecl-package sbcl-slynk-boot0))
704
705(define sbcl-slynk-arglists
706 (package
707 (inherit sbcl-slynk-boot0)
708 (name "sbcl-slynk-arglists")
709 (inputs `(("slynk" ,sbcl-slynk-boot0)))
710 (arguments
711 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
712 ((#:asd-file _ "") "slynk.asd")
713 ((#:asd-system-name _ #f) "slynk/arglists")))))
714
715(define ecl-slynk-arglists
716 (sbcl-package->ecl-package sbcl-slynk-arglists))
717
718(define sbcl-slynk-util
719 (package
720 (inherit sbcl-slynk-boot0)
721 (name "sbcl-slynk-util")
722 (inputs `(("slynk" ,sbcl-slynk-boot0)))
723 (arguments
724 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
725 ((#:asd-file _ "") "slynk.asd")
726 ((#:asd-system-name _ #f) "slynk/util")))))
727
728(define ecl-slynk-util
729 (sbcl-package->ecl-package sbcl-slynk-util))
730
731(define sbcl-slynk-fancy-inspector
732 (package
733 (inherit sbcl-slynk-arglists)
734 (name "sbcl-slynk-fancy-inspector")
735 (inputs `(("slynk-util" ,sbcl-slynk-util)
736 ,@(package-inputs sbcl-slynk-arglists)))
737 (arguments
738 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
739 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
740
741(define ecl-slynk-fancy-inspector
742 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
743
744(define sbcl-slynk-package-fu
745 (package
746 (inherit sbcl-slynk-arglists)
747 (name "sbcl-slynk-package-fu")
748 (arguments
749 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
750 ((#:asd-system-name _ #f) "slynk/package-fu")))))
751
752(define ecl-slynk-package-fu
753 (sbcl-package->ecl-package sbcl-slynk-package-fu))
754
755(define sbcl-slynk-mrepl
756 (package
757 (inherit sbcl-slynk-fancy-inspector)
758 (name "sbcl-slynk-mrepl")
759 (arguments
760 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
761 ((#:asd-system-name _ #f) "slynk/mrepl")))))
762
763(define ecl-slynk-mrepl
764 (sbcl-package->ecl-package sbcl-slynk-mrepl))
765
766(define sbcl-slynk-trace-dialog
767 (package
768 (inherit sbcl-slynk-arglists)
769 (name "sbcl-slynk-trace-dialog")
770 (arguments
771 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
772 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
773
774(define ecl-slynk-trace-dialog
775 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
776
777(define sbcl-slynk-profiler
778 (package
779 (inherit sbcl-slynk-arglists)
780 (name "sbcl-slynk-profiler")
781 (arguments
782 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
783 ((#:asd-system-name _ #f) "slynk/profiler")))))
784
785(define ecl-slynk-profiler
786 (sbcl-package->ecl-package sbcl-slynk-profiler))
787
788(define sbcl-slynk-stickers
789 (package
790 (inherit sbcl-slynk-arglists)
791 (name "sbcl-slynk-stickers")
792 (arguments
793 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
794 ((#:asd-system-name _ #f) "slynk/stickers")))))
795
796(define ecl-slynk-stickers
797 (sbcl-package->ecl-package sbcl-slynk-stickers))
798
799(define sbcl-slynk-indentation
800 (package
801 (inherit sbcl-slynk-arglists)
802 (name "sbcl-slynk-indentation")
803 (arguments
804 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
805 ((#:asd-system-name _ #f) "slynk/indentation")))))
806
807(define ecl-slynk-indentation
808 (sbcl-package->ecl-package sbcl-slynk-indentation))
809
810(define sbcl-slynk-retro
811 (package
812 (inherit sbcl-slynk-arglists)
813 (name "sbcl-slynk-retro")
814 (arguments
815 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
816 ((#:asd-system-name _ #f) "slynk/retro")))))
817
818(define ecl-slynk-retro
819 (sbcl-package->ecl-package sbcl-slynk-retro))
820
821(define slynk-systems
822 '("slynk"
823 "slynk-util"
824 "slynk-arglists"
825 "slynk-fancy-inspector"
826 "slynk-package-fu"
827 "slynk-mrepl"
828 "slynk-profiler"
829 "slynk-trace-dialog"
830 "slynk-stickers"
831 "slynk-indentation"
832 "slynk-retro"))
833
834(define-public sbcl-slynk
835 (package
836 (inherit sbcl-slynk-boot0)
837 (name "sbcl-slynk")
838 (inputs
839 `(("slynk" ,sbcl-slynk-boot0)
840 ("slynk-util" ,sbcl-slynk-util)
841 ("slynk-arglists" ,sbcl-slynk-arglists)
842 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
843 ("slynk-package-fu" ,sbcl-slynk-package-fu)
844 ("slynk-mrepl" ,sbcl-slynk-mrepl)
845 ("slynk-profiler" ,sbcl-slynk-profiler)
846 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
847 ("slynk-stickers" ,sbcl-slynk-stickers)
848 ("slynk-indentation" ,sbcl-slynk-indentation)
849 ("slynk-retro" ,sbcl-slynk-retro)))
850 (native-inputs `(("sbcl" ,sbcl)))
851 (build-system trivial-build-system)
852 (source #f)
853 (outputs '("out" "image"))
854 (arguments
855 `(#:modules ((guix build union)
856 (guix build utils)
857 (guix build lisp-utils))
858 #:builder
859 (begin
860 (use-modules (ice-9 match)
861 (srfi srfi-1)
862 (guix build union)
863 (guix build lisp-utils))
864
865 (union-build
866 (assoc-ref %outputs "out")
867 (filter-map
868 (match-lambda
869 ((name . path)
870 (if (string-prefix? "slynk" name) path #f)))
871 %build-inputs))
872
873 (prepend-to-source-registry
874 (string-append (assoc-ref %outputs "out") "//"))
875
876 (parameterize ((%lisp-type "sbcl")
877 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
878 "/bin/sbcl")))
879 (build-image (string-append
880 (assoc-ref %outputs "image")
881 "/bin/slynk")
882 %outputs
883 #:dependencies ',slynk-systems))
884 #t)))))
885
886(define-public ecl-slynk
887 (package
888 (inherit sbcl-slynk)
889 (name "ecl-slynk")
890 (inputs
891 (map (match-lambda
892 ((name pkg . _)
893 (list name (sbcl-package->ecl-package pkg))))
894 (package-inputs sbcl-slynk)))
895 (native-inputs '())
896 (outputs '("out"))
897 (arguments
898 '(#:modules ((guix build union))
899 #:builder
900 (begin
901 (use-modules (ice-9 match)
902 (guix build union))
903 (match %build-inputs
904 (((names . paths) ...)
905 (union-build (assoc-ref %outputs "out")
906 paths)
907 #t)))))))
908
909(define-public sbcl-parse-js
910 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
911 (revision "1"))
912 (package
913 (name "sbcl-parse-js")
914 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
915 (source
916 (origin
917 (method git-fetch)
918 (uri (git-reference
919 (url "http://marijn.haverbeke.nl/git/parse-js")
920 (commit commit)))
921 (file-name (string-append name "-" commit "-checkout"))
922 (sha256
923 (base32
924 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
925 (build-system asdf-build-system/sbcl)
926 (home-page "http://marijnhaverbeke.nl/parse-js/")
927 (synopsis "Parse JavaScript")
928 (description "Parse-js is a Common Lisp package for parsing
929JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
930 (license license:zlib))))
931
932(define-public cl-parse-js
933 (sbcl-package->cl-source-package sbcl-parse-js))
934
935(define-public sbcl-parse-number
936 (package
937 (name "sbcl-parse-number")
938 (version "1.7")
939 (source
940 (origin
941 (method git-fetch)
942 (uri (git-reference
943 (url "https://github.com/sharplispers/parse-number/")
944 (commit (string-append "v" version))))
945 (file-name (git-file-name name version))
946 (sha256
947 (base32
948 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
949 (build-system asdf-build-system/sbcl)
950 (home-page "http://www.cliki.net/PARSE-NUMBER")
951 (synopsis "Parse numbers")
952 (description "@code{parse-number} is a library of functions for parsing
953strings into one of the standard Common Lisp number types without using the
954reader. @code{parse-number} accepts an arbitrary string and attempts to parse
955the string into one of the standard Common Lisp number types, if possible, or
956else @code{parse-number} signals an error of type @code{invalid-number}.")
957 (license license:bsd-3)))
958
959(define-public cl-parse-number
960 (sbcl-package->cl-source-package sbcl-parse-number))
961
962(define-public sbcl-iterate
963 (package
964 (name "sbcl-iterate")
965 ;; The latest official release (1.4.3) fails to build so we have to take
966 ;; the current darcs tarball from quicklisp.
967 (version "20160825")
968 (source
969 (origin
970 (method url-fetch)
971 (uri (string-append "http://beta.quicklisp.org/archive/iterate/"
972 "2016-08-25/iterate-"
973 version "-darcs.tgz"))
974 (sha256
975 (base32
976 "0kvz16gnxnkdz0fy1x8y5yr28nfm7i2qpvix7mgwccdpjmsb4pgm"))))
977 (build-system asdf-build-system/sbcl)
978 (native-inputs
979 `(("rt" ,sbcl-rt)))
980 (home-page "https://common-lisp.net/project/iterate/")
981 (synopsis "Iteration construct for Common Lisp")
982 (description "@code{iterate} is an iteration construct for Common Lisp.
983It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
984
985@itemize
986@item it is extensible,
987@item it helps editors like Emacs indent iterate forms by having a more
988 lisp-like syntax, and
989@item it isn't part of the ANSI standard for Common Lisp.
990@end itemize\n")
991 (license license:expat)))
992
993(define-public cl-iterate
994 (sbcl-package->cl-source-package sbcl-iterate))
995
996(define-public ecl-iterate
997 (sbcl-package->ecl-package sbcl-iterate))
998
999(define-public sbcl-cl-uglify-js
1000 ;; There have been many bug fixes since the 2010 release.
1001 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1002 (revision "1"))
1003 (package
1004 (name "sbcl-cl-uglify-js")
1005 (version (string-append "0.1-" revision "." (string-take commit 9)))
1006 (source
1007 (origin
1008 (method git-fetch)
1009 (uri (git-reference
1010 (url "https://github.com/mishoo/cl-uglify-js.git")
1011 (commit commit)))
1012 (file-name (git-file-name name version))
1013 (sha256
1014 (base32
1015 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1016 (build-system asdf-build-system/sbcl)
1017 (inputs
1018 `(("sbcl-parse-js" ,sbcl-parse-js)
1019 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1020 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1021 ("sbcl-parse-number" ,sbcl-parse-number)
1022 ("sbcl-iterate" ,sbcl-iterate)))
1023 (home-page "https://github.com/mishoo/cl-uglify-js")
1024 (synopsis "JavaScript compressor library for Common Lisp")
1025 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1026compressor. It works on data produced by @code{parse-js} to generate a
1027@dfn{minified} version of the code. Currently it can:
1028
1029@itemize
1030@item reduce variable names (usually to single letters)
1031@item join consecutive @code{var} statements
1032@item resolve simple binary expressions
1033@item group most consecutive statements using the @code{sequence} operator (comma)
1034@item remove unnecessary blocks
1035@item convert @code{IF} expressions in various ways that result in smaller code
1036@item remove some unreachable code
1037@end itemize\n")
1038 (license license:zlib))))
1039
1040(define-public cl-uglify-js
1041 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1042
ba42da24
PN
1043(define-public uglify-js
1044 (package
1045 (inherit sbcl-cl-uglify-js)
1046 (name "uglify-js")
1047 (build-system trivial-build-system)
1048 (arguments
1049 `(#:modules ((guix build utils))
1050 #:builder
1051 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1052 (script (string-append bin "uglify-js")))
1053 (use-modules (guix build utils))
1054 (mkdir-p bin)
1055 (with-output-to-file script
1056 (lambda _
1057 (format #t "#!~a/bin/sbcl --script
1058 (require :asdf)
1059 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1060 (assoc-ref %build-inputs "sbcl")
1061 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1062 ;; FIXME: cannot use progn here because otherwise it fails to
1063 ;; find cl-uglify-js.
1064 (for-each
1065 write
1066 '(;; Quiet, please!
1067 (let ((*standard-output* (make-broadcast-stream))
1068 (*error-output* (make-broadcast-stream)))
1069 (asdf:load-system :cl-uglify-js))
1070 (let ((file (cadr *posix-argv*)))
1071 (if file
1072 (format t "~a"
1073 (cl-uglify-js:ast-gen-code
1074 (cl-uglify-js:ast-mangle
1075 (cl-uglify-js:ast-squeeze
1076 (with-open-file (in file)
1077 (parse-js:parse-js in))))
1078 :beautify nil))
1079 (progn
1080 (format *error-output*
1081 "Please provide a JavaScript file.~%")
1082 (sb-ext:exit :code 1))))))))
1083 (chmod script #o755)
1084 #t)))
1085 (inputs
1086 `(("sbcl" ,sbcl)
1087 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1088 (synopsis "JavaScript compressor")))
1089
88f06fd0
PN
1090(define-public sbcl-cl-strings
1091 (let ((revision "1")
1092 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1093 (package
1094 (name "sbcl-cl-strings")
1095 (version (git-version "0.0.0" revision commit))
1096 (source
1097 (origin
1098 (method git-fetch)
1099 (uri (git-reference
1100 (url "https://github.com/diogoalexandrefranco/cl-strings")
1101 (commit commit)))
1102 (sha256
1103 (base32
1104 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1105 (file-name (string-append "cl-strings-" version "-checkout"))))
1106 (build-system asdf-build-system/sbcl)
1107 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1108 (description
1109 "@command{cl-strings} is a small, portable, dependency-free set of
1110utilities that make it even easier to manipulate text in Common Lisp. It has
1111100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1112 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1113 (license license:expat))))
1114
1115(define-public cl-strings
1116 (sbcl-package->cl-source-package sbcl-cl-strings))
1117
1118(define-public ecl-cl-strings
1119 (sbcl-package->ecl-package sbcl-cl-strings))
1120
1121(define-public sbcl-trivial-features
1122 (package
1123 (name "sbcl-trivial-features")
1124 (version "0.8")
1125 (source
1126 (origin
1127 (method git-fetch)
1128 (uri (git-reference
1129 (url "https://github.com/trivial-features/trivial-features.git")
1130 (commit (string-append "v" version))))
1131 (file-name (git-file-name "trivial-features" version))
1132 (sha256
1133 (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9"))))
1134 (build-system asdf-build-system/sbcl)
1135 (arguments '(#:tests? #f))
1136 (home-page "http://cliki.net/trivial-features")
1137 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1138 (description "Trivial-features ensures that @code{*FEATURES*} is
1139consistent across multiple Common Lisp implementations.")
1140 (license license:expat)))
1141
1142(define-public cl-trivial-features
1143 (sbcl-package->cl-source-package sbcl-trivial-features))
1144
1145(define-public ecl-trivial-features
1146 (sbcl-package->ecl-package sbcl-trivial-features))
1147
1148(define-public sbcl-hu.dwim.asdf
1149 (package
1150 (name "sbcl-hu.dwim.asdf")
1151 (version "20190521")
1152 (source
1153 (origin
1154 (method url-fetch)
1155 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1156 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1157 (sha256
1158 (base32
1159 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1160 (build-system asdf-build-system/sbcl)
1161 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1162 (synopsis "Extensions to ASDF")
1163 (description "Various ASDF extensions such as attached test and
1164documentation system, explicit development support, etc.")
1165 (license license:public-domain)))
1166
1167(define-public cl-hu.dwim.asdf
1168 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1169
1170(define-public ecl-hu.dwim.asdf
1171 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1172
1173(define-public sbcl-hu.dwim.stefil
1174 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1175 (package
1176 (name "sbcl-hu.dwim.stefil")
1177 (version (git-version "0.0.0" "1" commit))
1178 (source
1179 (origin
1180 (method git-fetch)
1181 (uri
1182 (git-reference
1183 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1184 (commit commit)))
1185 (sha256
1186 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1187 (file-name (git-file-name "hu.dwim.stefil" version))))
1188 (build-system asdf-build-system/sbcl)
1189 (native-inputs
1190 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1191 (inputs
1192 `(("sbcl-alexandria" ,sbcl-alexandria)))
1193 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1194 (synopsis "Simple test framework")
1195 (description "Stefil is a simple test framework for Common Lisp,
1196with a focus on interactive development.")
1197 (license license:public-domain))))
1198
1199(define-public cl-hu.dwim.stefil
1200 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1201
1202(define-public ecl-hu.dwim.stefil
1203 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1204
1205(define-public sbcl-babel
1206 (package
1207 (name "sbcl-babel")
1208 (version "0.5.0")
1209 (source
1210 (origin
1211 (method git-fetch)
1212 (uri (git-reference
1213 (url "https://github.com/cl-babel/babel.git")
1214 (commit (string-append "v" version))))
1215 (file-name (git-file-name "babel" version))
1216 (sha256
1217 (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f"))))
1218 (build-system asdf-build-system/sbcl)
1219 (native-inputs
1220 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1221 (inputs
1222 `(("sbcl-alexandria" ,sbcl-alexandria)
1223 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1224 (home-page "https://common-lisp.net/project/babel/")
1225 (synopsis "Charset encoding and decoding library")
1226 (description "Babel is a charset encoding and decoding library, not unlike
1227GNU libiconv, but completely written in Common Lisp.")
1228 (license license:expat)))
1229
1230(define-public cl-babel
1231 (sbcl-package->cl-source-package sbcl-babel))
1232
1233(define-public ecl-babel
1234 (sbcl-package->ecl-package sbcl-babel))
1235
1236(define-public sbcl-cl-yacc
1237 (package
1238 (name "sbcl-cl-yacc")
1239 (version "0.3")
1240 (source
1241 (origin
1242 (method git-fetch)
1243 (uri (git-reference
1244 (url "https://github.com/jech/cl-yacc")
1245 (commit (string-append "cl-yacc-" version))))
1246 (sha256
1247 (base32
1248 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1249 (file-name (string-append "cl-yacc-" version "-checkout"))))
1250 (build-system asdf-build-system/sbcl)
1251 (arguments
1252 `(#:asd-file "yacc.asd"
1253 #:asd-system-name "yacc"))
1254 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1255 (description
1256 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1257to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1258
1259CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1260by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1261to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1262 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1263 (license license:expat)))
1264
1265(define-public cl-yacc
1266 (sbcl-package->cl-source-package sbcl-cl-yacc))
1267
1268(define-public ecl-cl-yacc
1269 (sbcl-package->ecl-package sbcl-cl-yacc))
1270
1271(define-public sbcl-jpl-util
1272 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1273 (package
1274 (name "sbcl-jpl-util")
1275 (version "20151005")
1276 (source
1277 (origin
1278 (method git-fetch)
1279 (uri (git-reference
1280 ;; Quicklisp uses this fork.
1281 (url "https://github.com/hawkir/cl-jpl-util")
1282 (commit commit)))
1283 (file-name
1284 (git-file-name "jpl-util" version))
1285 (sha256
1286 (base32
1287 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1288 (build-system asdf-build-system/sbcl)
1289 (synopsis "Collection of Common Lisp utility functions and macros")
1290 (description
1291 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1292and macros, primarily for software projects written in CL by the author.")
1293 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1294 (license license:isc))))
1295
1296(define-public cl-jpl-util
1297 (sbcl-package->cl-source-package sbcl-jpl-util))
1298
1299(define-public ecl-jpl-util
1300 (sbcl-package->ecl-package sbcl-jpl-util))
1301
1302(define-public sbcl-jpl-queues
1303 (package
1304 (name "sbcl-jpl-queues")
1305 (version "0.1")
1306 (source
1307 (origin
1308 (method url-fetch)
1309 (uri (string-append
1310 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1311 version
1312 ".tar.gz"))
1313 (sha256
1314 (base32
1315 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1316 (build-system asdf-build-system/sbcl)
1317 (inputs
1318 `(("jpl-util" ,sbcl-jpl-util)
1319 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1320 (arguments
1321 ;; Tests seem to be broken.
1322 `(#:tests? #f))
1323 (synopsis "Common Lisp library implementing a few different kinds of queues")
1324 (description
1325 "A Common Lisp library implementing a few different kinds of queues:
1326
1327@itemize
1328@item Bounded and unbounded FIFO queues.
1329@item Lossy bounded FIFO queues that drop elements when full.
1330@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1331@end itemize
1332
1333Additionally, a synchronization wrapper is provided to make any queue
1334conforming to the @command{jpl-queues} API thread-safe for lightweight
1335multithreading applications. (See Calispel for a more sophisticated CL
1336multithreaded message-passing library with timeouts and alternation among
1337several blockable channels.)")
1338 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1339 (license license:isc)))
1340
1341(define-public cl-jpl-queues
1342 (sbcl-package->cl-source-package sbcl-jpl-queues))
1343
1344(define-public ecl-jpl-queues
1345 (sbcl-package->ecl-package sbcl-jpl-queues))
1346
1347(define-public sbcl-eos
1348 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1349 (package
1350 (name "sbcl-eos")
1351 (version (git-version "0.0.0" "1" commit))
1352 (source
1353 (origin
1354 (method git-fetch)
1355 (uri (git-reference
1356 (url "https://github.com/adlai/Eos")
1357 (commit commit)))
1358 (sha256
1359 (base32
1360 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1361 (file-name (git-file-name "eos" version))))
1362 (build-system asdf-build-system/sbcl)
1363 (synopsis "Unit Testing for Common Lisp")
1364 (description
1365 "Eos was a unit testing library for Common Lisp.
1366It began as a fork of FiveAM; however, FiveAM development has continued, while
1367that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1368 (home-page "https://github.com/adlai/Eos")
1369 (license license:expat))))
1370
1371(define-public cl-eos
1372 (sbcl-package->cl-source-package sbcl-eos))
1373
1374(define-public ecl-eos
1375 (sbcl-package->ecl-package sbcl-eos))
1376
1377(define-public sbcl-esrap
1378 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1379 (package
1380 (name "sbcl-esrap")
1381 (version (git-version "0.0.0" "1" commit))
1382 (source
1383 (origin
1384 (method git-fetch)
1385 (uri (git-reference
1386 (url "https://github.com/nikodemus/esrap")
1387 (commit commit)))
1388 (sha256
1389 (base32
1390 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1391 (file-name (git-file-name "esrap" version))))
1392 (build-system asdf-build-system/sbcl)
1393 (native-inputs
1394 `(("eos" ,sbcl-eos))) ;For testing only.
1395 (inputs
1396 `(("alexandria" ,sbcl-alexandria)))
1397 (synopsis "Common Lisp packrat parser")
1398 (description
1399 "A packrat parser for Common Lisp.
1400In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1401
1402@itemize
1403@item dynamic redefinition of nonterminals
1404@item inline grammars
1405@item semantic predicates
1406@item introspective facilities (describing grammars, tracing, setting breaks)
1407@end itemize\n")
1408 (home-page "https://nikodemus.github.io/esrap/")
1409 (license license:expat))))
1410
1411(define-public cl-esrap
1412 (sbcl-package->cl-source-package sbcl-esrap))
1413
1414(define-public ecl-esrap
1415 (sbcl-package->ecl-package sbcl-esrap))
1416
1417(define-public sbcl-split-sequence
1418 (package
1419 (name "sbcl-split-sequence")
92da0588 1420 (version "2.0.0")
88f06fd0
PN
1421 (source
1422 (origin
1423 (method git-fetch)
1424 (uri (git-reference
1425 (url "https://github.com/sharplispers/split-sequence")
1426 (commit (string-append "v" version))))
1427 (sha256
1428 (base32
92da0588 1429 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1430 (file-name (git-file-name "split-sequence" version))))
1431 (build-system asdf-build-system/sbcl)
92da0588
GLV
1432 (native-inputs
1433 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1434 (synopsis "Member of the Common Lisp Utilities family of programs")
1435 (description
1436 "Splits sequence into a list of subsequences delimited by objects
1437satisfying the test.")
1438 (home-page "https://cliki.net/split-sequence")
1439 (license license:expat)))
1440
1441(define-public cl-split-sequence
1442 (sbcl-package->cl-source-package sbcl-split-sequence))
1443
1444(define-public ecl-split-sequence
1445 (sbcl-package->ecl-package sbcl-split-sequence))
1446
1447(define-public sbcl-html-encode
1448 (package
1449 (name "sbcl-html-encode")
1450 (version "1.2")
1451 (source
1452 (origin
1453 (method url-fetch)
1454 (uri (string-append
1455 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1456 version ".tgz"))
1457 (sha256
1458 (base32
1459 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1460 (file-name (string-append "colorize" version "-checkout"))))
1461 (build-system asdf-build-system/sbcl)
1462 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1463 (description
1464 "A library for encoding text in various web-savvy encodings.")
1465 (home-page "http://quickdocs.org/html-encode/")
1466 (license license:expat)))
1467
1468(define-public cl-html-encode
1469 (sbcl-package->cl-source-package sbcl-html-encode))
1470
1471(define-public ecl-html-encode
1472 (sbcl-package->ecl-package sbcl-html-encode))
1473
1474(define-public sbcl-colorize
1475 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1476 (package
1477 (name "sbcl-colorize")
1478 (version (git-version "0.0.0" "1" commit))
1479 (source
1480 (origin
1481 (method git-fetch)
1482 (uri (git-reference
1483 (url "https://github.com/kingcons/colorize")
1484 (commit commit)))
1485 (sha256
1486 (base32
1487 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1488 (file-name (git-file-name "colorize" version))))
1489 (build-system asdf-build-system/sbcl)
1490 (inputs
1491 `(("alexandria" ,sbcl-alexandria)
1492 ("split-sequence" ,sbcl-split-sequence)
1493 ("html-encode" ,sbcl-html-encode)))
1494 (synopsis "Common Lisp for syntax highlighting")
1495 (description
1496 "@command{colorize} is a Lisp library for syntax highlighting
1497supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1498C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1499 (home-page "https://github.com/kingcons/colorize")
1500 ;; TODO: Missing license?
1501 (license license:expat))))
1502
1503(define-public cl-colorize
1504 (sbcl-package->cl-source-package sbcl-colorize))
1505
1506(define-public ecl-colorize
1507 (sbcl-package->ecl-package sbcl-colorize))
1508
1509(define-public sbcl-3bmd
1510 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1511 (package
1512 (name "sbcl-3bmd")
1513 (version (git-version "0.0.0" "1" commit))
1514 (source
1515 (origin
1516 (method git-fetch)
1517 (uri (git-reference
1518 (url "https://github.com/3b/3bmd")
1519 (commit commit)))
1520 (sha256
1521 (base32
1522 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1523 (file-name (git-file-name "3bmd" version))))
1524 (build-system asdf-build-system/sbcl)
1525 (arguments
1526 ;; FIXME: We need to specify the name because the build-system thinks
1527 ;; "3" is a version marker.
1528 `(#:asd-system-name "3bmd"))
1529 (inputs
1530 `(("esrap" ,sbcl-esrap)
1531 ("split-sequence" ,sbcl-split-sequence)))
1532 (synopsis "Markdown processor in Command Lisp using esrap parser")
1533 (description
1534 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1535parsing, and grammar based on @command{peg-markdown}.")
1536 (home-page "https://github.com/3b/3bmd")
1537 (license license:expat))))
1538
1539(define-public cl-3bmd
1540 (sbcl-package->cl-source-package sbcl-3bmd))
1541
1542(define-public ecl-3bmd
1543 (sbcl-package->ecl-package sbcl-3bmd))
1544
1545(define-public sbcl-3bmd-ext-code-blocks
1546 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1547 (package
1548 (inherit sbcl-3bmd)
1549 (name "sbcl-3bmd-ext-code-blocks")
1550 (arguments
1551 `(#:asd-system-name "3bmd-ext-code-blocks"
1552 #:asd-file "3bmd-ext-code-blocks.asd"))
1553 (inputs
1554 `(("3bmd" ,sbcl-3bmd)
1555 ("colorize" ,sbcl-colorize)))
1556 (synopsis "3bmd extension which adds support for GitHub-style fenced
1557code blocks")
1558 (description
1559 "3bmd extension which adds support for GitHub-style fenced code blocks,
1560with @command{colorize} support."))))
1561
1562(define-public cl-3bmd-ext-code-blocks
1563 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1564
1565(define-public ecl-3bmd-ext-code-blocks
1566 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1567
1568(define-public sbcl-cl-fad
1569 (package
1570 (name "sbcl-cl-fad")
f0d9eaca 1571 (version "0.7.6")
88f06fd0
PN
1572 (source
1573 (origin
1574 (method git-fetch)
1575 (uri (git-reference
1576 (url "https://github.com/edicl/cl-fad/")
1577 (commit (string-append "v" version))))
1578 (sha256
1579 (base32
f0d9eaca 1580 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1581 (file-name (string-append "cl-fad" version "-checkout"))))
1582 (build-system asdf-build-system/sbcl)
1583 (inputs
1584 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1585 (synopsis "Portable pathname library for Common Lisp")
1586 (description
1587 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1588Lisp's standard pathname functions. It is intended to provide some
1589unification between current CL implementations on Windows, OS X, Linux, and
1590Unix. Most of the code was written by Peter Seibel for his book Practical
1591Common Lisp.")
1592 (home-page "https://edicl.github.io/cl-fad/")
1593 (license license:bsd-2)))
1594
1595(define-public cl-fad
1596 (sbcl-package->cl-source-package sbcl-cl-fad))
1597
1598(define-public ecl-cl-fad
1599 (sbcl-package->ecl-package sbcl-cl-fad))
1600
1601(define-public sbcl-rt
1602 (package
1603 (name "sbcl-rt")
1604 (version "1990.12.19")
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-"
1609 "20101006-git" ".tgz"))
1610 (sha256
1611 (base32
1612 "1jncar0xwkqk8yrc2dln389ivvgzs7ijdhhs3zpfyi5d21f0qa1v"))))
1613 (build-system asdf-build-system/sbcl)
1614 (synopsis "MIT Regression Tester")
1615 (description
1616 "RT provides a framework for writing regression test suites.")
1617 (home-page "https://github.com/sharplispers/nibbles")
1618 (license license:unlicense)))
1619
1620(define-public cl-rt
1621 (sbcl-package->cl-source-package sbcl-rt))
1622
1623(define-public ecl-rt
1624 (sbcl-package->ecl-package sbcl-rt))
1625
1626(define-public sbcl-nibbles
1627 (package
1628 (name "sbcl-nibbles")
1629 (version "0.14")
1630 (source
1631 (origin
1632 (method git-fetch)
1633 (uri (git-reference
1634 (url "https://github.com/sharplispers/nibbles/")
1635 (commit (string-append "v" version))))
1636 (sha256
1637 (base32
1638 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1639 (file-name (git-file-name "nibbles" version))))
1640 (build-system asdf-build-system/sbcl)
1641 (native-inputs
1642 ;; Tests only.
1643 `(("rt" ,sbcl-rt)))
1644 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1645 (description
1646 "When dealing with network protocols and file formats, it's common to
1647have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1648flavors. Common Lisp sort of supports this by specifying :element-type for
1649streams, but that facility is underspecified and there's nothing similar for
1650read/write from octet vectors. What most people wind up doing is rolling their
1651own small facility for their particular needs and calling it a day.
1652
1653This library attempts to be comprehensive and centralize such
1654facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1655vectors in signed or unsigned flavors are provided; these functions are also
1656SETFable. Since it's sometimes desirable to read/write directly from streams,
1657functions for doing so are also provided. On some implementations,
1658reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1659also be supported.")
1660 (home-page "https://github.com/sharplispers/nibbles")
1661 (license license:bsd-3)))
1662
1663(define-public cl-nibbles
1664 (sbcl-package->cl-source-package sbcl-nibbles))
1665
1666(define-public ecl-nibbles
1667 (sbcl-package->ecl-package sbcl-nibbles))
1668
1669(define-public sbcl-ironclad
1670 (package
1671 (name "sbcl-ironclad")
d589f0d2 1672 (version "0.48")
88f06fd0
PN
1673 (source
1674 (origin
1675 (method git-fetch)
1676 (uri (git-reference
1677 (url "https://github.com/sharplispers/ironclad/")
1678 (commit (string-append "v" version))))
1679 (sha256
1680 (base32
d589f0d2 1681 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
88f06fd0
PN
1682 (file-name (git-file-name name version))))
1683 (build-system asdf-build-system/sbcl)
1684 (native-inputs
1685 ;; Tests only.
1686 `(("rt" ,sbcl-rt)))
1687 (inputs
1688 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d589f0d2 1689 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
1690 (synopsis "Cryptographic toolkit written in Common Lisp")
1691 (description
1692 "Ironclad is a cryptography library written entirely in Common Lisp.
1693It includes support for several popular ciphers, digests, MACs and public key
1694cryptography algorithms. For several implementations that support Gray
1695streams, support is included for convenient stream wrappers.")
1696 (home-page "https://github.com/sharplispers/ironclad")
1697 (license license:bsd-3)))
1698
1699(define-public cl-ironclad
1700 (sbcl-package->cl-source-package sbcl-ironclad))
1701
1702(define-public ecl-ironclad
1703 (sbcl-package->ecl-package sbcl-ironclad))
1704
1705(define-public sbcl-named-readtables
1706 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1707 (revision "1"))
1708 (package
1709 (name "sbcl-named-readtables")
1710 (version (string-append "0.9-" revision "." (string-take commit 7)))
1711 (source
1712 (origin
1713 (method git-fetch)
1714 (uri (git-reference
1715 (url "https://github.com/melisgl/named-readtables.git")
1716 (commit commit)))
1717 (sha256
1718 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1719 (file-name (git-file-name "named-readtables" version))))
1720 (build-system asdf-build-system/sbcl)
1721 (arguments
1722 ;; Tests seem to be broken.
1723 `(#:tests? #f))
1724 (home-page "https://github.com/melisgl/named-readtables/")
1725 (synopsis "Library that creates a namespace for named readtables")
1726 (description "Named readtables is a library that creates a namespace for
1727named readtables, which is akin to package namespacing in Common Lisp.")
1728 (license license:bsd-3))))
1729
1730(define-public cl-named-readtables
1731 (sbcl-package->cl-source-package sbcl-named-readtables))
1732
1733(define-public ecl-named-readtables
1734 (sbcl-package->ecl-package sbcl-named-readtables))
1735
1736(define-public sbcl-pythonic-string-reader
1737 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1738 (package
1739 (name "sbcl-pythonic-string-reader")
1740 (version (git-version "0.0.0" "1" commit))
1741 (source
1742 (origin
1743 (method git-fetch)
1744 (uri (git-reference
1745 (url "https://github.com/smithzvk/pythonic-string-reader/")
1746 (commit commit)))
1747 (sha256
1748 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1749 (file-name (git-file-name "pythonic-string-reader" version))))
1750 (build-system asdf-build-system/sbcl)
1751 (inputs
1752 `(("named-readtables" ,sbcl-named-readtables)))
1753 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1754 (synopsis "Read table modification inspired by Python's three quote strings")
1755 (description "This piece of code sets up some reader macros that make it
1756simpler to input string literals which contain backslashes and double quotes
1757This is very useful for writing complicated docstrings and, as it turns out,
1758writing code that contains string literals that contain code themselves.")
1759 (license license:bsd-3))))
1760
1761(define-public cl-pythonic-string-reader
1762 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1763
1764(define-public ecl-pythonic-string-reader
1765 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1766
1767;; SLIME does not have a ASDF system definition to build all of Swank. As a
1768;; result, the asdf-build-system/sbcl will produce an almost empty package.
1769;; Some work was done to fix this at
1770;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1771;; and is now lagging behind. Building SBCL fasls might not be worth the
1772;; hassle, so let's just ship the source then.
1773(define-public cl-slime-swank
1774 (package
1775 (name "cl-slime-swank")
1776 (version "2.24")
1777 (source
1778 (origin
1779 (file-name (string-append name "-" version ".tar.gz"))
1780 (method git-fetch)
1781 (uri (git-reference
1782 (url "https://github.com/slime/slime/")
1783 (commit (string-append "v" version))))
1784 (sha256
1785 (base32
1786 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1787 (build-system asdf-build-system/source)
1788 (home-page "https://github.com/slime/slime")
1789 (synopsis "Common Lisp Swank server")
1790 (description
1791 "This is only useful if you want to start a Swank server in a Lisp
1792processes that doesn't run under Emacs. Lisp processes created by
1793@command{M-x slime} automatically start the server.")
1794 (license (list license:gpl2+ license:public-domain))))
1795
1796(define-public sbcl-slime-swank
1797 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1798
1799(define-public sbcl-mgl-pax
1800 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1801 (package
1802 (name "sbcl-mgl-pax")
1803 (version (git-version "0.0.0" "1" commit))
1804 (source
1805 (origin
1806 (method git-fetch)
1807 (uri (git-reference
1808 (url "https://github.com/melisgl/mgl-pax")
1809 (commit commit)))
1810 (sha256
1811 (base32
1812 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1813 (file-name (git-file-name "mgl-pax" version))))
1814 (build-system asdf-build-system/sbcl)
1815 (inputs
1816 `(("3bmd" ,sbcl-3bmd)
1817 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1818 ("babel" ,sbcl-babel)
1819 ("cl-fad" ,sbcl-cl-fad)
1820 ("ironclad" ,sbcl-ironclad)
1821 ("named-readtables" ,sbcl-named-readtables)
7e23dcc7
GLV
1822 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1823 (propagated-inputs
1824 ;; Packages having mgl-pax as input complain that it can't find
1825 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1826 `(("swank" ,cl-slime-swank)))
88f06fd0
PN
1827 (synopsis "Exploratory programming environment and documentation generator")
1828 (description
1829 "PAX provides an extremely poor man's Explorable Programming
1830environment. Narrative primarily lives in so called sections that mix markdown
1831docstrings with references to functions, variables, etc, all of which should
1832probably have their own docstrings.
1833
1834The primary focus is on making code easily explorable by using SLIME's
1835@command{M-.} (@command{slime-edit-definition}). See how to enable some
1836fanciness in Emacs Integration. Generating documentation from sections and all
1837the referenced items in Markdown or HTML format is also implemented.
1838
1839With the simplistic tools provided, one may accomplish similar effects as with
1840Literate Programming, but documentation is generated from code, not vice versa
1841and there is no support for chunking yet. Code is first, code must look
1842pretty, documentation is code.")
1843 (home-page "http://quotenil.com/")
1844 (license license:expat))))
1845
1846(define-public cl-mgl-pax
1847 (sbcl-package->cl-source-package sbcl-mgl-pax))
1848
1849(define-public ecl-mgl-pax
1850 (sbcl-package->ecl-package sbcl-mgl-pax))
1851
1852(define-public sbcl-lisp-unit
1853 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1854 (package
1855 (name "sbcl-lisp-unit")
1856 (version (git-version "0.0.0" "1" commit))
1857 (source
1858 (origin
1859 (method git-fetch)
1860 (uri (git-reference
1861 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1862 (commit commit)))
1863 (sha256
1864 (base32
1865 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1866 (file-name (git-file-name "lisp-unit" version))))
1867 (build-system asdf-build-system/sbcl)
1868 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1869 (description
1870 "@command{lisp-unit} is a Common Lisp library that supports unit
1871testing. It is an extension of the library written by Chris Riesbeck.")
1872 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1873 (license license:expat))))
1874
1875(define-public cl-lisp-unit
1876 (sbcl-package->cl-source-package sbcl-lisp-unit))
1877
1878(define-public ecl-lisp-unit
1879 (sbcl-package->ecl-package sbcl-lisp-unit))
1880
1881(define-public sbcl-anaphora
1882 (package
1883 (name "sbcl-anaphora")
1884 (version "0.9.6")
1885 (source
1886 (origin
1887 (method git-fetch)
1888 (uri (git-reference
1889 (url "https://github.com/tokenrove/anaphora")
1890 (commit version)))
1891 (sha256
1892 (base32
1893 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1894 (file-name (git-file-name "anaphora" version))))
1895 (build-system asdf-build-system/sbcl)
1896 (native-inputs
1897 `(("rt" ,sbcl-rt)))
1898 (synopsis "The anaphoric macro collection from Hell")
1899 (description
1900 "Anaphora is the anaphoric macro collection from Hell: it includes many
1901new fiends in addition to old friends like @command{aif} and
1902@command{awhen}.")
1903 (home-page "https://github.com/tokenrove/anaphora")
1904 (license license:public-domain)))
1905
1906(define-public cl-anaphora
1907 (sbcl-package->cl-source-package sbcl-anaphora))
1908
1909(define-public ecl-anaphora
1910 (sbcl-package->ecl-package sbcl-anaphora))
1911
1912(define-public sbcl-lift
1913 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1914 (package
1915 (name "sbcl-lift")
1916 (version (git-version "1.7.1" "1" commit))
1917 (source
1918 (origin
1919 (method git-fetch)
1920 (uri (git-reference
1921 (url "https://github.com/gwkkwg/lift")
1922 (commit commit)))
1923 (sha256
1924 (base32
1925 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1926 (file-name (git-file-name "lift" version))
1927 (modules '((guix build utils)))
1928 (snippet
1929 ;; Don't keep the bundled website
1930 `(begin
1931 (delete-file-recursively "website")
1932 #t))))
1933 (build-system asdf-build-system/sbcl)
1934 (arguments
1935 ;; The tests require a debugger, but we run with the debugger disabled.
1936 '(#:tests? #f))
1937 (synopsis "LIsp Framework for Testing")
1938 (description
1939 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1940Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1941testcases are organized into hierarchical testsuites each of which can have
1942its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1943supports randomized testing, benchmarking, profiling, and reporting.")
1944 (home-page "https://github.com/gwkkwg/lift")
1945 (license license:expat))))
1946
1947(define-public cl-lift
1948 (sbcl-package->cl-source-package sbcl-lift))
1949
1950(define-public ecl-lift
1951 (sbcl-package->ecl-package sbcl-lift))
1952
1953(define-public sbcl-let-plus
1954 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1955 (package
1956 (name "sbcl-let-plus")
1957 (version (git-version "0.0.0" "1" commit))
1958 (source
1959 (origin
1960 (method git-fetch)
1961 (uri (git-reference
1962 (url "https://github.com/sharplispers/let-plus")
1963 (commit commit)))
1964 (sha256
1965 (base32
1966 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
1967 (file-name (git-file-name "let-plus" version))))
1968 (build-system asdf-build-system/sbcl)
1969 (inputs
1970 `(("alexandria" ,sbcl-alexandria)
1971 ("anaphora" ,sbcl-anaphora)))
1972 (native-inputs
1973 `(("lift" ,sbcl-lift)))
1974 (synopsis "Destructuring extension of let*")
1975 (description
1976 "This library implements the let+ macro, which is a dectructuring
1977extension of let*. It features:
1978
1979@itemize
1980@item Clean, consistent syntax and small implementation (less than 300 LOC,
1981not counting tests)
1982@item Placeholder macros allow editor hints and syntax highlighting
1983@item @command{&ign} for ignored values (in forms where that makes sense)
1984@item Very easy to extend
1985@end itemize\n")
1986 (home-page "https://github.com/sharplispers/let-plus")
1987 (license license:boost1.0))))
1988
1989(define-public cl-let-plus
1990 (sbcl-package->cl-source-package sbcl-let-plus))
1991
1992(define-public ecl-let-plus
1993 (sbcl-package->ecl-package sbcl-let-plus))
1994
1995(define-public sbcl-cl-colors
1996 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
1997 (package
1998 (name "sbcl-cl-colors")
1999 (version (git-version "0.0.0" "1" commit))
2000 (source
2001 (origin
2002 (method git-fetch)
2003 (uri (git-reference
2004 (url "https://github.com/tpapp/cl-colors")
2005 (commit commit)))
2006 (sha256
2007 (base32
2008 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2009 (file-name (git-file-name "cl-colors" version))))
2010 (build-system asdf-build-system/sbcl)
2011 (inputs
2012 `(("alexandria" ,sbcl-alexandria)
2013 ("let-plus" ,sbcl-let-plus)))
2014 (synopsis "Simple color library for Common Lisp")
2015 (description
2016 "This is a very simple color library for Common Lisp, providing
2017
2018@itemize
2019@item Types for representing colors in HSV and RGB spaces.
2020@item Simple conversion functions between the above types (and also
2021hexadecimal representation for RGB).
2022@item Some predefined colors (currently X11 color names – of course the
2023library does not depend on X11).Because color in your terminal is nice.
2024@end itemize
2025
2026This library is no longer supported by its author.")
2027 (home-page "https://github.com/tpapp/cl-colors")
2028 (license license:boost1.0))))
2029
2030(define-public cl-colors
2031 (sbcl-package->cl-source-package sbcl-cl-colors))
2032
2033(define-public ecl-cl-colors
2034 (sbcl-package->ecl-package sbcl-cl-colors))
2035
2036(define-public sbcl-cl-ansi-text
2037 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2038 (package
2039 (name "sbcl-cl-ansi-text")
2040 (version (git-version "1.0.0" "1" commit))
2041 (source
2042 (origin
2043 (method git-fetch)
2044 (uri (git-reference
2045 (url "https://github.com/pnathan/cl-ansi-text")
2046 (commit commit)))
2047 (sha256
2048 (base32
2049 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2050 (file-name (git-file-name "cl-ansi-text" version))))
2051 (build-system asdf-build-system/sbcl)
2052 (inputs
2053 `(("alexandria" ,sbcl-alexandria)
2054 ("cl-colors" ,sbcl-cl-colors)))
2055 (native-inputs
2056 `(("fiveam" ,sbcl-fiveam)))
2057 (synopsis "ANSI terminal color implementation for Common Lisp")
2058 (description
2059 "@command{cl-ansi-text} provides utilities which enable printing to an
2060ANSI terminal with colored text. It provides the macro @command{with-color}
2061which causes everything printed in the body to be displayed with the provided
2062color. It further provides functions which will print the argument with the
2063named color.")
2064 (home-page "https://github.com/pnathan/cl-ansi-text")
2065 (license license:llgpl))))
2066
2067(define-public cl-ansi-text
2068 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2069
2070(define-public ecl-cl-ansi-text
2071 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2072
2073(define-public sbcl-prove-asdf
2074 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2075 (package
2076 (name "sbcl-prove-asdf")
2077 (version (git-version "1.0.0" "1" commit))
2078 (source
2079 (origin
2080 (method git-fetch)
2081 (uri (git-reference
2082 (url "https://github.com/fukamachi/prove")
2083 (commit commit)))
2084 (sha256
2085 (base32
2086 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2087 (file-name (git-file-name "prove" version))))
2088 (build-system asdf-build-system/sbcl)
2089 (arguments
2090 `(#:asd-file "prove-asdf.asd"))
2091 (synopsis "Test requirement for the Common Lisp 'prove' library")
2092 (description
2093 "Test requirement for the Common Lisp @command{prove} library.")
2094 (home-page "https://github.com/fukamachi/prove")
2095 (license license:expat))))
2096
2097(define-public cl-prove-asdf
2098 (sbcl-package->cl-source-package sbcl-prove-asdf))
2099
2100(define-public ecl-prove-asdf
2101 (sbcl-package->ecl-package sbcl-prove-asdf))
2102
2103(define-public sbcl-prove
2104 (package
2105 (inherit sbcl-prove-asdf)
2106 (name "sbcl-prove")
2107 (inputs
2108 `(("alexandria" ,sbcl-alexandria)
2109 ("cl-ppcre" ,sbcl-cl-ppcre)
2110 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2111 (native-inputs
2112 `(("prove-asdf" ,sbcl-prove-asdf)))
2113 (arguments
2114 `(#:asd-file "prove.asd"))
2115 (synopsis "Yet another unit testing framework for Common Lisp")
2116 (description
2117 "This project was originally called @command{cl-test-more}.
2118@command{prove} is yet another unit testing framework for Common Lisp. The
2119advantages of @command{prove} are:
2120
2121@itemize
2122@item Various simple functions for testing and informative error messages
2123@item ASDF integration
2124@item Extensible test reporters
2125@item Colorizes the report if it's available (note for SLIME)
2126@item Reports test durations
2127@end itemize\n")))
2128
2129(define-public cl-prove
2130 (sbcl-package->cl-source-package sbcl-prove))
2131
2132(define-public ecl-prove
2133 (sbcl-package->ecl-package sbcl-prove))
2134
2135(define-public sbcl-proc-parse
2136 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2137 (package
2138 (name "sbcl-proc-parse")
2139 (version (git-version "0.0.0" "1" commit))
2140 (source
2141 (origin
2142 (method git-fetch)
2143 (uri (git-reference
2144 (url "https://github.com/fukamachi/proc-parse")
2145 (commit commit)))
2146 (sha256
2147 (base32
2148 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2149 (file-name (git-file-name "proc-parse" version))))
2150 (build-system asdf-build-system/sbcl)
2151 (inputs
2152 `(("alexandria" ,sbcl-alexandria)
2153 ("babel" ,sbcl-babel)))
2154 (native-inputs
2155 `(("prove" ,sbcl-prove)
2156 ("prove-asdf" ,sbcl-prove-asdf)))
2157 (arguments
2158 ;; TODO: Tests don't find "proc-parse-test", why?
2159 `(#:tests? #f))
2160 (synopsis "Procedural vector parser")
2161 (description
2162 "This is a string/octets parser library for Common Lisp with speed and
2163readability in mind. Unlike other libraries, the code is not a
2164pattern-matching-like, but a char-by-char procedural parser.")
2165 (home-page "https://github.com/fukamachi/proc-parse")
2166 (license license:bsd-2))))
2167
2168(define-public cl-proc-parse
2169 (sbcl-package->cl-source-package sbcl-proc-parse))
2170
2171(define-public ecl-proc-parse
2172 (sbcl-package->ecl-package sbcl-proc-parse))
2173
2174(define-public sbcl-parse-float
2175 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2176 (package
2177 (name "sbcl-parse-float")
2178 (version (git-version "0.0.0" "1" commit))
2179 (source
2180 (origin
2181 (method git-fetch)
2182 (uri (git-reference
2183 (url "https://github.com/soemraws/parse-float")
2184 (commit commit)))
2185 (sha256
2186 (base32
2187 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2188 (file-name (git-file-name "proc-parse" version))))
2189 (build-system asdf-build-system/sbcl)
2190 (inputs
2191 `(("alexandria" ,sbcl-alexandria)
2192 ("babel" ,sbcl-babel)))
2193 (native-inputs
2194 `(("prove" ,sbcl-prove)
2195 ("prove-asdf" ,sbcl-prove-asdf)))
2196 (arguments
2197 ;; TODO: Tests don't find "proc-parse-test", why?
2198 `(#:tests? #f))
2199 (synopsis "Parse a floating point value from a string in Common Lisp")
2200 (description
2201 "This package exports the following function to parse floating-point
2202values from a string in Common Lisp.")
2203 (home-page "https://github.com/soemraws/parse-float")
2204 (license license:public-domain))))
2205
2206(define-public cl-parse-float
2207 (sbcl-package->cl-source-package sbcl-parse-float))
2208
2209(define-public ecl-parse-float
2210 (sbcl-package->ecl-package sbcl-parse-float))
2211
2212(define-public sbcl-ascii-strings
2213 (let ((revision "1")
2214 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2215 (package
2216 (name "sbcl-ascii-strings")
2217 (version (string-append "0-" revision "." (string-take changeset 7)))
2218 (source
2219 (origin
2220 (method hg-fetch)
2221 (uri (hg-reference
2222 (url "https://bitbucket.org/vityok/cl-string-match/")
2223 (changeset changeset)))
2224 (sha256
2225 (base32
2226 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2227 (file-name (git-file-name "cl-string-match" version))))
2228 (build-system asdf-build-system/sbcl)
2229 (inputs
2230 `(("alexandria" ,sbcl-alexandria)
2231 ("babel" ,sbcl-babel)))
2232 (arguments
2233 `(#:asd-file "ascii-strings.asd"))
2234 (synopsis "Operations on ASCII strings")
2235 (description
2236 "Operations on ASCII strings. Essentially this can be any kind of
2237single-byte encoded strings.")
2238 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2239 (license license:bsd-3))))
2240
2241(define-public cl-ascii-strings
2242 (sbcl-package->cl-source-package sbcl-ascii-strings))
2243
2244(define-public ecl-ascii-strings
2245 (sbcl-package->ecl-package sbcl-ascii-strings))
2246
2247(define-public sbcl-simple-scanf
2248 (package
2249 (inherit sbcl-ascii-strings)
2250 (name "sbcl-simple-scanf")
2251 (inputs
2252 `(("alexandria" ,sbcl-alexandria)
2253 ("iterate" ,sbcl-iterate)
2254 ("proc-parse" ,sbcl-proc-parse)
2255 ("parse-float" ,sbcl-parse-float)))
2256 (arguments
2257 `(#:asd-file "simple-scanf.asd"))
2258 (synopsis "Simple scanf-like functionality implementation")
2259 (description
2260 "A simple scanf-like functionality implementation.")))
2261
2262(define-public cl-simple-scanf
2263 (sbcl-package->cl-source-package sbcl-simple-scanf))
2264
2265(define-public ecl-simple-scanf
2266 (sbcl-package->ecl-package sbcl-simple-scanf))
2267
2268(define-public sbcl-cl-string-match
2269 (package
2270 (inherit sbcl-ascii-strings)
2271 (name "sbcl-cl-string-match")
2272 (inputs
2273 `(("alexandria" ,sbcl-alexandria)
2274 ("ascii-strings" ,sbcl-ascii-strings)
2275 ("yacc" ,sbcl-cl-yacc)
2276 ("jpl-util" ,sbcl-jpl-util)
2277 ("jpl-queues" ,sbcl-jpl-queues)
2278 ("mgl-pax" ,sbcl-mgl-pax)
2279 ("iterate" ,sbcl-iterate)))
2280 ;; TODO: Tests are not evaluated properly.
2281 (native-inputs
2282 ;; For testing:
2283 `(("lisp-unit" ,sbcl-lisp-unit)
2284 ("simple-scanf" ,sbcl-simple-scanf)))
2285 (arguments
2286 `(#:tests? #f
2287 #:asd-file "cl-string-match.asd"))
2288 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2289 (description
2290 "@command{cl-strings} is a small, portable, dependency-free set of
2291utilities that make it even easier to manipulate text in Common Lisp. It has
2292100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2293
2294(define-public cl-string-match
2295 (sbcl-package->cl-source-package sbcl-cl-string-match))
2296
2297(define-public ecl-cl-string-match
2298 (sbcl-package->ecl-package sbcl-cl-string-match))
2299
2300(define-public sbcl-ptester
2301 (package
2302 (name "sbcl-ptester")
2303 (version "20160929")
2304 (source
2305 (origin
2306 (method url-fetch)
2307 (uri (string-append "http://beta.quicklisp.org/archive/ptester/"
2308 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
2309 "/ptester-"
2310 version
2311 "-git.tgz"))
2312 (sha256
2313 (base32
2314 "04rlq1zljhxc65pm31bah3sq3as24l0sdivz440s79qlnnyh13hz"))))
2315 (build-system asdf-build-system/sbcl)
2316 (home-page "http://quickdocs.org/ptester/")
2317 (synopsis "Portable test harness package")
2318 (description
2319 "@command{ptester} is a portable testing framework based on Franz's
2320tester module.")
2321 (license license:lgpl3+)))
2322
2323(define-public cl-ptester
2324 (sbcl-package->cl-source-package sbcl-ptester))
2325
2326(define-public ecl-ptester
2327 (sbcl-package->ecl-package sbcl-ptester))
2328
2329(define-public sbcl-puri
2330 (package
2331 (name "sbcl-puri")
2332 (version "20180228")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append "http://beta.quicklisp.org/archive/puri/"
2337 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
2338 "/puri-"
2339 version
2340 "-git.tgz"))
2341 (sha256
2342 (base32
2343 "1s4r5adrjy5asry45xbcbklxhdjydvf6n55z897nvyw33bigrnbz"))))
2344 (build-system asdf-build-system/sbcl)
2345 ;; REVIEW: Webiste down?
2346 (native-inputs
2347 `(("ptester" ,sbcl-ptester)))
2348 (home-page "http://files.kpe.io/puri/")
2349 (synopsis "Portable URI Library")
2350 (description
2351 "This is portable Universal Resource Identifier library for Common Lisp
2352programs. It parses URI according to the RFC 2396 specification")
2353 (license license:lgpl3+)))
2354
2355(define-public cl-puri
2356 (sbcl-package->cl-source-package sbcl-puri))
2357
2358(define-public ecl-puri
2359 (sbcl-package->ecl-package sbcl-puri))
2360
2361(define-public sbcl-queues
2362 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2363 (package
2364 (name "sbcl-queues")
2365 (version (git-version "0.0.0" "1" commit))
2366 (source
2367 (origin
2368 (method git-fetch)
2369 (uri (git-reference
2370 (url "https://github.com/oconnore/queues")
2371 (commit commit)))
2372 (file-name (git-file-name "queues" version))
2373 (sha256
2374 (base32
2375 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2376 (build-system asdf-build-system/sbcl)
2377 (home-page "https://github.com/oconnore/queues")
2378 (synopsis "Common Lisp queue library")
2379 (description
2380 "This is a simple queue library for Common Lisp with features such as
2381non-consing thread safe queues and fibonacci priority queues.")
2382 (license license:expat))))
2383
2384(define-public cl-queues
2385 (sbcl-package->cl-source-package sbcl-queues))
2386
2387(define-public ecl-queues
2388 (sbcl-package->ecl-package sbcl-queues))
2389
2390(define-public sbcl-queues.simple-queue
2391 (package
2392 (inherit sbcl-queues)
2393 (name "sbcl-queues.simple-queue")
2394 (inputs
2395 `(("sbcl-queues" ,sbcl-queues)))
2396 (arguments
2397 `(#:asd-file "queues.simple-queue.asd"))
2398 (synopsis "Simple queue implementation")
2399 (description
2400 "This is a simple queue library for Common Lisp with features such as
2401non-consing thread safe queues and fibonacci priority queues.")
2402 (license license:expat)))
2403
2404(define-public cl-queues.simple-queue
2405 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2406
2407(define-public ecl-queues.simple-queue
2408 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2409
2410(define-public sbcl-queues.simple-cqueue
2411 (package
2412 (inherit sbcl-queues)
2413 (name "sbcl-queues.simple-cqueue")
2414 (inputs
2415 `(("sbcl-queues" ,sbcl-queues)
2416 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2417 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2418 (arguments
2419 `(#:asd-file "queues.simple-cqueue.asd"))
2420 (synopsis "Thread safe queue implementation")
2421 (description
2422 "This is a simple queue library for Common Lisp with features such as
2423non-consing thread safe queues and fibonacci priority queues.")
2424 (license license:expat)))
2425
2426(define-public cl-queues.simple-cqueue
2427 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2428
2429(define-public ecl-queues.simple-cqueue
2430 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2431
2432(define-public sbcl-queues.priority-queue
2433 (package
2434 (inherit sbcl-queues)
2435 (name "sbcl-queues.priority-queue")
2436 (inputs
2437 `(("sbcl-queues" ,sbcl-queues)))
2438 (arguments
2439 `(#:asd-file "queues.priority-queue.asd"))
2440 (synopsis "Priority queue (Fibonacci) implementation")
2441 (description
2442 "This is a simple queue library for Common Lisp with features such as
2443non-consing thread safe queues and fibonacci priority queues.")
2444 (license license:expat)))
2445
2446(define-public cl-queues.priority-queue
2447 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2448
2449(define-public ecl-queues.priority-queue
2450 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2451
2452(define-public sbcl-queues.priority-cqueue
2453 (package
2454 (inherit sbcl-queues)
2455 (name "sbcl-queues.priority-cqueue")
2456 (inputs
2457 `(("sbcl-queues" ,sbcl-queues)
2458 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2459 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2460 (arguments
2461 `(#:asd-file "queues.priority-cqueue.asd"))
2462 (synopsis "Thread safe fibonacci priority queue implementation")
2463 (description
2464 "This is a simple queue library for Common Lisp with features such as
2465non-consing thread safe queues and fibonacci priority queues.")
2466 (license license:expat)))
2467
2468(define-public cl-queues.priority-cqueue
2469 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2470
2471(define-public ecl-queues.priority-cqueue
2472 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2473
2474(define sbcl-cffi-bootstrap
2475 (package
2476 (name "sbcl-cffi-bootstrap")
237d58c3 2477 (version "0.21.0")
88f06fd0
PN
2478 (source
2479 (origin
2480 (method git-fetch)
2481 (uri (git-reference
2482 (url "https://github.com/cffi/cffi.git")
2483 (commit (string-append "v" version))))
2484 (file-name (git-file-name "cffi-bootstrap" version))
2485 (sha256
237d58c3 2486 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
88f06fd0
PN
2487 (build-system asdf-build-system/sbcl)
2488 (inputs
2489 `(("libffi" ,libffi)
2490 ("alexandria" ,sbcl-alexandria)
2491 ("babel" ,sbcl-babel)
2492 ("trivial-features" ,sbcl-trivial-features)))
2493 (native-inputs
2494 `(("pkg-config" ,pkg-config)))
2495 (arguments
2496 '(#:phases
2497 (modify-phases %standard-phases
2498 (add-after 'unpack 'fix-paths
2499 (lambda* (#:key inputs #:allow-other-keys)
2500 (substitute* "libffi/libffi.lisp"
2501 (("libffi.so.6" all) (string-append
2502 (assoc-ref inputs "libffi")
2503 "/lib/" all)))
2504 (substitute* "toolchain/c-toolchain.lisp"
2505 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2506 #:asd-system-name "cffi"
2507 #:tests? #f))
2508 (home-page "https://common-lisp.net/project/cffi/")
2509 (synopsis "Common Foreign Function Interface for Common Lisp")
2510 (description "The Common Foreign Function Interface (CFFI)
2511purports to be a portable foreign function interface for Common Lisp.
2512The CFFI library is composed of a Lisp-implementation-specific backend
2513in the CFFI-SYS package, and a portable frontend in the CFFI
2514package.")
2515 (license license:expat)))
2516
2517(define-public sbcl-cffi-toolchain
2518 (package
2519 (inherit sbcl-cffi-bootstrap)
2520 (name "sbcl-cffi-toolchain")
2521 (inputs
2522 `(("libffi" ,libffi)
2523 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2524 (arguments
2525 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2526 ((#:asd-system-name _) #f)
2527 ((#:tests? _) #t)))))
2528
2529(define-public sbcl-cffi-libffi
2530 (package
2531 (inherit sbcl-cffi-toolchain)
2532 (name "sbcl-cffi-libffi")
2533 (inputs
2534 `(("cffi" ,sbcl-cffi-bootstrap)
2535 ("cffi-grovel" ,sbcl-cffi-grovel)
2536 ("trivial-features" ,sbcl-trivial-features)
2537 ("libffi" ,libffi)))))
2538
2539(define-public sbcl-cffi-grovel
2540 (package
2541 (inherit sbcl-cffi-toolchain)
2542 (name "sbcl-cffi-grovel")
2543 (inputs
2544 `(("libffi" ,libffi)
2545 ("cffi" ,sbcl-cffi-bootstrap)
2546 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2547 ("alexandria" ,sbcl-alexandria)))
2548 (arguments
2549 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2550 ((#:phases phases)
2551 `(modify-phases ,phases
2552 (add-after 'build 'install-headers
2553 (lambda* (#:key outputs #:allow-other-keys)
2554 (install-file "grovel/common.h"
2555 (string-append
2556 (assoc-ref outputs "out")
2557 "/include/grovel"))))))))))
2558
2559(define-public sbcl-cffi
2560 (package
2561 (inherit sbcl-cffi-toolchain)
2562 (name "sbcl-cffi")
2563 (inputs (package-inputs sbcl-cffi-bootstrap))
2564 (native-inputs
2565 `(("cffi-grovel" ,sbcl-cffi-grovel)
2566 ("cffi-libffi" ,sbcl-cffi-libffi)
2567 ("rt" ,sbcl-rt)
2568 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2569 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2570
2571(define-public cl-cffi
2572 (sbcl-package->cl-source-package sbcl-cffi))
2573
2574(define-public sbcl-cl-sqlite
2575 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2576 (package
2577 (name "sbcl-cl-sqlite")
2578 (version (git-version "0.2" "1" commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/dmitryvk/cl-sqlite")
2584 (commit commit)))
2585 (file-name (git-file-name "cl-sqlite" version))
2586 (sha256
2587 (base32
2588 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2589 (build-system asdf-build-system/sbcl)
2590 (inputs
2591 `(("iterate" ,sbcl-iterate)
2592 ("cffi" ,sbcl-cffi)
2593 ("sqlite" ,sqlite)))
2594 (native-inputs
2595 `(("fiveam" ,sbcl-fiveam)
2596 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2597 (arguments
2598 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2599 #:asd-file "sqlite.asd"
2600 #:asd-system-name "sqlite"
2601 #:phases
2602 (modify-phases %standard-phases
2603 (add-after 'unpack 'fix-paths
2604 (lambda* (#:key inputs #:allow-other-keys)
2605 (substitute* "sqlite-ffi.lisp"
2606 (("libsqlite3" all) (string-append
2607 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2608 (home-page "https://common-lisp.net/project/cl-sqlite/")
2609 (synopsis "Common Lisp binding for SQLite")
2610 (description
2611 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2612relational database engine.")
2613 (license license:public-domain))))
2614
2615(define-public cl-sqlite
2616 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2617
2618(define-public sbcl-parenscript
2619 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2620 (package
2621 (name "sbcl-parenscript")
2622 (version (git-version "2.6" "1" commit))
2623 (source
2624 (origin
2625 (method git-fetch)
2626 (uri (git-reference
2627 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2628 (commit commit)))
2629 (file-name (git-file-name "parenscript" version))
2630 (sha256
2631 (base32
2632 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2633 (build-system asdf-build-system/sbcl)
2634 (inputs
2635 `(("cl-ppcre" ,sbcl-cl-ppcre)
2636 ("anaphora" ,sbcl-anaphora)
2637 ("named-readtables" ,sbcl-named-readtables)))
2638 (home-page "https://common-lisp.net/project/parenscript/")
2639 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2640 (description
2641 "Parenscript is a translator from an extended subset of Common Lisp to
2642JavaScript. Parenscript code can run almost identically on both the
2643browser (as JavaScript) and server (as Common Lisp).
2644
2645Parenscript code is treated the same way as Common Lisp code, making the full
2646power of Lisp macros available for JavaScript. This provides a web
2647development environment that is unmatched in its ability to reduce code
2648duplication and provide advanced meta-programming facilities to web
2649developers.
2650
2651At the same time, Parenscript is different from almost all other \"language
2652X\" to JavaScript translators in that it imposes almost no overhead:
2653
2654@itemize
2655@item No run-time dependencies: Any piece of Parenscript code is runnable
2656as-is. There are no JavaScript files to include.
2657@item Native types: Parenscript works entirely with native JavaScript data
2658types. There are no new types introduced, and object prototypes are not
2659touched.
2660@item Native calling convention: Any JavaScript code can be called without the
2661need for bindings. Likewise, Parenscript can be used to make efficient,
2662self-contained JavaScript libraries.
2663@item Readable code: Parenscript generates concise, formatted, idiomatic
2664JavaScript code. Identifier names are preserved. This enables seamless
2665debugging in tools like Firebug.
2666@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2667Lisp features. The generated code is almost as fast as hand-written
2668JavaScript.
2669@end itemize\n")
2670 (license license:bsd-3))))
2671
2672(define-public cl-parenscript
2673 (sbcl-package->cl-source-package sbcl-parenscript))
2674
2675(define-public ecl-parenscript
2676 (sbcl-package->ecl-package sbcl-parenscript))
2677
2678(define-public sbcl-cl-json
2679 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2680 (package
2681 (name "sbcl-cl-json")
2682 (version (git-version "0.5" "1" commit))
2683 (source
2684 (origin
2685 (method git-fetch)
2686 (uri (git-reference
2687 (url "https://github.com/hankhero/cl-json")
2688 (commit commit)))
2689 (file-name (git-file-name "cl-json" version))
2690 (sha256
2691 (base32
2692 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2693 (build-system asdf-build-system/sbcl)
2694 (native-inputs
2695 `(("fiveam" ,sbcl-fiveam)))
2696 (home-page "https://github.com/hankhero/cl-json")
2697 (synopsis "JSON encoder and decoder for Common-Lisp")
2698 (description
2699 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2700and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2701and the decoder are highly customizable; at the same time, the default
2702settings ensure a very simple mode of operation, similar to that provided by
2703@command{yason} or @command{st-json}.")
2704 (license license:expat))))
2705
2706(define-public cl-json
2707 (sbcl-package->cl-source-package sbcl-cl-json))
2708
2709(define-public ecl-cl-json
2710 (sbcl-package->ecl-package sbcl-cl-json))
2711
2712(define-public sbcl-unix-opts
2713 (package
2714 (name "sbcl-unix-opts")
2715 (version "0.1.7")
2716 (source
2717 (origin
2718 (method git-fetch)
2719 (uri (git-reference
2720 (url "https://github.com/libre-man/unix-opts")
2721 (commit version)))
2722 (file-name (git-file-name "unix-opts" version))
2723 (sha256
2724 (base32
2725 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2726 (build-system asdf-build-system/sbcl)
2727 (home-page "https://github.com/hankhero/cl-json")
2728 (synopsis "Unix-style command line options parser")
2729 (description
2730 "This is a minimalistic parser of command line options. The main
2731advantage of the library is the ability to concisely define command line
2732options once and then use this definition for parsing and extraction of
2733command line arguments, as well as printing description of command line
2734options (you get --help for free). This way you don't need to repeat
2735yourself. Also, @command{unix-opts} doesn't depend on anything and allows to
2736precisely control behavior of the parser via Common Lisp restarts.")
2737 (license license:expat)))
2738
2739(define-public cl-unix-opts
2740 (sbcl-package->cl-source-package sbcl-unix-opts))
2741
2742(define-public ecl-unix-opts
2743 (sbcl-package->ecl-package sbcl-unix-opts))
2744
2745(define-public sbcl-trivial-garbage
2746 (package
2747 (name "sbcl-trivial-garbage")
2748 (version "0.21")
2749 (source
2750 (origin
2751 (method git-fetch)
2752 (uri (git-reference
2753 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2754 (commit (string-append "v" version))))
2755 (file-name (git-file-name "trivial-garbage" version))
2756 (sha256
2757 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2758 (build-system asdf-build-system/sbcl)
2759 (native-inputs
2760 `(("rt" ,sbcl-rt)))
2761 (home-page "https://common-lisp.net/project/trivial-garbage/")
2762 (synopsis "Portable GC-related APIs for Common Lisp")
2763 (description "@command{trivial-garbage} provides a portable API to
2764finalizers, weak hash-tables and weak pointers on all major implementations of
2765the Common Lisp programming language.")
2766 (license license:public-domain)))
2767
2768(define-public cl-trivial-garbage
2769 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2770
2771(define-public ecl-trivial-garbage
2772 (sbcl-package->ecl-package sbcl-trivial-garbage))
2773
2774(define-public sbcl-closer-mop
2775 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2776 (package
2777 (name "sbcl-closer-mop")
2778 (version (git-version "1.0.0" "1" commit))
2779 (source
2780 (origin
2781 (method git-fetch)
2782 (uri (git-reference
2783 (url "https://github.com/pcostanza/closer-mop")
2784 (commit commit)))
2785 (sha256
2786 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2787 (file-name (git-file-name "closer-mop" version ))))
2788 (build-system asdf-build-system/sbcl)
2789 (home-page "https://github.com/pcostanza/closer-mop")
2790 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2791 (description "Closer to MOP is a compatibility layer that rectifies many
2792of the absent or incorrect CLOS MOP features across a broad range of Common
2793Lisp implementations.")
2794 (license license:expat))))
2795
2796(define-public cl-closer-mop
2797 (sbcl-package->cl-source-package sbcl-closer-mop))
2798
2799(define-public ecl-closer-mop
2800 (sbcl-package->ecl-package sbcl-closer-mop))
2801
2802(define sbcl-cl-cffi-gtk-boot0
2803 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2804 (package
2805 (name "sbcl-cl-cffi-gtk-boot0")
2806 (version (git-version "0.11.2" "1" commit))
2807 (source
2808 (origin
2809 (method git-fetch)
2810 (uri (git-reference
2811 (url "https://github.com/Ferada/cl-cffi-gtk/")
2812 (commit commit)))
2813 (file-name (git-file-name "cl-cffi-gtk" version))
2814 (sha256
2815 (base32
2816 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2817 (build-system asdf-build-system/sbcl)
2818 (inputs
2819 `(("iterate" ,sbcl-iterate)
2820 ("cffi" ,sbcl-cffi)
2821 ("trivial-features" ,sbcl-trivial-features)))
2822 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2823 (synopsis "Common Lisp binding for GTK+3")
2824 (description
2825 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2826is a library for creating graphical user interfaces.")
2827 (license license:lgpl3))))
2828
2829(define-public sbcl-cl-cffi-gtk-glib
2830 (package
2831 (inherit sbcl-cl-cffi-gtk-boot0)
2832 (name "sbcl-cl-cffi-gtk-glib")
2833 (inputs
2834 `(("glib" ,glib)
2835 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2836 (arguments
2837 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2838 #:phases
2839 (modify-phases %standard-phases
2840 (add-after 'unpack 'fix-paths
2841 (lambda* (#:key inputs #:allow-other-keys)
2842 (substitute* "glib/glib.init.lisp"
2843 (("libglib|libgthread" all) (string-append
2844 (assoc-ref inputs "glib") "/lib/" all))))))))))
2845
2846(define-public sbcl-cl-cffi-gtk-gobject
2847 (package
2848 (inherit sbcl-cl-cffi-gtk-boot0)
2849 (name "sbcl-cl-cffi-gtk-gobject")
2850 (inputs
2851 `(("glib" ,glib)
2852 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2853 ("trivial-garbage" ,sbcl-trivial-garbage)
2854 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2855 ("closer-mop" ,sbcl-closer-mop)
2856 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2857 (arguments
2858 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2859 #:phases
2860 (modify-phases %standard-phases
2861 (add-after 'unpack 'fix-paths
2862 (lambda* (#:key inputs #:allow-other-keys)
2863 (substitute* "gobject/gobject.init.lisp"
2864 (("libgobject" all) (string-append
2865 (assoc-ref inputs "glib") "/lib/" all))))))))))
2866
2867(define-public sbcl-cl-cffi-gtk-gio
2868 (package
2869 (inherit sbcl-cl-cffi-gtk-boot0)
2870 (name "sbcl-cl-cffi-gtk-gio")
2871 (inputs
2872 `(("glib" ,glib)
2873 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2874 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2875 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2876 (arguments
2877 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2878 #:phases
2879 (modify-phases %standard-phases
2880 (add-after 'unpack 'fix-paths
2881 (lambda* (#:key inputs #:allow-other-keys)
2882 (substitute* "gio/gio.init.lisp"
2883 (("libgio" all)
2884 (string-append
2885 (assoc-ref inputs "glib") "/lib/" all))))))))))
2886
2887(define-public sbcl-cl-cffi-gtk-cairo
2888 (package
2889 (inherit sbcl-cl-cffi-gtk-boot0)
2890 (name "sbcl-cl-cffi-gtk-cairo")
2891 (inputs
2892 `(("cairo" ,cairo)
2893 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2894 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2895 (arguments
2896 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2897 #:phases
2898 (modify-phases %standard-phases
2899 (add-after 'unpack 'fix-paths
2900 (lambda* (#:key inputs #:allow-other-keys)
2901 (substitute* "cairo/cairo.init.lisp"
2902 (("libcairo" all)
2903 (string-append
2904 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2905
2906(define-public sbcl-cl-cffi-gtk-pango
2907 (package
2908 (inherit sbcl-cl-cffi-gtk-boot0)
2909 (name "sbcl-cl-cffi-gtk-pango")
2910 (inputs
2911 `(("pango" ,pango)
2912 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2913 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2914 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2915 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2916 (arguments
2917 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2918 #:phases
2919 (modify-phases %standard-phases
2920 (add-after 'unpack 'fix-paths
2921 (lambda* (#:key inputs #:allow-other-keys)
2922 (substitute* "pango/pango.init.lisp"
2923 (("libpango" all)
2924 (string-append
2925 (assoc-ref inputs "pango") "/lib/" all))))))))))
2926
2927(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2928 (package
2929 (inherit sbcl-cl-cffi-gtk-boot0)
2930 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2931 (inputs
2932 `(("gdk-pixbuf" ,gdk-pixbuf)
2933 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2934 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2935 (arguments
2936 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2937 #:phases
2938 (modify-phases %standard-phases
2939 (add-after 'unpack 'fix-paths
2940 (lambda* (#:key inputs #:allow-other-keys)
2941 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2942 (("libgdk_pixbuf" all)
2943 (string-append
2944 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2945
2946(define-public sbcl-cl-cffi-gtk-gdk
2947 (package
2948 (inherit sbcl-cl-cffi-gtk-boot0)
2949 (name "sbcl-cl-cffi-gtk-gdk")
2950 (inputs
2951 `(("gtk" ,gtk+)
2952 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2953 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2954 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
2955 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2956 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
2957 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2958 (arguments
2959 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
2960 #:phases
2961 (modify-phases %standard-phases
2962 (add-after 'unpack 'fix-paths
2963 (lambda* (#:key inputs #:allow-other-keys)
2964 (substitute* "gdk/gdk.init.lisp"
2965 (("libgdk" all)
2966 (string-append
2967 (assoc-ref inputs "gtk") "/lib/" all)))
2968 (substitute* "gdk/gdk.package.lisp"
2969 (("libgtk" all)
2970 (string-append
2971 (assoc-ref inputs "gtk") "/lib/" all))))))))))
2972
2973(define-public sbcl-cl-cffi-gtk
2974 (package
2975 (inherit sbcl-cl-cffi-gtk-boot0)
2976 (name "sbcl-cl-cffi-gtk")
2977 (inputs
2978 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2979 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2980 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2981 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
2982 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2983 (native-inputs
2984 `(("fiveam" ,sbcl-fiveam)))
2985 (arguments
2986 `(#:asd-file "gtk/cl-cffi-gtk.asd"
2987 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2988 ;; TODO: Tests fail with memory fault.
2989 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2990 #:tests? #f))))
2991
2992(define-public cl-cffi-gtk
2993 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2994
2995(define-public sbcl-cl-webkit
2996 (let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31"))
2997 (package
2998 (name "sbcl-cl-webkit")
2999 (version (git-version "2.4" "1" commit))
3000 (source
3001 (origin
3002 (method git-fetch)
3003 (uri (git-reference
3004 (url "https://github.com/jmercouris/cl-webkit")
3005 (commit commit)))
3006 (file-name (git-file-name "cl-webkit" version))
3007 (sha256
3008 (base32
3009 "0f5lyn9i7xrn3g1bddga377mcbawkbxydijpg389q4n04gqj0vwf"))))
3010 (build-system asdf-build-system/sbcl)
3011 (inputs
3012 `(("cffi" ,sbcl-cffi)
3013 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3014 ("webkitgtk" ,webkitgtk)))
3015 (arguments
3016 `(#:asd-file "webkit2/cl-webkit2.asd"
3017 #:asd-system-name "cl-webkit2"
3018 #:phases
3019 (modify-phases %standard-phases
3020 (add-after 'unpack 'fix-paths
3021 (lambda* (#:key inputs #:allow-other-keys)
3022 (substitute* "webkit2/webkit2.init.lisp"
3023 (("libwebkit2gtk" all)
3024 (string-append
3025 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3026 (home-page "https://github.com/jmercouris/cl-webkit")
3027 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3028 (description
3029 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3030currently targeting WebKit version 2. The WebKitGTK+ library adds web
3031browsing capabilities to an application, leveraging the full power of the
3032WebKit browsing engine.")
3033 (license license:expat))))
3034
3035(define-public cl-webkit
3036 (sbcl-package->cl-source-package sbcl-cl-webkit))
3037
3038(define-public sbcl-lparallel
3039 (package
3040 (name "sbcl-lparallel")
3041 (version "2.8.4")
3042 (source
3043 (origin
3044 (method git-fetch)
3045 (uri (git-reference
3046 (url "https://github.com/lmj/lparallel/")
3047 (commit (string-append "lparallel-" version))))
3048 (file-name (git-file-name "lparallel" version))
3049 (sha256
3050 (base32
3051 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3052 (build-system asdf-build-system/sbcl)
3053 (inputs
3054 `(("alexandria" ,sbcl-alexandria)
3055 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3056 ("trivial-garbage" ,sbcl-trivial-garbage)))
3057 (home-page "https://lparallel.org/")
3058 (synopsis "Parallelism for Common Lisp")
3059 (description
3060 "@command{lparallel} is a library for parallel programming in Common
3061Lisp, featuring:
3062
3063@itemize
3064@item a simple model of task submission with receiving queue,
3065@item constructs for expressing fine-grained parallelism,
3066@item asynchronous condition handling across thread boundaries,
3067@item parallel versions of map, reduce, sort, remove, and many others,
3068@item promises, futures, and delayed evaluation constructs,
3069@item computation trees for parallelizing interconnected tasks,
3070@item bounded and unbounded FIFO queues,
3071@item high and low priority tasks,
3072@item task killing by category,
3073@item integrated timeouts.
3074@end itemize\n")
3075 (license license:expat)))
3076
3077(define-public cl-lparallel
3078 (sbcl-package->cl-source-package sbcl-lparallel))
3079
3080(define-public ecl-lparallel
3081 (sbcl-package->ecl-package sbcl-lparallel))
3082
3083(define-public sbcl-cl-markup
3084 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3085 (package
3086 (name "sbcl-cl-markup")
3087 (version (git-version "0.1" "1" commit))
3088 (source
3089 (origin
3090 (method git-fetch)
3091 (uri (git-reference
3092 (url "https://github.com/arielnetworks/cl-markup/")
3093 (commit commit)))
3094 (file-name (git-file-name "cl-markup" version))
3095 (sha256
3096 (base32
3097 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3098 (build-system asdf-build-system/sbcl)
3099 (home-page "https://github.com/arielnetworks/cl-markup/")
3100 (synopsis "Markup generation library for Common Lisp")
3101 (description
3102 "A modern markup generation library for Common Lisp that features:
3103
3104@itemize
3105@item Fast (even faster through compiling the code)
3106@item Safety
3107@item Support for multiple document types (markup, xml, html, html5, xhtml)
3108@item Output with doctype
3109@item Direct output to stream
3110@end itemize\n")
3111 (license license:lgpl3+))))
3112
3113(define-public cl-markup
3114 (sbcl-package->cl-source-package sbcl-cl-markup))
3115
3116(define-public ecl-cl-markup
3117 (sbcl-package->ecl-package sbcl-cl-markup))
3118
3119(define-public sbcl-cl-css
3120 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3121 (package
3122 (name "sbcl-cl-css")
3123 (version (git-version "0.1" "1" commit))
3124 (source
3125 (origin
3126 (method git-fetch)
3127 (uri (git-reference
3128 (url "https://github.com/inaimathi/cl-css/")
3129 (commit commit)))
3130 (file-name (git-file-name "cl-css" version))
3131 (sha256
3132 (base32
3133 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3134 (build-system asdf-build-system/sbcl)
3135 (home-page "https://github.com/inaimathi/cl-css/")
3136 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3137 (description
3138 "This is a dead-simple, non validating, inline CSS generator for Common
3139Lisp. Its goals are axiomatic syntax, simple implementation to support
3140portability, and boilerplate reduction in CSS.")
3141 (license license:expat))))
3142
3143(define-public cl-css
3144 (sbcl-package->cl-source-package sbcl-cl-css))
3145
3146(define-public ecl-cl-css
3147 (sbcl-package->ecl-package sbcl-cl-css))
3148
3149(define-public sbcl-portable-threads
3150 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3151 (package
3152 (name "sbcl-portable-threads")
3153 (version (git-version "2.3" "1" commit))
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
3158 (url "https://github.com/binghe/portable-threads/")
3159 (commit commit)))
3160 (file-name (git-file-name "portable-threads" version))
3161 (sha256
3162 (base32
3163 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3164 (build-system asdf-build-system/sbcl)
3165 (arguments
3166 `(;; Tests seem broken.
3167 #:tests? #f))
3168 (home-page "https://github.com/binghe/portable-threads")
3169 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3170 (description
3171 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3172Lisp (from GBBopen project).")
3173 (license license:asl2.0))))
3174
3175(define-public cl-portable-threads
3176 (sbcl-package->cl-source-package sbcl-portable-threads))
3177
3178(define-public ecl-portable-threada
3179 (sbcl-package->ecl-package sbcl-portable-threads))
3180
b23e6f5d 3181(define sbcl-usocket-boot0
88f06fd0
PN
3182 ;; usocket's test rely on usocket-server which depends on usocket itself.
3183 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3184 (package
3185 (name "sbcl-usocket-boot0")
3186 (version "0.8.3")
3187 (source
3188 (origin
3189 (method git-fetch)
3190 (uri (git-reference
3191 (url "https://github.com/usocket/usocket/")
3192 (commit (string-append "v" version))))
3193 (file-name (git-file-name "usocket" version))
3194 (sha256
3195 (base32
3196 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3197 (build-system asdf-build-system/sbcl)
3198 (inputs
3199 `(("split-sequence" ,sbcl-split-sequence)))
3200 (arguments
3201 `(#:tests? #f
3202 #:asd-system-name "usocket"))
3203 (home-page "https://common-lisp.net/project/usocket/")
3204 (synopsis "Universal socket library for Common Lisp (server side)")
3205 (description
3206 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3207interface for as many Common Lisp implementations as possible, while keeping
3208the abstraction and portability layer as thin as possible.")
b23e6f5d 3209 (license license:expat)))
88f06fd0
PN
3210
3211(define-public sbcl-usocket-server
3212 (package
3213 (inherit sbcl-usocket-boot0)
3214 (name "sbcl-usocket-server")
3215 (inputs
b23e6f5d
GLV
3216 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3217 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3218 (arguments
3219 '(#:asd-system-name "usocket-server"))
3220 (synopsis "Universal socket library for Common Lisp (server side)")))
3221
3222(define-public cl-usocket-server
3223 (sbcl-package->cl-source-package sbcl-usocket-server))
3224
3225(define-public ecl-socket-server
3226 (sbcl-package->ecl-package sbcl-usocket-server))
3227
3228(define-public sbcl-usocket
3229 (package
3230 (inherit sbcl-usocket-boot0)
3231 (name "sbcl-usocket")
3232 (arguments
3233 ;; FIXME: Tests need network access?
3234 `(#:tests? #f))
3235 (native-inputs
3236 ;; Testing only.
3237 `(("usocket-server" ,sbcl-usocket-server)
3238 ("rt" ,sbcl-rt)))))
3239
3240(define-public cl-usocket
3241 (sbcl-package->cl-source-package sbcl-usocket))
3242
b23e6f5d 3243(define-public ecl-usocket
88f06fd0
PN
3244 (sbcl-package->ecl-package sbcl-usocket))
3245
3246(define-public sbcl-s-xml
3247 (package
3248 (name "sbcl-s-xml")
3249 (version "3")
3250 (source
3251 (origin
3252 (method url-fetch)
3253 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3254 (sha256
3255 (base32
3256 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3257 (build-system asdf-build-system/sbcl)
3258 (home-page "https://common-lisp.net/project/s-xml/")
3259 (synopsis "Simple XML parser implemented in Common Lisp")
3260 (description
3261 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3262parser implementation has the following features:
3263
3264@itemize
3265@item It works (handling many common XML usages).
3266@item It is very small (the core is about 700 lines of code, including
3267comments and whitespace).
3268@item It has a core API that is simple, efficient and pure functional, much
3269like that from SSAX (see also http://ssax.sourceforge.net).
3270@item It supports different DOM models: an XSML-based one, an LXML-based one
3271and a classic xml-element struct based one.
3272@item It is reasonably time and space efficient (internally avoiding garbage
3273generatation as much as possible).
3274@item It does support CDATA.
3275@item It should support the same character sets as your Common Lisp
3276implementation.
3277@item It does support XML name spaces.
3278@end itemize
3279
3280This XML parser implementation has the following limitations:
3281
3282@itemize
3283@item It does not support any special tags (like processing instructions).
3284@item It is not validating, even skips DTD's all together.
3285@end itemize\n")
3286 (license license:lgpl3+)))
3287
3288(define-public cl-s-xml
3289 (sbcl-package->cl-source-package sbcl-s-xml))
3290
3291(define-public ecl-s-xml
3292 (sbcl-package->ecl-package sbcl-s-xml))
3293
3294(define-public sbcl-s-xml-rpc
3295 (package
3296 (name "sbcl-s-xml-rpc")
3297 (version "7")
3298 (source
3299 (origin
3300 (method url-fetch)
3301 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3302 (sha256
3303 (base32
3304 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3305 (build-system asdf-build-system/sbcl)
3306 (inputs
3307 `(("s-xml" ,sbcl-s-xml)))
3308 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3309 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3310 (description
3311 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3312client and server.")
3313 (license license:lgpl3+)))
3314
3315(define-public cl-s-xml-rpc
3316 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3317
3318(define-public ecl-s-xml-rpc
3319 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3320
3321(define-public sbcl-trivial-clipboard
3322 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3323 (package
3324 (name "sbcl-trivial-clipboard")
3325 (version (git-version "0.0.0.0" "2" commit))
3326 (source
3327 (origin
3328 (method git-fetch)
3329 (uri (git-reference
3330 (url "https://github.com/snmsts/trivial-clipboard")
3331 (commit commit)))
3332 (file-name (git-file-name "trivial-clipboard" version))
3333 (sha256
3334 (base32
3335 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3336 (build-system asdf-build-system/sbcl)
3337 (inputs
3338 `(("xclip" ,xclip)))
3339 (native-inputs
3340 `(("fiveam" ,sbcl-fiveam)))
3341 (arguments
3342 `(#:phases
3343 (modify-phases %standard-phases
3344 (add-after 'unpack 'fix-paths
3345 (lambda* (#:key inputs #:allow-other-keys)
3346 (substitute* "src/text.lisp"
3347 (("\\(executable-find \"xclip\"\\)")
3348 (string-append "(executable-find \""
3349 (assoc-ref inputs "xclip")
3350 "/bin/xclip\")"))))))))
3351 (home-page "https://github.com/snmsts/trivial-clipboard")
3352 (synopsis "Access system clipboard in Common Lisp")
3353 (description
3354 "@command{trivial-clipboard} gives access to the system clipboard.")
3355 (license license:expat))))
3356
3357(define-public cl-trivial-clipboard
3358 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3359
3360(define-public ecl-trivial-clipboard
3361 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3362
3363(define-public sbcl-trivial-backtrace
3364 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3365 (revision "1"))
3366 (package
3367 (name "sbcl-trivial-backtrace")
3368 (version (git-version "0.0.0" revision commit))
3369 (source
3370 (origin
3371 (method git-fetch)
3372 (uri (git-reference
3373 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3374 (commit commit)))
3375 (file-name (git-file-name "trivial-backtrace" version))
3376 (sha256
3377 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3378 (build-system asdf-build-system/sbcl)
3379 (inputs
3380 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3381 (arguments
3382 `(#:phases
3383 (modify-phases %standard-phases
3384 (add-after 'check 'delete-test-results
3385 (lambda* (#:key outputs #:allow-other-keys)
3386 (let ((test-results (string-append (assoc-ref outputs "out")
3387 "/share/common-lisp/"
3388 (%lisp-type) "-source"
3389 "/trivial-backtrace"
3390 "/test-results")))
3391 (when (file-exists? test-results)
3392 (delete-file-recursively test-results)))
3393 #t)))))
88f06fd0
PN
3394 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3395 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3396 (description
3397 "On of the many things that didn't quite get into the Common Lisp
3398standard was how to get a Lisp to output its call stack when something has
3399gone wrong. As such, each Lisp has developed its own notion of what to
3400display, how to display it, and what sort of arguments can be used to
3401customize it. @code{trivial-backtrace} is a simple solution to generating a
3402backtrace portably.")
3403 (license license:expat))))
3404
3405(define-public cl-trivial-backtrace
3406 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3407
3408(define-public sbcl-rfc2388
3409 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3410 (revision "1"))
3411 (package
3412 (name "sbcl-rfc2388")
3413 (version (git-version "0.0.0" revision commit))
3414 (source
3415 (origin
3416 (method git-fetch)
3417 (uri (git-reference
3418 (url "https://github.com/jdz/rfc2388.git")
3419 (commit commit)))
3420 (file-name (git-file-name "rfc2388" version))
3421 (sha256
3422 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3423 (build-system asdf-build-system/sbcl)
3424 (home-page "https://github.com/jdz/rfc2388/")
3425 (synopsis "An implementation of RFC 2388 in Common Lisp")
3426 (description
3427 "This package contains an implementation of RFC 2388, which is used to
3428process form data posted with HTTP POST method using enctype
3429\"multipart/form-data\".")
3430 (license license:bsd-2))))
3431
3432(define-public cl-rfc2388
3433 (sbcl-package->cl-source-package sbcl-rfc2388))
3434
3435(define-public sbcl-md5
3436 (package
3437 (name "sbcl-md5")
3438 (version "2.0.4")
3439 (source
3440 (origin
3441 (method url-fetch)
3442 (uri (string-append
3443 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3444 (sha256
3445 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3446 (build-system asdf-build-system/sbcl)
3447 (home-page "https://github.com/pmai/md5")
3448 (synopsis
3449 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3450 (description
3451 "This package implements The MD5 Message-Digest Algorithm, as defined in
3452RFC 1321 by R. Rivest, published April 1992.")
3453 (license license:public-domain)))
3454
3455(define-public cl-md5
3456 (sbcl-package->cl-source-package sbcl-md5))
3457
3458(define-public sbcl-cl+ssl
3459 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3460 (revision "1"))
3461 (package
3462 (name "sbcl-cl+ssl")
3463 (version (git-version "0.0.0" revision commit))
3464 (source
3465 (origin
3466 (method git-fetch)
3467 (uri (git-reference
3468 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3469 (commit commit)))
3470 (file-name (git-file-name "cl+ssl" version))
3471 (sha256
3472 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3473 (build-system asdf-build-system/sbcl)
3474 (arguments
3475 '(#:phases
3476 (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-paths
3478 (lambda* (#:key inputs #:allow-other-keys)
3479 (substitute* "src/reload.lisp"
3480 (("libssl.so" all)
3481 (string-append
3482 (assoc-ref inputs "openssl") "/lib/" all))))))))
3483 (inputs
3484 `(("openssl" ,openssl)
3485 ("sbcl-cffi" ,sbcl-cffi)
3486 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3487 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3488 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3489 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3490 ("sbcl-alexandria" ,sbcl-alexandria)
3491 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3492 (home-page "http://common-lisp.net/project/cl-plus-ssl/")
3493 (synopsis "Common Lisp bindings to OpenSSL")
3494 (description
3495 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3496code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3497Development into CL+SSL was done by David Lichteblau.")
3498 (license license:expat))))
3499
3500(define-public cl-cl+ssl
3501 (sbcl-package->cl-source-package sbcl-cl+ssl))
3502
3503(define-public sbcl-kmrcl
3504 (let ((version "1.109.0")
3505 (commit "5260068b2eb735af6796740c2db4955afac21636")
3506 (revision "1"))
3507 (package
3508 (name "sbcl-kmrcl")
3509 (version (git-version version revision commit))
3510 (source
3511 (origin
3512 (method git-fetch)
3513 (uri (git-reference
3514 (url "http://git.kpe.io/kmrcl.git/")
3515 (commit commit)))
3516 (file-name (git-file-name name version))
3517 (sha256
3518 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3519 (build-system asdf-build-system/sbcl)
3520 (arguments
3521 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3522 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3523 '(#:tests? #f))
3524 (inputs
3525 `(("sbcl-rt" ,sbcl-rt)))
3526 (home-page "http://files.kpe.io/kmrcl/")
3527 (synopsis "General utilities for Common Lisp programs")
3528 (description
3529 "KMRCL is a collection of utilities used by a number of Kevin
3530Rosenberg's CL packages.")
3531 (license license:llgpl))))
3532
3533(define-public cl-kmrcl
3534 (sbcl-package->cl-source-package sbcl-kmrcl))
3535
3536(define-public sbcl-cl-base64
3537 (let ((version "3.3.3"))
3538 (package
3539 (name "sbcl-cl-base64")
3540 (version version)
3541 (source
3542 (origin
3543 (method git-fetch)
3544 (uri (git-reference
3545 (url "http://git.kpe.io/cl-base64.git")
3546 (commit (string-append "v" version))))
3547 (file-name (git-file-name "cl-base64" version))
3548 (sha256
3549 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3550 (build-system asdf-build-system/sbcl)
3551 (arguments
3552 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3553 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3554 ;; to toplevel
3555 '(#:tests? #f))
3556 (inputs
3557 `(("sbcl-ptester" ,sbcl-ptester)
3558 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3559 (home-page "http://files.kpe.io/cl-base64/")
3560 (synopsis
3561 "Common Lisp package to encode and decode base64 with URI support")
3562 (description
3563 "This package provides highly optimized base64 encoding and decoding.
3564Besides conversion to and from strings, integer conversions are supported.
3565Encoding with Uniform Resource Identifiers is supported by using a modified
3566encoding table that uses only URI-compatible characters.")
3567 (license license:bsd-3))))
3568
3569(define-public cl-base64
3570 (sbcl-package->cl-source-package sbcl-cl-base64))
3571
3572(define-public sbcl-chunga
3573 (package
3574 (name "sbcl-chunga")
3575 (version "1.1.7")
3576 (source
3577 (origin
3578 (method git-fetch)
3579 (uri (git-reference
3580 (url "https://github.com/edicl/chunga.git")
3581 (commit (string-append "v" version))))
3582 (file-name (git-file-name name version))
3583 (sha256
3584 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3585 (build-system asdf-build-system/sbcl)
3586 (inputs
3587 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3588 (home-page "https://edicl.github.io/chunga/")
3589 (synopsis "Portable chunked streams for Common Lisp")
3590 (description
3591 "Chunga implements streams capable of chunked encoding on demand as
3592defined in RFC 2616.")
3593 (license license:bsd-2)))
3594
3595(define-public cl-chunga
3596 (sbcl-package->cl-source-package sbcl-chunga))
3597
3598(define-public sbcl-cl-who
3599 (let ((version "1.1.4")
3600 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3601 (revision "1"))
3602 (package
3603 (name "sbcl-cl-who")
3604 (version (git-version version revision commit))
3605 (source
3606 (origin
3607 (method git-fetch)
3608 (uri (git-reference
3609 (url "https://github.com/edicl/cl-who.git")
3610 (commit commit)))
3611 (file-name (git-file-name name version))
3612 (sha256
3613 (base32
3614 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3615 (build-system asdf-build-system/sbcl)
3616 (native-inputs
3617 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3618 (home-page "https://edicl.github.io/cl-who/")
3619 (synopsis "Yet another Lisp markup language")
3620 (description
3621 "There are plenty of Lisp Markup Languages out there - every Lisp
3622programmer seems to write at least one during his career - and CL-WHO (where
3623WHO means \"with-html-output\" for want of a better acronym) is probably just
3624as good or bad as the next one.")
3625 (license license:bsd-2))))
3626
3627(define-public cl-cl-who
3628 (sbcl-package->cl-source-package sbcl-cl-who))
3629
3630(define-public sbcl-chipz
3631 (let ((version "0.8")
3632 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3633 (revision "1"))
3634 (package
3635 (name "sbcl-chipz")
3636 (version (git-version version revision commit))
3637 (source
3638 (origin
3639 (method git-fetch)
3640 (uri (git-reference
3641 (url "https://github.com/froydnj/chipz.git")
3642 (commit commit)))
3643 (file-name (git-file-name name version))
3644 (sha256
3645 (base32
3646 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3647 (build-system asdf-build-system/sbcl)
3648 (native-inputs
3649 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3650 (home-page "http://method-combination.net/lisp/chipz/")
3651 (synopsis
3652 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3653data")
3654 (description
3655 "DEFLATE data, defined in RFC1951, forms the core of popular
3656compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3657Chipz also provides for decompressing data in those formats as well. BZIP2 is
3658the format used by the popular compression tool bzip2.")
3659 ;; The author describes it as "MIT-like"
3660 (license license:expat))))
3661
3662(define-public cl-chipz
3663 (sbcl-package->cl-source-package sbcl-chipz))
3664
3665(define-public sbcl-drakma
a2b6b973
GLV
3666 (package
3667 (name "sbcl-drakma")
3668 (version "2.0.7")
3669 (source
3670 (origin
3671 (method git-fetch)
3672 (uri (git-reference
3673 (url "https://github.com/edicl/drakma.git")
3674 (commit (string-append "v" version))))
3675 (file-name (git-file-name name version))
3676 (sha256
3677 (base32
3678 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3679 (build-system asdf-build-system/sbcl)
3680 (inputs
3681 `(("sbcl-puri" ,sbcl-puri)
3682 ("sbcl-cl-base64" ,sbcl-cl-base64)
3683 ("sbcl-chunga" ,sbcl-chunga)
3684 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3685 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3686 ("sbcl-chipz" ,sbcl-chipz)
3687 ("sbcl-usocket" ,sbcl-usocket)
3688 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3689 (native-inputs
3690 `(("sbcl-fiveam" ,sbcl-fiveam)))
3691 (home-page "https://edicl.github.io/drakma/")
3692 (synopsis "HTTP client written in Common Lisp")
3693 (description
3694 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3695knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3696sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3697 (license license:bsd-2)))
88f06fd0
PN
3698
3699(define-public cl-drakma
3700 (sbcl-package->cl-source-package sbcl-drakma))
3701
10ac723b
GLV
3702(define-public ecl-drakma
3703 (sbcl-package->ecl-package sbcl-drakma))
3704
88f06fd0
PN
3705(define-public sbcl-hunchentoot
3706 (package
3707 (name "sbcl-hunchentoot")
3708 (version "1.2.38")
3709 (source
3710 (origin
3711 (method git-fetch)
3712 (uri (git-reference
3713 (url "https://github.com/edicl/hunchentoot.git")
3714 (commit (string-append "v" version))))
3715 (file-name (git-file-name "hunchentoot" version))
3716 (sha256
3717 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3718 (build-system asdf-build-system/sbcl)
3719 (native-inputs
3720 `(("sbcl-cl-who" ,sbcl-cl-who)
3721 ("sbcl-drakma" ,sbcl-drakma)))
3722 (inputs
3723 `(("sbcl-chunga" ,sbcl-chunga)
3724 ("sbcl-cl-base64" ,sbcl-cl-base64)
3725 ("sbcl-cl-fad" ,sbcl-cl-fad)
3726 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3727 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3728 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3729 ("sbcl-md5" ,sbcl-md5)
3730 ("sbcl-rfc2388" ,sbcl-rfc2388)
3731 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3732 ("sbcl-usocket" ,sbcl-usocket)))
3733 (home-page "https://edicl.github.io/hunchentoot/")
3734 (synopsis "Web server written in Common Lisp")
3735 (description
3736 "Hunchentoot is a web server written in Common Lisp and at the same
3737time a toolkit for building dynamic websites. As a stand-alone web server,
3738Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3739connections (keep-alive), and SSL.")
3740 (license license:bsd-2)))
3741
3742(define-public cl-hunchentoot
3743 (sbcl-package->cl-source-package sbcl-hunchentoot))
3744
3745(define-public sbcl-trivial-types
3746 (package
3747 (name "sbcl-trivial-types")
3748 (version "0.0.1")
3749 (source
3750 (origin
3751 (method git-fetch)
3752 (uri (git-reference
3753 (url "https://github.com/m2ym/trivial-types.git")
3754 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3755 (file-name (git-file-name name version))
3756 (sha256
3757 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3758 (build-system asdf-build-system/sbcl)
3759 (home-page "https://github.com/m2ym/trivial-types")
3760 (synopsis "Trivial type definitions for Common Lisp")
3761 (description
3762 "TRIVIAL-TYPES provides missing but important type definitions such as
3763PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3764 (license license:llgpl)))
3765
3766(define-public cl-trivial-types
3767 (sbcl-package->cl-source-package sbcl-trivial-types))
3768
3769(define-public sbcl-cl-syntax
3770 (package
3771 (name "sbcl-cl-syntax")
3772 (version "0.0.3")
3773 (source
3774 (origin
3775 (method git-fetch)
3776 (uri (git-reference
3777 (url "https://github.com/m2ym/cl-syntax.git")
3778 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3779 (file-name (git-file-name "cl-syntax" version))
3780 (sha256
3781 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3782 (build-system asdf-build-system/sbcl)
3783 (arguments
3784 '(#:asd-file "cl-syntax.asd"
3785 #:asd-system-name "cl-syntax"))
3786 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3787 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3788 (home-page "https://github.com/m2ym/cl-syntax")
3789 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3790 (description
3791 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3792 (license license:llgpl)))
3793
3794(define-public cl-syntax
3795 (sbcl-package->cl-source-package sbcl-cl-syntax))
3796
3797(define-public sbcl-cl-annot
3798 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3799 (revision "1"))
3800 (package
3801 (name "sbcl-cl-annot")
3802 (version (git-version "0.0.0" revision commit))
3803 (source
3804 (origin
3805 (method git-fetch)
3806 (uri (git-reference
3807 (url "https://github.com/m2ym/cl-annot.git")
3808 (commit commit)))
3809 (file-name (git-file-name name version))
3810 (sha256
3811 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3812 (build-system asdf-build-system/sbcl)
3813 (arguments
3814 '(#:asd-file "cl-annot.asd"
3815 #:asd-system-name "cl-annot"))
3816 (inputs
3817 `(("sbcl-alexandria" ,sbcl-alexandria)))
3818 (home-page "https://github.com/m2ym/cl-annot")
3819 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3820 (description
3821 "@code{cl-annot} is an general annotation library for Common Lisp.")
3822 (license license:llgpl))))
3823
3824(define-public cl-annot
3825 (sbcl-package->cl-source-package sbcl-cl-annot))
3826
3827(define-public sbcl-cl-syntax-annot
3828 (package
3829 (name "sbcl-cl-syntax-annot")
3830 (version "0.0.3")
3831 (source
3832 (origin
3833 (method git-fetch)
3834 (uri (git-reference
3835 (url "https://github.com/m2ym/cl-syntax.git")
3836 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3837 (file-name (git-file-name name version))
3838 (sha256
3839 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3840 (build-system asdf-build-system/sbcl)
3841 (arguments
3842 '(#:asd-file "cl-syntax-annot.asd"
3843 #:asd-system-name "cl-syntax-annot"))
3844 (inputs
3845 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3846 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3847 (home-page "https://github.com/m2ym/cl-syntax")
3848 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3849 (description
3850 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3851SLIME.")
3852 (license license:llgpl)))
3853
3854(define-public cl-syntax-annot
3855 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3856
3857(define-public sbcl-cl-utilities
3858 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3859 (revision "1"))
3860 (package
3861 (name "sbcl-cl-utilities")
3862 (version (git-version "0.0.0" revision commit))
3863 (source
3864 (origin
3865 (method url-fetch)
3866 (uri
3867 (string-append
3868 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3869 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3870 (sha256
3871 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3872 (build-system asdf-build-system/sbcl)
3873 (arguments
3874 '(#:asd-file "cl-utilities.asd"
3875 #:asd-system-name "cl-utilities"
3876 #:phases
3877 (modify-phases %standard-phases
3878 (add-after 'unpack 'fix-paths
3879 (lambda* (#:key inputs #:allow-other-keys)
3880 (substitute* "rotate-byte.lisp"
3881 (("in-package :cl-utilities)" all)
3882 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3883 (home-page "http://common-lisp.net/project/cl-utilities")
3884 (synopsis "A collection of semi-standard utilities")
3885 (description
3886 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3887is a collection of Common Lisp Utilities, things that everybody writes since
3888they're not part of the official standard. There are some very useful things
3889there; the only problems are that they aren't implemented as well as you'd
3890like (some aren't implemented at all) and they aren't conveniently packaged
3891and maintained. It takes quite a bit of work to carefully implement utilities
3892for common use, commented and documented, with error checking placed
3893everywhere some dumb user might make a mistake.")
3894 (license license:public-domain))))
3895
3896(define-public cl-utilities
3897 (sbcl-package->cl-source-package sbcl-cl-utilities))
3898
3899(define-public sbcl-map-set
3900 (let ((commit "7b4b545b68b8")
3901 (revision "1"))
3902 (package
3903 (name "sbcl-map-set")
3904 (version (git-version "0.0.0" revision commit))
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append
3909 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3910 commit ".tar.gz"))
3911 (sha256
3912 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3913 (build-system asdf-build-system/sbcl)
3914 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3915 (synopsis "Set-like data structure")
3916 (description
3917 "Implementation of a set-like data structure with constant time
3918addition, removal, and random selection.")
3919 (license license:bsd-3))))
3920
3921(define-public cl-map-set
3922 (sbcl-package->cl-source-package sbcl-map-set))
3923
3924(define-public sbcl-quri
3925 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3926 (revision "1"))
3927 (package
3928 (name "sbcl-quri")
3929 (version (git-version "0.1.0" revision commit))
3930 (source
3931 (origin
3932 (method git-fetch)
3933 (uri (git-reference
3934 (url "https://github.com/fukamachi/quri.git")
3935 (commit commit)))
3936 (file-name (git-file-name name version))
3937 (sha256
3938 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3939 (build-system asdf-build-system/sbcl)
3940 (arguments
3941 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3942 ;; required by #<SYSTEM "quri">. Why?
3943 '(#:tests? #f))
3944 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3945 ("sbcl-prove" ,sbcl-prove)))
3946 (inputs `(("sbcl-babel" ,sbcl-babel)
3947 ("sbcl-split-sequence" ,sbcl-split-sequence)
3948 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3949 ("sbcl-alexandria" ,sbcl-alexandria)))
3950 (home-page "https://github.com/fukamachi/quri")
3951 (synopsis "Yet another URI library for Common Lisp")
3952 (description
3953 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3954Lisp. It is intended to be a replacement of PURI.")
3955 (license license:bsd-3))))
3956
3957(define-public cl-quri
3958 (sbcl-package->cl-source-package sbcl-quri))
3959
3960(define-public sbcl-myway
3961 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3962 (revision "1"))
3963 (package
3964 (name "sbcl-myway")
3965 (version (git-version "0.1.0" revision commit))
3966 (source
3967 (origin
3968 (method git-fetch)
3969 (uri (git-reference
3970 (url "https://github.com/fukamachi/myway.git")
3971 (commit commit)))
3972 (file-name (git-file-name "myway" version))
3973 (sha256
3974 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3975 (build-system asdf-build-system/sbcl)
3976 (arguments
3977 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3978 ;; by #<SYSTEM "myway">. Why?
3979 '(#:tests? #f))
3980 (native-inputs
3981 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3982 ("sbcl-prove" ,sbcl-prove)))
3983 (inputs
3984 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3985 ("sbcl-quri" ,sbcl-quri)
3986 ("sbcl-map-set" ,sbcl-map-set)))
3987 (home-page "https://github.com/fukamachi/myway")
3988 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3989 (description "My Way is a Sinatra-compatible URL routing library.")
3990 (license license:llgpl))))
3991
3992(define-public cl-myway
3993 (sbcl-package->cl-source-package sbcl-myway))
3994
3995(define-public sbcl-xsubseq
3996 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3997 (revision "1"))
3998 (package
3999 (name "sbcl-xsubseq")
4000 (version (git-version "0.0.1" revision commit))
4001 (source
4002 (origin
4003 (method git-fetch)
4004 (uri (git-reference
4005 (url "https://github.com/fukamachi/xsubseq")
4006 (commit commit)))
4007 (file-name (git-file-name name version))
4008 (sha256
4009 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4010 (build-system asdf-build-system/sbcl)
4011 (arguments
4012 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4013 ;; required by #<SYSTEM "xsubseq">. Why?
4014 '(#:tests? #f))
4015 (native-inputs
4016 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4017 ("sbcl-prove" ,sbcl-prove)))
4018 (home-page "https://github.com/fukamachi/xsubseq")
4019 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4020 (description
4021 "XSubseq provides functions to be able to handle \"subseq\"s more
4022effieiently.")
4023 (license license:bsd-2))))
4024
4025(define-public cl-xsubseq
4026 (sbcl-package->cl-source-package sbcl-xsubseq))
4027
4028(define-public sbcl-smart-buffer
4029 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4030 (revision "1"))
4031 (package
4032 (name "sbcl-smart-buffer")
4033 (version (git-version "0.0.1" revision commit))
4034 (source
4035 (origin
4036 (method git-fetch)
4037 (uri (git-reference
4038 (url "https://github.com/fukamachi/smart-buffer")
4039 (commit commit)))
4040 (file-name (git-file-name name version))
4041 (sha256
4042 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4043 (build-system asdf-build-system/sbcl)
4044 (arguments
4045 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4046 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4047 `(#:tests? #f))
4048 (native-inputs
4049 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4050 ("sbcl-prove" ,sbcl-prove)))
4051 (inputs
4052 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4053 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4054 (home-page "https://github.com/fukamachi/smart-buffer")
4055 (synopsis "Smart octets buffer")
4056 (description
4057 "Smart-buffer provides an output buffer which changes the destination
4058depending on content size.")
4059 (license license:bsd-3))))
4060
4061(define-public cl-smart-buffer
4062 (sbcl-package->cl-source-package sbcl-smart-buffer))
4063
4064(define-public sbcl-fast-http
4065 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4066 (revision "1"))
4067 (package
4068 (name "sbcl-fast-http")
4069 (version (git-version "0.2.0" revision commit))
4070 (source
4071 (origin
4072 (method git-fetch)
4073 (uri (git-reference
4074 (url "https://github.com/fukamachi/fast-http")
4075 (commit commit)))
4076 (file-name (git-file-name name version))
4077 (sha256
4078 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4079 (build-system asdf-build-system/sbcl)
4080 (arguments
4081 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4082 ;; required by #<SYSTEM "fast-http">. Why?
4083 `(#:tests? #f))
4084 (native-inputs
4085 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4086 ("sbcl-prove" ,sbcl-prove)))
4087 (inputs
4088 `(("sbcl-alexandria" ,sbcl-alexandria)
4089 ("sbcl-proc-parse" ,sbcl-proc-parse)
4090 ("sbcl-xsubseq" ,sbcl-xsubseq)
4091 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4092 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4093 (home-page "https://github.com/fukamachi/fast-http")
4094 (synopsis "HTTP request/response parser for Common Lisp")
4095 (description
4096 "@code{fast-http} is a HTTP request/response protocol parser for Common
4097Lisp.")
4098 ;; Author specified the MIT license
4099 (license license:expat))))
4100
4101(define-public cl-fast-http
4102 (sbcl-package->cl-source-package sbcl-fast-http))
4103
4104(define-public sbcl-static-vectors
ba55cbda
GLV
4105 (package
4106 (name "sbcl-static-vectors")
4107 (version "1.8.4")
4108 (source
4109 (origin
88f06fd0
PN
4110 (method git-fetch)
4111 (uri (git-reference
4112 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4113 (commit (string-append "v" version))))
88f06fd0
PN
4114 (file-name (git-file-name name version))
4115 (sha256
ba55cbda
GLV
4116 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4117 (native-inputs
4118 `(("sbcl-fiveam" ,sbcl-fiveam)))
4119 (inputs
4120 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4121 ("sbcl-cffi" ,sbcl-cffi)))
4122 (build-system asdf-build-system/sbcl)
4123 (home-page "http://common-lisp.net/projects/iolib/")
4124 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4125 (description
4126 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4127memory.")
ba55cbda 4128 (license license:expat)))
88f06fd0
PN
4129
4130(define-public cl-static-vectors
4131 (sbcl-package->cl-source-package sbcl-static-vectors))
4132
f6a6f085
GLV
4133(define-public ecl-static-vectors
4134 (sbcl-package->ecl-package sbcl-static-vectors))
4135
88f06fd0
PN
4136(define-public sbcl-marshal
4137 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4138 (revision "1"))
4139 (package
4140 (name "sbcl-marshal")
4141 (version (git-version "1.3.0" revision commit))
4142 (source
4143 (origin
4144 (method git-fetch)
4145 (uri (git-reference
4146 (url "https://github.com/wlbr/cl-marshal.git")
4147 (commit commit)))
4148 (file-name (git-file-name name version))
4149 (sha256
4150 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4151 (build-system asdf-build-system/sbcl)
4152 (home-page "https://github.com/wlbr/cl-marshal")
4153 (synopsis "Simple (de)serialization of Lisp datastructures")
4154 (description
4155 "Simple and fast marshalling of Lisp datastructures. Convert any object
4156into a string representation, put it on a stream an revive it from there.
4157Only minimal changes required to make your CLOS objects serializable.")
4158 (license license:expat))))
4159
4160(define-public cl-marshal
4161 (sbcl-package->cl-source-package sbcl-marshal))
4162
4163(define-public sbcl-checkl
4164 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4165 (revision "1"))
4166 (package
4167 (name "sbcl-checkl")
4168 (version (git-version "0.0.0" revision commit))
4169 (source
4170 (origin
4171 (method git-fetch)
4172 (uri (git-reference
4173 (url "https://github.com/rpav/CheckL.git")
4174 (commit commit)))
4175 (file-name (git-file-name name version))
4176 (sha256
4177 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4178 (build-system asdf-build-system/sbcl)
4179 (arguments
4180 ;; Error while trying to load definition for system checkl-test from
4181 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4182 ;; is undefined.
4183 '(#:tests? #f))
4184 (native-inputs
4185 `(("sbcl-fiveam" ,sbcl-fiveam)))
4186 (inputs
4187 `(("sbcl-marshal" ,sbcl-marshal)))
4188 (home-page "https://github.com/rpav/CheckL/")
4189 (synopsis "Dynamic testing for Common Lisp")
4190 (description
4191 "CheckL lets you write tests dynamically, it checks resulting values
4192against the last run.")
4193 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4194 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4195 ;; stronger of the two and so I think only listing this should suffice.
4196 (license license:llgpl))))
4197
4198(define-public cl-checkl
4199 (sbcl-package->cl-source-package sbcl-checkl))
4200
4201(define-public sbcl-fast-io
4202 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4203 (revision "1"))
4204 (package
4205 (name "sbcl-fast-io")
4206 (version (git-version "1.0.0" revision commit))
4207 (source
4208 (origin
4209 (method git-fetch)
4210 (uri (git-reference
4211 (url "https://github.com/rpav/fast-io.git")
4212 (commit commit)))
4213 (file-name (git-file-name name version))
4214 (sha256
4215 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4216 (build-system asdf-build-system/sbcl)
4217 (arguments
4218 ;; Error while trying to load definition for system fast-io-test from
4219 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4220 ;; is undefined.
4221 '(#:tests? #f))
4222 (native-inputs
4223 `(("sbcl-fiveam" ,sbcl-fiveam)
4224 ("sbcl-checkl" ,sbcl-checkl)))
4225 (inputs
4226 `(("sbcl-alexandria" ,sbcl-alexandria)
4227 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4228 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4229 (home-page "https://github.com/rpav/fast-io")
4230 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4231 (description
4232 "Fast-io is about improving performance to octet-vectors and octet
4233streams (though primarily the former, while wrapping the latter).")
4234 ;; Author specifies this as NewBSD which is an alias
4235 (license license:bsd-3))))
4236
4237(define-public cl-fast-io
4238 (sbcl-package->cl-source-package sbcl-fast-io))
4239
4240(define-public sbcl-jonathan
4241 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4242 (revision "1"))
4243 (package
4244 (name "sbcl-jonathan")
4245 (version (git-version "0.1.0" revision commit))
4246 (source
4247 (origin
4248 (method git-fetch)
4249 (uri (git-reference
4250 (url "https://github.com/Rudolph-Miller/jonathan.git")
4251 (commit commit)))
4252 (file-name (git-file-name name version))
4253 (sha256
4254 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4255 (build-system asdf-build-system/sbcl)
4256 (arguments
4257 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4258 ;; required by #<SYSTEM "jonathan">. Why?
4259 `(#:tests? #f))
4260 (native-inputs
4261 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4262 ("sbcl-prove" ,sbcl-prove)))
4263 (inputs
4264 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4265 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4266 ("sbcl-fast-io" ,sbcl-fast-io)
4267 ("sbcl-proc-parse" ,sbcl-proc-parse)
4268 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4269 (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
4270 (synopsis "JSON encoder and decoder")
4271 (description
4272 "High performance JSON encoder and decoder. Currently support: SBCL,
4273CCL.")
4274 ;; Author specifies the MIT license
4275 (license license:expat))))
4276
4277(define-public cl-jonathan
4278 (sbcl-package->cl-source-package sbcl-jonathan))
4279
4280(define-public sbcl-http-body
4281 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4282 (revision "1"))
4283 (package
4284 (name "sbcl-http-body")
4285 (version (git-version "0.1.0" revision commit))
4286 (source
4287 (origin
4288 (method git-fetch)
4289 (uri (git-reference
4290 (url "https://github.com/fukamachi/http-body")
4291 (commit commit)))
4292 (file-name (git-file-name name version))
4293 (sha256
4294 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4295 (build-system asdf-build-system/sbcl)
4296 (arguments
4297 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4298 ;; found, required by #<SYSTEM "http-body">. Why?
4299 `(#:tests? #f))
4300 (native-inputs
4301 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4302 ("sbcl-prove" ,sbcl-prove)))
4303 (inputs
4304 `(("sbcl-fast-http" ,sbcl-fast-http)
4305 ("sbcl-jonathan" ,sbcl-jonathan)
4306 ("sbcl-quri" ,sbcl-quri)))
4307 (home-page "https://github.com/fukamachi/http-body")
4308 (synopsis "HTTP POST data parser")
4309 (description
4310 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4311supports application/x-www-form-urlencoded, application/json, and
4312multipart/form-data.")
4313 (license license:bsd-2))))
4314
4315(define-public cl-http-body
4316 (sbcl-package->cl-source-package sbcl-http-body))
4317
4318(define-public sbcl-circular-streams
4319 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4320 (revision "1"))
4321 (package
4322 (name "sbcl-circular-streams")
4323 (version (git-version "0.1.0" revision commit))
4324 (source
4325 (origin
4326 (method git-fetch)
4327 (uri (git-reference
4328 (url "https://github.com/fukamachi/circular-streams")
4329 (commit commit)))
4330 (file-name (git-file-name name version))
4331 (sha256
4332 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4333 (build-system asdf-build-system/sbcl)
4334 (arguments
4335 ;; The tests depend on cl-test-more which is now prove. Prove
4336 ;; tests aren't working for some reason.
4337 `(#:tests? #f))
4338 (inputs
4339 `(("sbcl-fast-io" ,sbcl-fast-io)
4340 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4341 (home-page "https://github.com/fukamachi/circular-streams")
4342 (synopsis "Circularly readable streams for Common Lisp")
4343 (description
4344 "Circular-Streams allows you to read streams circularly by wrapping real
4345streams. Once you reach end-of-file of a stream, it's file position will be
4346reset to 0 and you're able to read it again.")
4347 (license license:llgpl))))
4348
4349(define-public cl-circular-streams
4350 (sbcl-package->cl-source-package sbcl-circular-streams))
4351
4352(define-public sbcl-lack-request
4353 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4354 (revision "1"))
4355 (package
4356 (name "sbcl-lack-request")
4357 (version (git-version "0.1.0" revision commit))
4358 (source
4359 (origin
4360 (method git-fetch)
4361 (uri (git-reference
4362 (url "https://github.com/fukamachi/lack.git")
4363 (commit commit)))
4364 (file-name (git-file-name "lack-request" version))
4365 (sha256
4366 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4367 (build-system asdf-build-system/sbcl)
4368 (arguments
4369 '(#:asd-file "lack-request.asd"
4370 #:asd-system-name "lack-request"
4371 #:test-asd-file "t-lack-request.asd"
4372 ;; XXX: Component :CLACK-TEST not found
4373 #:tests? #f))
4374 (native-inputs
4375 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4376 ("sbcl-prove" ,sbcl-prove)))
4377 (inputs
4378 `(("sbcl-quri" ,sbcl-quri)
4379 ("sbcl-http-body" ,sbcl-http-body)
4380 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4381 (home-page "https://github.com/fukamachi/lack")
4382 (synopsis "Lack, the core of Clack")
4383 (description
4384 "Lack is a Common Lisp library which allows web applications to be
4385constructed of modular components. It was originally a part of Clack, however
4386it's going to be rewritten as an individual project since Clack v2 with
4387performance and simplicity in mind.")
4388 (license license:llgpl))))
4389
4390(define-public cl-lack-request
4391 (sbcl-package->cl-source-package sbcl-lack-request))
4392
4393(define-public sbcl-local-time
4394 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4395 (revision "1"))
4396 (package
4397 (name "sbcl-local-time")
4398 (version (git-version "1.0.6" revision commit))
4399 (source
4400 (origin
4401 (method git-fetch)
4402 (uri (git-reference
4403 (url "https://github.com/dlowe-net/local-time.git")
4404 (commit commit)))
4405 (file-name (git-file-name name version))
4406 (sha256
4407 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4408 (build-system asdf-build-system/sbcl)
4409 (arguments
4410 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4411 ;; "local-time/test">
4412 '(#:tests? #f))
4413 (native-inputs
4414 `(("stefil" ,sbcl-hu.dwim.stefil)))
4415 (inputs
4416 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4417 (home-page "https://common-lisp.net/project/local-time/")
4418 (synopsis "Time manipulation library for Common Lisp")
4419 (description
4420 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4421dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4422Long Painful History of Time\".")
4423 (license license:expat))))
4424
4425(define-public cl-local-time
4426 (sbcl-package->cl-source-package sbcl-local-time))
4427
4428(define-public sbcl-lack-response
4429 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4430 (revision "1"))
4431 (package
4432 (name "sbcl-lack-response")
4433 (version (git-version "0.1.0" revision commit))
4434 (source
4435 (origin
4436 (method git-fetch)
4437 (uri (git-reference
4438 (url "https://github.com/fukamachi/lack.git")
4439 (commit commit)))
4440 (file-name (git-file-name name version))
4441 (sha256
4442 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4443 (build-system asdf-build-system/sbcl)
4444 (arguments
4445 '(#:asd-file "lack-response.asd"
4446 #:asd-system-name "lack-response"
4447 ;; XXX: no tests for lack-response.
4448 #:tests? #f))
4449 (native-inputs
4450 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4451 ("sbcl-prove" ,sbcl-prove)))
4452 (inputs
4453 `(("sbcl-quri" ,sbcl-quri)
4454 ("sbcl-http-body" ,sbcl-http-body)
4455 ("sbcl-circular-streams" ,sbcl-circular-streams)
4456 ("sbcl-local-time" ,sbcl-local-time)))
4457 (home-page "https://github.com/fukamachi/lack")
4458 (synopsis "Lack, the core of Clack")
4459 (description
4460 "Lack is a Common Lisp library which allows web applications to be
4461constructed of modular components. It was originally a part of Clack, however
4462it's going to be rewritten as an individual project since Clack v2 with
4463performance and simplicity in mind.")
4464 (license license:llgpl))))
4465
4466(define-public cl-lack-response
4467 (sbcl-package->cl-source-package sbcl-lack-response))
4468
4469(define-public sbcl-lack-component
4470 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4471 (revision "1"))
4472 (package
4473 (name "sbcl-lack-component")
4474 (version (git-version "0.0.0" revision commit))
4475 (source
4476 (origin
4477 (method git-fetch)
4478 (uri (git-reference
4479 (url "https://github.com/fukamachi/lack.git")
4480 (commit commit)))
4481 (file-name (git-file-name "lack-component" version))
4482 (sha256
4483 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4484 (build-system asdf-build-system/sbcl)
4485 (arguments
4486 '(#:asd-file "lack-component.asd"
4487 #:asd-system-name "lack-component"
4488 #:test-asd-file "t-lack-component.asd"
4489 ;; XXX: Component :LACK-TEST not found
4490 #:tests? #f))
4491 (native-inputs
4492 `(("prove-asdf" ,sbcl-prove-asdf)))
4493 (home-page "https://github.com/fukamachi/lack")
4494 (synopsis "Lack, the core of Clack")
4495 (description
4496 "Lack is a Common Lisp library which allows web applications to be
4497constructed of modular components. It was originally a part of Clack, however
4498it's going to be rewritten as an individual project since Clack v2 with
4499performance and simplicity in mind.")
4500 (license license:llgpl))))
4501
4502(define-public cl-lack-component
4503 (sbcl-package->cl-source-package sbcl-lack-component))
4504
4505(define-public sbcl-lack-util
4506 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4507 (revision "1"))
4508 (package
4509 (name "sbcl-lack-util")
4510 (version (git-version "0.1.0" revision commit))
4511 (source
4512 (origin
4513 (method git-fetch)
4514 (uri (git-reference
4515 (url "https://github.com/fukamachi/lack.git")
4516 (commit commit)))
4517 (file-name (git-file-name "lack-util" version))
4518 (sha256
4519 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4520 (build-system asdf-build-system/sbcl)
4521 (arguments
4522 '(#:asd-file "lack-util.asd"
4523 #:asd-system-name "lack-util"
4524 #:test-asd-file "t-lack-util.asd"
4525 ;; XXX: Component :LACK-TEST not found
4526 #:tests? #f))
4527 (native-inputs
4528 `(("prove-asdf" ,sbcl-prove-asdf)))
4529 (inputs
4530 `(("sbcl-ironclad" ,sbcl-ironclad)))
4531 (home-page "https://github.com/fukamachi/lack")
4532 (synopsis "Lack, the core of Clack")
4533 (description
4534 "Lack is a Common Lisp library which allows web applications to be
4535constructed of modular components. It was originally a part of Clack, however
4536it's going to be rewritten as an individual project since Clack v2 with
4537performance and simplicity in mind.")
4538 (license license:llgpl))))
4539
4540(define-public cl-lack-util
4541 (sbcl-package->cl-source-package sbcl-lack-util))
4542
4543(define-public sbcl-lack-middleware-backtrace
4544 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4545 (revision "1"))
4546 (package
4547 (name "sbcl-lack-middleware-backtrace")
4548 (version (git-version "0.1.0" revision commit))
4549 (source
4550 (origin
4551 (method git-fetch)
4552 (uri (git-reference
4553 (url "https://github.com/fukamachi/lack.git")
4554 (commit commit)))
4555 (file-name (git-file-name "lack-middleware-backtrace" version))
4556 (sha256
4557 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4558 (build-system asdf-build-system/sbcl)
4559 (arguments
4560 '(#:asd-file "lack-middleware-backtrace.asd"
4561 #:asd-system-name "lack-middleware-backtrace"
4562 #:test-asd-file "t-lack-middleware-backtrace.asd"
4563 ;; XXX: Component :LACK not found
4564 #:tests? #f))
4565 (native-inputs
4566 `(("prove-asdf" ,sbcl-prove-asdf)))
4567 (home-page "https://github.com/fukamachi/lack")
4568 (synopsis "Lack, the core of Clack")
4569 (description
4570 "Lack is a Common Lisp library which allows web applications to be
4571constructed of modular components. It was originally a part of Clack, however
4572it's going to be rewritten as an individual project since Clack v2 with
4573performance and simplicity in mind.")
4574 (license license:llgpl))))
4575
4576(define-public cl-lack-middleware-backtrace
4577 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4578
4579(define-public sbcl-trivial-mimes
4580 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4581 (revision "1"))
4582 (package
4583 (name "sbcl-trivial-mimes")
4584 (version (git-version "1.1.0" revision commit))
4585 (source
4586 (origin
4587 (method git-fetch)
4588 (uri (git-reference
4589 (url "https://github.com/Shinmera/trivial-mimes.git")
4590 (commit commit)))
4591 (file-name (git-file-name name version))
4592 (sha256
4593 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4594 (build-system asdf-build-system/sbcl)
4595 (arguments
4596 '(#:phases
4597 (modify-phases %standard-phases
4598 (add-after
4599 'unpack 'fix-paths
4600 (lambda* (#:key inputs #:allow-other-keys)
4601 (let ((anchor "#p\"/etc/mime.types\""))
4602 (substitute* "mime-types.lisp"
4603 ((anchor all)
4604 (string-append
4605 anchor "\n"
4606 "(asdf:system-relative-pathname :trivial-mimes "
4607 "\"../../share/common-lisp/" (%lisp-type)
4608 "-source/trivial-mimes/mime.types\")")))))))))
4609 (native-inputs
4610 `(("stefil" ,sbcl-hu.dwim.stefil)))
4611 (inputs
4612 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4613 (home-page "http://shinmera.github.io/trivial-mimes/")
4614 (synopsis "Tiny Common Lisp library to detect mime types in files")
4615 (description
4616 "This is a teensy library that provides some functions to determine the
4617mime-type of a file.")
4618 (license license:artistic2.0))))
4619
4620(define-public cl-trivial-mimes
4621 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4622
4623(define-public ecl-trivial-mimes
4624 (sbcl-package->ecl-package sbcl-trivial-mimes))
4625
4626(define-public sbcl-lack-middleware-static
4627 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4628 (revision "1"))
4629 (package
4630 (name "sbcl-lack-middleware-static")
4631 (version (git-version "0.1.0" revision commit))
4632 (source
4633 (origin
4634 (method git-fetch)
4635 (uri (git-reference
4636 (url "https://github.com/fukamachi/lack.git")
4637 (commit commit)))
4638 (file-name (git-file-name "lack-middleware-static" version))
4639 (sha256
4640 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4641 (build-system asdf-build-system/sbcl)
4642 (arguments
4643 '(#:asd-file "lack-middleware-static.asd"
4644 #:asd-system-name "lack-middleware-static"
4645 #:test-asd-file "t-lack-middleware-static.asd"
4646 ;; XXX: Component :LACK not found
4647 #:tests? #f))
4648 (native-inputs
4649 `(("prove-asdf" ,sbcl-prove-asdf)))
4650 (inputs
4651 `(("sbcl-ironclad" ,sbcl-ironclad)
4652 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4653 ("sbcl-local-time" ,sbcl-local-time)))
4654 (home-page "https://github.com/fukamachi/lack")
4655 (synopsis "Lack, the core of Clack")
4656 (description
4657 "Lack is a Common Lisp library which allows web applications to be
4658constructed of modular components. It was originally a part of Clack, however
4659it's going to be rewritten as an individual project since Clack v2 with
4660performance and simplicity in mind.")
4661 (license license:llgpl))))
4662
4663(define-public cl-lack-middleware-static
4664 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4665
4666(define-public sbcl-lack
4667 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4668 (revision "1"))
4669 (package
4670 (name "sbcl-lack")
4671 (version (git-version "0.1.0" revision commit))
4672 (source
4673 (origin
4674 (method git-fetch)
4675 (uri (git-reference
4676 (url "https://github.com/fukamachi/lack.git")
4677 (commit commit)))
4678 (file-name (git-file-name "lack" version))
4679 (sha256
4680 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4681 (build-system asdf-build-system/sbcl)
4682 (arguments
4683 '(#:test-asd-file "t-lack.asd"
4684 ;; XXX: Component :CLACK not found
4685 #:tests? #f))
4686 (native-inputs
4687 `(("prove-asdf" ,sbcl-prove-asdf)))
4688 (inputs
4689 `(("sbcl-lack-component" ,sbcl-lack-component)
4690 ("sbcl-lack-util" ,sbcl-lack-util)))
4691 (home-page "https://github.com/fukamachi/lack")
4692 (synopsis "Lack, the core of Clack")
4693 (description
4694 "Lack is a Common Lisp library which allows web applications to be
4695constructed of modular components. It was originally a part of Clack, however
4696it's going to be rewritten as an individual project since Clack v2 with
4697performance and simplicity in mind.")
4698 (license license:llgpl))))
4699
4700(define-public cl-lack
4701 (sbcl-package->cl-source-package sbcl-lack))
4702
4703(define-public sbcl-ningle
4704 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4705 (revision "1"))
4706 (package
4707 (name "sbcl-ningle")
4708 (version (git-version "0.3.0" revision commit))
4709 (source
4710 (origin
4711 (method git-fetch)
4712 (uri (git-reference
4713 (url "https://github.com/fukamachi/ningle.git")
4714 (commit commit)))
4715 (file-name (git-file-name name version))
4716 (sha256
4717 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4718 (build-system asdf-build-system/sbcl)
4719 (arguments
4720 ;; TODO: pull in clack-test
4721 '(#:tests? #f
4722 #:phases
4723 (modify-phases %standard-phases
4724 (delete 'cleanup-files)
4725 (delete 'cleanup)
4726 (add-before 'cleanup 'combine-fasls
4727 (lambda* (#:key outputs #:allow-other-keys)
4728 (let* ((out (assoc-ref outputs "out"))
4729 (lib (string-append out "/lib/sbcl"))
4730 (ningle-path (string-append lib "/ningle"))
4731 (fasl-files (find-files out "\\.fasl$")))
4732 (mkdir-p ningle-path)
4733 (let ((fasl-path (lambda (name)
4734 (string-append ningle-path
4735 "/"
4736 (basename name)
4737 "--system.fasl"))))
4738 (for-each (lambda (file)
4739 (rename-file file
4740 (fasl-path
4741 (basename file ".fasl"))))
4742 fasl-files))
4743 fasl-files)
4744 #t)))))
4745 (native-inputs
4746 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4747 ("sbcl-prove" ,sbcl-prove)))
4748 (inputs
4749 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4750 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4751 ("sbcl-myway" ,sbcl-myway)
4752 ("sbcl-lack-request" ,sbcl-lack-request)
4753 ("sbcl-lack-response" ,sbcl-lack-response)
4754 ("sbcl-lack-component" ,sbcl-lack-component)
4755 ("sbcl-alexandria" ,sbcl-alexandria)
4756 ("sbcl-babel" ,sbcl-babel)))
4757 (home-page "http://8arrow.org/ningle/")
4758 (synopsis "Super micro framework for Common Lisp")
4759 (description
4760 "Ningle is a lightweight web application framework for Common Lisp.")
4761 (license license:llgpl))))
4762
4763(define-public cl-ningle
4764 (sbcl-package->cl-source-package sbcl-ningle))
4765
4766(define-public sbcl-clack
4767 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4768 (revision "1"))
4769 (package
4770 (name "sbcl-clack")
4771 (version (git-version "2.0.0" revision commit))
4772 (source
4773 (origin
4774 (method git-fetch)
4775 (uri (git-reference
4776 (url "https://github.com/fukamachi/clack.git")
4777 (commit commit)))
4778 (file-name (git-file-name name version))
4779 (sha256
4780 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4781 (build-system asdf-build-system/sbcl)
4782 (inputs
4783 `(("sbcl-lack" ,sbcl-lack)
4784 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4785 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4786 (home-page "https://github.com/fukamachi/clack")
4787 (synopsis "Web Application Environment for Common Lisp")
4788 (description
4789 "Clack is a web application environment for Common Lisp inspired by
4790Python's WSGI and Ruby's Rack.")
4791 (license license:llgpl))))
4792
4793(define-public cl-clack
4794 (sbcl-package->cl-source-package sbcl-clack))
4795
4796(define-public sbcl-log4cl
4797 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4798 (revision "1"))
4799 (package
4800 (name "sbcl-log4cl")
4801 (build-system asdf-build-system/sbcl)
4802 (version "1.1.2")
4803 (source
4804 (origin
4805 (method git-fetch)
4806 (uri (git-reference
4807 (url "https://github.com/sharplispers/log4cl")
4808 (commit commit)))
4809 (file-name (git-file-name name version))
4810 (sha256
4811 (base32
4812 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4813 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4814 (arguments
4815 `(#:tests? #f))
4816 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4817 (synopsis "Common Lisp logging framework, modeled after Log4J")
4818 (home-page "https://github.com/7max/log4cl")
4819 (description "This is a Common Lisp logging framework that can log at
4820various levels and mix text with expressions.")
4821 (license license:asl2.0))))
4822
4823(define-public cl-log4cl
4824 (sbcl-package->cl-source-package sbcl-log4cl))
4825
4826(define-public ecl-log4cl
4827 (sbcl-package->ecl-package sbcl-log4cl))
4828
4829(define-public sbcl-find-port
4830 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4831 (revision "1"))
4832 (package
4833 (name "sbcl-find-port")
4834 (build-system asdf-build-system/sbcl)
4835 (version "0.1")
4836 (home-page "https://github.com/eudoxia0/find-port")
4837 (source
4838 (origin
4839 (method git-fetch)
4840 (uri (git-reference
4841 (url home-page)
4842 (commit commit)))
4843 (file-name (git-file-name name version))
4844 (sha256
4845 (base32
4846 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4847 (native-inputs
4848 `(("fiveam" ,sbcl-fiveam)))
4849 (inputs
4850 `(("sbcl-usocket" ,sbcl-usocket)))
4851 (synopsis "Find open ports programmatically in Common Lisp")
4852 (description "This is a small Common Lisp library that finds an open
4853port within a range.")
4854 (license license:expat))))
4855
4856(define-public cl-find-port
4857 (sbcl-package->cl-source-package sbcl-find-port))
4858
4859(define-public ecl-find-port
4860 (sbcl-package->ecl-package sbcl-find-port))
4861
4862(define-public sbcl-clunit
4863 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4864 (revision "1"))
4865 (package
4866 (name "sbcl-clunit")
4867 (version (git-version "0.2.3" revision commit))
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/tgutu/clunit.git")
4873 (commit commit)))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32
4877 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4878 (build-system asdf-build-system/sbcl)
4879 (synopsis "CLUnit is a Common Lisp unit testing framework")
4880 (description
4881 "CLUnit is a Common Lisp unit testing framework. It is designed
4882to be easy to use so that you can quickly start testing. CLUnit
4883provides a rich set of features aimed at improving your unit testing
4884experience.")
4885 (home-page "http://tgutu.github.io/clunit/")
4886 ;; MIT License
4887 (license license:expat))))
4888
4889(define-public cl-clunit
4890 (sbcl-package->cl-source-package sbcl-clunit))
4891
4892(define-public ecl-clunit
4893 (sbcl-package->ecl-package sbcl-clunit))
4894
4895(define-public sbcl-py4cl
4896 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4897 (revision "1"))
4898 (package
4899 (name "sbcl-py4cl")
4900 (version (git-version "0.0.0" revision commit))
4901 (source
4902 (origin
4903 (method git-fetch)
4904 (uri (git-reference
4905 (url "https://github.com/bendudson/py4cl.git")
4906 (commit commit)))
4907 (file-name (git-file-name name version))
4908 (sha256
4909 (base32
4910 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4911 (modules '((guix build utils)))))
4912 (build-system asdf-build-system/sbcl)
4913 (native-inputs
4914 `(("sbcl-clunit" ,sbcl-clunit)))
4915 (inputs
4916 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4917 (propagated-inputs
4918 ;; This package doesn't do anything without python available
4919 `(("python" ,python)
4920 ;; For multi-dimensional array support
4921 ("python-numpy" ,python-numpy)))
4922 (arguments
4923 '(#:phases
4924 (modify-phases %standard-phases
4925 (add-after 'unpack 'replace-*base-directory*-var
4926 (lambda* (#:key outputs #:allow-other-keys)
4927 ;; In the ASD, the author makes an attempt to
4928 ;; programatically determine the location of the
4929 ;; source-code so lisp can call into "py4cl.py". We can
4930 ;; hard-code this since we know where this file will
4931 ;; reside.
4932 (substitute* "src/callpython.lisp"
4933 (("py4cl/config:\\*base-directory\\*")
4934 (string-append
4935 "\""
4936 (assoc-ref outputs "out")
4937 "/share/common-lisp/sbcl-source/py4cl/"
4938 "\""))))))))
4939 (synopsis "Call python from Common Lisp")
4940 (description
4941 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4942Lisp to interact with Python code. It uses streams to communicate with a
4943separate python process, the approach taken by cl4py. This is different to
4944the CFFI approach used by burgled-batteries, but has the same goal.")
4945 (home-page "https://github.com/bendudson/py4cl")
4946 ;; MIT License
4947 (license license:expat))))
4948
4949(define-public cl-py4cl
4950 (sbcl-package->cl-source-package sbcl-py4cl))
4951
4952(define-public ecl-py4cl
4953 (sbcl-package->ecl-package sbcl-py4cl))
4954
4955(define-public sbcl-parse-declarations
4956 (package
4957 (name "sbcl-parse-declarations")
4958 (version "1.0.0")
4959 (source
4960 (origin
4961 (method url-fetch)
4962 (uri (string-append
4963 "http://beta.quicklisp.org/archive/parse-declarations/"
4964 "2010-10-06/parse-declarations-20101006-darcs.tgz"))
4965 (sha256
4966 (base32
4967 "0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd"))))
4968 (build-system asdf-build-system/sbcl)
4969 (arguments
4970 `(#:asd-file "parse-declarations-1.0.asd"
4971 #:asd-system-name "parse-declarations-1.0"))
4972 (home-page "https://common-lisp.net/project/parse-declarations/")
4973 (synopsis "Parse, filter, and build declarations")
4974 (description
4975 "Parse-Declarations is a Common Lisp library to help writing
4976macros which establish bindings. To be semantically correct, such
4977macros must take user declarations into account, as these may affect
4978the bindings they establish. Yet the ANSI standard of Common Lisp does
4979not provide any operators to work with declarations in a convenient,
4980high-level way. This library provides such operators.")
4981 ;; MIT License
4982 (license license:expat)))
4983
4984(define-public cl-parse-declarations
4985 (sbcl-package->cl-source-package sbcl-parse-declarations))
4986
4987(define-public ecl-parse-declarations
4988 (sbcl-package->ecl-package sbcl-parse-declarations))
4989
4990(define-public sbcl-cl-quickcheck
4991 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4992 (revision "1"))
4993 (package
4994 (name "sbcl-cl-quickcheck")
4995 (version (git-version "0.0.4" revision commit))
4996 (source
4997 (origin
4998 (method git-fetch)
4999 (uri (git-reference
5000 (url "https://github.com/mcandre/cl-quickcheck.git")
5001 (commit commit)))
5002 (file-name (git-file-name name version))
5003 (sha256
5004 (base32
5005 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5006 (build-system asdf-build-system/sbcl)
5007 (synopsis
5008 "Common Lisp port of the QuickCheck unit test framework")
5009 (description
5010 "Common Lisp port of the QuickCheck unit test framework")
5011 (home-page "https://github.com/mcandre/cl-quickcheck")
5012 ;; MIT
5013 (license license:expat))))
5014
5015(define-public cl-cl-quickcheck
5016 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5017
5018(define-public ecl-cl-quickcheck
5019 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5020
5021(define-public sbcl-burgled-batteries3
5022 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5023 (revision "1"))
5024 (package
5025 (name "sbcl-burgled-batteries3")
5026 (version (git-version "0.0.0" revision commit))
5027 (source
5028 (origin
5029 (method git-fetch)
5030 (uri (git-reference
5031 (url "https://github.com/snmsts/burgled-batteries3.git")
5032 (commit commit)))
5033 (file-name (git-file-name name version))
5034 (sha256
5035 (base32
5036 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5037 (build-system asdf-build-system/sbcl)
5038 (arguments
5039 '(#:tests? #f
5040 #:phases
5041 (modify-phases %standard-phases
5042 (add-after 'unpack 'set-*cpython-include-dir*-var
5043 (lambda* (#:key inputs #:allow-other-keys)
5044 (substitute* "grovel-include-dir.lisp"
5045 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5046 (string-append
5047 "(defparameter *cpython-include-dir* \""
5048 (assoc-ref inputs "python")
5049 "/include/python3.7m"
5050 "\")")))
5051 (substitute* "ffi-interface.lisp"
5052 (("\\*cpython-lib\\*")
5053 (format #f "'(\"~a/lib/libpython3.so\")"
5054 (assoc-ref inputs "python"))))
5055 #t)))))
5056 (native-inputs
5057 `(("python" ,python)
5058 ("sbcl-cl-fad" ,sbcl-cl-fad)
5059 ("sbcl-lift" ,sbcl-lift)
5060 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5061 (inputs
5062 `(("sbcl-cffi" ,sbcl-cffi)
5063 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5064 ("sbcl-alexandria" , sbcl-alexandria)
5065 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5066 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5067 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5068 (description
5069 "This package provides a shim between Python3 (specifically, the
5070CPython implementation of Python) and Common Lisp.")
5071 (home-page "https://github.com/snmsts/burgled-batteries3")
5072 ;; MIT
5073 (license license:expat))))
5074
5075(define-public cl-burgled-batteries3
5076 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5077
5078(define-public ecl-burgled-batteries3
5079 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5080
5081(define-public sbcl-metabang-bind
5082 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5083 (revision "1"))
5084 (package
5085 (name "sbcl-metabang-bind")
5086 (version (git-version "0.8.0" revision commit))
5087 (source
5088 (origin
5089 (method git-fetch)
5090 (uri (git-reference
5091 (url "https://github.com/gwkkwg/metabang-bind.git")
5092 (commit commit)))
5093 (file-name (git-file-name name version))
5094 (sha256
5095 (base32
5096 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5097 (build-system asdf-build-system/sbcl)
5098 (native-inputs
5099 `(("sbcl-lift" ,sbcl-lift)))
5100 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5101 (description
5102 "Bind extends the idea of of let and destructing to provide a uniform
5103syntax for all your accessor needs. It combines @code{let},
5104@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5105editing, property or association-lists, and @code{multiple-value-bind} and a
5106whole lot more into a single form.")
5107 (home-page "https://common-lisp.net/project/metabang-bind/")
5108 ;; MIT License
5109 (license license:expat))))
5110
5111(define-public cl-metabang-bind
5112 (sbcl-package->cl-source-package sbcl-metabang-bind))
5113
5114(define-public ecl-metabang-bind
5115 (sbcl-package->ecl-package sbcl-metabang-bind))
5116
5117(define-public sbcl-fare-utils
5118 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5119 (revision "1"))
5120 (package
5121 (name "sbcl-fare-utils")
5122 (version (git-version "1.0.0.5" revision commit))
5123 (source
5124 (origin
5125 (method git-fetch)
5126 (uri
5127 (git-reference
5128 (url
5129 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5130 (commit commit)))
5131 (file-name (git-file-name name version))
5132 (sha256
5133 (base32
5134 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5135 (build-system asdf-build-system/sbcl)
5136 (arguments
5137 `(#:test-asd-file "test/fare-utils-test.asd"))
5138 (native-inputs
5139 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5140 (synopsis "Collection of utilities and data structures")
5141 (description
5142 "fare-utils is a small collection of utilities. It contains a lot of
5143basic everyday functions and macros.")
5144 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5145 ;; MIT License
5146 (license license:expat))))
5147
5148(define-public cl-fare-utils
5149 (sbcl-package->cl-source-package sbcl-fare-utils))
5150
5151(define-public ecl-fare-utils
5152 (sbcl-package->ecl-package sbcl-fare-utils))
5153
5154(define-public sbcl-trivial-utf-8
5155 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5156 (revision "1"))
5157 (package
5158 (name "sbcl-trivial-utf-8")
5159 (version (git-version "0.0.0" revision commit))
5160 (source
5161 (origin
5162 (method git-fetch)
5163 (uri
5164 (git-reference
5165 (url (string-append "https://gitlab.common-lisp.net/"
5166 "trivial-utf-8/trivial-utf-8.git"))
5167 (commit commit)))
5168 (file-name (git-file-name name version))
5169 (sha256
5170 (base32
5171 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5172 (arguments
5173 ;; Guix incorrectly assumes the "8" is part of the version
5174 ;; number and lobs it off.
5175 `(#:asd-file "trivial-utf-8.asd"
5176 #:asd-system-name "trivial-utf-8"))
5177 (build-system asdf-build-system/sbcl)
5178 (synopsis "UTF-8 input/output library")
5179 (description
5180 "The Babel library solves a similar problem while understanding more
5181encodings. Trivial UTF-8 was written before Babel existed, but for new
5182projects you might be better off going with Babel. The one plus that Trivial
5183UTF-8 has is that it doesn't depend on any other libraries.")
5184 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5185 (license license:bsd-3))))
5186
5187(define-public cl-trivial-utf-8
5188 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5189
5190(define-public ecl-trivial-utf-8
5191 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5192
5193(define-public sbcl-idna
5194 (package
5195 (name "sbcl-idna")
5196 (build-system asdf-build-system/sbcl)
5197 (version "0.2.2")
5198 (home-page "https://github.com/antifuchs/idna")
5199 (source
5200 (origin
5201 (method git-fetch)
5202 (uri (git-reference
5203 (url home-page)
5204 (commit version)))
5205 (file-name (git-file-name name version))
5206 (sha256
5207 (base32
5208 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5209 (inputs
5210 `(("split-sequence" ,sbcl-split-sequence)))
5211 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5212 (description "This Common Lisp library provides string encoding and
5213decoding routines for IDNA, the International Domain Names in Applications.")
5214 (license license:expat)))
5215
5216(define-public cl-idna
5217 (sbcl-package->cl-source-package sbcl-idna))
5218
5219(define-public ecl-idna
5220 (sbcl-package->ecl-package sbcl-idna))
5221
5222(define-public sbcl-swap-bytes
5223 (package
5224 (name "sbcl-swap-bytes")
5225 (build-system asdf-build-system/sbcl)
dbf6de58 5226 (version "1.2")
88f06fd0
PN
5227 (home-page "https://github.com/sionescu/swap-bytes")
5228 (source
5229 (origin
5230 (method git-fetch)
5231 (uri (git-reference
5232 (url home-page)
5233 (commit (string-append "v" version))))
5234 (file-name (git-file-name name version))
5235 (sha256
5236 (base32
dbf6de58 5237 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5238 (inputs
5239 `(("trivial-features" ,sbcl-trivial-features)))
5240 (native-inputs
5241 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5242 (synopsis "Efficient endianness conversion for Common Lisp")
5243 (description "This Common Lisp library provides optimized byte-swapping
5244primitives. The library can change endianness of unsigned integers of length
52451/2/4/8. Very useful in implementing various network protocols and file
5246formats.")
5247 (license license:expat)))
5248
5249(define-public cl-swap-bytes
5250 (sbcl-package->cl-source-package sbcl-swap-bytes))
5251
5252(define-public ecl-swap-bytes
5253 (sbcl-package->ecl-package sbcl-swap-bytes))
5254
5255(define-public sbcl-iolib.asdf
5256 ;; Latest release is from June 2017.
5257 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5258 (revision "1"))
5259 (package
5260 (name "sbcl-iolib.asdf")
5261 (build-system asdf-build-system/sbcl)
5262 (version "0.8.3")
5263 (home-page "https://github.com/sionescu/iolib")
5264 (source
5265 (origin
5266 (method git-fetch)
5267 (uri (git-reference
5268 (url home-page)
5269 (commit commit)))
5270 (file-name (git-file-name name version))
5271 (sha256
5272 (base32
5273 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5274 (inputs
5275 `(("alexandria" ,sbcl-alexandria)))
5276 (arguments
5277 '(#:asd-file "iolib.asdf.asd"))
5278 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5279 (description "IOlib is to be a better and more modern I/O library than
5280the standard Common Lisp library. It contains a socket library, a DNS
5281resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5282and @code{kqueue(2)}), a pathname library and file-system utilities.")
5283 (license license:expat))))
5284
5285(define-public sbcl-iolib.conf
5286 (package
5287 (inherit sbcl-iolib.asdf)
5288 (name "sbcl-iolib.conf")
5289 (inputs
5290 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5291 (arguments
5292 '(#:asd-file "iolib.conf.asd"))
5293 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5294
5295(define-public sbcl-iolib.common-lisp
5296 (package
5297 (inherit sbcl-iolib.asdf)
5298 (name "sbcl-iolib.common-lisp")
5299 (inputs
5300 `(("iolib.asdf" ,sbcl-iolib.asdf)
5301 ("iolib.conf" ,sbcl-iolib.conf)))
5302 (arguments
5303 '(#:asd-file "iolib.common-lisp.asd"))
5304 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5305
5306(define-public sbcl-iolib.base
5307 (package
5308 (inherit sbcl-iolib.asdf)
5309 (name "sbcl-iolib.base")
5310 (inputs
5311 `(("iolib.asdf" ,sbcl-iolib.asdf)
5312 ("iolib.conf" ,sbcl-iolib.conf)
5313 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5314 ("split-sequence" ,sbcl-split-sequence)))
5315 (arguments
5316 '(#:asd-file "iolib.base.asd"))
5317 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5318
5319(define-public sbcl-iolib.grovel
5320 (package
5321 (inherit sbcl-iolib.asdf)
5322 (name "sbcl-iolib.grovel")
5323 (inputs
5324 `(("iolib.asdf" ,sbcl-iolib.asdf)
5325 ("iolib.conf" ,sbcl-iolib.conf)
5326 ("iolib.base", sbcl-iolib.base)
5327 ("cffi", sbcl-cffi)))
5328 (arguments
5329 '(#:asd-file "iolib.grovel.asd"
5330 #:phases
5331 (modify-phases %standard-phases
5332 (add-after 'install 'install-header
5333 (lambda* (#:key outputs #:allow-other-keys)
5334 ;; This header is required by sbcl-iolib.
5335 (install-file "src/grovel/grovel-common.h"
5336 (string-append (assoc-ref outputs "out")
5337 "/lib/sbcl"))
5338 #t)))))
5339 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5340
5341(define-public sbcl-iolib
5342 (package
5343 (inherit sbcl-iolib.asdf)
5344 (name "sbcl-iolib")
5345 (inputs
5346 `(("iolib.asdf" ,sbcl-iolib.asdf)
5347 ("iolib.conf" ,sbcl-iolib.conf)
5348 ("iolib.grovel" ,sbcl-iolib.grovel)
5349 ("iolib.base" ,sbcl-iolib.base)
5350 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5351 ("idna" ,sbcl-idna)
5352 ("swap-bytes" ,sbcl-swap-bytes)
5353 ("libfixposix" ,libfixposix)
5354 ("cffi" ,sbcl-cffi)))
5355 (native-inputs
5356 `(("fiveam" ,sbcl-fiveam)))
5357 (arguments
5358 '(#:asd-file "iolib.asd"
5359 #:asd-system-name "iolib"
5360 #:test-asd-file "iolib.tests.asd"
5361 #:phases
5362 (modify-phases %standard-phases
5363 (add-after 'unpack 'fix-paths
5364 (lambda* (#:key inputs #:allow-other-keys)
5365 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5366 (("\\(:default \"libfixposix\"\\)")
5367 (string-append
5368 "(:default \""
5369 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5370 ;; Socket tests need Internet access, disable them.
5371 (substitute* "iolib.tests.asd"
5372 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5373 "")))))))
5374 (synopsis "Common Lisp I/O library")))
5375
5376(define-public cl-iolib
5377 (sbcl-package->cl-source-package sbcl-iolib))
5378
5379(define sbcl-iolib+multiplex
5380 (package
5381 (inherit sbcl-iolib)
5382 (name "sbcl-iolib+multiplex")
5383 (arguments
5384 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5385 ((#:asd-system-name _) "iolib/multiplex")))))
5386
5387(define sbcl-iolib+syscalls
5388 (package
5389 (inherit sbcl-iolib)
5390 (name "sbcl-iolib+syscalls")
5391 (arguments
5392 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5393 ((#:asd-system-name _) "iolib/syscalls")))))
5394
5395(define sbcl-iolib+streams
5396 (package
5397 (inherit sbcl-iolib)
5398 (name "sbcl-iolib+streams")
5399 (arguments
5400 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5401 ((#:asd-system-name _) "iolib/streams")))))
5402
5403(define sbcl-iolib+sockets
5404 (package
5405 (inherit sbcl-iolib)
5406 (name "sbcl-iolib+sockets")
5407 (arguments
5408 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5409 ((#:asd-system-name _) "iolib/sockets")))))
5410
5411(define-public sbcl-ieee-floats
5412 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5413 (revision "1"))
5414 (package
5415 (name "sbcl-ieee-floats")
5416 (build-system asdf-build-system/sbcl)
5417 (version (git-version "20170924" revision commit))
5418 (home-page "https://github.com/marijnh/ieee-floats/")
5419 (source
5420 (origin
5421 (method git-fetch)
5422 (uri (git-reference
5423 (url home-page)
5424 (commit commit)))
5425 (file-name (git-file-name name version))
5426 (sha256
5427 (base32
5428 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5429 (native-inputs
5430 `(("fiveam" ,sbcl-fiveam)))
5431 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5432 (description "This is a Common Lisp library that allows to convert
5433floating point values to IEEE 754 binary representation.")
5434 (license license:bsd-3))))
5435
5436(define-public cl-ieee-floats
5437 (sbcl-package->cl-source-package sbcl-ieee-floats))
5438
5439(define sbcl-closure-common
5440 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5441 (revision "1"))
5442 (package
5443 (name "sbcl-closure-common")
5444 (build-system asdf-build-system/sbcl)
5445 (version (git-version "20101006" revision commit))
5446 (home-page "https://common-lisp.net/project/cxml/")
5447 (source
5448 (origin
5449 (method git-fetch)
5450 (uri (git-reference
5451 (url "https://github.com/sharplispers/closure-common")
5452 (commit commit)))
5453 (file-name (git-file-name name version))
5454 (sha256
5455 (base32
5456 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5457 (inputs
5458 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5459 ("babel" ,sbcl-babel)))
5460 (synopsis "Support Common Lisp library for CXML")
5461 (description "Closure-common is an internal helper library. The name
5462Closure is a reference to the web browser it was originally written for.")
5463 ;; TODO: License?
5464 (license #f))))
5465
5466(define-public sbcl-cxml+xml
5467 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5468 (revision "1"))
5469 (package
5470 (name "sbcl-cxml+xml")
5471 (build-system asdf-build-system/sbcl)
5472 (version (git-version "0.0.0" revision commit))
5473 (home-page "https://common-lisp.net/project/cxml/")
5474 (source
5475 (origin
5476 (method git-fetch)
5477 (uri (git-reference
5478 (url "https://github.com/sharplispers/cxml")
5479 (commit commit)))
5480 (file-name (git-file-name name version))
5481 (sha256
5482 (base32
5483 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5484 (inputs
5485 `(("closure-common" ,sbcl-closure-common)
5486 ("puri" ,sbcl-puri)
5487 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5488 (arguments
5489 `(#:asd-file "cxml.asd"
5490 #:asd-system-name "cxml/xml"))
5491 (synopsis "Common Lisp XML parser")
5492 (description "CXML implements a namespace-aware, validating XML 1.0
5493parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5494offered, one SAX-like, the other similar to StAX.")
5495 (license license:llgpl))))
5496
5497(define sbcl-cxml+dom
5498 (package
5499 (inherit sbcl-cxml+xml)
5500 (name "sbcl-cxml+dom")
5501 (inputs
5502 `(("closure-common" ,sbcl-closure-common)
5503 ("puri" ,sbcl-puri)
5504 ("cxml+xml" ,sbcl-cxml+xml)))
5505 (arguments
5506 `(#:asd-file "cxml.asd"
5507 #:asd-system-name "cxml/dom"))))
5508
5509(define sbcl-cxml+klacks
5510 (package
5511 (inherit sbcl-cxml+xml)
5512 (name "sbcl-cxml+klacks")
5513 (inputs
5514 `(("closure-common" ,sbcl-closure-common)
5515 ("puri" ,sbcl-puri)
5516 ("cxml+xml" ,sbcl-cxml+xml)))
5517 (arguments
5518 `(#:asd-file "cxml.asd"
5519 #:asd-system-name "cxml/klacks"))))
5520
5521(define sbcl-cxml+test
5522 (package
5523 (inherit sbcl-cxml+xml)
5524 (name "sbcl-cxml+test")
5525 (inputs
5526 `(("closure-common" ,sbcl-closure-common)
5527 ("puri" ,sbcl-puri)
5528 ("cxml+xml" ,sbcl-cxml+xml)))
5529 (arguments
5530 `(#:asd-file "cxml.asd"
5531 #:asd-system-name "cxml/test"))))
5532
5533(define-public sbcl-cxml
5534 (package
5535 (inherit sbcl-cxml+xml)
5536 (name "sbcl-cxml")
5537 (inputs
5538 `(("closure-common" ,sbcl-closure-common)
5539 ("puri" ,sbcl-puri)
5540 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5541 ("cxml+dom" ,sbcl-cxml+dom)
5542 ("cxml+klacks" ,sbcl-cxml+klacks)
5543 ("cxml+test" ,sbcl-cxml+test)))
5544 (arguments
5545 `(#:asd-file "cxml.asd"
5546 #:asd-system-name "cxml"
5547 #:phases
5548 (modify-phases %standard-phases
5549 (add-after 'build 'install-dtd
5550 (lambda* (#:key outputs #:allow-other-keys)
5551 (install-file "catalog.dtd"
5552 (string-append
5553 (assoc-ref outputs "out")
5554 "/lib/" (%lisp-type)))))
5555 (add-after 'create-asd 'remove-component
5556 ;; XXX: The original .asd has no components, but our build system
5557 ;; creates an entry nonetheless. We need to remove it for the
5558 ;; generated .asd to load properly. See trivia.trivial for a
5559 ;; similar problem.
5560 (lambda* (#:key outputs #:allow-other-keys)
5561 (let* ((out (assoc-ref outputs "out"))
5562 (asd (string-append out "/lib/sbcl/cxml.asd")))
5563 (substitute* asd
5564 ((" :components
5565")
5566 ""))
5567 (substitute* asd
5568 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5569 ""))))))))))
5570
5571(define-public cl-cxml
5572 (sbcl-package->cl-source-package sbcl-cxml))
5573
5574(define-public sbcl-cl-reexport
5575 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5576 (revision "1"))
5577 (package
5578 (name "sbcl-cl-reexport")
5579 (build-system asdf-build-system/sbcl)
5580 (version (git-version "0.1" revision commit))
5581 (home-page "https://github.com/takagi/cl-reexport")
5582 (source
5583 (origin
5584 (method git-fetch)
5585 (uri (git-reference
5586 (url home-page)
5587 (commit commit)))
5588 (file-name (git-file-name name version))
5589 (sha256
5590 (base32
5591 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5592 (inputs
5593 `(("alexandria" ,sbcl-alexandria)))
5594 (arguments
5595 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5596 `(#:tests? #f))
5597 (synopsis "HTTP cookie manager for Common Lisp")
5598 (description "cl-cookie is a Common Lisp library featuring parsing of
5599cookie headers, cookie creation, cookie jar creation and more.")
5600 (license license:llgpl))))
5601
5602(define-public cl-reexport
5603 (sbcl-package->cl-source-package sbcl-cl-reexport))
5604
5605(define-public sbcl-cl-cookie
5606 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5607 (revision "1"))
5608 (package
5609 (name "sbcl-cl-cookie")
5610 (build-system asdf-build-system/sbcl)
5611 (version (git-version "0.9.10" revision commit))
5612 (home-page "https://github.com/fukamachi/cl-cookie")
5613 (source
5614 (origin
5615 (method git-fetch)
5616 (uri (git-reference
5617 (url home-page)
5618 (commit commit)))
5619 (file-name (git-file-name name version))
5620 (sha256
5621 (base32
5622 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5623 (inputs
5624 `(("proc-parse" ,sbcl-proc-parse)
5625 ("alexandria" ,sbcl-alexandria)
5626 ("quri" ,sbcl-quri)
5627 ("cl-ppcre" ,sbcl-cl-ppcre)
5628 ("local-time" ,sbcl-local-time)))
5629 (native-inputs
5630 `(("prove-asdf" ,sbcl-prove-asdf)
5631 ("prove" ,sbcl-prove)))
5632 (arguments
5633 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5634 `(#:tests? #f))
5635 (synopsis "HTTP cookie manager for Common Lisp")
5636 (description "cl-cookie is a Common Lisp library featuring parsing of
5637cookie headers, cookie creation, cookie jar creation and more.")
5638 (license license:bsd-2))))
5639
5640(define-public cl-cookie
5641 (sbcl-package->cl-source-package sbcl-cl-cookie))
5642
5643(define-public sbcl-dexador
5644 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5645 (revision "1"))
5646 (package
5647 (name "sbcl-dexador")
5648 (build-system asdf-build-system/sbcl)
5649 (version (git-version "0.9.10" revision commit))
5650 (home-page "https://github.com/fukamachi/dexador")
5651 (source
5652 (origin
5653 (method git-fetch)
5654 (uri (git-reference
5655 (url home-page)
5656 (commit commit)))
5657 (file-name (git-file-name name version))
5658 (sha256
5659 (base32
5660 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5661 (inputs
5662 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5663 ("babel" ,sbcl-babel)
5664 ("usocket" ,sbcl-usocket)
5665 ("fast-http" ,sbcl-fast-http)
5666 ("quri" ,sbcl-quri)
5667 ("fast-io" ,sbcl-fast-io)
5668 ("chunga" ,sbcl-chunga)
5669 ("cl-ppcre" ,sbcl-cl-ppcre)
5670 ("cl-cookie" ,sbcl-cl-cookie)
5671 ("trivial-mimes" ,sbcl-trivial-mimes)
5672 ("chipz" ,sbcl-chipz)
5673 ("cl-base64" ,sbcl-cl-base64)
5674 ("cl-reexport" ,sbcl-cl-reexport)
5675 ("cl+ssl" ,sbcl-cl+ssl)
5676 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5677 ("alexandria" ,sbcl-alexandria)))
5678 (native-inputs
5679 `(("prove" ,sbcl-prove)
5680 ("prove-asdf" ,sbcl-prove-asdf)
5681 ("lack-request" ,sbcl-lack-request)
5682 ("clack" ,sbcl-clack)
5683 ("babel" ,sbcl-babel)
5684 ("alexandria" ,sbcl-alexandria)
5685 ("cl-ppcre" ,sbcl-cl-ppcre)
5686 ("local-time" ,sbcl-local-time)))
5687 (arguments
5688 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5689 `(#:tests? #f
5690 #:phases
5691 (modify-phases %standard-phases
5692 (add-after 'unpack 'fix-permissions
5693 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5694 (synopsis "Yet another HTTP client for Common Lisp")
5695 (description "Dexador is yet another HTTP client for Common Lisp with
5696neat APIs and connection-pooling. It is meant to supersede Drakma.")
5697 (license license:expat))))
5698
5699(define-public cl-dexador
5700 (package
5701 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5702 (arguments
5703 `(#:phases
5704 ;; asdf-build-system/source has its own phases and does not inherit
5705 ;; from asdf-build-system/sbcl phases.
5706 (modify-phases %standard-phases/source
5707 (add-after 'unpack 'fix-permissions
5708 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5709
5710(define-public ecl-dexador
5711 (sbcl-package->ecl-package sbcl-dexador))
5712
5713(define-public sbcl-lisp-namespace
5714 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5715 (revision "1"))
5716 (package
5717 (name "sbcl-lisp-namespace")
5718 (build-system asdf-build-system/sbcl)
5719 (version (git-version "0.1" revision commit))
5720 (home-page "https://github.com/guicho271828/lisp-namespace")
5721 (source
5722 (origin
5723 (method git-fetch)
5724 (uri (git-reference
5725 (url home-page)
5726 (commit commit)))
5727 (file-name (git-file-name name version))
5728 (sha256
5729 (base32
5730 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5731 (inputs
5732 `(("alexandria" ,sbcl-alexandria)))
5733 (native-inputs
5734 `(("fiveam" ,sbcl-fiveam)))
5735 (arguments
5736 `(#:test-asd-file "lisp-namespace.test.asd"
5737 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5738 #:tests? #f))
5739 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5740 (description "Common Lisp already has major 2 namespaces, function
5741namespace and value namespace (or variable namespace), but there are actually
5742more — e.g., class namespace.
5743This library offers macros to deal with symbols from any namespace.")
5744 (license license:llgpl))))
5745
5746(define-public cl-lisp-namespace
5747 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5748
5749(define-public sbcl-trivial-cltl2
5750 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5751 (revision "1"))
5752 (package
5753 (name "sbcl-trivial-cltl2")
5754 (build-system asdf-build-system/sbcl)
5755 (version (git-version "0.1.1" revision commit))
5756 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5757 (source
5758 (origin
5759 (method git-fetch)
5760 (uri (git-reference
5761 (url home-page)
5762 (commit commit)))
5763 (file-name (git-file-name name version))
5764 (sha256
5765 (base32
5766 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5767 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5768 (description "This library is a portable compatibility layer around
5769\"Common Lisp the Language, 2nd
5770Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5771and it exports symbols from implementation-specific packages.")
5772 (license license:llgpl))))
5773
5774(define-public cl-trivial-cltl2
5775 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5776
5777(define-public sbcl-introspect-environment
5778 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5779 (revision "1"))
5780 (package
5781 (name "sbcl-introspect-environment")
5782 (build-system asdf-build-system/sbcl)
5783 (version (git-version "0.1" revision commit))
5784 (home-page "https://github.com/Bike/introspect-environment")
5785 (source
5786 (origin
5787 (method git-fetch)
5788 (uri (git-reference
5789 (url home-page)
5790 (commit commit)))
5791 (file-name (git-file-name name version))
5792 (sha256
5793 (base32
5794 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5795 (native-inputs
5796 `(("fiveam" ,sbcl-fiveam)))
5797 (synopsis "Common Lisp environment introspection portability layer")
5798 (description "This library is a small interface to portable but
5799nonstandard introspection of Common Lisp environments. It is intended to
5800allow a bit more compile-time introspection of environments in Common Lisp.
5801
5802Quite a bit of information is available at the time a macro or compiler-macro
5803runs; inlining info, type declarations, that sort of thing. This information
5804is all standard - any Common Lisp program can @code{(declare (integer x))} and
5805such.
5806
5807This info ought to be accessible through the standard @code{&environment}
5808parameters, but it is not. Several implementations keep the information for
5809their own purposes but do not make it available to user programs, because
5810there is no standard mechanism to do so.
5811
5812This library uses implementation-specific hooks to make information available
5813to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5814implementations have implementations of the functions that do as much as they
5815can and/or provide reasonable defaults.")
5816 (license license:wtfpl2))))
5817
5818(define-public cl-introspect-environment
5819 (sbcl-package->cl-source-package sbcl-introspect-environment))
5820
5821(define-public sbcl-type-i
5822 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5823 (revision "1"))
5824 (package
5825 (name "sbcl-type-i")
5826 (build-system asdf-build-system/sbcl)
5827 (version (git-version "0.1" revision commit))
5828 (home-page "https://github.com/guicho271828/type-i")
5829 (source
5830 (origin
5831 (method git-fetch)
5832 (uri (git-reference
5833 (url home-page)
5834 (commit commit)))
5835 (file-name (git-file-name name version))
5836 (sha256
5837 (base32
5838 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5839 (inputs
5840 `(("alexandria" ,sbcl-alexandria)
5841 ("introspect-environment" ,sbcl-introspect-environment)
5842 ("trivia.trivial" ,sbcl-trivia.trivial)))
5843 (native-inputs
5844 `(("fiveam" ,sbcl-fiveam)))
5845 (arguments
5846 `(#:test-asd-file "type-i.test.asd"))
5847 (synopsis "Type inference utility on unary predicates for Common Lisp")
5848 (description "This library tries to provide a way to detect what kind of
5849type the given predicate is trying to check. This is different from inferring
5850the return type of a function.")
5851 (license license:llgpl))))
5852
5853(define-public cl-type-i
5854 (sbcl-package->cl-source-package sbcl-type-i))
5855
5856(define-public sbcl-optima
5857 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5858 (revision "1"))
5859 (package
5860 (name "sbcl-optima")
5861 (build-system asdf-build-system/sbcl)
5862 (version (git-version "1.0" revision commit))
5863 (home-page "https://github.com/m2ym/optima")
5864 (source
5865 (origin
5866 (method git-fetch)
5867 (uri (git-reference
5868 (url home-page)
5869 (commit commit)))
5870 (file-name (git-file-name name version))
5871 (sha256
5872 (base32
5873 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5874 (inputs
5875 `(("alexandria" ,sbcl-alexandria)
5876 ("closer-mop" ,sbcl-closer-mop)))
5877 (native-inputs
5878 `(("eos" ,sbcl-eos)))
5879 (arguments
5880 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5881 `(#:tests? #f
5882 #:test-asd-file "optima.test.asd"))
5883 (synopsis "Optimized pattern matching library for Common Lisp")
5884 (description "Optima is a fast pattern matching library which uses
5885optimizing techniques widely used in the functional programming world.")
5886 (license license:expat))))
5887
5888(define-public cl-optima
5889 (sbcl-package->cl-source-package sbcl-optima))
5890
5891(define-public sbcl-fare-quasiquote
5892 (package
5893 (name "sbcl-fare-quasiquote")
5894 (build-system asdf-build-system/sbcl)
5895 (version "20171130")
5896 (home-page "http://common-lisp.net/project/fare-quasiquote")
5897 (source
5898 (origin
5899 (method url-fetch)
5900 (uri (string-append "http://beta.quicklisp.org/archive/fare-quasiquote/"
5901 (date->string (string->date version "~Y~m~d") "~Y-~m-~d")
5902 "/fare-quasiquote-"
5903 version
5904 "-git.tgz"))
5905 (sha256
5906 (base32
5907 "00brmh7ndsi0c97nibi8cy10j3l4gmkyrfrr5jr5lzkfb7ngyfqa"))))
5908 (inputs
5909 `(("fare-utils" ,sbcl-fare-utils)))
5910 (arguments
5911 ;; XXX: Circular dependencies: Tests depend on subsystems, which depend on the main systems.
5912 `(#:tests? #f
5913 #:phases
5914 (modify-phases %standard-phases
5915 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5916 ;; commits after 1.0.0.5, but ASDF fails to read the
5917 ;; "-REVISION-COMMIT" part generated by Guix.
5918 (add-after 'unpack 'patch-requirement
5919 (lambda _
5920 (substitute* "fare-quasiquote.asd"
5921 (("\\(:version \"fare-utils\" \"1.0.0\"\\)") "\"fare-utils\"")))))))
5922 (synopsis "Pattern-matching friendly implementation of quasiquote for Common Lisp")
5923 (description "The main purpose of this n+2nd reimplementation of
5924quasiquote is enable matching of quasiquoted patterns, using Optima or
5925Trivia.")
5926 (license license:expat)))
5927
5928(define-public cl-fare-quasiquote
5929 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5930
5931(define-public sbcl-fare-quasiquote-optima
5932 (package
5933 (inherit sbcl-fare-quasiquote)
5934 (name "sbcl-fare-quasiquote-optima")
5935 (inputs
5936 `(("optima" ,sbcl-optima)
5937 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
5938 (arguments
5939 '(#:phases
5940 (modify-phases %standard-phases
5941 (add-after 'unpack 'patch-requirement
5942 (lambda _
5943 (substitute* "fare-quasiquote-optima.asd"
5944 (("\\(:version \"optima\" \"1\\.0\"\\)")
5945 "\"optima\""))
5946 #t)))))))
5947
5948(define-public cl-fare-quasiquote-optima
5949 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
5950
5951(define-public sbcl-fare-quasiquote-readtable
5952 (package
5953 (inherit sbcl-fare-quasiquote)
5954 (name "sbcl-fare-quasiquote-readtable")
5955 (inputs
5956 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
5957 ("named-readtables" ,sbcl-named-readtables)))
5958 (description "The main purpose of this n+2nd reimplementation of
5959quasiquote is enable matching of quasiquoted patterns, using Optima or
5960Trivia.
5961
5962This package uses fare-quasiquote with named-readtable.")))
5963
5964(define-public cl-fare-quasiquote-readtable
5965 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
5966
5967;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
5968(define-public sbcl-fare-quasiquote-extras
5969 (package
5970 (inherit sbcl-fare-quasiquote)
5971 (name "sbcl-fare-quasiquote-extras")
5972 (build-system asdf-build-system/sbcl)
5973 (inputs
5974 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
5975 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
5976 (arguments
5977 `(#:phases
5978 (modify-phases %standard-phases
5979 (replace 'build
5980 (lambda* (#:key outputs #:allow-other-keys)
5981 (let* ((out (assoc-ref outputs "out"))
5982 (lib (string-append out "/lib/" (%lisp-type))))
5983 (mkdir-p lib)
5984 (install-file "fare-quasiquote-extras.asd" lib)
5985 #t)))
5986 (add-after 'create-asd-file 'fix-asd-file
5987 (lambda* (#:key outputs #:allow-other-keys)
5988 (let* ((out (assoc-ref outputs "out"))
5989 (lib (string-append out "/lib/" (%lisp-type)))
5990 (asd (string-append lib "/fare-quasiquote-extras.asd")))
5991 (substitute* asd
5992 ((":class")
5993 "")
5994 (("asdf/bundle:prebuilt-system")
5995 "")
5996 ((":components")
5997 "")
5998 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
5999 "")))
6000 #t)))))
6001 (description "This library combines @code{fare-quasiquote-readtable} and
6002@code{fare-quasiquote-optima}.")))
6003
88f06fd0
PN
6004(define-public cl-fare-quasiquote-extras
6005 (package
6006 (inherit cl-fare-quasiquote)
6007 (name "cl-fare-quasiquote-extras")
6008 (build-system asdf-build-system/source)
6009 (propagated-inputs
6010 `(("fare-quasiquote" ,cl-fare-quasiquote)
6011 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6012 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6013 (description "This library combines @code{fare-quasiquote-readtable} and
6014@code{fare-quasiquote-optima}.")))
6015
6016(define-public sbcl-trivia.level0
6017 (let ((commit "902e0c65602bbfe96ae82e679330b3771ddc7603")
6018 (revision "1"))
6019 (package
6020 (name "sbcl-trivia.level0")
6021 (build-system asdf-build-system/sbcl)
6022 (version (git-version "0.0.0" revision commit))
6023 (home-page "https://github.com/guicho271828/trivia")
6024 (source
6025 (origin
6026 (method git-fetch)
6027 (uri (git-reference
6028 (url home-page)
6029 (commit commit)))
6030 (file-name (git-file-name name version))
6031 (sha256
6032 (base32
6033 "11qbab30qqnfy9mx3x9fvgcw1jbvh1qn2cqv3p8xdn2m8981jvhr"))))
6034 (inputs
6035 `(("alexandria" ,sbcl-alexandria)))
6036 (synopsis "Pattern matching in Common Lisp")
6037 (description "Trivia is a pattern matching compiler that is compatible
6038with Optima, another pattern matching library for Common Lisp. It is meant to
6039be faster and more extensible than Optima.")
6040 (license license:llgpl))))
6041
6042(define-public sbcl-trivia.level1
6043 (package
6044 (inherit sbcl-trivia.level0)
6045 (name "sbcl-trivia.level1")
6046 (inputs
6047 `(("trivia.level0" ,sbcl-trivia.level0)))
6048 (description "Trivia is a pattern matching compiler that is compatible
6049with Optima, another pattern matching library for Common Lisp. It is meant to
6050be faster and more extensible than Optima.
6051
6052This system contains the core patterns of Trivia.")))
6053
6054(define-public sbcl-trivia.level2
6055 (package
6056 (inherit sbcl-trivia.level0)
6057 (name "sbcl-trivia.level2")
6058 (inputs
6059 `(("trivia.level1" ,sbcl-trivia.level1)
6060 ("lisp-namespace" ,sbcl-lisp-namespace)
6061 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6062 ("closer-mop" ,sbcl-closer-mop)))
6063 (description "Trivia is a pattern matching compiler that is compatible
6064with Optima, another pattern matching library for Common Lisp. It is meant to
6065be faster and more extensible than Optima.
6066
6067This system contains a non-optimized pattern matcher compatible with Optima,
6068with extensible optimizer interface.")))
6069
6070(define-public sbcl-trivia.trivial
6071 (package
6072 (inherit sbcl-trivia.level0)
6073 (name "sbcl-trivia.trivial")
6074 (inputs
6075 `(("trivia.level2" ,sbcl-trivia.level2)))
6076 (arguments
6077 `(#:phases
6078 (modify-phases %standard-phases
6079 (replace 'create-asd-file
6080 (lambda* (#:key outputs inputs #:allow-other-keys)
6081 (let* ((out (assoc-ref outputs "out"))
6082 (lib (string-append out "/lib/" (%lisp-type)))
6083 (level2 (assoc-ref inputs "trivia.level2")))
6084 (mkdir-p lib)
6085 (install-file "trivia.trivial.asd" lib)
6086 ;; XXX: This .asd does not have any component and the build
6087 ;; system fails to work in this case. We should update the
6088 ;; build system to handle component-less .asd.
6089 ;; TODO: How do we append to file in Guile? It seems that
6090 ;; (open-file ... "a") gets a "Permission denied".
6091 (substitute* (string-append lib "/trivia.trivial.asd")
6092 (("\"\\)")
6093 (string-append "\")
6094
6095(progn (asdf/source-registry:ensure-source-registry)
6096 (setf (gethash
6097 \"trivia.level2\"
6098 asdf/source-registry:*source-registry*)
6099 #p\""
6100 level2
6101 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6102 (description "Trivia is a pattern matching compiler that is compatible
6103with Optima, another pattern matching library for Common Lisp. It is meant to
6104be faster and more extensible than Optima.
6105
6106This system contains the base level system of Trivia with a trivial optimizer.")))
6107
6108(define-public sbcl-trivia.balland2006
6109 (package
6110 (inherit sbcl-trivia.level0)
6111 (name "sbcl-trivia.balland2006")
6112 (inputs
6113 `(("trivia.trivial" ,sbcl-trivia.trivial)
6114 ("iterate" ,sbcl-iterate)
6115 ("type-i" ,sbcl-type-i)
6116 ("alexandria" ,sbcl-alexandria)))
6117 (arguments
6118 ;; Tests are done in trivia itself.
6119 `(#:tests? #f))
6120 (description "Trivia is a pattern matching compiler that is compatible
6121with Optima, another pattern matching library for Common Lisp. It is meant to
6122be faster and more extensible than Optima.
6123
6124This system contains the base level system of Trivia with a trivial optimizer.")))
6125
6126(define-public sbcl-trivia.ppcre
6127 (package
6128 (inherit sbcl-trivia.level0)
6129 (name "sbcl-trivia.ppcre")
6130 (inputs
6131 `(("trivia.trivial" ,sbcl-trivia.trivial)
6132 ("cl-ppcre" ,sbcl-cl-ppcre)))
6133 (description "Trivia is a pattern matching compiler that is compatible
6134with Optima, another pattern matching library for Common Lisp. It is meant to
6135be faster and more extensible than Optima.
6136
6137This system contains the PPCRE extension.")))
6138
6139(define-public sbcl-trivia.quasiquote
6140 (package
6141 (inherit sbcl-trivia.level0)
6142 (name "sbcl-trivia.quasiquote")
6143 (inputs
6144 `(("trivia.trivial" ,sbcl-trivia.trivial)
6145 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6146 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6147 (description "Trivia is a pattern matching compiler that is compatible
6148with Optima, another pattern matching library for Common Lisp. It is meant to
6149be faster and more extensible than Optima.
6150
6151This system contains the fare-quasiquote extension.")))
6152
6153(define-public sbcl-trivia.cffi
6154 (package
6155 (inherit sbcl-trivia.level0)
6156 (name "sbcl-trivia.cffi")
6157 (inputs
6158 `(("cffi" ,sbcl-cffi)
6159 ("trivia.trivial" ,sbcl-trivia.trivial)))
6160 (description "Trivia is a pattern matching compiler that is compatible
6161with Optima, another pattern matching library for Common Lisp. It is meant to
6162be faster and more extensible than Optima.
6163
6164This system contains the CFFI foreign slot access extension.")))
6165
6166(define-public sbcl-trivia
6167 (package
6168 (inherit sbcl-trivia.level0)
6169 (name "sbcl-trivia")
6170 (inputs
6171 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6172 (native-inputs
6173 `(("fiveam" ,sbcl-fiveam)
6174 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6175 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6176 ("trivia.cffi" ,sbcl-trivia.cffi)
6177 ("optima" ,sbcl-optima)))
6178 (arguments
6179 `(#:test-asd-file "trivia.test.asd"
6180 #:phases
6181 (modify-phases %standard-phases
6182 (add-after 'create-asd 'remove-component
6183 ;; XXX: The original .asd has no components, but our build system
6184 ;; creates an entry nonetheless. We need to remove it for the
6185 ;; generated .asd to load properly. See trivia.trivial for a
6186 ;; similar problem.
6187 (lambda* (#:key outputs #:allow-other-keys)
6188 (let* ((out (assoc-ref outputs "out"))
6189 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6190 (substitute* asd
6191 ((" :components
6192")
6193 ""))
6194 (substitute* asd
6195 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6196 ""))))))))
6197 (description "Trivia is a pattern matching compiler that is compatible
6198with Optima, another pattern matching library for Common Lisp. It is meant to
6199be faster and more extensible than Optima.")))
6200
6201(define-public cl-trivia
6202 (sbcl-package->cl-source-package sbcl-trivia))
6203
6204(define-public sbcl-mk-string-metrics
6205 (package
6206 (name "sbcl-mk-string-metrics")
6207 (version "0.1.2")
6208 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6209 (source (origin
6210 (method git-fetch)
6211 (uri (git-reference
6212 (url home-page)
6213 (commit version)))
6214 (sha256
6215 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6216 (file-name (git-file-name name version))))
6217 (build-system asdf-build-system/sbcl)
6218 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6219 (description "This library implements efficient algorithms that calculate
6220various string metrics in Common Lisp:
6221
6222@itemize
6223@item Damerau-Levenshtein distance
6224@item Hamming distance
6225@item Jaccard similarity coefficient
6226@item Jaro distance
6227@item Jaro-Winkler distance
6228@item Levenshtein distance
6229@item Normalized Damerau-Levenshtein distance
6230@item Normalized Levenshtein distance
6231@item Overlap coefficient
6232@end itemize\n")
6233 (license license:x11)))
6234
6235(define-public cl-mk-string-metrics
6236 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6237
6238(define-public sbcl-cl-str
6239 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6240 (package
6241 (name "sbcl-cl-str")
6242 (version (git-version "0.8" "1" commit))
6243 (home-page "https://github.com/vindarel/cl-str")
6244 (source (origin
6245 (method git-fetch)
6246 (uri (git-reference
6247 (url home-page)
6248 (commit commit)))
6249 (sha256
6250 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6251 (file-name (git-file-name name version))))
6252 (build-system asdf-build-system/sbcl)
6253 (inputs
6254 `(("cl-ppcre" ,sbcl-cl-ppcre)
6255 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6256 (native-inputs
6257 `(("prove" ,sbcl-prove)
6258 ("prove-asdf" ,sbcl-prove-asdf)))
6259 (arguments
6260 `(#:asd-file "str.asd"
6261 #:asd-system-name "str"
6262 #:test-asd-file "str.test.asd"))
6263 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6264 (description "A modern and consistent Common Lisp string manipulation
6265library that focuses on modernity, simplicity and discoverability:
6266@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6267@code{str:concat strings} instead of an unusual format construct; one
6268discoverable library instead of many; consistency and composability, where
6269@code{s} is always the last argument, which makes it easier to feed pipes and
6270arrows.")
6271 (license license:expat))))
6272
6273(define-public cl-str
6274 (sbcl-package->cl-source-package sbcl-cl-str))
6275
6276(define-public sbcl-cl-xmlspam
6277 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6278 (package
6279 (name "sbcl-cl-xmlspam")
6280 (build-system asdf-build-system/sbcl)
6281 (version (git-version "0.0.0" "1" commit))
6282 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6283 (source
6284 (origin
6285 (method git-fetch)
6286 (uri (git-reference
6287 (url home-page)
6288 (commit commit)))
6289 (file-name (string-append name "-" version))
6290 (sha256
6291 (base32
6292 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6293 (inputs
6294 `(("cxml" ,sbcl-cxml)
6295 ("cl-ppcre" ,sbcl-cl-ppcre)))
6296 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6297 (description "CXML does an excellent job at parsing XML elements, but what
6298do you do when you have a XML file that's larger than you want to fit in
6299memory, and you want to extract some information from it? Writing code to deal
6300with SAX events, or even using Klacks, quickly becomes tedious.
6301@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6302to write code that mirrors the structure of the XML that it's parsing. It
6303also makes it easy to shift paradigms when necessary - the usual Lisp control
6304constructs can be used interchangeably with pattern matching, and the full
6305power of CXML is available when necessary.")
6306 (license license:bsd-3))))
6307
6308;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6309;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6310;; asdf-build-system/sbcl.
6311(define-public cl-dbus
6312 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6313 (revision "1"))
6314 (package
6315 (name "cl-dbus")
6316 (build-system asdf-build-system/source)
6317 (version (git-version "20190408" revision commit))
6318 (home-page "https://github.com/death/dbus")
6319 (source
6320 (origin
6321 (method git-fetch)
6322 (uri (git-reference
6323 (url home-page)
6324 (commit commit)))
6325 (file-name (git-file-name name version))
6326 (sha256
6327 (base32
6328 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6329 ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
6330 (propagated-inputs
6331 `(("alexandria" ,sbcl-alexandria)
6332 ("trivial-garbage" ,sbcl-trivial-garbage)
6333 ("babel" ,sbcl-babel)
6334 ("iolib" ,sbcl-iolib)
6335 ("iolib+multiplex" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+multiplex))
6336 ("iolib+syscalls" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+syscalls))
6337 ("iolib+streams" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+streams))
6338 ("iolib+sockets" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+sockets))
6339 ("ieee-floats" ,sbcl-ieee-floats)
6340 ("flexi-streams" ,sbcl-flexi-streams)
6341 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6342 ("ironclad" ,sbcl-ironclad)))
6343 (synopsis "D-Bus client library for Common Lisp")
6344 (description "This is a Common Lisp library that allows to publish D-Bus
6345objects as well as send and notify other objects connected to a bus.")
6346 (license license:bsd-2))))
6347
6348(define-public sbcl-cl-hooks
6349 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6350 (revision "1"))
6351 (package
6352 (name "sbcl-cl-hooks")
6353 (build-system asdf-build-system/sbcl)
6354 (version (git-version "0.2.1" revision commit))
6355 (home-page "https://github.com/scymtym/architecture.hooks")
6356 (source
6357 (origin
6358 (method git-fetch)
6359 (uri (git-reference
6360 (url home-page)
6361 (commit commit)))
6362 (file-name (git-file-name name version))
6363 (sha256
6364 (base32
6365 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6366 (inputs
6367 `(("alexandria" ,sbcl-alexandria)
6368 ("let-plus" ,sbcl-let-plus)
6369 ("trivial-garbage" ,sbcl-trivial-garbage)
6370 ("closer-mop" ,sbcl-closer-mop)))
6371 (native-inputs
6372 `(("fiveam" ,sbcl-fiveam)))
6373 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6374 (description "A hook, in the present context, is a certain kind of
6375extension point in a program that allows interleaving the execution of
6376arbitrary code with the execution of a the program without introducing any
6377coupling between the two. Hooks are used extensively in the extensible editor
6378Emacs.
6379
6380In the Common LISP Object System (CLOS), a similar kind of extensibility is
6381possible using the flexible multi-method dispatch mechanism. It may even seem
6382that the concept of hooks does not provide any benefits over the possibilities
6383of CLOS. However, there are some differences:
6384
6385@itemize
6386
6387@item There can be only one method for each combination of specializers and
6388qualifiers. As a result this kind of extension point cannot be used by
6389multiple extensions independently.
6390@item Removing code previously attached via a @code{:before}, @code{:after} or
6391@code{:around} method can be cumbersome.
6392@item There could be other or even multiple extension points besides @code{:before}
6393and @code{:after} in a single method.
6394@item Attaching codes to individual objects using eql specializers can be
6395cumbersome.
6396@item Introspection of code attached a particular extension point is
6397cumbersome since this requires enumerating and inspecting the methods of a
6398generic function.
6399@end itemize
6400
6401This library tries to complement some of these weaknesses of method-based
6402extension-points via the concept of hooks.")
6403 (license license:llgpl))))
6404
6405(define-public cl-hooks
6406 (sbcl-package->cl-source-package sbcl-cl-hooks))
6407
6408(define-public ecl-cl-hooks
6409 (sbcl-package->ecl-package sbcl-cl-hooks))
6410
6411(define-public sbcl-s-sysdeps
6412 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6413 (revision "1"))
6414 (package
6415 (name "sbcl-s-sysdeps")
6416 (build-system asdf-build-system/sbcl)
6417 (version (git-version "1" revision commit))
6418 (home-page "https://github.com/svenvc/s-sysdeps")
6419 (source
6420 (origin
6421 (method git-fetch)
6422 (uri (git-reference
6423 (url home-page)
6424 (commit commit)))
6425 (file-name (git-file-name name version))
6426 (sha256
6427 (base32
6428 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6429 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6430 (description "@code{s-sysdeps} is an abstraction layer over platform
6431dependent functionality. This simple package is used as a building block in a
6432number of other open source projects.
6433
6434@code{s-sysdeps} abstracts:
6435
6436@itemize
6437@item managing processes,
6438@item implementing a standard TCP/IP server,
6439@item opening a client TCP/IP socket stream,
6440@item working with process locks.
6441@end itemize\n")
6442 (license license:llgpl))))
6443
6444(define-public cl-s-sysdeps
6445 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6446
6447(define-public ecl-s-sysdeps
6448 (sbcl-package->ecl-package sbcl-s-sysdeps))
6449
6450(define-public sbcl-cl-prevalence
6451 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6452 (revision "1"))
6453 (package
6454 (name "sbcl-cl-prevalence")
6455 (build-system asdf-build-system/sbcl)
6456 (version (git-version "5" revision commit))
6457 (home-page "https://github.com/40ants/cl-prevalence")
6458 (source
6459 (origin
6460 (method git-fetch)
6461 (uri (git-reference
6462 (url home-page)
6463 (commit commit)))
6464 (file-name (git-file-name name version))
6465 (sha256
6466 (base32
6467 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6468 (inputs
6469 `(("s-sysdeps" ,sbcl-s-sysdeps)
6470 ("s-xml" ,sbcl-s-xml)))
6471 (synopsis "Implementation of object prevalence for Common Lisp")
6472 (description "This Common Lisp library implements object prevalence (see
6473@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6474for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6475classes and cyclic data structures are supported.")
6476 (license license:llgpl))))
6477
6478(define-public cl-prevalence
6479 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6480
6481(define-public ecl-cl-prevalence
6482 (sbcl-package->ecl-package sbcl-cl-prevalence))
6483
6484(define-public sbcl-series
6485 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6486 (revision "1"))
6487 (package
6488 (name "sbcl-series")
6489 (version (git-version "2.2.11" revision commit))
6490 (source
6491 (origin
6492 (method git-fetch)
6493 (uri (git-reference
6494 (url "git://git.code.sf.net/p/series/series")
6495 (commit commit)))
6496 (file-name (git-file-name name version))
6497 (sha256
6498 (base32
6499 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6500 (build-system asdf-build-system/sbcl)
6501 (arguments
6502 ;; Disable the tests, they are apparently buggy and I didn't find
6503 ;; a simple way to make them run and pass.
6504 '(#:tests? #f))
6505 (synopsis "Series data structure for Common Lisp")
6506 (description
6507 "This Common Lisp library provides a series data structure much like
6508a sequence, with similar kinds of operations. The difference is that in many
6509situations, operations on series may be composed functionally and yet execute
6510iteratively, without the need to construct intermediate series values
6511explicitly. In this manner, series provide both the clarity of a functional
6512programming style and the efficiency of an iterative programming style.")
6513 (home-page "http://series.sourceforge.net/")
6514 (license license:expat))))
6515
6516(define-public cl-series
6517 (sbcl-package->cl-source-package sbcl-series))
6518
6519(define-public ecl-series
6520 (sbcl-package->ecl-package sbcl-series))
6521
6522(define-public sbcl-periods
6523 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6524 (revision "1"))
6525 (package
6526 (name "sbcl-periods")
6527 (version (git-version "0.0.2" revision commit))
6528 (source
6529 (origin
6530 (method git-fetch)
6531 (uri (git-reference
6532 (url "https://github.com/jwiegley/periods.git")
6533 (commit commit)))
6534 (file-name (git-file-name name version))
6535 (sha256
6536 (base32
6537 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6538 (build-system asdf-build-system/sbcl)
6539 (inputs
6540 `(("local-time" ,sbcl-local-time)))
6541 (synopsis "Common Lisp library for manipulating date/time objects")
6542 (description
6543 "Periods is a Common Lisp library providing a set of utilities for
6544manipulating times, distances between times, and both contiguous and
6545discontiguous ranges of time.")
6546 (home-page "https://github.com/jwiegley/periods")
6547 (license license:bsd-3))))
6548
6549(define-public cl-periods
6550 (sbcl-package->cl-source-package sbcl-periods))
6551
6552(define-public ecl-periods
6553 (sbcl-package->ecl-package sbcl-periods))
6554
6555(define-public sbcl-periods-series
6556 (package
6557 (inherit sbcl-periods)
6558 (name "sbcl-periods-series")
6559 (inputs
6560 `(("periods" ,sbcl-periods)
6561 ("series" ,sbcl-series)))
6562 (arguments
6563 '(#:asd-file "periods-series.asd"
6564 #:asd-system-name "periods-series"))
6565 (description
6566 "Periods-series is an extension of the periods Common Lisp library
6567providing functions compatible with the series Common Lisp library.")))
6568
6569(define-public cl-periods-series
6570 (sbcl-package->cl-source-package sbcl-periods-series))
6571
6572(define-public ecl-periods-series
6573 (sbcl-package->ecl-package sbcl-periods-series))
6574
6575(define-public sbcl-metatilities-base
6576 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6577 (revision "1"))
6578 (package
6579 (name "sbcl-metatilities-base")
6580 (version (git-version "0.6.6" revision commit))
6581 (source
6582 (origin
6583 (method git-fetch)
6584 (uri (git-reference
6585 (url "https://github.com/gwkkwg/metatilities-base.git")
6586 (commit commit)))
6587 (file-name (git-file-name name version))
6588 (sha256
6589 (base32
6590 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6591 (build-system asdf-build-system/sbcl)
6592 (native-inputs
6593 `(("lift" ,sbcl-lift)))
6594 (synopsis "Core of the metatilities Common Lisp library")
6595 (description
6596 "Metatilities-base is the core of the metatilities Common Lisp library
6597which implements a set of utilities.")
6598 (home-page "https://common-lisp.net/project/metatilities-base/")
6599 (license license:expat))))
6600
6601(define-public cl-metatilities-base
6602 (sbcl-package->cl-source-package sbcl-metatilities-base))
6603
6604(define-public ecl-metatilities-base
6605 (sbcl-package->ecl-package sbcl-metatilities-base))
6606
6607(define-public sbcl-cl-containers
6608 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
6609 (revision "1"))
6610 (package
6611 (name "sbcl-cl-containers")
6612 (version (git-version "0.12.1" revision commit))
6613 (source
6614 (origin
6615 (method git-fetch)
6616 (uri (git-reference
6617 (url "https://github.com/gwkkwg/cl-containers.git")
6618 (commit commit)))
6619 (file-name (git-file-name name version))
6620 (sha256
6621 (base32
6622 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
6623 (build-system asdf-build-system/sbcl)
6624 (native-inputs
6625 `(("lift" ,sbcl-lift)))
6626 (inputs
6627 `(("metatilities-base" ,sbcl-metatilities-base)))
6628 (arguments
6629 '(#:phases
6630 (modify-phases %standard-phases
6631 (add-after 'unpack 'relax-version-checks
6632 (lambda _
6633 (substitute* "cl-containers.asd"
6634 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6635 "\"metatilities-base\""))
6636 (substitute* "cl-containers-test.asd"
6637 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6638 "\"lift\""))
6639 #t)))))
6640 (synopsis "Container library for Common Lisp")
6641 (description
6642 "Common Lisp ships with a set of powerful built in data structures
6643including the venerable list, full featured arrays, and hash-tables.
6644CL-containers enhances and builds on these structures by adding containers
6645that are not available in native Lisp (for example: binary search trees,
6646red-black trees, sparse arrays and so on), and by providing a standard
6647interface so that they are simpler to use and so that changing design
6648decisions becomes significantly easier.")
6649 (home-page "https://common-lisp.net/project/cl-containers/")
6650 (license license:expat))))
6651
6652(define-public cl-containers
6653 (sbcl-package->cl-source-package sbcl-cl-containers))
6654
6655(define-public ecl-cl-containers
6656 (sbcl-package->ecl-package sbcl-cl-containers))
6657
6658(define-public sbcl-xlunit
6659 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6660 (revision "1"))
6661 (package
6662 (name "sbcl-xlunit")
6663 (version (git-version "0.6.3" revision commit))
6664 (source
6665 (origin
6666 (method git-fetch)
6667 (uri (git-reference
6668 (url "http://git.kpe.io/xlunit.git")
6669 (commit commit)))
6670 (file-name (git-file-name name version))
6671 (sha256
6672 (base32
6673 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6674 (build-system asdf-build-system/sbcl)
6675 (arguments
6676 '(#:phases
6677 (modify-phases %standard-phases
6678 (add-after 'unpack 'fix-tests
6679 (lambda _
6680 (substitute* "xlunit.asd"
6681 ((" :force t") ""))
6682 #t)))))
6683 (synopsis "Unit testing package for Common Lisp")
6684 (description
6685 "The XLUnit package is a toolkit for building test suites. It is based
6686on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6687 (home-page "http://quickdocs.org/xlunit/")
6688 (license license:bsd-3))))
6689
6690(define-public cl-xlunit
6691 (sbcl-package->cl-source-package sbcl-xlunit))
6692
6693(define-public ecl-xlunit
6694 (sbcl-package->ecl-package sbcl-xlunit))
6695
6696(define-public sbcl-fprog
6697 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6698 (revision "1"))
6699 (package
6700 (name "sbcl-fprog")
6701 (version (git-version "1.0.0" revision commit))
6702 (source
6703 (origin
6704 (method git-fetch)
6705 (uri (git-reference
6706 (url "https://github.com/jwiegley/cambl.git")
6707 (commit commit)))
6708 (file-name (git-file-name name version))
6709 (sha256
6710 (base32
6711 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6712 (build-system asdf-build-system/sbcl)
6713 (synopsis "Functional programming utilities for Common Lisp")
6714 (description
6715 "@code{fprog} is a Common Lisp library allowing iteration over
6716immutable lists sharing identical sublists.")
6717 (home-page "https://github.com/jwiegley/cambl")
6718 (license license:bsd-3))))
6719
6720(define-public cl-fprog
6721 (sbcl-package->cl-source-package sbcl-fprog))
6722
6723(define-public ecl-fprog
6724 (sbcl-package->ecl-package sbcl-fprog))
6725
6726(define-public sbcl-cambl
6727 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6728 (revision "1"))
6729 (package
6730 (inherit sbcl-fprog)
6731 (name "sbcl-cambl")
6732 (version (git-version "4.0.0" revision commit))
6733 (native-inputs
6734 `(("xlunit" ,sbcl-xlunit)))
6735 (inputs
6736 `(("alexandria" ,sbcl-alexandria)
6737 ("cl-containers" ,sbcl-cl-containers)
6738 ("local-time" ,sbcl-local-time)
6739 ("periods" ,sbcl-periods)
6740 ("fprog" ,sbcl-fprog)))
6741 (synopsis "Commoditized amounts and balances for Common Lisp")
6742 (description
6743 "CAMBL is a Common Lisp library providing a convenient facility for
6744working with commoditized values. It does not allow compound units (and so is
6745not suited for scientific operations) but does work rather nicely for the
6746purpose of financial calculations."))))
6747
6748(define-public cl-cambl
6749 (sbcl-package->cl-source-package sbcl-cambl))
6750
6751(define-public ecl-cambl
6752 (sbcl-package->ecl-package sbcl-cambl))
6753
6754(define-public sbcl-cl-ledger
6755 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6756 (revision "1"))
6757 (package
6758 (name "sbcl-cl-ledger")
6759 (version (git-version "4.0.0" revision commit))
6760 (source
6761 (origin
6762 (method git-fetch)
6763 (uri (git-reference
6764 (url "https://github.com/ledger/cl-ledger.git")
6765 (commit commit)))
6766 (file-name (git-file-name name version))
6767 (sha256
6768 (base32
6769 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6770 (build-system asdf-build-system/sbcl)
6771 (inputs
6772 `(("cambl" ,sbcl-cambl)
6773 ("cl-ppcre" ,sbcl-cl-ppcre)
6774 ("local-time" ,sbcl-local-time)
6775 ("periods-series" ,sbcl-periods-series)))
6776 (arguments
6777 '(#:phases
6778 (modify-phases %standard-phases
6779 (add-after 'unpack 'fix-system-definition
6780 (lambda _
6781 (substitute* "cl-ledger.asd"
6782 ((" :build-operation program-op") "")
6783 ((" :build-pathname \"cl-ledger\"") "")
6784 ((" :entry-point \"ledger::main\"") ""))
6785 #t)))))
6786 (synopsis "Common Lisp port of the Ledger accounting system")
6787 (description
6788 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6789system.")
6790 (home-page "https://github.com/ledger/cl-ledger")
6791 (license license:bsd-3))))
6792
6793(define-public cl-ledger
6794 (sbcl-package->cl-source-package sbcl-cl-ledger))
6795
6796(define-public ecl-cl-ledger
6797 (sbcl-package->ecl-package sbcl-cl-ledger))
6798
6799(define-public sbcl-bst
6800 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6801 (revision "1"))
6802 (package
6803 (name "sbcl-bst")
6804 (version (git-version "1.1" revision commit))
6805 (source
6806 (origin
6807 (method git-fetch)
6808 (uri (git-reference
6809 (url "https://github.com/glv2/bst.git")
6810 (commit commit)))
6811 (file-name (git-file-name name version))
6812 (sha256
6813 (base32
6814 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6815 (build-system asdf-build-system/sbcl)
6816 (native-inputs
6817 `(("alexandria" ,sbcl-alexandria)
6818 ("fiveam" ,sbcl-fiveam)))
6819 (synopsis "Binary search tree for Common Lisp")
6820 (description
6821 "BST is a Common Lisp library for working with binary search trees that
6822can contain any kind of values.")
6823 (home-page "https://github.com/glv2/bst")
6824 (license license:gpl3))))
6825
6826(define-public cl-bst
6827 (sbcl-package->cl-source-package sbcl-bst))
6828
6829(define-public ecl-bst
6830 (sbcl-package->ecl-package sbcl-bst))
6831
6832(define-public sbcl-cl-octet-streams
6833 (package
6834 (name "sbcl-cl-octet-streams")
6835 (version "1.0")
6836 (source
6837 (origin
6838 (method git-fetch)
6839 (uri (git-reference
6840 (url "https://github.com/glv2/cl-octet-streams.git")
6841 (commit (string-append "v" version))))
6842 (file-name (git-file-name name version))
6843 (sha256
6844 (base32
6845 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6846 (build-system asdf-build-system/sbcl)
6847 (native-inputs
6848 `(("fiveam" ,sbcl-fiveam)))
6849 (inputs
6850 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6851 (synopsis "In-memory octet streams for Common Lisp")
6852 (description
6853 "CL-octet-streams is a library implementing in-memory octet
6854streams for Common Lisp. It was inspired by the trivial-octet-streams and
6855cl-plumbing libraries.")
6856 (home-page "https://github.com/glv2/cl-octet-streams")
6857 (license license:gpl3+)))
6858
6859(define-public cl-octet-streams
6860 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6861
6862(define-public ecl-cl-octet-streams
6863 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6864
6865(define-public sbcl-lzlib
6866 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6867 (revision "1"))
6868 (package
6869 (name "sbcl-lzlib")
6870 (version (git-version "1.0" revision commit))
6871 (source
6872 (origin
6873 (method git-fetch)
6874 (uri (git-reference
6875 (url "https://github.com/glv2/cl-lzlib.git")
6876 (commit commit)))
6877 (file-name (git-file-name name version))
6878 (sha256
6879 (base32
6880 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6881 (build-system asdf-build-system/sbcl)
6882 (native-inputs
6883 `(("fiveam" ,sbcl-fiveam)))
6884 (inputs
6885 `(("cffi" ,sbcl-cffi)
6886 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6887 ("lzlib" ,lzlib)))
6888 (arguments
6889 '(#:phases
6890 (modify-phases %standard-phases
6891 (add-after 'unpack 'fix-paths
6892 (lambda* (#:key inputs #:allow-other-keys)
6893 (substitute* "src/lzlib.lisp"
6894 (("liblz\\.so")
6895 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6896 #t)))))
6897 (synopsis "Common Lisp library for lzip (de)compression")
6898 (description
6899 "This Common Lisp library provides functions for lzip (LZMA)
6900compression/decompression using bindings to the lzlib C library.")
6901 (home-page "https://github.com/glv2/cl-lzlib")
6902 (license license:gpl3+))))
6903
6904(define-public cl-lzlib
6905 (sbcl-package->cl-source-package sbcl-lzlib))
6906
6907(define-public ecl-lzlib
6908 (sbcl-package->ecl-package sbcl-lzlib))
6909
6910(define-public sbcl-chanl
00a9a936
GLV
6911 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6912 (revision "1"))
88f06fd0
PN
6913 (package
6914 (name "sbcl-chanl")
6915 (version (git-version "0.4.1" revision commit))
6916 (source
6917 (origin
6918 (method git-fetch)
6919 (uri (git-reference
6920 (url "https://github.com/zkat/chanl.git")
6921 (commit commit)))
6922 (file-name (git-file-name name version))
6923 (sha256
6924 (base32
00a9a936 6925 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
6926 (build-system asdf-build-system/sbcl)
6927 (native-inputs
6928 `(("fiveam" ,sbcl-fiveam)))
6929 (inputs
6930 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6931 (synopsis "Portable channel-based concurrency for Common Lisp")
6932 (description "Common Lisp library for channel-based concurrency. In
6933a nutshell, you create various threads sequentially executing tasks you need
6934done, and use channel objects to communicate and synchronize the state of these
6935threads.")
6936 (home-page "https://github.com/zkat/chanl")
6937 (license (list license:expat license:bsd-3)))))
6938
6939(define-public cl-chanl
6940 (sbcl-package->cl-source-package sbcl-chanl))
6941
6942(define-public ecl-chanl
00a9a936 6943 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
6944
6945(define-public sbcl-cl-store
1896256d
BG
6946 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6947 (revision "1"))
88f06fd0
PN
6948 (package
6949 (name "sbcl-cl-store")
6950 (version (git-version "0.8.11" revision commit))
6951 (source
6952 (origin
6953 (method git-fetch)
6954 (uri (git-reference
6955 (url "https://github.com/skypher/cl-store.git")
6956 (commit commit)))
6957 (file-name (git-file-name name version))
6958 (sha256
6959 (base32
1896256d 6960 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
6961 (build-system asdf-build-system/sbcl)
6962 (native-inputs
6963 `(("rt" ,sbcl-rt)))
6964 (synopsis "Common Lisp library to serialize data")
6965 (description
6966 "CL-STORE is a portable serialization package which should give you the
6967ability to store all Common Lisp data types into streams.")
630a4b77 6968 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
6969 (license license:expat))))
6970
6971(define-public cl-store
6972 (sbcl-package->cl-source-package sbcl-cl-store))
6973
6974(define-public ecl-cl-store
6975 (sbcl-package->ecl-package sbcl-cl-store))
6976
6977(define-public sbcl-cl-gobject-introspection
6978 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6979 (revision "0"))
6980 (package
6981 (name "sbcl-cl-gobject-introspection")
6982 (version (git-version "0.3" revision commit))
6983 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6984 (source
6985 (origin
6986 (method git-fetch)
6987 (uri (git-reference
6988 (url home-page)
6989 (commit commit)))
6990 (file-name (git-file-name name version))
6991 (sha256
6992 (base32
6993 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
6994 (build-system asdf-build-system/sbcl)
6995 (inputs
6996 `(("alexandria" ,sbcl-alexandria)
6997 ("cffi" ,sbcl-cffi)
6998 ("iterate" ,sbcl-iterate)
6999 ("trivial-garbage" ,sbcl-trivial-garbage)
7000 ("glib" ,glib)
7001 ("gobject-introspection" ,gobject-introspection)))
7002 (native-inputs
7003 `(("fiveam" ,sbcl-fiveam)))
7004 (arguments
7005 ;; TODO: Tests fail, see
7006 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7007 '(#:tests? #f
7008 #:phases
7009 (modify-phases %standard-phases
7010 (add-after (quote unpack) (quote fix-paths)
7011 (lambda* (#:key inputs #:allow-other-keys)
7012 (substitute* "src/init.lisp"
7013 (("libgobject-2\\.0\\.so")
7014 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7015 (("libgirepository-1\\.0\\.so")
7016 (string-append (assoc-ref inputs "gobject-introspection")
7017 "/lib/libgirepository-1.0.so")))
7018 #t)))))
7019 (synopsis "Common Lisp bindings to GObject Introspection")
7020 (description
7021 "This library is a bridge between Common Lisp and GObject
7022Introspection, which enables Common Lisp programs to access the full interface
7023of C+GObject libraries without the need of writing dedicated bindings.")
7024 (license (list license:bsd-3
7025 ;; Tests are under a different license.
7026 license:llgpl)))))
7027
7028(define-public cl-gobject-introspection
7029 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7030
7031(define-public sbcl-string-case
7032 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7033 (revision "0"))
7034 (package
7035 (name "sbcl-string-case")
7036 (version (git-version "0.0.2" revision commit))
7037 (home-page "https://github.com/pkhuong/string-case")
7038 (source
7039 (origin
7040 (method git-fetch)
7041 (uri (git-reference
7042 (url home-page)
7043 (commit commit)))
7044 (file-name (git-file-name name version))
7045 (sha256
7046 (base32
7047 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7048 (build-system asdf-build-system/sbcl)
7049 (synopsis "Efficient string= case in Common Lisp")
7050 (description
7051 "@code{string-case} is a Common Lisp macro that generates specialised decision
7052trees to dispatch on string equality.")
7053 (license license:bsd-3))))
7054
7055(define-public cl-string-case
7056 (sbcl-package->cl-source-package sbcl-string-case))
7057
7058(define-public ecl-string-case
7059 (sbcl-package->ecl-package sbcl-string-case))
7060
7061(define-public sbcl-global-vars
7062 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7063 (revision "0"))
7064 (package
7065 (name "sbcl-global-vars")
7066 (version (git-version "1.0.0" revision commit))
7067 (home-page "https://github.com/lmj/global-vars")
7068 (source
7069 (origin
7070 (method git-fetch)
7071 (uri (git-reference
7072 (url home-page)
7073 (commit commit)))
7074 (file-name (git-file-name name version))
7075 (sha256
7076 (base32
7077 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7078 (build-system asdf-build-system/sbcl)
7079 (synopsis "Efficient global variables in Common Lisp")
7080 (description
7081 "In Common Lisp, a special variable that is never dynamically bound
7082typically serves as a stand-in for a global variable. The @code{global-vars}
7083library provides true global variables that are implemented by some compilers.
7084An attempt to rebind a global variable properly results in a compiler error.
7085That is, a global variable cannot be dynamically bound.
7086
7087Global variables therefore allow us to communicate an intended usage that
7088differs from special variables. Global variables are also more efficient than
7089special variables, especially in the presence of threads.")
7090 (license license:expat))))
7091
7092(define-public cl-global-vars
7093 (sbcl-package->cl-source-package sbcl-global-vars))
7094
7095(define-public ecl-global-vars
7096 (sbcl-package->ecl-package sbcl-global-vars))
7097
7098(define-public sbcl-trivial-file-size
7099 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7100 (revision "0"))
7101 (package
7102 (name "sbcl-trivial-file-size")
7103 (version (git-version "0.0.0" revision commit))
7104 (home-page "https://github.com/ruricolist/trivial-file-size")
7105 (source
7106 (origin
7107 (method git-fetch)
7108 (uri (git-reference
7109 (url home-page)
7110 (commit commit)))
7111 (file-name (git-file-name name version))
7112 (sha256
7113 (base32
7114 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7115 (build-system asdf-build-system/sbcl)
7116 (native-inputs
7117 `(("fiveam" ,sbcl-fiveam)))
7118 (synopsis "Size of a file in bytes in Common Lisp")
7119 (description
7120 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7121is to open the file with an element type of (unsigned-byte 8) and then
7122calculate the length of the stream. This is less than ideal. In most cases
7123it is better to get the size of the file from its metadata, using a system
7124call.
7125
7126This library exports a single function, file-size-in-octets. It returns the
7127size of a file in bytes, using system calls when possible.")
7128 (license license:expat))))
7129
7130(define-public cl-trivial-file-size
7131 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7132
7133(define-public ecl-trivial-file-size
7134 (sbcl-package->ecl-package sbcl-trivial-file-size))
7135
7136(define-public sbcl-trivial-macroexpand-all
7137 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7138 (revision "0"))
7139 (package
7140 (name "sbcl-trivial-macroexpand-all")
7141 (version (git-version "0.0.0" revision commit))
7142 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
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 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7153 (build-system asdf-build-system/sbcl)
7154 (native-inputs
7155 `(("fiveam" ,sbcl-fiveam)))
7156 (synopsis "Portable macroexpand-all for Common Lisp")
7157 (description
7158 "This library provides a macroexpand-all function that calls the
7159implementation specific equivalent.")
7160 (license license:unlicense))))
7161
7162(define-public cl-trivial-macroexpand-all
7163 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7164
7165(define-public ecl-trivial-macroexpand-all
7166 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7167
7168(define-public sbcl-serapeum
7169 (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
7170 (revision "0"))
7171 (package
7172 (name "sbcl-serapeum")
7173 (version (git-version "0.0.0" revision commit))
7174 (home-page "https://github.com/ruricolist/serapeum")
7175 (source
7176 (origin
7177 (method git-fetch)
7178 (uri (git-reference
7179 (url home-page)
7180 (commit commit)))
7181 (file-name (git-file-name name version))
7182 (sha256
7183 (base32
7184 "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
7185 (build-system asdf-build-system/sbcl)
7186 (inputs
7187 `(("alexandria" ,sbcl-alexandria)
7188 ("trivia" ,sbcl-trivia)
7189 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7190 ("split-sequence" ,sbcl-split-sequence)
7191 ("string-case" ,sbcl-string-case)
7192 ("parse-number" ,sbcl-parse-number)
7193 ("trivial-garbage" ,sbcl-trivial-garbage)
7194 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7195 ("named-readtables" ,sbcl-named-readtables)
7196 ("fare-quasiquote-extras" ,cl-fare-quasiquote-extras)
7197 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7198 ("global-vars" ,sbcl-global-vars)
7199 ("trivial-file-size" ,sbcl-trivial-file-size)
7200 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7201 (native-inputs
7202 `(("fiveam" ,sbcl-fiveam)
7203 ("local-time" ,sbcl-local-time)))
7204 (arguments
7205 '(#:phases
7206 (modify-phases %standard-phases
7207 (add-after 'unpack 'disable-failing-tests
7208 (lambda* (#:key inputs #:allow-other-keys)
7209 (substitute* "serapeum.asd"
7210 ;; Guix does not have Quicklisp, and probably never will.
7211 (("\\(:file \"quicklisp\"\\)") ""))
7212 #t)))))
7213 (synopsis "Common Lisp utility library beyond Alexandria")
7214 (description
7215 "Serapeum is a conservative library of Common Lisp utilities. It is a
7216supplement, not a competitor, to Alexandria.")
7217 (license license:expat))))
7218
7219(define-public cl-serapeum
7220 (sbcl-package->cl-source-package sbcl-serapeum))
7221
7222(define-public sbcl-arrows
7223 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7224 (revision "0"))
7225 (package
7226 (name "sbcl-arrows")
7227 (version (git-version "0.2.0" revision commit))
7228 (source
7229 (origin
7230 (method git-fetch)
7231 (uri (git-reference
7232 (url "https://gitlab.com/Harleqin/arrows.git")
7233 (commit commit)))
7234 (file-name (git-file-name name version))
7235 (sha256
7236 (base32
7237 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7238 (build-system asdf-build-system/sbcl)
7239 (native-inputs
7240 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7241 (synopsis "Clojure-like arrow macros for Common Lisp")
7242 (description
7243 "This library implements the @code{->} and @code{->>} macros from
7244Clojure, as well as several expansions on the idea.")
7245 (home-page "https://gitlab.com/Harleqin/arrows")
7246 (license license:public-domain))))
7247
7248(define-public cl-arrows
7249 (sbcl-package->cl-source-package sbcl-arrows))
7250
7251(define-public ecl-arrows
7252 (sbcl-package->ecl-package sbcl-arrows))
7253
7254(define-public sbcl-simple-parallel-tasks
7255 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7256 (revision "0"))
7257 (package
7258 (name "sbcl-simple-parallel-tasks")
7259 (version (git-version "1.0" revision commit))
7260 (source
7261 (origin
7262 (method git-fetch)
7263 (uri (git-reference
7264 (url "https://github.com/glv2/simple-parallel-tasks.git")
7265 (commit commit)))
7266 (file-name (git-file-name name version))
7267 (sha256
7268 (base32
7269 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7270 (build-system asdf-build-system/sbcl)
7271 (native-inputs
7272 `(("fiveam" ,sbcl-fiveam)))
7273 (inputs
7274 `(("chanl" ,sbcl-chanl)))
7275 (synopsis "Common Lisp library to evaluate some forms in parallel")
7276 (description "This is a simple Common Lisp library to evaluate some
7277forms in parallel.")
7278 (home-page "https://github.com/glv2/simple-parallel-tasks")
7279 (license license:gpl3))))
7280
7281(define-public cl-simple-parallel-tasks
7282 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7283
7284(define-public ecl-simple-parallel-tasks
7285 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7286
7287(define-public sbcl-cl-heap
7288 (package
7289 (name "sbcl-cl-heap")
7290 (version "0.1.6")
7291 (source
7292 (origin
7293 (method url-fetch)
7294 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7295 "cl-heap_" version ".tar.gz"))
7296 (sha256
7297 (base32
7298 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7299 (build-system asdf-build-system/sbcl)
7300 (native-inputs
7301 `(("xlunit" ,sbcl-xlunit)))
7302 (arguments
7303 `(#:test-asd-file "cl-heap-tests.asd"))
7304 (synopsis "Heap and priority queue data structures for Common Lisp")
7305 (description
7306 "CL-HEAP provides various implementations of heap data structures (a
7307binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7308 (home-page "https://common-lisp.net/project/cl-heap/")
7309 (license license:gpl3+)))
7310
7311(define-public cl-heap
7312 (sbcl-package->cl-source-package sbcl-cl-heap))
7313
7314(define-public ecl-cl-heap
7315 (sbcl-package->ecl-package sbcl-cl-heap))
7316
7317(define-public sbcl-curry-compose-reader-macros
7318 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7319 (revision "0"))
7320 (package
7321 (name "sbcl-curry-compose-reader-macros")
7322 (version (git-version "1.0.0" revision commit))
7323 (source
7324 (origin
7325 (method git-fetch)
7326 (uri
7327 (git-reference
7328 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7329 (commit commit)))
7330 (file-name (git-file-name name version))
7331 (sha256
7332 (base32
7333 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7334 (build-system asdf-build-system/sbcl)
7335 (inputs
7336 `(("alexandria" ,sbcl-alexandria)
7337 ("named-readtables" ,sbcl-named-readtables)))
7338 (synopsis "Reader macros for partial application and composition")
7339 (description
7340 "This Common Lisp library provides reader macros for concise expression
7341of function partial application and composition.")
7342 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7343 (license license:public-domain))))
7344
7345(define-public cl-curry-compose-reader-macros
7346 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7347
7348(define-public ecl-curry-compose-reader-macros
7349 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7350
7351(define-public sbcl-yason
7352 (package
7353 (name "sbcl-yason")
7354 (version "0.7.7")
7355 (source
7356 (origin
7357 (method git-fetch)
7358 (uri (git-reference
7359 (url "https://github.com/phmarek/yason.git")
7360 (commit (string-append "v" version))))
7361 (file-name (git-file-name name version))
7362 (sha256
7363 (base32
7364 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7365 (build-system asdf-build-system/sbcl)
7366 (inputs
7367 `(("alexandria" ,sbcl-alexandria)
7368 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7369 (synopsis "Common Lisp JSON parser/encoder")
7370 (description
7371 "YASON is a Common Lisp library for encoding and decoding data in the
7372JSON interchange format.")
7373 (home-page "https://github.com/phmarek/yason")
7374 (license license:bsd-3)))
7375
7376(define-public cl-yason
7377 (sbcl-package->cl-source-package sbcl-yason))
7378
7379(define-public ecl-yason
7380 (sbcl-package->ecl-package sbcl-yason))
7381
7382(define-public sbcl-stefil
7383 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7384 (revision "0"))
7385 (package
7386 (name "sbcl-stefil")
7387 (version (git-version "0.1" revision commit))
7388 (source
7389 (origin
7390 (method git-fetch)
7391 (uri (git-reference
7392 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7393 (commit commit)))
7394 (file-name (git-file-name name version))
7395 (sha256
7396 (base32
7397 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7398 (build-system asdf-build-system/sbcl)
7399 (inputs
7400 `(("alexandria" ,sbcl-alexandria)
7401 ("iterate" ,sbcl-iterate)
7402 ("metabang-bind" ,sbcl-metabang-bind)))
7403 (propagated-inputs
7404 ;; Swank doesn't have a pre-compiled package, therefore we must
7405 ;; propagate its sources.
7406 `(("swank" ,cl-slime-swank)))
7407 (arguments
7408 '(#:phases
7409 (modify-phases %standard-phases
7410 (add-after 'unpack 'drop-unnecessary-dependency
7411 (lambda _
7412 (substitute* "package.lisp"
7413 ((":stefil-system") ""))
7414 #t)))))
7415 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7416 (synopsis "Simple test framework")
7417 (description
7418 "Stefil is a simple test framework for Common Lisp, with a focus on
7419interactive development.")
7420 (license license:public-domain))))
7421
7422(define-public cl-stefil
7423 (sbcl-package->cl-source-package sbcl-stefil))
7424
7425(define-public sbcl-graph
7426 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7427 (revision "0"))
7428 (package
7429 (name "sbcl-graph")
7430 (version (git-version "0.0.0" revision commit))
7431 (source
7432 (origin
7433 (method git-fetch)
7434 (uri
7435 (git-reference
7436 (url "https://github.com/eschulte/graph.git")
7437 (commit commit)))
7438 (file-name (git-file-name name version))
7439 (sha256
7440 (base32
7441 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7442 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7443 (build-system asdf-build-system/sbcl)
7444 (native-inputs
7445 `(("stefil" ,sbcl-stefil)))
7446 (inputs
7447 `(("alexandria" ,sbcl-alexandria)
7448 ("cl-heap" ,sbcl-cl-heap)
7449 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7450 ("metabang-bind" ,sbcl-metabang-bind)
7451 ("named-readtables" ,sbcl-named-readtables)))
7452 (arguments
17c015c9 7453 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7454 (synopsis "Graph data structure and algorithms for Common Lisp")
7455 (description
7456 "The GRAPH Common Lisp library provides a data structures to represent
7457graphs, as well as some graph manipulation and analysis algorithms (shortest
7458path, maximum flow, minimum spanning tree, etc.).")
7459 (home-page "https://eschulte.github.io/graph/")
7460 (license license:gpl3+))))
7461
7462(define-public cl-graph
7463 (sbcl-package->cl-source-package sbcl-graph))
7464
7465(define-public sbcl-graph-dot
7466 (package
7467 (inherit sbcl-graph)
7468 (name "sbcl-graph-dot")
7469 (inputs
7470 `(("alexandria" ,sbcl-alexandria)
7471 ("cl-ppcre" ,sbcl-cl-ppcre)
7472 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7473 ("graph" ,sbcl-graph)
7474 ("metabang-bind" ,sbcl-metabang-bind)
7475 ("named-readtables" ,sbcl-named-readtables)))
7476 (arguments
7477 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7478 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7479 ((#:asd-system-name _ #f) "graph-dot")))
7480 (synopsis "Serialize graphs to and from DOT format")))
7481
7482(define-public sbcl-graph-json
7483 (package
7484 (inherit sbcl-graph)
7485 (name "sbcl-graph-json")
7486 (inputs
7487 `(("alexandria" ,sbcl-alexandria)
7488 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7489 ("graph" ,sbcl-graph)
7490 ("metabang-bind" ,sbcl-metabang-bind)
7491 ("named-readtables" ,sbcl-named-readtables)
7492 ("yason" ,sbcl-yason)))
7493 (arguments
7494 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7495 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7496 ((#:asd-system-name _ #f) "graph-json")))
7497 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7498
7499(define-public sbcl-trivial-indent
7500 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7501 (revision "0"))
7502 (package
7503 (name "sbcl-trivial-indent")
7504 (version (git-version "1.0.0" revision commit))
7505 (source
7506 (origin
7507 (method git-fetch)
7508 (uri
7509 (git-reference
7510 (url "https://github.com/Shinmera/trivial-indent")
7511 (commit commit)))
7512 (file-name (git-file-name name version))
7513 (sha256
7514 (base32
7515 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7516 (build-system asdf-build-system/sbcl)
7517 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7518 (description
7519 "This library allows you to define custom indentation hints for your
7520macros if the one recognised by SLIME automatically produces unwanted
7521results.")
7522 (home-page "https://shinmera.github.io/trivial-indent/")
7523 (license license:zlib))))
7524
7525(define-public cl-trivial-indent
7526 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7527
7528(define-public sbcl-documentation-utils
7529 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7530 (revision "0"))
7531 (package
7532 (name "sbcl-documentation-utils")
7533 (version (git-version "1.2.0" revision commit))
7534 (source
7535 (origin
7536 (method git-fetch)
7537 (uri
7538 (git-reference
7539 (url "https://github.com/Shinmera/documentation-utils.git")
7540 (commit commit)))
7541 (file-name (git-file-name name version))
7542 (sha256
7543 (base32
7544 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7545 (build-system asdf-build-system/sbcl)
7546 (inputs
7547 `(("trivial-indent" ,sbcl-trivial-indent)))
7548 (synopsis "Few simple tools to document Common Lisp libraries")
7549 (description
7550 "This is a small library to help you with managing the Common Lisp
7551docstrings for your library.")
7552 (home-page "https://shinmera.github.io/documentation-utils/")
7553 (license license:zlib))))
7554
7555(define-public cl-documentation-utils
7556 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7
PN
7557
7558(define-public sbcl-form-fiddle
7559 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7560 (revision "0"))
7561 (package
7562 (name "sbcl-form-fiddle")
7563 (version (git-version "1.1.0" revision commit))
7564 (source
7565 (origin
7566 (method git-fetch)
7567 (uri
7568 (git-reference
7569 (url "https://github.com/Shinmera/form-fiddle")
7570 (commit commit)))
7571 (file-name (git-file-name name version))
7572 (sha256
7573 (base32
7574 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7575 (build-system asdf-build-system/sbcl)
7576 (inputs
7577 `(("documentation-utils" ,sbcl-documentation-utils)))
7578 (synopsis "Utilities to destructure Common Lisp lambda forms")
7579 (description
7580 "Often times we need to destructure a form definition in a Common Lisp
7581macro. This library provides a set of simple utilities to help with that.")
7582 (home-page "https://shinmera.github.io/form-fiddle/")
7583 (license license:zlib))))
7584
7585(define-public cl-form-fiddle
7586 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7587
7588(define-public sbcl-parachute
7589 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7590 (revision "0"))
7591 (package
7592 (name "sbcl-parachute")
7593 (version (git-version "1.1.1" revision commit))
7594 (source
7595 (origin
7596 (method git-fetch)
7597 (uri
7598 (git-reference
7599 (url "https://github.com/Shinmera/parachute")
7600 (commit commit)))
7601 (file-name (git-file-name name version))
7602 (sha256
7603 (base32
7604 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7605 (build-system asdf-build-system/sbcl)
7606 (inputs
7607 `(("documentation-utils" ,sbcl-documentation-utils)
7608 ("form-fiddle" ,sbcl-form-fiddle)))
7609 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7610 (description
7611 "Parachute is a simple-to-use and extensible testing framework.
7612In Parachute, things are organised as a bunch of named tests within a package.
7613Each test can contain a bunch of test forms that make up its body.")
7614 (home-page "https://shinmera.github.io/parachute/")
7615 (license license:zlib))))
7616
7617(define-public cl-parachute
7618 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7619
7620(define-public sbcl-array-utils
7621 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7622 (revision "0"))
7623 (package
7624 (name "sbcl-array-utils")
7625 (version (git-version "1.1.1" revision commit))
7626 (source
7627 (origin
7628 (method git-fetch)
7629 (uri
7630 (git-reference
7631 (url "https://github.com/Shinmera/array-utils")
7632 (commit commit)))
7633 (file-name (git-file-name name version))
7634 (sha256
7635 (base32
7636 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7637 (build-system asdf-build-system/sbcl)
7638 (native-inputs
7639 `(("parachute" ,sbcl-parachute)))
7640 (inputs
7641 `(("documentation-utils" ,sbcl-documentation-utils)))
7642 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7643 (description
7644 "A miniature toolkit that contains some useful shifting/popping/pushing
7645functions for arrays and vectors. Originally from Plump.")
7646 (home-page "https://shinmera.github.io/array-utils/")
7647 (license license:zlib))))
7648
7649(define-public cl-array-utils
7650 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7651
7652(define-public sbcl-plump
7653 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7654 (revision "0"))
7655 (package
7656 (name "sbcl-plump")
7657 (version (git-version "2.0.0" revision commit))
7658 (source
7659 (origin
7660 (method git-fetch)
7661 (uri
7662 (git-reference
7663 (url "https://github.com/Shinmera/plump")
7664 (commit commit)))
7665 (file-name (git-file-name name version))
7666 (sha256
7667 (base32
7668 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7669 (build-system asdf-build-system/sbcl)
7670 (inputs
7671 `(("array-utils" ,sbcl-array-utils)
7672 ("documentation-utils" ,sbcl-documentation-utils)))
7673 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7674 (description
7675 "Plump is a parser for HTML/XML-like documents, focusing on being
7676lenient towards invalid markup. It can handle things like invalid attributes,
7677bad closing tag order, unencoded entities, inexistent tag types, self-closing
7678tags and so on. It parses documents to a class representation and offers a
7679small set of DOM functions to manipulate it. It can be extended to parse to
7680your own classes.")
7681 (home-page "https://shinmera.github.io/plump/")
7682 (license license:zlib))))
7683
7684(define-public cl-plump
7685 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7686
7687(define-public sbcl-antik-base
7688 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7689 (revision "1"))
7690 (package
7691 (name "sbcl-antik-base")
7692 (version (git-version "0.0.0" revision commit))
7693 (source
7694 (origin
7695 (method git-fetch)
7696 (uri (git-reference
7697 (url "https://gitlab.common-lisp.net/antik/antik.git")
7698 (commit commit)))
7699 (file-name (git-file-name name version))
7700 (sha256
7701 (base32
7702 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7703 (build-system asdf-build-system/sbcl)
7704 (inputs
7705 `(("alexandria" ,sbcl-alexandria)
7706 ("cl-ppcre" ,sbcl-cl-ppcre)
7707 ("iterate" ,sbcl-iterate)
7708 ("metabang-bind" ,sbcl-metabang-bind)
7709 ("named-readtables" ,sbcl-named-readtables)
7710 ("split-sequence" ,sbcl-split-sequence)))
7711 (native-inputs
7712 `(("lisp-unit" ,sbcl-lisp-unit)))
7713 (synopsis "Scientific and engineering computation in Common Lisp")
7714 (description
7715 "Antik provides a foundation for scientific and engineering
7716computation in Common Lisp. It is designed not only to facilitate
7717numerical computations, but to permit the use of numerical computation
7718libraries and the interchange of data and procedures, whether
7719foreign (non-Lisp) or Lisp libraries. It is named after the
7720Antikythera mechanism, one of the oldest examples of a scientific
7721computer known.")
7722 (home-page "https://common-lisp.net/project/antik/")
7723 (license license:gpl3))))
7724
7725(define-public cl-antik-base
7726 (sbcl-package->cl-source-package sbcl-antik-base))
7727
7728(define-public ecl-antik-base
7729 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7730
7731(define-public sbcl-foreign-array
7732 (package
7733 (inherit sbcl-antik-base)
7734 (name "sbcl-foreign-array")
7735 (arguments
7736 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7737 ((#:asd-file _ "") "foreign-array.asd")
7738 ((#:asd-system-name _ #f) "foreign-array")))
7739 (inputs
7740 `(("antik-base" ,sbcl-antik-base)
7741 ("cffi" ,sbcl-cffi)
7742 ("trivial-garbage" ,sbcl-trivial-garbage)
7743 ("static-vectors" ,sbcl-static-vectors)))
7744 (synopsis "Common Lisp library providing access to foreign arrays")))
7745
7746(define-public cl-foreign-array
7747 (sbcl-package->cl-source-package sbcl-foreign-array))
7748
7749(define-public ecl-foreign-array
7750 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7751
7752(define-public sbcl-physical-dimension
7753 (package
7754 (inherit sbcl-antik-base)
7755 (name "sbcl-physical-dimension")
7756 (inputs
7757 `(("fare-utils" ,sbcl-fare-utils)
7758 ("foreign-array" ,sbcl-foreign-array)
7759 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7760 (arguments
7761 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7762 ((#:asd-file _ "") "physical-dimension.asd")
7763 ((#:asd-system-name _ #f) "physical-dimension")))
7764 (synopsis
7765 "Common Lisp library providing computations with physical units")))
7766
7767(define-public cl-physical-dimension
7768 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7769
7770(define-public sbcl-science-data
7771 (package
7772 (inherit sbcl-antik-base)
7773 (name "sbcl-science-data")
7774 (inputs
7775 `(("physical-dimension" ,sbcl-physical-dimension)
7776 ("drakma" ,sbcl-drakma)))
7777 (arguments
7778 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7779 ((#:asd-file _ "") "science-data.asd")
7780 ((#:asd-system-name _ #f) "science-data")))
7781 (synopsis
7782 "Common Lisp library for scientific and engineering numerical data")))
7783
7784(define-public cl-science-data
7785 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7786
7787(define-public sbcl-gsll
7788 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7789 (revision "1"))
7790 (package
7791 (name "sbcl-gsll")
7792 (version (git-version "0.0.0" revision commit))
7793 (source
7794 (origin
7795 (method git-fetch)
7796 (uri (git-reference
7797 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7798 (commit commit)))
7799 (file-name (git-file-name name version))
7800 (sha256
7801 (base32
7802 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7803 (build-system asdf-build-system/sbcl)
7804 (native-inputs
7805 `(("lisp-unit" ,sbcl-lisp-unit)))
7806 (inputs
7807 `(("alexandria" ,sbcl-alexandria)
7808 ("cffi-grovel" ,sbcl-cffi-grovel)
7809 ("cffi-libffi" ,sbcl-cffi-libffi)
7810 ("foreign-array" ,sbcl-foreign-array)
7811 ("gsl" ,gsl)
7812 ("metabang-bind" ,sbcl-metabang-bind)
7813 ("trivial-features" ,sbcl-trivial-features)
7814 ("trivial-garbage" ,sbcl-trivial-garbage)))
7815 (arguments
7816 `(#:tests? #f
7817 #:phases
7818 (modify-phases %standard-phases
7819 (add-after 'unpack 'fix-cffi-paths
7820 (lambda* (#:key inputs #:allow-other-keys)
7821 (substitute* "gsll.asd"
7822 ((":depends-on \\(#:foreign-array")
7823 ":depends-on (#:foreign-array #:cffi-libffi"))
7824 (substitute* "init/init.lisp"
7825 (("libgslcblas.so" all)
7826 (string-append
7827 (assoc-ref inputs "gsl") "/lib/" all)))
7828 (substitute* "init/init.lisp"
7829 (("libgsl.so" all)
7830 (string-append
7831 (assoc-ref inputs "gsl") "/lib/" all))))))))
7832 (synopsis "GNU Scientific Library for Lisp")
7833 (description
7834 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7835GNU Scientific Library (GSL) from Common Lisp. This library provides a
7836full range of common mathematical operations useful to scientific and
7837engineering applications. The design of the GSLL interface is such
7838that access to most of the GSL library is possible in a Lisp-natural
7839way; the intent is that the user not be hampered by the restrictions
7840of the C language in which GSL has been written. GSLL thus provides
7841interactive use of GSL for getting quick answers, even for someone not
7842intending to program in Lisp.")
7843 (home-page "https://common-lisp.net/project/gsll/")
7844 (license license:gpl3))))
7845
7846(define-public cl-gsll
7847 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7848
7849(define-public sbcl-antik
7850 (package
7851 (inherit sbcl-antik-base)
7852 (name "sbcl-antik")
7853 (inputs
7854 `(("gsll" ,sbcl-gsll)
7855 ("physical-dimension" ,sbcl-physical-dimension)))
7856 (arguments
7857 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7858 ((#:asd-file _ "") "antik.asd")
7859 ((#:asd-system-name _ #f) "antik")))))
7860
7861(define-public cl-antik
7862 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7863
7864(define-public sbcl-cl-interpol
7865 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7866 (revision "1"))
7867 (package
7868 (name "sbcl-cl-interpol")
7869 (version (git-version "0.2.6" revision commit))
7870 (source
7871 (origin
7872 (method git-fetch)
7873 (uri (git-reference
7874 (url "https://github.com/edicl/cl-interpol.git")
7875 (commit commit)))
7876 (file-name (git-file-name name version))
7877 (sha256
7878 (base32
7879 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7880 (build-system asdf-build-system/sbcl)
7881 (inputs
7882 `(("cl-unicode" ,sbcl-cl-unicode)
7883 ("named-readtables" ,sbcl-named-readtables)))
7884 (native-inputs
7885 `(("flexi-streams" ,sbcl-flexi-streams)))
7886 (synopsis "String interpolation for Common Lisp")
7887 (description
7888 "CL-INTERPOL is a library for Common Lisp which modifies the
7889reader so that you can have interpolation within strings similar to
7890Perl or Unix Shell scripts. It also provides various ways to insert
7891arbitrary characters into literal strings even if your editor/IDE
7892doesn't support them.")
7893 (home-page "https://edicl.github.io/cl-interpol/")
7894 (license license:bsd-3))))
7895
7896(define-public cl-interpol
7897 (sbcl-package->cl-source-package sbcl-cl-interpol))
7898
7899(define-public ecl-cl-interpol
7900 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7901
7902(define sbcl-symbol-munger-boot0
7903 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7904 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7905 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7906 (revision "1"))
7907 (package
7908 (name "sbcl-symbol-munger-boot0")
7909 (version (git-version "0.0.1" revision commit))
7910 (source
7911 (origin
7912 (method git-fetch)
7913 (uri (git-reference
7914 (url "https://github.com/AccelerationNet/symbol-munger.git")
7915 (commit commit)))
7916 (file-name (git-file-name name version))
7917 (sha256
7918 (base32
7919 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7920 (build-system asdf-build-system/sbcl)
7921 (arguments
7922 `(#:asd-file "symbol-munger.asd"
7923 #:asd-system-name "symbol-munger"))
7924 (inputs
7925 `(("iterate" ,sbcl-iterate)
7926 ("alexandria" ,sbcl-alexandria)))
7927 (native-inputs
7928 `(("lisp-unit" ,sbcl-lisp-unit)))
7929 (synopsis
7930 "Capitalization and spacing conversion functions for Common Lisp")
7931 (description
7932 "This is a Common Lisp library to change the capitalization and spacing
7933of a string or a symbol. It can convert to and from Lisp, english, underscore
7934and camel-case rules.")
7935 (home-page "https://github.com/AccelerationNet/symbol-munger")
7936 ;; The package declares a BSD license, but all of the license
7937 ;; text is MIT.
7938 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7939 (license license:expat))))
7940
7941(define sbcl-lisp-unit2-boot0
7942 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7943 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7944 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7945 (revision "1"))
7946 (package
7947 (name "sbcl-lisp-unit2-boot0")
7948 (version (git-version "0.2.0" revision commit))
7949 (source
7950 (origin
7951 (method git-fetch)
7952 (uri (git-reference
7953 (url "https://github.com/AccelerationNet/lisp-unit2.git")
7954 (commit commit)))
7955 (file-name (git-file-name name version))
7956 (sha256
7957 (base32
7958 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7959 (build-system asdf-build-system/sbcl)
7960 (arguments
7961 `(#:asd-file "lisp-unit2.asd"
7962 #:asd-system-name "lisp-unit2"))
7963 (inputs
7964 `(("alexandria" ,sbcl-alexandria)
7965 ("cl-interpol" ,sbcl-cl-interpol)
7966 ("iterate" ,sbcl-iterate)
7967 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
7968 (synopsis "Test Framework for Common Lisp")
7969 (description
7970 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7971style of JUnit for Java. It is a new version of the lisp-unit library written
7972by Chris Riesbeck.")
7973 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7974 (license license:expat))))
edfa2261
KCB
7975
7976(define-public sbcl-symbol-munger
7977 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7978 (revision "1"))
7979 (package
7980 (name "sbcl-symbol-munger")
7981 (version (git-version "0.0.1" revision commit))
7982 (source
7983 (origin
7984 (method git-fetch)
7985 (uri (git-reference
7986 (url "https://github.com/AccelerationNet/symbol-munger.git")
7987 (commit commit)))
7988 (file-name (git-file-name name version))
7989 (sha256
7990 (base32
7991 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
7992 (build-system asdf-build-system/sbcl)
7993 (inputs
7994 `(("alexandria" ,sbcl-alexandria)
7995 ("iterate" ,sbcl-iterate)))
7996 (native-inputs
7997 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
7998 (synopsis
7999 "Capitalization and spacing conversion functions for Common Lisp")
8000 (description
8001 "This is a Common Lisp library to change the capitalization and spacing
8002of a string or a symbol. It can convert to and from Lisp, english, underscore
8003and camel-case rules.")
8004 (home-page "https://github.com/AccelerationNet/symbol-munger")
8005 ;; The package declares a BSD license, but all of the license
8006 ;; text is MIT.
8007 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8008 (license license:expat))))
8009
8010(define-public cl-symbol-munger
8011 (sbcl-package->cl-source-package sbcl-symbol-munger))
8012
8013(define-public ecl-symbol-munger
8014 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8015
8016(define-public sbcl-lisp-unit2
8017 (package
8018 (inherit sbcl-lisp-unit2-boot0)
8019 (name "sbcl-lisp-unit2")
8020 (inputs
8021 `(("alexandria" ,sbcl-alexandria)
8022 ("cl-interpol" ,sbcl-cl-interpol)
8023 ("iterate" ,sbcl-iterate)
8024 ("symbol-munger" ,sbcl-symbol-munger)))))
8025
8026(define-public cl-lisp-unit2
8027 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8028
8029(define-public ecl-lisp-unit2
8030 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8031
8032(define-public sbcl-cl-csv
8033 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8034 (revision "1"))
8035 (package
8036 (name "sbcl-cl-csv")
8037 (version (git-version "1.0.6" revision commit))
8038 (source
8039 (origin
8040 (method git-fetch)
8041 (uri (git-reference
8042 (url "https://github.com/AccelerationNet/cl-csv.git")
8043 (commit commit)))
8044 (file-name (git-file-name name version))
8045 (sha256
8046 (base32
8047 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8048 (build-system asdf-build-system/sbcl)
8049 (arguments
8050 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8051 `(#:tests? #f))
8052 (inputs
8053 `(("alexandria" ,sbcl-alexandria)
8054 ("cl-interpol" ,sbcl-cl-interpol)
8055 ("iterate" ,sbcl-iterate)))
8056 (native-inputs
8057 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8058 (synopsis "Common lisp library for comma-separated values")
8059 (description
8060 "This is a Common Lisp library providing functions to read/write CSV
8061from/to strings, streams and files.")
8062 (home-page "https://github.com/AccelerationNet/cl-csv")
8063 (license license:bsd-3))))
8064
8065(define-public cl-csv
8066 (sbcl-package->cl-source-package sbcl-cl-csv))
8067
8068(define-public ecl-cl-csv
8069 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8070
8071(define-public sbcl-external-program
8072 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8073 (revision "1"))
8074 (package
8075 (name "sbcl-external-program")
8076 (version (git-version "0.0.6" revision commit))
8077 (source
8078 (origin
8079 (method git-fetch)
8080 (uri (git-reference
8081 (url "https://github.com/sellout/external-program.git")
8082 (commit commit)))
8083 (file-name (git-file-name name version))
8084 (sha256
8085 (base32
8086 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8087 (build-system asdf-build-system/sbcl)
8088 (inputs
8089 `(("trivial-features" ,sbcl-trivial-features)))
8090 (native-inputs
8091 `(("fiveam" ,sbcl-fiveam)))
8092 (synopsis "Common Lisp library for running external programs")
8093 (description
8094 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8095process. It is an attempt to make the RUN-PROGRAM functionality in
8096implementations like SBCL and CCL as portable as possible without
8097sacrificing much in the way of power.")
8098 (home-page "https://github.com/sellout/external-program")
8099 (license license:llgpl))))
8100
8101(define-public cl-external-program
8102 (sbcl-package->cl-source-package sbcl-external-program))
8103
8104(define-public ecl-external-program
8105 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8106
8107(define sbcl-cl-ana-boot0
8108 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8109 (revision "1"))
8110 (package
8111 (name "sbcl-cl-ana-boot0")
8112 (version (git-version "0.0.0" revision commit))
8113 (source
8114 (origin
8115 (method git-fetch)
8116 (uri (git-reference
8117 (url "https://github.com/ghollisjr/cl-ana.git")
8118 (commit commit)))
8119 (file-name (git-file-name name version))
8120 (sha256
8121 (base32
8122 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8123 (build-system asdf-build-system/sbcl)
8124 (synopsis "Common Lisp data analysis library")
8125 (description
8126 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8127binned data analysis along with nonlinear least squares fitting and
8128visualization.")
8129 (home-page "https://github.com/ghollisjr/cl-ana")
8130 (license license:gpl3))))
8131
8132(define-public sbcl-cl-ana.pathname-utils
8133 (package
8134 (inherit sbcl-cl-ana-boot0)
8135 (name "sbcl-cl-ana.pathname-utils")
8136 (arguments
8137 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8138 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8139 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8140
8141(define-public cl-ana.pathname-utils
8142 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8143
8144(define-public ecl-cl-ana.pathname-utils
8145 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8146
8147(define-public sbcl-cl-ana.package-utils
8148 (package
8149 (inherit sbcl-cl-ana-boot0)
8150 (name "sbcl-cl-ana.package-utils")
8151 (inputs
8152 `(("alexandria" ,sbcl-alexandria)))
8153 (arguments
8154 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8155 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8156 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8157
8158(define-public cl-ana.package-utils
8159 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8160
8161(define-public ecl-cl-ana.package-utils
8162 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8163
8164(define-public sbcl-cl-ana.string-utils
8165 (package
8166 (inherit sbcl-cl-ana-boot0)
8167 (name "sbcl-cl-ana.string-utils")
8168 (inputs
8169 `(("split-sequence" ,sbcl-split-sequence)))
8170 (arguments
8171 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8172 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8173 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8174
8175(define-public cl-ana.string-utils
8176 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8177
8178(define-public ecl-cl-ana.string-utils
8179 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8180
8181(define-public sbcl-cl-ana.functional-utils
8182 (package
8183 (inherit sbcl-cl-ana-boot0)
8184 (name "sbcl-cl-ana.functional-utils")
8185 (arguments
8186 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8187 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8188 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8189
8190(define-public cl-ana.functional-utils
8191 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8192
8193(define-public ecl-cl-ana.functional-utils
8194 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8195
8196(define-public sbcl-cl-ana.list-utils
8197 (package
8198 (inherit sbcl-cl-ana-boot0)
8199 (name "sbcl-cl-ana.list-utils")
8200 (inputs
8201 `(("alexandria" ,sbcl-alexandria)
8202 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8203 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8204 (arguments
8205 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8206 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8207 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8208
8209(define-public cl-ana.list-utils
8210 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8211
8212(define-public ecl-cl-ana.list-utils
8213 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8214
8215(define-public sbcl-cl-ana.generic-math
8216 (package
8217 (inherit sbcl-cl-ana-boot0)
8218 (name "sbcl-cl-ana.generic-math")
8219 (inputs
8220 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8221 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8222 (arguments
8223 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8224 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8225 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8226
8227(define-public cl-ana.generic-math
8228 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8229
8230(define-public ecl-cl-ana.generic-math
8231 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8232
8233(define-public sbcl-cl-ana.math-functions
8234 (package
8235 (inherit sbcl-cl-ana-boot0)
8236 (name "sbcl-cl-ana.math-functions")
8237 (inputs
8238 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8239 ("gsll" ,sbcl-gsll)))
8240 (arguments
8241 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8242 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8243 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8244
8245(define-public cl-ana.math-functions
8246 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8247
8248(define-public sbcl-cl-ana.calculus
8249 (package
8250 (inherit sbcl-cl-ana-boot0)
8251 (name "sbcl-cl-ana.calculus")
8252 (inputs
8253 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8254 (arguments
8255 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8256 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8257 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8258
8259(define-public cl-ana.calculus
8260 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8261
8262(define-public ecl-cl-ana.calculus
8263 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8264
8265(define-public sbcl-cl-ana.symbol-utils
8266 (package
8267 (inherit sbcl-cl-ana-boot0)
8268 (name "sbcl-cl-ana.symbol-utils")
8269 (inputs
8270 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8271 (arguments
8272 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8273 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8274 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8275
8276(define-public cl-ana.symbol-utils
8277 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8278
8279(define-public ecl-cl-ana.symbol-utils
8280 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8281
8282(define-public sbcl-cl-ana.macro-utils
8283 (package
8284 (inherit sbcl-cl-ana-boot0)
8285 (name "sbcl-cl-ana.macro-utils")
8286 (inputs
8287 `(("alexandria" ,sbcl-alexandria)
8288 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8289 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8290 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8291 ("split-sequence" ,sbcl-split-sequence)))
8292 (arguments
8293 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8294 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8295 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8296
8297(define-public cl-ana.macro-utils
8298 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8299
8300(define-public ecl-cl-ana.macro-utils
8301 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8302
8303(define-public sbcl-cl-ana.binary-tree
8304 (package
8305 (inherit sbcl-cl-ana-boot0)
8306 (name "sbcl-cl-ana.binary-tree")
8307 (inputs
8308 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8309 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8310 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8311 (arguments
8312 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8313 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8314 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8315
8316(define-public cl-ana.binary-tree
8317 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8318
8319(define-public ecl-cl-ana.binary-tree
8320 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8321
8322(define-public sbcl-cl-ana.tensor
8323 (package
8324 (inherit sbcl-cl-ana-boot0)
8325 (name "sbcl-cl-ana.tensor")
8326 (inputs
8327 `(("alexandria" ,sbcl-alexandria)
8328 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8329 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8330 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8331 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8332 (arguments
8333 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8334 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8335 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8336
8337(define-public cl-ana.tensor
8338 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8339
8340(define-public ecl-cl-ana.tensor
8341 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8342
8343(define-public sbcl-cl-ana.error-propogation
8344 (package
8345 (inherit sbcl-cl-ana-boot0)
8346 (name "sbcl-cl-ana.error-propogation")
8347 (inputs
8348 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8349 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8350 (arguments
8351 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8352 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8353 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8354
8355(define-public cl-ana.error-propogation
8356 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8357
8358(define-public sbcl-cl-ana.quantity
8359 (package
8360 (inherit sbcl-cl-ana-boot0)
8361 (name "sbcl-cl-ana.quantity")
8362 (inputs
8363 `(("alexandria" ,sbcl-alexandria)
8364 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8365 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8366 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8367 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8368 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8369 (arguments
8370 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8371 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8372 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8373
8374(define-public cl-ana.quantity
8375 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8376
8377(define-public sbcl-cl-ana.table
8378 (package
8379 (inherit sbcl-cl-ana-boot0)
8380 (name "sbcl-cl-ana.table")
8381 (inputs
8382 `(("alexandria" ,sbcl-alexandria)
8383 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8384 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8385 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8386 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8387 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8388 (arguments
8389 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8390 ((#:asd-file _ "") "table/cl-ana.table.asd")
8391 ((#:asd-system-name _ #f) "cl-ana.table")))))
8392
8393(define-public cl-ana.table
8394 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8395
8396(define-public ecl-cl-ana.table
8397 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8398
8399(define-public sbcl-cl-ana.table-utils
8400 (package
8401 (inherit sbcl-cl-ana-boot0)
8402 (name "sbcl-cl-ana.table-utils")
8403 (inputs
8404 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8405 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8406 ("cl-ana.table" ,sbcl-cl-ana.table)))
8407 (arguments
8408 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8409 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8410 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8411
8412(define-public cl-ana.table-utils
8413 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8414
8415(define-public ecl-cl-ana.table-utils
8416 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8417
8418(define-public sbcl-cl-ana.hdf-cffi
8419 (package
8420 (inherit sbcl-cl-ana-boot0)
8421 (name "sbcl-cl-ana.hdf-cffi")
8422 (inputs
8423 `(("cffi" ,sbcl-cffi)
8424 ("hdf5" ,hdf5-parallel-openmpi)))
8425 (arguments
8426 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8427 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8428 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8429 ((#:phases phases '%standard-phases)
8430 `(modify-phases ,phases
8431 (add-after 'unpack 'fix-paths
8432 (lambda* (#:key inputs #:allow-other-keys)
8433 (substitute* "hdf-cffi/hdf-cffi.lisp"
8434 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8435 (string-append
8436 (assoc-ref inputs "hdf5")
8437 "/lib/libhdf5.so")))))))))))
8438
8439(define-public cl-ana.hdf-cffi
8440 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8441
8442(define-public ecl-cl-ana.hdf-cffi
8443 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8444
8445(define-public sbcl-cl-ana.int-char
8446 (package
8447 (inherit sbcl-cl-ana-boot0)
8448 (name "sbcl-cl-ana.int-char")
8449 (arguments
8450 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8451 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8452 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8453
8454(define-public cl-ana.int-char
8455 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8456
8457(define-public ecl-cl-ana.int-char
8458 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8459
8460(define-public sbcl-cl-ana.memoization
8461 (package
8462 (inherit sbcl-cl-ana-boot0)
8463 (name "sbcl-cl-ana.memoization")
8464 (inputs
8465 `(("alexandria" ,sbcl-alexandria)))
8466 (arguments
8467 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8468 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8469 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8470
8471(define-public cl-ana.memoization
8472 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8473
8474(define-public ecl-cl-ana.memoization
8475 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8476
8477(define-public sbcl-cl-ana.typespec
8478 (package
8479 (inherit sbcl-cl-ana-boot0)
8480 (name "sbcl-cl-ana.typespec")
8481 (inputs
8482 `(("alexandria" ,sbcl-alexandria)
8483 ("cffi" ,sbcl-cffi)
8484 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8485 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8486 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8487 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8488 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8489 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8490 (arguments
8491 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8492 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8493 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8494
8495(define-public cl-ana.typespec
8496 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8497
8498(define-public ecl-cl-ana.typespec
8499 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8500
8501(define-public sbcl-cl-ana.hdf-typespec
8502 (package
8503 (inherit sbcl-cl-ana-boot0)
8504 (name "sbcl-cl-ana.hdf-typespec")
8505 (inputs
8506 `(("alexandria" ,sbcl-alexandria)
8507 ("cffi" ,sbcl-cffi)
8508 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8509 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8510 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8511 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8512 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8513 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8514 (arguments
8515 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8516 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8517 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8518
8519(define-public cl-ana.hdf-typespec
8520 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8521
8522(define-public ecl-cl-ana.hdf-typespec
8523 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8524
8525(define-public sbcl-cl-ana.hdf-utils
8526 (package
8527 (inherit sbcl-cl-ana-boot0)
8528 (name "sbcl-cl-ana.hdf-utils")
8529 (inputs
8530 `(("alexandria" ,sbcl-alexandria)
8531 ("cffi" ,sbcl-cffi)
8532 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8533 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8534 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8535 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8536 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8537 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8538 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8539 (arguments
8540 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8541 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8542 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8543
8544(define-public cl-ana.hdf-utils
8545 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8546
8547(define-public ecl-cl-ana.hdf-utils
8548 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8549
8550(define-public sbcl-cl-ana.typed-table
8551 (package
8552 (inherit sbcl-cl-ana-boot0)
8553 (name "sbcl-cl-ana.typed-table")
8554 (inputs
8555 `(("alexandria" ,sbcl-alexandria)
8556 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8557 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8558 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8559 ("cl-ana.table" ,sbcl-cl-ana.table)
8560 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8561 (arguments
8562 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8563 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8564 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8565
8566(define-public cl-ana.typed-table
8567 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8568
8569(define-public ecl-cl-ana.typed-table
8570 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8571
8572(define-public sbcl-cl-ana.hdf-table
8573 (package
8574 (inherit sbcl-cl-ana-boot0)
8575 (name "sbcl-cl-ana.hdf-table")
8576 (inputs
8577 `(("alexandria" ,sbcl-alexandria)
8578 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8579 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8580 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8581 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8582 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8583 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8584 ("cl-ana.table" ,sbcl-cl-ana.table)
8585 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8586 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8587 (arguments
8588 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8589 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8590 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8591
8592(define-public cl-ana.hdf-table
8593 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8594
8595(define-public ecl-cl-ana.hdf-table
8596 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8597
8598(define-public sbcl-cl-ana.gsl-cffi
8599 (package
8600 (inherit sbcl-cl-ana-boot0)
8601 (name "sbcl-cl-ana.gsl-cffi")
8602 (inputs
8603 `(("cffi" ,sbcl-cffi)
8604 ("gsl" ,gsl)))
8605 (arguments
8606 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8607 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8608 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8609 ((#:phases phases '%standard-phases)
8610 `(modify-phases ,phases
8611 (add-after 'unpack 'fix-paths
8612 (lambda* (#:key inputs #:allow-other-keys)
8613 (substitute* "gsl-cffi/gsl-cffi.lisp"
8614 (("define-foreign-library gsl-cffi" all)
8615 (string-append all " (:unix "
8616 (assoc-ref inputs "gsl")
8617 "/lib/libgsl.so)")))))))))))
8618
8619(define-public cl-ana.gsl-cffi
8620 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8621
8622(define-public ecl-cl-ana.gsl-cffi
8623 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8624
8625(define-public sbcl-cl-ana.ntuple-table
8626 (package
8627 (inherit sbcl-cl-ana-boot0)
8628 (name "sbcl-cl-ana.ntuple-table")
8629 (inputs
8630 `(("alexandria" ,sbcl-alexandria)
8631 ("cffi" ,sbcl-cffi)
8632 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8633 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8634 ("cl-ana.table" ,sbcl-cl-ana.table)
8635 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8636 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8637 ("gsll" ,sbcl-gsll)))
8638 (arguments
8639 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8640 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8641 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8642
8643(define-public cl-ana.ntuple-table
8644 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8645
8646(define-public sbcl-cl-ana.csv-table
8647 (package
8648 (inherit sbcl-cl-ana-boot0)
8649 (name "sbcl-cl-ana.csv-table")
8650 (inputs
8651 `(("alexandria" ,sbcl-alexandria)
8652 ("antik" ,sbcl-antik)
8653 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8654 ("cl-ana.table" ,sbcl-cl-ana.table)
8655 ("cl-csv" ,sbcl-cl-csv)
8656 ("iterate" ,sbcl-iterate)))
8657 (arguments
8658 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8659 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8660 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8661
8662(define-public cl-ana.csv-table
8663 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8664
8665(define-public sbcl-cl-ana.reusable-table
8666 (package
8667 (inherit sbcl-cl-ana-boot0)
8668 (name "sbcl-cl-ana.reusable-table")
8669 (inputs
8670 `(("alexandria" ,sbcl-alexandria)
8671 ("cl-ana.table" ,sbcl-cl-ana.table)))
8672 (arguments
8673 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8674 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8675 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8676
8677(define-public cl-ana.reusable-table
8678 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8679
8680(define-public ecl-cl-ana.reusable-table
8681 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8682
8683(define-public sbcl-cl-ana.linear-algebra
8684 (package
8685 (inherit sbcl-cl-ana-boot0)
8686 (name "sbcl-cl-ana.linear-algebra")
8687 (inputs
8688 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8689 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8690 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8691 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8692 ("gsll" ,sbcl-gsll)))
8693 (arguments
8694 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8695 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8696 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8697
8698(define-public cl-ana.linear-algebra
8699 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8700
8701(define-public sbcl-cl-ana.lorentz
8702 (package
8703 (inherit sbcl-cl-ana-boot0)
8704 (name "sbcl-cl-ana.lorentz")
8705 (inputs
8706 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8707 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8708 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8709 ("iterate" ,sbcl-iterate)))
8710 (arguments
8711 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8712 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8713 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8714
8715(define-public cl-ana.lorentz
8716 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8717
8718(define-public sbcl-cl-ana.clos-utils
8719 (package
8720 (inherit sbcl-cl-ana-boot0)
8721 (name "sbcl-cl-ana.clos-utils")
8722 (inputs
8723 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8724 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8725 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8726 ("closer-mop" ,sbcl-closer-mop)))
8727 (arguments
8728 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8729 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8730 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8731
8732(define-public cl-ana.clos-utils
8733 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8734
8735(define-public ecl-cl-ana.clos-utils
8736 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8737
8738(define-public sbcl-cl-ana.hash-table-utils
8739 (package
8740 (inherit sbcl-cl-ana-boot0)
8741 (name "sbcl-cl-ana.hash-table-utils")
8742 (arguments
8743 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8744 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8745 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8746
8747(define-public cl-ana.hash-table-utils
8748 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8749
8750(define-public ecl-cl-ana.hash-table-utils
8751 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8752
8753(define-public sbcl-cl-ana.map
8754 (package
8755 (inherit sbcl-cl-ana-boot0)
8756 (name "sbcl-cl-ana.map")
8757 (inputs
8758 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8759 (arguments
8760 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8761 ((#:asd-file _ "") "map/cl-ana.map.asd")
8762 ((#:asd-system-name _ #f) "cl-ana.map")))))
8763
8764(define-public cl-ana.map
8765 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8766
8767(define-public ecl-cl-ana.map
8768 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8769
8770(define-public sbcl-cl-ana.fitting
8771 (package
8772 (inherit sbcl-cl-ana-boot0)
8773 (name "sbcl-cl-ana.fitting")
8774 (inputs
8775 `(("alexandria" ,sbcl-alexandria)
8776 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8777 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8778 ("cl-ana.map" ,sbcl-cl-ana.map)
8779 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8780 ("gsll" ,sbcl-gsll)))
8781 (arguments
8782 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8783 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8784 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8785
8786(define-public cl-ana.fitting
8787 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8788
8789(define-public sbcl-cl-ana.histogram
8790 (package
8791 (inherit sbcl-cl-ana-boot0)
8792 (name "sbcl-cl-ana.histogram")
8793 (inputs
8794 `(("alexandria" ,sbcl-alexandria)
8795 ("iterate" ,sbcl-iterate)
8796 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8797 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8798 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8799 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8800 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8801 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8802 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8803 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8804 ("cl-ana.map" ,sbcl-cl-ana.map)
8805 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8806 (arguments
8807 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8808 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8809 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8810
8811(define-public cl-ana.histogram
8812 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8813
8814(define-public sbcl-cl-ana.file-utils
8815 (package
8816 (inherit sbcl-cl-ana-boot0)
8817 (name "sbcl-cl-ana.file-utils")
8818 (inputs
8819 `(("external-program" ,sbcl-external-program)
8820 ("split-sequence" ,sbcl-split-sequence)))
8821 (arguments
8822 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8823 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8824 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8825
8826(define-public cl-ana.file-utils
8827 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8828
8829(define-public ecl-cl-ana.file-utils
8830 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8831
8832(define-public sbcl-cl-ana.statistics
8833 (package
8834 (inherit sbcl-cl-ana-boot0)
8835 (name "sbcl-cl-ana.statistics")
8836 (inputs
8837 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8838 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8839 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8840 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8841 ("cl-ana.map" ,sbcl-cl-ana.map)))
8842 (arguments
8843 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8844 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8845 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8846
8847(define-public cl-ana.statistics
8848 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8849
8850(define-public sbcl-cl-ana.gnuplot-interface
8851 (package
8852 (inherit sbcl-cl-ana-boot0)
8853 (name "sbcl-cl-ana.gnuplot-interface")
8854 (inputs
8855 `(("external-program" ,sbcl-external-program)))
8856 (arguments
8857 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8858 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8859 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8860
8861(define-public cl-ana.gnuplot-interface
8862 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8863
8864(define-public ecl-cl-ana.gnuplot-interface
8865 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8866
8867(define-public sbcl-cl-ana.plotting
8868 (package
8869 (inherit sbcl-cl-ana-boot0)
8870 (name "sbcl-cl-ana.plotting")
8871 (inputs
8872 `(("alexandria" ,sbcl-alexandria)
8873 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8874 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8875 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8876 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8877 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8878 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8879 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8880 ("cl-ana.map" ,sbcl-cl-ana.map)
8881 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8882 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8883 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8884 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8885 ("external-program" ,sbcl-external-program)
8886 ("split-sequence" ,sbcl-split-sequence)))
8887 (arguments
8888 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8889 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8890 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8891
8892(define-public cl-ana.plotting
8893 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8894
8895(define-public sbcl-cl-ana.table-viewing
8896 (package
8897 (inherit sbcl-cl-ana-boot0)
8898 (name "sbcl-cl-ana.table-viewing")
8899 (inputs
8900 `(("alexandria" ,sbcl-alexandria)
8901 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8902 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8903 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8904 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8905 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8906 ("cl-ana.table" ,sbcl-cl-ana.table)))
8907 (arguments
8908 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8909 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8910 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8911
8912(define-public cl-ana.table-viewing
8913 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8914
8915(define-public sbcl-cl-ana.serialization
8916 (package
8917 (inherit sbcl-cl-ana-boot0)
8918 (name "sbcl-cl-ana.serialization")
8919 (inputs
8920 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8921 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8922 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
8923 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8924 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8925 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8926 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8927 (arguments
8928 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8929 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
8930 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
8931
8932(define-public cl-ana.serialization
8933 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
8934
8935(define-public sbcl-cl-ana.makeres
8936 (package
8937 (inherit sbcl-cl-ana-boot0)
8938 (name "sbcl-cl-ana.makeres")
8939 (inputs
8940 `(("alexandria" ,sbcl-alexandria)
8941 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8942 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
8943 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8944 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8945 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8946 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8947 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8948 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8949 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8950 ("cl-ana.map" ,sbcl-cl-ana.map)
8951 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8952 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8953 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8954 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
8955 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
8956 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8957 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8958 ("cl-ana.table" ,sbcl-cl-ana.table)
8959 ("external-program" ,sbcl-external-program)))
8960 (native-inputs
8961 `(("cl-fad" ,sbcl-cl-fad)))
8962 (arguments
8963 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8964 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
8965 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
8966
8967(define-public cl-ana.makeres
8968 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
8969
8970(define-public sbcl-cl-ana.makeres-macro
8971 (package
8972 (inherit sbcl-cl-ana-boot0)
8973 (name "sbcl-cl-ana.makeres-macro")
8974 (inputs
8975 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8976 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8977 (arguments
8978 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8979 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
8980 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
8981
8982(define-public cl-ana.makeres-macro
8983 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
8984
8985(define-public sbcl-cl-ana.makeres-block
8986 (package
8987 (inherit sbcl-cl-ana-boot0)
8988 (name "sbcl-cl-ana.makeres-block")
8989 (inputs
8990 `(("alexandria" ,sbcl-alexandria)
8991 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8992 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8993 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8994 (arguments
8995 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8996 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
8997 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
8998
8999(define-public cl-ana.makeres-block
9000 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9001
9002(define-public sbcl-cl-ana.makeres-progress
9003 (package
9004 (inherit sbcl-cl-ana-boot0)
9005 (name "sbcl-cl-ana.makeres-progress")
9006 (inputs
9007 `(("alexandria" ,sbcl-alexandria)
9008 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9009 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9010 (arguments
9011 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9012 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9013 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9014
9015(define-public cl-ana.makeres-progress
9016 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9017
9018(define-public sbcl-cl-ana.makeres-table
9019 (package
9020 (inherit sbcl-cl-ana-boot0)
9021 (name "sbcl-cl-ana.makeres-table")
9022 (inputs
9023 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9024 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9025 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9026 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9027 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9028 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9029 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9030 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9031 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9032 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9033 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9034 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9035 ("cl-ana.table" ,sbcl-cl-ana.table)))
9036 (native-inputs
9037 `(("cl-fad" ,sbcl-cl-fad)))
9038 (arguments
9039 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9040 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9041 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9042
9043(define-public cl-ana.makeres-table
9044 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9045
9046(define-public sbcl-cl-ana.makeres-graphviz
9047 (package
9048 (inherit sbcl-cl-ana-boot0)
9049 (name "sbcl-cl-ana.makeres-graphviz")
9050 (inputs
9051 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9052 ("external-program" ,sbcl-external-program)))
9053 (arguments
9054 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9055 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9056 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9057
9058(define-public cl-ana.makeres-graphviz
9059 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9060
9061(define-public sbcl-cl-ana.makeres-branch
9062 (package
9063 (inherit sbcl-cl-ana-boot0)
9064 (name "sbcl-cl-ana.makeres-branch")
9065 (inputs
9066 `(("alexandria" ,sbcl-alexandria)
9067 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9068 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9069 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9070 ("cl-ana.map" ,sbcl-cl-ana.map)
9071 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9072 (arguments
9073 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9074 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9075 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9076
9077(define-public cl-ana.makeres-branch
9078 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9079
9080(define-public sbcl-cl-ana.makeres-utils
9081 (package
9082 (inherit sbcl-cl-ana-boot0)
9083 (name "sbcl-cl-ana.makeres-utils")
9084 (inputs
9085 `(("alexandria" ,sbcl-alexandria)
9086 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9087 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9088 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9089 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9090 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9091 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9092 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9093 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9094 ("cl-ana.map" ,sbcl-cl-ana.map)
9095 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9096 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9097 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9098 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9099 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9100 ("cl-ana.table" ,sbcl-cl-ana.table)))
9101 (native-inputs
9102 `(("cl-fad" ,sbcl-cl-fad)))
9103 (arguments
9104 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9105 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9106 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9107
9108(define-public cl-ana.makeres-utils
9109 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9110
9111(define-public sbcl-cl-ana.statistical-learning
9112 (package
9113 (inherit sbcl-cl-ana-boot0)
9114 (name "sbcl-cl-ana.statistical-learning")
9115 (inputs
9116 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9117 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9118 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9119 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9120 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9121 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9122 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9123 ("cl-ana.map" ,sbcl-cl-ana.map)
9124 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9125 (native-inputs
9126 `(("cl-fad" ,sbcl-cl-fad)))
9127 (arguments
9128 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9129 ((#:asd-file _ "")
9130 "statistical-learning/cl-ana.statistical-learning.asd")
9131 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9132
9133(define-public cl-ana.statistical-learning
9134 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9135
9136(define-public sbcl-cl-ana
9137 (package
9138 (inherit sbcl-cl-ana-boot0)
9139 (name "sbcl-cl-ana")
9140 (inputs
9141 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9142 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9143 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9144 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9145 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9146 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9147 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9148 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9149 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9150 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9151 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9152 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9153 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9154 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9155 ("cl-ana.map" ,sbcl-cl-ana.map)
9156 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9157 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9158 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9159 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9160 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9161 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9162 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9163 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9164 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9165 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9166 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9167 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9168 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9169 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9170 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9171 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9172 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9173 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9174 ("cl-ana.table" ,sbcl-cl-ana.table)
9175 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9176 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9177 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9178 ("libffi" ,libffi)))
9179 (native-inputs
9180 `(("cl-fad" ,sbcl-cl-fad)))
9181 (arguments
9182 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9183 ((#:asd-file _ "") "cl-ana.asd")
9184 ((#:asd-system-name _ #f) "cl-ana")))))
9185
9186(define-public cl-ana
9187 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9188
9189(define-public sbcl-archive
9190 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9191 (revision "1"))
9192 (package
9193 (name "sbcl-archive")
9194 (version (git-version "0.9" revision commit))
9195 (source (origin
9196 (method git-fetch)
9197 (uri (git-reference
9198 (url "https://github.com/sharplispers/archive.git")
9199 (commit commit)))
9200 (file-name (git-file-name name version))
9201 (sha256
9202 (base32
9203 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9204 (build-system asdf-build-system/sbcl)
9205 (inputs
9206 `(("cl-fad" ,sbcl-cl-fad)
9207 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9208 (synopsis "Common Lisp library for tar and cpio archives")
9209 (description
9210 "This is a Common Lisp library to read and write disk-based file
9211archives such as those generated by the tar and cpio programs on Unix.")
9212 (home-page "https://github.com/sharplispers/archive")
9213 (license license:bsd-3))))
9214
9215(define-public cl-archive
9216 (sbcl-package->cl-source-package sbcl-archive))
9217
9218(define-public ecl-archive
9219 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9220
9221(define-public sbcl-misc-extensions
9222 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9223 (revision "1"))
9224 (package
9225 (name "sbcl-misc-extensions")
9226 (version (git-version "3.3" revision commit))
9227 (source
9228 (origin
9229 (method git-fetch)
9230 (uri (git-reference
9231 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9232 (commit commit)))
9233 (file-name (git-file-name name version))
9234 (sha256
9235 (base32
9236 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9237 (build-system asdf-build-system/sbcl)
9238 (synopsis "Collection of small macros and extensions for Common Lisp")
9239 (description
9240 "This project is intended as a catchall for small, general-purpose
9241extensions to Common Lisp. It contains:
9242
9243@itemize
9244@item @code{new-let}, a macro that combines and generalizes @code{let},
9245@code{let*} and @code{multiple-value-bind},
9246@item @code{gmap}, an iteration macro that generalizes @code{map}.
9247@end itemize\n")
9248 (home-page "https://common-lisp.net/project/misc-extensions/")
9249 (license license:public-domain))))
9250
9251(define-public cl-misc-extensions
9252 (sbcl-package->cl-source-package sbcl-misc-extensions))
9253
9254(define-public ecl-misc-extensions
9255 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9256
9257(define-public sbcl-mt19937
9258 (package
9259 (name "sbcl-mt19937")
9260 (version "1.1")
9261 (source
9262 (origin
9263 (method url-fetch)
9264 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9265 "mt19937-latest.tar.gz"))
9266 (sha256
9267 (base32
9268 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9269 (build-system asdf-build-system/sbcl)
9270 (synopsis "Mersenne Twister pseudo-random number generator")
9271 (description
9272 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9273for Common Lisp.")
9274 (home-page "https://www.cliki.net/mt19937")
9275 (license license:public-domain)))
9276
9277(define-public cl-mt19937
9278 (sbcl-package->cl-source-package sbcl-mt19937))
9279
9280(define-public ecl-mt19937
9281 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9282
9283(define-public sbcl-fset
9284 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9285 (revision "1"))
9286 (package
9287 (name "sbcl-fset")
9288 (version (git-version "1.3.2" revision commit))
9289 (source
9290 (origin
9291 (method git-fetch)
9292 (uri (git-reference
9293 (url "https://github.com/slburson/fset")
9294 (commit commit)))
9295 (file-name (git-file-name name version))
9296 (sha256
9297 (base32
9298 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9299 (snippet '(begin
9300 ;; Remove obsolete copy of system definition.
9301 (delete-file "Code/fset.asd")
9302 #t))))
9303 (build-system asdf-build-system/sbcl)
9304 (inputs
9305 `(("misc-extensions" ,sbcl-misc-extensions)
9306 ("mt19937" ,sbcl-mt19937)
9307 ("named-readtables" ,sbcl-named-readtables)))
9308 (synopsis "Functional set-theoretic collections library")
9309 (description
9310 "FSet is a functional set-theoretic collections library for Common Lisp.
9311Functional means that all update operations return a new collection rather than
9312modifying an existing one in place. Set-theoretic means that collections may
9313be nested arbitrarily with no additional programmer effort; for instance, sets
9314may contain sets, maps may be keyed by sets, etc.")
9315 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9316 (license license:llgpl))))
9317
9318(define-public cl-fset
9319 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9320
9321(define-public sbcl-cl-cont
9322 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9323 (revision "1"))
9324 (package
9325 (name "sbcl-cl-cont")
9326 (version (git-version "0.3.8" revision commit))
9327 (source
9328 (origin
9329 (method git-fetch)
9330 (uri (git-reference
9331 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9332 (commit commit)))
9333 (file-name (git-file-name name version))
9334 (sha256
9335 (base32
9336 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9337 (build-system asdf-build-system/sbcl)
9338 (inputs
9339 `(("alexandria" ,sbcl-alexandria)
9340 ("closer-mop" ,sbcl-closer-mop)))
9341 (native-inputs
9342 `(("rt" ,sbcl-rt)))
9343 (synopsis "Delimited continuations for Common Lisp")
9344 (description
9345 "This is a library that implements delimited continuations by
9346transforming Common Lisp code to continuation passing style.")
9347 (home-page "https://common-lisp.net/project/cl-cont/")
9348 (license license:llgpl))))
9349
9350(define-public cl-cont
9351 (sbcl-package->cl-source-package sbcl-cl-cont))
9352
9353(define-public ecl-cl-cont
9354 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9355
9356(define-public sbcl-cl-coroutine
9357 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9358 (revision "1"))
9359 (package
9360 (name "sbcl-cl-coroutine")
9361 (version (git-version "0.1" revision commit))
9362 (source
9363 (origin
9364 (method git-fetch)
9365 (uri (git-reference
9366 (url "https://github.com/takagi/cl-coroutine.git")
9367 (commit commit)))
9368 (file-name (git-file-name name version))
9369 (sha256
9370 (base32
9371 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9372 (build-system asdf-build-system/sbcl)
9373 (inputs
9374 `(("alexandria" ,sbcl-alexandria)
9375 ("cl-cont" ,sbcl-cl-cont)))
9376 (native-inputs
9377 `(("prove" ,sbcl-prove)))
9378 (arguments
9379 `(;; TODO: Fix the tests. They fail with:
9380 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9381 #:tests? #f
9382 #:phases
9383 (modify-phases %standard-phases
9384 (add-after 'unpack 'fix-tests
9385 (lambda _
9386 (substitute* "cl-coroutine-test.asd"
9387 (("cl-test-more")
9388 "prove"))
9389 #t)))))
9390 (synopsis "Coroutine library for Common Lisp")
9391 (description
9392 "This is a coroutine library for Common Lisp implemented using the
9393continuations of the @code{cl-cont} library.")
9394 (home-page "https://github.com/takagi/cl-coroutine")
9395 (license license:llgpl))))
9396
9397(define-public cl-coroutine
9398 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9399
9400(define-public ecl-cl-coroutine
9401 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9402
9403(define-public sbcl-vom
9404 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9405 (revision "1"))
9406 (package
9407 (name "sbcl-vom")
9408 (version (git-version "0.1.4" revision commit))
9409 (source
9410 (origin
9411 (method git-fetch)
9412 (uri (git-reference
9413 (url "https://github.com/orthecreedence/vom.git")
9414 (commit commit)))
9415 (file-name (git-file-name name version))
9416 (sha256
9417 (base32
9418 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9419 (build-system asdf-build-system/sbcl)
9420 (synopsis "Tiny logging utility for Common Lisp")
9421 (description
9422 "Vom is a logging library for Common Lisp. It's goal is to be useful
9423and small. It does not provide a lot of features as other loggers do, but
9424has a small codebase that's easy to understand and use.")
9425 (home-page "https://github.com/orthecreedence/vom")
9426 (license license:expat))))
9427
9428(define-public cl-vom
9429 (sbcl-package->cl-source-package sbcl-vom))
9430
9431(define-public ecl-vom
9432 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9433
9434(define-public sbcl-cl-libuv
9435 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9436 (revision "1"))
9437 (package
9438 (name "sbcl-cl-libuv")
9439 (version (git-version "0.1.6" revision commit))
9440 (source
9441 (origin
9442 (method git-fetch)
9443 (uri (git-reference
9444 (url "https://github.com/orthecreedence/cl-libuv.git")
9445 (commit commit)))
9446 (file-name (git-file-name name version))
9447 (sha256
9448 (base32
9449 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9450 (build-system asdf-build-system/sbcl)
9451 (inputs
9452 `(("alexandria" ,sbcl-alexandria)
9453 ("cffi" ,sbcl-cffi)
9454 ("cffi-grovel" ,sbcl-cffi-grovel)
9455 ("libuv" ,libuv)))
9456 (arguments
9457 `(#:phases
9458 (modify-phases %standard-phases
9459 (add-after 'unpack 'fix-paths
9460 (lambda* (#:key inputs #:allow-other-keys)
9461 (substitute* "lib.lisp"
9462 (("/usr/lib/libuv.so")
9463 (string-append (assoc-ref inputs "libuv")
9464 "/lib/libuv.so")))
9465 #t))
9466 (add-after 'fix-paths 'fix-system-definition
9467 (lambda _
9468 (substitute* "cl-libuv.asd"
9469 (("#:cffi #:alexandria")
9470 "#:cffi #:cffi-grovel #:alexandria"))
9471 #t)))))
9472 (synopsis "Common Lisp bindings to libuv")
9473 (description
9474 "This library provides low-level libuv bindings for Common Lisp.")
9475 (home-page "https://github.com/orthecreedence/cl-libuv")
9476 (license license:expat))))
9477
9478(define-public cl-libuv
9479 (sbcl-package->cl-source-package sbcl-cl-libuv))
9480
9481(define-public ecl-cl-libuv
9482 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9483
9484(define-public sbcl-cl-async-base
9485 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9486 (revision "1"))
9487 (package
9488 (name "sbcl-cl-async-base")
9489 (version (git-version "0.6.1" revision commit))
9490 (source
9491 (origin
9492 (method git-fetch)
9493 (uri (git-reference
9494 (url "https://github.com/orthecreedence/cl-async.git")
9495 (commit commit)))
9496 (file-name (git-file-name name version))
9497 (sha256
9498 (base32
9499 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9500 (build-system asdf-build-system/sbcl)
9501 (inputs
9502 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9503 ("cffi" ,sbcl-cffi)
9504 ("cl-libuv" ,sbcl-cl-libuv)))
9505 (arguments
9506 `(#:asd-file "cl-async.asd"))
9507 (synopsis "Base system for cl-async")
9508 (description
9509 "Cl-async is a library for general purpose, non-blocking programming in
9510Common Lisp. It uses the libuv library as backend.")
9511 (home-page "https://orthecreedence.github.io/cl-async/")
9512 (license license:expat))))
9513
9514(define-public cl-async-base
9515 (sbcl-package->cl-source-package sbcl-cl-async-base))
9516
9517(define-public ecl-cl-async-base
9518 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9519
9520(define-public sbcl-cl-async-util
9521 (package
9522 (inherit sbcl-cl-async-base)
9523 (name "sbcl-cl-async-util")
9524 (inputs
24de1f5a
GLV
9525 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9526 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9527 ("cl-async-base" ,sbcl-cl-async-base)
9528 ("cl-libuv" ,sbcl-cl-libuv)
9529 ("cl-ppcre" ,sbcl-cl-ppcre)
9530 ("fast-io" ,sbcl-fast-io)
9531 ("vom" ,sbcl-vom)))
9532 (synopsis "Internal utilities for cl-async")))
9533
9534(define-public cl-async-util
9535 (sbcl-package->cl-source-package sbcl-cl-async-util))
9536
9537(define-public ecl-cl-async-util
9538 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9539
9540(define-public sbcl-cl-async
9541 (package
9542 (inherit sbcl-cl-async-base)
9543 (name "sbcl-cl-async")
9544 (inputs
9545 `(("babel" ,sbcl-babel)
9546 ("cffi" ,sbcl-cffi)
9547 ("cl-async-base" ,sbcl-cl-async-base)
9548 ("cl-async-util" ,sbcl-cl-async-util)
9549 ("cl-libuv" ,sbcl-cl-libuv)
9550 ("cl-ppcre" ,sbcl-cl-ppcre)
9551 ("static-vectors" ,sbcl-static-vectors)
9552 ("trivial-features" ,sbcl-trivial-features)
9553 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9554 (synopsis "Asynchronous operations for Common Lisp")))
9555
9556(define-public cl-async
9557 (sbcl-package->cl-source-package sbcl-cl-async))
9558
9559(define-public ecl-cl-async
9560 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9561
9562(define-public sbcl-cl-async-repl
9563 (package
9564 (inherit sbcl-cl-async-base)
9565 (name "sbcl-cl-async-repl")
9566 (inputs
9567 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9568 ("cl-async" ,sbcl-cl-async)))
9569 (arguments
9570 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9571 ((#:asd-file _ "") "cl-async-repl.asd")))
9572 (synopsis "REPL integration for cl-async")))
9573
9574(define-public cl-async-repl
9575 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9576
9577(define-public ecl-cl-async-repl
9578 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9579
9580(define-public sbcl-cl-async-ssl
9581 (package
9582 (inherit sbcl-cl-async-base)
9583 (name "sbcl-cl-async-ssl")
9584 (inputs
9585 `(("cffi" ,sbcl-cffi)
9586 ("cl-async" ,sbcl-cl-async)
9587 ("openssl" ,openssl)
9588 ("vom" ,sbcl-vom)))
9589 (arguments
9590 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9591 ((#:asd-file _ "") "cl-async-ssl.asd")
9592 ((#:phases phases '%standard-phases)
9593 `(modify-phases ,phases
9594 (add-after 'unpack 'fix-paths
9595 (lambda* (#:key inputs #:allow-other-keys)
9596 (substitute* "src/ssl/package.lisp"
9597 (("libcrypto\\.so")
9598 (string-append (assoc-ref inputs "openssl")
9599 "/lib/libcrypto.so"))
9600 (("libssl\\.so")
9601 (string-append (assoc-ref inputs "openssl")
9602 "/lib/libssl.so")))
9603 #t))))))
9604 (synopsis "SSL wrapper around cl-async socket implementation")))
9605
9606(define-public cl-async-ssl
9607 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9608
9609(define-public ecl-cl-async-ssl
9610 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9611
9612(define-public sbcl-blackbird
9613 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9614 (revision "1"))
9615 (package
9616 (name "sbcl-blackbird")
9617 (version (git-version "0.5.2" revision commit))
9618 (source
9619 (origin
9620 (method git-fetch)
9621 (uri (git-reference
9622 (url "https://github.com/orthecreedence/blackbird.git")
9623 (commit commit)))
9624 (file-name (git-file-name name version))
9625 (sha256
9626 (base32
9627 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9628 (build-system asdf-build-system/sbcl)
9629 (inputs
9630 `(("vom" ,sbcl-vom)))
9631 (native-inputs
9632 `(("cl-async" ,sbcl-cl-async)
9633 ("fiveam" ,sbcl-fiveam)))
9634 (synopsis "Promise implementation for Common Lisp")
9635 (description
9636 "This is a standalone promise implementation for Common Lisp. It is
9637the successor to the now-deprecated cl-async-future project.")
9638 (home-page "http://orthecreedence.github.io/blackbird/")
9639 (license license:expat))))
9640
9641(define-public cl-blackbird
9642 (sbcl-package->cl-source-package sbcl-blackbird))
9643
9644(define-public ecl-blackbird
9645 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9646
9647(define-public sbcl-cl-async-future
9648 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9649 (revision "1"))
9650 (package
9651 (name "sbcl-cl-async-future")
9652 (version (git-version "0.4.4.1" revision commit))
9653 (source
9654 (origin
9655 (method git-fetch)
9656 (uri (git-reference
9657 (url "https://github.com/orthecreedence/cl-async-future.git")
9658 (commit commit)))
9659 (file-name (git-file-name name version))
9660 (sha256
9661 (base32
9662 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9663 (build-system asdf-build-system/sbcl)
9664 (inputs
9665 `(("blackbird" ,sbcl-blackbird)))
9666 (native-inputs
9667 `(("cl-async" ,sbcl-cl-async)
9668 ("eos" ,sbcl-eos)))
9669 (synopsis "Futures implementation for Common Lisp")
9670 (description
9671 "This is futures implementation for Common Lisp. It plugs in nicely
9672to cl-async.")
9673 (home-page "http://orthecreedence.github.io/cl-async/future")
9674 (license license:expat))))
9675
9676(define-public cl-async-future
9677 (sbcl-package->cl-source-package sbcl-cl-async-future))
9678
9679(define-public ecl-cl-async-future
9680 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9681
9682(define-public sbcl-green-threads
9683 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9684 (revision "1"))
9685 (package
9686 (name "sbcl-green-threads")
9687 (version (git-version "0.3" revision commit))
9688 (source
9689 (origin
9690 (method git-fetch)
9691 (uri (git-reference
9692 (url "https://github.com/thezerobit/green-threads.git")
9693 (commit commit)))
9694 (file-name (git-file-name name version))
9695 (sha256
9696 (base32
9697 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9698 (build-system asdf-build-system/sbcl)
9699 (inputs
9700 `(("cl-async-future" ,sbcl-cl-async-future)
9701 ("cl-cont" ,sbcl-cl-cont)))
9702 (native-inputs
9703 `(("prove" ,sbcl-prove)))
9704 (arguments
9705 `(;; TODO: Fix the tests. They fail with:
9706 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9707 #:tests? #f
9708 #:phases
9709 (modify-phases %standard-phases
9710 (add-after 'unpack 'fix-tests
9711 (lambda _
9712 (substitute* "green-threads-test.asd"
9713 (("cl-test-more")
9714 "prove"))
9715 #t)))))
9716 (synopsis "Cooperative multitasking library for Common Lisp")
9717 (description
9718 "This library allows for cooperative multitasking with help of cl-cont
9719for continuations. It tries to mimic the API of bordeaux-threads as much as
9720possible.")
9721 (home-page "https://github.com/thezerobit/green-threads")
9722 (license license:bsd-3))))
9723
9724(define-public cl-green-threads
9725 (sbcl-package->cl-source-package sbcl-green-threads))
9726
9727(define-public ecl-green-threads
9728 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9729
9730(define-public sbcl-cl-base32
9731 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9732 (revision "1"))
9733 (package
9734 (name "sbcl-cl-base32")
9735 (version (git-version "0.1" revision commit))
9736 (source
9737 (origin
9738 (method git-fetch)
9739 (uri (git-reference
9740 (url "https://github.com/hargettp/cl-base32.git")
9741 (commit commit)))
9742 (file-name (git-file-name name version))
9743 (sha256
9744 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9745 (build-system asdf-build-system/sbcl)
9746 (native-inputs
9747 `(("lisp-unit" ,sbcl-lisp-unit)))
9748 (synopsis "Common Lisp library for base32 encoding and decoding")
9749 (description
9750 "This package provides functions for base32 encoding and decoding as
9751defined in RFC4648.")
9752 (home-page "https://github.com/hargettp/cl-base32")
9753 (license license:expat))))
9754
9755(define-public cl-base32
9756 (sbcl-package->cl-source-package sbcl-cl-base32))
9757
9758(define-public ecl-cl-base32
9759 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9760
9761(define-public sbcl-cl-z85
9762 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9763 (revision "1"))
9764 (package
9765 (name "sbcl-cl-z85")
9766 (version (git-version "1.0" revision commit))
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
9771 (url "https://github.com/glv2/cl-z85.git")
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9776 (build-system asdf-build-system/sbcl)
9777 (native-inputs
9778 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9779 ("fiveam" ,sbcl-fiveam)))
9780 (synopsis "Common Lisp library for Z85 encoding and decoding")
9781 (description
9782 "This package provides functions to encode or decode byte vectors or
9783byte streams using the Z85 format, which is a base-85 encoding used by
9784ZeroMQ.")
9785 (home-page "https://github.com/glv2/cl-z85")
9786 (license license:gpl3+))))
9787
9788(define-public cl-z85
9789 (sbcl-package->cl-source-package sbcl-cl-z85))
9790
9791(define-public ecl-cl-z85
9792 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9793
9794(define-public sbcl-ltk
9795 (package
9796 (name "sbcl-ltk")
9797 (version "0.992")
9798 (source
9799 (origin
9800 (method git-fetch)
9801 (uri (git-reference
9802 (url "https://github.com/herth/ltk.git")
9803 (commit version)))
9804 (file-name (git-file-name name version))
9805 (sha256
9806 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9807 (build-system asdf-build-system/sbcl)
9808 (inputs
9809 `(("imagemagick" ,imagemagick)
9810 ("tk" ,tk)))
9811 (arguments
9812 `(#:asd-file "ltk/ltk.asd"
9813 #:tests? #f
9814 #:phases (modify-phases %standard-phases
9815 (add-after 'unpack 'fix-paths
9816 (lambda* (#:key inputs #:allow-other-keys)
9817 (substitute* "ltk/ltk.lisp"
9818 (("#-freebsd \"wish\"")
9819 (string-append "#-freebsd \""
9820 (assoc-ref inputs "tk")
9821 "/bin/wish\""))
9822 (("do-execute \"convert\"")
9823 (string-append "do-execute \""
9824 (assoc-ref inputs "imagemagick")
9825 "/bin/convert\"")))
9826 #t)))))
9827 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9828 (description
9829 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9830in pure Common Lisp and does not require any Tk knowledge for its usage.")
9831 (home-page "http://www.peter-herth.de/ltk/")
9832 (license license:llgpl)))
9833
9834(define-public cl-ltk
9835 (sbcl-package->cl-source-package sbcl-ltk))
9836
9837(define-public ecl-ltk
9838 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9839
9840(define-public sbcl-ltk-mw
9841 (package
9842 (inherit sbcl-ltk)
9843 (name "sbcl-ltk-mw")
9844 (inputs
9845 `(("ltk" ,sbcl-ltk)))
9846 (arguments
9847 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9848 ((#:asd-file _) "ltk/ltk-mw.asd")
9849 ((#:phases _) '%standard-phases)))
9850 (synopsis "Extra widgets for LTK")
9851 (description
9852 "This is a collection of higher-level widgets built on top of LTK.")))
9853
9854(define-public cl-ltk-mw
9855 (sbcl-package->cl-source-package sbcl-ltk-mw))
9856
9857(define-public ecl-ltk-mw
9858 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9859
9860(define-public sbcl-ltk-remote
9861 (package
9862 (inherit sbcl-ltk)
9863 (name "sbcl-ltk-remote")
9864 (inputs
9865 `(("ltk" ,sbcl-ltk)))
9866 (arguments
9867 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9868 ((#:asd-file _) "ltk/ltk-remote.asd")
9869 ((#:phases _) '%standard-phases)))
9870 (synopsis "Remote GUI support for LTK")
9871 (description
9872 "This LTK extension allows the GUI to be displayed on a computer different
9873from the one running the Lisp program by using a TCP connection.")))
9874
9875(define-public cl-ltk-remote
9876 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9877
9878(define-public sbcl-cl-lex
9879 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9880 (revision "1"))
9881 (package
9882 (name "sbcl-cl-lex")
9883 (version (git-version "1.1.3" revision commit))
9884 (source
9885 (origin
9886 (method git-fetch)
9887 (uri (git-reference
9888 (url "https://github.com/djr7C4/cl-lex.git")
9889 (commit commit)))
9890 (file-name (git-file-name name version))
9891 (sha256
9892 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9893 (build-system asdf-build-system/sbcl)
9894 (inputs
9895 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9896 (synopsis "Common Lisp macros for generating lexical analyzers")
9897 (description
9898 "This is a Common Lisp library providing a set of macros for generating
9899lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9900be used with @code{cl-yacc}.")
9901 (home-page "https://github.com/djr7C4/cl-lex")
9902 (license license:gpl3))))
9903
9904(define-public cl-lex
9905 (sbcl-package->cl-source-package sbcl-cl-lex))
9906
9907(define-public ecl-cl-lex
9908 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9909
9910(define-public sbcl-clunit2
9911 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9912 (revision "1"))
9913 (package
9914 (name "sbcl-clunit2")
9915 (version (git-version "0.2.4" revision commit))
9916 (source
9917 (origin
9918 (method git-fetch)
9919 (uri (git-reference
9920 (url "https://notabug.org/cage/clunit2.git")
9921 (commit commit)))
9922 (file-name (git-file-name name version))
9923 (sha256
9924 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9925 (build-system asdf-build-system/sbcl)
9926 (synopsis "Unit testing framework for Common Lisp")
9927 (description
9928 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9929easy to use so that you can quickly start testing.")
9930 (home-page "https://notabug.org/cage/clunit2")
9931 (license license:expat))))
9932
9933(define-public cl-clunit2
9934 (sbcl-package->cl-source-package sbcl-clunit2))
9935
9936(define-public ecl-clunit2
9937 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
9938
9939(define-public sbcl-cl-colors2
9940 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9941 (revision "1"))
9942 (package
9943 (name "sbcl-cl-colors2")
9944 (version (git-version "0.2.1" revision commit))
9945 (source
9946 (origin
9947 (method git-fetch)
9948 (uri (git-reference
9949 (url "https://notabug.org/cage/cl-colors2.git")
9950 (commit commit)))
9951 (file-name (git-file-name name version))
9952 (sha256
9953 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9954 (build-system asdf-build-system/sbcl)
9955 (native-inputs
9956 `(("clunit2" ,sbcl-clunit2)))
9957 (inputs
9958 `(("alexandria" ,sbcl-alexandria)
9959 ("cl-ppcre" ,sbcl-cl-ppcre)))
9960 (synopsis "Color library for Common Lisp")
9961 (description
9962 "This is a very simple color library for Common Lisp, providing:
9963
9964@itemize
9965@item Types for representing colors in HSV and RGB spaces.
9966@item Simple conversion functions between the above types (and also
9967hexadecimal representation for RGB).
9968@item Some predefined colors (currently X11 color names -- of course
9969the library does not depend on X11).
9970@end itemize\n")
9971 (home-page "https://notabug.org/cage/cl-colors2")
9972 (license license:boost1.0))))
9973
9974(define-public cl-colors2
9975 (sbcl-package->cl-source-package sbcl-cl-colors2))
9976
9977(define-public ecl-cl-colors2
9978 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
9979
9980(define-public sbcl-cl-jpeg
9981 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9982 (revision "1"))
9983 (package
9984 (name "sbcl-cl-jpeg")
9985 (version (git-version "2.8" revision commit))
9986 (source
9987 (origin
9988 (method git-fetch)
9989 (uri (git-reference
9990 (url "https://github.com/sharplispers/cl-jpeg.git")
9991 (commit commit)))
9992 (file-name (git-file-name name version))
9993 (sha256
9994 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
9995 (build-system asdf-build-system/sbcl)
9996 (synopsis "JPEG image library for Common Lisp")
9997 (description
9998 "This is a baseline JPEG codec written in Common Lisp. It can be used
9999for reading and writing JPEG image files.")
10000 (home-page "https://github.com/sharplispers/cl-jpeg")
10001 (license license:bsd-3))))
10002
10003(define-public cl-jpeg
10004 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10005
10006(define-public ecl-cl-jpeg
10007 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10008
10009(define-public sbcl-nodgui
10010 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10011 (revision "1"))
10012 (package
10013 (name "sbcl-nodgui")
10014 (version (git-version "0.0.5" revision commit))
10015 (source
10016 (origin
10017 (method git-fetch)
10018 (uri (git-reference
10019 (url "https://notabug.org/cage/nodgui.git")
10020 (commit commit)))
10021 (file-name (git-file-name name version))
10022 (sha256
10023 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10024 (build-system asdf-build-system/sbcl)
10025 (inputs
10026 `(("alexandria" ,sbcl-alexandria)
10027 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10028 ("cl-colors2" ,sbcl-cl-colors2)
10029 ("cl-jpeg" ,sbcl-cl-jpeg)
10030 ("cl-lex" ,sbcl-cl-lex)
10031 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10032 ("cl-unicode" ,sbcl-cl-unicode)
10033 ("cl-yacc" ,sbcl-cl-yacc)
10034 ("clunit2" ,sbcl-clunit2)
10035 ("named-readtables" ,sbcl-named-readtables)
10036 ("parse-number" ,sbcl-parse-number)
10037 ("tk" ,tk)))
10038 (arguments
10039 `(#:phases (modify-phases %standard-phases
10040 (add-after 'unpack 'fix-paths
10041 (lambda* (#:key inputs #:allow-other-keys)
10042 (substitute* "src/wish-communication.lisp"
10043 (("#-freebsd \"wish\"")
10044 (string-append "#-freebsd \""
10045 (assoc-ref inputs "tk")
10046 "/bin/wish\"")))
10047 #t)))))
10048 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10049 (description
10050 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10051toolkit. It also provides a few additional widgets more than the standard Tk
10052ones.")
10053 (home-page "https://www.autistici.org/interzona/nodgui.html")
10054 (license license:llgpl))))
10055
10056(define-public cl-nodgui
10057 (sbcl-package->cl-source-package sbcl-nodgui))
10058
10059(define-public ecl-nodgui
10060 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10061
10062(define-public sbcl-salza2
10063 (package
10064 (name "sbcl-salza2")
10065 (version "2.0.9")
10066 (source
10067 (origin
10068 (method git-fetch)
10069 (uri (git-reference
10070 (url "https://github.com/xach/salza2.git")
10071 (commit (string-append "release-" version))))
10072 (file-name (git-file-name name version))
10073 (sha256
10074 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10075 (build-system asdf-build-system/sbcl)
10076 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10077 (description
10078 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10079deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10080respectively.")
10081 (home-page "https://www.xach.com/lisp/salza2/")
10082 (license license:bsd-2)))
10083
10084(define-public cl-salza2
10085 (sbcl-package->cl-source-package sbcl-salza2))
10086
10087(define-public ecl-salza2
10088 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10089
10090(define-public sbcl-png-read
10091 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10092 (revision "1"))
10093 (package
10094 (name "sbcl-png-read")
10095 (version (git-version "0.3.1" revision commit))
10096 (source
10097 (origin
10098 (method git-fetch)
10099 (uri (git-reference
10100 (url "https://github.com/Ramarren/png-read.git")
10101 (commit commit)))
10102 (file-name (git-file-name name version))
10103 (sha256
10104 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10105 (build-system asdf-build-system/sbcl)
10106 (inputs
10107 `(("babel" ,sbcl-babel)
10108 ("chipz" ,sbcl-chipz)
10109 ("iterate" ,sbcl-iterate)))
10110 (synopsis "PNG decoder for Common Lisp")
10111 (description "This is a Common Lisp library for reading PNG images.")
10112 (home-page "https://github.com/Ramarren/png-read")
10113 (license license:bsd-3))))
10114
10115(define-public cl-png-read
10116 (sbcl-package->cl-source-package sbcl-png-read))
10117
10118(define-public ecl-png-read
10119 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10120
10121(define-public sbcl-zpng
10122 (package
10123 (name "sbcl-zpng")
10124 (version "1.2.2")
10125 (source
10126 (origin
10127 (method git-fetch)
10128 (uri (git-reference
10129 (url "https://github.com/xach/zpng.git")
10130 (commit (string-append "release-" version))))
10131 (file-name (git-file-name name version))
10132 (sha256
10133 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10134 (build-system asdf-build-system/sbcl)
10135 (inputs
10136 `(("salza2" ,sbcl-salza2)))
10137 (synopsis "PNG encoder for Common Lisp")
10138 (description "This is a Common Lisp library for creating PNG images.")
10139 (home-page "https://www.xach.com/lisp/zpng/")
10140 (license license:bsd-2)))
10141
10142(define-public cl-zpng
10143 (sbcl-package->cl-source-package sbcl-zpng))
10144
10145(define-public ecl-zpng
10146 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10147
10148(define-public sbcl-cl-qrencode
10149 (package
10150 (name "sbcl-cl-qrencode")
10151 (version "0.1.2")
10152 (source
10153 (origin
10154 (method git-fetch)
10155 (uri (git-reference
10156 (url "https://github.com/jnjcc/cl-qrencode.git")
10157 (commit (string-append "v" version))))
10158 (file-name (git-file-name name version))
10159 (sha256
10160 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10161 (build-system asdf-build-system/sbcl)
10162 (native-inputs
10163 `(("lisp-unit" ,sbcl-lisp-unit)))
10164 (inputs
10165 `(("zpng" ,sbcl-zpng)))
10166 (synopsis "QR code encoder for Common Lisp")
10167 (description
10168 "This Common Lisp library provides function to make QR codes and to save
10169them as PNG files.")
10170 (home-page "https://github.com/jnjcc/cl-qrencode")
10171 (license license:gpl2+)))
10172
10173(define-public cl-qrencode
10174 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10175
10176(define-public ecl-cl-qrencode
10177 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10178
10179(define-public sbcl-hdf5-cffi
10180 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10181 (revision "1"))
10182 (package
10183 (name "sbcl-hdf5-cffi")
10184 (version (git-version "1.8.18" revision commit))
10185 (source
10186 (origin
10187 (method git-fetch)
10188 (uri (git-reference
10189 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10190 (commit commit)))
10191 (file-name (git-file-name name version))
10192 (sha256
10193 (base32
10194 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10195 (build-system asdf-build-system/sbcl)
10196 (synopsis "Common Lisp bindings for the HDF5 library")
10197 (description
10198 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10199 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10200 (license (license:non-copyleft
10201 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10202 commit
10203 "/LICENSE")))
10204 (inputs
10205 `(("cffi" ,sbcl-cffi)
10206 ("cffi-grovel" ,sbcl-cffi-grovel)
10207 ("hdf5" ,hdf5-1.10)))
10208 (native-inputs
10209 `(("fiveam" ,sbcl-fiveam)))
10210 (arguments
10211 `(#:asd-system-name "hdf5-cffi"
10212 #:asd-file "hdf5-cffi.asd"
10213 #:test-asd-file "hdf5-cffi.test.asd"
10214 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10215 ;; I don't know if there is a way to tell asdf-build-system to load
10216 ;; an additional system first, so tests are disabled.
10217 #:tests? #f
10218 #:phases
10219 (modify-phases %standard-phases
10220 (add-after 'unpack 'fix-paths
10221 (lambda* (#:key inputs #:allow-other-keys)
10222 (substitute* "src/library.lisp"
10223 (("libhdf5.so")
10224 (string-append
10225 (assoc-ref inputs "hdf5")
10226 "/lib/libhdf5.so")))))
10227 (add-after 'unpack 'fix-dependencies
10228 (lambda* (#:key inputs #:allow-other-keys)
10229 (substitute* "hdf5-cffi.asd"
10230 ((":depends-on \\(:cffi\\)")
10231 ":depends-on (:cffi :cffi-grovel)"))
10232 (substitute* "hdf5-cffi.test.asd"
10233 ((":depends-on \\(:cffi :hdf5-cffi")
10234 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10235
10236(define-public cl-hdf5-cffi
10237 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10238
10239(define-public ecl-hdf5-cffi
10240 (sbcl-package->ecl-package sbcl-hdf5-cffi))