gnu: Add cl-mysql.
[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>
cfc9004e 20;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
88f06fd0
PN
21;;;
22;;; This file is part of GNU Guix.
23;;;
24;;; GNU Guix is free software; you can redistribute it and/or modify it
25;;; under the terms of the GNU General Public License as published by
26;;; the Free Software Foundation; either version 3 of the License, or (at
27;;; your option) any later version.
28;;;
29;;; GNU Guix is distributed in the hope that it will be useful, but
30;;; WITHOUT ANY WARRANTY; without even the implied warranty of
31;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32;;; GNU General Public License for more details.
33;;;
34;;; You should have received a copy of the GNU General Public License
35;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
36
37;;; This file only contains Common Lisp libraries.
38;;; Common Lisp compilers and tooling go to lisp.scm.
39;;; Common Lisp applications should go to the most appropriate file,
40;;; e.g. StumpWM is in wm.scm.
41
42(define-module (gnu packages lisp-xyz)
43 #:use-module (gnu packages)
44 #:use-module ((guix licenses) #:prefix license:)
45 #:use-module (guix packages)
46 #:use-module (guix download)
47 #:use-module (guix git-download)
48 #:use-module (guix hg-download)
49 #:use-module (guix utils)
50 #:use-module (guix build-system asdf)
51 #:use-module (guix build-system trivial)
52 #:use-module (gnu packages c)
53 #:use-module (gnu packages compression)
8a6c0f55 54 #:use-module (gnu packages databases)
88f06fd0
PN
55 #:use-module (gnu packages glib)
56 #:use-module (gnu packages gtk)
d3a2df68 57 #:use-module (gnu packages imagemagick)
37b48dc1 58 #:use-module (gnu packages libevent)
88f06fd0
PN
59 #:use-module (gnu packages libffi)
60 #:use-module (gnu packages lisp)
064dbb71 61 #:use-module (gnu packages maths)
a3f6c410 62 #:use-module (gnu packages networking)
88f06fd0
PN
63 #:use-module (gnu packages pkg-config)
64 #:use-module (gnu packages python)
65 #:use-module (gnu packages python-xyz)
66 #:use-module (gnu packages sqlite)
d3a2df68 67 #:use-module (gnu packages tcl)
88f06fd0
PN
68 #:use-module (gnu packages tls)
69 #:use-module (gnu packages webkit)
70 #:use-module (gnu packages xdisorg)
71 #:use-module (ice-9 match)
72 #:use-module (srfi srfi-19))
73
74(define-public sbcl-alexandria
75 (let ((revision "1")
76 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
77 (package
78 (name "sbcl-alexandria")
79 (version (git-version "1.0.0" revision commit))
80 (source
81 (origin
82 (method git-fetch)
83 (uri (git-reference
84 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
85 (commit commit)))
86 (sha256
87 (base32
88 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
89 (file-name (git-file-name name version))))
90 (build-system asdf-build-system/sbcl)
91 (native-inputs
92 `(("rt" ,sbcl-rt)))
93 (synopsis "Collection of portable utilities for Common Lisp")
94 (description
95 "Alexandria is a collection of portable utilities. It does not contain
96conceptual extensions to Common Lisp. It is conservative in scope, and
97portable between implementations.")
98 (home-page "https://common-lisp.net/project/alexandria/")
99 (license license:public-domain))))
100
101(define-public cl-alexandria
102 (sbcl-package->cl-source-package sbcl-alexandria))
103
104(define-public ecl-alexandria
105 (sbcl-package->ecl-package sbcl-alexandria))
106
107(define-public sbcl-net.didierverna.asdf-flv
108 (package
109 (name "sbcl-net.didierverna.asdf-flv")
110 (version "2.1")
111 (source
112 (origin
113 (method git-fetch)
114 (uri (git-reference
115 (url "https://github.com/didierverna/asdf-flv")
116 (commit (string-append "version-" version))))
117 (file-name (git-file-name "asdf-flv" version))
118 (sha256
119 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
120 (build-system asdf-build-system/sbcl)
121 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
122 (description "ASDF-FLV provides support for file-local variables through
123ASDF. A file-local variable behaves like @code{*PACKAGE*} and
124@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
125dynamic binding is created before processing the file, so that any
126modification to the variable becomes essentially file-local.
127
128In order to make one or several variables file-local, use the macros
129@code{SET-FILE-LOCAL-VARIABLE(S)}.")
130 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
131 (license (license:non-copyleft
132 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
133 "GNU All-Permissive License"))))
134
135(define-public cl-net.didierverna.asdf-flv
136 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
137
138(define-public ecl-net.didierverna.asdf-flv
139 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
140
141(define-public sbcl-fiveam
142 (package
143 (name "sbcl-fiveam")
144 (version "1.4.1")
145 (source
146 (origin
147 (method git-fetch)
148 (uri (git-reference
149 (url "https://github.com/sionescu/fiveam.git")
150 (commit (string-append "v" version))))
151 (file-name (git-file-name "fiveam" version))
152 (sha256
153 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
154 (inputs
155 `(("alexandria" ,sbcl-alexandria)
156 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
157 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
158 (build-system asdf-build-system/sbcl)
159 (synopsis "Common Lisp testing framework")
160 (description "FiveAM is a simple (as far as writing and running tests
161goes) regression testing framework. It has been designed with Common Lisp's
162interactive development model in mind.")
163 (home-page "https://common-lisp.net/project/fiveam/")
164 (license license:bsd-3)))
165
166(define-public cl-fiveam
167 (sbcl-package->cl-source-package sbcl-fiveam))
168
169(define-public ecl-fiveam
170 (sbcl-package->ecl-package sbcl-fiveam))
171
172(define-public sbcl-bordeaux-threads
5a647850
GLV
173 (package
174 (name "sbcl-bordeaux-threads")
175 (version "0.8.7")
176 (source (origin
177 (method git-fetch)
178 (uri (git-reference
179 (url "https://github.com/sionescu/bordeaux-threads.git")
180 (commit (string-append "v" version))))
181 (sha256
182 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
183 (file-name
184 (git-file-name "bordeaux-threads" version))))
185 (inputs `(("alexandria" ,sbcl-alexandria)))
186 (native-inputs `(("fiveam" ,sbcl-fiveam)))
187 (build-system asdf-build-system/sbcl)
188 (synopsis "Portable shared-state concurrency library for Common Lisp")
189 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
190MP/Threading interface. It is similar to the CLIM-SYS threading and lock
191support.")
5a647850
GLV
192 (home-page "https://common-lisp.net/project/bordeaux-threads/")
193 (license license:x11)))
88f06fd0
PN
194
195(define-public cl-bordeaux-threads
196 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
197
198(define-public ecl-bordeaux-threads
199 (sbcl-package->ecl-package sbcl-bordeaux-threads))
200
201(define-public sbcl-trivial-gray-streams
202 (let ((revision "1")
203 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
204 (package
205 (name "sbcl-trivial-gray-streams")
206 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
207 (source
208 (origin
209 (method git-fetch)
210 (uri
211 (git-reference
212 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
213 (commit commit)))
214 (sha256
215 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
216 (file-name
217 (string-append "trivial-gray-streams-" version "-checkout"))))
218 (build-system asdf-build-system/sbcl)
219 (synopsis "Compatibility layer for Gray streams implementations")
220 (description "Gray streams is an interface proposed for inclusion with
221ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
222popular CL implementations implement it. This package provides an extremely
223thin compatibility layer for gray streams.")
0eecc9eb 224 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
225 (license license:x11))))
226
227(define-public cl-trivial-gray-streams
228 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
229
230(define-public ecl-trivial-gray-streams
231 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
232
233(define-public sbcl-fiasco
234 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
235 (revision "1"))
236 (package
237 (name "sbcl-fiasco")
238 (version (git-version "0.0.1" revision commit))
239 (source
240 (origin
241 (method git-fetch)
242 (uri (git-reference
243 (url "https://github.com/joaotavora/fiasco.git")
244 (commit commit)))
245 (file-name (git-file-name "fiasco" version))
246 (sha256
247 (base32
248 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
249 (build-system asdf-build-system/sbcl)
250 (inputs
251 `(("alexandria" ,sbcl-alexandria)
252 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
253 (synopsis "Simple and powerful test framework for Common Lisp")
254 (description "A Common Lisp test framework that treasures your failures,
255logical continuation of Stefil. It focuses on interactive debugging.")
256 (home-page "https://github.com/joaotavora/fiasco")
257 ;; LICENCE specifies this is public-domain unless the legislation
258 ;; doesn't allow or recognize it. In that case it falls back to a
259 ;; permissive licence.
260 (license (list license:public-domain
261 (license:x11-style "file://LICENCE"))))))
262
263(define-public cl-fiasco
264 (sbcl-package->cl-source-package sbcl-fiasco))
265
266(define-public ecl-fiasco
267 (sbcl-package->ecl-package sbcl-fiasco))
268
269(define-public sbcl-flexi-streams
270 (package
271 (name "sbcl-flexi-streams")
6b0604fd 272 (version "1.0.18")
88f06fd0
PN
273 (source
274 (origin
275 (method git-fetch)
276 (uri (git-reference
277 (url "https://github.com/edicl/flexi-streams.git")
278 (commit (string-append "v" version))))
279 (file-name (git-file-name "flexi-streams" version))
280 (sha256
6b0604fd 281 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
282 (build-system asdf-build-system/sbcl)
283 (arguments
284 `(#:phases
285 (modify-phases %standard-phases
286 (add-after 'unpack 'make-git-checkout-writable
287 (lambda _
288 (for-each make-file-writable (find-files "."))
289 #t)))))
290 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
291 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
292 (description "Flexi-streams is an implementation of \"virtual\" bivalent
293streams that can be layered atop real binary or bivalent streams and that can
294be used to read and write character data in various single- or multi-octet
295encodings which can be changed on the fly. It also supplies in-memory binary
296streams which are similar to string streams.")
297 (home-page "http://weitz.de/flexi-streams/")
298 (license license:bsd-3)))
299
300(define-public cl-flexi-streams
301 (sbcl-package->cl-source-package sbcl-flexi-streams))
302
303(define-public ecl-flexi-streams
304 (sbcl-package->ecl-package sbcl-flexi-streams))
305
306(define-public sbcl-cl-ppcre
307 (package
308 (name "sbcl-cl-ppcre")
6c874425 309 (version "2.1.1")
88f06fd0
PN
310 (source
311 (origin
312 (method git-fetch)
313 (uri (git-reference
314 (url "https://github.com/edicl/cl-ppcre.git")
315 (commit (string-append "v" version))))
316 (file-name (git-file-name "cl-ppcre" version))
317 (sha256
6c874425 318 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0
PN
319 (build-system asdf-build-system/sbcl)
320 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
321 (synopsis "Portable regular expression library for Common Lisp")
322 (description "CL-PPCRE is a portable regular expression library for Common
323Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
324compatible with ANSI-compliant Common Lisp implementations.")
325 (home-page "http://weitz.de/cl-ppcre/")
326 (license license:bsd-2)))
327
328(define-public cl-ppcre
329 (sbcl-package->cl-source-package sbcl-cl-ppcre))
330
331(define-public ecl-cl-ppcre
332 (sbcl-package->ecl-package sbcl-cl-ppcre))
333
334(define sbcl-cl-unicode-base
6fdfef66
GLV
335 (package
336 (name "sbcl-cl-unicode-base")
337 (version "0.1.6")
338 (source (origin
339 (method git-fetch)
340 (uri (git-reference
341 (url "https://github.com/edicl/cl-unicode.git")
342 (commit (string-append "v" version))))
343 (file-name (git-file-name name version))
344 (sha256
345 (base32
346 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
347 (build-system asdf-build-system/sbcl)
348 (arguments
349 '(#:asd-file "cl-unicode.asd"
350 #:asd-system-name "cl-unicode/base"))
351 (inputs
352 `(("cl-ppcre" ,sbcl-cl-ppcre)))
353 (home-page "http://weitz.de/cl-unicode/")
354 (synopsis "Portable Unicode library for Common Lisp")
355 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
356is compatible with perl. It is pretty fast, thread-safe, and compatible with
357ANSI-compliant Common Lisp implementations.")
6fdfef66 358 (license license:bsd-2)))
88f06fd0
PN
359
360(define-public sbcl-cl-unicode
361 (package
362 (inherit sbcl-cl-unicode-base)
363 (name "sbcl-cl-unicode")
364 (inputs
365 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
366 ,@(package-inputs sbcl-cl-unicode-base)))
367 (native-inputs
368 `(("flexi-streams" ,sbcl-flexi-streams)))
369 (arguments '())))
370
371(define-public ecl-cl-unicode
372 (sbcl-package->ecl-package sbcl-cl-unicode))
373
374(define-public cl-unicode
375 (sbcl-package->cl-source-package sbcl-cl-unicode))
376
92afa57b
RW
377(define-public sbcl-zpb-ttf
378 (package
379 (name "sbcl-zpb-ttf")
380 (version "1.0.3")
381 (source
382 (origin
383 (method git-fetch)
384 (uri (git-reference
385 (url "https://github.com/xach/zpb-ttf.git")
386 (commit (string-append "release-" version))))
387 (file-name (git-file-name name version))
388 (sha256
389 (base32
390 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
391 (build-system asdf-build-system/sbcl)
392 (home-page "https://github.com/xach/zpb-ttf")
393 (synopsis "TrueType font file access for Common Lisp")
394 (description
395 "ZPB-TTF is a TrueType font file parser that provides an interface for
396reading typographic metrics, glyph outlines, and other information from the
397file.")
398 (license license:bsd-2)))
399
400(define-public ecl-zpb-ttf
401 (sbcl-package->ecl-package sbcl-zpb-ttf))
402
403(define-public cl-zpb-ttf
404 (sbcl-package->cl-source-package sbcl-zpb-ttf))
405
64997728
RW
406(define-public sbcl-cl-aa
407 (package
408 (name "sbcl-cl-aa")
409 (version "0.1.5")
410 (source
411 (origin
412 (method url-fetch)
413 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
414 "files/cl-vectors-" version ".tar.gz"))
415 (sha256
416 (base32
417 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
418 (build-system asdf-build-system/sbcl)
419 (arguments '(#:asd-file "cl-aa.asd"))
420 (home-page "http://projects.tuxee.net/cl-vectors/")
421 (synopsis "Polygon rasterizer")
422 (description
423 "This is a Common Lisp library implementing the AA polygon rasterization
424algorithm from the @url{http://antigrain.com, Antigrain} project.")
425 (license license:expat)))
426
427(define-public ecl-cl-aa
428 (sbcl-package->ecl-package sbcl-cl-aa))
429
430(define-public cl-aa
431 (sbcl-package->cl-source-package sbcl-cl-aa))
432
b571dfdb
RW
433(define-public sbcl-cl-paths
434 (package
435 (inherit sbcl-cl-aa)
436 (name "sbcl-cl-paths")
437 (arguments '(#:asd-file "cl-paths.asd"))
438 (synopsis "Facilities to create and manipulate vectorial paths")
439 (description
440 "This package provides facilities to create and manipulate vectorial
441paths.")))
442
443(define-public ecl-cl-paths
444 (sbcl-package->ecl-package sbcl-cl-paths))
445
446(define-public cl-paths
447 (sbcl-package->cl-source-package sbcl-cl-paths))
448
0dbd7c3c
RW
449(define-public sbcl-cl-paths-ttf
450 (package
451 (inherit sbcl-cl-aa)
452 (name "sbcl-cl-paths-ttf")
453 (arguments '(#:asd-file "cl-paths-ttf.asd"))
454 (inputs
455 `(("cl-paths" ,sbcl-cl-paths)
456 ("zpb-ttf" ,sbcl-zpb-ttf)))
457 (synopsis "Facilities to create and manipulate vectorial paths")
458 (description
459 "This package provides facilities to create and manipulate vectorial
460paths.")))
461
462(define-public ecl-cl-paths-ttf
463 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
464
465(define-public cl-paths-ttf
466 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
467
94c621bd
RW
468(define-public sbcl-cl-vectors
469 (package
470 (inherit sbcl-cl-aa)
471 (name "sbcl-cl-vectors")
472 (arguments '(#:asd-file "cl-vectors.asd"))
473 (inputs
474 `(("cl-aa" ,sbcl-cl-aa)
475 ("cl-paths" ,sbcl-cl-paths)))
476 (synopsis "Create, transform and render anti-aliased vectorial paths")
477 (description
478 "This is a pure Common Lisp library to create, transform and render
479anti-aliased vectorial paths.")))
480
481(define-public ecl-cl-vectors
482 (sbcl-package->ecl-package sbcl-cl-vectors))
483
484(define-public cl-vectors
485 (sbcl-package->cl-source-package sbcl-cl-vectors))
486
7c62d384
RW
487(define-public sbcl-spatial-trees
488 ;; There have been no releases.
489 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
490 (revision "1"))
491 (package
492 (name "sbcl-spatial-trees")
493 (version (git-version "0" revision commit))
494 (source
495 (origin
496 (method git-fetch)
497 (uri (git-reference
498 (url "https://github.com/rpav/spatial-trees.git")
499 (commit commit)))
500 (file-name (git-file-name name version))
501 (sha256
502 (base32
503 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
504 (build-system asdf-build-system/sbcl)
505 (arguments
506 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
507 #:asd-file "spatial-trees.asd"
508 #:test-asd-file "spatial-trees.test.asd"))
509 (native-inputs
510 `(("fiveam" ,sbcl-fiveam)))
511 (home-page "https://github.com/rpav/spatial-trees")
512 (synopsis "Dynamic index data structures for spatially-extended data")
513 (description
514 "Spatial-trees is a set of dynamic index data structures for
515spatially-extended data.")
516 (license license:bsd-3))))
517
518(define-public ecl-spatial-trees
519 (sbcl-package->ecl-package sbcl-spatial-trees))
520
521(define-public cl-spatial-trees
522 (sbcl-package->cl-source-package sbcl-spatial-trees))
523
5dfde3f5
RW
524(define-public sbcl-flexichain
525 ;; There are no releases.
526 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
527 (revision "1"))
528 (package
529 (name "sbcl-flexichain")
530 (version "1.5.1")
531 (source
532 (origin
533 (method git-fetch)
534 (uri (git-reference
535 (url "https://github.com/robert-strandh/Flexichain.git")
536 (commit commit)))
537 (file-name (git-file-name name version))
538 (sha256
539 (base32
540 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
541 (build-system asdf-build-system/sbcl)
542 (home-page "https://github.com/robert-strandh/Flexichain.git")
543 (synopsis "Dynamically add elements to or remove them from sequences")
544 (description
545 "This package provides an implementation of the flexichain protocol,
546allowing client code to dynamically add elements to, and delete elements from
547a sequence (or chain) of such elements.")
548 (license license:lgpl2.1+))))
549
550(define-public ecl-flexichain
551 (sbcl-package->ecl-package sbcl-flexichain))
552
553(define-public cl-flexichain
554 (sbcl-package->cl-source-package sbcl-flexichain))
555
e088a010
RW
556(define-public sbcl-cl-pdf
557 ;; There are no releases
558 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
559 (revision "1"))
560 (package
561 (name "sbcl-cl-pdf")
562 (version (git-version "0" revision commit))
563 (source
564 (origin
565 (method git-fetch)
566 (uri (git-reference
567 (url "https://github.com/mbattyani/cl-pdf.git")
568 (commit commit)))
569 (file-name (git-file-name name version))
570 (sha256
571 (base32
572 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
573 (build-system asdf-build-system/sbcl)
574 (inputs
575 `(("iterate" ,sbcl-iterate)
576 ("zpb-ttf" ,sbcl-zpb-ttf)))
577 (home-page "https://github.com/mbattyani/cl-pdf")
578 (synopsis "Common Lisp library for generating PDF files")
579 (description
580 "CL-PDF is a cross-platform Common Lisp library for generating PDF
581files.")
582 (license license:bsd-2))))
583
584(define-public ecl-cl-pdf
585 (sbcl-package->ecl-package sbcl-cl-pdf))
586
587(define-public cl-pdf
588 (sbcl-package->cl-source-package sbcl-cl-pdf))
589
88f06fd0
PN
590(define-public sbcl-clx
591 (package
592 (name "sbcl-clx")
593 (version "0.7.5")
594 (source
595 (origin
596 (method git-fetch)
597 (uri
598 (git-reference
599 (url "https://github.com/sharplispers/clx.git")
600 (commit version)))
601 (sha256
602 (base32
603 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
604 (file-name (string-append "clx-" version))))
605 (build-system asdf-build-system/sbcl)
606 (native-inputs
607 `(("fiasco" ,sbcl-fiasco)))
f0db7779 608 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
609 (synopsis "X11 client library for Common Lisp")
610 (description "CLX is an X11 client library for Common Lisp. The code was
611originally taken from a CMUCL distribution, was modified somewhat in order to
612make it compile and run under SBCL, then a selection of patches were added
613from other CLXes around the net.")
614 (license license:x11)))
615
616(define-public cl-clx
617 (sbcl-package->cl-source-package sbcl-clx))
618
619(define-public ecl-clx
620 (sbcl-package->ecl-package sbcl-clx))
621
622(define-public sbcl-cl-ppcre-unicode
623 (package (inherit sbcl-cl-ppcre)
624 (name "sbcl-cl-ppcre-unicode")
625 (arguments
626 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
627 #:asd-file "cl-ppcre-unicode.asd"))
628 (inputs
629 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
630 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
631
54dc3ba2
GLV
632(define-public ecl-cl-ppcre-unicode
633 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
634
88f06fd0
PN
635;; The slynk that users expect to install includes all of slynk's contrib
636;; modules. Therefore, we build the base module and all contribs first; then
637;; we expose the union of these as `sbcl-slynk'. The following variable
638;; describes the base module.
639(define sbcl-slynk-boot0
640 (let ((revision "2")
641 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
642 (package
643 (name "sbcl-slynk-boot0")
644 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
645 (source
646 (origin
647 (method git-fetch)
648 (uri
649 (git-reference
650 (url "https://github.com/joaotavora/sly.git")
651 (commit commit)))
652 (sha256
653 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
654 (file-name (string-append "slynk-" version "-checkout"))
655 (modules '((guix build utils)
656 (ice-9 ftw)))
657 (snippet
658 '(begin
659 ;; Move the contribs into the main source directory for easier
660 ;; access
661 (substitute* "slynk/slynk.asd"
662 (("\\.\\./contrib")
663 "contrib")
664 (("\\(defsystem :slynk/util")
665 "(defsystem :slynk/util :depends-on (:slynk)")
666 ((":depends-on \\(:slynk :slynk/util\\)")
667 ":depends-on (:slynk :slynk-util)"))
668 (substitute* "contrib/slynk-trace-dialog.lisp"
669 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
670 "nil"))
671 (substitute* "contrib/slynk-profiler.lisp"
672 (("slynk:to-line")
673 "slynk-pprint-to-line"))
674 (substitute* "contrib/slynk-fancy-inspector.lisp"
675 (("slynk/util") "slynk-util")
676 ((":compile-toplevel :load-toplevel") ""))
677 (rename-file "contrib" "slynk/contrib")
678 ;; Move slynk's contents into the base directory for easier
679 ;; access
680 (for-each (lambda (file)
681 (unless (string-prefix? "." file)
682 (rename-file (string-append "slynk/" file)
683 (string-append "./" (basename file)))))
684 (scandir "slynk"))
685 #t))))
686 (build-system asdf-build-system/sbcl)
687 (arguments
688 `(#:tests? #f ; No test suite
689 #:asd-system-name "slynk"))
690 (synopsis "Common Lisp IDE for Emacs")
691 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
692It also features a completely redesigned REPL based on Emacs's own
693full-featured comint.el, live code annotations, and a consistent interactive
694button interface. Everything can be copied to the REPL. One can create
695multiple inspectors with independent history.")
696 (home-page "https://github.com/joaotavora/sly")
697 (license license:public-domain)
698 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
699
700(define-public cl-slynk
701 (package
702 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
703 (name "cl-slynk")))
704
705(define ecl-slynk-boot0
706 (sbcl-package->ecl-package sbcl-slynk-boot0))
707
708(define sbcl-slynk-arglists
709 (package
710 (inherit sbcl-slynk-boot0)
711 (name "sbcl-slynk-arglists")
712 (inputs `(("slynk" ,sbcl-slynk-boot0)))
713 (arguments
714 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
715 ((#:asd-file _ "") "slynk.asd")
716 ((#:asd-system-name _ #f) "slynk/arglists")))))
717
718(define ecl-slynk-arglists
719 (sbcl-package->ecl-package sbcl-slynk-arglists))
720
721(define sbcl-slynk-util
722 (package
723 (inherit sbcl-slynk-boot0)
724 (name "sbcl-slynk-util")
725 (inputs `(("slynk" ,sbcl-slynk-boot0)))
726 (arguments
727 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
728 ((#:asd-file _ "") "slynk.asd")
729 ((#:asd-system-name _ #f) "slynk/util")))))
730
731(define ecl-slynk-util
732 (sbcl-package->ecl-package sbcl-slynk-util))
733
734(define sbcl-slynk-fancy-inspector
735 (package
736 (inherit sbcl-slynk-arglists)
737 (name "sbcl-slynk-fancy-inspector")
738 (inputs `(("slynk-util" ,sbcl-slynk-util)
739 ,@(package-inputs sbcl-slynk-arglists)))
740 (arguments
741 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
742 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
743
744(define ecl-slynk-fancy-inspector
745 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
746
747(define sbcl-slynk-package-fu
748 (package
749 (inherit sbcl-slynk-arglists)
750 (name "sbcl-slynk-package-fu")
751 (arguments
752 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
753 ((#:asd-system-name _ #f) "slynk/package-fu")))))
754
755(define ecl-slynk-package-fu
756 (sbcl-package->ecl-package sbcl-slynk-package-fu))
757
758(define sbcl-slynk-mrepl
759 (package
760 (inherit sbcl-slynk-fancy-inspector)
761 (name "sbcl-slynk-mrepl")
762 (arguments
763 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
764 ((#:asd-system-name _ #f) "slynk/mrepl")))))
765
766(define ecl-slynk-mrepl
767 (sbcl-package->ecl-package sbcl-slynk-mrepl))
768
769(define sbcl-slynk-trace-dialog
770 (package
771 (inherit sbcl-slynk-arglists)
772 (name "sbcl-slynk-trace-dialog")
773 (arguments
774 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
775 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
776
777(define ecl-slynk-trace-dialog
778 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
779
780(define sbcl-slynk-profiler
781 (package
782 (inherit sbcl-slynk-arglists)
783 (name "sbcl-slynk-profiler")
784 (arguments
785 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
786 ((#:asd-system-name _ #f) "slynk/profiler")))))
787
788(define ecl-slynk-profiler
789 (sbcl-package->ecl-package sbcl-slynk-profiler))
790
791(define sbcl-slynk-stickers
792 (package
793 (inherit sbcl-slynk-arglists)
794 (name "sbcl-slynk-stickers")
795 (arguments
796 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
797 ((#:asd-system-name _ #f) "slynk/stickers")))))
798
799(define ecl-slynk-stickers
800 (sbcl-package->ecl-package sbcl-slynk-stickers))
801
802(define sbcl-slynk-indentation
803 (package
804 (inherit sbcl-slynk-arglists)
805 (name "sbcl-slynk-indentation")
806 (arguments
807 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
808 ((#:asd-system-name _ #f) "slynk/indentation")))))
809
810(define ecl-slynk-indentation
811 (sbcl-package->ecl-package sbcl-slynk-indentation))
812
813(define sbcl-slynk-retro
814 (package
815 (inherit sbcl-slynk-arglists)
816 (name "sbcl-slynk-retro")
817 (arguments
818 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
819 ((#:asd-system-name _ #f) "slynk/retro")))))
820
821(define ecl-slynk-retro
822 (sbcl-package->ecl-package sbcl-slynk-retro))
823
824(define slynk-systems
825 '("slynk"
826 "slynk-util"
827 "slynk-arglists"
828 "slynk-fancy-inspector"
829 "slynk-package-fu"
830 "slynk-mrepl"
831 "slynk-profiler"
832 "slynk-trace-dialog"
833 "slynk-stickers"
834 "slynk-indentation"
835 "slynk-retro"))
836
837(define-public sbcl-slynk
838 (package
839 (inherit sbcl-slynk-boot0)
840 (name "sbcl-slynk")
841 (inputs
842 `(("slynk" ,sbcl-slynk-boot0)
843 ("slynk-util" ,sbcl-slynk-util)
844 ("slynk-arglists" ,sbcl-slynk-arglists)
845 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
846 ("slynk-package-fu" ,sbcl-slynk-package-fu)
847 ("slynk-mrepl" ,sbcl-slynk-mrepl)
848 ("slynk-profiler" ,sbcl-slynk-profiler)
849 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
850 ("slynk-stickers" ,sbcl-slynk-stickers)
851 ("slynk-indentation" ,sbcl-slynk-indentation)
852 ("slynk-retro" ,sbcl-slynk-retro)))
853 (native-inputs `(("sbcl" ,sbcl)))
854 (build-system trivial-build-system)
855 (source #f)
856 (outputs '("out" "image"))
857 (arguments
858 `(#:modules ((guix build union)
859 (guix build utils)
860 (guix build lisp-utils))
861 #:builder
862 (begin
863 (use-modules (ice-9 match)
864 (srfi srfi-1)
865 (guix build union)
866 (guix build lisp-utils))
867
868 (union-build
869 (assoc-ref %outputs "out")
870 (filter-map
871 (match-lambda
872 ((name . path)
873 (if (string-prefix? "slynk" name) path #f)))
874 %build-inputs))
875
876 (prepend-to-source-registry
877 (string-append (assoc-ref %outputs "out") "//"))
878
879 (parameterize ((%lisp-type "sbcl")
880 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
881 "/bin/sbcl")))
882 (build-image (string-append
883 (assoc-ref %outputs "image")
884 "/bin/slynk")
885 %outputs
886 #:dependencies ',slynk-systems))
887 #t)))))
888
889(define-public ecl-slynk
890 (package
891 (inherit sbcl-slynk)
892 (name "ecl-slynk")
893 (inputs
894 (map (match-lambda
895 ((name pkg . _)
896 (list name (sbcl-package->ecl-package pkg))))
897 (package-inputs sbcl-slynk)))
898 (native-inputs '())
899 (outputs '("out"))
900 (arguments
901 '(#:modules ((guix build union))
902 #:builder
903 (begin
904 (use-modules (ice-9 match)
905 (guix build union))
906 (match %build-inputs
907 (((names . paths) ...)
908 (union-build (assoc-ref %outputs "out")
909 paths)
910 #t)))))))
911
912(define-public sbcl-parse-js
913 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
914 (revision "1"))
915 (package
916 (name "sbcl-parse-js")
917 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
918 (source
919 (origin
920 (method git-fetch)
921 (uri (git-reference
922 (url "http://marijn.haverbeke.nl/git/parse-js")
923 (commit commit)))
924 (file-name (string-append name "-" commit "-checkout"))
925 (sha256
926 (base32
927 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
928 (build-system asdf-build-system/sbcl)
929 (home-page "http://marijnhaverbeke.nl/parse-js/")
930 (synopsis "Parse JavaScript")
931 (description "Parse-js is a Common Lisp package for parsing
932JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
933 (license license:zlib))))
934
935(define-public cl-parse-js
936 (sbcl-package->cl-source-package sbcl-parse-js))
937
938(define-public sbcl-parse-number
939 (package
940 (name "sbcl-parse-number")
941 (version "1.7")
942 (source
943 (origin
944 (method git-fetch)
945 (uri (git-reference
946 (url "https://github.com/sharplispers/parse-number/")
947 (commit (string-append "v" version))))
948 (file-name (git-file-name name version))
949 (sha256
950 (base32
951 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
952 (build-system asdf-build-system/sbcl)
953 (home-page "http://www.cliki.net/PARSE-NUMBER")
954 (synopsis "Parse numbers")
955 (description "@code{parse-number} is a library of functions for parsing
956strings into one of the standard Common Lisp number types without using the
957reader. @code{parse-number} accepts an arbitrary string and attempts to parse
958the string into one of the standard Common Lisp number types, if possible, or
959else @code{parse-number} signals an error of type @code{invalid-number}.")
960 (license license:bsd-3)))
961
962(define-public cl-parse-number
963 (sbcl-package->cl-source-package sbcl-parse-number))
964
965(define-public sbcl-iterate
966 (package
967 (name "sbcl-iterate")
f36ec871 968 (version "1.5")
88f06fd0
PN
969 (source
970 (origin
971 (method url-fetch)
f36ec871
GLV
972 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
973 "iterate-" version ".tar.gz"))
88f06fd0
PN
974 (sha256
975 (base32
f36ec871 976 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
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))
aec92d0b 1136 (home-page "https://cliki.net/trivial-features")
88f06fd0
PN
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
e81b0719
GLV
1602 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1603 (revision "1"))
1604 (package
1605 (name "sbcl-rt")
1606 (version (git-version "1990.12.19" revision commit))
1607 (source
1608 (origin
1609 (method git-fetch)
1610 (uri (git-reference
1611 (url "http://git.kpe.io/rt.git")
1612 (commit commit)))
1613 (file-name (git-file-name name version))
1614 (sha256
1615 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1616 (build-system asdf-build-system/sbcl)
1617 (synopsis "MIT Regression Tester")
1618 (description
1619 "RT provides a framework for writing regression test suites.")
1620 (home-page "https://www.cliki.net/rt")
1621 (license license:expat))))
88f06fd0
PN
1622
1623(define-public cl-rt
1624 (sbcl-package->cl-source-package sbcl-rt))
1625
1626(define-public ecl-rt
1627 (sbcl-package->ecl-package sbcl-rt))
1628
1629(define-public sbcl-nibbles
1630 (package
1631 (name "sbcl-nibbles")
1632 (version "0.14")
1633 (source
1634 (origin
1635 (method git-fetch)
1636 (uri (git-reference
1637 (url "https://github.com/sharplispers/nibbles/")
1638 (commit (string-append "v" version))))
1639 (sha256
1640 (base32
1641 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1642 (file-name (git-file-name "nibbles" version))))
1643 (build-system asdf-build-system/sbcl)
1644 (native-inputs
1645 ;; Tests only.
1646 `(("rt" ,sbcl-rt)))
1647 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1648 (description
1649 "When dealing with network protocols and file formats, it's common to
1650have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1651flavors. Common Lisp sort of supports this by specifying :element-type for
1652streams, but that facility is underspecified and there's nothing similar for
1653read/write from octet vectors. What most people wind up doing is rolling their
1654own small facility for their particular needs and calling it a day.
1655
1656This library attempts to be comprehensive and centralize such
1657facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1658vectors in signed or unsigned flavors are provided; these functions are also
1659SETFable. Since it's sometimes desirable to read/write directly from streams,
1660functions for doing so are also provided. On some implementations,
1661reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1662also be supported.")
1663 (home-page "https://github.com/sharplispers/nibbles")
1664 (license license:bsd-3)))
1665
1666(define-public cl-nibbles
1667 (sbcl-package->cl-source-package sbcl-nibbles))
1668
1669(define-public ecl-nibbles
1670 (sbcl-package->ecl-package sbcl-nibbles))
1671
1672(define-public sbcl-ironclad
1673 (package
1674 (name "sbcl-ironclad")
d589f0d2 1675 (version "0.48")
88f06fd0
PN
1676 (source
1677 (origin
1678 (method git-fetch)
1679 (uri (git-reference
1680 (url "https://github.com/sharplispers/ironclad/")
1681 (commit (string-append "v" version))))
1682 (sha256
1683 (base32
d589f0d2 1684 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
88f06fd0
PN
1685 (file-name (git-file-name name version))))
1686 (build-system asdf-build-system/sbcl)
1687 (native-inputs
1688 ;; Tests only.
1689 `(("rt" ,sbcl-rt)))
1690 (inputs
1691 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d589f0d2 1692 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
1693 (synopsis "Cryptographic toolkit written in Common Lisp")
1694 (description
1695 "Ironclad is a cryptography library written entirely in Common Lisp.
1696It includes support for several popular ciphers, digests, MACs and public key
1697cryptography algorithms. For several implementations that support Gray
1698streams, support is included for convenient stream wrappers.")
1699 (home-page "https://github.com/sharplispers/ironclad")
1700 (license license:bsd-3)))
1701
1702(define-public cl-ironclad
1703 (sbcl-package->cl-source-package sbcl-ironclad))
1704
1705(define-public ecl-ironclad
1706 (sbcl-package->ecl-package sbcl-ironclad))
1707
1708(define-public sbcl-named-readtables
1709 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1710 (revision "1"))
1711 (package
1712 (name "sbcl-named-readtables")
1713 (version (string-append "0.9-" revision "." (string-take commit 7)))
1714 (source
1715 (origin
1716 (method git-fetch)
1717 (uri (git-reference
1718 (url "https://github.com/melisgl/named-readtables.git")
1719 (commit commit)))
1720 (sha256
1721 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1722 (file-name (git-file-name "named-readtables" version))))
1723 (build-system asdf-build-system/sbcl)
1724 (arguments
1725 ;; Tests seem to be broken.
1726 `(#:tests? #f))
1727 (home-page "https://github.com/melisgl/named-readtables/")
1728 (synopsis "Library that creates a namespace for named readtables")
1729 (description "Named readtables is a library that creates a namespace for
1730named readtables, which is akin to package namespacing in Common Lisp.")
1731 (license license:bsd-3))))
1732
1733(define-public cl-named-readtables
1734 (sbcl-package->cl-source-package sbcl-named-readtables))
1735
1736(define-public ecl-named-readtables
1737 (sbcl-package->ecl-package sbcl-named-readtables))
1738
1739(define-public sbcl-pythonic-string-reader
1740 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1741 (package
1742 (name "sbcl-pythonic-string-reader")
1743 (version (git-version "0.0.0" "1" commit))
1744 (source
1745 (origin
1746 (method git-fetch)
1747 (uri (git-reference
1748 (url "https://github.com/smithzvk/pythonic-string-reader/")
1749 (commit commit)))
1750 (sha256
1751 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1752 (file-name (git-file-name "pythonic-string-reader" version))))
1753 (build-system asdf-build-system/sbcl)
1754 (inputs
1755 `(("named-readtables" ,sbcl-named-readtables)))
1756 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1757 (synopsis "Read table modification inspired by Python's three quote strings")
1758 (description "This piece of code sets up some reader macros that make it
1759simpler to input string literals which contain backslashes and double quotes
1760This is very useful for writing complicated docstrings and, as it turns out,
1761writing code that contains string literals that contain code themselves.")
1762 (license license:bsd-3))))
1763
1764(define-public cl-pythonic-string-reader
1765 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1766
1767(define-public ecl-pythonic-string-reader
1768 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1769
1770;; SLIME does not have a ASDF system definition to build all of Swank. As a
1771;; result, the asdf-build-system/sbcl will produce an almost empty package.
1772;; Some work was done to fix this at
1773;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1774;; and is now lagging behind. Building SBCL fasls might not be worth the
1775;; hassle, so let's just ship the source then.
1776(define-public cl-slime-swank
1777 (package
1778 (name "cl-slime-swank")
1779 (version "2.24")
1780 (source
1781 (origin
1782 (file-name (string-append name "-" version ".tar.gz"))
1783 (method git-fetch)
1784 (uri (git-reference
1785 (url "https://github.com/slime/slime/")
1786 (commit (string-append "v" version))))
1787 (sha256
1788 (base32
1789 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1790 (build-system asdf-build-system/source)
1791 (home-page "https://github.com/slime/slime")
1792 (synopsis "Common Lisp Swank server")
1793 (description
1794 "This is only useful if you want to start a Swank server in a Lisp
1795processes that doesn't run under Emacs. Lisp processes created by
1796@command{M-x slime} automatically start the server.")
1797 (license (list license:gpl2+ license:public-domain))))
1798
1799(define-public sbcl-slime-swank
1800 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1801
1802(define-public sbcl-mgl-pax
1803 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1804 (package
1805 (name "sbcl-mgl-pax")
1806 (version (git-version "0.0.0" "1" commit))
1807 (source
1808 (origin
1809 (method git-fetch)
1810 (uri (git-reference
1811 (url "https://github.com/melisgl/mgl-pax")
1812 (commit commit)))
1813 (sha256
1814 (base32
1815 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1816 (file-name (git-file-name "mgl-pax" version))))
1817 (build-system asdf-build-system/sbcl)
1818 (inputs
1819 `(("3bmd" ,sbcl-3bmd)
1820 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1821 ("babel" ,sbcl-babel)
1822 ("cl-fad" ,sbcl-cl-fad)
1823 ("ironclad" ,sbcl-ironclad)
1824 ("named-readtables" ,sbcl-named-readtables)
7e23dcc7
GLV
1825 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1826 (propagated-inputs
1827 ;; Packages having mgl-pax as input complain that it can't find
1828 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1829 `(("swank" ,cl-slime-swank)))
88f06fd0
PN
1830 (synopsis "Exploratory programming environment and documentation generator")
1831 (description
1832 "PAX provides an extremely poor man's Explorable Programming
1833environment. Narrative primarily lives in so called sections that mix markdown
1834docstrings with references to functions, variables, etc, all of which should
1835probably have their own docstrings.
1836
1837The primary focus is on making code easily explorable by using SLIME's
1838@command{M-.} (@command{slime-edit-definition}). See how to enable some
1839fanciness in Emacs Integration. Generating documentation from sections and all
1840the referenced items in Markdown or HTML format is also implemented.
1841
1842With the simplistic tools provided, one may accomplish similar effects as with
1843Literate Programming, but documentation is generated from code, not vice versa
1844and there is no support for chunking yet. Code is first, code must look
1845pretty, documentation is code.")
1846 (home-page "http://quotenil.com/")
1847 (license license:expat))))
1848
1849(define-public cl-mgl-pax
1850 (sbcl-package->cl-source-package sbcl-mgl-pax))
1851
1852(define-public ecl-mgl-pax
1853 (sbcl-package->ecl-package sbcl-mgl-pax))
1854
1855(define-public sbcl-lisp-unit
1856 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1857 (package
1858 (name "sbcl-lisp-unit")
1859 (version (git-version "0.0.0" "1" commit))
1860 (source
1861 (origin
1862 (method git-fetch)
1863 (uri (git-reference
1864 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1865 (commit commit)))
1866 (sha256
1867 (base32
1868 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1869 (file-name (git-file-name "lisp-unit" version))))
1870 (build-system asdf-build-system/sbcl)
1871 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1872 (description
1873 "@command{lisp-unit} is a Common Lisp library that supports unit
1874testing. It is an extension of the library written by Chris Riesbeck.")
1875 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1876 (license license:expat))))
1877
1878(define-public cl-lisp-unit
1879 (sbcl-package->cl-source-package sbcl-lisp-unit))
1880
1881(define-public ecl-lisp-unit
1882 (sbcl-package->ecl-package sbcl-lisp-unit))
1883
1884(define-public sbcl-anaphora
1885 (package
1886 (name "sbcl-anaphora")
1887 (version "0.9.6")
1888 (source
1889 (origin
1890 (method git-fetch)
1891 (uri (git-reference
1892 (url "https://github.com/tokenrove/anaphora")
1893 (commit version)))
1894 (sha256
1895 (base32
1896 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1897 (file-name (git-file-name "anaphora" version))))
1898 (build-system asdf-build-system/sbcl)
1899 (native-inputs
1900 `(("rt" ,sbcl-rt)))
1901 (synopsis "The anaphoric macro collection from Hell")
1902 (description
1903 "Anaphora is the anaphoric macro collection from Hell: it includes many
1904new fiends in addition to old friends like @command{aif} and
1905@command{awhen}.")
1906 (home-page "https://github.com/tokenrove/anaphora")
1907 (license license:public-domain)))
1908
1909(define-public cl-anaphora
1910 (sbcl-package->cl-source-package sbcl-anaphora))
1911
1912(define-public ecl-anaphora
1913 (sbcl-package->ecl-package sbcl-anaphora))
1914
1915(define-public sbcl-lift
1916 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1917 (package
1918 (name "sbcl-lift")
1919 (version (git-version "1.7.1" "1" commit))
1920 (source
1921 (origin
1922 (method git-fetch)
1923 (uri (git-reference
1924 (url "https://github.com/gwkkwg/lift")
1925 (commit commit)))
1926 (sha256
1927 (base32
1928 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1929 (file-name (git-file-name "lift" version))
1930 (modules '((guix build utils)))
1931 (snippet
1932 ;; Don't keep the bundled website
1933 `(begin
1934 (delete-file-recursively "website")
1935 #t))))
1936 (build-system asdf-build-system/sbcl)
1937 (arguments
1938 ;; The tests require a debugger, but we run with the debugger disabled.
1939 '(#:tests? #f))
1940 (synopsis "LIsp Framework for Testing")
1941 (description
1942 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1943Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1944testcases are organized into hierarchical testsuites each of which can have
1945its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1946supports randomized testing, benchmarking, profiling, and reporting.")
1947 (home-page "https://github.com/gwkkwg/lift")
1948 (license license:expat))))
1949
1950(define-public cl-lift
1951 (sbcl-package->cl-source-package sbcl-lift))
1952
1953(define-public ecl-lift
1954 (sbcl-package->ecl-package sbcl-lift))
1955
1956(define-public sbcl-let-plus
1957 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1958 (package
1959 (name "sbcl-let-plus")
1960 (version (git-version "0.0.0" "1" commit))
1961 (source
1962 (origin
1963 (method git-fetch)
1964 (uri (git-reference
1965 (url "https://github.com/sharplispers/let-plus")
1966 (commit commit)))
1967 (sha256
1968 (base32
1969 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
1970 (file-name (git-file-name "let-plus" version))))
1971 (build-system asdf-build-system/sbcl)
1972 (inputs
1973 `(("alexandria" ,sbcl-alexandria)
1974 ("anaphora" ,sbcl-anaphora)))
1975 (native-inputs
1976 `(("lift" ,sbcl-lift)))
1977 (synopsis "Destructuring extension of let*")
1978 (description
1979 "This library implements the let+ macro, which is a dectructuring
1980extension of let*. It features:
1981
1982@itemize
1983@item Clean, consistent syntax and small implementation (less than 300 LOC,
1984not counting tests)
1985@item Placeholder macros allow editor hints and syntax highlighting
1986@item @command{&ign} for ignored values (in forms where that makes sense)
1987@item Very easy to extend
1988@end itemize\n")
1989 (home-page "https://github.com/sharplispers/let-plus")
1990 (license license:boost1.0))))
1991
1992(define-public cl-let-plus
1993 (sbcl-package->cl-source-package sbcl-let-plus))
1994
1995(define-public ecl-let-plus
1996 (sbcl-package->ecl-package sbcl-let-plus))
1997
1998(define-public sbcl-cl-colors
1999 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2000 (package
2001 (name "sbcl-cl-colors")
2002 (version (git-version "0.0.0" "1" commit))
2003 (source
2004 (origin
2005 (method git-fetch)
2006 (uri (git-reference
2007 (url "https://github.com/tpapp/cl-colors")
2008 (commit commit)))
2009 (sha256
2010 (base32
2011 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2012 (file-name (git-file-name "cl-colors" version))))
2013 (build-system asdf-build-system/sbcl)
2014 (inputs
2015 `(("alexandria" ,sbcl-alexandria)
2016 ("let-plus" ,sbcl-let-plus)))
2017 (synopsis "Simple color library for Common Lisp")
2018 (description
2019 "This is a very simple color library for Common Lisp, providing
2020
2021@itemize
2022@item Types for representing colors in HSV and RGB spaces.
2023@item Simple conversion functions between the above types (and also
2024hexadecimal representation for RGB).
2025@item Some predefined colors (currently X11 color names – of course the
2026library does not depend on X11).Because color in your terminal is nice.
2027@end itemize
2028
2029This library is no longer supported by its author.")
2030 (home-page "https://github.com/tpapp/cl-colors")
2031 (license license:boost1.0))))
2032
2033(define-public cl-colors
2034 (sbcl-package->cl-source-package sbcl-cl-colors))
2035
2036(define-public ecl-cl-colors
2037 (sbcl-package->ecl-package sbcl-cl-colors))
2038
2039(define-public sbcl-cl-ansi-text
2040 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2041 (package
2042 (name "sbcl-cl-ansi-text")
2043 (version (git-version "1.0.0" "1" commit))
2044 (source
2045 (origin
2046 (method git-fetch)
2047 (uri (git-reference
2048 (url "https://github.com/pnathan/cl-ansi-text")
2049 (commit commit)))
2050 (sha256
2051 (base32
2052 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2053 (file-name (git-file-name "cl-ansi-text" version))))
2054 (build-system asdf-build-system/sbcl)
2055 (inputs
2056 `(("alexandria" ,sbcl-alexandria)
2057 ("cl-colors" ,sbcl-cl-colors)))
2058 (native-inputs
2059 `(("fiveam" ,sbcl-fiveam)))
2060 (synopsis "ANSI terminal color implementation for Common Lisp")
2061 (description
2062 "@command{cl-ansi-text} provides utilities which enable printing to an
2063ANSI terminal with colored text. It provides the macro @command{with-color}
2064which causes everything printed in the body to be displayed with the provided
2065color. It further provides functions which will print the argument with the
2066named color.")
2067 (home-page "https://github.com/pnathan/cl-ansi-text")
2068 (license license:llgpl))))
2069
2070(define-public cl-ansi-text
2071 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2072
2073(define-public ecl-cl-ansi-text
2074 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2075
2076(define-public sbcl-prove-asdf
2077 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2078 (package
2079 (name "sbcl-prove-asdf")
2080 (version (git-version "1.0.0" "1" commit))
2081 (source
2082 (origin
2083 (method git-fetch)
2084 (uri (git-reference
2085 (url "https://github.com/fukamachi/prove")
2086 (commit commit)))
2087 (sha256
2088 (base32
2089 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2090 (file-name (git-file-name "prove" version))))
2091 (build-system asdf-build-system/sbcl)
2092 (arguments
2093 `(#:asd-file "prove-asdf.asd"))
2094 (synopsis "Test requirement for the Common Lisp 'prove' library")
2095 (description
2096 "Test requirement for the Common Lisp @command{prove} library.")
2097 (home-page "https://github.com/fukamachi/prove")
2098 (license license:expat))))
2099
2100(define-public cl-prove-asdf
2101 (sbcl-package->cl-source-package sbcl-prove-asdf))
2102
2103(define-public ecl-prove-asdf
2104 (sbcl-package->ecl-package sbcl-prove-asdf))
2105
2106(define-public sbcl-prove
2107 (package
2108 (inherit sbcl-prove-asdf)
2109 (name "sbcl-prove")
2110 (inputs
2111 `(("alexandria" ,sbcl-alexandria)
2112 ("cl-ppcre" ,sbcl-cl-ppcre)
2113 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2114 (native-inputs
2115 `(("prove-asdf" ,sbcl-prove-asdf)))
2116 (arguments
2117 `(#:asd-file "prove.asd"))
2118 (synopsis "Yet another unit testing framework for Common Lisp")
2119 (description
2120 "This project was originally called @command{cl-test-more}.
2121@command{prove} is yet another unit testing framework for Common Lisp. The
2122advantages of @command{prove} are:
2123
2124@itemize
2125@item Various simple functions for testing and informative error messages
2126@item ASDF integration
2127@item Extensible test reporters
2128@item Colorizes the report if it's available (note for SLIME)
2129@item Reports test durations
2130@end itemize\n")))
2131
2132(define-public cl-prove
2133 (sbcl-package->cl-source-package sbcl-prove))
2134
2135(define-public ecl-prove
2136 (sbcl-package->ecl-package sbcl-prove))
2137
2138(define-public sbcl-proc-parse
2139 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2140 (package
2141 (name "sbcl-proc-parse")
2142 (version (git-version "0.0.0" "1" commit))
2143 (source
2144 (origin
2145 (method git-fetch)
2146 (uri (git-reference
2147 (url "https://github.com/fukamachi/proc-parse")
2148 (commit commit)))
2149 (sha256
2150 (base32
2151 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2152 (file-name (git-file-name "proc-parse" version))))
2153 (build-system asdf-build-system/sbcl)
2154 (inputs
2155 `(("alexandria" ,sbcl-alexandria)
2156 ("babel" ,sbcl-babel)))
2157 (native-inputs
2158 `(("prove" ,sbcl-prove)
2159 ("prove-asdf" ,sbcl-prove-asdf)))
2160 (arguments
2161 ;; TODO: Tests don't find "proc-parse-test", why?
2162 `(#:tests? #f))
2163 (synopsis "Procedural vector parser")
2164 (description
2165 "This is a string/octets parser library for Common Lisp with speed and
2166readability in mind. Unlike other libraries, the code is not a
2167pattern-matching-like, but a char-by-char procedural parser.")
2168 (home-page "https://github.com/fukamachi/proc-parse")
2169 (license license:bsd-2))))
2170
2171(define-public cl-proc-parse
2172 (sbcl-package->cl-source-package sbcl-proc-parse))
2173
2174(define-public ecl-proc-parse
2175 (sbcl-package->ecl-package sbcl-proc-parse))
2176
2177(define-public sbcl-parse-float
2178 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2179 (package
2180 (name "sbcl-parse-float")
2181 (version (git-version "0.0.0" "1" commit))
2182 (source
2183 (origin
2184 (method git-fetch)
2185 (uri (git-reference
2186 (url "https://github.com/soemraws/parse-float")
2187 (commit commit)))
2188 (sha256
2189 (base32
2190 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2191 (file-name (git-file-name "proc-parse" version))))
2192 (build-system asdf-build-system/sbcl)
2193 (inputs
2194 `(("alexandria" ,sbcl-alexandria)
2195 ("babel" ,sbcl-babel)))
2196 (native-inputs
2197 `(("prove" ,sbcl-prove)
2198 ("prove-asdf" ,sbcl-prove-asdf)))
2199 (arguments
2200 ;; TODO: Tests don't find "proc-parse-test", why?
2201 `(#:tests? #f))
2202 (synopsis "Parse a floating point value from a string in Common Lisp")
2203 (description
2204 "This package exports the following function to parse floating-point
2205values from a string in Common Lisp.")
2206 (home-page "https://github.com/soemraws/parse-float")
2207 (license license:public-domain))))
2208
2209(define-public cl-parse-float
2210 (sbcl-package->cl-source-package sbcl-parse-float))
2211
2212(define-public ecl-parse-float
2213 (sbcl-package->ecl-package sbcl-parse-float))
2214
2215(define-public sbcl-ascii-strings
2216 (let ((revision "1")
2217 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2218 (package
2219 (name "sbcl-ascii-strings")
2220 (version (string-append "0-" revision "." (string-take changeset 7)))
2221 (source
2222 (origin
2223 (method hg-fetch)
2224 (uri (hg-reference
2225 (url "https://bitbucket.org/vityok/cl-string-match/")
2226 (changeset changeset)))
2227 (sha256
2228 (base32
2229 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2230 (file-name (git-file-name "cl-string-match" version))))
2231 (build-system asdf-build-system/sbcl)
2232 (inputs
2233 `(("alexandria" ,sbcl-alexandria)
2234 ("babel" ,sbcl-babel)))
2235 (arguments
2236 `(#:asd-file "ascii-strings.asd"))
2237 (synopsis "Operations on ASCII strings")
2238 (description
2239 "Operations on ASCII strings. Essentially this can be any kind of
2240single-byte encoded strings.")
2241 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2242 (license license:bsd-3))))
2243
2244(define-public cl-ascii-strings
2245 (sbcl-package->cl-source-package sbcl-ascii-strings))
2246
2247(define-public ecl-ascii-strings
2248 (sbcl-package->ecl-package sbcl-ascii-strings))
2249
2250(define-public sbcl-simple-scanf
2251 (package
2252 (inherit sbcl-ascii-strings)
2253 (name "sbcl-simple-scanf")
2254 (inputs
2255 `(("alexandria" ,sbcl-alexandria)
2256 ("iterate" ,sbcl-iterate)
2257 ("proc-parse" ,sbcl-proc-parse)
2258 ("parse-float" ,sbcl-parse-float)))
2259 (arguments
2260 `(#:asd-file "simple-scanf.asd"))
2261 (synopsis "Simple scanf-like functionality implementation")
2262 (description
2263 "A simple scanf-like functionality implementation.")))
2264
2265(define-public cl-simple-scanf
2266 (sbcl-package->cl-source-package sbcl-simple-scanf))
2267
2268(define-public ecl-simple-scanf
2269 (sbcl-package->ecl-package sbcl-simple-scanf))
2270
2271(define-public sbcl-cl-string-match
2272 (package
2273 (inherit sbcl-ascii-strings)
2274 (name "sbcl-cl-string-match")
2275 (inputs
2276 `(("alexandria" ,sbcl-alexandria)
2277 ("ascii-strings" ,sbcl-ascii-strings)
2278 ("yacc" ,sbcl-cl-yacc)
2279 ("jpl-util" ,sbcl-jpl-util)
2280 ("jpl-queues" ,sbcl-jpl-queues)
2281 ("mgl-pax" ,sbcl-mgl-pax)
2282 ("iterate" ,sbcl-iterate)))
2283 ;; TODO: Tests are not evaluated properly.
2284 (native-inputs
2285 ;; For testing:
2286 `(("lisp-unit" ,sbcl-lisp-unit)
2287 ("simple-scanf" ,sbcl-simple-scanf)))
2288 (arguments
2289 `(#:tests? #f
2290 #:asd-file "cl-string-match.asd"))
2291 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2292 (description
2293 "@command{cl-strings} is a small, portable, dependency-free set of
2294utilities that make it even easier to manipulate text in Common Lisp. It has
2295100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2296
2297(define-public cl-string-match
2298 (sbcl-package->cl-source-package sbcl-cl-string-match))
2299
2300(define-public ecl-cl-string-match
2301 (sbcl-package->ecl-package sbcl-cl-string-match))
2302
2303(define-public sbcl-ptester
d9d8e3c2
GLV
2304 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2305 (revision "1"))
2306 (package
2307 (name "sbcl-ptester")
2308 (version (git-version "2.1.3" revision commit))
2309 (source
2310 (origin
2311 (method git-fetch)
2312 (uri (git-reference
2313 (url "http://git.kpe.io/ptester.git")
2314 (commit commit)))
2315 (file-name (git-file-name name version))
2316 (sha256
2317 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2318 (build-system asdf-build-system/sbcl)
2319 (home-page "http://quickdocs.org/ptester/")
2320 (synopsis "Portable test harness package")
2321 (description
2322 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2323tester module.")
d9d8e3c2 2324 (license license:llgpl))))
88f06fd0
PN
2325
2326(define-public cl-ptester
2327 (sbcl-package->cl-source-package sbcl-ptester))
2328
2329(define-public ecl-ptester
2330 (sbcl-package->ecl-package sbcl-ptester))
2331
2332(define-public sbcl-puri
ff6cf9fa
GLV
2333 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2334 (revision "1"))
2335 (package
2336 (name "sbcl-puri")
2337 (version (git-version "1.5.7" revision commit))
2338 (source
2339 (origin
2340 (method git-fetch)
2341 (uri (git-reference
2342 (url "http://git.kpe.io/puri.git")
2343 (commit commit)))
2344 (file-name (git-file-name name version))
2345 (sha256
2346 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2347 (build-system asdf-build-system/sbcl)
2348 (native-inputs
2349 `(("ptester" ,sbcl-ptester)))
2350 (home-page "http://quickdocs.org/puri/")
2351 (synopsis "Portable URI Library")
2352 (description
2353 "This is a portable Universal Resource Identifier library for Common
2354Lisp programs. It parses URI according to the RFC 2396 specification.")
2355 (license license:llgpl))))
88f06fd0
PN
2356
2357(define-public cl-puri
2358 (sbcl-package->cl-source-package sbcl-puri))
2359
2360(define-public ecl-puri
2361 (sbcl-package->ecl-package sbcl-puri))
2362
2363(define-public sbcl-queues
2364 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2365 (package
2366 (name "sbcl-queues")
2367 (version (git-version "0.0.0" "1" commit))
2368 (source
2369 (origin
2370 (method git-fetch)
2371 (uri (git-reference
2372 (url "https://github.com/oconnore/queues")
2373 (commit commit)))
2374 (file-name (git-file-name "queues" version))
2375 (sha256
2376 (base32
2377 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2378 (build-system asdf-build-system/sbcl)
2379 (home-page "https://github.com/oconnore/queues")
2380 (synopsis "Common Lisp queue library")
2381 (description
2382 "This is a simple queue library for Common Lisp with features such as
2383non-consing thread safe queues and fibonacci priority queues.")
2384 (license license:expat))))
2385
2386(define-public cl-queues
2387 (sbcl-package->cl-source-package sbcl-queues))
2388
2389(define-public ecl-queues
2390 (sbcl-package->ecl-package sbcl-queues))
2391
2392(define-public sbcl-queues.simple-queue
2393 (package
2394 (inherit sbcl-queues)
2395 (name "sbcl-queues.simple-queue")
2396 (inputs
2397 `(("sbcl-queues" ,sbcl-queues)))
2398 (arguments
2399 `(#:asd-file "queues.simple-queue.asd"))
2400 (synopsis "Simple queue implementation")
2401 (description
2402 "This is a simple queue library for Common Lisp with features such as
2403non-consing thread safe queues and fibonacci priority queues.")
2404 (license license:expat)))
2405
2406(define-public cl-queues.simple-queue
2407 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2408
2409(define-public ecl-queues.simple-queue
2410 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2411
2412(define-public sbcl-queues.simple-cqueue
2413 (package
2414 (inherit sbcl-queues)
2415 (name "sbcl-queues.simple-cqueue")
2416 (inputs
2417 `(("sbcl-queues" ,sbcl-queues)
2418 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2419 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2420 (arguments
2421 `(#:asd-file "queues.simple-cqueue.asd"))
2422 (synopsis "Thread safe queue implementation")
2423 (description
2424 "This is a simple queue library for Common Lisp with features such as
2425non-consing thread safe queues and fibonacci priority queues.")
2426 (license license:expat)))
2427
2428(define-public cl-queues.simple-cqueue
2429 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2430
2431(define-public ecl-queues.simple-cqueue
2432 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2433
2434(define-public sbcl-queues.priority-queue
2435 (package
2436 (inherit sbcl-queues)
2437 (name "sbcl-queues.priority-queue")
2438 (inputs
2439 `(("sbcl-queues" ,sbcl-queues)))
2440 (arguments
2441 `(#:asd-file "queues.priority-queue.asd"))
2442 (synopsis "Priority queue (Fibonacci) implementation")
2443 (description
2444 "This is a simple queue library for Common Lisp with features such as
2445non-consing thread safe queues and fibonacci priority queues.")
2446 (license license:expat)))
2447
2448(define-public cl-queues.priority-queue
2449 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2450
2451(define-public ecl-queues.priority-queue
2452 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2453
2454(define-public sbcl-queues.priority-cqueue
2455 (package
2456 (inherit sbcl-queues)
2457 (name "sbcl-queues.priority-cqueue")
2458 (inputs
2459 `(("sbcl-queues" ,sbcl-queues)
2460 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2461 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2462 (arguments
2463 `(#:asd-file "queues.priority-cqueue.asd"))
2464 (synopsis "Thread safe fibonacci priority queue implementation")
2465 (description
2466 "This is a simple queue library for Common Lisp with features such as
2467non-consing thread safe queues and fibonacci priority queues.")
2468 (license license:expat)))
2469
2470(define-public cl-queues.priority-cqueue
2471 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2472
2473(define-public ecl-queues.priority-cqueue
2474 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2475
2476(define sbcl-cffi-bootstrap
2477 (package
2478 (name "sbcl-cffi-bootstrap")
237d58c3 2479 (version "0.21.0")
88f06fd0
PN
2480 (source
2481 (origin
2482 (method git-fetch)
2483 (uri (git-reference
2484 (url "https://github.com/cffi/cffi.git")
2485 (commit (string-append "v" version))))
2486 (file-name (git-file-name "cffi-bootstrap" version))
2487 (sha256
237d58c3 2488 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
88f06fd0
PN
2489 (build-system asdf-build-system/sbcl)
2490 (inputs
2491 `(("libffi" ,libffi)
2492 ("alexandria" ,sbcl-alexandria)
2493 ("babel" ,sbcl-babel)
2494 ("trivial-features" ,sbcl-trivial-features)))
2495 (native-inputs
2496 `(("pkg-config" ,pkg-config)))
2497 (arguments
2498 '(#:phases
2499 (modify-phases %standard-phases
2500 (add-after 'unpack 'fix-paths
2501 (lambda* (#:key inputs #:allow-other-keys)
2502 (substitute* "libffi/libffi.lisp"
2503 (("libffi.so.6" all) (string-append
2504 (assoc-ref inputs "libffi")
2505 "/lib/" all)))
2506 (substitute* "toolchain/c-toolchain.lisp"
2507 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2508 #:asd-system-name "cffi"
2509 #:tests? #f))
2510 (home-page "https://common-lisp.net/project/cffi/")
2511 (synopsis "Common Foreign Function Interface for Common Lisp")
2512 (description "The Common Foreign Function Interface (CFFI)
2513purports to be a portable foreign function interface for Common Lisp.
2514The CFFI library is composed of a Lisp-implementation-specific backend
2515in the CFFI-SYS package, and a portable frontend in the CFFI
2516package.")
2517 (license license:expat)))
2518
2519(define-public sbcl-cffi-toolchain
2520 (package
2521 (inherit sbcl-cffi-bootstrap)
2522 (name "sbcl-cffi-toolchain")
2523 (inputs
2524 `(("libffi" ,libffi)
2525 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2526 (arguments
2527 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2528 ((#:asd-system-name _) #f)
2529 ((#:tests? _) #t)))))
2530
2531(define-public sbcl-cffi-libffi
2532 (package
2533 (inherit sbcl-cffi-toolchain)
2534 (name "sbcl-cffi-libffi")
2535 (inputs
2536 `(("cffi" ,sbcl-cffi-bootstrap)
2537 ("cffi-grovel" ,sbcl-cffi-grovel)
2538 ("trivial-features" ,sbcl-trivial-features)
2539 ("libffi" ,libffi)))))
2540
2541(define-public sbcl-cffi-grovel
2542 (package
2543 (inherit sbcl-cffi-toolchain)
2544 (name "sbcl-cffi-grovel")
2545 (inputs
2546 `(("libffi" ,libffi)
2547 ("cffi" ,sbcl-cffi-bootstrap)
2548 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2549 ("alexandria" ,sbcl-alexandria)))
2550 (arguments
2551 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2552 ((#:phases phases)
2553 `(modify-phases ,phases
2554 (add-after 'build 'install-headers
2555 (lambda* (#:key outputs #:allow-other-keys)
2556 (install-file "grovel/common.h"
2557 (string-append
2558 (assoc-ref outputs "out")
2559 "/include/grovel"))))))))))
2560
2561(define-public sbcl-cffi
2562 (package
2563 (inherit sbcl-cffi-toolchain)
2564 (name "sbcl-cffi")
2565 (inputs (package-inputs sbcl-cffi-bootstrap))
2566 (native-inputs
2567 `(("cffi-grovel" ,sbcl-cffi-grovel)
2568 ("cffi-libffi" ,sbcl-cffi-libffi)
2569 ("rt" ,sbcl-rt)
2570 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2571 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2572
2573(define-public cl-cffi
2574 (sbcl-package->cl-source-package sbcl-cffi))
2575
2576(define-public sbcl-cl-sqlite
2577 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2578 (package
2579 (name "sbcl-cl-sqlite")
2580 (version (git-version "0.2" "1" commit))
2581 (source
2582 (origin
2583 (method git-fetch)
2584 (uri (git-reference
2585 (url "https://github.com/dmitryvk/cl-sqlite")
2586 (commit commit)))
2587 (file-name (git-file-name "cl-sqlite" version))
2588 (sha256
2589 (base32
2590 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2591 (build-system asdf-build-system/sbcl)
2592 (inputs
2593 `(("iterate" ,sbcl-iterate)
2594 ("cffi" ,sbcl-cffi)
2595 ("sqlite" ,sqlite)))
2596 (native-inputs
2597 `(("fiveam" ,sbcl-fiveam)
2598 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2599 (arguments
2600 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2601 #:asd-file "sqlite.asd"
2602 #:asd-system-name "sqlite"
2603 #:phases
2604 (modify-phases %standard-phases
2605 (add-after 'unpack 'fix-paths
2606 (lambda* (#:key inputs #:allow-other-keys)
2607 (substitute* "sqlite-ffi.lisp"
2608 (("libsqlite3" all) (string-append
2609 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2610 (home-page "https://common-lisp.net/project/cl-sqlite/")
2611 (synopsis "Common Lisp binding for SQLite")
2612 (description
2613 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2614relational database engine.")
2615 (license license:public-domain))))
2616
2617(define-public cl-sqlite
2618 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2619
2620(define-public sbcl-parenscript
2621 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2622 (package
2623 (name "sbcl-parenscript")
2624 (version (git-version "2.6" "1" commit))
2625 (source
2626 (origin
2627 (method git-fetch)
2628 (uri (git-reference
2629 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2630 (commit commit)))
2631 (file-name (git-file-name "parenscript" version))
2632 (sha256
2633 (base32
2634 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2635 (build-system asdf-build-system/sbcl)
2636 (inputs
2637 `(("cl-ppcre" ,sbcl-cl-ppcre)
2638 ("anaphora" ,sbcl-anaphora)
2639 ("named-readtables" ,sbcl-named-readtables)))
2640 (home-page "https://common-lisp.net/project/parenscript/")
2641 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2642 (description
2643 "Parenscript is a translator from an extended subset of Common Lisp to
2644JavaScript. Parenscript code can run almost identically on both the
2645browser (as JavaScript) and server (as Common Lisp).
2646
2647Parenscript code is treated the same way as Common Lisp code, making the full
2648power of Lisp macros available for JavaScript. This provides a web
2649development environment that is unmatched in its ability to reduce code
2650duplication and provide advanced meta-programming facilities to web
2651developers.
2652
2653At the same time, Parenscript is different from almost all other \"language
2654X\" to JavaScript translators in that it imposes almost no overhead:
2655
2656@itemize
2657@item No run-time dependencies: Any piece of Parenscript code is runnable
2658as-is. There are no JavaScript files to include.
2659@item Native types: Parenscript works entirely with native JavaScript data
2660types. There are no new types introduced, and object prototypes are not
2661touched.
2662@item Native calling convention: Any JavaScript code can be called without the
2663need for bindings. Likewise, Parenscript can be used to make efficient,
2664self-contained JavaScript libraries.
2665@item Readable code: Parenscript generates concise, formatted, idiomatic
2666JavaScript code. Identifier names are preserved. This enables seamless
2667debugging in tools like Firebug.
2668@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2669Lisp features. The generated code is almost as fast as hand-written
2670JavaScript.
2671@end itemize\n")
2672 (license license:bsd-3))))
2673
2674(define-public cl-parenscript
2675 (sbcl-package->cl-source-package sbcl-parenscript))
2676
2677(define-public ecl-parenscript
2678 (sbcl-package->ecl-package sbcl-parenscript))
2679
2680(define-public sbcl-cl-json
2681 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2682 (package
2683 (name "sbcl-cl-json")
2684 (version (git-version "0.5" "1" commit))
2685 (source
2686 (origin
2687 (method git-fetch)
2688 (uri (git-reference
2689 (url "https://github.com/hankhero/cl-json")
2690 (commit commit)))
2691 (file-name (git-file-name "cl-json" version))
2692 (sha256
2693 (base32
2694 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2695 (build-system asdf-build-system/sbcl)
2696 (native-inputs
2697 `(("fiveam" ,sbcl-fiveam)))
2698 (home-page "https://github.com/hankhero/cl-json")
2699 (synopsis "JSON encoder and decoder for Common-Lisp")
2700 (description
2701 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2702and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2703and the decoder are highly customizable; at the same time, the default
2704settings ensure a very simple mode of operation, similar to that provided by
2705@command{yason} or @command{st-json}.")
2706 (license license:expat))))
2707
2708(define-public cl-json
2709 (sbcl-package->cl-source-package sbcl-cl-json))
2710
2711(define-public ecl-cl-json
2712 (sbcl-package->ecl-package sbcl-cl-json))
2713
2714(define-public sbcl-unix-opts
2715 (package
2716 (name "sbcl-unix-opts")
2717 (version "0.1.7")
2718 (source
2719 (origin
2720 (method git-fetch)
2721 (uri (git-reference
2722 (url "https://github.com/libre-man/unix-opts")
2723 (commit version)))
2724 (file-name (git-file-name "unix-opts" version))
2725 (sha256
2726 (base32
2727 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2728 (build-system asdf-build-system/sbcl)
2729 (home-page "https://github.com/hankhero/cl-json")
2730 (synopsis "Unix-style command line options parser")
2731 (description
2732 "This is a minimalistic parser of command line options. The main
2733advantage of the library is the ability to concisely define command line
2734options once and then use this definition for parsing and extraction of
2735command line arguments, as well as printing description of command line
2736options (you get --help for free). This way you don't need to repeat
2737yourself. Also, @command{unix-opts} doesn't depend on anything and allows to
2738precisely control behavior of the parser via Common Lisp restarts.")
2739 (license license:expat)))
2740
2741(define-public cl-unix-opts
2742 (sbcl-package->cl-source-package sbcl-unix-opts))
2743
2744(define-public ecl-unix-opts
2745 (sbcl-package->ecl-package sbcl-unix-opts))
2746
2747(define-public sbcl-trivial-garbage
2748 (package
2749 (name "sbcl-trivial-garbage")
2750 (version "0.21")
2751 (source
2752 (origin
2753 (method git-fetch)
2754 (uri (git-reference
2755 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2756 (commit (string-append "v" version))))
2757 (file-name (git-file-name "trivial-garbage" version))
2758 (sha256
2759 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2760 (build-system asdf-build-system/sbcl)
2761 (native-inputs
2762 `(("rt" ,sbcl-rt)))
2763 (home-page "https://common-lisp.net/project/trivial-garbage/")
2764 (synopsis "Portable GC-related APIs for Common Lisp")
2765 (description "@command{trivial-garbage} provides a portable API to
2766finalizers, weak hash-tables and weak pointers on all major implementations of
2767the Common Lisp programming language.")
2768 (license license:public-domain)))
2769
2770(define-public cl-trivial-garbage
2771 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2772
2773(define-public ecl-trivial-garbage
2774 (sbcl-package->ecl-package sbcl-trivial-garbage))
2775
2776(define-public sbcl-closer-mop
2777 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2778 (package
2779 (name "sbcl-closer-mop")
2780 (version (git-version "1.0.0" "1" commit))
2781 (source
2782 (origin
2783 (method git-fetch)
2784 (uri (git-reference
2785 (url "https://github.com/pcostanza/closer-mop")
2786 (commit commit)))
2787 (sha256
2788 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2789 (file-name (git-file-name "closer-mop" version ))))
2790 (build-system asdf-build-system/sbcl)
2791 (home-page "https://github.com/pcostanza/closer-mop")
2792 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2793 (description "Closer to MOP is a compatibility layer that rectifies many
2794of the absent or incorrect CLOS MOP features across a broad range of Common
2795Lisp implementations.")
2796 (license license:expat))))
2797
2798(define-public cl-closer-mop
2799 (sbcl-package->cl-source-package sbcl-closer-mop))
2800
2801(define-public ecl-closer-mop
2802 (sbcl-package->ecl-package sbcl-closer-mop))
2803
2804(define sbcl-cl-cffi-gtk-boot0
2805 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2806 (package
2807 (name "sbcl-cl-cffi-gtk-boot0")
2808 (version (git-version "0.11.2" "1" commit))
2809 (source
2810 (origin
2811 (method git-fetch)
2812 (uri (git-reference
2813 (url "https://github.com/Ferada/cl-cffi-gtk/")
2814 (commit commit)))
2815 (file-name (git-file-name "cl-cffi-gtk" version))
2816 (sha256
2817 (base32
2818 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2819 (build-system asdf-build-system/sbcl)
2820 (inputs
2821 `(("iterate" ,sbcl-iterate)
2822 ("cffi" ,sbcl-cffi)
2823 ("trivial-features" ,sbcl-trivial-features)))
2824 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2825 (synopsis "Common Lisp binding for GTK+3")
2826 (description
2827 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2828is a library for creating graphical user interfaces.")
2829 (license license:lgpl3))))
2830
2831(define-public sbcl-cl-cffi-gtk-glib
2832 (package
2833 (inherit sbcl-cl-cffi-gtk-boot0)
2834 (name "sbcl-cl-cffi-gtk-glib")
2835 (inputs
2836 `(("glib" ,glib)
2837 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2838 (arguments
2839 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2840 #:phases
2841 (modify-phases %standard-phases
2842 (add-after 'unpack 'fix-paths
2843 (lambda* (#:key inputs #:allow-other-keys)
2844 (substitute* "glib/glib.init.lisp"
2845 (("libglib|libgthread" all) (string-append
2846 (assoc-ref inputs "glib") "/lib/" all))))))))))
2847
2848(define-public sbcl-cl-cffi-gtk-gobject
2849 (package
2850 (inherit sbcl-cl-cffi-gtk-boot0)
2851 (name "sbcl-cl-cffi-gtk-gobject")
2852 (inputs
2853 `(("glib" ,glib)
2854 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2855 ("trivial-garbage" ,sbcl-trivial-garbage)
2856 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2857 ("closer-mop" ,sbcl-closer-mop)
2858 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2859 (arguments
2860 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2861 #:phases
2862 (modify-phases %standard-phases
2863 (add-after 'unpack 'fix-paths
2864 (lambda* (#:key inputs #:allow-other-keys)
2865 (substitute* "gobject/gobject.init.lisp"
2866 (("libgobject" all) (string-append
2867 (assoc-ref inputs "glib") "/lib/" all))))))))))
2868
2869(define-public sbcl-cl-cffi-gtk-gio
2870 (package
2871 (inherit sbcl-cl-cffi-gtk-boot0)
2872 (name "sbcl-cl-cffi-gtk-gio")
2873 (inputs
2874 `(("glib" ,glib)
2875 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2876 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2877 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2878 (arguments
2879 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2880 #:phases
2881 (modify-phases %standard-phases
2882 (add-after 'unpack 'fix-paths
2883 (lambda* (#:key inputs #:allow-other-keys)
2884 (substitute* "gio/gio.init.lisp"
2885 (("libgio" all)
2886 (string-append
2887 (assoc-ref inputs "glib") "/lib/" all))))))))))
2888
2889(define-public sbcl-cl-cffi-gtk-cairo
2890 (package
2891 (inherit sbcl-cl-cffi-gtk-boot0)
2892 (name "sbcl-cl-cffi-gtk-cairo")
2893 (inputs
2894 `(("cairo" ,cairo)
2895 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2896 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2897 (arguments
2898 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2899 #:phases
2900 (modify-phases %standard-phases
2901 (add-after 'unpack 'fix-paths
2902 (lambda* (#:key inputs #:allow-other-keys)
2903 (substitute* "cairo/cairo.init.lisp"
2904 (("libcairo" all)
2905 (string-append
2906 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2907
2908(define-public sbcl-cl-cffi-gtk-pango
2909 (package
2910 (inherit sbcl-cl-cffi-gtk-boot0)
2911 (name "sbcl-cl-cffi-gtk-pango")
2912 (inputs
2913 `(("pango" ,pango)
2914 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2915 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2916 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2917 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2918 (arguments
2919 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2920 #:phases
2921 (modify-phases %standard-phases
2922 (add-after 'unpack 'fix-paths
2923 (lambda* (#:key inputs #:allow-other-keys)
2924 (substitute* "pango/pango.init.lisp"
2925 (("libpango" all)
2926 (string-append
2927 (assoc-ref inputs "pango") "/lib/" all))))))))))
2928
2929(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2930 (package
2931 (inherit sbcl-cl-cffi-gtk-boot0)
2932 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2933 (inputs
2934 `(("gdk-pixbuf" ,gdk-pixbuf)
2935 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2936 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2937 (arguments
2938 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2939 #:phases
2940 (modify-phases %standard-phases
2941 (add-after 'unpack 'fix-paths
2942 (lambda* (#:key inputs #:allow-other-keys)
2943 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2944 (("libgdk_pixbuf" all)
2945 (string-append
2946 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2947
2948(define-public sbcl-cl-cffi-gtk-gdk
2949 (package
2950 (inherit sbcl-cl-cffi-gtk-boot0)
2951 (name "sbcl-cl-cffi-gtk-gdk")
2952 (inputs
2953 `(("gtk" ,gtk+)
2954 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2955 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2956 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
2957 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2958 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
2959 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2960 (arguments
2961 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
2962 #:phases
2963 (modify-phases %standard-phases
2964 (add-after 'unpack 'fix-paths
2965 (lambda* (#:key inputs #:allow-other-keys)
2966 (substitute* "gdk/gdk.init.lisp"
2967 (("libgdk" all)
2968 (string-append
2969 (assoc-ref inputs "gtk") "/lib/" all)))
2970 (substitute* "gdk/gdk.package.lisp"
2971 (("libgtk" all)
2972 (string-append
2973 (assoc-ref inputs "gtk") "/lib/" all))))))))))
2974
2975(define-public sbcl-cl-cffi-gtk
2976 (package
2977 (inherit sbcl-cl-cffi-gtk-boot0)
2978 (name "sbcl-cl-cffi-gtk")
2979 (inputs
2980 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2981 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2982 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2983 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
2984 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2985 (native-inputs
2986 `(("fiveam" ,sbcl-fiveam)))
2987 (arguments
2988 `(#:asd-file "gtk/cl-cffi-gtk.asd"
2989 #:test-asd-file "test/cl-cffi-gtk-test.asd"
2990 ;; TODO: Tests fail with memory fault.
2991 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
2992 #:tests? #f))))
2993
2994(define-public cl-cffi-gtk
2995 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
2996
2997(define-public sbcl-cl-webkit
2998 (let ((commit "cd2a9008e0c152e54755e8a7f07b050fe36bab31"))
2999 (package
3000 (name "sbcl-cl-webkit")
3001 (version (git-version "2.4" "1" commit))
3002 (source
3003 (origin
3004 (method git-fetch)
3005 (uri (git-reference
3006 (url "https://github.com/jmercouris/cl-webkit")
3007 (commit commit)))
3008 (file-name (git-file-name "cl-webkit" version))
3009 (sha256
3010 (base32
3011 "0f5lyn9i7xrn3g1bddga377mcbawkbxydijpg389q4n04gqj0vwf"))))
3012 (build-system asdf-build-system/sbcl)
3013 (inputs
3014 `(("cffi" ,sbcl-cffi)
3015 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3016 ("webkitgtk" ,webkitgtk)))
3017 (arguments
3018 `(#:asd-file "webkit2/cl-webkit2.asd"
3019 #:asd-system-name "cl-webkit2"
3020 #:phases
3021 (modify-phases %standard-phases
3022 (add-after 'unpack 'fix-paths
3023 (lambda* (#:key inputs #:allow-other-keys)
3024 (substitute* "webkit2/webkit2.init.lisp"
3025 (("libwebkit2gtk" all)
3026 (string-append
3027 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
3028 (home-page "https://github.com/jmercouris/cl-webkit")
3029 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3030 (description
3031 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3032currently targeting WebKit version 2. The WebKitGTK+ library adds web
3033browsing capabilities to an application, leveraging the full power of the
3034WebKit browsing engine.")
3035 (license license:expat))))
3036
3037(define-public cl-webkit
3038 (sbcl-package->cl-source-package sbcl-cl-webkit))
3039
3040(define-public sbcl-lparallel
3041 (package
3042 (name "sbcl-lparallel")
3043 (version "2.8.4")
3044 (source
3045 (origin
3046 (method git-fetch)
3047 (uri (git-reference
3048 (url "https://github.com/lmj/lparallel/")
3049 (commit (string-append "lparallel-" version))))
3050 (file-name (git-file-name "lparallel" version))
3051 (sha256
3052 (base32
3053 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3054 (build-system asdf-build-system/sbcl)
3055 (inputs
3056 `(("alexandria" ,sbcl-alexandria)
3057 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3058 ("trivial-garbage" ,sbcl-trivial-garbage)))
3059 (home-page "https://lparallel.org/")
3060 (synopsis "Parallelism for Common Lisp")
3061 (description
3062 "@command{lparallel} is a library for parallel programming in Common
3063Lisp, featuring:
3064
3065@itemize
3066@item a simple model of task submission with receiving queue,
3067@item constructs for expressing fine-grained parallelism,
3068@item asynchronous condition handling across thread boundaries,
3069@item parallel versions of map, reduce, sort, remove, and many others,
3070@item promises, futures, and delayed evaluation constructs,
3071@item computation trees for parallelizing interconnected tasks,
3072@item bounded and unbounded FIFO queues,
3073@item high and low priority tasks,
3074@item task killing by category,
3075@item integrated timeouts.
3076@end itemize\n")
3077 (license license:expat)))
3078
3079(define-public cl-lparallel
3080 (sbcl-package->cl-source-package sbcl-lparallel))
3081
3082(define-public ecl-lparallel
3083 (sbcl-package->ecl-package sbcl-lparallel))
3084
3085(define-public sbcl-cl-markup
3086 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3087 (package
3088 (name "sbcl-cl-markup")
3089 (version (git-version "0.1" "1" commit))
3090 (source
3091 (origin
3092 (method git-fetch)
3093 (uri (git-reference
3094 (url "https://github.com/arielnetworks/cl-markup/")
3095 (commit commit)))
3096 (file-name (git-file-name "cl-markup" version))
3097 (sha256
3098 (base32
3099 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3100 (build-system asdf-build-system/sbcl)
3101 (home-page "https://github.com/arielnetworks/cl-markup/")
3102 (synopsis "Markup generation library for Common Lisp")
3103 (description
3104 "A modern markup generation library for Common Lisp that features:
3105
3106@itemize
3107@item Fast (even faster through compiling the code)
3108@item Safety
3109@item Support for multiple document types (markup, xml, html, html5, xhtml)
3110@item Output with doctype
3111@item Direct output to stream
3112@end itemize\n")
3113 (license license:lgpl3+))))
3114
3115(define-public cl-markup
3116 (sbcl-package->cl-source-package sbcl-cl-markup))
3117
3118(define-public ecl-cl-markup
3119 (sbcl-package->ecl-package sbcl-cl-markup))
3120
3121(define-public sbcl-cl-css
3122 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3123 (package
3124 (name "sbcl-cl-css")
3125 (version (git-version "0.1" "1" commit))
3126 (source
3127 (origin
3128 (method git-fetch)
3129 (uri (git-reference
3130 (url "https://github.com/inaimathi/cl-css/")
3131 (commit commit)))
3132 (file-name (git-file-name "cl-css" version))
3133 (sha256
3134 (base32
3135 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3136 (build-system asdf-build-system/sbcl)
3137 (home-page "https://github.com/inaimathi/cl-css/")
3138 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3139 (description
3140 "This is a dead-simple, non validating, inline CSS generator for Common
3141Lisp. Its goals are axiomatic syntax, simple implementation to support
3142portability, and boilerplate reduction in CSS.")
3143 (license license:expat))))
3144
3145(define-public cl-css
3146 (sbcl-package->cl-source-package sbcl-cl-css))
3147
3148(define-public ecl-cl-css
3149 (sbcl-package->ecl-package sbcl-cl-css))
3150
3151(define-public sbcl-portable-threads
3152 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3153 (package
3154 (name "sbcl-portable-threads")
3155 (version (git-version "2.3" "1" commit))
3156 (source
3157 (origin
3158 (method git-fetch)
3159 (uri (git-reference
3160 (url "https://github.com/binghe/portable-threads/")
3161 (commit commit)))
3162 (file-name (git-file-name "portable-threads" version))
3163 (sha256
3164 (base32
3165 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3166 (build-system asdf-build-system/sbcl)
3167 (arguments
3168 `(;; Tests seem broken.
3169 #:tests? #f))
3170 (home-page "https://github.com/binghe/portable-threads")
3171 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3172 (description
3173 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3174Lisp (from GBBopen project).")
3175 (license license:asl2.0))))
3176
3177(define-public cl-portable-threads
3178 (sbcl-package->cl-source-package sbcl-portable-threads))
3179
3180(define-public ecl-portable-threada
3181 (sbcl-package->ecl-package sbcl-portable-threads))
3182
b23e6f5d 3183(define sbcl-usocket-boot0
88f06fd0
PN
3184 ;; usocket's test rely on usocket-server which depends on usocket itself.
3185 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3186 (package
3187 (name "sbcl-usocket-boot0")
3188 (version "0.8.3")
3189 (source
3190 (origin
3191 (method git-fetch)
3192 (uri (git-reference
3193 (url "https://github.com/usocket/usocket/")
3194 (commit (string-append "v" version))))
3195 (file-name (git-file-name "usocket" version))
3196 (sha256
3197 (base32
3198 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3199 (build-system asdf-build-system/sbcl)
3200 (inputs
3201 `(("split-sequence" ,sbcl-split-sequence)))
3202 (arguments
3203 `(#:tests? #f
3204 #:asd-system-name "usocket"))
3205 (home-page "https://common-lisp.net/project/usocket/")
3206 (synopsis "Universal socket library for Common Lisp (server side)")
3207 (description
3208 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3209interface for as many Common Lisp implementations as possible, while keeping
3210the abstraction and portability layer as thin as possible.")
b23e6f5d 3211 (license license:expat)))
88f06fd0
PN
3212
3213(define-public sbcl-usocket-server
3214 (package
3215 (inherit sbcl-usocket-boot0)
3216 (name "sbcl-usocket-server")
3217 (inputs
b23e6f5d
GLV
3218 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3219 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3220 (arguments
3221 '(#:asd-system-name "usocket-server"))
3222 (synopsis "Universal socket library for Common Lisp (server side)")))
3223
3224(define-public cl-usocket-server
3225 (sbcl-package->cl-source-package sbcl-usocket-server))
3226
3227(define-public ecl-socket-server
3228 (sbcl-package->ecl-package sbcl-usocket-server))
3229
3230(define-public sbcl-usocket
3231 (package
3232 (inherit sbcl-usocket-boot0)
3233 (name "sbcl-usocket")
3234 (arguments
3235 ;; FIXME: Tests need network access?
3236 `(#:tests? #f))
3237 (native-inputs
3238 ;; Testing only.
3239 `(("usocket-server" ,sbcl-usocket-server)
3240 ("rt" ,sbcl-rt)))))
3241
3242(define-public cl-usocket
3243 (sbcl-package->cl-source-package sbcl-usocket))
3244
b23e6f5d 3245(define-public ecl-usocket
88f06fd0
PN
3246 (sbcl-package->ecl-package sbcl-usocket))
3247
3248(define-public sbcl-s-xml
3249 (package
3250 (name "sbcl-s-xml")
3251 (version "3")
3252 (source
3253 (origin
3254 (method url-fetch)
3255 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3256 (sha256
3257 (base32
3258 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3259 (build-system asdf-build-system/sbcl)
3260 (home-page "https://common-lisp.net/project/s-xml/")
3261 (synopsis "Simple XML parser implemented in Common Lisp")
3262 (description
3263 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3264parser implementation has the following features:
3265
3266@itemize
3267@item It works (handling many common XML usages).
3268@item It is very small (the core is about 700 lines of code, including
3269comments and whitespace).
3270@item It has a core API that is simple, efficient and pure functional, much
3271like that from SSAX (see also http://ssax.sourceforge.net).
3272@item It supports different DOM models: an XSML-based one, an LXML-based one
3273and a classic xml-element struct based one.
3274@item It is reasonably time and space efficient (internally avoiding garbage
3275generatation as much as possible).
3276@item It does support CDATA.
3277@item It should support the same character sets as your Common Lisp
3278implementation.
3279@item It does support XML name spaces.
3280@end itemize
3281
3282This XML parser implementation has the following limitations:
3283
3284@itemize
3285@item It does not support any special tags (like processing instructions).
3286@item It is not validating, even skips DTD's all together.
3287@end itemize\n")
3288 (license license:lgpl3+)))
3289
3290(define-public cl-s-xml
3291 (sbcl-package->cl-source-package sbcl-s-xml))
3292
3293(define-public ecl-s-xml
3294 (sbcl-package->ecl-package sbcl-s-xml))
3295
3296(define-public sbcl-s-xml-rpc
3297 (package
3298 (name "sbcl-s-xml-rpc")
3299 (version "7")
3300 (source
3301 (origin
3302 (method url-fetch)
3303 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3304 (sha256
3305 (base32
3306 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3307 (build-system asdf-build-system/sbcl)
3308 (inputs
3309 `(("s-xml" ,sbcl-s-xml)))
3310 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3311 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3312 (description
3313 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3314client and server.")
3315 (license license:lgpl3+)))
3316
3317(define-public cl-s-xml-rpc
3318 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3319
3320(define-public ecl-s-xml-rpc
3321 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3322
3323(define-public sbcl-trivial-clipboard
3324 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3325 (package
3326 (name "sbcl-trivial-clipboard")
3327 (version (git-version "0.0.0.0" "2" commit))
3328 (source
3329 (origin
3330 (method git-fetch)
3331 (uri (git-reference
3332 (url "https://github.com/snmsts/trivial-clipboard")
3333 (commit commit)))
3334 (file-name (git-file-name "trivial-clipboard" version))
3335 (sha256
3336 (base32
3337 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3338 (build-system asdf-build-system/sbcl)
3339 (inputs
3340 `(("xclip" ,xclip)))
3341 (native-inputs
3342 `(("fiveam" ,sbcl-fiveam)))
3343 (arguments
3344 `(#:phases
3345 (modify-phases %standard-phases
3346 (add-after 'unpack 'fix-paths
3347 (lambda* (#:key inputs #:allow-other-keys)
3348 (substitute* "src/text.lisp"
3349 (("\\(executable-find \"xclip\"\\)")
3350 (string-append "(executable-find \""
3351 (assoc-ref inputs "xclip")
3352 "/bin/xclip\")"))))))))
3353 (home-page "https://github.com/snmsts/trivial-clipboard")
3354 (synopsis "Access system clipboard in Common Lisp")
3355 (description
3356 "@command{trivial-clipboard} gives access to the system clipboard.")
3357 (license license:expat))))
3358
3359(define-public cl-trivial-clipboard
3360 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3361
3362(define-public ecl-trivial-clipboard
3363 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3364
3365(define-public sbcl-trivial-backtrace
3366 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3367 (revision "1"))
3368 (package
3369 (name "sbcl-trivial-backtrace")
3370 (version (git-version "0.0.0" revision commit))
3371 (source
3372 (origin
3373 (method git-fetch)
3374 (uri (git-reference
3375 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3376 (commit commit)))
3377 (file-name (git-file-name "trivial-backtrace" version))
3378 (sha256
3379 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3380 (build-system asdf-build-system/sbcl)
3381 (inputs
3382 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3383 (arguments
3384 `(#:phases
3385 (modify-phases %standard-phases
3386 (add-after 'check 'delete-test-results
3387 (lambda* (#:key outputs #:allow-other-keys)
3388 (let ((test-results (string-append (assoc-ref outputs "out")
3389 "/share/common-lisp/"
3390 (%lisp-type) "-source"
3391 "/trivial-backtrace"
3392 "/test-results")))
3393 (when (file-exists? test-results)
3394 (delete-file-recursively test-results)))
3395 #t)))))
88f06fd0
PN
3396 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3397 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3398 (description
3399 "On of the many things that didn't quite get into the Common Lisp
3400standard was how to get a Lisp to output its call stack when something has
3401gone wrong. As such, each Lisp has developed its own notion of what to
3402display, how to display it, and what sort of arguments can be used to
3403customize it. @code{trivial-backtrace} is a simple solution to generating a
3404backtrace portably.")
3405 (license license:expat))))
3406
3407(define-public cl-trivial-backtrace
3408 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3409
3410(define-public sbcl-rfc2388
3411 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3412 (revision "1"))
3413 (package
3414 (name "sbcl-rfc2388")
3415 (version (git-version "0.0.0" revision commit))
3416 (source
3417 (origin
3418 (method git-fetch)
3419 (uri (git-reference
3420 (url "https://github.com/jdz/rfc2388.git")
3421 (commit commit)))
3422 (file-name (git-file-name "rfc2388" version))
3423 (sha256
3424 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3425 (build-system asdf-build-system/sbcl)
3426 (home-page "https://github.com/jdz/rfc2388/")
3427 (synopsis "An implementation of RFC 2388 in Common Lisp")
3428 (description
3429 "This package contains an implementation of RFC 2388, which is used to
3430process form data posted with HTTP POST method using enctype
3431\"multipart/form-data\".")
3432 (license license:bsd-2))))
3433
3434(define-public cl-rfc2388
3435 (sbcl-package->cl-source-package sbcl-rfc2388))
3436
3437(define-public sbcl-md5
3438 (package
3439 (name "sbcl-md5")
3440 (version "2.0.4")
3441 (source
3442 (origin
3443 (method url-fetch)
3444 (uri (string-append
3445 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3446 (sha256
3447 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3448 (build-system asdf-build-system/sbcl)
3449 (home-page "https://github.com/pmai/md5")
3450 (synopsis
3451 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3452 (description
3453 "This package implements The MD5 Message-Digest Algorithm, as defined in
3454RFC 1321 by R. Rivest, published April 1992.")
3455 (license license:public-domain)))
3456
3457(define-public cl-md5
3458 (sbcl-package->cl-source-package sbcl-md5))
3459
3460(define-public sbcl-cl+ssl
3461 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3462 (revision "1"))
3463 (package
3464 (name "sbcl-cl+ssl")
3465 (version (git-version "0.0.0" revision commit))
3466 (source
3467 (origin
3468 (method git-fetch)
3469 (uri (git-reference
3470 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3471 (commit commit)))
3472 (file-name (git-file-name "cl+ssl" version))
3473 (sha256
3474 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3475 (build-system asdf-build-system/sbcl)
3476 (arguments
3477 '(#:phases
3478 (modify-phases %standard-phases
3479 (add-after 'unpack 'fix-paths
3480 (lambda* (#:key inputs #:allow-other-keys)
3481 (substitute* "src/reload.lisp"
3482 (("libssl.so" all)
3483 (string-append
3484 (assoc-ref inputs "openssl") "/lib/" all))))))))
3485 (inputs
3486 `(("openssl" ,openssl)
3487 ("sbcl-cffi" ,sbcl-cffi)
3488 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3489 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3490 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3491 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3492 ("sbcl-alexandria" ,sbcl-alexandria)
3493 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3494 (home-page "http://common-lisp.net/project/cl-plus-ssl/")
3495 (synopsis "Common Lisp bindings to OpenSSL")
3496 (description
3497 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3498code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3499Development into CL+SSL was done by David Lichteblau.")
3500 (license license:expat))))
3501
3502(define-public cl-cl+ssl
3503 (sbcl-package->cl-source-package sbcl-cl+ssl))
3504
3505(define-public sbcl-kmrcl
3506 (let ((version "1.109.0")
3507 (commit "5260068b2eb735af6796740c2db4955afac21636")
3508 (revision "1"))
3509 (package
3510 (name "sbcl-kmrcl")
3511 (version (git-version version revision commit))
3512 (source
3513 (origin
3514 (method git-fetch)
3515 (uri (git-reference
3516 (url "http://git.kpe.io/kmrcl.git/")
3517 (commit commit)))
3518 (file-name (git-file-name name version))
3519 (sha256
3520 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3521 (build-system asdf-build-system/sbcl)
3522 (arguments
3523 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3524 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3525 '(#:tests? #f))
3526 (inputs
3527 `(("sbcl-rt" ,sbcl-rt)))
3528 (home-page "http://files.kpe.io/kmrcl/")
3529 (synopsis "General utilities for Common Lisp programs")
3530 (description
3531 "KMRCL is a collection of utilities used by a number of Kevin
3532Rosenberg's CL packages.")
3533 (license license:llgpl))))
3534
3535(define-public cl-kmrcl
3536 (sbcl-package->cl-source-package sbcl-kmrcl))
3537
3538(define-public sbcl-cl-base64
3539 (let ((version "3.3.3"))
3540 (package
3541 (name "sbcl-cl-base64")
3542 (version version)
3543 (source
3544 (origin
3545 (method git-fetch)
3546 (uri (git-reference
3547 (url "http://git.kpe.io/cl-base64.git")
3548 (commit (string-append "v" version))))
3549 (file-name (git-file-name "cl-base64" version))
3550 (sha256
3551 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3552 (build-system asdf-build-system/sbcl)
3553 (arguments
3554 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3555 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3556 ;; to toplevel
3557 '(#:tests? #f))
3558 (inputs
3559 `(("sbcl-ptester" ,sbcl-ptester)
3560 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3561 (home-page "http://files.kpe.io/cl-base64/")
3562 (synopsis
3563 "Common Lisp package to encode and decode base64 with URI support")
3564 (description
3565 "This package provides highly optimized base64 encoding and decoding.
3566Besides conversion to and from strings, integer conversions are supported.
3567Encoding with Uniform Resource Identifiers is supported by using a modified
3568encoding table that uses only URI-compatible characters.")
3569 (license license:bsd-3))))
3570
3571(define-public cl-base64
3572 (sbcl-package->cl-source-package sbcl-cl-base64))
3573
3574(define-public sbcl-chunga
3575 (package
3576 (name "sbcl-chunga")
3577 (version "1.1.7")
3578 (source
3579 (origin
3580 (method git-fetch)
3581 (uri (git-reference
3582 (url "https://github.com/edicl/chunga.git")
3583 (commit (string-append "v" version))))
3584 (file-name (git-file-name name version))
3585 (sha256
3586 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3587 (build-system asdf-build-system/sbcl)
3588 (inputs
3589 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3590 (home-page "https://edicl.github.io/chunga/")
3591 (synopsis "Portable chunked streams for Common Lisp")
3592 (description
3593 "Chunga implements streams capable of chunked encoding on demand as
3594defined in RFC 2616.")
3595 (license license:bsd-2)))
3596
3597(define-public cl-chunga
3598 (sbcl-package->cl-source-package sbcl-chunga))
3599
3600(define-public sbcl-cl-who
3601 (let ((version "1.1.4")
3602 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3603 (revision "1"))
3604 (package
3605 (name "sbcl-cl-who")
3606 (version (git-version version revision commit))
3607 (source
3608 (origin
3609 (method git-fetch)
3610 (uri (git-reference
3611 (url "https://github.com/edicl/cl-who.git")
3612 (commit commit)))
3613 (file-name (git-file-name name version))
3614 (sha256
3615 (base32
3616 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3617 (build-system asdf-build-system/sbcl)
3618 (native-inputs
3619 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3620 (home-page "https://edicl.github.io/cl-who/")
3621 (synopsis "Yet another Lisp markup language")
3622 (description
3623 "There are plenty of Lisp Markup Languages out there - every Lisp
3624programmer seems to write at least one during his career - and CL-WHO (where
3625WHO means \"with-html-output\" for want of a better acronym) is probably just
3626as good or bad as the next one.")
3627 (license license:bsd-2))))
3628
3629(define-public cl-cl-who
3630 (sbcl-package->cl-source-package sbcl-cl-who))
3631
3632(define-public sbcl-chipz
3633 (let ((version "0.8")
3634 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3635 (revision "1"))
3636 (package
3637 (name "sbcl-chipz")
3638 (version (git-version version revision commit))
3639 (source
3640 (origin
3641 (method git-fetch)
3642 (uri (git-reference
3643 (url "https://github.com/froydnj/chipz.git")
3644 (commit commit)))
3645 (file-name (git-file-name name version))
3646 (sha256
3647 (base32
3648 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3649 (build-system asdf-build-system/sbcl)
3650 (native-inputs
3651 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3652 (home-page "http://method-combination.net/lisp/chipz/")
3653 (synopsis
3654 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3655data")
3656 (description
3657 "DEFLATE data, defined in RFC1951, forms the core of popular
3658compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3659Chipz also provides for decompressing data in those formats as well. BZIP2 is
3660the format used by the popular compression tool bzip2.")
3661 ;; The author describes it as "MIT-like"
3662 (license license:expat))))
3663
3664(define-public cl-chipz
3665 (sbcl-package->cl-source-package sbcl-chipz))
3666
3667(define-public sbcl-drakma
a2b6b973
GLV
3668 (package
3669 (name "sbcl-drakma")
3670 (version "2.0.7")
3671 (source
3672 (origin
3673 (method git-fetch)
3674 (uri (git-reference
3675 (url "https://github.com/edicl/drakma.git")
3676 (commit (string-append "v" version))))
3677 (file-name (git-file-name name version))
3678 (sha256
3679 (base32
3680 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3681 (build-system asdf-build-system/sbcl)
3682 (inputs
3683 `(("sbcl-puri" ,sbcl-puri)
3684 ("sbcl-cl-base64" ,sbcl-cl-base64)
3685 ("sbcl-chunga" ,sbcl-chunga)
3686 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3687 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3688 ("sbcl-chipz" ,sbcl-chipz)
3689 ("sbcl-usocket" ,sbcl-usocket)
3690 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3691 (native-inputs
3692 `(("sbcl-fiveam" ,sbcl-fiveam)))
3693 (home-page "https://edicl.github.io/drakma/")
3694 (synopsis "HTTP client written in Common Lisp")
3695 (description
3696 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3697knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3698sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3699 (license license:bsd-2)))
88f06fd0
PN
3700
3701(define-public cl-drakma
3702 (sbcl-package->cl-source-package sbcl-drakma))
3703
10ac723b
GLV
3704(define-public ecl-drakma
3705 (sbcl-package->ecl-package sbcl-drakma))
3706
88f06fd0
PN
3707(define-public sbcl-hunchentoot
3708 (package
3709 (name "sbcl-hunchentoot")
3710 (version "1.2.38")
3711 (source
3712 (origin
3713 (method git-fetch)
3714 (uri (git-reference
3715 (url "https://github.com/edicl/hunchentoot.git")
3716 (commit (string-append "v" version))))
3717 (file-name (git-file-name "hunchentoot" version))
3718 (sha256
3719 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3720 (build-system asdf-build-system/sbcl)
3721 (native-inputs
3722 `(("sbcl-cl-who" ,sbcl-cl-who)
3723 ("sbcl-drakma" ,sbcl-drakma)))
3724 (inputs
3725 `(("sbcl-chunga" ,sbcl-chunga)
3726 ("sbcl-cl-base64" ,sbcl-cl-base64)
3727 ("sbcl-cl-fad" ,sbcl-cl-fad)
3728 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3729 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3730 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3731 ("sbcl-md5" ,sbcl-md5)
3732 ("sbcl-rfc2388" ,sbcl-rfc2388)
3733 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3734 ("sbcl-usocket" ,sbcl-usocket)))
3735 (home-page "https://edicl.github.io/hunchentoot/")
3736 (synopsis "Web server written in Common Lisp")
3737 (description
3738 "Hunchentoot is a web server written in Common Lisp and at the same
3739time a toolkit for building dynamic websites. As a stand-alone web server,
3740Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3741connections (keep-alive), and SSL.")
3742 (license license:bsd-2)))
3743
3744(define-public cl-hunchentoot
3745 (sbcl-package->cl-source-package sbcl-hunchentoot))
3746
3747(define-public sbcl-trivial-types
3748 (package
3749 (name "sbcl-trivial-types")
3750 (version "0.0.1")
3751 (source
3752 (origin
3753 (method git-fetch)
3754 (uri (git-reference
3755 (url "https://github.com/m2ym/trivial-types.git")
3756 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3757 (file-name (git-file-name name version))
3758 (sha256
3759 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3760 (build-system asdf-build-system/sbcl)
3761 (home-page "https://github.com/m2ym/trivial-types")
3762 (synopsis "Trivial type definitions for Common Lisp")
3763 (description
3764 "TRIVIAL-TYPES provides missing but important type definitions such as
3765PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3766 (license license:llgpl)))
3767
3768(define-public cl-trivial-types
3769 (sbcl-package->cl-source-package sbcl-trivial-types))
3770
3771(define-public sbcl-cl-syntax
3772 (package
3773 (name "sbcl-cl-syntax")
3774 (version "0.0.3")
3775 (source
3776 (origin
3777 (method git-fetch)
3778 (uri (git-reference
3779 (url "https://github.com/m2ym/cl-syntax.git")
3780 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3781 (file-name (git-file-name "cl-syntax" version))
3782 (sha256
3783 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3784 (build-system asdf-build-system/sbcl)
3785 (arguments
3786 '(#:asd-file "cl-syntax.asd"
3787 #:asd-system-name "cl-syntax"))
3788 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3789 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3790 (home-page "https://github.com/m2ym/cl-syntax")
3791 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3792 (description
3793 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3794 (license license:llgpl)))
3795
3796(define-public cl-syntax
3797 (sbcl-package->cl-source-package sbcl-cl-syntax))
3798
3799(define-public sbcl-cl-annot
3800 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3801 (revision "1"))
3802 (package
3803 (name "sbcl-cl-annot")
3804 (version (git-version "0.0.0" revision commit))
3805 (source
3806 (origin
3807 (method git-fetch)
3808 (uri (git-reference
3809 (url "https://github.com/m2ym/cl-annot.git")
3810 (commit commit)))
3811 (file-name (git-file-name name version))
3812 (sha256
3813 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3814 (build-system asdf-build-system/sbcl)
3815 (arguments
3816 '(#:asd-file "cl-annot.asd"
3817 #:asd-system-name "cl-annot"))
3818 (inputs
3819 `(("sbcl-alexandria" ,sbcl-alexandria)))
3820 (home-page "https://github.com/m2ym/cl-annot")
3821 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3822 (description
3823 "@code{cl-annot} is an general annotation library for Common Lisp.")
3824 (license license:llgpl))))
3825
3826(define-public cl-annot
3827 (sbcl-package->cl-source-package sbcl-cl-annot))
3828
3829(define-public sbcl-cl-syntax-annot
3830 (package
3831 (name "sbcl-cl-syntax-annot")
3832 (version "0.0.3")
3833 (source
3834 (origin
3835 (method git-fetch)
3836 (uri (git-reference
3837 (url "https://github.com/m2ym/cl-syntax.git")
3838 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3839 (file-name (git-file-name name version))
3840 (sha256
3841 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3842 (build-system asdf-build-system/sbcl)
3843 (arguments
3844 '(#:asd-file "cl-syntax-annot.asd"
3845 #:asd-system-name "cl-syntax-annot"))
3846 (inputs
3847 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3848 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3849 (home-page "https://github.com/m2ym/cl-syntax")
3850 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3851 (description
3852 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3853SLIME.")
3854 (license license:llgpl)))
3855
3856(define-public cl-syntax-annot
3857 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3858
3859(define-public sbcl-cl-utilities
3860 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3861 (revision "1"))
3862 (package
3863 (name "sbcl-cl-utilities")
3864 (version (git-version "0.0.0" revision commit))
3865 (source
3866 (origin
3867 (method url-fetch)
3868 (uri
3869 (string-append
3870 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3871 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3872 (sha256
3873 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3874 (build-system asdf-build-system/sbcl)
3875 (arguments
3876 '(#:asd-file "cl-utilities.asd"
3877 #:asd-system-name "cl-utilities"
3878 #:phases
3879 (modify-phases %standard-phases
3880 (add-after 'unpack 'fix-paths
3881 (lambda* (#:key inputs #:allow-other-keys)
3882 (substitute* "rotate-byte.lisp"
3883 (("in-package :cl-utilities)" all)
3884 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3885 (home-page "http://common-lisp.net/project/cl-utilities")
3886 (synopsis "A collection of semi-standard utilities")
3887 (description
3888 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3889is a collection of Common Lisp Utilities, things that everybody writes since
3890they're not part of the official standard. There are some very useful things
3891there; the only problems are that they aren't implemented as well as you'd
3892like (some aren't implemented at all) and they aren't conveniently packaged
3893and maintained. It takes quite a bit of work to carefully implement utilities
3894for common use, commented and documented, with error checking placed
3895everywhere some dumb user might make a mistake.")
3896 (license license:public-domain))))
3897
3898(define-public cl-utilities
3899 (sbcl-package->cl-source-package sbcl-cl-utilities))
3900
3901(define-public sbcl-map-set
3902 (let ((commit "7b4b545b68b8")
3903 (revision "1"))
3904 (package
3905 (name "sbcl-map-set")
3906 (version (git-version "0.0.0" revision commit))
3907 (source
3908 (origin
3909 (method url-fetch)
3910 (uri (string-append
3911 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3912 commit ".tar.gz"))
3913 (sha256
3914 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3915 (build-system asdf-build-system/sbcl)
3916 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3917 (synopsis "Set-like data structure")
3918 (description
3919 "Implementation of a set-like data structure with constant time
3920addition, removal, and random selection.")
3921 (license license:bsd-3))))
3922
3923(define-public cl-map-set
3924 (sbcl-package->cl-source-package sbcl-map-set))
3925
3926(define-public sbcl-quri
3927 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3928 (revision "1"))
3929 (package
3930 (name "sbcl-quri")
3931 (version (git-version "0.1.0" revision commit))
3932 (source
3933 (origin
3934 (method git-fetch)
3935 (uri (git-reference
3936 (url "https://github.com/fukamachi/quri.git")
3937 (commit commit)))
3938 (file-name (git-file-name name version))
3939 (sha256
3940 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3941 (build-system asdf-build-system/sbcl)
3942 (arguments
3943 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3944 ;; required by #<SYSTEM "quri">. Why?
3945 '(#:tests? #f))
3946 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3947 ("sbcl-prove" ,sbcl-prove)))
3948 (inputs `(("sbcl-babel" ,sbcl-babel)
3949 ("sbcl-split-sequence" ,sbcl-split-sequence)
3950 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3951 ("sbcl-alexandria" ,sbcl-alexandria)))
3952 (home-page "https://github.com/fukamachi/quri")
3953 (synopsis "Yet another URI library for Common Lisp")
3954 (description
3955 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3956Lisp. It is intended to be a replacement of PURI.")
3957 (license license:bsd-3))))
3958
3959(define-public cl-quri
3960 (sbcl-package->cl-source-package sbcl-quri))
3961
3962(define-public sbcl-myway
3963 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3964 (revision "1"))
3965 (package
3966 (name "sbcl-myway")
3967 (version (git-version "0.1.0" revision commit))
3968 (source
3969 (origin
3970 (method git-fetch)
3971 (uri (git-reference
3972 (url "https://github.com/fukamachi/myway.git")
3973 (commit commit)))
3974 (file-name (git-file-name "myway" version))
3975 (sha256
3976 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3977 (build-system asdf-build-system/sbcl)
3978 (arguments
3979 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3980 ;; by #<SYSTEM "myway">. Why?
3981 '(#:tests? #f))
3982 (native-inputs
3983 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3984 ("sbcl-prove" ,sbcl-prove)))
3985 (inputs
3986 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3987 ("sbcl-quri" ,sbcl-quri)
3988 ("sbcl-map-set" ,sbcl-map-set)))
3989 (home-page "https://github.com/fukamachi/myway")
3990 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
3991 (description "My Way is a Sinatra-compatible URL routing library.")
3992 (license license:llgpl))))
3993
3994(define-public cl-myway
3995 (sbcl-package->cl-source-package sbcl-myway))
3996
3997(define-public sbcl-xsubseq
3998 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
3999 (revision "1"))
4000 (package
4001 (name "sbcl-xsubseq")
4002 (version (git-version "0.0.1" revision commit))
4003 (source
4004 (origin
4005 (method git-fetch)
4006 (uri (git-reference
4007 (url "https://github.com/fukamachi/xsubseq")
4008 (commit commit)))
4009 (file-name (git-file-name name version))
4010 (sha256
4011 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4012 (build-system asdf-build-system/sbcl)
4013 (arguments
4014 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4015 ;; required by #<SYSTEM "xsubseq">. Why?
4016 '(#:tests? #f))
4017 (native-inputs
4018 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4019 ("sbcl-prove" ,sbcl-prove)))
4020 (home-page "https://github.com/fukamachi/xsubseq")
4021 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4022 (description
4023 "XSubseq provides functions to be able to handle \"subseq\"s more
4024effieiently.")
4025 (license license:bsd-2))))
4026
4027(define-public cl-xsubseq
4028 (sbcl-package->cl-source-package sbcl-xsubseq))
4029
4030(define-public sbcl-smart-buffer
4031 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4032 (revision "1"))
4033 (package
4034 (name "sbcl-smart-buffer")
4035 (version (git-version "0.0.1" revision commit))
4036 (source
4037 (origin
4038 (method git-fetch)
4039 (uri (git-reference
4040 (url "https://github.com/fukamachi/smart-buffer")
4041 (commit commit)))
4042 (file-name (git-file-name name version))
4043 (sha256
4044 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4045 (build-system asdf-build-system/sbcl)
4046 (arguments
4047 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4048 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4049 `(#:tests? #f))
4050 (native-inputs
4051 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4052 ("sbcl-prove" ,sbcl-prove)))
4053 (inputs
4054 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4055 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4056 (home-page "https://github.com/fukamachi/smart-buffer")
4057 (synopsis "Smart octets buffer")
4058 (description
4059 "Smart-buffer provides an output buffer which changes the destination
4060depending on content size.")
4061 (license license:bsd-3))))
4062
4063(define-public cl-smart-buffer
4064 (sbcl-package->cl-source-package sbcl-smart-buffer))
4065
4066(define-public sbcl-fast-http
4067 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4068 (revision "1"))
4069 (package
4070 (name "sbcl-fast-http")
4071 (version (git-version "0.2.0" revision commit))
4072 (source
4073 (origin
4074 (method git-fetch)
4075 (uri (git-reference
4076 (url "https://github.com/fukamachi/fast-http")
4077 (commit commit)))
4078 (file-name (git-file-name name version))
4079 (sha256
4080 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4081 (build-system asdf-build-system/sbcl)
4082 (arguments
4083 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4084 ;; required by #<SYSTEM "fast-http">. Why?
4085 `(#:tests? #f))
4086 (native-inputs
4087 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4088 ("sbcl-prove" ,sbcl-prove)))
4089 (inputs
4090 `(("sbcl-alexandria" ,sbcl-alexandria)
4091 ("sbcl-proc-parse" ,sbcl-proc-parse)
4092 ("sbcl-xsubseq" ,sbcl-xsubseq)
4093 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4094 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4095 (home-page "https://github.com/fukamachi/fast-http")
4096 (synopsis "HTTP request/response parser for Common Lisp")
4097 (description
4098 "@code{fast-http} is a HTTP request/response protocol parser for Common
4099Lisp.")
4100 ;; Author specified the MIT license
4101 (license license:expat))))
4102
4103(define-public cl-fast-http
4104 (sbcl-package->cl-source-package sbcl-fast-http))
4105
4106(define-public sbcl-static-vectors
ba55cbda
GLV
4107 (package
4108 (name "sbcl-static-vectors")
4109 (version "1.8.4")
4110 (source
4111 (origin
88f06fd0
PN
4112 (method git-fetch)
4113 (uri (git-reference
4114 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4115 (commit (string-append "v" version))))
88f06fd0
PN
4116 (file-name (git-file-name name version))
4117 (sha256
ba55cbda
GLV
4118 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4119 (native-inputs
4120 `(("sbcl-fiveam" ,sbcl-fiveam)))
4121 (inputs
4122 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4123 ("sbcl-cffi" ,sbcl-cffi)))
4124 (build-system asdf-build-system/sbcl)
6b40dbff 4125 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4126 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4127 (description
4128 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4129memory.")
ba55cbda 4130 (license license:expat)))
88f06fd0
PN
4131
4132(define-public cl-static-vectors
4133 (sbcl-package->cl-source-package sbcl-static-vectors))
4134
f6a6f085
GLV
4135(define-public ecl-static-vectors
4136 (sbcl-package->ecl-package sbcl-static-vectors))
4137
88f06fd0
PN
4138(define-public sbcl-marshal
4139 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4140 (revision "1"))
4141 (package
4142 (name "sbcl-marshal")
4143 (version (git-version "1.3.0" revision commit))
4144 (source
4145 (origin
4146 (method git-fetch)
4147 (uri (git-reference
4148 (url "https://github.com/wlbr/cl-marshal.git")
4149 (commit commit)))
4150 (file-name (git-file-name name version))
4151 (sha256
4152 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4153 (build-system asdf-build-system/sbcl)
4154 (home-page "https://github.com/wlbr/cl-marshal")
4155 (synopsis "Simple (de)serialization of Lisp datastructures")
4156 (description
4157 "Simple and fast marshalling of Lisp datastructures. Convert any object
4158into a string representation, put it on a stream an revive it from there.
4159Only minimal changes required to make your CLOS objects serializable.")
4160 (license license:expat))))
4161
4162(define-public cl-marshal
4163 (sbcl-package->cl-source-package sbcl-marshal))
4164
4165(define-public sbcl-checkl
4166 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4167 (revision "1"))
4168 (package
4169 (name "sbcl-checkl")
4170 (version (git-version "0.0.0" revision commit))
4171 (source
4172 (origin
4173 (method git-fetch)
4174 (uri (git-reference
4175 (url "https://github.com/rpav/CheckL.git")
4176 (commit commit)))
4177 (file-name (git-file-name name version))
4178 (sha256
4179 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4180 (build-system asdf-build-system/sbcl)
4181 (arguments
4182 ;; Error while trying to load definition for system checkl-test from
4183 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4184 ;; is undefined.
4185 '(#:tests? #f))
4186 (native-inputs
4187 `(("sbcl-fiveam" ,sbcl-fiveam)))
4188 (inputs
4189 `(("sbcl-marshal" ,sbcl-marshal)))
4190 (home-page "https://github.com/rpav/CheckL/")
4191 (synopsis "Dynamic testing for Common Lisp")
4192 (description
4193 "CheckL lets you write tests dynamically, it checks resulting values
4194against the last run.")
4195 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4196 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4197 ;; stronger of the two and so I think only listing this should suffice.
4198 (license license:llgpl))))
4199
4200(define-public cl-checkl
4201 (sbcl-package->cl-source-package sbcl-checkl))
4202
4203(define-public sbcl-fast-io
4204 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4205 (revision "1"))
4206 (package
4207 (name "sbcl-fast-io")
4208 (version (git-version "1.0.0" revision commit))
4209 (source
4210 (origin
4211 (method git-fetch)
4212 (uri (git-reference
4213 (url "https://github.com/rpav/fast-io.git")
4214 (commit commit)))
4215 (file-name (git-file-name name version))
4216 (sha256
4217 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4218 (build-system asdf-build-system/sbcl)
4219 (arguments
4220 ;; Error while trying to load definition for system fast-io-test from
4221 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4222 ;; is undefined.
4223 '(#:tests? #f))
4224 (native-inputs
4225 `(("sbcl-fiveam" ,sbcl-fiveam)
4226 ("sbcl-checkl" ,sbcl-checkl)))
4227 (inputs
4228 `(("sbcl-alexandria" ,sbcl-alexandria)
4229 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4230 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4231 (home-page "https://github.com/rpav/fast-io")
4232 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4233 (description
4234 "Fast-io is about improving performance to octet-vectors and octet
4235streams (though primarily the former, while wrapping the latter).")
4236 ;; Author specifies this as NewBSD which is an alias
4237 (license license:bsd-3))))
4238
4239(define-public cl-fast-io
4240 (sbcl-package->cl-source-package sbcl-fast-io))
4241
4242(define-public sbcl-jonathan
4243 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4244 (revision "1"))
4245 (package
4246 (name "sbcl-jonathan")
4247 (version (git-version "0.1.0" revision commit))
4248 (source
4249 (origin
4250 (method git-fetch)
4251 (uri (git-reference
4252 (url "https://github.com/Rudolph-Miller/jonathan.git")
4253 (commit commit)))
4254 (file-name (git-file-name name version))
4255 (sha256
4256 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4257 (build-system asdf-build-system/sbcl)
4258 (arguments
4259 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4260 ;; required by #<SYSTEM "jonathan">. Why?
4261 `(#:tests? #f))
4262 (native-inputs
4263 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4264 ("sbcl-prove" ,sbcl-prove)))
4265 (inputs
4266 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4267 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4268 ("sbcl-fast-io" ,sbcl-fast-io)
4269 ("sbcl-proc-parse" ,sbcl-proc-parse)
4270 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4271 (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
4272 (synopsis "JSON encoder and decoder")
4273 (description
4274 "High performance JSON encoder and decoder. Currently support: SBCL,
4275CCL.")
4276 ;; Author specifies the MIT license
4277 (license license:expat))))
4278
4279(define-public cl-jonathan
4280 (sbcl-package->cl-source-package sbcl-jonathan))
4281
4282(define-public sbcl-http-body
4283 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4284 (revision "1"))
4285 (package
4286 (name "sbcl-http-body")
4287 (version (git-version "0.1.0" revision commit))
4288 (source
4289 (origin
4290 (method git-fetch)
4291 (uri (git-reference
4292 (url "https://github.com/fukamachi/http-body")
4293 (commit commit)))
4294 (file-name (git-file-name name version))
4295 (sha256
4296 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4297 (build-system asdf-build-system/sbcl)
4298 (arguments
4299 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4300 ;; found, required by #<SYSTEM "http-body">. Why?
4301 `(#:tests? #f))
4302 (native-inputs
4303 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4304 ("sbcl-prove" ,sbcl-prove)))
4305 (inputs
4306 `(("sbcl-fast-http" ,sbcl-fast-http)
4307 ("sbcl-jonathan" ,sbcl-jonathan)
4308 ("sbcl-quri" ,sbcl-quri)))
4309 (home-page "https://github.com/fukamachi/http-body")
4310 (synopsis "HTTP POST data parser")
4311 (description
4312 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4313supports application/x-www-form-urlencoded, application/json, and
4314multipart/form-data.")
4315 (license license:bsd-2))))
4316
4317(define-public cl-http-body
4318 (sbcl-package->cl-source-package sbcl-http-body))
4319
4320(define-public sbcl-circular-streams
4321 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4322 (revision "1"))
4323 (package
4324 (name "sbcl-circular-streams")
4325 (version (git-version "0.1.0" revision commit))
4326 (source
4327 (origin
4328 (method git-fetch)
4329 (uri (git-reference
4330 (url "https://github.com/fukamachi/circular-streams")
4331 (commit commit)))
4332 (file-name (git-file-name name version))
4333 (sha256
4334 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4335 (build-system asdf-build-system/sbcl)
4336 (arguments
4337 ;; The tests depend on cl-test-more which is now prove. Prove
4338 ;; tests aren't working for some reason.
4339 `(#:tests? #f))
4340 (inputs
4341 `(("sbcl-fast-io" ,sbcl-fast-io)
4342 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4343 (home-page "https://github.com/fukamachi/circular-streams")
4344 (synopsis "Circularly readable streams for Common Lisp")
4345 (description
4346 "Circular-Streams allows you to read streams circularly by wrapping real
4347streams. Once you reach end-of-file of a stream, it's file position will be
4348reset to 0 and you're able to read it again.")
4349 (license license:llgpl))))
4350
4351(define-public cl-circular-streams
4352 (sbcl-package->cl-source-package sbcl-circular-streams))
4353
4354(define-public sbcl-lack-request
4355 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4356 (revision "1"))
4357 (package
4358 (name "sbcl-lack-request")
4359 (version (git-version "0.1.0" revision commit))
4360 (source
4361 (origin
4362 (method git-fetch)
4363 (uri (git-reference
4364 (url "https://github.com/fukamachi/lack.git")
4365 (commit commit)))
4366 (file-name (git-file-name "lack-request" version))
4367 (sha256
4368 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4369 (build-system asdf-build-system/sbcl)
4370 (arguments
4371 '(#:asd-file "lack-request.asd"
4372 #:asd-system-name "lack-request"
4373 #:test-asd-file "t-lack-request.asd"
4374 ;; XXX: Component :CLACK-TEST not found
4375 #:tests? #f))
4376 (native-inputs
4377 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4378 ("sbcl-prove" ,sbcl-prove)))
4379 (inputs
4380 `(("sbcl-quri" ,sbcl-quri)
4381 ("sbcl-http-body" ,sbcl-http-body)
4382 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4383 (home-page "https://github.com/fukamachi/lack")
4384 (synopsis "Lack, the core of Clack")
4385 (description
4386 "Lack is a Common Lisp library which allows web applications to be
4387constructed of modular components. It was originally a part of Clack, however
4388it's going to be rewritten as an individual project since Clack v2 with
4389performance and simplicity in mind.")
4390 (license license:llgpl))))
4391
4392(define-public cl-lack-request
4393 (sbcl-package->cl-source-package sbcl-lack-request))
4394
4395(define-public sbcl-local-time
4396 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4397 (revision "1"))
4398 (package
4399 (name "sbcl-local-time")
4400 (version (git-version "1.0.6" revision commit))
4401 (source
4402 (origin
4403 (method git-fetch)
4404 (uri (git-reference
4405 (url "https://github.com/dlowe-net/local-time.git")
4406 (commit commit)))
4407 (file-name (git-file-name name version))
4408 (sha256
4409 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4410 (build-system asdf-build-system/sbcl)
4411 (arguments
4412 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4413 ;; "local-time/test">
4414 '(#:tests? #f))
4415 (native-inputs
4416 `(("stefil" ,sbcl-hu.dwim.stefil)))
4417 (inputs
4418 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4419 (home-page "https://common-lisp.net/project/local-time/")
4420 (synopsis "Time manipulation library for Common Lisp")
4421 (description
4422 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4423dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4424Long Painful History of Time\".")
4425 (license license:expat))))
4426
4427(define-public cl-local-time
4428 (sbcl-package->cl-source-package sbcl-local-time))
4429
4430(define-public sbcl-lack-response
4431 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4432 (revision "1"))
4433 (package
4434 (name "sbcl-lack-response")
4435 (version (git-version "0.1.0" revision commit))
4436 (source
4437 (origin
4438 (method git-fetch)
4439 (uri (git-reference
4440 (url "https://github.com/fukamachi/lack.git")
4441 (commit commit)))
4442 (file-name (git-file-name name version))
4443 (sha256
4444 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4445 (build-system asdf-build-system/sbcl)
4446 (arguments
4447 '(#:asd-file "lack-response.asd"
4448 #:asd-system-name "lack-response"
4449 ;; XXX: no tests for lack-response.
4450 #:tests? #f))
4451 (native-inputs
4452 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4453 ("sbcl-prove" ,sbcl-prove)))
4454 (inputs
4455 `(("sbcl-quri" ,sbcl-quri)
4456 ("sbcl-http-body" ,sbcl-http-body)
4457 ("sbcl-circular-streams" ,sbcl-circular-streams)
4458 ("sbcl-local-time" ,sbcl-local-time)))
4459 (home-page "https://github.com/fukamachi/lack")
4460 (synopsis "Lack, the core of Clack")
4461 (description
4462 "Lack is a Common Lisp library which allows web applications to be
4463constructed of modular components. It was originally a part of Clack, however
4464it's going to be rewritten as an individual project since Clack v2 with
4465performance and simplicity in mind.")
4466 (license license:llgpl))))
4467
4468(define-public cl-lack-response
4469 (sbcl-package->cl-source-package sbcl-lack-response))
4470
4471(define-public sbcl-lack-component
4472 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4473 (revision "1"))
4474 (package
4475 (name "sbcl-lack-component")
4476 (version (git-version "0.0.0" revision commit))
4477 (source
4478 (origin
4479 (method git-fetch)
4480 (uri (git-reference
4481 (url "https://github.com/fukamachi/lack.git")
4482 (commit commit)))
4483 (file-name (git-file-name "lack-component" version))
4484 (sha256
4485 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4486 (build-system asdf-build-system/sbcl)
4487 (arguments
4488 '(#:asd-file "lack-component.asd"
4489 #:asd-system-name "lack-component"
4490 #:test-asd-file "t-lack-component.asd"
4491 ;; XXX: Component :LACK-TEST not found
4492 #:tests? #f))
4493 (native-inputs
4494 `(("prove-asdf" ,sbcl-prove-asdf)))
4495 (home-page "https://github.com/fukamachi/lack")
4496 (synopsis "Lack, the core of Clack")
4497 (description
4498 "Lack is a Common Lisp library which allows web applications to be
4499constructed of modular components. It was originally a part of Clack, however
4500it's going to be rewritten as an individual project since Clack v2 with
4501performance and simplicity in mind.")
4502 (license license:llgpl))))
4503
4504(define-public cl-lack-component
4505 (sbcl-package->cl-source-package sbcl-lack-component))
4506
4507(define-public sbcl-lack-util
4508 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4509 (revision "1"))
4510 (package
4511 (name "sbcl-lack-util")
4512 (version (git-version "0.1.0" revision commit))
4513 (source
4514 (origin
4515 (method git-fetch)
4516 (uri (git-reference
4517 (url "https://github.com/fukamachi/lack.git")
4518 (commit commit)))
4519 (file-name (git-file-name "lack-util" version))
4520 (sha256
4521 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4522 (build-system asdf-build-system/sbcl)
4523 (arguments
4524 '(#:asd-file "lack-util.asd"
4525 #:asd-system-name "lack-util"
4526 #:test-asd-file "t-lack-util.asd"
4527 ;; XXX: Component :LACK-TEST not found
4528 #:tests? #f))
4529 (native-inputs
4530 `(("prove-asdf" ,sbcl-prove-asdf)))
4531 (inputs
4532 `(("sbcl-ironclad" ,sbcl-ironclad)))
4533 (home-page "https://github.com/fukamachi/lack")
4534 (synopsis "Lack, the core of Clack")
4535 (description
4536 "Lack is a Common Lisp library which allows web applications to be
4537constructed of modular components. It was originally a part of Clack, however
4538it's going to be rewritten as an individual project since Clack v2 with
4539performance and simplicity in mind.")
4540 (license license:llgpl))))
4541
4542(define-public cl-lack-util
4543 (sbcl-package->cl-source-package sbcl-lack-util))
4544
4545(define-public sbcl-lack-middleware-backtrace
4546 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4547 (revision "1"))
4548 (package
4549 (name "sbcl-lack-middleware-backtrace")
4550 (version (git-version "0.1.0" revision commit))
4551 (source
4552 (origin
4553 (method git-fetch)
4554 (uri (git-reference
4555 (url "https://github.com/fukamachi/lack.git")
4556 (commit commit)))
4557 (file-name (git-file-name "lack-middleware-backtrace" version))
4558 (sha256
4559 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4560 (build-system asdf-build-system/sbcl)
4561 (arguments
4562 '(#:asd-file "lack-middleware-backtrace.asd"
4563 #:asd-system-name "lack-middleware-backtrace"
4564 #:test-asd-file "t-lack-middleware-backtrace.asd"
4565 ;; XXX: Component :LACK not found
4566 #:tests? #f))
4567 (native-inputs
4568 `(("prove-asdf" ,sbcl-prove-asdf)))
4569 (home-page "https://github.com/fukamachi/lack")
4570 (synopsis "Lack, the core of Clack")
4571 (description
4572 "Lack is a Common Lisp library which allows web applications to be
4573constructed of modular components. It was originally a part of Clack, however
4574it's going to be rewritten as an individual project since Clack v2 with
4575performance and simplicity in mind.")
4576 (license license:llgpl))))
4577
4578(define-public cl-lack-middleware-backtrace
4579 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4580
4581(define-public sbcl-trivial-mimes
4582 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4583 (revision "1"))
4584 (package
4585 (name "sbcl-trivial-mimes")
4586 (version (git-version "1.1.0" revision commit))
4587 (source
4588 (origin
4589 (method git-fetch)
4590 (uri (git-reference
4591 (url "https://github.com/Shinmera/trivial-mimes.git")
4592 (commit commit)))
4593 (file-name (git-file-name name version))
4594 (sha256
4595 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4596 (build-system asdf-build-system/sbcl)
4597 (arguments
4598 '(#:phases
4599 (modify-phases %standard-phases
4600 (add-after
4601 'unpack 'fix-paths
4602 (lambda* (#:key inputs #:allow-other-keys)
4603 (let ((anchor "#p\"/etc/mime.types\""))
4604 (substitute* "mime-types.lisp"
4605 ((anchor all)
4606 (string-append
4607 anchor "\n"
4608 "(asdf:system-relative-pathname :trivial-mimes "
4609 "\"../../share/common-lisp/" (%lisp-type)
4610 "-source/trivial-mimes/mime.types\")")))))))))
4611 (native-inputs
4612 `(("stefil" ,sbcl-hu.dwim.stefil)))
4613 (inputs
4614 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4615 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4616 (synopsis "Tiny Common Lisp library to detect mime types in files")
4617 (description
4618 "This is a teensy library that provides some functions to determine the
4619mime-type of a file.")
4620 (license license:artistic2.0))))
4621
4622(define-public cl-trivial-mimes
4623 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4624
4625(define-public ecl-trivial-mimes
4626 (sbcl-package->ecl-package sbcl-trivial-mimes))
4627
4628(define-public sbcl-lack-middleware-static
4629 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4630 (revision "1"))
4631 (package
4632 (name "sbcl-lack-middleware-static")
4633 (version (git-version "0.1.0" revision commit))
4634 (source
4635 (origin
4636 (method git-fetch)
4637 (uri (git-reference
4638 (url "https://github.com/fukamachi/lack.git")
4639 (commit commit)))
4640 (file-name (git-file-name "lack-middleware-static" version))
4641 (sha256
4642 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4643 (build-system asdf-build-system/sbcl)
4644 (arguments
4645 '(#:asd-file "lack-middleware-static.asd"
4646 #:asd-system-name "lack-middleware-static"
4647 #:test-asd-file "t-lack-middleware-static.asd"
4648 ;; XXX: Component :LACK not found
4649 #:tests? #f))
4650 (native-inputs
4651 `(("prove-asdf" ,sbcl-prove-asdf)))
4652 (inputs
4653 `(("sbcl-ironclad" ,sbcl-ironclad)
4654 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4655 ("sbcl-local-time" ,sbcl-local-time)))
4656 (home-page "https://github.com/fukamachi/lack")
4657 (synopsis "Lack, the core of Clack")
4658 (description
4659 "Lack is a Common Lisp library which allows web applications to be
4660constructed of modular components. It was originally a part of Clack, however
4661it's going to be rewritten as an individual project since Clack v2 with
4662performance and simplicity in mind.")
4663 (license license:llgpl))))
4664
4665(define-public cl-lack-middleware-static
4666 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4667
4668(define-public sbcl-lack
4669 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4670 (revision "1"))
4671 (package
4672 (name "sbcl-lack")
4673 (version (git-version "0.1.0" revision commit))
4674 (source
4675 (origin
4676 (method git-fetch)
4677 (uri (git-reference
4678 (url "https://github.com/fukamachi/lack.git")
4679 (commit commit)))
4680 (file-name (git-file-name "lack" version))
4681 (sha256
4682 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4683 (build-system asdf-build-system/sbcl)
4684 (arguments
4685 '(#:test-asd-file "t-lack.asd"
4686 ;; XXX: Component :CLACK not found
4687 #:tests? #f))
4688 (native-inputs
4689 `(("prove-asdf" ,sbcl-prove-asdf)))
4690 (inputs
4691 `(("sbcl-lack-component" ,sbcl-lack-component)
4692 ("sbcl-lack-util" ,sbcl-lack-util)))
4693 (home-page "https://github.com/fukamachi/lack")
4694 (synopsis "Lack, the core of Clack")
4695 (description
4696 "Lack is a Common Lisp library which allows web applications to be
4697constructed of modular components. It was originally a part of Clack, however
4698it's going to be rewritten as an individual project since Clack v2 with
4699performance and simplicity in mind.")
4700 (license license:llgpl))))
4701
4702(define-public cl-lack
4703 (sbcl-package->cl-source-package sbcl-lack))
4704
4705(define-public sbcl-ningle
4706 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4707 (revision "1"))
4708 (package
4709 (name "sbcl-ningle")
4710 (version (git-version "0.3.0" revision commit))
4711 (source
4712 (origin
4713 (method git-fetch)
4714 (uri (git-reference
4715 (url "https://github.com/fukamachi/ningle.git")
4716 (commit commit)))
4717 (file-name (git-file-name name version))
4718 (sha256
4719 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4720 (build-system asdf-build-system/sbcl)
4721 (arguments
4722 ;; TODO: pull in clack-test
4723 '(#:tests? #f
4724 #:phases
4725 (modify-phases %standard-phases
4726 (delete 'cleanup-files)
4727 (delete 'cleanup)
4728 (add-before 'cleanup 'combine-fasls
4729 (lambda* (#:key outputs #:allow-other-keys)
4730 (let* ((out (assoc-ref outputs "out"))
4731 (lib (string-append out "/lib/sbcl"))
4732 (ningle-path (string-append lib "/ningle"))
4733 (fasl-files (find-files out "\\.fasl$")))
4734 (mkdir-p ningle-path)
4735 (let ((fasl-path (lambda (name)
4736 (string-append ningle-path
4737 "/"
4738 (basename name)
4739 "--system.fasl"))))
4740 (for-each (lambda (file)
4741 (rename-file file
4742 (fasl-path
4743 (basename file ".fasl"))))
4744 fasl-files))
4745 fasl-files)
4746 #t)))))
4747 (native-inputs
4748 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4749 ("sbcl-prove" ,sbcl-prove)))
4750 (inputs
4751 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4752 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4753 ("sbcl-myway" ,sbcl-myway)
4754 ("sbcl-lack-request" ,sbcl-lack-request)
4755 ("sbcl-lack-response" ,sbcl-lack-response)
4756 ("sbcl-lack-component" ,sbcl-lack-component)
4757 ("sbcl-alexandria" ,sbcl-alexandria)
4758 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4759 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4760 (synopsis "Super micro framework for Common Lisp")
4761 (description
4762 "Ningle is a lightweight web application framework for Common Lisp.")
4763 (license license:llgpl))))
4764
4765(define-public cl-ningle
4766 (sbcl-package->cl-source-package sbcl-ningle))
4767
4768(define-public sbcl-clack
4769 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4770 (revision "1"))
4771 (package
4772 (name "sbcl-clack")
4773 (version (git-version "2.0.0" revision commit))
4774 (source
4775 (origin
4776 (method git-fetch)
4777 (uri (git-reference
4778 (url "https://github.com/fukamachi/clack.git")
4779 (commit commit)))
4780 (file-name (git-file-name name version))
4781 (sha256
4782 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4783 (build-system asdf-build-system/sbcl)
4784 (inputs
4785 `(("sbcl-lack" ,sbcl-lack)
4786 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4787 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4788 (home-page "https://github.com/fukamachi/clack")
4789 (synopsis "Web Application Environment for Common Lisp")
4790 (description
4791 "Clack is a web application environment for Common Lisp inspired by
4792Python's WSGI and Ruby's Rack.")
4793 (license license:llgpl))))
4794
4795(define-public cl-clack
4796 (sbcl-package->cl-source-package sbcl-clack))
4797
4798(define-public sbcl-log4cl
4799 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4800 (revision "1"))
4801 (package
4802 (name "sbcl-log4cl")
4803 (build-system asdf-build-system/sbcl)
4804 (version "1.1.2")
4805 (source
4806 (origin
4807 (method git-fetch)
4808 (uri (git-reference
4809 (url "https://github.com/sharplispers/log4cl")
4810 (commit commit)))
4811 (file-name (git-file-name name version))
4812 (sha256
4813 (base32
4814 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4815 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4816 (arguments
4817 `(#:tests? #f))
4818 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4819 (synopsis "Common Lisp logging framework, modeled after Log4J")
4820 (home-page "https://github.com/7max/log4cl")
4821 (description "This is a Common Lisp logging framework that can log at
4822various levels and mix text with expressions.")
4823 (license license:asl2.0))))
4824
4825(define-public cl-log4cl
4826 (sbcl-package->cl-source-package sbcl-log4cl))
4827
4828(define-public ecl-log4cl
4829 (sbcl-package->ecl-package sbcl-log4cl))
4830
4831(define-public sbcl-find-port
4832 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4833 (revision "1"))
4834 (package
4835 (name "sbcl-find-port")
4836 (build-system asdf-build-system/sbcl)
4837 (version "0.1")
4838 (home-page "https://github.com/eudoxia0/find-port")
4839 (source
4840 (origin
4841 (method git-fetch)
4842 (uri (git-reference
4843 (url home-page)
4844 (commit commit)))
4845 (file-name (git-file-name name version))
4846 (sha256
4847 (base32
4848 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4849 (native-inputs
4850 `(("fiveam" ,sbcl-fiveam)))
4851 (inputs
4852 `(("sbcl-usocket" ,sbcl-usocket)))
4853 (synopsis "Find open ports programmatically in Common Lisp")
4854 (description "This is a small Common Lisp library that finds an open
4855port within a range.")
4856 (license license:expat))))
4857
4858(define-public cl-find-port
4859 (sbcl-package->cl-source-package sbcl-find-port))
4860
4861(define-public ecl-find-port
4862 (sbcl-package->ecl-package sbcl-find-port))
4863
4864(define-public sbcl-clunit
4865 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4866 (revision "1"))
4867 (package
4868 (name "sbcl-clunit")
4869 (version (git-version "0.2.3" revision commit))
4870 (source
4871 (origin
4872 (method git-fetch)
4873 (uri (git-reference
4874 (url "https://github.com/tgutu/clunit.git")
4875 (commit commit)))
4876 (file-name (git-file-name name version))
4877 (sha256
4878 (base32
4879 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4880 (build-system asdf-build-system/sbcl)
4881 (synopsis "CLUnit is a Common Lisp unit testing framework")
4882 (description
4883 "CLUnit is a Common Lisp unit testing framework. It is designed
4884to be easy to use so that you can quickly start testing. CLUnit
4885provides a rich set of features aimed at improving your unit testing
4886experience.")
4887 (home-page "http://tgutu.github.io/clunit/")
4888 ;; MIT License
4889 (license license:expat))))
4890
4891(define-public cl-clunit
4892 (sbcl-package->cl-source-package sbcl-clunit))
4893
4894(define-public ecl-clunit
4895 (sbcl-package->ecl-package sbcl-clunit))
4896
4897(define-public sbcl-py4cl
4898 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4899 (revision "1"))
4900 (package
4901 (name "sbcl-py4cl")
4902 (version (git-version "0.0.0" revision commit))
4903 (source
4904 (origin
4905 (method git-fetch)
4906 (uri (git-reference
4907 (url "https://github.com/bendudson/py4cl.git")
4908 (commit commit)))
4909 (file-name (git-file-name name version))
4910 (sha256
4911 (base32
4912 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4913 (modules '((guix build utils)))))
4914 (build-system asdf-build-system/sbcl)
4915 (native-inputs
4916 `(("sbcl-clunit" ,sbcl-clunit)))
4917 (inputs
4918 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4919 (propagated-inputs
4920 ;; This package doesn't do anything without python available
4921 `(("python" ,python)
4922 ;; For multi-dimensional array support
4923 ("python-numpy" ,python-numpy)))
4924 (arguments
4925 '(#:phases
4926 (modify-phases %standard-phases
4927 (add-after 'unpack 'replace-*base-directory*-var
4928 (lambda* (#:key outputs #:allow-other-keys)
4929 ;; In the ASD, the author makes an attempt to
4930 ;; programatically determine the location of the
4931 ;; source-code so lisp can call into "py4cl.py". We can
4932 ;; hard-code this since we know where this file will
4933 ;; reside.
4934 (substitute* "src/callpython.lisp"
4935 (("py4cl/config:\\*base-directory\\*")
4936 (string-append
4937 "\""
4938 (assoc-ref outputs "out")
4939 "/share/common-lisp/sbcl-source/py4cl/"
4940 "\""))))))))
4941 (synopsis "Call python from Common Lisp")
4942 (description
4943 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4944Lisp to interact with Python code. It uses streams to communicate with a
4945separate python process, the approach taken by cl4py. This is different to
4946the CFFI approach used by burgled-batteries, but has the same goal.")
4947 (home-page "https://github.com/bendudson/py4cl")
4948 ;; MIT License
4949 (license license:expat))))
4950
4951(define-public cl-py4cl
4952 (sbcl-package->cl-source-package sbcl-py4cl))
4953
4954(define-public ecl-py4cl
4955 (sbcl-package->ecl-package sbcl-py4cl))
4956
4957(define-public sbcl-parse-declarations
1fce78c4
GLV
4958 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4959 (revision "1"))
4960 (package
4961 (name "sbcl-parse-declarations")
4962 (version (git-version "1.0.0" revision commit))
4963 (source
4964 (origin
4965 (method git-fetch)
4966 (uri (git-reference
4967 (url (string-append
4968 "https://gitlab.common-lisp.net/parse-declarations/"
4969 "parse-declarations.git"))
4970 (commit commit)))
4971 (file-name (git-file-name name version))
4972 (sha256
4973 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4974 (build-system asdf-build-system/sbcl)
4975 (arguments
4976 `(#:asd-file "parse-declarations-1.0.asd"
4977 #:asd-system-name "parse-declarations-1.0"))
4978 (home-page "https://common-lisp.net/project/parse-declarations/")
4979 (synopsis "Parse, filter, and build declarations")
4980 (description
4981 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
4982macros which establish bindings. To be semantically correct, such
4983macros must take user declarations into account, as these may affect
4984the bindings they establish. Yet the ANSI standard of Common Lisp does
4985not provide any operators to work with declarations in a convenient,
4986high-level way. This library provides such operators.")
1fce78c4
GLV
4987 ;; MIT License
4988 (license license:expat))))
88f06fd0
PN
4989
4990(define-public cl-parse-declarations
4991 (sbcl-package->cl-source-package sbcl-parse-declarations))
4992
4993(define-public ecl-parse-declarations
4994 (sbcl-package->ecl-package sbcl-parse-declarations))
4995
4996(define-public sbcl-cl-quickcheck
4997 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
4998 (revision "1"))
4999 (package
5000 (name "sbcl-cl-quickcheck")
5001 (version (git-version "0.0.4" revision commit))
5002 (source
5003 (origin
5004 (method git-fetch)
5005 (uri (git-reference
5006 (url "https://github.com/mcandre/cl-quickcheck.git")
5007 (commit commit)))
5008 (file-name (git-file-name name version))
5009 (sha256
5010 (base32
5011 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5012 (build-system asdf-build-system/sbcl)
5013 (synopsis
5014 "Common Lisp port of the QuickCheck unit test framework")
5015 (description
5016 "Common Lisp port of the QuickCheck unit test framework")
5017 (home-page "https://github.com/mcandre/cl-quickcheck")
5018 ;; MIT
5019 (license license:expat))))
5020
5021(define-public cl-cl-quickcheck
5022 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5023
5024(define-public ecl-cl-quickcheck
5025 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5026
5027(define-public sbcl-burgled-batteries3
5028 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5029 (revision "1"))
5030 (package
5031 (name "sbcl-burgled-batteries3")
5032 (version (git-version "0.0.0" revision commit))
5033 (source
5034 (origin
5035 (method git-fetch)
5036 (uri (git-reference
5037 (url "https://github.com/snmsts/burgled-batteries3.git")
5038 (commit commit)))
5039 (file-name (git-file-name name version))
5040 (sha256
5041 (base32
5042 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5043 (build-system asdf-build-system/sbcl)
5044 (arguments
5045 '(#:tests? #f
5046 #:phases
5047 (modify-phases %standard-phases
5048 (add-after 'unpack 'set-*cpython-include-dir*-var
5049 (lambda* (#:key inputs #:allow-other-keys)
5050 (substitute* "grovel-include-dir.lisp"
5051 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5052 (string-append
5053 "(defparameter *cpython-include-dir* \""
5054 (assoc-ref inputs "python")
5055 "/include/python3.7m"
5056 "\")")))
5057 (substitute* "ffi-interface.lisp"
5058 (("\\*cpython-lib\\*")
5059 (format #f "'(\"~a/lib/libpython3.so\")"
5060 (assoc-ref inputs "python"))))
5061 #t)))))
5062 (native-inputs
5063 `(("python" ,python)
5064 ("sbcl-cl-fad" ,sbcl-cl-fad)
5065 ("sbcl-lift" ,sbcl-lift)
5066 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5067 (inputs
5068 `(("sbcl-cffi" ,sbcl-cffi)
5069 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5070 ("sbcl-alexandria" , sbcl-alexandria)
5071 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5072 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5073 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5074 (description
5075 "This package provides a shim between Python3 (specifically, the
5076CPython implementation of Python) and Common Lisp.")
5077 (home-page "https://github.com/snmsts/burgled-batteries3")
5078 ;; MIT
5079 (license license:expat))))
5080
5081(define-public cl-burgled-batteries3
5082 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5083
5084(define-public ecl-burgled-batteries3
5085 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5086
5087(define-public sbcl-metabang-bind
5088 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5089 (revision "1"))
5090 (package
5091 (name "sbcl-metabang-bind")
5092 (version (git-version "0.8.0" revision commit))
5093 (source
5094 (origin
5095 (method git-fetch)
5096 (uri (git-reference
5097 (url "https://github.com/gwkkwg/metabang-bind.git")
5098 (commit commit)))
5099 (file-name (git-file-name name version))
5100 (sha256
5101 (base32
5102 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5103 (build-system asdf-build-system/sbcl)
5104 (native-inputs
5105 `(("sbcl-lift" ,sbcl-lift)))
5106 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5107 (description
5108 "Bind extends the idea of of let and destructing to provide a uniform
5109syntax for all your accessor needs. It combines @code{let},
5110@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5111editing, property or association-lists, and @code{multiple-value-bind} and a
5112whole lot more into a single form.")
5113 (home-page "https://common-lisp.net/project/metabang-bind/")
5114 ;; MIT License
5115 (license license:expat))))
5116
5117(define-public cl-metabang-bind
5118 (sbcl-package->cl-source-package sbcl-metabang-bind))
5119
5120(define-public ecl-metabang-bind
5121 (sbcl-package->ecl-package sbcl-metabang-bind))
5122
5123(define-public sbcl-fare-utils
5124 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5125 (revision "1"))
5126 (package
5127 (name "sbcl-fare-utils")
5128 (version (git-version "1.0.0.5" revision commit))
5129 (source
5130 (origin
5131 (method git-fetch)
5132 (uri
5133 (git-reference
5134 (url
5135 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5136 (commit commit)))
5137 (file-name (git-file-name name version))
5138 (sha256
5139 (base32
5140 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5141 (build-system asdf-build-system/sbcl)
5142 (arguments
5143 `(#:test-asd-file "test/fare-utils-test.asd"))
5144 (native-inputs
5145 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5146 (synopsis "Collection of utilities and data structures")
5147 (description
5148 "fare-utils is a small collection of utilities. It contains a lot of
5149basic everyday functions and macros.")
5150 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5151 ;; MIT License
5152 (license license:expat))))
5153
5154(define-public cl-fare-utils
5155 (sbcl-package->cl-source-package sbcl-fare-utils))
5156
5157(define-public ecl-fare-utils
5158 (sbcl-package->ecl-package sbcl-fare-utils))
5159
5160(define-public sbcl-trivial-utf-8
5161 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5162 (revision "1"))
5163 (package
5164 (name "sbcl-trivial-utf-8")
5165 (version (git-version "0.0.0" revision commit))
5166 (source
5167 (origin
5168 (method git-fetch)
5169 (uri
5170 (git-reference
5171 (url (string-append "https://gitlab.common-lisp.net/"
5172 "trivial-utf-8/trivial-utf-8.git"))
5173 (commit commit)))
5174 (file-name (git-file-name name version))
5175 (sha256
5176 (base32
5177 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5178 (arguments
5179 ;; Guix incorrectly assumes the "8" is part of the version
5180 ;; number and lobs it off.
5181 `(#:asd-file "trivial-utf-8.asd"
5182 #:asd-system-name "trivial-utf-8"))
5183 (build-system asdf-build-system/sbcl)
5184 (synopsis "UTF-8 input/output library")
5185 (description
5186 "The Babel library solves a similar problem while understanding more
5187encodings. Trivial UTF-8 was written before Babel existed, but for new
5188projects you might be better off going with Babel. The one plus that Trivial
5189UTF-8 has is that it doesn't depend on any other libraries.")
5190 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5191 (license license:bsd-3))))
5192
5193(define-public cl-trivial-utf-8
5194 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5195
5196(define-public ecl-trivial-utf-8
5197 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5198
5199(define-public sbcl-idna
5200 (package
5201 (name "sbcl-idna")
5202 (build-system asdf-build-system/sbcl)
5203 (version "0.2.2")
5204 (home-page "https://github.com/antifuchs/idna")
5205 (source
5206 (origin
5207 (method git-fetch)
5208 (uri (git-reference
5209 (url home-page)
5210 (commit version)))
5211 (file-name (git-file-name name version))
5212 (sha256
5213 (base32
5214 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5215 (inputs
5216 `(("split-sequence" ,sbcl-split-sequence)))
5217 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5218 (description "This Common Lisp library provides string encoding and
5219decoding routines for IDNA, the International Domain Names in Applications.")
5220 (license license:expat)))
5221
5222(define-public cl-idna
5223 (sbcl-package->cl-source-package sbcl-idna))
5224
5225(define-public ecl-idna
5226 (sbcl-package->ecl-package sbcl-idna))
5227
5228(define-public sbcl-swap-bytes
5229 (package
5230 (name "sbcl-swap-bytes")
5231 (build-system asdf-build-system/sbcl)
dbf6de58 5232 (version "1.2")
88f06fd0
PN
5233 (home-page "https://github.com/sionescu/swap-bytes")
5234 (source
5235 (origin
5236 (method git-fetch)
5237 (uri (git-reference
5238 (url home-page)
5239 (commit (string-append "v" version))))
5240 (file-name (git-file-name name version))
5241 (sha256
5242 (base32
dbf6de58 5243 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5244 (inputs
5245 `(("trivial-features" ,sbcl-trivial-features)))
5246 (native-inputs
5247 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5248 (synopsis "Efficient endianness conversion for Common Lisp")
5249 (description "This Common Lisp library provides optimized byte-swapping
5250primitives. The library can change endianness of unsigned integers of length
52511/2/4/8. Very useful in implementing various network protocols and file
5252formats.")
5253 (license license:expat)))
5254
5255(define-public cl-swap-bytes
5256 (sbcl-package->cl-source-package sbcl-swap-bytes))
5257
5258(define-public ecl-swap-bytes
5259 (sbcl-package->ecl-package sbcl-swap-bytes))
5260
5261(define-public sbcl-iolib.asdf
5262 ;; Latest release is from June 2017.
5263 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5264 (revision "1"))
5265 (package
5266 (name "sbcl-iolib.asdf")
5267 (build-system asdf-build-system/sbcl)
5268 (version "0.8.3")
5269 (home-page "https://github.com/sionescu/iolib")
5270 (source
5271 (origin
5272 (method git-fetch)
5273 (uri (git-reference
5274 (url home-page)
5275 (commit commit)))
5276 (file-name (git-file-name name version))
5277 (sha256
5278 (base32
5279 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5280 (inputs
5281 `(("alexandria" ,sbcl-alexandria)))
5282 (arguments
5283 '(#:asd-file "iolib.asdf.asd"))
5284 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5285 (description "IOlib is to be a better and more modern I/O library than
5286the standard Common Lisp library. It contains a socket library, a DNS
5287resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5288and @code{kqueue(2)}), a pathname library and file-system utilities.")
5289 (license license:expat))))
5290
5291(define-public sbcl-iolib.conf
5292 (package
5293 (inherit sbcl-iolib.asdf)
5294 (name "sbcl-iolib.conf")
5295 (inputs
5296 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5297 (arguments
5298 '(#:asd-file "iolib.conf.asd"))
5299 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5300
5301(define-public sbcl-iolib.common-lisp
5302 (package
5303 (inherit sbcl-iolib.asdf)
5304 (name "sbcl-iolib.common-lisp")
5305 (inputs
5306 `(("iolib.asdf" ,sbcl-iolib.asdf)
5307 ("iolib.conf" ,sbcl-iolib.conf)))
5308 (arguments
5309 '(#:asd-file "iolib.common-lisp.asd"))
5310 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5311
5312(define-public sbcl-iolib.base
5313 (package
5314 (inherit sbcl-iolib.asdf)
5315 (name "sbcl-iolib.base")
5316 (inputs
5317 `(("iolib.asdf" ,sbcl-iolib.asdf)
5318 ("iolib.conf" ,sbcl-iolib.conf)
5319 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5320 ("split-sequence" ,sbcl-split-sequence)))
5321 (arguments
5322 '(#:asd-file "iolib.base.asd"))
5323 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5324
5325(define-public sbcl-iolib.grovel
5326 (package
5327 (inherit sbcl-iolib.asdf)
5328 (name "sbcl-iolib.grovel")
5329 (inputs
5330 `(("iolib.asdf" ,sbcl-iolib.asdf)
5331 ("iolib.conf" ,sbcl-iolib.conf)
5332 ("iolib.base", sbcl-iolib.base)
5333 ("cffi", sbcl-cffi)))
5334 (arguments
5335 '(#:asd-file "iolib.grovel.asd"
5336 #:phases
5337 (modify-phases %standard-phases
5338 (add-after 'install 'install-header
5339 (lambda* (#:key outputs #:allow-other-keys)
5340 ;; This header is required by sbcl-iolib.
5341 (install-file "src/grovel/grovel-common.h"
5342 (string-append (assoc-ref outputs "out")
5343 "/lib/sbcl"))
5344 #t)))))
5345 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5346
5347(define-public sbcl-iolib
5348 (package
5349 (inherit sbcl-iolib.asdf)
5350 (name "sbcl-iolib")
5351 (inputs
5352 `(("iolib.asdf" ,sbcl-iolib.asdf)
5353 ("iolib.conf" ,sbcl-iolib.conf)
5354 ("iolib.grovel" ,sbcl-iolib.grovel)
5355 ("iolib.base" ,sbcl-iolib.base)
5356 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5357 ("idna" ,sbcl-idna)
5358 ("swap-bytes" ,sbcl-swap-bytes)
5359 ("libfixposix" ,libfixposix)
5360 ("cffi" ,sbcl-cffi)))
5361 (native-inputs
5362 `(("fiveam" ,sbcl-fiveam)))
5363 (arguments
5364 '(#:asd-file "iolib.asd"
5365 #:asd-system-name "iolib"
5366 #:test-asd-file "iolib.tests.asd"
5367 #:phases
5368 (modify-phases %standard-phases
5369 (add-after 'unpack 'fix-paths
5370 (lambda* (#:key inputs #:allow-other-keys)
5371 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5372 (("\\(:default \"libfixposix\"\\)")
5373 (string-append
5374 "(:default \""
5375 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5376 ;; Socket tests need Internet access, disable them.
5377 (substitute* "iolib.tests.asd"
5378 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5379 "")))))))
5380 (synopsis "Common Lisp I/O library")))
5381
5382(define-public cl-iolib
5383 (sbcl-package->cl-source-package sbcl-iolib))
5384
5385(define sbcl-iolib+multiplex
5386 (package
5387 (inherit sbcl-iolib)
5388 (name "sbcl-iolib+multiplex")
5389 (arguments
5390 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5391 ((#:asd-system-name _) "iolib/multiplex")))))
5392
5393(define sbcl-iolib+syscalls
5394 (package
5395 (inherit sbcl-iolib)
5396 (name "sbcl-iolib+syscalls")
5397 (arguments
5398 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5399 ((#:asd-system-name _) "iolib/syscalls")))))
5400
5401(define sbcl-iolib+streams
5402 (package
5403 (inherit sbcl-iolib)
5404 (name "sbcl-iolib+streams")
5405 (arguments
5406 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5407 ((#:asd-system-name _) "iolib/streams")))))
5408
5409(define sbcl-iolib+sockets
5410 (package
5411 (inherit sbcl-iolib)
5412 (name "sbcl-iolib+sockets")
5413 (arguments
5414 (substitute-keyword-arguments (package-arguments sbcl-iolib)
5415 ((#:asd-system-name _) "iolib/sockets")))))
5416
5417(define-public sbcl-ieee-floats
5418 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5419 (revision "1"))
5420 (package
5421 (name "sbcl-ieee-floats")
5422 (build-system asdf-build-system/sbcl)
5423 (version (git-version "20170924" revision commit))
5424 (home-page "https://github.com/marijnh/ieee-floats/")
5425 (source
5426 (origin
5427 (method git-fetch)
5428 (uri (git-reference
5429 (url home-page)
5430 (commit commit)))
5431 (file-name (git-file-name name version))
5432 (sha256
5433 (base32
5434 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5435 (native-inputs
5436 `(("fiveam" ,sbcl-fiveam)))
5437 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5438 (description "This is a Common Lisp library that allows to convert
5439floating point values to IEEE 754 binary representation.")
5440 (license license:bsd-3))))
5441
5442(define-public cl-ieee-floats
5443 (sbcl-package->cl-source-package sbcl-ieee-floats))
5444
5445(define sbcl-closure-common
5446 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5447 (revision "1"))
5448 (package
5449 (name "sbcl-closure-common")
5450 (build-system asdf-build-system/sbcl)
5451 (version (git-version "20101006" revision commit))
5452 (home-page "https://common-lisp.net/project/cxml/")
5453 (source
5454 (origin
5455 (method git-fetch)
5456 (uri (git-reference
5457 (url "https://github.com/sharplispers/closure-common")
5458 (commit commit)))
5459 (file-name (git-file-name name version))
5460 (sha256
5461 (base32
5462 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5463 (inputs
5464 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5465 ("babel" ,sbcl-babel)))
5466 (synopsis "Support Common Lisp library for CXML")
5467 (description "Closure-common is an internal helper library. The name
5468Closure is a reference to the web browser it was originally written for.")
5469 ;; TODO: License?
5470 (license #f))))
5471
5472(define-public sbcl-cxml+xml
5473 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5474 (revision "1"))
5475 (package
5476 (name "sbcl-cxml+xml")
5477 (build-system asdf-build-system/sbcl)
5478 (version (git-version "0.0.0" revision commit))
5479 (home-page "https://common-lisp.net/project/cxml/")
5480 (source
5481 (origin
5482 (method git-fetch)
5483 (uri (git-reference
5484 (url "https://github.com/sharplispers/cxml")
5485 (commit commit)))
5486 (file-name (git-file-name name version))
5487 (sha256
5488 (base32
5489 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5490 (inputs
5491 `(("closure-common" ,sbcl-closure-common)
5492 ("puri" ,sbcl-puri)
5493 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5494 (arguments
5495 `(#:asd-file "cxml.asd"
5496 #:asd-system-name "cxml/xml"))
5497 (synopsis "Common Lisp XML parser")
5498 (description "CXML implements a namespace-aware, validating XML 1.0
5499parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5500offered, one SAX-like, the other similar to StAX.")
5501 (license license:llgpl))))
5502
5503(define sbcl-cxml+dom
5504 (package
5505 (inherit sbcl-cxml+xml)
5506 (name "sbcl-cxml+dom")
5507 (inputs
5508 `(("closure-common" ,sbcl-closure-common)
5509 ("puri" ,sbcl-puri)
5510 ("cxml+xml" ,sbcl-cxml+xml)))
5511 (arguments
5512 `(#:asd-file "cxml.asd"
5513 #:asd-system-name "cxml/dom"))))
5514
5515(define sbcl-cxml+klacks
5516 (package
5517 (inherit sbcl-cxml+xml)
5518 (name "sbcl-cxml+klacks")
5519 (inputs
5520 `(("closure-common" ,sbcl-closure-common)
5521 ("puri" ,sbcl-puri)
5522 ("cxml+xml" ,sbcl-cxml+xml)))
5523 (arguments
5524 `(#:asd-file "cxml.asd"
5525 #:asd-system-name "cxml/klacks"))))
5526
5527(define sbcl-cxml+test
5528 (package
5529 (inherit sbcl-cxml+xml)
5530 (name "sbcl-cxml+test")
5531 (inputs
5532 `(("closure-common" ,sbcl-closure-common)
5533 ("puri" ,sbcl-puri)
5534 ("cxml+xml" ,sbcl-cxml+xml)))
5535 (arguments
5536 `(#:asd-file "cxml.asd"
5537 #:asd-system-name "cxml/test"))))
5538
5539(define-public sbcl-cxml
5540 (package
5541 (inherit sbcl-cxml+xml)
5542 (name "sbcl-cxml")
5543 (inputs
5544 `(("closure-common" ,sbcl-closure-common)
5545 ("puri" ,sbcl-puri)
5546 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5547 ("cxml+dom" ,sbcl-cxml+dom)
5548 ("cxml+klacks" ,sbcl-cxml+klacks)
5549 ("cxml+test" ,sbcl-cxml+test)))
5550 (arguments
5551 `(#:asd-file "cxml.asd"
5552 #:asd-system-name "cxml"
5553 #:phases
5554 (modify-phases %standard-phases
5555 (add-after 'build 'install-dtd
5556 (lambda* (#:key outputs #:allow-other-keys)
5557 (install-file "catalog.dtd"
5558 (string-append
5559 (assoc-ref outputs "out")
5560 "/lib/" (%lisp-type)))))
5561 (add-after 'create-asd 'remove-component
5562 ;; XXX: The original .asd has no components, but our build system
5563 ;; creates an entry nonetheless. We need to remove it for the
5564 ;; generated .asd to load properly. See trivia.trivial for a
5565 ;; similar problem.
5566 (lambda* (#:key outputs #:allow-other-keys)
5567 (let* ((out (assoc-ref outputs "out"))
5568 (asd (string-append out "/lib/sbcl/cxml.asd")))
5569 (substitute* asd
5570 ((" :components
5571")
5572 ""))
5573 (substitute* asd
5574 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5575 ""))))))))))
5576
5577(define-public cl-cxml
5578 (sbcl-package->cl-source-package sbcl-cxml))
5579
5580(define-public sbcl-cl-reexport
5581 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5582 (revision "1"))
5583 (package
5584 (name "sbcl-cl-reexport")
5585 (build-system asdf-build-system/sbcl)
5586 (version (git-version "0.1" revision commit))
5587 (home-page "https://github.com/takagi/cl-reexport")
5588 (source
5589 (origin
5590 (method git-fetch)
5591 (uri (git-reference
5592 (url home-page)
5593 (commit commit)))
5594 (file-name (git-file-name name version))
5595 (sha256
5596 (base32
5597 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5598 (inputs
5599 `(("alexandria" ,sbcl-alexandria)))
5600 (arguments
5601 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5602 `(#:tests? #f))
5603 (synopsis "HTTP cookie manager for Common Lisp")
5604 (description "cl-cookie is a Common Lisp library featuring parsing of
5605cookie headers, cookie creation, cookie jar creation and more.")
5606 (license license:llgpl))))
5607
5608(define-public cl-reexport
5609 (sbcl-package->cl-source-package sbcl-cl-reexport))
5610
5611(define-public sbcl-cl-cookie
5612 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5613 (revision "1"))
5614 (package
5615 (name "sbcl-cl-cookie")
5616 (build-system asdf-build-system/sbcl)
5617 (version (git-version "0.9.10" revision commit))
5618 (home-page "https://github.com/fukamachi/cl-cookie")
5619 (source
5620 (origin
5621 (method git-fetch)
5622 (uri (git-reference
5623 (url home-page)
5624 (commit commit)))
5625 (file-name (git-file-name name version))
5626 (sha256
5627 (base32
5628 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5629 (inputs
5630 `(("proc-parse" ,sbcl-proc-parse)
5631 ("alexandria" ,sbcl-alexandria)
5632 ("quri" ,sbcl-quri)
5633 ("cl-ppcre" ,sbcl-cl-ppcre)
5634 ("local-time" ,sbcl-local-time)))
5635 (native-inputs
5636 `(("prove-asdf" ,sbcl-prove-asdf)
5637 ("prove" ,sbcl-prove)))
5638 (arguments
5639 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5640 `(#:tests? #f))
5641 (synopsis "HTTP cookie manager for Common Lisp")
5642 (description "cl-cookie is a Common Lisp library featuring parsing of
5643cookie headers, cookie creation, cookie jar creation and more.")
5644 (license license:bsd-2))))
5645
5646(define-public cl-cookie
5647 (sbcl-package->cl-source-package sbcl-cl-cookie))
5648
5649(define-public sbcl-dexador
5650 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5651 (revision "1"))
5652 (package
5653 (name "sbcl-dexador")
5654 (build-system asdf-build-system/sbcl)
5655 (version (git-version "0.9.10" revision commit))
5656 (home-page "https://github.com/fukamachi/dexador")
5657 (source
5658 (origin
5659 (method git-fetch)
5660 (uri (git-reference
5661 (url home-page)
5662 (commit commit)))
5663 (file-name (git-file-name name version))
5664 (sha256
5665 (base32
5666 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5667 (inputs
5668 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5669 ("babel" ,sbcl-babel)
5670 ("usocket" ,sbcl-usocket)
5671 ("fast-http" ,sbcl-fast-http)
5672 ("quri" ,sbcl-quri)
5673 ("fast-io" ,sbcl-fast-io)
5674 ("chunga" ,sbcl-chunga)
5675 ("cl-ppcre" ,sbcl-cl-ppcre)
5676 ("cl-cookie" ,sbcl-cl-cookie)
5677 ("trivial-mimes" ,sbcl-trivial-mimes)
5678 ("chipz" ,sbcl-chipz)
5679 ("cl-base64" ,sbcl-cl-base64)
5680 ("cl-reexport" ,sbcl-cl-reexport)
5681 ("cl+ssl" ,sbcl-cl+ssl)
5682 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5683 ("alexandria" ,sbcl-alexandria)))
5684 (native-inputs
5685 `(("prove" ,sbcl-prove)
5686 ("prove-asdf" ,sbcl-prove-asdf)
5687 ("lack-request" ,sbcl-lack-request)
5688 ("clack" ,sbcl-clack)
5689 ("babel" ,sbcl-babel)
5690 ("alexandria" ,sbcl-alexandria)
5691 ("cl-ppcre" ,sbcl-cl-ppcre)
5692 ("local-time" ,sbcl-local-time)))
5693 (arguments
5694 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5695 `(#:tests? #f
5696 #:phases
5697 (modify-phases %standard-phases
5698 (add-after 'unpack 'fix-permissions
5699 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5700 (synopsis "Yet another HTTP client for Common Lisp")
5701 (description "Dexador is yet another HTTP client for Common Lisp with
5702neat APIs and connection-pooling. It is meant to supersede Drakma.")
5703 (license license:expat))))
5704
5705(define-public cl-dexador
5706 (package
5707 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5708 (arguments
5709 `(#:phases
5710 ;; asdf-build-system/source has its own phases and does not inherit
5711 ;; from asdf-build-system/sbcl phases.
5712 (modify-phases %standard-phases/source
5713 (add-after 'unpack 'fix-permissions
5714 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5715
5716(define-public ecl-dexador
5717 (sbcl-package->ecl-package sbcl-dexador))
5718
5719(define-public sbcl-lisp-namespace
5720 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5721 (revision "1"))
5722 (package
5723 (name "sbcl-lisp-namespace")
5724 (build-system asdf-build-system/sbcl)
5725 (version (git-version "0.1" revision commit))
5726 (home-page "https://github.com/guicho271828/lisp-namespace")
5727 (source
5728 (origin
5729 (method git-fetch)
5730 (uri (git-reference
5731 (url home-page)
5732 (commit commit)))
5733 (file-name (git-file-name name version))
5734 (sha256
5735 (base32
5736 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5737 (inputs
5738 `(("alexandria" ,sbcl-alexandria)))
5739 (native-inputs
5740 `(("fiveam" ,sbcl-fiveam)))
5741 (arguments
5742 `(#:test-asd-file "lisp-namespace.test.asd"
5743 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5744 #:tests? #f))
5745 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5746 (description "Common Lisp already has major 2 namespaces, function
5747namespace and value namespace (or variable namespace), but there are actually
5748more — e.g., class namespace.
5749This library offers macros to deal with symbols from any namespace.")
5750 (license license:llgpl))))
5751
5752(define-public cl-lisp-namespace
5753 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5754
5755(define-public sbcl-trivial-cltl2
5756 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5757 (revision "1"))
5758 (package
5759 (name "sbcl-trivial-cltl2")
5760 (build-system asdf-build-system/sbcl)
5761 (version (git-version "0.1.1" revision commit))
5762 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5763 (source
5764 (origin
5765 (method git-fetch)
5766 (uri (git-reference
5767 (url home-page)
5768 (commit commit)))
5769 (file-name (git-file-name name version))
5770 (sha256
5771 (base32
5772 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5773 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5774 (description "This library is a portable compatibility layer around
5775\"Common Lisp the Language, 2nd
5776Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5777and it exports symbols from implementation-specific packages.")
5778 (license license:llgpl))))
5779
5780(define-public cl-trivial-cltl2
5781 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5782
5783(define-public sbcl-introspect-environment
5784 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5785 (revision "1"))
5786 (package
5787 (name "sbcl-introspect-environment")
5788 (build-system asdf-build-system/sbcl)
5789 (version (git-version "0.1" revision commit))
5790 (home-page "https://github.com/Bike/introspect-environment")
5791 (source
5792 (origin
5793 (method git-fetch)
5794 (uri (git-reference
5795 (url home-page)
5796 (commit commit)))
5797 (file-name (git-file-name name version))
5798 (sha256
5799 (base32
5800 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5801 (native-inputs
5802 `(("fiveam" ,sbcl-fiveam)))
5803 (synopsis "Common Lisp environment introspection portability layer")
5804 (description "This library is a small interface to portable but
5805nonstandard introspection of Common Lisp environments. It is intended to
5806allow a bit more compile-time introspection of environments in Common Lisp.
5807
5808Quite a bit of information is available at the time a macro or compiler-macro
5809runs; inlining info, type declarations, that sort of thing. This information
5810is all standard - any Common Lisp program can @code{(declare (integer x))} and
5811such.
5812
5813This info ought to be accessible through the standard @code{&environment}
5814parameters, but it is not. Several implementations keep the information for
5815their own purposes but do not make it available to user programs, because
5816there is no standard mechanism to do so.
5817
5818This library uses implementation-specific hooks to make information available
5819to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5820implementations have implementations of the functions that do as much as they
5821can and/or provide reasonable defaults.")
5822 (license license:wtfpl2))))
5823
5824(define-public cl-introspect-environment
5825 (sbcl-package->cl-source-package sbcl-introspect-environment))
5826
5827(define-public sbcl-type-i
5828 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5829 (revision "1"))
5830 (package
5831 (name "sbcl-type-i")
5832 (build-system asdf-build-system/sbcl)
5833 (version (git-version "0.1" revision commit))
5834 (home-page "https://github.com/guicho271828/type-i")
5835 (source
5836 (origin
5837 (method git-fetch)
5838 (uri (git-reference
5839 (url home-page)
5840 (commit commit)))
5841 (file-name (git-file-name name version))
5842 (sha256
5843 (base32
5844 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5845 (inputs
5846 `(("alexandria" ,sbcl-alexandria)
5847 ("introspect-environment" ,sbcl-introspect-environment)
5848 ("trivia.trivial" ,sbcl-trivia.trivial)))
5849 (native-inputs
5850 `(("fiveam" ,sbcl-fiveam)))
5851 (arguments
5852 `(#:test-asd-file "type-i.test.asd"))
5853 (synopsis "Type inference utility on unary predicates for Common Lisp")
5854 (description "This library tries to provide a way to detect what kind of
5855type the given predicate is trying to check. This is different from inferring
5856the return type of a function.")
5857 (license license:llgpl))))
5858
5859(define-public cl-type-i
5860 (sbcl-package->cl-source-package sbcl-type-i))
5861
5862(define-public sbcl-optima
5863 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5864 (revision "1"))
5865 (package
5866 (name "sbcl-optima")
5867 (build-system asdf-build-system/sbcl)
5868 (version (git-version "1.0" revision commit))
5869 (home-page "https://github.com/m2ym/optima")
5870 (source
5871 (origin
5872 (method git-fetch)
5873 (uri (git-reference
5874 (url home-page)
5875 (commit commit)))
5876 (file-name (git-file-name name version))
5877 (sha256
5878 (base32
5879 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5880 (inputs
5881 `(("alexandria" ,sbcl-alexandria)
5882 ("closer-mop" ,sbcl-closer-mop)))
5883 (native-inputs
5884 `(("eos" ,sbcl-eos)))
5885 (arguments
5886 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5887 `(#:tests? #f
5888 #:test-asd-file "optima.test.asd"))
5889 (synopsis "Optimized pattern matching library for Common Lisp")
5890 (description "Optima is a fast pattern matching library which uses
5891optimizing techniques widely used in the functional programming world.")
5892 (license license:expat))))
5893
5894(define-public cl-optima
5895 (sbcl-package->cl-source-package sbcl-optima))
5896
5897(define-public sbcl-fare-quasiquote
639b47e6
GLV
5898 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5899 (revision "1"))
5900 (package
5901 (name "sbcl-fare-quasiquote")
5902 (build-system asdf-build-system/sbcl)
5903 (version (git-version "1.0.1" revision commit))
5904 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5905 (source
5906 (origin
5907 (method git-fetch)
5908 (uri (git-reference
5909 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5910 "fare-quasiquote.git"))
5911 (commit commit)))
5912 (file-name (git-file-name name version))
5913 (sha256
5914 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5915 (inputs
5916 `(("fare-utils" ,sbcl-fare-utils)))
5917 (arguments
5918 ;; XXX: Circular dependencies: Tests depend on subsystems,
5919 ;; which depend on the main systems.
5920 `(#:tests? #f
5921 #:phases
5922 (modify-phases %standard-phases
5923 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5924 ;; commits after 1.0.0.5, but ASDF fails to read the
5925 ;; "-REVISION-COMMIT" part generated by Guix.
5926 (add-after 'unpack 'patch-requirement
5927 (lambda _
5928 (substitute* "fare-quasiquote.asd"
5929 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5930 "\"fare-utils\"")))))))
5931 (synopsis "Pattern-matching friendly implementation of quasiquote")
5932 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
5933quasiquote is enable matching of quasiquoted patterns, using Optima or
5934Trivia.")
639b47e6 5935 (license license:expat))))
88f06fd0
PN
5936
5937(define-public cl-fare-quasiquote
5938 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5939
5940(define-public sbcl-fare-quasiquote-optima
5941 (package
5942 (inherit sbcl-fare-quasiquote)
5943 (name "sbcl-fare-quasiquote-optima")
5944 (inputs
5945 `(("optima" ,sbcl-optima)
5946 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
5947 (arguments
5948 '(#:phases
5949 (modify-phases %standard-phases
5950 (add-after 'unpack 'patch-requirement
5951 (lambda _
5952 (substitute* "fare-quasiquote-optima.asd"
5953 (("\\(:version \"optima\" \"1\\.0\"\\)")
5954 "\"optima\""))
5955 #t)))))))
5956
5957(define-public cl-fare-quasiquote-optima
5958 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
5959
5960(define-public sbcl-fare-quasiquote-readtable
5961 (package
5962 (inherit sbcl-fare-quasiquote)
5963 (name "sbcl-fare-quasiquote-readtable")
5964 (inputs
5965 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
5966 ("named-readtables" ,sbcl-named-readtables)))
5967 (description "The main purpose of this n+2nd reimplementation of
5968quasiquote is enable matching of quasiquoted patterns, using Optima or
5969Trivia.
5970
5971This package uses fare-quasiquote with named-readtable.")))
5972
5973(define-public cl-fare-quasiquote-readtable
5974 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
5975
5976;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
5977(define-public sbcl-fare-quasiquote-extras
5978 (package
5979 (inherit sbcl-fare-quasiquote)
5980 (name "sbcl-fare-quasiquote-extras")
5981 (build-system asdf-build-system/sbcl)
5982 (inputs
5983 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
5984 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
5985 (arguments
5986 `(#:phases
5987 (modify-phases %standard-phases
5988 (replace 'build
5989 (lambda* (#:key outputs #:allow-other-keys)
5990 (let* ((out (assoc-ref outputs "out"))
5991 (lib (string-append out "/lib/" (%lisp-type))))
5992 (mkdir-p lib)
5993 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
5994 (make-file-writable
5995 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
5996 #t)))
5997 (add-after 'create-asd-file 'fix-asd-file
5998 (lambda* (#:key outputs #:allow-other-keys)
5999 (let* ((out (assoc-ref outputs "out"))
6000 (lib (string-append out "/lib/" (%lisp-type)))
6001 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6002 (substitute* asd
6003 ((":class")
6004 "")
6005 (("asdf/bundle:prebuilt-system")
6006 "")
6007 ((":components")
6008 "")
6009 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6010 "")))
6011 #t)))))
6012 (description "This library combines @code{fare-quasiquote-readtable} and
6013@code{fare-quasiquote-optima}.")))
6014
88f06fd0
PN
6015(define-public cl-fare-quasiquote-extras
6016 (package
6017 (inherit cl-fare-quasiquote)
6018 (name "cl-fare-quasiquote-extras")
6019 (build-system asdf-build-system/source)
6020 (propagated-inputs
6021 `(("fare-quasiquote" ,cl-fare-quasiquote)
6022 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6023 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6024 (description "This library combines @code{fare-quasiquote-readtable} and
6025@code{fare-quasiquote-optima}.")))
6026
6027(define-public sbcl-trivia.level0
463fb58f 6028 (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
88f06fd0
PN
6029 (revision "1"))
6030 (package
6031 (name "sbcl-trivia.level0")
6032 (build-system asdf-build-system/sbcl)
6033 (version (git-version "0.0.0" revision commit))
6034 (home-page "https://github.com/guicho271828/trivia")
6035 (source
6036 (origin
6037 (method git-fetch)
6038 (uri (git-reference
6039 (url home-page)
6040 (commit commit)))
6041 (file-name (git-file-name name version))
6042 (sha256
6043 (base32
463fb58f 6044 "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
88f06fd0
PN
6045 (inputs
6046 `(("alexandria" ,sbcl-alexandria)))
6047 (synopsis "Pattern matching in Common Lisp")
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 (license license:llgpl))))
6052
6053(define-public sbcl-trivia.level1
6054 (package
6055 (inherit sbcl-trivia.level0)
6056 (name "sbcl-trivia.level1")
6057 (inputs
6058 `(("trivia.level0" ,sbcl-trivia.level0)))
6059 (description "Trivia is a pattern matching compiler that is compatible
6060with Optima, another pattern matching library for Common Lisp. It is meant to
6061be faster and more extensible than Optima.
6062
6063This system contains the core patterns of Trivia.")))
6064
6065(define-public sbcl-trivia.level2
6066 (package
6067 (inherit sbcl-trivia.level0)
6068 (name "sbcl-trivia.level2")
6069 (inputs
6070 `(("trivia.level1" ,sbcl-trivia.level1)
6071 ("lisp-namespace" ,sbcl-lisp-namespace)
6072 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6073 ("closer-mop" ,sbcl-closer-mop)))
6074 (description "Trivia is a pattern matching compiler that is compatible
6075with Optima, another pattern matching library for Common Lisp. It is meant to
6076be faster and more extensible than Optima.
6077
6078This system contains a non-optimized pattern matcher compatible with Optima,
6079with extensible optimizer interface.")))
6080
6081(define-public sbcl-trivia.trivial
6082 (package
6083 (inherit sbcl-trivia.level0)
6084 (name "sbcl-trivia.trivial")
6085 (inputs
6086 `(("trivia.level2" ,sbcl-trivia.level2)))
6087 (arguments
6088 `(#:phases
6089 (modify-phases %standard-phases
6090 (replace 'create-asd-file
6091 (lambda* (#:key outputs inputs #:allow-other-keys)
6092 (let* ((out (assoc-ref outputs "out"))
6093 (lib (string-append out "/lib/" (%lisp-type)))
6094 (level2 (assoc-ref inputs "trivia.level2")))
6095 (mkdir-p lib)
6096 (install-file "trivia.trivial.asd" lib)
6097 ;; XXX: This .asd does not have any component and the build
6098 ;; system fails to work in this case. We should update the
6099 ;; build system to handle component-less .asd.
6100 ;; TODO: How do we append to file in Guile? It seems that
6101 ;; (open-file ... "a") gets a "Permission denied".
6102 (substitute* (string-append lib "/trivia.trivial.asd")
6103 (("\"\\)")
6104 (string-append "\")
6105
6106(progn (asdf/source-registry:ensure-source-registry)
6107 (setf (gethash
6108 \"trivia.level2\"
6109 asdf/source-registry:*source-registry*)
6110 #p\""
6111 level2
6112 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6113 (description "Trivia is a pattern matching compiler that is compatible
6114with Optima, another pattern matching library for Common Lisp. It is meant to
6115be faster and more extensible than Optima.
6116
6117This system contains the base level system of Trivia with a trivial optimizer.")))
6118
6119(define-public sbcl-trivia.balland2006
6120 (package
6121 (inherit sbcl-trivia.level0)
6122 (name "sbcl-trivia.balland2006")
6123 (inputs
6124 `(("trivia.trivial" ,sbcl-trivia.trivial)
6125 ("iterate" ,sbcl-iterate)
6126 ("type-i" ,sbcl-type-i)
6127 ("alexandria" ,sbcl-alexandria)))
6128 (arguments
6129 ;; Tests are done in trivia itself.
6130 `(#:tests? #f))
6131 (description "Trivia is a pattern matching compiler that is compatible
6132with Optima, another pattern matching library for Common Lisp. It is meant to
6133be faster and more extensible than Optima.
6134
6135This system contains the base level system of Trivia with a trivial optimizer.")))
6136
6137(define-public sbcl-trivia.ppcre
6138 (package
6139 (inherit sbcl-trivia.level0)
6140 (name "sbcl-trivia.ppcre")
6141 (inputs
6142 `(("trivia.trivial" ,sbcl-trivia.trivial)
6143 ("cl-ppcre" ,sbcl-cl-ppcre)))
6144 (description "Trivia is a pattern matching compiler that is compatible
6145with Optima, another pattern matching library for Common Lisp. It is meant to
6146be faster and more extensible than Optima.
6147
6148This system contains the PPCRE extension.")))
6149
6150(define-public sbcl-trivia.quasiquote
6151 (package
6152 (inherit sbcl-trivia.level0)
6153 (name "sbcl-trivia.quasiquote")
6154 (inputs
6155 `(("trivia.trivial" ,sbcl-trivia.trivial)
6156 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6157 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6158 (description "Trivia is a pattern matching compiler that is compatible
6159with Optima, another pattern matching library for Common Lisp. It is meant to
6160be faster and more extensible than Optima.
6161
6162This system contains the fare-quasiquote extension.")))
6163
6164(define-public sbcl-trivia.cffi
6165 (package
6166 (inherit sbcl-trivia.level0)
6167 (name "sbcl-trivia.cffi")
6168 (inputs
6169 `(("cffi" ,sbcl-cffi)
6170 ("trivia.trivial" ,sbcl-trivia.trivial)))
6171 (description "Trivia is a pattern matching compiler that is compatible
6172with Optima, another pattern matching library for Common Lisp. It is meant to
6173be faster and more extensible than Optima.
6174
6175This system contains the CFFI foreign slot access extension.")))
6176
6177(define-public sbcl-trivia
6178 (package
6179 (inherit sbcl-trivia.level0)
6180 (name "sbcl-trivia")
6181 (inputs
6182 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6183 (native-inputs
6184 `(("fiveam" ,sbcl-fiveam)
6185 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6186 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6187 ("trivia.cffi" ,sbcl-trivia.cffi)
6188 ("optima" ,sbcl-optima)))
6189 (arguments
6190 `(#:test-asd-file "trivia.test.asd"
6191 #:phases
6192 (modify-phases %standard-phases
6193 (add-after 'create-asd 'remove-component
6194 ;; XXX: The original .asd has no components, but our build system
6195 ;; creates an entry nonetheless. We need to remove it for the
6196 ;; generated .asd to load properly. See trivia.trivial for a
6197 ;; similar problem.
6198 (lambda* (#:key outputs #:allow-other-keys)
6199 (let* ((out (assoc-ref outputs "out"))
6200 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6201 (substitute* asd
6202 ((" :components
6203")
6204 ""))
6205 (substitute* asd
6206 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6207 ""))))))))
6208 (description "Trivia is a pattern matching compiler that is compatible
6209with Optima, another pattern matching library for Common Lisp. It is meant to
6210be faster and more extensible than Optima.")))
6211
6212(define-public cl-trivia
6213 (sbcl-package->cl-source-package sbcl-trivia))
6214
6215(define-public sbcl-mk-string-metrics
6216 (package
6217 (name "sbcl-mk-string-metrics")
6218 (version "0.1.2")
6219 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6220 (source (origin
6221 (method git-fetch)
6222 (uri (git-reference
6223 (url home-page)
6224 (commit version)))
6225 (sha256
6226 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6227 (file-name (git-file-name name version))))
6228 (build-system asdf-build-system/sbcl)
6229 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6230 (description "This library implements efficient algorithms that calculate
6231various string metrics in Common Lisp:
6232
6233@itemize
6234@item Damerau-Levenshtein distance
6235@item Hamming distance
6236@item Jaccard similarity coefficient
6237@item Jaro distance
6238@item Jaro-Winkler distance
6239@item Levenshtein distance
6240@item Normalized Damerau-Levenshtein distance
6241@item Normalized Levenshtein distance
6242@item Overlap coefficient
6243@end itemize\n")
6244 (license license:x11)))
6245
6246(define-public cl-mk-string-metrics
6247 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6248
6249(define-public sbcl-cl-str
6250 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6251 (package
6252 (name "sbcl-cl-str")
6253 (version (git-version "0.8" "1" commit))
6254 (home-page "https://github.com/vindarel/cl-str")
6255 (source (origin
6256 (method git-fetch)
6257 (uri (git-reference
6258 (url home-page)
6259 (commit commit)))
6260 (sha256
6261 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6262 (file-name (git-file-name name version))))
6263 (build-system asdf-build-system/sbcl)
6264 (inputs
6265 `(("cl-ppcre" ,sbcl-cl-ppcre)
6266 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6267 (native-inputs
6268 `(("prove" ,sbcl-prove)
6269 ("prove-asdf" ,sbcl-prove-asdf)))
6270 (arguments
6271 `(#:asd-file "str.asd"
6272 #:asd-system-name "str"
6273 #:test-asd-file "str.test.asd"))
6274 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6275 (description "A modern and consistent Common Lisp string manipulation
6276library that focuses on modernity, simplicity and discoverability:
6277@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6278@code{str:concat strings} instead of an unusual format construct; one
6279discoverable library instead of many; consistency and composability, where
6280@code{s} is always the last argument, which makes it easier to feed pipes and
6281arrows.")
6282 (license license:expat))))
6283
6284(define-public cl-str
6285 (sbcl-package->cl-source-package sbcl-cl-str))
6286
6287(define-public sbcl-cl-xmlspam
6288 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6289 (package
6290 (name "sbcl-cl-xmlspam")
6291 (build-system asdf-build-system/sbcl)
6292 (version (git-version "0.0.0" "1" commit))
6293 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6294 (source
6295 (origin
6296 (method git-fetch)
6297 (uri (git-reference
6298 (url home-page)
6299 (commit commit)))
6300 (file-name (string-append name "-" version))
6301 (sha256
6302 (base32
6303 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6304 (inputs
6305 `(("cxml" ,sbcl-cxml)
6306 ("cl-ppcre" ,sbcl-cl-ppcre)))
6307 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6308 (description "CXML does an excellent job at parsing XML elements, but what
6309do you do when you have a XML file that's larger than you want to fit in
6310memory, and you want to extract some information from it? Writing code to deal
6311with SAX events, or even using Klacks, quickly becomes tedious.
6312@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6313to write code that mirrors the structure of the XML that it's parsing. It
6314also makes it easy to shift paradigms when necessary - the usual Lisp control
6315constructs can be used interchangeably with pattern matching, and the full
6316power of CXML is available when necessary.")
6317 (license license:bsd-3))))
6318
6319;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6320;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6321;; asdf-build-system/sbcl.
6322(define-public cl-dbus
6323 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6324 (revision "1"))
6325 (package
6326 (name "cl-dbus")
6327 (build-system asdf-build-system/source)
6328 (version (git-version "20190408" revision commit))
6329 (home-page "https://github.com/death/dbus")
6330 (source
6331 (origin
6332 (method git-fetch)
6333 (uri (git-reference
6334 (url home-page)
6335 (commit commit)))
6336 (file-name (git-file-name name version))
6337 (sha256
6338 (base32
6339 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
6340 ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
6341 (propagated-inputs
6342 `(("alexandria" ,sbcl-alexandria)
6343 ("trivial-garbage" ,sbcl-trivial-garbage)
6344 ("babel" ,sbcl-babel)
6345 ("iolib" ,sbcl-iolib)
6346 ("iolib+multiplex" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+multiplex))
6347 ("iolib+syscalls" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+syscalls))
6348 ("iolib+streams" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+streams))
6349 ("iolib+sockets" ,(@@ (gnu packages lisp-xyz) sbcl-iolib+sockets))
6350 ("ieee-floats" ,sbcl-ieee-floats)
6351 ("flexi-streams" ,sbcl-flexi-streams)
6352 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6353 ("ironclad" ,sbcl-ironclad)))
6354 (synopsis "D-Bus client library for Common Lisp")
6355 (description "This is a Common Lisp library that allows to publish D-Bus
6356objects as well as send and notify other objects connected to a bus.")
6357 (license license:bsd-2))))
6358
6359(define-public sbcl-cl-hooks
6360 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6361 (revision "1"))
6362 (package
6363 (name "sbcl-cl-hooks")
6364 (build-system asdf-build-system/sbcl)
6365 (version (git-version "0.2.1" revision commit))
6366 (home-page "https://github.com/scymtym/architecture.hooks")
6367 (source
6368 (origin
6369 (method git-fetch)
6370 (uri (git-reference
6371 (url home-page)
6372 (commit commit)))
6373 (file-name (git-file-name name version))
6374 (sha256
6375 (base32
6376 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6377 (inputs
6378 `(("alexandria" ,sbcl-alexandria)
6379 ("let-plus" ,sbcl-let-plus)
6380 ("trivial-garbage" ,sbcl-trivial-garbage)
6381 ("closer-mop" ,sbcl-closer-mop)))
6382 (native-inputs
6383 `(("fiveam" ,sbcl-fiveam)))
6384 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6385 (description "A hook, in the present context, is a certain kind of
6386extension point in a program that allows interleaving the execution of
6387arbitrary code with the execution of a the program without introducing any
6388coupling between the two. Hooks are used extensively in the extensible editor
6389Emacs.
6390
6391In the Common LISP Object System (CLOS), a similar kind of extensibility is
6392possible using the flexible multi-method dispatch mechanism. It may even seem
6393that the concept of hooks does not provide any benefits over the possibilities
6394of CLOS. However, there are some differences:
6395
6396@itemize
6397
6398@item There can be only one method for each combination of specializers and
6399qualifiers. As a result this kind of extension point cannot be used by
6400multiple extensions independently.
6401@item Removing code previously attached via a @code{:before}, @code{:after} or
6402@code{:around} method can be cumbersome.
6403@item There could be other or even multiple extension points besides @code{:before}
6404and @code{:after} in a single method.
6405@item Attaching codes to individual objects using eql specializers can be
6406cumbersome.
6407@item Introspection of code attached a particular extension point is
6408cumbersome since this requires enumerating and inspecting the methods of a
6409generic function.
6410@end itemize
6411
6412This library tries to complement some of these weaknesses of method-based
6413extension-points via the concept of hooks.")
6414 (license license:llgpl))))
6415
6416(define-public cl-hooks
6417 (sbcl-package->cl-source-package sbcl-cl-hooks))
6418
6419(define-public ecl-cl-hooks
6420 (sbcl-package->ecl-package sbcl-cl-hooks))
6421
6422(define-public sbcl-s-sysdeps
6423 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6424 (revision "1"))
6425 (package
6426 (name "sbcl-s-sysdeps")
6427 (build-system asdf-build-system/sbcl)
6428 (version (git-version "1" revision commit))
6429 (home-page "https://github.com/svenvc/s-sysdeps")
6430 (source
6431 (origin
6432 (method git-fetch)
6433 (uri (git-reference
6434 (url home-page)
6435 (commit commit)))
6436 (file-name (git-file-name name version))
6437 (sha256
6438 (base32
6439 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6440 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6441 (description "@code{s-sysdeps} is an abstraction layer over platform
6442dependent functionality. This simple package is used as a building block in a
6443number of other open source projects.
6444
6445@code{s-sysdeps} abstracts:
6446
6447@itemize
6448@item managing processes,
6449@item implementing a standard TCP/IP server,
6450@item opening a client TCP/IP socket stream,
6451@item working with process locks.
6452@end itemize\n")
6453 (license license:llgpl))))
6454
6455(define-public cl-s-sysdeps
6456 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6457
6458(define-public ecl-s-sysdeps
6459 (sbcl-package->ecl-package sbcl-s-sysdeps))
6460
6461(define-public sbcl-cl-prevalence
6462 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6463 (revision "1"))
6464 (package
6465 (name "sbcl-cl-prevalence")
6466 (build-system asdf-build-system/sbcl)
6467 (version (git-version "5" revision commit))
6468 (home-page "https://github.com/40ants/cl-prevalence")
6469 (source
6470 (origin
6471 (method git-fetch)
6472 (uri (git-reference
6473 (url home-page)
6474 (commit commit)))
6475 (file-name (git-file-name name version))
6476 (sha256
6477 (base32
6478 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6479 (inputs
6480 `(("s-sysdeps" ,sbcl-s-sysdeps)
6481 ("s-xml" ,sbcl-s-xml)))
6482 (synopsis "Implementation of object prevalence for Common Lisp")
6483 (description "This Common Lisp library implements object prevalence (see
6484@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6485for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6486classes and cyclic data structures are supported.")
6487 (license license:llgpl))))
6488
6489(define-public cl-prevalence
6490 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6491
6492(define-public ecl-cl-prevalence
6493 (sbcl-package->ecl-package sbcl-cl-prevalence))
6494
6495(define-public sbcl-series
6496 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6497 (revision "1"))
6498 (package
6499 (name "sbcl-series")
6500 (version (git-version "2.2.11" revision commit))
6501 (source
6502 (origin
6503 (method git-fetch)
6504 (uri (git-reference
6505 (url "git://git.code.sf.net/p/series/series")
6506 (commit commit)))
6507 (file-name (git-file-name name version))
6508 (sha256
6509 (base32
6510 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6511 (build-system asdf-build-system/sbcl)
6512 (arguments
6513 ;; Disable the tests, they are apparently buggy and I didn't find
6514 ;; a simple way to make them run and pass.
6515 '(#:tests? #f))
6516 (synopsis "Series data structure for Common Lisp")
6517 (description
6518 "This Common Lisp library provides a series data structure much like
6519a sequence, with similar kinds of operations. The difference is that in many
6520situations, operations on series may be composed functionally and yet execute
6521iteratively, without the need to construct intermediate series values
6522explicitly. In this manner, series provide both the clarity of a functional
6523programming style and the efficiency of an iterative programming style.")
6524 (home-page "http://series.sourceforge.net/")
6525 (license license:expat))))
6526
6527(define-public cl-series
6528 (sbcl-package->cl-source-package sbcl-series))
6529
6530(define-public ecl-series
6531 (sbcl-package->ecl-package sbcl-series))
6532
6533(define-public sbcl-periods
6534 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6535 (revision "1"))
6536 (package
6537 (name "sbcl-periods")
6538 (version (git-version "0.0.2" revision commit))
6539 (source
6540 (origin
6541 (method git-fetch)
6542 (uri (git-reference
6543 (url "https://github.com/jwiegley/periods.git")
6544 (commit commit)))
6545 (file-name (git-file-name name version))
6546 (sha256
6547 (base32
6548 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6549 (build-system asdf-build-system/sbcl)
6550 (inputs
6551 `(("local-time" ,sbcl-local-time)))
6552 (synopsis "Common Lisp library for manipulating date/time objects")
6553 (description
6554 "Periods is a Common Lisp library providing a set of utilities for
6555manipulating times, distances between times, and both contiguous and
6556discontiguous ranges of time.")
6557 (home-page "https://github.com/jwiegley/periods")
6558 (license license:bsd-3))))
6559
6560(define-public cl-periods
6561 (sbcl-package->cl-source-package sbcl-periods))
6562
6563(define-public ecl-periods
6564 (sbcl-package->ecl-package sbcl-periods))
6565
6566(define-public sbcl-periods-series
6567 (package
6568 (inherit sbcl-periods)
6569 (name "sbcl-periods-series")
6570 (inputs
6571 `(("periods" ,sbcl-periods)
6572 ("series" ,sbcl-series)))
6573 (arguments
6574 '(#:asd-file "periods-series.asd"
6575 #:asd-system-name "periods-series"))
6576 (description
6577 "Periods-series is an extension of the periods Common Lisp library
6578providing functions compatible with the series Common Lisp library.")))
6579
6580(define-public cl-periods-series
6581 (sbcl-package->cl-source-package sbcl-periods-series))
6582
6583(define-public ecl-periods-series
6584 (sbcl-package->ecl-package sbcl-periods-series))
6585
6586(define-public sbcl-metatilities-base
6587 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6588 (revision "1"))
6589 (package
6590 (name "sbcl-metatilities-base")
6591 (version (git-version "0.6.6" revision commit))
6592 (source
6593 (origin
6594 (method git-fetch)
6595 (uri (git-reference
6596 (url "https://github.com/gwkkwg/metatilities-base.git")
6597 (commit commit)))
6598 (file-name (git-file-name name version))
6599 (sha256
6600 (base32
6601 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6602 (build-system asdf-build-system/sbcl)
6603 (native-inputs
6604 `(("lift" ,sbcl-lift)))
6605 (synopsis "Core of the metatilities Common Lisp library")
6606 (description
6607 "Metatilities-base is the core of the metatilities Common Lisp library
6608which implements a set of utilities.")
6609 (home-page "https://common-lisp.net/project/metatilities-base/")
6610 (license license:expat))))
6611
6612(define-public cl-metatilities-base
6613 (sbcl-package->cl-source-package sbcl-metatilities-base))
6614
6615(define-public ecl-metatilities-base
6616 (sbcl-package->ecl-package sbcl-metatilities-base))
6617
6618(define-public sbcl-cl-containers
6619 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
6620 (revision "1"))
6621 (package
6622 (name "sbcl-cl-containers")
6623 (version (git-version "0.12.1" revision commit))
6624 (source
6625 (origin
6626 (method git-fetch)
6627 (uri (git-reference
6628 (url "https://github.com/gwkkwg/cl-containers.git")
6629 (commit commit)))
6630 (file-name (git-file-name name version))
6631 (sha256
6632 (base32
6633 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
6634 (build-system asdf-build-system/sbcl)
6635 (native-inputs
6636 `(("lift" ,sbcl-lift)))
6637 (inputs
6638 `(("metatilities-base" ,sbcl-metatilities-base)))
6639 (arguments
6640 '(#:phases
6641 (modify-phases %standard-phases
6642 (add-after 'unpack 'relax-version-checks
6643 (lambda _
6644 (substitute* "cl-containers.asd"
6645 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6646 "\"metatilities-base\""))
6647 (substitute* "cl-containers-test.asd"
6648 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6649 "\"lift\""))
6650 #t)))))
6651 (synopsis "Container library for Common Lisp")
6652 (description
6653 "Common Lisp ships with a set of powerful built in data structures
6654including the venerable list, full featured arrays, and hash-tables.
6655CL-containers enhances and builds on these structures by adding containers
6656that are not available in native Lisp (for example: binary search trees,
6657red-black trees, sparse arrays and so on), and by providing a standard
6658interface so that they are simpler to use and so that changing design
6659decisions becomes significantly easier.")
6660 (home-page "https://common-lisp.net/project/cl-containers/")
6661 (license license:expat))))
6662
6663(define-public cl-containers
6664 (sbcl-package->cl-source-package sbcl-cl-containers))
6665
6666(define-public ecl-cl-containers
6667 (sbcl-package->ecl-package sbcl-cl-containers))
6668
6669(define-public sbcl-xlunit
6670 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6671 (revision "1"))
6672 (package
6673 (name "sbcl-xlunit")
6674 (version (git-version "0.6.3" revision commit))
6675 (source
6676 (origin
6677 (method git-fetch)
6678 (uri (git-reference
6679 (url "http://git.kpe.io/xlunit.git")
6680 (commit commit)))
6681 (file-name (git-file-name name version))
6682 (sha256
6683 (base32
6684 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6685 (build-system asdf-build-system/sbcl)
6686 (arguments
6687 '(#:phases
6688 (modify-phases %standard-phases
6689 (add-after 'unpack 'fix-tests
6690 (lambda _
6691 (substitute* "xlunit.asd"
6692 ((" :force t") ""))
6693 #t)))))
6694 (synopsis "Unit testing package for Common Lisp")
6695 (description
6696 "The XLUnit package is a toolkit for building test suites. It is based
6697on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6698 (home-page "http://quickdocs.org/xlunit/")
6699 (license license:bsd-3))))
6700
6701(define-public cl-xlunit
6702 (sbcl-package->cl-source-package sbcl-xlunit))
6703
6704(define-public ecl-xlunit
6705 (sbcl-package->ecl-package sbcl-xlunit))
6706
6707(define-public sbcl-fprog
6708 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6709 (revision "1"))
6710 (package
6711 (name "sbcl-fprog")
6712 (version (git-version "1.0.0" revision commit))
6713 (source
6714 (origin
6715 (method git-fetch)
6716 (uri (git-reference
6717 (url "https://github.com/jwiegley/cambl.git")
6718 (commit commit)))
6719 (file-name (git-file-name name version))
6720 (sha256
6721 (base32
6722 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6723 (build-system asdf-build-system/sbcl)
6724 (synopsis "Functional programming utilities for Common Lisp")
6725 (description
6726 "@code{fprog} is a Common Lisp library allowing iteration over
6727immutable lists sharing identical sublists.")
6728 (home-page "https://github.com/jwiegley/cambl")
6729 (license license:bsd-3))))
6730
6731(define-public cl-fprog
6732 (sbcl-package->cl-source-package sbcl-fprog))
6733
6734(define-public ecl-fprog
6735 (sbcl-package->ecl-package sbcl-fprog))
6736
6737(define-public sbcl-cambl
6738 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6739 (revision "1"))
6740 (package
6741 (inherit sbcl-fprog)
6742 (name "sbcl-cambl")
6743 (version (git-version "4.0.0" revision commit))
6744 (native-inputs
6745 `(("xlunit" ,sbcl-xlunit)))
6746 (inputs
6747 `(("alexandria" ,sbcl-alexandria)
6748 ("cl-containers" ,sbcl-cl-containers)
6749 ("local-time" ,sbcl-local-time)
6750 ("periods" ,sbcl-periods)
6751 ("fprog" ,sbcl-fprog)))
6752 (synopsis "Commoditized amounts and balances for Common Lisp")
6753 (description
6754 "CAMBL is a Common Lisp library providing a convenient facility for
6755working with commoditized values. It does not allow compound units (and so is
6756not suited for scientific operations) but does work rather nicely for the
6757purpose of financial calculations."))))
6758
6759(define-public cl-cambl
6760 (sbcl-package->cl-source-package sbcl-cambl))
6761
6762(define-public ecl-cambl
6763 (sbcl-package->ecl-package sbcl-cambl))
6764
6765(define-public sbcl-cl-ledger
6766 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6767 (revision "1"))
6768 (package
6769 (name "sbcl-cl-ledger")
6770 (version (git-version "4.0.0" revision commit))
6771 (source
6772 (origin
6773 (method git-fetch)
6774 (uri (git-reference
6775 (url "https://github.com/ledger/cl-ledger.git")
6776 (commit commit)))
6777 (file-name (git-file-name name version))
6778 (sha256
6779 (base32
6780 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6781 (build-system asdf-build-system/sbcl)
6782 (inputs
6783 `(("cambl" ,sbcl-cambl)
6784 ("cl-ppcre" ,sbcl-cl-ppcre)
6785 ("local-time" ,sbcl-local-time)
6786 ("periods-series" ,sbcl-periods-series)))
6787 (arguments
6788 '(#:phases
6789 (modify-phases %standard-phases
6790 (add-after 'unpack 'fix-system-definition
6791 (lambda _
6792 (substitute* "cl-ledger.asd"
6793 ((" :build-operation program-op") "")
6794 ((" :build-pathname \"cl-ledger\"") "")
6795 ((" :entry-point \"ledger::main\"") ""))
6796 #t)))))
6797 (synopsis "Common Lisp port of the Ledger accounting system")
6798 (description
6799 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6800system.")
6801 (home-page "https://github.com/ledger/cl-ledger")
6802 (license license:bsd-3))))
6803
6804(define-public cl-ledger
6805 (sbcl-package->cl-source-package sbcl-cl-ledger))
6806
6807(define-public ecl-cl-ledger
6808 (sbcl-package->ecl-package sbcl-cl-ledger))
6809
6810(define-public sbcl-bst
6811 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6812 (revision "1"))
6813 (package
6814 (name "sbcl-bst")
6815 (version (git-version "1.1" revision commit))
6816 (source
6817 (origin
6818 (method git-fetch)
6819 (uri (git-reference
6820 (url "https://github.com/glv2/bst.git")
6821 (commit commit)))
6822 (file-name (git-file-name name version))
6823 (sha256
6824 (base32
6825 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6826 (build-system asdf-build-system/sbcl)
6827 (native-inputs
6828 `(("alexandria" ,sbcl-alexandria)
6829 ("fiveam" ,sbcl-fiveam)))
6830 (synopsis "Binary search tree for Common Lisp")
6831 (description
6832 "BST is a Common Lisp library for working with binary search trees that
6833can contain any kind of values.")
6834 (home-page "https://github.com/glv2/bst")
6835 (license license:gpl3))))
6836
6837(define-public cl-bst
6838 (sbcl-package->cl-source-package sbcl-bst))
6839
6840(define-public ecl-bst
6841 (sbcl-package->ecl-package sbcl-bst))
6842
6843(define-public sbcl-cl-octet-streams
6844 (package
6845 (name "sbcl-cl-octet-streams")
6846 (version "1.0")
6847 (source
6848 (origin
6849 (method git-fetch)
6850 (uri (git-reference
6851 (url "https://github.com/glv2/cl-octet-streams.git")
6852 (commit (string-append "v" version))))
6853 (file-name (git-file-name name version))
6854 (sha256
6855 (base32
6856 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6857 (build-system asdf-build-system/sbcl)
6858 (native-inputs
6859 `(("fiveam" ,sbcl-fiveam)))
6860 (inputs
6861 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6862 (synopsis "In-memory octet streams for Common Lisp")
6863 (description
6864 "CL-octet-streams is a library implementing in-memory octet
6865streams for Common Lisp. It was inspired by the trivial-octet-streams and
6866cl-plumbing libraries.")
6867 (home-page "https://github.com/glv2/cl-octet-streams")
6868 (license license:gpl3+)))
6869
6870(define-public cl-octet-streams
6871 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6872
6873(define-public ecl-cl-octet-streams
6874 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6875
6876(define-public sbcl-lzlib
6877 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6878 (revision "1"))
6879 (package
6880 (name "sbcl-lzlib")
6881 (version (git-version "1.0" revision commit))
6882 (source
6883 (origin
6884 (method git-fetch)
6885 (uri (git-reference
6886 (url "https://github.com/glv2/cl-lzlib.git")
6887 (commit commit)))
6888 (file-name (git-file-name name version))
6889 (sha256
6890 (base32
6891 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6892 (build-system asdf-build-system/sbcl)
6893 (native-inputs
6894 `(("fiveam" ,sbcl-fiveam)))
6895 (inputs
6896 `(("cffi" ,sbcl-cffi)
6897 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6898 ("lzlib" ,lzlib)))
6899 (arguments
6900 '(#:phases
6901 (modify-phases %standard-phases
6902 (add-after 'unpack 'fix-paths
6903 (lambda* (#:key inputs #:allow-other-keys)
6904 (substitute* "src/lzlib.lisp"
6905 (("liblz\\.so")
6906 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6907 #t)))))
6908 (synopsis "Common Lisp library for lzip (de)compression")
6909 (description
6910 "This Common Lisp library provides functions for lzip (LZMA)
6911compression/decompression using bindings to the lzlib C library.")
6912 (home-page "https://github.com/glv2/cl-lzlib")
6913 (license license:gpl3+))))
6914
6915(define-public cl-lzlib
6916 (sbcl-package->cl-source-package sbcl-lzlib))
6917
6918(define-public ecl-lzlib
6919 (sbcl-package->ecl-package sbcl-lzlib))
6920
6921(define-public sbcl-chanl
00a9a936
GLV
6922 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6923 (revision "1"))
88f06fd0
PN
6924 (package
6925 (name "sbcl-chanl")
6926 (version (git-version "0.4.1" revision commit))
6927 (source
6928 (origin
6929 (method git-fetch)
6930 (uri (git-reference
6931 (url "https://github.com/zkat/chanl.git")
6932 (commit commit)))
6933 (file-name (git-file-name name version))
6934 (sha256
6935 (base32
00a9a936 6936 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
6937 (build-system asdf-build-system/sbcl)
6938 (native-inputs
6939 `(("fiveam" ,sbcl-fiveam)))
6940 (inputs
6941 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6942 (synopsis "Portable channel-based concurrency for Common Lisp")
6943 (description "Common Lisp library for channel-based concurrency. In
6944a nutshell, you create various threads sequentially executing tasks you need
6945done, and use channel objects to communicate and synchronize the state of these
6946threads.")
6947 (home-page "https://github.com/zkat/chanl")
6948 (license (list license:expat license:bsd-3)))))
6949
6950(define-public cl-chanl
6951 (sbcl-package->cl-source-package sbcl-chanl))
6952
6953(define-public ecl-chanl
00a9a936 6954 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
6955
6956(define-public sbcl-cl-store
1896256d
BG
6957 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6958 (revision "1"))
88f06fd0
PN
6959 (package
6960 (name "sbcl-cl-store")
6961 (version (git-version "0.8.11" revision commit))
6962 (source
6963 (origin
6964 (method git-fetch)
6965 (uri (git-reference
6966 (url "https://github.com/skypher/cl-store.git")
6967 (commit commit)))
6968 (file-name (git-file-name name version))
6969 (sha256
6970 (base32
1896256d 6971 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
6972 (build-system asdf-build-system/sbcl)
6973 (native-inputs
6974 `(("rt" ,sbcl-rt)))
6975 (synopsis "Common Lisp library to serialize data")
6976 (description
6977 "CL-STORE is a portable serialization package which should give you the
6978ability to store all Common Lisp data types into streams.")
630a4b77 6979 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
6980 (license license:expat))))
6981
6982(define-public cl-store
6983 (sbcl-package->cl-source-package sbcl-cl-store))
6984
6985(define-public ecl-cl-store
6986 (sbcl-package->ecl-package sbcl-cl-store))
6987
6988(define-public sbcl-cl-gobject-introspection
6989 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
6990 (revision "0"))
6991 (package
6992 (name "sbcl-cl-gobject-introspection")
6993 (version (git-version "0.3" revision commit))
6994 (home-page "https://github.com/andy128k/cl-gobject-introspection")
6995 (source
6996 (origin
6997 (method git-fetch)
6998 (uri (git-reference
6999 (url home-page)
7000 (commit commit)))
7001 (file-name (git-file-name name version))
7002 (sha256
7003 (base32
7004 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7005 (build-system asdf-build-system/sbcl)
7006 (inputs
7007 `(("alexandria" ,sbcl-alexandria)
7008 ("cffi" ,sbcl-cffi)
7009 ("iterate" ,sbcl-iterate)
7010 ("trivial-garbage" ,sbcl-trivial-garbage)
7011 ("glib" ,glib)
7012 ("gobject-introspection" ,gobject-introspection)))
7013 (native-inputs
7014 `(("fiveam" ,sbcl-fiveam)))
7015 (arguments
7016 ;; TODO: Tests fail, see
7017 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7018 '(#:tests? #f
7019 #:phases
7020 (modify-phases %standard-phases
7021 (add-after (quote unpack) (quote fix-paths)
7022 (lambda* (#:key inputs #:allow-other-keys)
7023 (substitute* "src/init.lisp"
7024 (("libgobject-2\\.0\\.so")
7025 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7026 (("libgirepository-1\\.0\\.so")
7027 (string-append (assoc-ref inputs "gobject-introspection")
7028 "/lib/libgirepository-1.0.so")))
7029 #t)))))
7030 (synopsis "Common Lisp bindings to GObject Introspection")
7031 (description
7032 "This library is a bridge between Common Lisp and GObject
7033Introspection, which enables Common Lisp programs to access the full interface
7034of C+GObject libraries without the need of writing dedicated bindings.")
7035 (license (list license:bsd-3
7036 ;; Tests are under a different license.
7037 license:llgpl)))))
7038
7039(define-public cl-gobject-introspection
7040 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7041
7042(define-public sbcl-string-case
7043 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7044 (revision "0"))
7045 (package
7046 (name "sbcl-string-case")
7047 (version (git-version "0.0.2" revision commit))
7048 (home-page "https://github.com/pkhuong/string-case")
7049 (source
7050 (origin
7051 (method git-fetch)
7052 (uri (git-reference
7053 (url home-page)
7054 (commit commit)))
7055 (file-name (git-file-name name version))
7056 (sha256
7057 (base32
7058 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7059 (build-system asdf-build-system/sbcl)
7060 (synopsis "Efficient string= case in Common Lisp")
7061 (description
7062 "@code{string-case} is a Common Lisp macro that generates specialised decision
7063trees to dispatch on string equality.")
7064 (license license:bsd-3))))
7065
7066(define-public cl-string-case
7067 (sbcl-package->cl-source-package sbcl-string-case))
7068
7069(define-public ecl-string-case
7070 (sbcl-package->ecl-package sbcl-string-case))
7071
7072(define-public sbcl-global-vars
7073 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7074 (revision "0"))
7075 (package
7076 (name "sbcl-global-vars")
7077 (version (git-version "1.0.0" revision commit))
7078 (home-page "https://github.com/lmj/global-vars")
7079 (source
7080 (origin
7081 (method git-fetch)
7082 (uri (git-reference
7083 (url home-page)
7084 (commit commit)))
7085 (file-name (git-file-name name version))
7086 (sha256
7087 (base32
7088 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7089 (build-system asdf-build-system/sbcl)
7090 (synopsis "Efficient global variables in Common Lisp")
7091 (description
7092 "In Common Lisp, a special variable that is never dynamically bound
7093typically serves as a stand-in for a global variable. The @code{global-vars}
7094library provides true global variables that are implemented by some compilers.
7095An attempt to rebind a global variable properly results in a compiler error.
7096That is, a global variable cannot be dynamically bound.
7097
7098Global variables therefore allow us to communicate an intended usage that
7099differs from special variables. Global variables are also more efficient than
7100special variables, especially in the presence of threads.")
7101 (license license:expat))))
7102
7103(define-public cl-global-vars
7104 (sbcl-package->cl-source-package sbcl-global-vars))
7105
7106(define-public ecl-global-vars
7107 (sbcl-package->ecl-package sbcl-global-vars))
7108
7109(define-public sbcl-trivial-file-size
7110 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7111 (revision "0"))
7112 (package
7113 (name "sbcl-trivial-file-size")
7114 (version (git-version "0.0.0" revision commit))
7115 (home-page "https://github.com/ruricolist/trivial-file-size")
7116 (source
7117 (origin
7118 (method git-fetch)
7119 (uri (git-reference
7120 (url home-page)
7121 (commit commit)))
7122 (file-name (git-file-name name version))
7123 (sha256
7124 (base32
7125 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7126 (build-system asdf-build-system/sbcl)
7127 (native-inputs
7128 `(("fiveam" ,sbcl-fiveam)))
7129 (synopsis "Size of a file in bytes in Common Lisp")
7130 (description
7131 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7132is to open the file with an element type of (unsigned-byte 8) and then
7133calculate the length of the stream. This is less than ideal. In most cases
7134it is better to get the size of the file from its metadata, using a system
7135call.
7136
7137This library exports a single function, file-size-in-octets. It returns the
7138size of a file in bytes, using system calls when possible.")
7139 (license license:expat))))
7140
7141(define-public cl-trivial-file-size
7142 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7143
7144(define-public ecl-trivial-file-size
7145 (sbcl-package->ecl-package sbcl-trivial-file-size))
7146
7147(define-public sbcl-trivial-macroexpand-all
7148 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7149 (revision "0"))
7150 (package
7151 (name "sbcl-trivial-macroexpand-all")
7152 (version (git-version "0.0.0" revision commit))
7153 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7154 (source
7155 (origin
7156 (method git-fetch)
7157 (uri (git-reference
7158 (url home-page)
7159 (commit commit)))
7160 (file-name (git-file-name name version))
7161 (sha256
7162 (base32
7163 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7164 (build-system asdf-build-system/sbcl)
7165 (native-inputs
7166 `(("fiveam" ,sbcl-fiveam)))
7167 (synopsis "Portable macroexpand-all for Common Lisp")
7168 (description
7169 "This library provides a macroexpand-all function that calls the
7170implementation specific equivalent.")
7171 (license license:unlicense))))
7172
7173(define-public cl-trivial-macroexpand-all
7174 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7175
7176(define-public ecl-trivial-macroexpand-all
7177 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7178
7179(define-public sbcl-serapeum
7180 (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
7181 (revision "0"))
7182 (package
7183 (name "sbcl-serapeum")
7184 (version (git-version "0.0.0" revision commit))
7185 (home-page "https://github.com/ruricolist/serapeum")
7186 (source
7187 (origin
7188 (method git-fetch)
7189 (uri (git-reference
7190 (url home-page)
7191 (commit commit)))
7192 (file-name (git-file-name name version))
7193 (sha256
7194 (base32
7195 "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
7196 (build-system asdf-build-system/sbcl)
7197 (inputs
7198 `(("alexandria" ,sbcl-alexandria)
7199 ("trivia" ,sbcl-trivia)
7200 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7201 ("split-sequence" ,sbcl-split-sequence)
7202 ("string-case" ,sbcl-string-case)
7203 ("parse-number" ,sbcl-parse-number)
7204 ("trivial-garbage" ,sbcl-trivial-garbage)
7205 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7206 ("named-readtables" ,sbcl-named-readtables)
8137983a 7207 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7208 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7209 ("global-vars" ,sbcl-global-vars)
7210 ("trivial-file-size" ,sbcl-trivial-file-size)
7211 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7212 (native-inputs
7213 `(("fiveam" ,sbcl-fiveam)
7214 ("local-time" ,sbcl-local-time)))
7215 (arguments
7216 '(#:phases
7217 (modify-phases %standard-phases
7218 (add-after 'unpack 'disable-failing-tests
7219 (lambda* (#:key inputs #:allow-other-keys)
7220 (substitute* "serapeum.asd"
7221 ;; Guix does not have Quicklisp, and probably never will.
7222 (("\\(:file \"quicklisp\"\\)") ""))
7223 #t)))))
7224 (synopsis "Common Lisp utility library beyond Alexandria")
7225 (description
7226 "Serapeum is a conservative library of Common Lisp utilities. It is a
7227supplement, not a competitor, to Alexandria.")
7228 (license license:expat))))
7229
7230(define-public cl-serapeum
7231 (sbcl-package->cl-source-package sbcl-serapeum))
7232
7233(define-public sbcl-arrows
7234 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7235 (revision "0"))
7236 (package
7237 (name "sbcl-arrows")
7238 (version (git-version "0.2.0" revision commit))
7239 (source
7240 (origin
7241 (method git-fetch)
7242 (uri (git-reference
7243 (url "https://gitlab.com/Harleqin/arrows.git")
7244 (commit commit)))
7245 (file-name (git-file-name name version))
7246 (sha256
7247 (base32
7248 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7249 (build-system asdf-build-system/sbcl)
7250 (native-inputs
7251 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7252 (synopsis "Clojure-like arrow macros for Common Lisp")
7253 (description
7254 "This library implements the @code{->} and @code{->>} macros from
7255Clojure, as well as several expansions on the idea.")
7256 (home-page "https://gitlab.com/Harleqin/arrows")
7257 (license license:public-domain))))
7258
7259(define-public cl-arrows
7260 (sbcl-package->cl-source-package sbcl-arrows))
7261
7262(define-public ecl-arrows
7263 (sbcl-package->ecl-package sbcl-arrows))
7264
7265(define-public sbcl-simple-parallel-tasks
7266 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7267 (revision "0"))
7268 (package
7269 (name "sbcl-simple-parallel-tasks")
7270 (version (git-version "1.0" revision commit))
7271 (source
7272 (origin
7273 (method git-fetch)
7274 (uri (git-reference
7275 (url "https://github.com/glv2/simple-parallel-tasks.git")
7276 (commit commit)))
7277 (file-name (git-file-name name version))
7278 (sha256
7279 (base32
7280 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7281 (build-system asdf-build-system/sbcl)
7282 (native-inputs
7283 `(("fiveam" ,sbcl-fiveam)))
7284 (inputs
7285 `(("chanl" ,sbcl-chanl)))
7286 (synopsis "Common Lisp library to evaluate some forms in parallel")
7287 (description "This is a simple Common Lisp library to evaluate some
7288forms in parallel.")
7289 (home-page "https://github.com/glv2/simple-parallel-tasks")
7290 (license license:gpl3))))
7291
7292(define-public cl-simple-parallel-tasks
7293 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7294
7295(define-public ecl-simple-parallel-tasks
7296 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7297
7298(define-public sbcl-cl-heap
7299 (package
7300 (name "sbcl-cl-heap")
7301 (version "0.1.6")
7302 (source
7303 (origin
7304 (method url-fetch)
7305 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7306 "cl-heap_" version ".tar.gz"))
7307 (sha256
7308 (base32
7309 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7310 (build-system asdf-build-system/sbcl)
7311 (native-inputs
7312 `(("xlunit" ,sbcl-xlunit)))
7313 (arguments
7314 `(#:test-asd-file "cl-heap-tests.asd"))
7315 (synopsis "Heap and priority queue data structures for Common Lisp")
7316 (description
7317 "CL-HEAP provides various implementations of heap data structures (a
7318binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7319 (home-page "https://common-lisp.net/project/cl-heap/")
7320 (license license:gpl3+)))
7321
7322(define-public cl-heap
7323 (sbcl-package->cl-source-package sbcl-cl-heap))
7324
7325(define-public ecl-cl-heap
7326 (sbcl-package->ecl-package sbcl-cl-heap))
7327
7328(define-public sbcl-curry-compose-reader-macros
7329 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7330 (revision "0"))
7331 (package
7332 (name "sbcl-curry-compose-reader-macros")
7333 (version (git-version "1.0.0" revision commit))
7334 (source
7335 (origin
7336 (method git-fetch)
7337 (uri
7338 (git-reference
7339 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7340 (commit commit)))
7341 (file-name (git-file-name name version))
7342 (sha256
7343 (base32
7344 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7345 (build-system asdf-build-system/sbcl)
7346 (inputs
7347 `(("alexandria" ,sbcl-alexandria)
7348 ("named-readtables" ,sbcl-named-readtables)))
7349 (synopsis "Reader macros for partial application and composition")
7350 (description
7351 "This Common Lisp library provides reader macros for concise expression
7352of function partial application and composition.")
7353 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7354 (license license:public-domain))))
7355
7356(define-public cl-curry-compose-reader-macros
7357 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7358
7359(define-public ecl-curry-compose-reader-macros
7360 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7361
7362(define-public sbcl-yason
7363 (package
7364 (name "sbcl-yason")
7365 (version "0.7.7")
7366 (source
7367 (origin
7368 (method git-fetch)
7369 (uri (git-reference
7370 (url "https://github.com/phmarek/yason.git")
7371 (commit (string-append "v" version))))
7372 (file-name (git-file-name name version))
7373 (sha256
7374 (base32
7375 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7376 (build-system asdf-build-system/sbcl)
7377 (inputs
7378 `(("alexandria" ,sbcl-alexandria)
7379 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7380 (synopsis "Common Lisp JSON parser/encoder")
7381 (description
7382 "YASON is a Common Lisp library for encoding and decoding data in the
7383JSON interchange format.")
7384 (home-page "https://github.com/phmarek/yason")
7385 (license license:bsd-3)))
7386
7387(define-public cl-yason
7388 (sbcl-package->cl-source-package sbcl-yason))
7389
7390(define-public ecl-yason
7391 (sbcl-package->ecl-package sbcl-yason))
7392
7393(define-public sbcl-stefil
7394 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7395 (revision "0"))
7396 (package
7397 (name "sbcl-stefil")
7398 (version (git-version "0.1" revision commit))
7399 (source
7400 (origin
7401 (method git-fetch)
7402 (uri (git-reference
7403 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7404 (commit commit)))
7405 (file-name (git-file-name name version))
7406 (sha256
7407 (base32
7408 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7409 (build-system asdf-build-system/sbcl)
7410 (inputs
7411 `(("alexandria" ,sbcl-alexandria)
7412 ("iterate" ,sbcl-iterate)
7413 ("metabang-bind" ,sbcl-metabang-bind)))
7414 (propagated-inputs
7415 ;; Swank doesn't have a pre-compiled package, therefore we must
7416 ;; propagate its sources.
7417 `(("swank" ,cl-slime-swank)))
7418 (arguments
7419 '(#:phases
7420 (modify-phases %standard-phases
7421 (add-after 'unpack 'drop-unnecessary-dependency
7422 (lambda _
7423 (substitute* "package.lisp"
7424 ((":stefil-system") ""))
7425 #t)))))
7426 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7427 (synopsis "Simple test framework")
7428 (description
7429 "Stefil is a simple test framework for Common Lisp, with a focus on
7430interactive development.")
7431 (license license:public-domain))))
7432
7433(define-public cl-stefil
7434 (sbcl-package->cl-source-package sbcl-stefil))
7435
7436(define-public sbcl-graph
7437 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7438 (revision "0"))
7439 (package
7440 (name "sbcl-graph")
7441 (version (git-version "0.0.0" revision commit))
7442 (source
7443 (origin
7444 (method git-fetch)
7445 (uri
7446 (git-reference
7447 (url "https://github.com/eschulte/graph.git")
7448 (commit commit)))
7449 (file-name (git-file-name name version))
7450 (sha256
7451 (base32
7452 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7453 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7454 (build-system asdf-build-system/sbcl)
7455 (native-inputs
7456 `(("stefil" ,sbcl-stefil)))
7457 (inputs
7458 `(("alexandria" ,sbcl-alexandria)
7459 ("cl-heap" ,sbcl-cl-heap)
7460 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7461 ("metabang-bind" ,sbcl-metabang-bind)
7462 ("named-readtables" ,sbcl-named-readtables)))
7463 (arguments
17c015c9 7464 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7465 (synopsis "Graph data structure and algorithms for Common Lisp")
7466 (description
7467 "The GRAPH Common Lisp library provides a data structures to represent
7468graphs, as well as some graph manipulation and analysis algorithms (shortest
7469path, maximum flow, minimum spanning tree, etc.).")
7470 (home-page "https://eschulte.github.io/graph/")
7471 (license license:gpl3+))))
7472
7473(define-public cl-graph
7474 (sbcl-package->cl-source-package sbcl-graph))
7475
7476(define-public sbcl-graph-dot
7477 (package
7478 (inherit sbcl-graph)
7479 (name "sbcl-graph-dot")
7480 (inputs
7481 `(("alexandria" ,sbcl-alexandria)
7482 ("cl-ppcre" ,sbcl-cl-ppcre)
7483 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7484 ("graph" ,sbcl-graph)
7485 ("metabang-bind" ,sbcl-metabang-bind)
7486 ("named-readtables" ,sbcl-named-readtables)))
7487 (arguments
7488 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7489 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7490 ((#:asd-system-name _ #f) "graph-dot")))
7491 (synopsis "Serialize graphs to and from DOT format")))
7492
7493(define-public sbcl-graph-json
7494 (package
7495 (inherit sbcl-graph)
7496 (name "sbcl-graph-json")
7497 (inputs
7498 `(("alexandria" ,sbcl-alexandria)
7499 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7500 ("graph" ,sbcl-graph)
7501 ("metabang-bind" ,sbcl-metabang-bind)
7502 ("named-readtables" ,sbcl-named-readtables)
7503 ("yason" ,sbcl-yason)))
7504 (arguments
7505 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7506 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7507 ((#:asd-system-name _ #f) "graph-json")))
7508 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7509
7510(define-public sbcl-trivial-indent
7511 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7512 (revision "0"))
7513 (package
7514 (name "sbcl-trivial-indent")
7515 (version (git-version "1.0.0" revision commit))
7516 (source
7517 (origin
7518 (method git-fetch)
7519 (uri
7520 (git-reference
7521 (url "https://github.com/Shinmera/trivial-indent")
7522 (commit commit)))
7523 (file-name (git-file-name name version))
7524 (sha256
7525 (base32
7526 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7527 (build-system asdf-build-system/sbcl)
7528 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7529 (description
7530 "This library allows you to define custom indentation hints for your
7531macros if the one recognised by SLIME automatically produces unwanted
7532results.")
7533 (home-page "https://shinmera.github.io/trivial-indent/")
7534 (license license:zlib))))
7535
7536(define-public cl-trivial-indent
7537 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7538
7539(define-public sbcl-documentation-utils
7540 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7541 (revision "0"))
7542 (package
7543 (name "sbcl-documentation-utils")
7544 (version (git-version "1.2.0" revision commit))
7545 (source
7546 (origin
7547 (method git-fetch)
7548 (uri
7549 (git-reference
7550 (url "https://github.com/Shinmera/documentation-utils.git")
7551 (commit commit)))
7552 (file-name (git-file-name name version))
7553 (sha256
7554 (base32
7555 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7556 (build-system asdf-build-system/sbcl)
7557 (inputs
7558 `(("trivial-indent" ,sbcl-trivial-indent)))
7559 (synopsis "Few simple tools to document Common Lisp libraries")
7560 (description
7561 "This is a small library to help you with managing the Common Lisp
7562docstrings for your library.")
7563 (home-page "https://shinmera.github.io/documentation-utils/")
7564 (license license:zlib))))
7565
7566(define-public cl-documentation-utils
7567 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7568
281537f4
GLV
7569(define-public ecl-documentation-utils
7570 (sbcl-package->ecl-package sbcl-documentation-utils))
7571
aa47c9e7
PN
7572(define-public sbcl-form-fiddle
7573 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7574 (revision "0"))
7575 (package
7576 (name "sbcl-form-fiddle")
7577 (version (git-version "1.1.0" revision commit))
7578 (source
7579 (origin
7580 (method git-fetch)
7581 (uri
7582 (git-reference
7583 (url "https://github.com/Shinmera/form-fiddle")
7584 (commit commit)))
7585 (file-name (git-file-name name version))
7586 (sha256
7587 (base32
7588 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7589 (build-system asdf-build-system/sbcl)
7590 (inputs
7591 `(("documentation-utils" ,sbcl-documentation-utils)))
7592 (synopsis "Utilities to destructure Common Lisp lambda forms")
7593 (description
7594 "Often times we need to destructure a form definition in a Common Lisp
7595macro. This library provides a set of simple utilities to help with that.")
7596 (home-page "https://shinmera.github.io/form-fiddle/")
7597 (license license:zlib))))
7598
7599(define-public cl-form-fiddle
7600 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7601
7602(define-public sbcl-parachute
7603 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7604 (revision "0"))
7605 (package
7606 (name "sbcl-parachute")
7607 (version (git-version "1.1.1" revision commit))
7608 (source
7609 (origin
7610 (method git-fetch)
7611 (uri
7612 (git-reference
7613 (url "https://github.com/Shinmera/parachute")
7614 (commit commit)))
7615 (file-name (git-file-name name version))
7616 (sha256
7617 (base32
7618 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7619 (build-system asdf-build-system/sbcl)
7620 (inputs
7621 `(("documentation-utils" ,sbcl-documentation-utils)
7622 ("form-fiddle" ,sbcl-form-fiddle)))
7623 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7624 (description
7625 "Parachute is a simple-to-use and extensible testing framework.
7626In Parachute, things are organised as a bunch of named tests within a package.
7627Each test can contain a bunch of test forms that make up its body.")
7628 (home-page "https://shinmera.github.io/parachute/")
7629 (license license:zlib))))
7630
7631(define-public cl-parachute
7632 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7633
7634(define-public sbcl-array-utils
7635 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7636 (revision "0"))
7637 (package
7638 (name "sbcl-array-utils")
7639 (version (git-version "1.1.1" revision commit))
7640 (source
7641 (origin
7642 (method git-fetch)
7643 (uri
7644 (git-reference
7645 (url "https://github.com/Shinmera/array-utils")
7646 (commit commit)))
7647 (file-name (git-file-name name version))
7648 (sha256
7649 (base32
7650 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7651 (build-system asdf-build-system/sbcl)
7652 (native-inputs
7653 `(("parachute" ,sbcl-parachute)))
7654 (inputs
7655 `(("documentation-utils" ,sbcl-documentation-utils)))
7656 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7657 (description
7658 "A miniature toolkit that contains some useful shifting/popping/pushing
7659functions for arrays and vectors. Originally from Plump.")
7660 (home-page "https://shinmera.github.io/array-utils/")
7661 (license license:zlib))))
7662
7663(define-public cl-array-utils
7664 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7665
7666(define-public sbcl-plump
7667 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7668 (revision "0"))
7669 (package
7670 (name "sbcl-plump")
7671 (version (git-version "2.0.0" revision commit))
7672 (source
7673 (origin
7674 (method git-fetch)
7675 (uri
7676 (git-reference
7677 (url "https://github.com/Shinmera/plump")
7678 (commit commit)))
7679 (file-name (git-file-name name version))
7680 (sha256
7681 (base32
7682 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7683 (build-system asdf-build-system/sbcl)
7684 (inputs
7685 `(("array-utils" ,sbcl-array-utils)
7686 ("documentation-utils" ,sbcl-documentation-utils)))
7687 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7688 (description
7689 "Plump is a parser for HTML/XML-like documents, focusing on being
7690lenient towards invalid markup. It can handle things like invalid attributes,
7691bad closing tag order, unencoded entities, inexistent tag types, self-closing
7692tags and so on. It parses documents to a class representation and offers a
7693small set of DOM functions to manipulate it. It can be extended to parse to
7694your own classes.")
7695 (home-page "https://shinmera.github.io/plump/")
7696 (license license:zlib))))
7697
7698(define-public cl-plump
7699 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7700
7701(define-public sbcl-antik-base
7702 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7703 (revision "1"))
7704 (package
7705 (name "sbcl-antik-base")
7706 (version (git-version "0.0.0" revision commit))
7707 (source
7708 (origin
7709 (method git-fetch)
7710 (uri (git-reference
7711 (url "https://gitlab.common-lisp.net/antik/antik.git")
7712 (commit commit)))
7713 (file-name (git-file-name name version))
7714 (sha256
7715 (base32
7716 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7717 (build-system asdf-build-system/sbcl)
7718 (inputs
7719 `(("alexandria" ,sbcl-alexandria)
7720 ("cl-ppcre" ,sbcl-cl-ppcre)
7721 ("iterate" ,sbcl-iterate)
7722 ("metabang-bind" ,sbcl-metabang-bind)
7723 ("named-readtables" ,sbcl-named-readtables)
7724 ("split-sequence" ,sbcl-split-sequence)))
7725 (native-inputs
7726 `(("lisp-unit" ,sbcl-lisp-unit)))
7727 (synopsis "Scientific and engineering computation in Common Lisp")
7728 (description
7729 "Antik provides a foundation for scientific and engineering
7730computation in Common Lisp. It is designed not only to facilitate
7731numerical computations, but to permit the use of numerical computation
7732libraries and the interchange of data and procedures, whether
7733foreign (non-Lisp) or Lisp libraries. It is named after the
7734Antikythera mechanism, one of the oldest examples of a scientific
7735computer known.")
7736 (home-page "https://common-lisp.net/project/antik/")
7737 (license license:gpl3))))
7738
7739(define-public cl-antik-base
7740 (sbcl-package->cl-source-package sbcl-antik-base))
7741
7742(define-public ecl-antik-base
7743 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7744
7745(define-public sbcl-foreign-array
7746 (package
7747 (inherit sbcl-antik-base)
7748 (name "sbcl-foreign-array")
7749 (arguments
7750 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7751 ((#:asd-file _ "") "foreign-array.asd")
7752 ((#:asd-system-name _ #f) "foreign-array")))
7753 (inputs
7754 `(("antik-base" ,sbcl-antik-base)
7755 ("cffi" ,sbcl-cffi)
7756 ("trivial-garbage" ,sbcl-trivial-garbage)
7757 ("static-vectors" ,sbcl-static-vectors)))
7758 (synopsis "Common Lisp library providing access to foreign arrays")))
7759
7760(define-public cl-foreign-array
7761 (sbcl-package->cl-source-package sbcl-foreign-array))
7762
7763(define-public ecl-foreign-array
7764 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7765
7766(define-public sbcl-physical-dimension
7767 (package
7768 (inherit sbcl-antik-base)
7769 (name "sbcl-physical-dimension")
7770 (inputs
7771 `(("fare-utils" ,sbcl-fare-utils)
7772 ("foreign-array" ,sbcl-foreign-array)
7773 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7774 (arguments
7775 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7776 ((#:asd-file _ "") "physical-dimension.asd")
7777 ((#:asd-system-name _ #f) "physical-dimension")))
7778 (synopsis
7779 "Common Lisp library providing computations with physical units")))
7780
7781(define-public cl-physical-dimension
7782 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7783
7784(define-public sbcl-science-data
7785 (package
7786 (inherit sbcl-antik-base)
7787 (name "sbcl-science-data")
7788 (inputs
7789 `(("physical-dimension" ,sbcl-physical-dimension)
7790 ("drakma" ,sbcl-drakma)))
7791 (arguments
7792 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7793 ((#:asd-file _ "") "science-data.asd")
7794 ((#:asd-system-name _ #f) "science-data")))
7795 (synopsis
7796 "Common Lisp library for scientific and engineering numerical data")))
7797
7798(define-public cl-science-data
7799 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7800
7801(define-public sbcl-gsll
7802 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7803 (revision "1"))
7804 (package
7805 (name "sbcl-gsll")
7806 (version (git-version "0.0.0" revision commit))
7807 (source
7808 (origin
7809 (method git-fetch)
7810 (uri (git-reference
7811 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7812 (commit commit)))
7813 (file-name (git-file-name name version))
7814 (sha256
7815 (base32
7816 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7817 (build-system asdf-build-system/sbcl)
7818 (native-inputs
7819 `(("lisp-unit" ,sbcl-lisp-unit)))
7820 (inputs
7821 `(("alexandria" ,sbcl-alexandria)
7822 ("cffi-grovel" ,sbcl-cffi-grovel)
7823 ("cffi-libffi" ,sbcl-cffi-libffi)
7824 ("foreign-array" ,sbcl-foreign-array)
7825 ("gsl" ,gsl)
7826 ("metabang-bind" ,sbcl-metabang-bind)
7827 ("trivial-features" ,sbcl-trivial-features)
7828 ("trivial-garbage" ,sbcl-trivial-garbage)))
7829 (arguments
7830 `(#:tests? #f
7831 #:phases
7832 (modify-phases %standard-phases
7833 (add-after 'unpack 'fix-cffi-paths
7834 (lambda* (#:key inputs #:allow-other-keys)
7835 (substitute* "gsll.asd"
7836 ((":depends-on \\(#:foreign-array")
7837 ":depends-on (#:foreign-array #:cffi-libffi"))
7838 (substitute* "init/init.lisp"
7839 (("libgslcblas.so" all)
7840 (string-append
7841 (assoc-ref inputs "gsl") "/lib/" all)))
7842 (substitute* "init/init.lisp"
7843 (("libgsl.so" all)
7844 (string-append
7845 (assoc-ref inputs "gsl") "/lib/" all))))))))
7846 (synopsis "GNU Scientific Library for Lisp")
7847 (description
7848 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7849GNU Scientific Library (GSL) from Common Lisp. This library provides a
7850full range of common mathematical operations useful to scientific and
7851engineering applications. The design of the GSLL interface is such
7852that access to most of the GSL library is possible in a Lisp-natural
7853way; the intent is that the user not be hampered by the restrictions
7854of the C language in which GSL has been written. GSLL thus provides
7855interactive use of GSL for getting quick answers, even for someone not
7856intending to program in Lisp.")
7857 (home-page "https://common-lisp.net/project/gsll/")
7858 (license license:gpl3))))
7859
7860(define-public cl-gsll
7861 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7862
7863(define-public sbcl-antik
7864 (package
7865 (inherit sbcl-antik-base)
7866 (name "sbcl-antik")
7867 (inputs
7868 `(("gsll" ,sbcl-gsll)
7869 ("physical-dimension" ,sbcl-physical-dimension)))
7870 (arguments
7871 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7872 ((#:asd-file _ "") "antik.asd")
7873 ((#:asd-system-name _ #f) "antik")))))
7874
7875(define-public cl-antik
7876 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7877
7878(define-public sbcl-cl-interpol
7879 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7880 (revision "1"))
7881 (package
7882 (name "sbcl-cl-interpol")
7883 (version (git-version "0.2.6" revision commit))
7884 (source
7885 (origin
7886 (method git-fetch)
7887 (uri (git-reference
7888 (url "https://github.com/edicl/cl-interpol.git")
7889 (commit commit)))
7890 (file-name (git-file-name name version))
7891 (sha256
7892 (base32
7893 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7894 (build-system asdf-build-system/sbcl)
7895 (inputs
7896 `(("cl-unicode" ,sbcl-cl-unicode)
7897 ("named-readtables" ,sbcl-named-readtables)))
7898 (native-inputs
7899 `(("flexi-streams" ,sbcl-flexi-streams)))
7900 (synopsis "String interpolation for Common Lisp")
7901 (description
7902 "CL-INTERPOL is a library for Common Lisp which modifies the
7903reader so that you can have interpolation within strings similar to
7904Perl or Unix Shell scripts. It also provides various ways to insert
7905arbitrary characters into literal strings even if your editor/IDE
7906doesn't support them.")
7907 (home-page "https://edicl.github.io/cl-interpol/")
7908 (license license:bsd-3))))
7909
7910(define-public cl-interpol
7911 (sbcl-package->cl-source-package sbcl-cl-interpol))
7912
7913(define-public ecl-cl-interpol
7914 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7915
7916(define sbcl-symbol-munger-boot0
7917 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7918 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7919 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7920 (revision "1"))
7921 (package
7922 (name "sbcl-symbol-munger-boot0")
7923 (version (git-version "0.0.1" revision commit))
7924 (source
7925 (origin
7926 (method git-fetch)
7927 (uri (git-reference
7928 (url "https://github.com/AccelerationNet/symbol-munger.git")
7929 (commit commit)))
7930 (file-name (git-file-name name version))
7931 (sha256
7932 (base32
7933 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7934 (build-system asdf-build-system/sbcl)
7935 (arguments
7936 `(#:asd-file "symbol-munger.asd"
7937 #:asd-system-name "symbol-munger"))
7938 (inputs
7939 `(("iterate" ,sbcl-iterate)
7940 ("alexandria" ,sbcl-alexandria)))
7941 (native-inputs
7942 `(("lisp-unit" ,sbcl-lisp-unit)))
7943 (synopsis
7944 "Capitalization and spacing conversion functions for Common Lisp")
7945 (description
7946 "This is a Common Lisp library to change the capitalization and spacing
7947of a string or a symbol. It can convert to and from Lisp, english, underscore
7948and camel-case rules.")
7949 (home-page "https://github.com/AccelerationNet/symbol-munger")
7950 ;; The package declares a BSD license, but all of the license
7951 ;; text is MIT.
7952 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7953 (license license:expat))))
7954
7955(define sbcl-lisp-unit2-boot0
7956 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7957 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7958 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7959 (revision "1"))
7960 (package
7961 (name "sbcl-lisp-unit2-boot0")
7962 (version (git-version "0.2.0" revision commit))
7963 (source
7964 (origin
7965 (method git-fetch)
7966 (uri (git-reference
7967 (url "https://github.com/AccelerationNet/lisp-unit2.git")
7968 (commit commit)))
7969 (file-name (git-file-name name version))
7970 (sha256
7971 (base32
7972 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
7973 (build-system asdf-build-system/sbcl)
7974 (arguments
7975 `(#:asd-file "lisp-unit2.asd"
7976 #:asd-system-name "lisp-unit2"))
7977 (inputs
7978 `(("alexandria" ,sbcl-alexandria)
7979 ("cl-interpol" ,sbcl-cl-interpol)
7980 ("iterate" ,sbcl-iterate)
7981 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
7982 (synopsis "Test Framework for Common Lisp")
7983 (description
7984 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
7985style of JUnit for Java. It is a new version of the lisp-unit library written
7986by Chris Riesbeck.")
7987 (home-page "https://github.com/AccelerationNet/lisp-unit2")
7988 (license license:expat))))
edfa2261
KCB
7989
7990(define-public sbcl-symbol-munger
7991 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
7992 (revision "1"))
7993 (package
7994 (name "sbcl-symbol-munger")
7995 (version (git-version "0.0.1" revision commit))
7996 (source
7997 (origin
7998 (method git-fetch)
7999 (uri (git-reference
8000 (url "https://github.com/AccelerationNet/symbol-munger.git")
8001 (commit commit)))
8002 (file-name (git-file-name name version))
8003 (sha256
8004 (base32
8005 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8006 (build-system asdf-build-system/sbcl)
8007 (inputs
8008 `(("alexandria" ,sbcl-alexandria)
8009 ("iterate" ,sbcl-iterate)))
8010 (native-inputs
8011 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8012 (synopsis
8013 "Capitalization and spacing conversion functions for Common Lisp")
8014 (description
8015 "This is a Common Lisp library to change the capitalization and spacing
8016of a string or a symbol. It can convert to and from Lisp, english, underscore
8017and camel-case rules.")
8018 (home-page "https://github.com/AccelerationNet/symbol-munger")
8019 ;; The package declares a BSD license, but all of the license
8020 ;; text is MIT.
8021 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8022 (license license:expat))))
8023
8024(define-public cl-symbol-munger
8025 (sbcl-package->cl-source-package sbcl-symbol-munger))
8026
8027(define-public ecl-symbol-munger
8028 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8029
8030(define-public sbcl-lisp-unit2
8031 (package
8032 (inherit sbcl-lisp-unit2-boot0)
8033 (name "sbcl-lisp-unit2")
8034 (inputs
8035 `(("alexandria" ,sbcl-alexandria)
8036 ("cl-interpol" ,sbcl-cl-interpol)
8037 ("iterate" ,sbcl-iterate)
8038 ("symbol-munger" ,sbcl-symbol-munger)))))
8039
8040(define-public cl-lisp-unit2
8041 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8042
8043(define-public ecl-lisp-unit2
8044 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8045
8046(define-public sbcl-cl-csv
8047 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8048 (revision "1"))
8049 (package
8050 (name "sbcl-cl-csv")
8051 (version (git-version "1.0.6" revision commit))
8052 (source
8053 (origin
8054 (method git-fetch)
8055 (uri (git-reference
8056 (url "https://github.com/AccelerationNet/cl-csv.git")
8057 (commit commit)))
8058 (file-name (git-file-name name version))
8059 (sha256
8060 (base32
8061 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8062 (build-system asdf-build-system/sbcl)
8063 (arguments
8064 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8065 `(#:tests? #f))
8066 (inputs
8067 `(("alexandria" ,sbcl-alexandria)
8068 ("cl-interpol" ,sbcl-cl-interpol)
8069 ("iterate" ,sbcl-iterate)))
8070 (native-inputs
8071 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8072 (synopsis "Common lisp library for comma-separated values")
8073 (description
8074 "This is a Common Lisp library providing functions to read/write CSV
8075from/to strings, streams and files.")
8076 (home-page "https://github.com/AccelerationNet/cl-csv")
8077 (license license:bsd-3))))
8078
8079(define-public cl-csv
8080 (sbcl-package->cl-source-package sbcl-cl-csv))
8081
8082(define-public ecl-cl-csv
8083 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8084
8085(define-public sbcl-external-program
8086 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8087 (revision "1"))
8088 (package
8089 (name "sbcl-external-program")
8090 (version (git-version "0.0.6" revision commit))
8091 (source
8092 (origin
8093 (method git-fetch)
8094 (uri (git-reference
8095 (url "https://github.com/sellout/external-program.git")
8096 (commit commit)))
8097 (file-name (git-file-name name version))
8098 (sha256
8099 (base32
8100 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8101 (build-system asdf-build-system/sbcl)
8102 (inputs
8103 `(("trivial-features" ,sbcl-trivial-features)))
8104 (native-inputs
8105 `(("fiveam" ,sbcl-fiveam)))
8106 (synopsis "Common Lisp library for running external programs")
8107 (description
8108 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8109process. It is an attempt to make the RUN-PROGRAM functionality in
8110implementations like SBCL and CCL as portable as possible without
8111sacrificing much in the way of power.")
8112 (home-page "https://github.com/sellout/external-program")
8113 (license license:llgpl))))
8114
8115(define-public cl-external-program
8116 (sbcl-package->cl-source-package sbcl-external-program))
8117
8118(define-public ecl-external-program
8119 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8120
8121(define sbcl-cl-ana-boot0
8122 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8123 (revision "1"))
8124 (package
8125 (name "sbcl-cl-ana-boot0")
8126 (version (git-version "0.0.0" revision commit))
8127 (source
8128 (origin
8129 (method git-fetch)
8130 (uri (git-reference
8131 (url "https://github.com/ghollisjr/cl-ana.git")
8132 (commit commit)))
8133 (file-name (git-file-name name version))
8134 (sha256
8135 (base32
8136 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8137 (build-system asdf-build-system/sbcl)
8138 (synopsis "Common Lisp data analysis library")
8139 (description
8140 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8141binned data analysis along with nonlinear least squares fitting and
8142visualization.")
8143 (home-page "https://github.com/ghollisjr/cl-ana")
8144 (license license:gpl3))))
8145
8146(define-public sbcl-cl-ana.pathname-utils
8147 (package
8148 (inherit sbcl-cl-ana-boot0)
8149 (name "sbcl-cl-ana.pathname-utils")
8150 (arguments
8151 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8152 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8153 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8154
8155(define-public cl-ana.pathname-utils
8156 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8157
8158(define-public ecl-cl-ana.pathname-utils
8159 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8160
8161(define-public sbcl-cl-ana.package-utils
8162 (package
8163 (inherit sbcl-cl-ana-boot0)
8164 (name "sbcl-cl-ana.package-utils")
8165 (inputs
8166 `(("alexandria" ,sbcl-alexandria)))
8167 (arguments
8168 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8169 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8170 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8171
8172(define-public cl-ana.package-utils
8173 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8174
8175(define-public ecl-cl-ana.package-utils
8176 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8177
8178(define-public sbcl-cl-ana.string-utils
8179 (package
8180 (inherit sbcl-cl-ana-boot0)
8181 (name "sbcl-cl-ana.string-utils")
8182 (inputs
8183 `(("split-sequence" ,sbcl-split-sequence)))
8184 (arguments
8185 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8186 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8187 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8188
8189(define-public cl-ana.string-utils
8190 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8191
8192(define-public ecl-cl-ana.string-utils
8193 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8194
8195(define-public sbcl-cl-ana.functional-utils
8196 (package
8197 (inherit sbcl-cl-ana-boot0)
8198 (name "sbcl-cl-ana.functional-utils")
8199 (arguments
8200 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8201 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8202 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8203
8204(define-public cl-ana.functional-utils
8205 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8206
8207(define-public ecl-cl-ana.functional-utils
8208 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8209
8210(define-public sbcl-cl-ana.list-utils
8211 (package
8212 (inherit sbcl-cl-ana-boot0)
8213 (name "sbcl-cl-ana.list-utils")
8214 (inputs
8215 `(("alexandria" ,sbcl-alexandria)
8216 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8217 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8218 (arguments
8219 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8220 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8221 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8222
8223(define-public cl-ana.list-utils
8224 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8225
8226(define-public ecl-cl-ana.list-utils
8227 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8228
8229(define-public sbcl-cl-ana.generic-math
8230 (package
8231 (inherit sbcl-cl-ana-boot0)
8232 (name "sbcl-cl-ana.generic-math")
8233 (inputs
8234 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8235 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8236 (arguments
8237 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8238 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8239 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8240
8241(define-public cl-ana.generic-math
8242 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8243
8244(define-public ecl-cl-ana.generic-math
8245 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8246
8247(define-public sbcl-cl-ana.math-functions
8248 (package
8249 (inherit sbcl-cl-ana-boot0)
8250 (name "sbcl-cl-ana.math-functions")
8251 (inputs
8252 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8253 ("gsll" ,sbcl-gsll)))
8254 (arguments
8255 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8256 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8257 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8258
8259(define-public cl-ana.math-functions
8260 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8261
8262(define-public sbcl-cl-ana.calculus
8263 (package
8264 (inherit sbcl-cl-ana-boot0)
8265 (name "sbcl-cl-ana.calculus")
8266 (inputs
8267 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8268 (arguments
8269 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8270 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8271 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8272
8273(define-public cl-ana.calculus
8274 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8275
8276(define-public ecl-cl-ana.calculus
8277 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8278
8279(define-public sbcl-cl-ana.symbol-utils
8280 (package
8281 (inherit sbcl-cl-ana-boot0)
8282 (name "sbcl-cl-ana.symbol-utils")
8283 (inputs
8284 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8285 (arguments
8286 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8287 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8288 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8289
8290(define-public cl-ana.symbol-utils
8291 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8292
8293(define-public ecl-cl-ana.symbol-utils
8294 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8295
8296(define-public sbcl-cl-ana.macro-utils
8297 (package
8298 (inherit sbcl-cl-ana-boot0)
8299 (name "sbcl-cl-ana.macro-utils")
8300 (inputs
8301 `(("alexandria" ,sbcl-alexandria)
8302 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8303 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8304 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8305 ("split-sequence" ,sbcl-split-sequence)))
8306 (arguments
8307 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8308 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8309 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8310
8311(define-public cl-ana.macro-utils
8312 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8313
8314(define-public ecl-cl-ana.macro-utils
8315 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8316
8317(define-public sbcl-cl-ana.binary-tree
8318 (package
8319 (inherit sbcl-cl-ana-boot0)
8320 (name "sbcl-cl-ana.binary-tree")
8321 (inputs
8322 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8323 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8324 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8325 (arguments
8326 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8327 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8328 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8329
8330(define-public cl-ana.binary-tree
8331 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8332
8333(define-public ecl-cl-ana.binary-tree
8334 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8335
8336(define-public sbcl-cl-ana.tensor
8337 (package
8338 (inherit sbcl-cl-ana-boot0)
8339 (name "sbcl-cl-ana.tensor")
8340 (inputs
8341 `(("alexandria" ,sbcl-alexandria)
8342 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8343 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8344 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8345 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8346 (arguments
8347 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8348 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8349 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8350
8351(define-public cl-ana.tensor
8352 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8353
8354(define-public ecl-cl-ana.tensor
8355 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8356
8357(define-public sbcl-cl-ana.error-propogation
8358 (package
8359 (inherit sbcl-cl-ana-boot0)
8360 (name "sbcl-cl-ana.error-propogation")
8361 (inputs
8362 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8363 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8364 (arguments
8365 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8366 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8367 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8368
8369(define-public cl-ana.error-propogation
8370 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8371
8372(define-public sbcl-cl-ana.quantity
8373 (package
8374 (inherit sbcl-cl-ana-boot0)
8375 (name "sbcl-cl-ana.quantity")
8376 (inputs
8377 `(("alexandria" ,sbcl-alexandria)
8378 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8379 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8380 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8381 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8382 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8383 (arguments
8384 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8385 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8386 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8387
8388(define-public cl-ana.quantity
8389 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8390
8391(define-public sbcl-cl-ana.table
8392 (package
8393 (inherit sbcl-cl-ana-boot0)
8394 (name "sbcl-cl-ana.table")
8395 (inputs
8396 `(("alexandria" ,sbcl-alexandria)
8397 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8398 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8399 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8400 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8401 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8402 (arguments
8403 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8404 ((#:asd-file _ "") "table/cl-ana.table.asd")
8405 ((#:asd-system-name _ #f) "cl-ana.table")))))
8406
8407(define-public cl-ana.table
8408 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8409
8410(define-public ecl-cl-ana.table
8411 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8412
8413(define-public sbcl-cl-ana.table-utils
8414 (package
8415 (inherit sbcl-cl-ana-boot0)
8416 (name "sbcl-cl-ana.table-utils")
8417 (inputs
8418 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8419 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8420 ("cl-ana.table" ,sbcl-cl-ana.table)))
8421 (arguments
8422 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8423 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8424 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8425
8426(define-public cl-ana.table-utils
8427 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8428
8429(define-public ecl-cl-ana.table-utils
8430 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8431
8432(define-public sbcl-cl-ana.hdf-cffi
8433 (package
8434 (inherit sbcl-cl-ana-boot0)
8435 (name "sbcl-cl-ana.hdf-cffi")
8436 (inputs
8437 `(("cffi" ,sbcl-cffi)
8438 ("hdf5" ,hdf5-parallel-openmpi)))
8439 (arguments
8440 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8441 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8442 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8443 ((#:phases phases '%standard-phases)
8444 `(modify-phases ,phases
8445 (add-after 'unpack 'fix-paths
8446 (lambda* (#:key inputs #:allow-other-keys)
8447 (substitute* "hdf-cffi/hdf-cffi.lisp"
8448 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8449 (string-append
8450 (assoc-ref inputs "hdf5")
8451 "/lib/libhdf5.so")))))))))))
8452
8453(define-public cl-ana.hdf-cffi
8454 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8455
8456(define-public ecl-cl-ana.hdf-cffi
8457 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8458
8459(define-public sbcl-cl-ana.int-char
8460 (package
8461 (inherit sbcl-cl-ana-boot0)
8462 (name "sbcl-cl-ana.int-char")
8463 (arguments
8464 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8465 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8466 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8467
8468(define-public cl-ana.int-char
8469 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8470
8471(define-public ecl-cl-ana.int-char
8472 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8473
8474(define-public sbcl-cl-ana.memoization
8475 (package
8476 (inherit sbcl-cl-ana-boot0)
8477 (name "sbcl-cl-ana.memoization")
8478 (inputs
8479 `(("alexandria" ,sbcl-alexandria)))
8480 (arguments
8481 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8482 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8483 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8484
8485(define-public cl-ana.memoization
8486 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8487
8488(define-public ecl-cl-ana.memoization
8489 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8490
8491(define-public sbcl-cl-ana.typespec
8492 (package
8493 (inherit sbcl-cl-ana-boot0)
8494 (name "sbcl-cl-ana.typespec")
8495 (inputs
8496 `(("alexandria" ,sbcl-alexandria)
8497 ("cffi" ,sbcl-cffi)
8498 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8499 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8500 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8501 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8502 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8503 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8504 (arguments
8505 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8506 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8507 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8508
8509(define-public cl-ana.typespec
8510 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8511
8512(define-public ecl-cl-ana.typespec
8513 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8514
8515(define-public sbcl-cl-ana.hdf-typespec
8516 (package
8517 (inherit sbcl-cl-ana-boot0)
8518 (name "sbcl-cl-ana.hdf-typespec")
8519 (inputs
8520 `(("alexandria" ,sbcl-alexandria)
8521 ("cffi" ,sbcl-cffi)
8522 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8523 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8524 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8525 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8526 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8527 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8528 (arguments
8529 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8530 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8531 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8532
8533(define-public cl-ana.hdf-typespec
8534 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8535
8536(define-public ecl-cl-ana.hdf-typespec
8537 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8538
8539(define-public sbcl-cl-ana.hdf-utils
8540 (package
8541 (inherit sbcl-cl-ana-boot0)
8542 (name "sbcl-cl-ana.hdf-utils")
8543 (inputs
8544 `(("alexandria" ,sbcl-alexandria)
8545 ("cffi" ,sbcl-cffi)
8546 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8547 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8548 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8549 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8550 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8551 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8552 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8553 (arguments
8554 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8555 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8556 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8557
8558(define-public cl-ana.hdf-utils
8559 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8560
8561(define-public ecl-cl-ana.hdf-utils
8562 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8563
8564(define-public sbcl-cl-ana.typed-table
8565 (package
8566 (inherit sbcl-cl-ana-boot0)
8567 (name "sbcl-cl-ana.typed-table")
8568 (inputs
8569 `(("alexandria" ,sbcl-alexandria)
8570 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8571 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8572 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8573 ("cl-ana.table" ,sbcl-cl-ana.table)
8574 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8575 (arguments
8576 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8577 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8578 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8579
8580(define-public cl-ana.typed-table
8581 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8582
8583(define-public ecl-cl-ana.typed-table
8584 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8585
8586(define-public sbcl-cl-ana.hdf-table
8587 (package
8588 (inherit sbcl-cl-ana-boot0)
8589 (name "sbcl-cl-ana.hdf-table")
8590 (inputs
8591 `(("alexandria" ,sbcl-alexandria)
8592 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8593 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8594 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8595 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8596 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8597 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8598 ("cl-ana.table" ,sbcl-cl-ana.table)
8599 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8600 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8601 (arguments
8602 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8603 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8604 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8605
8606(define-public cl-ana.hdf-table
8607 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8608
8609(define-public ecl-cl-ana.hdf-table
8610 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8611
8612(define-public sbcl-cl-ana.gsl-cffi
8613 (package
8614 (inherit sbcl-cl-ana-boot0)
8615 (name "sbcl-cl-ana.gsl-cffi")
8616 (inputs
8617 `(("cffi" ,sbcl-cffi)
8618 ("gsl" ,gsl)))
8619 (arguments
8620 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8621 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8622 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8623 ((#:phases phases '%standard-phases)
8624 `(modify-phases ,phases
8625 (add-after 'unpack 'fix-paths
8626 (lambda* (#:key inputs #:allow-other-keys)
8627 (substitute* "gsl-cffi/gsl-cffi.lisp"
8628 (("define-foreign-library gsl-cffi" all)
8629 (string-append all " (:unix "
8630 (assoc-ref inputs "gsl")
8631 "/lib/libgsl.so)")))))))))))
8632
8633(define-public cl-ana.gsl-cffi
8634 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8635
8636(define-public ecl-cl-ana.gsl-cffi
8637 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8638
8639(define-public sbcl-cl-ana.ntuple-table
8640 (package
8641 (inherit sbcl-cl-ana-boot0)
8642 (name "sbcl-cl-ana.ntuple-table")
8643 (inputs
8644 `(("alexandria" ,sbcl-alexandria)
8645 ("cffi" ,sbcl-cffi)
8646 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8647 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8648 ("cl-ana.table" ,sbcl-cl-ana.table)
8649 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8650 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8651 ("gsll" ,sbcl-gsll)))
8652 (arguments
8653 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8654 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8655 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8656
8657(define-public cl-ana.ntuple-table
8658 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8659
8660(define-public sbcl-cl-ana.csv-table
8661 (package
8662 (inherit sbcl-cl-ana-boot0)
8663 (name "sbcl-cl-ana.csv-table")
8664 (inputs
8665 `(("alexandria" ,sbcl-alexandria)
8666 ("antik" ,sbcl-antik)
8667 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8668 ("cl-ana.table" ,sbcl-cl-ana.table)
8669 ("cl-csv" ,sbcl-cl-csv)
8670 ("iterate" ,sbcl-iterate)))
8671 (arguments
8672 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8673 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8674 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8675
8676(define-public cl-ana.csv-table
8677 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8678
8679(define-public sbcl-cl-ana.reusable-table
8680 (package
8681 (inherit sbcl-cl-ana-boot0)
8682 (name "sbcl-cl-ana.reusable-table")
8683 (inputs
8684 `(("alexandria" ,sbcl-alexandria)
8685 ("cl-ana.table" ,sbcl-cl-ana.table)))
8686 (arguments
8687 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8688 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8689 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8690
8691(define-public cl-ana.reusable-table
8692 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8693
8694(define-public ecl-cl-ana.reusable-table
8695 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8696
8697(define-public sbcl-cl-ana.linear-algebra
8698 (package
8699 (inherit sbcl-cl-ana-boot0)
8700 (name "sbcl-cl-ana.linear-algebra")
8701 (inputs
8702 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8703 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8704 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8705 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8706 ("gsll" ,sbcl-gsll)))
8707 (arguments
8708 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8709 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8710 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8711
8712(define-public cl-ana.linear-algebra
8713 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8714
8715(define-public sbcl-cl-ana.lorentz
8716 (package
8717 (inherit sbcl-cl-ana-boot0)
8718 (name "sbcl-cl-ana.lorentz")
8719 (inputs
8720 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8721 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8722 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8723 ("iterate" ,sbcl-iterate)))
8724 (arguments
8725 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8726 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8727 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8728
8729(define-public cl-ana.lorentz
8730 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8731
8732(define-public sbcl-cl-ana.clos-utils
8733 (package
8734 (inherit sbcl-cl-ana-boot0)
8735 (name "sbcl-cl-ana.clos-utils")
8736 (inputs
8737 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8738 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8739 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8740 ("closer-mop" ,sbcl-closer-mop)))
8741 (arguments
8742 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8743 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8744 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8745
8746(define-public cl-ana.clos-utils
8747 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8748
8749(define-public ecl-cl-ana.clos-utils
8750 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8751
8752(define-public sbcl-cl-ana.hash-table-utils
8753 (package
8754 (inherit sbcl-cl-ana-boot0)
8755 (name "sbcl-cl-ana.hash-table-utils")
8756 (arguments
8757 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8758 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8759 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8760
8761(define-public cl-ana.hash-table-utils
8762 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8763
8764(define-public ecl-cl-ana.hash-table-utils
8765 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8766
8767(define-public sbcl-cl-ana.map
8768 (package
8769 (inherit sbcl-cl-ana-boot0)
8770 (name "sbcl-cl-ana.map")
8771 (inputs
8772 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8773 (arguments
8774 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8775 ((#:asd-file _ "") "map/cl-ana.map.asd")
8776 ((#:asd-system-name _ #f) "cl-ana.map")))))
8777
8778(define-public cl-ana.map
8779 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8780
8781(define-public ecl-cl-ana.map
8782 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8783
8784(define-public sbcl-cl-ana.fitting
8785 (package
8786 (inherit sbcl-cl-ana-boot0)
8787 (name "sbcl-cl-ana.fitting")
8788 (inputs
8789 `(("alexandria" ,sbcl-alexandria)
8790 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8791 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8792 ("cl-ana.map" ,sbcl-cl-ana.map)
8793 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8794 ("gsll" ,sbcl-gsll)))
8795 (arguments
8796 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8797 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8798 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8799
8800(define-public cl-ana.fitting
8801 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8802
8803(define-public sbcl-cl-ana.histogram
8804 (package
8805 (inherit sbcl-cl-ana-boot0)
8806 (name "sbcl-cl-ana.histogram")
8807 (inputs
8808 `(("alexandria" ,sbcl-alexandria)
8809 ("iterate" ,sbcl-iterate)
8810 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8811 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8812 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8813 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8814 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8815 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8816 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8817 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8818 ("cl-ana.map" ,sbcl-cl-ana.map)
8819 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8820 (arguments
8821 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8822 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8823 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8824
8825(define-public cl-ana.histogram
8826 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8827
8828(define-public sbcl-cl-ana.file-utils
8829 (package
8830 (inherit sbcl-cl-ana-boot0)
8831 (name "sbcl-cl-ana.file-utils")
8832 (inputs
8833 `(("external-program" ,sbcl-external-program)
8834 ("split-sequence" ,sbcl-split-sequence)))
8835 (arguments
8836 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8837 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8838 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8839
8840(define-public cl-ana.file-utils
8841 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8842
8843(define-public ecl-cl-ana.file-utils
8844 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8845
8846(define-public sbcl-cl-ana.statistics
8847 (package
8848 (inherit sbcl-cl-ana-boot0)
8849 (name "sbcl-cl-ana.statistics")
8850 (inputs
8851 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8852 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8853 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8854 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8855 ("cl-ana.map" ,sbcl-cl-ana.map)))
8856 (arguments
8857 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8858 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8859 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8860
8861(define-public cl-ana.statistics
8862 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8863
8864(define-public sbcl-cl-ana.gnuplot-interface
8865 (package
8866 (inherit sbcl-cl-ana-boot0)
8867 (name "sbcl-cl-ana.gnuplot-interface")
8868 (inputs
8869 `(("external-program" ,sbcl-external-program)))
8870 (arguments
8871 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8872 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8873 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8874
8875(define-public cl-ana.gnuplot-interface
8876 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8877
8878(define-public ecl-cl-ana.gnuplot-interface
8879 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8880
8881(define-public sbcl-cl-ana.plotting
8882 (package
8883 (inherit sbcl-cl-ana-boot0)
8884 (name "sbcl-cl-ana.plotting")
8885 (inputs
8886 `(("alexandria" ,sbcl-alexandria)
8887 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8888 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8889 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8890 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8891 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8892 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8893 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8894 ("cl-ana.map" ,sbcl-cl-ana.map)
8895 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8896 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8897 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8898 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8899 ("external-program" ,sbcl-external-program)
8900 ("split-sequence" ,sbcl-split-sequence)))
8901 (arguments
8902 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8903 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8904 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8905
8906(define-public cl-ana.plotting
8907 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8908
8909(define-public sbcl-cl-ana.table-viewing
8910 (package
8911 (inherit sbcl-cl-ana-boot0)
8912 (name "sbcl-cl-ana.table-viewing")
8913 (inputs
8914 `(("alexandria" ,sbcl-alexandria)
8915 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8916 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8917 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8918 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8919 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8920 ("cl-ana.table" ,sbcl-cl-ana.table)))
8921 (arguments
8922 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8923 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8924 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8925
8926(define-public cl-ana.table-viewing
8927 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8928
8929(define-public sbcl-cl-ana.serialization
8930 (package
8931 (inherit sbcl-cl-ana-boot0)
8932 (name "sbcl-cl-ana.serialization")
8933 (inputs
8934 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8935 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8936 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
8937 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8938 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8939 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8940 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8941 (arguments
8942 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8943 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
8944 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
8945
8946(define-public cl-ana.serialization
8947 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
8948
8949(define-public sbcl-cl-ana.makeres
8950 (package
8951 (inherit sbcl-cl-ana-boot0)
8952 (name "sbcl-cl-ana.makeres")
8953 (inputs
8954 `(("alexandria" ,sbcl-alexandria)
8955 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8956 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
8957 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8958 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8959 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8960 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8961 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8962 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8963 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8964 ("cl-ana.map" ,sbcl-cl-ana.map)
8965 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8966 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8967 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8968 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
8969 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
8970 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8971 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8972 ("cl-ana.table" ,sbcl-cl-ana.table)
8973 ("external-program" ,sbcl-external-program)))
8974 (native-inputs
8975 `(("cl-fad" ,sbcl-cl-fad)))
8976 (arguments
8977 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8978 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
8979 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
8980
8981(define-public cl-ana.makeres
8982 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
8983
8984(define-public sbcl-cl-ana.makeres-macro
8985 (package
8986 (inherit sbcl-cl-ana-boot0)
8987 (name "sbcl-cl-ana.makeres-macro")
8988 (inputs
8989 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8990 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
8991 (arguments
8992 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8993 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
8994 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
8995
8996(define-public cl-ana.makeres-macro
8997 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
8998
8999(define-public sbcl-cl-ana.makeres-block
9000 (package
9001 (inherit sbcl-cl-ana-boot0)
9002 (name "sbcl-cl-ana.makeres-block")
9003 (inputs
9004 `(("alexandria" ,sbcl-alexandria)
9005 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9006 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9007 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9008 (arguments
9009 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9010 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9011 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9012
9013(define-public cl-ana.makeres-block
9014 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9015
9016(define-public sbcl-cl-ana.makeres-progress
9017 (package
9018 (inherit sbcl-cl-ana-boot0)
9019 (name "sbcl-cl-ana.makeres-progress")
9020 (inputs
9021 `(("alexandria" ,sbcl-alexandria)
9022 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9023 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9024 (arguments
9025 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9026 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9027 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9028
9029(define-public cl-ana.makeres-progress
9030 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9031
9032(define-public sbcl-cl-ana.makeres-table
9033 (package
9034 (inherit sbcl-cl-ana-boot0)
9035 (name "sbcl-cl-ana.makeres-table")
9036 (inputs
9037 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9038 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9039 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9040 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9041 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9042 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9043 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9044 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9045 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9046 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9047 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9048 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9049 ("cl-ana.table" ,sbcl-cl-ana.table)))
9050 (native-inputs
9051 `(("cl-fad" ,sbcl-cl-fad)))
9052 (arguments
9053 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9054 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9055 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9056
9057(define-public cl-ana.makeres-table
9058 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9059
9060(define-public sbcl-cl-ana.makeres-graphviz
9061 (package
9062 (inherit sbcl-cl-ana-boot0)
9063 (name "sbcl-cl-ana.makeres-graphviz")
9064 (inputs
9065 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9066 ("external-program" ,sbcl-external-program)))
9067 (arguments
9068 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9069 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9070 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9071
9072(define-public cl-ana.makeres-graphviz
9073 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9074
9075(define-public sbcl-cl-ana.makeres-branch
9076 (package
9077 (inherit sbcl-cl-ana-boot0)
9078 (name "sbcl-cl-ana.makeres-branch")
9079 (inputs
9080 `(("alexandria" ,sbcl-alexandria)
9081 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9082 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9083 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9084 ("cl-ana.map" ,sbcl-cl-ana.map)
9085 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9086 (arguments
9087 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9088 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9089 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9090
9091(define-public cl-ana.makeres-branch
9092 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9093
9094(define-public sbcl-cl-ana.makeres-utils
9095 (package
9096 (inherit sbcl-cl-ana-boot0)
9097 (name "sbcl-cl-ana.makeres-utils")
9098 (inputs
9099 `(("alexandria" ,sbcl-alexandria)
9100 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9101 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9102 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9103 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9104 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9105 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9106 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9107 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9108 ("cl-ana.map" ,sbcl-cl-ana.map)
9109 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9110 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9111 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9112 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9113 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9114 ("cl-ana.table" ,sbcl-cl-ana.table)))
9115 (native-inputs
9116 `(("cl-fad" ,sbcl-cl-fad)))
9117 (arguments
9118 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9119 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9120 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9121
9122(define-public cl-ana.makeres-utils
9123 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9124
9125(define-public sbcl-cl-ana.statistical-learning
9126 (package
9127 (inherit sbcl-cl-ana-boot0)
9128 (name "sbcl-cl-ana.statistical-learning")
9129 (inputs
9130 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9131 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9132 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9133 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9134 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9135 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9136 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9137 ("cl-ana.map" ,sbcl-cl-ana.map)
9138 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9139 (native-inputs
9140 `(("cl-fad" ,sbcl-cl-fad)))
9141 (arguments
9142 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9143 ((#:asd-file _ "")
9144 "statistical-learning/cl-ana.statistical-learning.asd")
9145 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9146
9147(define-public cl-ana.statistical-learning
9148 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9149
9150(define-public sbcl-cl-ana
9151 (package
9152 (inherit sbcl-cl-ana-boot0)
9153 (name "sbcl-cl-ana")
9154 (inputs
9155 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9156 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9157 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9158 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9159 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9160 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9161 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9162 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9163 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9164 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9165 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9166 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9167 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9168 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9169 ("cl-ana.map" ,sbcl-cl-ana.map)
9170 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9171 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9172 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9173 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9174 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9175 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9176 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9177 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9178 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9179 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9180 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9181 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9182 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9183 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9184 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9185 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9186 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9187 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9188 ("cl-ana.table" ,sbcl-cl-ana.table)
9189 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9190 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9191 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9192 ("libffi" ,libffi)))
9193 (native-inputs
9194 `(("cl-fad" ,sbcl-cl-fad)))
9195 (arguments
9196 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9197 ((#:asd-file _ "") "cl-ana.asd")
9198 ((#:asd-system-name _ #f) "cl-ana")))))
9199
9200(define-public cl-ana
9201 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9202
9203(define-public sbcl-archive
9204 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9205 (revision "1"))
9206 (package
9207 (name "sbcl-archive")
9208 (version (git-version "0.9" revision commit))
9209 (source (origin
9210 (method git-fetch)
9211 (uri (git-reference
9212 (url "https://github.com/sharplispers/archive.git")
9213 (commit commit)))
9214 (file-name (git-file-name name version))
9215 (sha256
9216 (base32
9217 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9218 (build-system asdf-build-system/sbcl)
9219 (inputs
9220 `(("cl-fad" ,sbcl-cl-fad)
9221 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9222 (synopsis "Common Lisp library for tar and cpio archives")
9223 (description
9224 "This is a Common Lisp library to read and write disk-based file
9225archives such as those generated by the tar and cpio programs on Unix.")
9226 (home-page "https://github.com/sharplispers/archive")
9227 (license license:bsd-3))))
9228
9229(define-public cl-archive
9230 (sbcl-package->cl-source-package sbcl-archive))
9231
9232(define-public ecl-archive
9233 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9234
9235(define-public sbcl-misc-extensions
9236 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9237 (revision "1"))
9238 (package
9239 (name "sbcl-misc-extensions")
9240 (version (git-version "3.3" revision commit))
9241 (source
9242 (origin
9243 (method git-fetch)
9244 (uri (git-reference
9245 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9246 (commit commit)))
9247 (file-name (git-file-name name version))
9248 (sha256
9249 (base32
9250 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9251 (build-system asdf-build-system/sbcl)
9252 (synopsis "Collection of small macros and extensions for Common Lisp")
9253 (description
9254 "This project is intended as a catchall for small, general-purpose
9255extensions to Common Lisp. It contains:
9256
9257@itemize
9258@item @code{new-let}, a macro that combines and generalizes @code{let},
9259@code{let*} and @code{multiple-value-bind},
9260@item @code{gmap}, an iteration macro that generalizes @code{map}.
9261@end itemize\n")
9262 (home-page "https://common-lisp.net/project/misc-extensions/")
9263 (license license:public-domain))))
9264
9265(define-public cl-misc-extensions
9266 (sbcl-package->cl-source-package sbcl-misc-extensions))
9267
9268(define-public ecl-misc-extensions
9269 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9270
9271(define-public sbcl-mt19937
9272 (package
9273 (name "sbcl-mt19937")
9274 (version "1.1")
9275 (source
9276 (origin
9277 (method url-fetch)
9278 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9279 "mt19937-latest.tar.gz"))
9280 (sha256
9281 (base32
9282 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9283 (build-system asdf-build-system/sbcl)
9284 (synopsis "Mersenne Twister pseudo-random number generator")
9285 (description
9286 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9287for Common Lisp.")
9288 (home-page "https://www.cliki.net/mt19937")
9289 (license license:public-domain)))
9290
9291(define-public cl-mt19937
9292 (sbcl-package->cl-source-package sbcl-mt19937))
9293
9294(define-public ecl-mt19937
9295 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9296
9297(define-public sbcl-fset
9298 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9299 (revision "1"))
9300 (package
9301 (name "sbcl-fset")
9302 (version (git-version "1.3.2" revision commit))
9303 (source
9304 (origin
9305 (method git-fetch)
9306 (uri (git-reference
9307 (url "https://github.com/slburson/fset")
9308 (commit commit)))
9309 (file-name (git-file-name name version))
9310 (sha256
9311 (base32
9312 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9313 (snippet '(begin
9314 ;; Remove obsolete copy of system definition.
9315 (delete-file "Code/fset.asd")
9316 #t))))
9317 (build-system asdf-build-system/sbcl)
9318 (inputs
9319 `(("misc-extensions" ,sbcl-misc-extensions)
9320 ("mt19937" ,sbcl-mt19937)
9321 ("named-readtables" ,sbcl-named-readtables)))
9322 (synopsis "Functional set-theoretic collections library")
9323 (description
9324 "FSet is a functional set-theoretic collections library for Common Lisp.
9325Functional means that all update operations return a new collection rather than
9326modifying an existing one in place. Set-theoretic means that collections may
9327be nested arbitrarily with no additional programmer effort; for instance, sets
9328may contain sets, maps may be keyed by sets, etc.")
9329 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9330 (license license:llgpl))))
9331
9332(define-public cl-fset
9333 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9334
9335(define-public sbcl-cl-cont
9336 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9337 (revision "1"))
9338 (package
9339 (name "sbcl-cl-cont")
9340 (version (git-version "0.3.8" revision commit))
9341 (source
9342 (origin
9343 (method git-fetch)
9344 (uri (git-reference
9345 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9346 (commit commit)))
9347 (file-name (git-file-name name version))
9348 (sha256
9349 (base32
9350 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9351 (build-system asdf-build-system/sbcl)
9352 (inputs
9353 `(("alexandria" ,sbcl-alexandria)
9354 ("closer-mop" ,sbcl-closer-mop)))
9355 (native-inputs
9356 `(("rt" ,sbcl-rt)))
9357 (synopsis "Delimited continuations for Common Lisp")
9358 (description
9359 "This is a library that implements delimited continuations by
9360transforming Common Lisp code to continuation passing style.")
9361 (home-page "https://common-lisp.net/project/cl-cont/")
9362 (license license:llgpl))))
9363
9364(define-public cl-cont
9365 (sbcl-package->cl-source-package sbcl-cl-cont))
9366
9367(define-public ecl-cl-cont
9368 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9369
9370(define-public sbcl-cl-coroutine
9371 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9372 (revision "1"))
9373 (package
9374 (name "sbcl-cl-coroutine")
9375 (version (git-version "0.1" revision commit))
9376 (source
9377 (origin
9378 (method git-fetch)
9379 (uri (git-reference
9380 (url "https://github.com/takagi/cl-coroutine.git")
9381 (commit commit)))
9382 (file-name (git-file-name name version))
9383 (sha256
9384 (base32
9385 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9386 (build-system asdf-build-system/sbcl)
9387 (inputs
9388 `(("alexandria" ,sbcl-alexandria)
9389 ("cl-cont" ,sbcl-cl-cont)))
9390 (native-inputs
9391 `(("prove" ,sbcl-prove)))
9392 (arguments
9393 `(;; TODO: Fix the tests. They fail with:
9394 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9395 #:tests? #f
9396 #:phases
9397 (modify-phases %standard-phases
9398 (add-after 'unpack 'fix-tests
9399 (lambda _
9400 (substitute* "cl-coroutine-test.asd"
9401 (("cl-test-more")
9402 "prove"))
9403 #t)))))
9404 (synopsis "Coroutine library for Common Lisp")
9405 (description
9406 "This is a coroutine library for Common Lisp implemented using the
9407continuations of the @code{cl-cont} library.")
9408 (home-page "https://github.com/takagi/cl-coroutine")
9409 (license license:llgpl))))
9410
9411(define-public cl-coroutine
9412 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9413
9414(define-public ecl-cl-coroutine
9415 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9416
9417(define-public sbcl-vom
9418 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9419 (revision "1"))
9420 (package
9421 (name "sbcl-vom")
9422 (version (git-version "0.1.4" revision commit))
9423 (source
9424 (origin
9425 (method git-fetch)
9426 (uri (git-reference
9427 (url "https://github.com/orthecreedence/vom.git")
9428 (commit commit)))
9429 (file-name (git-file-name name version))
9430 (sha256
9431 (base32
9432 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9433 (build-system asdf-build-system/sbcl)
9434 (synopsis "Tiny logging utility for Common Lisp")
9435 (description
9436 "Vom is a logging library for Common Lisp. It's goal is to be useful
9437and small. It does not provide a lot of features as other loggers do, but
9438has a small codebase that's easy to understand and use.")
9439 (home-page "https://github.com/orthecreedence/vom")
9440 (license license:expat))))
9441
9442(define-public cl-vom
9443 (sbcl-package->cl-source-package sbcl-vom))
9444
9445(define-public ecl-vom
9446 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9447
9448(define-public sbcl-cl-libuv
9449 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9450 (revision "1"))
9451 (package
9452 (name "sbcl-cl-libuv")
9453 (version (git-version "0.1.6" revision commit))
9454 (source
9455 (origin
9456 (method git-fetch)
9457 (uri (git-reference
9458 (url "https://github.com/orthecreedence/cl-libuv.git")
9459 (commit commit)))
9460 (file-name (git-file-name name version))
9461 (sha256
9462 (base32
9463 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9464 (build-system asdf-build-system/sbcl)
9465 (inputs
9466 `(("alexandria" ,sbcl-alexandria)
9467 ("cffi" ,sbcl-cffi)
9468 ("cffi-grovel" ,sbcl-cffi-grovel)
9469 ("libuv" ,libuv)))
9470 (arguments
9471 `(#:phases
9472 (modify-phases %standard-phases
9473 (add-after 'unpack 'fix-paths
9474 (lambda* (#:key inputs #:allow-other-keys)
9475 (substitute* "lib.lisp"
9476 (("/usr/lib/libuv.so")
9477 (string-append (assoc-ref inputs "libuv")
9478 "/lib/libuv.so")))
9479 #t))
9480 (add-after 'fix-paths 'fix-system-definition
9481 (lambda _
9482 (substitute* "cl-libuv.asd"
9483 (("#:cffi #:alexandria")
9484 "#:cffi #:cffi-grovel #:alexandria"))
9485 #t)))))
9486 (synopsis "Common Lisp bindings to libuv")
9487 (description
9488 "This library provides low-level libuv bindings for Common Lisp.")
9489 (home-page "https://github.com/orthecreedence/cl-libuv")
9490 (license license:expat))))
9491
9492(define-public cl-libuv
9493 (sbcl-package->cl-source-package sbcl-cl-libuv))
9494
9495(define-public ecl-cl-libuv
9496 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9497
9498(define-public sbcl-cl-async-base
9499 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9500 (revision "1"))
9501 (package
9502 (name "sbcl-cl-async-base")
9503 (version (git-version "0.6.1" revision commit))
9504 (source
9505 (origin
9506 (method git-fetch)
9507 (uri (git-reference
9508 (url "https://github.com/orthecreedence/cl-async.git")
9509 (commit commit)))
9510 (file-name (git-file-name name version))
9511 (sha256
9512 (base32
9513 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9514 (build-system asdf-build-system/sbcl)
9515 (inputs
9516 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9517 ("cffi" ,sbcl-cffi)
9518 ("cl-libuv" ,sbcl-cl-libuv)))
9519 (arguments
9520 `(#:asd-file "cl-async.asd"))
9521 (synopsis "Base system for cl-async")
9522 (description
9523 "Cl-async is a library for general purpose, non-blocking programming in
9524Common Lisp. It uses the libuv library as backend.")
9525 (home-page "https://orthecreedence.github.io/cl-async/")
9526 (license license:expat))))
9527
9528(define-public cl-async-base
9529 (sbcl-package->cl-source-package sbcl-cl-async-base))
9530
9531(define-public ecl-cl-async-base
9532 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9533
9534(define-public sbcl-cl-async-util
9535 (package
9536 (inherit sbcl-cl-async-base)
9537 (name "sbcl-cl-async-util")
9538 (inputs
24de1f5a
GLV
9539 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9540 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9541 ("cl-async-base" ,sbcl-cl-async-base)
9542 ("cl-libuv" ,sbcl-cl-libuv)
9543 ("cl-ppcre" ,sbcl-cl-ppcre)
9544 ("fast-io" ,sbcl-fast-io)
9545 ("vom" ,sbcl-vom)))
9546 (synopsis "Internal utilities for cl-async")))
9547
9548(define-public cl-async-util
9549 (sbcl-package->cl-source-package sbcl-cl-async-util))
9550
9551(define-public ecl-cl-async-util
9552 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9553
9554(define-public sbcl-cl-async
9555 (package
9556 (inherit sbcl-cl-async-base)
9557 (name "sbcl-cl-async")
9558 (inputs
9559 `(("babel" ,sbcl-babel)
9560 ("cffi" ,sbcl-cffi)
9561 ("cl-async-base" ,sbcl-cl-async-base)
9562 ("cl-async-util" ,sbcl-cl-async-util)
9563 ("cl-libuv" ,sbcl-cl-libuv)
9564 ("cl-ppcre" ,sbcl-cl-ppcre)
9565 ("static-vectors" ,sbcl-static-vectors)
9566 ("trivial-features" ,sbcl-trivial-features)
9567 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9568 (synopsis "Asynchronous operations for Common Lisp")))
9569
9570(define-public cl-async
9571 (sbcl-package->cl-source-package sbcl-cl-async))
9572
9573(define-public ecl-cl-async
9574 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9575
9576(define-public sbcl-cl-async-repl
9577 (package
9578 (inherit sbcl-cl-async-base)
9579 (name "sbcl-cl-async-repl")
9580 (inputs
9581 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9582 ("cl-async" ,sbcl-cl-async)))
9583 (arguments
9584 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9585 ((#:asd-file _ "") "cl-async-repl.asd")))
9586 (synopsis "REPL integration for cl-async")))
9587
9588(define-public cl-async-repl
9589 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9590
9591(define-public ecl-cl-async-repl
9592 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9593
9594(define-public sbcl-cl-async-ssl
9595 (package
9596 (inherit sbcl-cl-async-base)
9597 (name "sbcl-cl-async-ssl")
9598 (inputs
9599 `(("cffi" ,sbcl-cffi)
9600 ("cl-async" ,sbcl-cl-async)
9601 ("openssl" ,openssl)
9602 ("vom" ,sbcl-vom)))
9603 (arguments
9604 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9605 ((#:asd-file _ "") "cl-async-ssl.asd")
9606 ((#:phases phases '%standard-phases)
9607 `(modify-phases ,phases
9608 (add-after 'unpack 'fix-paths
9609 (lambda* (#:key inputs #:allow-other-keys)
9610 (substitute* "src/ssl/package.lisp"
9611 (("libcrypto\\.so")
9612 (string-append (assoc-ref inputs "openssl")
9613 "/lib/libcrypto.so"))
9614 (("libssl\\.so")
9615 (string-append (assoc-ref inputs "openssl")
9616 "/lib/libssl.so")))
9617 #t))))))
9618 (synopsis "SSL wrapper around cl-async socket implementation")))
9619
9620(define-public cl-async-ssl
9621 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9622
9623(define-public ecl-cl-async-ssl
9624 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9625
9626(define-public sbcl-blackbird
9627 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9628 (revision "1"))
9629 (package
9630 (name "sbcl-blackbird")
9631 (version (git-version "0.5.2" revision commit))
9632 (source
9633 (origin
9634 (method git-fetch)
9635 (uri (git-reference
9636 (url "https://github.com/orthecreedence/blackbird.git")
9637 (commit commit)))
9638 (file-name (git-file-name name version))
9639 (sha256
9640 (base32
9641 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9642 (build-system asdf-build-system/sbcl)
9643 (inputs
9644 `(("vom" ,sbcl-vom)))
9645 (native-inputs
9646 `(("cl-async" ,sbcl-cl-async)
9647 ("fiveam" ,sbcl-fiveam)))
9648 (synopsis "Promise implementation for Common Lisp")
9649 (description
9650 "This is a standalone promise implementation for Common Lisp. It is
9651the successor to the now-deprecated cl-async-future project.")
e0318062 9652 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9653 (license license:expat))))
9654
9655(define-public cl-blackbird
9656 (sbcl-package->cl-source-package sbcl-blackbird))
9657
9658(define-public ecl-blackbird
9659 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9660
9661(define-public sbcl-cl-async-future
9662 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9663 (revision "1"))
9664 (package
9665 (name "sbcl-cl-async-future")
9666 (version (git-version "0.4.4.1" revision commit))
9667 (source
9668 (origin
9669 (method git-fetch)
9670 (uri (git-reference
9671 (url "https://github.com/orthecreedence/cl-async-future.git")
9672 (commit commit)))
9673 (file-name (git-file-name name version))
9674 (sha256
9675 (base32
9676 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9677 (build-system asdf-build-system/sbcl)
9678 (inputs
9679 `(("blackbird" ,sbcl-blackbird)))
9680 (native-inputs
9681 `(("cl-async" ,sbcl-cl-async)
9682 ("eos" ,sbcl-eos)))
9683 (synopsis "Futures implementation for Common Lisp")
9684 (description
9685 "This is futures implementation for Common Lisp. It plugs in nicely
9686to cl-async.")
e0318062 9687 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9688 (license license:expat))))
9689
9690(define-public cl-async-future
9691 (sbcl-package->cl-source-package sbcl-cl-async-future))
9692
9693(define-public ecl-cl-async-future
9694 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9695
9696(define-public sbcl-green-threads
9697 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9698 (revision "1"))
9699 (package
9700 (name "sbcl-green-threads")
9701 (version (git-version "0.3" revision commit))
9702 (source
9703 (origin
9704 (method git-fetch)
9705 (uri (git-reference
9706 (url "https://github.com/thezerobit/green-threads.git")
9707 (commit commit)))
9708 (file-name (git-file-name name version))
9709 (sha256
9710 (base32
9711 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9712 (build-system asdf-build-system/sbcl)
9713 (inputs
9714 `(("cl-async-future" ,sbcl-cl-async-future)
9715 ("cl-cont" ,sbcl-cl-cont)))
9716 (native-inputs
9717 `(("prove" ,sbcl-prove)))
9718 (arguments
9719 `(;; TODO: Fix the tests. They fail with:
9720 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9721 #:tests? #f
9722 #:phases
9723 (modify-phases %standard-phases
9724 (add-after 'unpack 'fix-tests
9725 (lambda _
9726 (substitute* "green-threads-test.asd"
9727 (("cl-test-more")
9728 "prove"))
9729 #t)))))
9730 (synopsis "Cooperative multitasking library for Common Lisp")
9731 (description
9732 "This library allows for cooperative multitasking with help of cl-cont
9733for continuations. It tries to mimic the API of bordeaux-threads as much as
9734possible.")
9735 (home-page "https://github.com/thezerobit/green-threads")
9736 (license license:bsd-3))))
9737
9738(define-public cl-green-threads
9739 (sbcl-package->cl-source-package sbcl-green-threads))
9740
9741(define-public ecl-green-threads
9742 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9743
9744(define-public sbcl-cl-base32
9745 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9746 (revision "1"))
9747 (package
9748 (name "sbcl-cl-base32")
9749 (version (git-version "0.1" revision commit))
9750 (source
9751 (origin
9752 (method git-fetch)
9753 (uri (git-reference
9754 (url "https://github.com/hargettp/cl-base32.git")
9755 (commit commit)))
9756 (file-name (git-file-name name version))
9757 (sha256
9758 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9759 (build-system asdf-build-system/sbcl)
9760 (native-inputs
9761 `(("lisp-unit" ,sbcl-lisp-unit)))
9762 (synopsis "Common Lisp library for base32 encoding and decoding")
9763 (description
9764 "This package provides functions for base32 encoding and decoding as
9765defined in RFC4648.")
9766 (home-page "https://github.com/hargettp/cl-base32")
9767 (license license:expat))))
9768
9769(define-public cl-base32
9770 (sbcl-package->cl-source-package sbcl-cl-base32))
9771
9772(define-public ecl-cl-base32
9773 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9774
9775(define-public sbcl-cl-z85
9776 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9777 (revision "1"))
9778 (package
9779 (name "sbcl-cl-z85")
9780 (version (git-version "1.0" revision commit))
9781 (source
9782 (origin
9783 (method git-fetch)
9784 (uri (git-reference
9785 (url "https://github.com/glv2/cl-z85.git")
9786 (commit commit)))
9787 (file-name (git-file-name name version))
9788 (sha256
9789 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9790 (build-system asdf-build-system/sbcl)
9791 (native-inputs
9792 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9793 ("fiveam" ,sbcl-fiveam)))
9794 (synopsis "Common Lisp library for Z85 encoding and decoding")
9795 (description
9796 "This package provides functions to encode or decode byte vectors or
9797byte streams using the Z85 format, which is a base-85 encoding used by
9798ZeroMQ.")
9799 (home-page "https://github.com/glv2/cl-z85")
9800 (license license:gpl3+))))
9801
9802(define-public cl-z85
9803 (sbcl-package->cl-source-package sbcl-cl-z85))
9804
9805(define-public ecl-cl-z85
9806 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9807
9808(define-public sbcl-ltk
9809 (package
9810 (name "sbcl-ltk")
9811 (version "0.992")
9812 (source
9813 (origin
9814 (method git-fetch)
9815 (uri (git-reference
9816 (url "https://github.com/herth/ltk.git")
9817 (commit version)))
9818 (file-name (git-file-name name version))
9819 (sha256
9820 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9821 (build-system asdf-build-system/sbcl)
9822 (inputs
9823 `(("imagemagick" ,imagemagick)
9824 ("tk" ,tk)))
9825 (arguments
9826 `(#:asd-file "ltk/ltk.asd"
9827 #:tests? #f
9828 #:phases (modify-phases %standard-phases
9829 (add-after 'unpack 'fix-paths
9830 (lambda* (#:key inputs #:allow-other-keys)
9831 (substitute* "ltk/ltk.lisp"
9832 (("#-freebsd \"wish\"")
9833 (string-append "#-freebsd \""
9834 (assoc-ref inputs "tk")
9835 "/bin/wish\""))
9836 (("do-execute \"convert\"")
9837 (string-append "do-execute \""
9838 (assoc-ref inputs "imagemagick")
9839 "/bin/convert\"")))
9840 #t)))))
9841 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9842 (description
9843 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9844in pure Common Lisp and does not require any Tk knowledge for its usage.")
9845 (home-page "http://www.peter-herth.de/ltk/")
9846 (license license:llgpl)))
9847
9848(define-public cl-ltk
9849 (sbcl-package->cl-source-package sbcl-ltk))
9850
9851(define-public ecl-ltk
9852 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9853
9854(define-public sbcl-ltk-mw
9855 (package
9856 (inherit sbcl-ltk)
9857 (name "sbcl-ltk-mw")
9858 (inputs
9859 `(("ltk" ,sbcl-ltk)))
9860 (arguments
9861 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9862 ((#:asd-file _) "ltk/ltk-mw.asd")
9863 ((#:phases _) '%standard-phases)))
9864 (synopsis "Extra widgets for LTK")
9865 (description
9866 "This is a collection of higher-level widgets built on top of LTK.")))
9867
9868(define-public cl-ltk-mw
9869 (sbcl-package->cl-source-package sbcl-ltk-mw))
9870
9871(define-public ecl-ltk-mw
9872 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9873
9874(define-public sbcl-ltk-remote
9875 (package
9876 (inherit sbcl-ltk)
9877 (name "sbcl-ltk-remote")
9878 (inputs
9879 `(("ltk" ,sbcl-ltk)))
9880 (arguments
9881 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9882 ((#:asd-file _) "ltk/ltk-remote.asd")
9883 ((#:phases _) '%standard-phases)))
9884 (synopsis "Remote GUI support for LTK")
9885 (description
9886 "This LTK extension allows the GUI to be displayed on a computer different
9887from the one running the Lisp program by using a TCP connection.")))
9888
9889(define-public cl-ltk-remote
9890 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9891
9892(define-public sbcl-cl-lex
9893 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9894 (revision "1"))
9895 (package
9896 (name "sbcl-cl-lex")
9897 (version (git-version "1.1.3" revision commit))
9898 (source
9899 (origin
9900 (method git-fetch)
9901 (uri (git-reference
9902 (url "https://github.com/djr7C4/cl-lex.git")
9903 (commit commit)))
9904 (file-name (git-file-name name version))
9905 (sha256
9906 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9907 (build-system asdf-build-system/sbcl)
9908 (inputs
9909 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9910 (synopsis "Common Lisp macros for generating lexical analyzers")
9911 (description
9912 "This is a Common Lisp library providing a set of macros for generating
9913lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9914be used with @code{cl-yacc}.")
9915 (home-page "https://github.com/djr7C4/cl-lex")
9916 (license license:gpl3))))
9917
9918(define-public cl-lex
9919 (sbcl-package->cl-source-package sbcl-cl-lex))
9920
9921(define-public ecl-cl-lex
9922 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9923
9924(define-public sbcl-clunit2
9925 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9926 (revision "1"))
9927 (package
9928 (name "sbcl-clunit2")
9929 (version (git-version "0.2.4" revision commit))
9930 (source
9931 (origin
9932 (method git-fetch)
9933 (uri (git-reference
9934 (url "https://notabug.org/cage/clunit2.git")
9935 (commit commit)))
9936 (file-name (git-file-name name version))
9937 (sha256
9938 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9939 (build-system asdf-build-system/sbcl)
9940 (synopsis "Unit testing framework for Common Lisp")
9941 (description
9942 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9943easy to use so that you can quickly start testing.")
9944 (home-page "https://notabug.org/cage/clunit2")
9945 (license license:expat))))
9946
9947(define-public cl-clunit2
9948 (sbcl-package->cl-source-package sbcl-clunit2))
9949
9950(define-public ecl-clunit2
9951 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
9952
9953(define-public sbcl-cl-colors2
9954 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9955 (revision "1"))
9956 (package
9957 (name "sbcl-cl-colors2")
9958 (version (git-version "0.2.1" revision commit))
9959 (source
9960 (origin
9961 (method git-fetch)
9962 (uri (git-reference
9963 (url "https://notabug.org/cage/cl-colors2.git")
9964 (commit commit)))
9965 (file-name (git-file-name name version))
9966 (sha256
9967 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9968 (build-system asdf-build-system/sbcl)
9969 (native-inputs
9970 `(("clunit2" ,sbcl-clunit2)))
9971 (inputs
9972 `(("alexandria" ,sbcl-alexandria)
9973 ("cl-ppcre" ,sbcl-cl-ppcre)))
9974 (synopsis "Color library for Common Lisp")
9975 (description
9976 "This is a very simple color library for Common Lisp, providing:
9977
9978@itemize
9979@item Types for representing colors in HSV and RGB spaces.
9980@item Simple conversion functions between the above types (and also
9981hexadecimal representation for RGB).
9982@item Some predefined colors (currently X11 color names -- of course
9983the library does not depend on X11).
9984@end itemize\n")
9985 (home-page "https://notabug.org/cage/cl-colors2")
9986 (license license:boost1.0))))
9987
9988(define-public cl-colors2
9989 (sbcl-package->cl-source-package sbcl-cl-colors2))
9990
9991(define-public ecl-cl-colors2
9992 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
9993
9994(define-public sbcl-cl-jpeg
9995 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
9996 (revision "1"))
9997 (package
9998 (name "sbcl-cl-jpeg")
9999 (version (git-version "2.8" revision commit))
10000 (source
10001 (origin
10002 (method git-fetch)
10003 (uri (git-reference
10004 (url "https://github.com/sharplispers/cl-jpeg.git")
10005 (commit commit)))
10006 (file-name (git-file-name name version))
10007 (sha256
10008 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10009 (build-system asdf-build-system/sbcl)
10010 (synopsis "JPEG image library for Common Lisp")
10011 (description
10012 "This is a baseline JPEG codec written in Common Lisp. It can be used
10013for reading and writing JPEG image files.")
10014 (home-page "https://github.com/sharplispers/cl-jpeg")
10015 (license license:bsd-3))))
10016
10017(define-public cl-jpeg
10018 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10019
10020(define-public ecl-cl-jpeg
10021 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10022
10023(define-public sbcl-nodgui
10024 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10025 (revision "1"))
10026 (package
10027 (name "sbcl-nodgui")
10028 (version (git-version "0.0.5" revision commit))
10029 (source
10030 (origin
10031 (method git-fetch)
10032 (uri (git-reference
10033 (url "https://notabug.org/cage/nodgui.git")
10034 (commit commit)))
10035 (file-name (git-file-name name version))
10036 (sha256
10037 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10038 (build-system asdf-build-system/sbcl)
10039 (inputs
10040 `(("alexandria" ,sbcl-alexandria)
10041 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10042 ("cl-colors2" ,sbcl-cl-colors2)
10043 ("cl-jpeg" ,sbcl-cl-jpeg)
10044 ("cl-lex" ,sbcl-cl-lex)
10045 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10046 ("cl-unicode" ,sbcl-cl-unicode)
10047 ("cl-yacc" ,sbcl-cl-yacc)
10048 ("clunit2" ,sbcl-clunit2)
10049 ("named-readtables" ,sbcl-named-readtables)
10050 ("parse-number" ,sbcl-parse-number)
10051 ("tk" ,tk)))
10052 (arguments
10053 `(#:phases (modify-phases %standard-phases
10054 (add-after 'unpack 'fix-paths
10055 (lambda* (#:key inputs #:allow-other-keys)
10056 (substitute* "src/wish-communication.lisp"
10057 (("#-freebsd \"wish\"")
10058 (string-append "#-freebsd \""
10059 (assoc-ref inputs "tk")
10060 "/bin/wish\"")))
10061 #t)))))
10062 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10063 (description
10064 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10065toolkit. It also provides a few additional widgets more than the standard Tk
10066ones.")
10067 (home-page "https://www.autistici.org/interzona/nodgui.html")
10068 (license license:llgpl))))
10069
10070(define-public cl-nodgui
10071 (sbcl-package->cl-source-package sbcl-nodgui))
10072
10073(define-public ecl-nodgui
10074 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10075
10076(define-public sbcl-salza2
10077 (package
10078 (name "sbcl-salza2")
10079 (version "2.0.9")
10080 (source
10081 (origin
10082 (method git-fetch)
10083 (uri (git-reference
10084 (url "https://github.com/xach/salza2.git")
10085 (commit (string-append "release-" version))))
10086 (file-name (git-file-name name version))
10087 (sha256
10088 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10089 (build-system asdf-build-system/sbcl)
10090 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10091 (description
10092 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10093deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10094respectively.")
10095 (home-page "https://www.xach.com/lisp/salza2/")
10096 (license license:bsd-2)))
10097
10098(define-public cl-salza2
10099 (sbcl-package->cl-source-package sbcl-salza2))
10100
10101(define-public ecl-salza2
10102 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10103
10104(define-public sbcl-png-read
10105 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10106 (revision "1"))
10107 (package
10108 (name "sbcl-png-read")
10109 (version (git-version "0.3.1" revision commit))
10110 (source
10111 (origin
10112 (method git-fetch)
10113 (uri (git-reference
10114 (url "https://github.com/Ramarren/png-read.git")
10115 (commit commit)))
10116 (file-name (git-file-name name version))
10117 (sha256
10118 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10119 (build-system asdf-build-system/sbcl)
10120 (inputs
10121 `(("babel" ,sbcl-babel)
10122 ("chipz" ,sbcl-chipz)
10123 ("iterate" ,sbcl-iterate)))
10124 (synopsis "PNG decoder for Common Lisp")
10125 (description "This is a Common Lisp library for reading PNG images.")
10126 (home-page "https://github.com/Ramarren/png-read")
10127 (license license:bsd-3))))
10128
10129(define-public cl-png-read
10130 (sbcl-package->cl-source-package sbcl-png-read))
10131
10132(define-public ecl-png-read
10133 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10134
10135(define-public sbcl-zpng
10136 (package
10137 (name "sbcl-zpng")
10138 (version "1.2.2")
10139 (source
10140 (origin
10141 (method git-fetch)
10142 (uri (git-reference
10143 (url "https://github.com/xach/zpng.git")
10144 (commit (string-append "release-" version))))
10145 (file-name (git-file-name name version))
10146 (sha256
10147 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10148 (build-system asdf-build-system/sbcl)
10149 (inputs
10150 `(("salza2" ,sbcl-salza2)))
10151 (synopsis "PNG encoder for Common Lisp")
10152 (description "This is a Common Lisp library for creating PNG images.")
10153 (home-page "https://www.xach.com/lisp/zpng/")
10154 (license license:bsd-2)))
10155
10156(define-public cl-zpng
10157 (sbcl-package->cl-source-package sbcl-zpng))
10158
10159(define-public ecl-zpng
10160 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10161
10162(define-public sbcl-cl-qrencode
10163 (package
10164 (name "sbcl-cl-qrencode")
10165 (version "0.1.2")
10166 (source
10167 (origin
10168 (method git-fetch)
10169 (uri (git-reference
10170 (url "https://github.com/jnjcc/cl-qrencode.git")
10171 (commit (string-append "v" version))))
10172 (file-name (git-file-name name version))
10173 (sha256
10174 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10175 (build-system asdf-build-system/sbcl)
10176 (native-inputs
10177 `(("lisp-unit" ,sbcl-lisp-unit)))
10178 (inputs
10179 `(("zpng" ,sbcl-zpng)))
10180 (synopsis "QR code encoder for Common Lisp")
10181 (description
10182 "This Common Lisp library provides function to make QR codes and to save
10183them as PNG files.")
10184 (home-page "https://github.com/jnjcc/cl-qrencode")
10185 (license license:gpl2+)))
10186
10187(define-public cl-qrencode
10188 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10189
10190(define-public ecl-cl-qrencode
10191 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10192
10193(define-public sbcl-hdf5-cffi
10194 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10195 (revision "1"))
10196 (package
10197 (name "sbcl-hdf5-cffi")
10198 (version (git-version "1.8.18" revision commit))
10199 (source
10200 (origin
10201 (method git-fetch)
10202 (uri (git-reference
10203 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10204 (commit commit)))
10205 (file-name (git-file-name name version))
10206 (sha256
10207 (base32
10208 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10209 (build-system asdf-build-system/sbcl)
10210 (synopsis "Common Lisp bindings for the HDF5 library")
10211 (description
10212 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10213 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10214 (license (license:non-copyleft
10215 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10216 commit
10217 "/LICENSE")))
10218 (inputs
10219 `(("cffi" ,sbcl-cffi)
10220 ("cffi-grovel" ,sbcl-cffi-grovel)
10221 ("hdf5" ,hdf5-1.10)))
10222 (native-inputs
10223 `(("fiveam" ,sbcl-fiveam)))
10224 (arguments
10225 `(#:asd-system-name "hdf5-cffi"
10226 #:asd-file "hdf5-cffi.asd"
10227 #:test-asd-file "hdf5-cffi.test.asd"
10228 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10229 ;; I don't know if there is a way to tell asdf-build-system to load
10230 ;; an additional system first, so tests are disabled.
10231 #:tests? #f
10232 #:phases
10233 (modify-phases %standard-phases
10234 (add-after 'unpack 'fix-paths
10235 (lambda* (#:key inputs #:allow-other-keys)
10236 (substitute* "src/library.lisp"
10237 (("libhdf5.so")
10238 (string-append
10239 (assoc-ref inputs "hdf5")
10240 "/lib/libhdf5.so")))))
10241 (add-after 'unpack 'fix-dependencies
10242 (lambda* (#:key inputs #:allow-other-keys)
10243 (substitute* "hdf5-cffi.asd"
10244 ((":depends-on \\(:cffi\\)")
10245 ":depends-on (:cffi :cffi-grovel)"))
10246 (substitute* "hdf5-cffi.test.asd"
10247 ((":depends-on \\(:cffi :hdf5-cffi")
10248 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10249
10250(define-public cl-hdf5-cffi
10251 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10252
10253(define-public ecl-hdf5-cffi
10254 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10255
10256(define-public sbcl-cl-randist
10257 (package
10258 (name "sbcl-cl-randist")
10259 (version "0.4.2")
10260 (source
10261 (origin
10262 (method git-fetch)
10263 (uri (git-reference
10264 (url "https://github.com/lvaruzza/cl-randist.git")
10265 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10266 (file-name (git-file-name name version))
10267 (sha256
10268 (base32
10269 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10270 (build-system asdf-build-system/sbcl)
10271 (synopsis "Random distributions for Common Lisp")
10272 (description
10273 "Manual translation from C to Common Lisp of some random number
10274generation functions from the GSL library.")
10275 (home-page "https://github.com/lvaruzza/cl-randist")
10276 (license license:bsd-2)
10277 (arguments
10278 `(#:asd-system-name "cl-randist"
10279 #:asd-file "cl-randist.asd"
10280 #:tests? #f))))
10281
10282(define-public cl-randist
10283 (sbcl-package->cl-source-package sbcl-cl-randist))
10284
10285(define-public ecl-cl-randist
10286 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10287
10288(define-public sbcl-float-features
10289 (package
10290 (name "sbcl-float-features")
10291 (version "1.0.0")
10292 (source
10293 (origin
10294 (method git-fetch)
10295 (uri (git-reference
10296 (url "https://github.com/Shinmera/float-features.git")
10297 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10298 (file-name (git-file-name name version))
10299 (sha256
10300 (base32
10301 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10302 (build-system asdf-build-system/sbcl)
10303 (synopsis "Common Lisp IEEE float portability library")
10304 (description
10305 "Portability library for IEEE float features that are not
10306covered by the Common Lisp standard.")
10307 (home-page "https://github.com/Shinmera/float-features")
10308 (license license:zlib)
10309 (inputs
10310 `(("documentation-utils" ,sbcl-documentation-utils)))
10311 (arguments
10312 `(#:asd-system-name "float-features"
10313 #:asd-file "float-features.asd"
10314 #:tests? #f))))
10315
10316(define-public cl-float-features
10317 (sbcl-package->cl-source-package sbcl-float-features))
10318
10319(define-public ecl-float-features
10320 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10321
10322(define-public sbcl-function-cache
10323 (package
10324 (name "sbcl-function-cache")
10325 (version "1.0.3")
10326 (source
10327 (origin
10328 (method git-fetch)
10329 (uri (git-reference
10330 (url "https://github.com/AccelerationNet/function-cache.git")
10331 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32
10335 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10336 (build-system asdf-build-system/sbcl)
10337 (synopsis "Function caching / memoization library for Common Lisp")
10338 (description
10339 "A common lisp library that provides extensible function result
10340caching based on arguments (an expanded form of memoization).")
10341 (home-page "https://github.com/AccelerationNet/function-cache")
10342 (license
10343 (license:non-copyleft
10344 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10345 (inputs
10346 `(("alexandria" ,sbcl-alexandria)
10347 ("cl-interpol" ,sbcl-cl-interpol)
10348 ("iterate" ,sbcl-iterate)
10349 ("symbol-munger" ,sbcl-symbol-munger)
10350 ("closer-mop" ,sbcl-closer-mop)))
10351 (arguments
10352 `(#:asd-system-name "function-cache"
10353 #:asd-file "function-cache.asd"
10354 #:tests? #f))))
10355
10356(define-public cl-function-cache
10357 (sbcl-package->cl-source-package sbcl-function-cache))
10358
10359(define-public ecl-function-cache
10360 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10361
10362(define-public sbcl-type-r
10363 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10364 (revision "1"))
10365 (package
10366 (name "sbcl-type-r")
10367 (version (git-version "0.0.0" revision commit))
10368 (source
10369 (origin
10370 (method git-fetch)
10371 (uri (git-reference
10372 (url "https://github.com/guicho271828/type-r.git")
10373 (commit commit)))
10374 (file-name (git-file-name name version))
10375 (sha256
10376 (base32
10377 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10378 (build-system asdf-build-system/sbcl)
10379 (synopsis "Parser interface for Common Lisp built-in compound types")
10380 (description
10381 "Collections of accessor functions and patterns to access
10382the elements in compound type specifier, e.g. @code{dimensions} in
10383@code{(array element-type dimensions)}")
10384 (home-page "https://github.com/guicho271828/type-r")
10385 (license license:lgpl3+)
10386 (inputs
10387 `(("trivia" ,sbcl-trivia)
10388 ("alexandria" ,sbcl-alexandria)))
10389 (native-inputs
10390 `(("fiveam" ,sbcl-fiveam)))
10391 (arguments
10392 `(#:asd-system-name "type-r"
10393 #:asd-file "type-r.asd"
10394 #:test-asd-file "type-r.test.asd")))))
10395
10396(define-public cl-type-r
10397 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10398
10399(define-public sbcl-trivialib-type-unify
10400 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10401 (revision "1"))
10402 (package
10403 (name "sbcl-trivialib-type-unify")
10404 (version (git-version "0.1" revision commit))
10405 (source
10406 (origin
10407 (method git-fetch)
10408 (uri (git-reference
10409 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10410 (commit commit)))
10411 (file-name (git-file-name name version))
10412 (sha256
10413 (base32
10414 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10415 (build-system asdf-build-system/sbcl)
10416 (synopsis "Common Lisp type unification")
10417 (description
10418 "Unifies a parametrized type specifier against an actual type specifier.
10419Importantly, it handles complicated array-subtypes and number-related types
10420correctly.")
10421 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10422 (license license:lgpl3+)
10423 (inputs
10424 `(("alexandria" ,sbcl-alexandria)
10425 ("trivia" ,sbcl-trivia)
10426 ("introspect-environment" ,sbcl-introspect-environment)
10427 ("type-r" ,sbcl-type-r)))
10428 (native-inputs
10429 `(("fiveam" ,sbcl-fiveam)))
10430 (arguments
10431 `(#:asd-system-name "trivialib.type-unify"
10432 #:asd-file "trivialib.type-unify.asd"
10433 #:test-asd-file "trivialib.type-unify.test.asd")))))
10434
10435(define-public cl-trivialib-type-unify
10436 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10437
10438(define-public sbcl-specialized-function
10439 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10440 (revision "1"))
10441 (package
10442 (name "sbcl-specialized-function")
10443 (version (git-version "0.0.0" revision commit))
10444 (source
10445 (origin
10446 (method git-fetch)
10447 (uri (git-reference
10448 (url "https://github.com/numcl/specialized-function.git")
10449 (commit commit)))
10450 (file-name (git-file-name name version))
10451 (sha256
10452 (base32
10453 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10454 (build-system asdf-build-system/sbcl)
10455 (synopsis "Julia-like dispatch for Common Lisp")
10456 (description
10457 "This library is part of NUMCL. It provides a macro
10458@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10459lazily compiling a type-specific version of the function from the same
10460code. The main target of this macro is speed.")
10461 (home-page "https://github.com/numcl/specialized-function")
10462 (license license:lgpl3+)
10463 (inputs
10464 `(("trivia" ,sbcl-trivia)
10465 ("alexandria" ,sbcl-alexandria)
10466 ("iterate" ,sbcl-iterate)
10467 ("lisp-namespace" ,sbcl-lisp-namespace)
10468 ("type-r" ,sbcl-type-r)
10469 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10470 (native-inputs
10471 `(("fiveam" ,sbcl-fiveam)))
10472 (arguments
10473 `(#:asd-system-name "specialized-function"
10474 #:asd-file "specialized-function.asd"
10475 #:test-asd-file "specialized-function.test.asd")))))
10476
10477(define-public cl-specialized-function
10478 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10479
10480(define-public sbcl-constantfold
10481 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10482 (revision "1"))
10483 (package
10484 (name "sbcl-constantfold")
10485 (version (git-version "0.1" revision commit))
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/numcl/constantfold.git")
10491 (commit commit)))
10492 (file-name (git-file-name name version))
10493 (sha256
10494 (base32
10495 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10496 (build-system asdf-build-system/sbcl)
10497 (synopsis "Support library for numcl")
10498 (description
10499 "Support library for numcl. Registers a function as an
10500additional form that is considered as a candidate for a constant.")
10501 (home-page "https://github.com/numcl/constantfold")
10502 (license license:lgpl3+)
10503 (inputs
10504 `(("trivia" ,sbcl-trivia)
10505 ("alexandria" ,sbcl-alexandria)
10506 ("iterate" ,sbcl-iterate)
10507 ("lisp-namespace" ,sbcl-lisp-namespace)))
10508 (native-inputs
10509 `(("fiveam" ,sbcl-fiveam)))
10510 (arguments
10511 `(#:asd-system-name "constantfold"
10512 #:asd-file "constantfold.asd"
10513 #:test-asd-file "constantfold.test.asd")))))
10514
10515(define-public cl-constantfold
10516 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10517
10518(define-public sbcl-gtype
10519 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10520 (revision "1"))
10521 (package
10522 (name "sbcl-gtype")
10523 (version (git-version "0.1" revision commit))
10524 (source
10525 (origin
10526 (method git-fetch)
10527 (uri (git-reference
10528 (url "https://github.com/numcl/gtype.git")
10529 (commit commit)))
10530 (file-name (git-file-name name version))
10531 (sha256
10532 (base32
10533 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10534 (build-system asdf-build-system/sbcl)
10535 (synopsis "C++/Julia-like parametric types in Common Lisp")
10536 (description
10537 "Support library for numcl that provides Julia-like runtime parametric
10538type correctness in Common Lisp. It is based on CLtL2 extensions.")
10539 (home-page "https://github.com/numcl/gtype")
10540 (license license:lgpl3+)
10541 (inputs
10542 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10543 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10544 ("trivia" ,sbcl-trivia)
10545 ("alexandria" ,sbcl-alexandria)
10546 ("iterate" ,sbcl-iterate)
10547 ("type-r" ,sbcl-type-r)))
10548 (native-inputs
10549 `(("fiveam" ,sbcl-fiveam)))
10550 (arguments
10551 `(#:asd-system-name "gtype"
10552 #:asd-file "gtype.asd"
10553 #:test-asd-file "gtype.test.asd")))))
10554
10555(define-public cl-gtype
10556 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10557
10558(define-public sbcl-numcl
10559 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10560 (revision "1"))
10561 (package
10562 (name "sbcl-numcl")
10563 (version (git-version "0.1.0" revision commit))
10564 (source
10565 (origin
10566 (method git-fetch)
10567 (uri (git-reference
10568 (url "https://github.com/numcl/numcl.git")
10569 (commit commit)))
10570 (file-name (git-file-name name version))
10571 (sha256
10572 (base32
10573 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10574 (build-system asdf-build-system/sbcl)
10575 (synopsis "Numpy clone in Common Lisp")
10576 (description
10577 "This is a Numpy clone in Common Lisp. At the moment the
10578library is written in pure Common Lisp, focusing more on correctness
10579and usefulness, not speed. Track the progress at
10580@url{https://github.com/numcl/numcl/projects/1}.")
10581 (home-page "https://github.com/numcl/numcl")
10582 (license license:lgpl3+)
10583 (inputs
10584 `(("trivia" ,sbcl-trivia)
10585 ("alexandria" ,sbcl-alexandria)
10586 ("iterate" ,sbcl-iterate)
10587 ("lisp-namespace" ,sbcl-lisp-namespace)
10588 ("type-r" ,sbcl-type-r)
10589 ("constantfold" ,sbcl-constantfold)
10590 ("cl-randist" ,sbcl-cl-randist)
10591 ("float-features" ,sbcl-float-features)
10592 ("function-cache" ,sbcl-function-cache)
10593 ("specialized-function" ,sbcl-specialized-function)
10594 ("gtype" ,sbcl-gtype)))
10595 (native-inputs
10596 `(("fiveam" ,sbcl-fiveam)))
10597 (arguments
10598 `(#:asd-system-name "numcl"
10599 #:asd-file "numcl.asd"
10600 #:test-asd-file "numcl.test.asd")))))
10601
10602(define-public cl-numcl
10603 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10604
10605(define-public sbcl-pzmq
10606 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10607 (revision "1"))
10608 (package
10609 (name "sbcl-pzmq")
10610 (version (git-version "0.0.0" revision commit))
10611 (source
10612 (origin
10613 (method git-fetch)
10614 (uri (git-reference
10615 (url "https://github.com/orivej/pzmq.git")
10616 (commit commit)))
10617 (file-name (git-file-name name version))
10618 (sha256
10619 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10620 (build-system asdf-build-system/sbcl)
10621 (native-inputs
10622 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10623 ("fiveam" ,sbcl-fiveam)
10624 ("let-plus" ,sbcl-let-plus)))
10625 (inputs
10626 `(("cffi" ,sbcl-cffi)
10627 ("cffi-grovel" ,sbcl-cffi-grovel)
10628 ("zeromq" ,zeromq)))
10629 (arguments
10630 `(#:phases (modify-phases %standard-phases
10631 (add-after 'unpack 'fix-paths
10632 (lambda* (#:key inputs #:allow-other-keys)
10633 (substitute* "c-api.lisp"
10634 (("\"libzmq")
10635 (string-append "\""
10636 (assoc-ref inputs "zeromq")
10637 "/lib/libzmq")))
10638 #t)))))
10639 (synopsis "Common Lisp bindings for the ZeroMQ library")
10640 (description "This Common Lisp library provides bindings for the ZeroMQ
10641lightweight messaging kernel.")
10642 (home-page "https://github.com/orivej/pzmq")
10643 (license license:unlicense))))
10644
10645(define-public cl-pzmq
10646 (sbcl-package->cl-source-package sbcl-pzmq))
10647
10648(define-public ecl-pzmq
10649 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10650
10651(define-public sbcl-clss
10652 (let ((revision "1")
10653 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10654 (package
10655 (name "sbcl-clss")
10656 (version (git-version "0.3.1" revision commit))
10657 (source
10658 (origin
10659 (method git-fetch)
10660 (uri
10661 (git-reference
10662 (url "https://github.com/Shinmera/clss.git")
10663 (commit commit)))
10664 (sha256
10665 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10666 (file-name (git-file-name name version))))
10667 (inputs
10668 `(("array-utils" ,sbcl-array-utils)
10669 ("plump" ,sbcl-plump)))
10670 (build-system asdf-build-system/sbcl)
10671 (synopsis "DOM tree searching engine based on CSS selectors")
10672 (description "CLSS is a DOM traversal engine based on CSS
10673selectors. It makes use of the Plump-DOM and is used by lQuery.")
10674 (home-page "https://github.com/Shinmera/clss")
10675 (license license:zlib))))
10676
10677(define-public cl-clss
10678 (sbcl-package->cl-source-package sbcl-clss))
10679
10680(define-public ecl-clss
10681 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10682
10683(define-public sbcl-lquery
10684 (let ((revision "1")
10685 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10686 (package
10687 (name "sbcl-lquery")
10688 (version (git-version "3.2.1" revision commit))
10689 (source
10690 (origin
10691 (method git-fetch)
10692 (uri
10693 (git-reference
10694 (url "https://github.com/Shinmera/lquery.git")
10695 (commit commit)))
10696 (sha256
10697 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10698 (file-name (git-file-name name version))))
10699 (native-inputs
10700 `(("fiveam" ,sbcl-fiveam)))
10701 (inputs
10702 `(("array-utils" ,sbcl-array-utils)
10703 ("form-fiddle" ,sbcl-form-fiddle)
10704 ("plump" ,sbcl-plump)
10705 ("clss" ,sbcl-clss)))
10706 (build-system asdf-build-system/sbcl)
10707 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10708 (description "@code{lQuery} is a DOM manipulation library written in
10709Common Lisp, inspired by and based on the jQuery syntax and
10710functions. It uses Plump and CLSS as DOM and selector engines. The
10711main idea behind lQuery is to provide a simple interface for crawling
10712and modifying HTML sites, as well as to allow for an alternative
10713approach to templating.")
10714 (home-page "https://github.com/Shinmera/lquery")
10715 (license license:zlib))))
10716
10717(define-public cl-lquery
10718 (sbcl-package->cl-source-package sbcl-lquery))
10719
10720(define-public ecl-lquery
10721 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10722
10723(define-public sbcl-cl-mysql
10724 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10725 (revision "1"))
10726 (package
10727 (name "sbcl-cl-mysql")
10728 (version (git-version "0.1" revision commit))
10729 (source
10730 (origin
10731 (method git-fetch)
10732 (uri (git-reference
10733 (url "https://github.com/hackinghat/cl-mysql.git")
10734 (commit commit)))
10735 (file-name (git-file-name name version))
10736 (sha256
10737 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10738 (build-system asdf-build-system/sbcl)
10739 (native-inputs
10740 `(("stefil" ,sbcl-stefil)))
10741 (inputs
10742 `(("cffi" ,sbcl-cffi)
10743 ("mariadb-lib" ,mariadb "lib")))
10744 (arguments
10745 `(#:tests? #f ; TODO: Tests require a running server
10746 #:phases
10747 (modify-phases %standard-phases
10748 (add-after 'unpack 'fix-paths
10749 (lambda* (#:key inputs #:allow-other-keys)
10750 (substitute* "system.lisp"
10751 (("libmysqlclient_r" all)
10752 (string-append (assoc-ref inputs "mariadb-lib")
10753 "/lib/"
10754 all)))
10755 #t)))))
10756 (synopsis "Common Lisp wrapper for MySQL")
10757 (description
10758 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10759 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10760 (license license:expat))))
10761
10762(define-public cl-mysql
10763 (sbcl-package->cl-source-package sbcl-cl-mysql))