gnu: emacs-sly: Update to 20200228.
[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
25cefc87
GLV
2576(define-public sbcl-cffi-uffi-compat
2577 (package
2578 (inherit sbcl-cffi-toolchain)
2579 (name "sbcl-cffi-uffi-compat")
2580 (native-inputs
2581 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2582 (inputs
2583 `(("cffi" ,sbcl-cffi)))
2584 (synopsis "UFFI Compatibility Layer for CFFI")))
2585
2586(define-public cl-cffi-uffi-compat
2587 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2588
88f06fd0
PN
2589(define-public sbcl-cl-sqlite
2590 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2591 (package
2592 (name "sbcl-cl-sqlite")
2593 (version (git-version "0.2" "1" commit))
2594 (source
2595 (origin
2596 (method git-fetch)
2597 (uri (git-reference
2598 (url "https://github.com/dmitryvk/cl-sqlite")
2599 (commit commit)))
2600 (file-name (git-file-name "cl-sqlite" version))
2601 (sha256
2602 (base32
2603 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2604 (build-system asdf-build-system/sbcl)
2605 (inputs
2606 `(("iterate" ,sbcl-iterate)
2607 ("cffi" ,sbcl-cffi)
2608 ("sqlite" ,sqlite)))
2609 (native-inputs
2610 `(("fiveam" ,sbcl-fiveam)
2611 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2612 (arguments
2613 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2614 #:asd-file "sqlite.asd"
2615 #:asd-system-name "sqlite"
2616 #:phases
2617 (modify-phases %standard-phases
2618 (add-after 'unpack 'fix-paths
2619 (lambda* (#:key inputs #:allow-other-keys)
2620 (substitute* "sqlite-ffi.lisp"
2621 (("libsqlite3" all) (string-append
2622 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2623 (home-page "https://common-lisp.net/project/cl-sqlite/")
2624 (synopsis "Common Lisp binding for SQLite")
2625 (description
2626 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2627relational database engine.")
2628 (license license:public-domain))))
2629
2630(define-public cl-sqlite
2631 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2632
2633(define-public sbcl-parenscript
2634 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2635 (package
2636 (name "sbcl-parenscript")
2637 (version (git-version "2.6" "1" commit))
2638 (source
2639 (origin
2640 (method git-fetch)
2641 (uri (git-reference
2642 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2643 (commit commit)))
2644 (file-name (git-file-name "parenscript" version))
2645 (sha256
2646 (base32
2647 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2648 (build-system asdf-build-system/sbcl)
2649 (inputs
2650 `(("cl-ppcre" ,sbcl-cl-ppcre)
2651 ("anaphora" ,sbcl-anaphora)
2652 ("named-readtables" ,sbcl-named-readtables)))
2653 (home-page "https://common-lisp.net/project/parenscript/")
2654 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2655 (description
2656 "Parenscript is a translator from an extended subset of Common Lisp to
2657JavaScript. Parenscript code can run almost identically on both the
2658browser (as JavaScript) and server (as Common Lisp).
2659
2660Parenscript code is treated the same way as Common Lisp code, making the full
2661power of Lisp macros available for JavaScript. This provides a web
2662development environment that is unmatched in its ability to reduce code
2663duplication and provide advanced meta-programming facilities to web
2664developers.
2665
2666At the same time, Parenscript is different from almost all other \"language
2667X\" to JavaScript translators in that it imposes almost no overhead:
2668
2669@itemize
2670@item No run-time dependencies: Any piece of Parenscript code is runnable
2671as-is. There are no JavaScript files to include.
2672@item Native types: Parenscript works entirely with native JavaScript data
2673types. There are no new types introduced, and object prototypes are not
2674touched.
2675@item Native calling convention: Any JavaScript code can be called without the
2676need for bindings. Likewise, Parenscript can be used to make efficient,
2677self-contained JavaScript libraries.
2678@item Readable code: Parenscript generates concise, formatted, idiomatic
2679JavaScript code. Identifier names are preserved. This enables seamless
2680debugging in tools like Firebug.
2681@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2682Lisp features. The generated code is almost as fast as hand-written
2683JavaScript.
2684@end itemize\n")
2685 (license license:bsd-3))))
2686
2687(define-public cl-parenscript
2688 (sbcl-package->cl-source-package sbcl-parenscript))
2689
2690(define-public ecl-parenscript
2691 (sbcl-package->ecl-package sbcl-parenscript))
2692
2693(define-public sbcl-cl-json
2694 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2695 (package
2696 (name "sbcl-cl-json")
2697 (version (git-version "0.5" "1" commit))
2698 (source
2699 (origin
2700 (method git-fetch)
2701 (uri (git-reference
2702 (url "https://github.com/hankhero/cl-json")
2703 (commit commit)))
2704 (file-name (git-file-name "cl-json" version))
2705 (sha256
2706 (base32
2707 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2708 (build-system asdf-build-system/sbcl)
2709 (native-inputs
2710 `(("fiveam" ,sbcl-fiveam)))
2711 (home-page "https://github.com/hankhero/cl-json")
2712 (synopsis "JSON encoder and decoder for Common-Lisp")
2713 (description
2714 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2715and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2716and the decoder are highly customizable; at the same time, the default
2717settings ensure a very simple mode of operation, similar to that provided by
2718@command{yason} or @command{st-json}.")
2719 (license license:expat))))
2720
2721(define-public cl-json
2722 (sbcl-package->cl-source-package sbcl-cl-json))
2723
2724(define-public ecl-cl-json
2725 (sbcl-package->ecl-package sbcl-cl-json))
2726
2727(define-public sbcl-unix-opts
2728 (package
2729 (name "sbcl-unix-opts")
2730 (version "0.1.7")
2731 (source
2732 (origin
2733 (method git-fetch)
2734 (uri (git-reference
2735 (url "https://github.com/libre-man/unix-opts")
2736 (commit version)))
2737 (file-name (git-file-name "unix-opts" version))
2738 (sha256
2739 (base32
2740 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2741 (build-system asdf-build-system/sbcl)
2742 (home-page "https://github.com/hankhero/cl-json")
2743 (synopsis "Unix-style command line options parser")
2744 (description
2745 "This is a minimalistic parser of command line options. The main
2746advantage of the library is the ability to concisely define command line
2747options once and then use this definition for parsing and extraction of
2748command line arguments, as well as printing description of command line
2749options (you get --help for free). This way you don't need to repeat
2750yourself. Also, @command{unix-opts} doesn't depend on anything and allows to
2751precisely control behavior of the parser via Common Lisp restarts.")
2752 (license license:expat)))
2753
2754(define-public cl-unix-opts
2755 (sbcl-package->cl-source-package sbcl-unix-opts))
2756
2757(define-public ecl-unix-opts
2758 (sbcl-package->ecl-package sbcl-unix-opts))
2759
2760(define-public sbcl-trivial-garbage
2761 (package
2762 (name "sbcl-trivial-garbage")
2763 (version "0.21")
2764 (source
2765 (origin
2766 (method git-fetch)
2767 (uri (git-reference
2768 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2769 (commit (string-append "v" version))))
2770 (file-name (git-file-name "trivial-garbage" version))
2771 (sha256
2772 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2773 (build-system asdf-build-system/sbcl)
2774 (native-inputs
2775 `(("rt" ,sbcl-rt)))
2776 (home-page "https://common-lisp.net/project/trivial-garbage/")
2777 (synopsis "Portable GC-related APIs for Common Lisp")
2778 (description "@command{trivial-garbage} provides a portable API to
2779finalizers, weak hash-tables and weak pointers on all major implementations of
2780the Common Lisp programming language.")
2781 (license license:public-domain)))
2782
2783(define-public cl-trivial-garbage
2784 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2785
2786(define-public ecl-trivial-garbage
2787 (sbcl-package->ecl-package sbcl-trivial-garbage))
2788
2789(define-public sbcl-closer-mop
2790 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2791 (package
2792 (name "sbcl-closer-mop")
2793 (version (git-version "1.0.0" "1" commit))
2794 (source
2795 (origin
2796 (method git-fetch)
2797 (uri (git-reference
2798 (url "https://github.com/pcostanza/closer-mop")
2799 (commit commit)))
2800 (sha256
2801 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2802 (file-name (git-file-name "closer-mop" version ))))
2803 (build-system asdf-build-system/sbcl)
2804 (home-page "https://github.com/pcostanza/closer-mop")
2805 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2806 (description "Closer to MOP is a compatibility layer that rectifies many
2807of the absent or incorrect CLOS MOP features across a broad range of Common
2808Lisp implementations.")
2809 (license license:expat))))
2810
2811(define-public cl-closer-mop
2812 (sbcl-package->cl-source-package sbcl-closer-mop))
2813
2814(define-public ecl-closer-mop
2815 (sbcl-package->ecl-package sbcl-closer-mop))
2816
2817(define sbcl-cl-cffi-gtk-boot0
2818 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2819 (package
2820 (name "sbcl-cl-cffi-gtk-boot0")
2821 (version (git-version "0.11.2" "1" commit))
2822 (source
2823 (origin
2824 (method git-fetch)
2825 (uri (git-reference
2826 (url "https://github.com/Ferada/cl-cffi-gtk/")
2827 (commit commit)))
2828 (file-name (git-file-name "cl-cffi-gtk" version))
2829 (sha256
2830 (base32
2831 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2832 (build-system asdf-build-system/sbcl)
2833 (inputs
2834 `(("iterate" ,sbcl-iterate)
2835 ("cffi" ,sbcl-cffi)
2836 ("trivial-features" ,sbcl-trivial-features)))
2837 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2838 (synopsis "Common Lisp binding for GTK+3")
2839 (description
2840 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2841is a library for creating graphical user interfaces.")
2842 (license license:lgpl3))))
2843
2844(define-public sbcl-cl-cffi-gtk-glib
2845 (package
2846 (inherit sbcl-cl-cffi-gtk-boot0)
2847 (name "sbcl-cl-cffi-gtk-glib")
2848 (inputs
2849 `(("glib" ,glib)
2850 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2851 (arguments
2852 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2853 #:phases
2854 (modify-phases %standard-phases
2855 (add-after 'unpack 'fix-paths
2856 (lambda* (#:key inputs #:allow-other-keys)
2857 (substitute* "glib/glib.init.lisp"
2858 (("libglib|libgthread" all) (string-append
2859 (assoc-ref inputs "glib") "/lib/" all))))))))))
2860
2861(define-public sbcl-cl-cffi-gtk-gobject
2862 (package
2863 (inherit sbcl-cl-cffi-gtk-boot0)
2864 (name "sbcl-cl-cffi-gtk-gobject")
2865 (inputs
2866 `(("glib" ,glib)
2867 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2868 ("trivial-garbage" ,sbcl-trivial-garbage)
2869 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2870 ("closer-mop" ,sbcl-closer-mop)
2871 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2872 (arguments
2873 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2874 #:phases
2875 (modify-phases %standard-phases
2876 (add-after 'unpack 'fix-paths
2877 (lambda* (#:key inputs #:allow-other-keys)
2878 (substitute* "gobject/gobject.init.lisp"
2879 (("libgobject" all) (string-append
2880 (assoc-ref inputs "glib") "/lib/" all))))))))))
2881
2882(define-public sbcl-cl-cffi-gtk-gio
2883 (package
2884 (inherit sbcl-cl-cffi-gtk-boot0)
2885 (name "sbcl-cl-cffi-gtk-gio")
2886 (inputs
2887 `(("glib" ,glib)
2888 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2889 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2890 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2891 (arguments
2892 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2893 #:phases
2894 (modify-phases %standard-phases
2895 (add-after 'unpack 'fix-paths
2896 (lambda* (#:key inputs #:allow-other-keys)
2897 (substitute* "gio/gio.init.lisp"
2898 (("libgio" all)
2899 (string-append
2900 (assoc-ref inputs "glib") "/lib/" all))))))))))
2901
2902(define-public sbcl-cl-cffi-gtk-cairo
2903 (package
2904 (inherit sbcl-cl-cffi-gtk-boot0)
2905 (name "sbcl-cl-cffi-gtk-cairo")
2906 (inputs
2907 `(("cairo" ,cairo)
2908 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2909 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2910 (arguments
2911 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2912 #:phases
2913 (modify-phases %standard-phases
2914 (add-after 'unpack 'fix-paths
2915 (lambda* (#:key inputs #:allow-other-keys)
2916 (substitute* "cairo/cairo.init.lisp"
2917 (("libcairo" all)
2918 (string-append
2919 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2920
2921(define-public sbcl-cl-cffi-gtk-pango
2922 (package
2923 (inherit sbcl-cl-cffi-gtk-boot0)
2924 (name "sbcl-cl-cffi-gtk-pango")
2925 (inputs
2926 `(("pango" ,pango)
2927 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2928 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2929 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2930 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2931 (arguments
2932 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2933 #:phases
2934 (modify-phases %standard-phases
2935 (add-after 'unpack 'fix-paths
2936 (lambda* (#:key inputs #:allow-other-keys)
2937 (substitute* "pango/pango.init.lisp"
2938 (("libpango" all)
2939 (string-append
2940 (assoc-ref inputs "pango") "/lib/" all))))))))))
2941
2942(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2943 (package
2944 (inherit sbcl-cl-cffi-gtk-boot0)
2945 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2946 (inputs
2947 `(("gdk-pixbuf" ,gdk-pixbuf)
2948 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2949 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2950 (arguments
2951 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2952 #:phases
2953 (modify-phases %standard-phases
2954 (add-after 'unpack 'fix-paths
2955 (lambda* (#:key inputs #:allow-other-keys)
2956 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2957 (("libgdk_pixbuf" all)
2958 (string-append
2959 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2960
2961(define-public sbcl-cl-cffi-gtk-gdk
2962 (package
2963 (inherit sbcl-cl-cffi-gtk-boot0)
2964 (name "sbcl-cl-cffi-gtk-gdk")
2965 (inputs
2966 `(("gtk" ,gtk+)
2967 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2968 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2969 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
2970 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2971 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
2972 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2973 (arguments
2974 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
2975 #:phases
2976 (modify-phases %standard-phases
2977 (add-after 'unpack 'fix-paths
2978 (lambda* (#:key inputs #:allow-other-keys)
2979 (substitute* "gdk/gdk.init.lisp"
2980 (("libgdk" all)
2981 (string-append
2982 (assoc-ref inputs "gtk") "/lib/" all)))
2983 (substitute* "gdk/gdk.package.lisp"
2984 (("libgtk" all)
2985 (string-append
2986 (assoc-ref inputs "gtk") "/lib/" all))))))))))
2987
2988(define-public sbcl-cl-cffi-gtk
2989 (package
2990 (inherit sbcl-cl-cffi-gtk-boot0)
2991 (name "sbcl-cl-cffi-gtk")
2992 (inputs
2993 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2994 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2995 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
2996 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
2997 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2998 (native-inputs
2999 `(("fiveam" ,sbcl-fiveam)))
3000 (arguments
3001 `(#:asd-file "gtk/cl-cffi-gtk.asd"
3002 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3003 ;; TODO: Tests fail with memory fault.
3004 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3005 #:tests? #f))))
3006
3007(define-public cl-cffi-gtk
3008 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3009
3010(define-public sbcl-cl-webkit
94aab844 3011 (let ((commit "79ad41996a1bd7fc8e53fe8d168e8f2030603b14"))
88f06fd0
PN
3012 (package
3013 (name "sbcl-cl-webkit")
3014 (version (git-version "2.4" "1" commit))
3015 (source
3016 (origin
3017 (method git-fetch)
3018 (uri (git-reference
94aab844 3019 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3020 (commit commit)))
3021 (file-name (git-file-name "cl-webkit" version))
3022 (sha256
3023 (base32
94aab844 3024 "1gxvmxmss5k79v2ccigx92q46zbydxh9r7plnnqh8na348pffgcs"))))
88f06fd0
PN
3025 (build-system asdf-build-system/sbcl)
3026 (inputs
3027 `(("cffi" ,sbcl-cffi)
3028 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3029 ("webkitgtk" ,webkitgtk)))
3030 (arguments
3031 `(#:asd-file "webkit2/cl-webkit2.asd"
3032 #:asd-system-name "cl-webkit2"
3033 #:phases
3034 (modify-phases %standard-phases
3035 (add-after 'unpack 'fix-paths
3036 (lambda* (#:key inputs #:allow-other-keys)
3037 (substitute* "webkit2/webkit2.init.lisp"
3038 (("libwebkit2gtk" all)
3039 (string-append
3040 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3041 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3042 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3043 (description
3044 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3045currently targeting WebKit version 2. The WebKitGTK+ library adds web
3046browsing capabilities to an application, leveraging the full power of the
3047WebKit browsing engine.")
3048 (license license:expat))))
3049
3050(define-public cl-webkit
3051 (sbcl-package->cl-source-package sbcl-cl-webkit))
3052
3053(define-public sbcl-lparallel
3054 (package
3055 (name "sbcl-lparallel")
3056 (version "2.8.4")
3057 (source
3058 (origin
3059 (method git-fetch)
3060 (uri (git-reference
3061 (url "https://github.com/lmj/lparallel/")
3062 (commit (string-append "lparallel-" version))))
3063 (file-name (git-file-name "lparallel" version))
3064 (sha256
3065 (base32
3066 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3067 (build-system asdf-build-system/sbcl)
3068 (inputs
3069 `(("alexandria" ,sbcl-alexandria)
3070 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3071 ("trivial-garbage" ,sbcl-trivial-garbage)))
3072 (home-page "https://lparallel.org/")
3073 (synopsis "Parallelism for Common Lisp")
3074 (description
3075 "@command{lparallel} is a library for parallel programming in Common
3076Lisp, featuring:
3077
3078@itemize
3079@item a simple model of task submission with receiving queue,
3080@item constructs for expressing fine-grained parallelism,
3081@item asynchronous condition handling across thread boundaries,
3082@item parallel versions of map, reduce, sort, remove, and many others,
3083@item promises, futures, and delayed evaluation constructs,
3084@item computation trees for parallelizing interconnected tasks,
3085@item bounded and unbounded FIFO queues,
3086@item high and low priority tasks,
3087@item task killing by category,
3088@item integrated timeouts.
3089@end itemize\n")
3090 (license license:expat)))
3091
3092(define-public cl-lparallel
3093 (sbcl-package->cl-source-package sbcl-lparallel))
3094
3095(define-public ecl-lparallel
3096 (sbcl-package->ecl-package sbcl-lparallel))
3097
3098(define-public sbcl-cl-markup
3099 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3100 (package
3101 (name "sbcl-cl-markup")
3102 (version (git-version "0.1" "1" commit))
3103 (source
3104 (origin
3105 (method git-fetch)
3106 (uri (git-reference
3107 (url "https://github.com/arielnetworks/cl-markup/")
3108 (commit commit)))
3109 (file-name (git-file-name "cl-markup" version))
3110 (sha256
3111 (base32
3112 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3113 (build-system asdf-build-system/sbcl)
3114 (home-page "https://github.com/arielnetworks/cl-markup/")
3115 (synopsis "Markup generation library for Common Lisp")
3116 (description
3117 "A modern markup generation library for Common Lisp that features:
3118
3119@itemize
3120@item Fast (even faster through compiling the code)
3121@item Safety
3122@item Support for multiple document types (markup, xml, html, html5, xhtml)
3123@item Output with doctype
3124@item Direct output to stream
3125@end itemize\n")
3126 (license license:lgpl3+))))
3127
3128(define-public cl-markup
3129 (sbcl-package->cl-source-package sbcl-cl-markup))
3130
3131(define-public ecl-cl-markup
3132 (sbcl-package->ecl-package sbcl-cl-markup))
3133
3134(define-public sbcl-cl-css
3135 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3136 (package
3137 (name "sbcl-cl-css")
3138 (version (git-version "0.1" "1" commit))
3139 (source
3140 (origin
3141 (method git-fetch)
3142 (uri (git-reference
3143 (url "https://github.com/inaimathi/cl-css/")
3144 (commit commit)))
3145 (file-name (git-file-name "cl-css" version))
3146 (sha256
3147 (base32
3148 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3149 (build-system asdf-build-system/sbcl)
3150 (home-page "https://github.com/inaimathi/cl-css/")
3151 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3152 (description
3153 "This is a dead-simple, non validating, inline CSS generator for Common
3154Lisp. Its goals are axiomatic syntax, simple implementation to support
3155portability, and boilerplate reduction in CSS.")
3156 (license license:expat))))
3157
3158(define-public cl-css
3159 (sbcl-package->cl-source-package sbcl-cl-css))
3160
3161(define-public ecl-cl-css
3162 (sbcl-package->ecl-package sbcl-cl-css))
3163
3164(define-public sbcl-portable-threads
3165 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3166 (package
3167 (name "sbcl-portable-threads")
3168 (version (git-version "2.3" "1" commit))
3169 (source
3170 (origin
3171 (method git-fetch)
3172 (uri (git-reference
3173 (url "https://github.com/binghe/portable-threads/")
3174 (commit commit)))
3175 (file-name (git-file-name "portable-threads" version))
3176 (sha256
3177 (base32
3178 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3179 (build-system asdf-build-system/sbcl)
3180 (arguments
3181 `(;; Tests seem broken.
3182 #:tests? #f))
3183 (home-page "https://github.com/binghe/portable-threads")
3184 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3185 (description
3186 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3187Lisp (from GBBopen project).")
3188 (license license:asl2.0))))
3189
3190(define-public cl-portable-threads
3191 (sbcl-package->cl-source-package sbcl-portable-threads))
3192
3193(define-public ecl-portable-threada
3194 (sbcl-package->ecl-package sbcl-portable-threads))
3195
b23e6f5d 3196(define sbcl-usocket-boot0
88f06fd0
PN
3197 ;; usocket's test rely on usocket-server which depends on usocket itself.
3198 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3199 (package
3200 (name "sbcl-usocket-boot0")
3201 (version "0.8.3")
3202 (source
3203 (origin
3204 (method git-fetch)
3205 (uri (git-reference
3206 (url "https://github.com/usocket/usocket/")
3207 (commit (string-append "v" version))))
3208 (file-name (git-file-name "usocket" version))
3209 (sha256
3210 (base32
3211 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3212 (build-system asdf-build-system/sbcl)
3213 (inputs
3214 `(("split-sequence" ,sbcl-split-sequence)))
3215 (arguments
3216 `(#:tests? #f
3217 #:asd-system-name "usocket"))
3218 (home-page "https://common-lisp.net/project/usocket/")
3219 (synopsis "Universal socket library for Common Lisp (server side)")
3220 (description
3221 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3222interface for as many Common Lisp implementations as possible, while keeping
3223the abstraction and portability layer as thin as possible.")
b23e6f5d 3224 (license license:expat)))
88f06fd0
PN
3225
3226(define-public sbcl-usocket-server
3227 (package
3228 (inherit sbcl-usocket-boot0)
3229 (name "sbcl-usocket-server")
3230 (inputs
b23e6f5d
GLV
3231 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3232 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3233 (arguments
3234 '(#:asd-system-name "usocket-server"))
3235 (synopsis "Universal socket library for Common Lisp (server side)")))
3236
3237(define-public cl-usocket-server
3238 (sbcl-package->cl-source-package sbcl-usocket-server))
3239
3240(define-public ecl-socket-server
3241 (sbcl-package->ecl-package sbcl-usocket-server))
3242
3243(define-public sbcl-usocket
3244 (package
3245 (inherit sbcl-usocket-boot0)
3246 (name "sbcl-usocket")
3247 (arguments
3248 ;; FIXME: Tests need network access?
3249 `(#:tests? #f))
3250 (native-inputs
3251 ;; Testing only.
3252 `(("usocket-server" ,sbcl-usocket-server)
3253 ("rt" ,sbcl-rt)))))
3254
3255(define-public cl-usocket
3256 (sbcl-package->cl-source-package sbcl-usocket))
3257
b23e6f5d 3258(define-public ecl-usocket
88f06fd0
PN
3259 (sbcl-package->ecl-package sbcl-usocket))
3260
3261(define-public sbcl-s-xml
3262 (package
3263 (name "sbcl-s-xml")
3264 (version "3")
3265 (source
3266 (origin
3267 (method url-fetch)
3268 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3269 (sha256
3270 (base32
3271 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3272 (build-system asdf-build-system/sbcl)
3273 (home-page "https://common-lisp.net/project/s-xml/")
3274 (synopsis "Simple XML parser implemented in Common Lisp")
3275 (description
3276 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3277parser implementation has the following features:
3278
3279@itemize
3280@item It works (handling many common XML usages).
3281@item It is very small (the core is about 700 lines of code, including
3282comments and whitespace).
3283@item It has a core API that is simple, efficient and pure functional, much
3284like that from SSAX (see also http://ssax.sourceforge.net).
3285@item It supports different DOM models: an XSML-based one, an LXML-based one
3286and a classic xml-element struct based one.
3287@item It is reasonably time and space efficient (internally avoiding garbage
3288generatation as much as possible).
3289@item It does support CDATA.
3290@item It should support the same character sets as your Common Lisp
3291implementation.
3292@item It does support XML name spaces.
3293@end itemize
3294
3295This XML parser implementation has the following limitations:
3296
3297@itemize
3298@item It does not support any special tags (like processing instructions).
3299@item It is not validating, even skips DTD's all together.
3300@end itemize\n")
3301 (license license:lgpl3+)))
3302
3303(define-public cl-s-xml
3304 (sbcl-package->cl-source-package sbcl-s-xml))
3305
3306(define-public ecl-s-xml
3307 (sbcl-package->ecl-package sbcl-s-xml))
3308
3309(define-public sbcl-s-xml-rpc
3310 (package
3311 (name "sbcl-s-xml-rpc")
3312 (version "7")
3313 (source
3314 (origin
3315 (method url-fetch)
3316 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3317 (sha256
3318 (base32
3319 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3320 (build-system asdf-build-system/sbcl)
3321 (inputs
3322 `(("s-xml" ,sbcl-s-xml)))
3323 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3324 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3325 (description
3326 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3327client and server.")
3328 (license license:lgpl3+)))
3329
3330(define-public cl-s-xml-rpc
3331 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3332
3333(define-public ecl-s-xml-rpc
3334 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3335
3336(define-public sbcl-trivial-clipboard
3337 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3338 (package
3339 (name "sbcl-trivial-clipboard")
3340 (version (git-version "0.0.0.0" "2" commit))
3341 (source
3342 (origin
3343 (method git-fetch)
3344 (uri (git-reference
3345 (url "https://github.com/snmsts/trivial-clipboard")
3346 (commit commit)))
3347 (file-name (git-file-name "trivial-clipboard" version))
3348 (sha256
3349 (base32
3350 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3351 (build-system asdf-build-system/sbcl)
3352 (inputs
3353 `(("xclip" ,xclip)))
3354 (native-inputs
3355 `(("fiveam" ,sbcl-fiveam)))
3356 (arguments
3357 `(#:phases
3358 (modify-phases %standard-phases
3359 (add-after 'unpack 'fix-paths
3360 (lambda* (#:key inputs #:allow-other-keys)
3361 (substitute* "src/text.lisp"
3362 (("\\(executable-find \"xclip\"\\)")
3363 (string-append "(executable-find \""
3364 (assoc-ref inputs "xclip")
3365 "/bin/xclip\")"))))))))
3366 (home-page "https://github.com/snmsts/trivial-clipboard")
3367 (synopsis "Access system clipboard in Common Lisp")
3368 (description
3369 "@command{trivial-clipboard} gives access to the system clipboard.")
3370 (license license:expat))))
3371
3372(define-public cl-trivial-clipboard
3373 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3374
3375(define-public ecl-trivial-clipboard
3376 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3377
3378(define-public sbcl-trivial-backtrace
3379 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3380 (revision "1"))
3381 (package
3382 (name "sbcl-trivial-backtrace")
3383 (version (git-version "0.0.0" revision commit))
3384 (source
3385 (origin
3386 (method git-fetch)
3387 (uri (git-reference
3388 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3389 (commit commit)))
3390 (file-name (git-file-name "trivial-backtrace" version))
3391 (sha256
3392 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3393 (build-system asdf-build-system/sbcl)
3394 (inputs
3395 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3396 (arguments
3397 `(#:phases
3398 (modify-phases %standard-phases
3399 (add-after 'check 'delete-test-results
3400 (lambda* (#:key outputs #:allow-other-keys)
3401 (let ((test-results (string-append (assoc-ref outputs "out")
3402 "/share/common-lisp/"
3403 (%lisp-type) "-source"
3404 "/trivial-backtrace"
3405 "/test-results")))
3406 (when (file-exists? test-results)
3407 (delete-file-recursively test-results)))
3408 #t)))))
88f06fd0
PN
3409 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3410 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3411 (description
3412 "On of the many things that didn't quite get into the Common Lisp
3413standard was how to get a Lisp to output its call stack when something has
3414gone wrong. As such, each Lisp has developed its own notion of what to
3415display, how to display it, and what sort of arguments can be used to
3416customize it. @code{trivial-backtrace} is a simple solution to generating a
3417backtrace portably.")
3418 (license license:expat))))
3419
3420(define-public cl-trivial-backtrace
3421 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3422
3423(define-public sbcl-rfc2388
3424 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3425 (revision "1"))
3426 (package
3427 (name "sbcl-rfc2388")
3428 (version (git-version "0.0.0" revision commit))
3429 (source
3430 (origin
3431 (method git-fetch)
3432 (uri (git-reference
3433 (url "https://github.com/jdz/rfc2388.git")
3434 (commit commit)))
3435 (file-name (git-file-name "rfc2388" version))
3436 (sha256
3437 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3438 (build-system asdf-build-system/sbcl)
3439 (home-page "https://github.com/jdz/rfc2388/")
3440 (synopsis "An implementation of RFC 2388 in Common Lisp")
3441 (description
3442 "This package contains an implementation of RFC 2388, which is used to
3443process form data posted with HTTP POST method using enctype
3444\"multipart/form-data\".")
3445 (license license:bsd-2))))
3446
3447(define-public cl-rfc2388
3448 (sbcl-package->cl-source-package sbcl-rfc2388))
3449
3450(define-public sbcl-md5
3451 (package
3452 (name "sbcl-md5")
3453 (version "2.0.4")
3454 (source
3455 (origin
3456 (method url-fetch)
3457 (uri (string-append
3458 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3459 (sha256
3460 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3461 (build-system asdf-build-system/sbcl)
3462 (home-page "https://github.com/pmai/md5")
3463 (synopsis
3464 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3465 (description
3466 "This package implements The MD5 Message-Digest Algorithm, as defined in
3467RFC 1321 by R. Rivest, published April 1992.")
3468 (license license:public-domain)))
3469
3470(define-public cl-md5
3471 (sbcl-package->cl-source-package sbcl-md5))
3472
3473(define-public sbcl-cl+ssl
3474 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3475 (revision "1"))
3476 (package
3477 (name "sbcl-cl+ssl")
3478 (version (git-version "0.0.0" revision commit))
3479 (source
3480 (origin
3481 (method git-fetch)
3482 (uri (git-reference
3483 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3484 (commit commit)))
3485 (file-name (git-file-name "cl+ssl" version))
3486 (sha256
3487 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3488 (build-system asdf-build-system/sbcl)
3489 (arguments
3490 '(#:phases
3491 (modify-phases %standard-phases
3492 (add-after 'unpack 'fix-paths
3493 (lambda* (#:key inputs #:allow-other-keys)
3494 (substitute* "src/reload.lisp"
3495 (("libssl.so" all)
3496 (string-append
3497 (assoc-ref inputs "openssl") "/lib/" all))))))))
3498 (inputs
3499 `(("openssl" ,openssl)
3500 ("sbcl-cffi" ,sbcl-cffi)
3501 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3502 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3503 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3504 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3505 ("sbcl-alexandria" ,sbcl-alexandria)
3506 ("sbcl-trivial-features" ,sbcl-trivial-features)))
3507 (home-page "http://common-lisp.net/project/cl-plus-ssl/")
3508 (synopsis "Common Lisp bindings to OpenSSL")
3509 (description
3510 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3511code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3512Development into CL+SSL was done by David Lichteblau.")
3513 (license license:expat))))
3514
3515(define-public cl-cl+ssl
3516 (sbcl-package->cl-source-package sbcl-cl+ssl))
3517
3518(define-public sbcl-kmrcl
3519 (let ((version "1.109.0")
3520 (commit "5260068b2eb735af6796740c2db4955afac21636")
3521 (revision "1"))
3522 (package
3523 (name "sbcl-kmrcl")
3524 (version (git-version version revision commit))
3525 (source
3526 (origin
3527 (method git-fetch)
3528 (uri (git-reference
3529 (url "http://git.kpe.io/kmrcl.git/")
3530 (commit commit)))
3531 (file-name (git-file-name name version))
3532 (sha256
3533 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3534 (build-system asdf-build-system/sbcl)
3535 (arguments
3536 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3537 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3538 '(#:tests? #f))
3539 (inputs
3540 `(("sbcl-rt" ,sbcl-rt)))
3541 (home-page "http://files.kpe.io/kmrcl/")
3542 (synopsis "General utilities for Common Lisp programs")
3543 (description
3544 "KMRCL is a collection of utilities used by a number of Kevin
3545Rosenberg's CL packages.")
3546 (license license:llgpl))))
3547
3548(define-public cl-kmrcl
3549 (sbcl-package->cl-source-package sbcl-kmrcl))
3550
3551(define-public sbcl-cl-base64
3552 (let ((version "3.3.3"))
3553 (package
3554 (name "sbcl-cl-base64")
3555 (version version)
3556 (source
3557 (origin
3558 (method git-fetch)
3559 (uri (git-reference
3560 (url "http://git.kpe.io/cl-base64.git")
3561 (commit (string-append "v" version))))
3562 (file-name (git-file-name "cl-base64" version))
3563 (sha256
3564 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3565 (build-system asdf-build-system/sbcl)
3566 (arguments
3567 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3568 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3569 ;; to toplevel
3570 '(#:tests? #f))
3571 (inputs
3572 `(("sbcl-ptester" ,sbcl-ptester)
3573 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3574 (home-page "http://files.kpe.io/cl-base64/")
3575 (synopsis
3576 "Common Lisp package to encode and decode base64 with URI support")
3577 (description
3578 "This package provides highly optimized base64 encoding and decoding.
3579Besides conversion to and from strings, integer conversions are supported.
3580Encoding with Uniform Resource Identifiers is supported by using a modified
3581encoding table that uses only URI-compatible characters.")
3582 (license license:bsd-3))))
3583
3584(define-public cl-base64
3585 (sbcl-package->cl-source-package sbcl-cl-base64))
3586
3587(define-public sbcl-chunga
3588 (package
3589 (name "sbcl-chunga")
3590 (version "1.1.7")
3591 (source
3592 (origin
3593 (method git-fetch)
3594 (uri (git-reference
3595 (url "https://github.com/edicl/chunga.git")
3596 (commit (string-append "v" version))))
3597 (file-name (git-file-name name version))
3598 (sha256
3599 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3600 (build-system asdf-build-system/sbcl)
3601 (inputs
3602 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3603 (home-page "https://edicl.github.io/chunga/")
3604 (synopsis "Portable chunked streams for Common Lisp")
3605 (description
3606 "Chunga implements streams capable of chunked encoding on demand as
3607defined in RFC 2616.")
3608 (license license:bsd-2)))
3609
3610(define-public cl-chunga
3611 (sbcl-package->cl-source-package sbcl-chunga))
3612
3613(define-public sbcl-cl-who
3614 (let ((version "1.1.4")
3615 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3616 (revision "1"))
3617 (package
3618 (name "sbcl-cl-who")
3619 (version (git-version version revision commit))
3620 (source
3621 (origin
3622 (method git-fetch)
3623 (uri (git-reference
3624 (url "https://github.com/edicl/cl-who.git")
3625 (commit commit)))
3626 (file-name (git-file-name name version))
3627 (sha256
3628 (base32
3629 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3630 (build-system asdf-build-system/sbcl)
3631 (native-inputs
3632 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3633 (home-page "https://edicl.github.io/cl-who/")
3634 (synopsis "Yet another Lisp markup language")
3635 (description
3636 "There are plenty of Lisp Markup Languages out there - every Lisp
3637programmer seems to write at least one during his career - and CL-WHO (where
3638WHO means \"with-html-output\" for want of a better acronym) is probably just
3639as good or bad as the next one.")
3640 (license license:bsd-2))))
3641
3642(define-public cl-cl-who
3643 (sbcl-package->cl-source-package sbcl-cl-who))
3644
3645(define-public sbcl-chipz
3646 (let ((version "0.8")
3647 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3648 (revision "1"))
3649 (package
3650 (name "sbcl-chipz")
3651 (version (git-version version revision commit))
3652 (source
3653 (origin
3654 (method git-fetch)
3655 (uri (git-reference
3656 (url "https://github.com/froydnj/chipz.git")
3657 (commit commit)))
3658 (file-name (git-file-name name version))
3659 (sha256
3660 (base32
3661 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3662 (build-system asdf-build-system/sbcl)
3663 (native-inputs
3664 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3665 (home-page "http://method-combination.net/lisp/chipz/")
3666 (synopsis
3667 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3668data")
3669 (description
3670 "DEFLATE data, defined in RFC1951, forms the core of popular
3671compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3672Chipz also provides for decompressing data in those formats as well. BZIP2 is
3673the format used by the popular compression tool bzip2.")
3674 ;; The author describes it as "MIT-like"
3675 (license license:expat))))
3676
3677(define-public cl-chipz
3678 (sbcl-package->cl-source-package sbcl-chipz))
3679
3680(define-public sbcl-drakma
a2b6b973
GLV
3681 (package
3682 (name "sbcl-drakma")
3683 (version "2.0.7")
3684 (source
3685 (origin
3686 (method git-fetch)
3687 (uri (git-reference
3688 (url "https://github.com/edicl/drakma.git")
3689 (commit (string-append "v" version))))
3690 (file-name (git-file-name name version))
3691 (sha256
3692 (base32
3693 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3694 (build-system asdf-build-system/sbcl)
3695 (inputs
3696 `(("sbcl-puri" ,sbcl-puri)
3697 ("sbcl-cl-base64" ,sbcl-cl-base64)
3698 ("sbcl-chunga" ,sbcl-chunga)
3699 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3700 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3701 ("sbcl-chipz" ,sbcl-chipz)
3702 ("sbcl-usocket" ,sbcl-usocket)
3703 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3704 (native-inputs
3705 `(("sbcl-fiveam" ,sbcl-fiveam)))
3706 (home-page "https://edicl.github.io/drakma/")
3707 (synopsis "HTTP client written in Common Lisp")
3708 (description
3709 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3710knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3711sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3712 (license license:bsd-2)))
88f06fd0
PN
3713
3714(define-public cl-drakma
3715 (sbcl-package->cl-source-package sbcl-drakma))
3716
10ac723b
GLV
3717(define-public ecl-drakma
3718 (sbcl-package->ecl-package sbcl-drakma))
3719
88f06fd0
PN
3720(define-public sbcl-hunchentoot
3721 (package
3722 (name "sbcl-hunchentoot")
3723 (version "1.2.38")
3724 (source
3725 (origin
3726 (method git-fetch)
3727 (uri (git-reference
3728 (url "https://github.com/edicl/hunchentoot.git")
3729 (commit (string-append "v" version))))
3730 (file-name (git-file-name "hunchentoot" version))
3731 (sha256
3732 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3733 (build-system asdf-build-system/sbcl)
3734 (native-inputs
3735 `(("sbcl-cl-who" ,sbcl-cl-who)
3736 ("sbcl-drakma" ,sbcl-drakma)))
3737 (inputs
3738 `(("sbcl-chunga" ,sbcl-chunga)
3739 ("sbcl-cl-base64" ,sbcl-cl-base64)
3740 ("sbcl-cl-fad" ,sbcl-cl-fad)
3741 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3742 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3743 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3744 ("sbcl-md5" ,sbcl-md5)
3745 ("sbcl-rfc2388" ,sbcl-rfc2388)
3746 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3747 ("sbcl-usocket" ,sbcl-usocket)))
3748 (home-page "https://edicl.github.io/hunchentoot/")
3749 (synopsis "Web server written in Common Lisp")
3750 (description
3751 "Hunchentoot is a web server written in Common Lisp and at the same
3752time a toolkit for building dynamic websites. As a stand-alone web server,
3753Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3754connections (keep-alive), and SSL.")
3755 (license license:bsd-2)))
3756
3757(define-public cl-hunchentoot
3758 (sbcl-package->cl-source-package sbcl-hunchentoot))
3759
3760(define-public sbcl-trivial-types
3761 (package
3762 (name "sbcl-trivial-types")
3763 (version "0.0.1")
3764 (source
3765 (origin
3766 (method git-fetch)
3767 (uri (git-reference
3768 (url "https://github.com/m2ym/trivial-types.git")
3769 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3770 (file-name (git-file-name name version))
3771 (sha256
3772 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3773 (build-system asdf-build-system/sbcl)
3774 (home-page "https://github.com/m2ym/trivial-types")
3775 (synopsis "Trivial type definitions for Common Lisp")
3776 (description
3777 "TRIVIAL-TYPES provides missing but important type definitions such as
3778PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3779 (license license:llgpl)))
3780
3781(define-public cl-trivial-types
3782 (sbcl-package->cl-source-package sbcl-trivial-types))
3783
3784(define-public sbcl-cl-syntax
3785 (package
3786 (name "sbcl-cl-syntax")
3787 (version "0.0.3")
3788 (source
3789 (origin
3790 (method git-fetch)
3791 (uri (git-reference
3792 (url "https://github.com/m2ym/cl-syntax.git")
3793 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3794 (file-name (git-file-name "cl-syntax" version))
3795 (sha256
3796 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3797 (build-system asdf-build-system/sbcl)
3798 (arguments
3799 '(#:asd-file "cl-syntax.asd"
3800 #:asd-system-name "cl-syntax"))
3801 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3802 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3803 (home-page "https://github.com/m2ym/cl-syntax")
3804 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3805 (description
3806 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3807 (license license:llgpl)))
3808
3809(define-public cl-syntax
3810 (sbcl-package->cl-source-package sbcl-cl-syntax))
3811
3812(define-public sbcl-cl-annot
3813 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3814 (revision "1"))
3815 (package
3816 (name "sbcl-cl-annot")
3817 (version (git-version "0.0.0" revision commit))
3818 (source
3819 (origin
3820 (method git-fetch)
3821 (uri (git-reference
3822 (url "https://github.com/m2ym/cl-annot.git")
3823 (commit commit)))
3824 (file-name (git-file-name name version))
3825 (sha256
3826 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3827 (build-system asdf-build-system/sbcl)
3828 (arguments
3829 '(#:asd-file "cl-annot.asd"
3830 #:asd-system-name "cl-annot"))
3831 (inputs
3832 `(("sbcl-alexandria" ,sbcl-alexandria)))
3833 (home-page "https://github.com/m2ym/cl-annot")
3834 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3835 (description
3836 "@code{cl-annot} is an general annotation library for Common Lisp.")
3837 (license license:llgpl))))
3838
3839(define-public cl-annot
3840 (sbcl-package->cl-source-package sbcl-cl-annot))
3841
3842(define-public sbcl-cl-syntax-annot
3843 (package
3844 (name "sbcl-cl-syntax-annot")
3845 (version "0.0.3")
3846 (source
3847 (origin
3848 (method git-fetch)
3849 (uri (git-reference
3850 (url "https://github.com/m2ym/cl-syntax.git")
3851 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3852 (file-name (git-file-name name version))
3853 (sha256
3854 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3855 (build-system asdf-build-system/sbcl)
3856 (arguments
3857 '(#:asd-file "cl-syntax-annot.asd"
3858 #:asd-system-name "cl-syntax-annot"))
3859 (inputs
3860 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3861 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3862 (home-page "https://github.com/m2ym/cl-syntax")
3863 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3864 (description
3865 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3866SLIME.")
3867 (license license:llgpl)))
3868
3869(define-public cl-syntax-annot
3870 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3871
3872(define-public sbcl-cl-utilities
3873 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3874 (revision "1"))
3875 (package
3876 (name "sbcl-cl-utilities")
3877 (version (git-version "0.0.0" revision commit))
3878 (source
3879 (origin
3880 (method url-fetch)
3881 (uri
3882 (string-append
3883 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3884 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3885 (sha256
3886 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3887 (build-system asdf-build-system/sbcl)
3888 (arguments
3889 '(#:asd-file "cl-utilities.asd"
3890 #:asd-system-name "cl-utilities"
3891 #:phases
3892 (modify-phases %standard-phases
3893 (add-after 'unpack 'fix-paths
3894 (lambda* (#:key inputs #:allow-other-keys)
3895 (substitute* "rotate-byte.lisp"
3896 (("in-package :cl-utilities)" all)
3897 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3898 (home-page "http://common-lisp.net/project/cl-utilities")
3899 (synopsis "A collection of semi-standard utilities")
3900 (description
3901 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3902is a collection of Common Lisp Utilities, things that everybody writes since
3903they're not part of the official standard. There are some very useful things
3904there; the only problems are that they aren't implemented as well as you'd
3905like (some aren't implemented at all) and they aren't conveniently packaged
3906and maintained. It takes quite a bit of work to carefully implement utilities
3907for common use, commented and documented, with error checking placed
3908everywhere some dumb user might make a mistake.")
3909 (license license:public-domain))))
3910
3911(define-public cl-utilities
3912 (sbcl-package->cl-source-package sbcl-cl-utilities))
3913
3914(define-public sbcl-map-set
3915 (let ((commit "7b4b545b68b8")
3916 (revision "1"))
3917 (package
3918 (name "sbcl-map-set")
3919 (version (git-version "0.0.0" revision commit))
3920 (source
3921 (origin
3922 (method url-fetch)
3923 (uri (string-append
3924 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3925 commit ".tar.gz"))
3926 (sha256
3927 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3928 (build-system asdf-build-system/sbcl)
3929 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3930 (synopsis "Set-like data structure")
3931 (description
3932 "Implementation of a set-like data structure with constant time
3933addition, removal, and random selection.")
3934 (license license:bsd-3))))
3935
3936(define-public cl-map-set
3937 (sbcl-package->cl-source-package sbcl-map-set))
3938
3939(define-public sbcl-quri
3940 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3941 (revision "1"))
3942 (package
3943 (name "sbcl-quri")
3944 (version (git-version "0.1.0" revision commit))
3945 (source
3946 (origin
3947 (method git-fetch)
3948 (uri (git-reference
3949 (url "https://github.com/fukamachi/quri.git")
3950 (commit commit)))
3951 (file-name (git-file-name name version))
3952 (sha256
3953 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3954 (build-system asdf-build-system/sbcl)
3955 (arguments
3956 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3957 ;; required by #<SYSTEM "quri">. Why?
3958 '(#:tests? #f))
3959 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3960 ("sbcl-prove" ,sbcl-prove)))
3961 (inputs `(("sbcl-babel" ,sbcl-babel)
3962 ("sbcl-split-sequence" ,sbcl-split-sequence)
3963 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
3964 ("sbcl-alexandria" ,sbcl-alexandria)))
3965 (home-page "https://github.com/fukamachi/quri")
3966 (synopsis "Yet another URI library for Common Lisp")
3967 (description
3968 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
3969Lisp. It is intended to be a replacement of PURI.")
3970 (license license:bsd-3))))
3971
3972(define-public cl-quri
3973 (sbcl-package->cl-source-package sbcl-quri))
3974
3975(define-public sbcl-myway
3976 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
3977 (revision "1"))
3978 (package
3979 (name "sbcl-myway")
3980 (version (git-version "0.1.0" revision commit))
3981 (source
3982 (origin
3983 (method git-fetch)
3984 (uri (git-reference
3985 (url "https://github.com/fukamachi/myway.git")
3986 (commit commit)))
3987 (file-name (git-file-name "myway" version))
3988 (sha256
3989 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
3990 (build-system asdf-build-system/sbcl)
3991 (arguments
3992 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
3993 ;; by #<SYSTEM "myway">. Why?
3994 '(#:tests? #f))
3995 (native-inputs
3996 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3997 ("sbcl-prove" ,sbcl-prove)))
3998 (inputs
3999 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4000 ("sbcl-quri" ,sbcl-quri)
4001 ("sbcl-map-set" ,sbcl-map-set)))
4002 (home-page "https://github.com/fukamachi/myway")
4003 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4004 (description "My Way is a Sinatra-compatible URL routing library.")
4005 (license license:llgpl))))
4006
4007(define-public cl-myway
4008 (sbcl-package->cl-source-package sbcl-myway))
4009
4010(define-public sbcl-xsubseq
4011 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4012 (revision "1"))
4013 (package
4014 (name "sbcl-xsubseq")
4015 (version (git-version "0.0.1" revision commit))
4016 (source
4017 (origin
4018 (method git-fetch)
4019 (uri (git-reference
4020 (url "https://github.com/fukamachi/xsubseq")
4021 (commit commit)))
4022 (file-name (git-file-name name version))
4023 (sha256
4024 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4025 (build-system asdf-build-system/sbcl)
4026 (arguments
4027 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4028 ;; required by #<SYSTEM "xsubseq">. Why?
4029 '(#:tests? #f))
4030 (native-inputs
4031 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4032 ("sbcl-prove" ,sbcl-prove)))
4033 (home-page "https://github.com/fukamachi/xsubseq")
4034 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4035 (description
4036 "XSubseq provides functions to be able to handle \"subseq\"s more
4037effieiently.")
4038 (license license:bsd-2))))
4039
4040(define-public cl-xsubseq
4041 (sbcl-package->cl-source-package sbcl-xsubseq))
4042
4043(define-public sbcl-smart-buffer
4044 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4045 (revision "1"))
4046 (package
4047 (name "sbcl-smart-buffer")
4048 (version (git-version "0.0.1" revision commit))
4049 (source
4050 (origin
4051 (method git-fetch)
4052 (uri (git-reference
4053 (url "https://github.com/fukamachi/smart-buffer")
4054 (commit commit)))
4055 (file-name (git-file-name name version))
4056 (sha256
4057 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4058 (build-system asdf-build-system/sbcl)
4059 (arguments
4060 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4061 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4062 `(#:tests? #f))
4063 (native-inputs
4064 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4065 ("sbcl-prove" ,sbcl-prove)))
4066 (inputs
4067 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4068 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4069 (home-page "https://github.com/fukamachi/smart-buffer")
4070 (synopsis "Smart octets buffer")
4071 (description
4072 "Smart-buffer provides an output buffer which changes the destination
4073depending on content size.")
4074 (license license:bsd-3))))
4075
4076(define-public cl-smart-buffer
4077 (sbcl-package->cl-source-package sbcl-smart-buffer))
4078
4079(define-public sbcl-fast-http
4080 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4081 (revision "1"))
4082 (package
4083 (name "sbcl-fast-http")
4084 (version (git-version "0.2.0" revision commit))
4085 (source
4086 (origin
4087 (method git-fetch)
4088 (uri (git-reference
4089 (url "https://github.com/fukamachi/fast-http")
4090 (commit commit)))
4091 (file-name (git-file-name name version))
4092 (sha256
4093 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4094 (build-system asdf-build-system/sbcl)
4095 (arguments
4096 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4097 ;; required by #<SYSTEM "fast-http">. Why?
4098 `(#:tests? #f))
4099 (native-inputs
4100 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4101 ("sbcl-prove" ,sbcl-prove)))
4102 (inputs
4103 `(("sbcl-alexandria" ,sbcl-alexandria)
4104 ("sbcl-proc-parse" ,sbcl-proc-parse)
4105 ("sbcl-xsubseq" ,sbcl-xsubseq)
4106 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4107 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4108 (home-page "https://github.com/fukamachi/fast-http")
4109 (synopsis "HTTP request/response parser for Common Lisp")
4110 (description
4111 "@code{fast-http} is a HTTP request/response protocol parser for Common
4112Lisp.")
4113 ;; Author specified the MIT license
4114 (license license:expat))))
4115
4116(define-public cl-fast-http
4117 (sbcl-package->cl-source-package sbcl-fast-http))
4118
4119(define-public sbcl-static-vectors
ba55cbda
GLV
4120 (package
4121 (name "sbcl-static-vectors")
4122 (version "1.8.4")
4123 (source
4124 (origin
88f06fd0
PN
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4128 (commit (string-append "v" version))))
88f06fd0
PN
4129 (file-name (git-file-name name version))
4130 (sha256
ba55cbda
GLV
4131 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4132 (native-inputs
4133 `(("sbcl-fiveam" ,sbcl-fiveam)))
4134 (inputs
4135 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4136 ("sbcl-cffi" ,sbcl-cffi)))
4137 (build-system asdf-build-system/sbcl)
6b40dbff 4138 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4139 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4140 (description
4141 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4142memory.")
ba55cbda 4143 (license license:expat)))
88f06fd0
PN
4144
4145(define-public cl-static-vectors
4146 (sbcl-package->cl-source-package sbcl-static-vectors))
4147
f6a6f085
GLV
4148(define-public ecl-static-vectors
4149 (sbcl-package->ecl-package sbcl-static-vectors))
4150
88f06fd0
PN
4151(define-public sbcl-marshal
4152 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4153 (revision "1"))
4154 (package
4155 (name "sbcl-marshal")
4156 (version (git-version "1.3.0" revision commit))
4157 (source
4158 (origin
4159 (method git-fetch)
4160 (uri (git-reference
4161 (url "https://github.com/wlbr/cl-marshal.git")
4162 (commit commit)))
4163 (file-name (git-file-name name version))
4164 (sha256
4165 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4166 (build-system asdf-build-system/sbcl)
4167 (home-page "https://github.com/wlbr/cl-marshal")
4168 (synopsis "Simple (de)serialization of Lisp datastructures")
4169 (description
4170 "Simple and fast marshalling of Lisp datastructures. Convert any object
4171into a string representation, put it on a stream an revive it from there.
4172Only minimal changes required to make your CLOS objects serializable.")
4173 (license license:expat))))
4174
4175(define-public cl-marshal
4176 (sbcl-package->cl-source-package sbcl-marshal))
4177
4178(define-public sbcl-checkl
4179 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4180 (revision "1"))
4181 (package
4182 (name "sbcl-checkl")
4183 (version (git-version "0.0.0" revision commit))
4184 (source
4185 (origin
4186 (method git-fetch)
4187 (uri (git-reference
4188 (url "https://github.com/rpav/CheckL.git")
4189 (commit commit)))
4190 (file-name (git-file-name name version))
4191 (sha256
4192 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4193 (build-system asdf-build-system/sbcl)
4194 (arguments
4195 ;; Error while trying to load definition for system checkl-test from
4196 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4197 ;; is undefined.
4198 '(#:tests? #f))
4199 (native-inputs
4200 `(("sbcl-fiveam" ,sbcl-fiveam)))
4201 (inputs
4202 `(("sbcl-marshal" ,sbcl-marshal)))
4203 (home-page "https://github.com/rpav/CheckL/")
4204 (synopsis "Dynamic testing for Common Lisp")
4205 (description
4206 "CheckL lets you write tests dynamically, it checks resulting values
4207against the last run.")
4208 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4209 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4210 ;; stronger of the two and so I think only listing this should suffice.
4211 (license license:llgpl))))
4212
4213(define-public cl-checkl
4214 (sbcl-package->cl-source-package sbcl-checkl))
4215
4216(define-public sbcl-fast-io
4217 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4218 (revision "1"))
4219 (package
4220 (name "sbcl-fast-io")
4221 (version (git-version "1.0.0" revision commit))
4222 (source
4223 (origin
4224 (method git-fetch)
4225 (uri (git-reference
4226 (url "https://github.com/rpav/fast-io.git")
4227 (commit commit)))
4228 (file-name (git-file-name name version))
4229 (sha256
4230 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4231 (build-system asdf-build-system/sbcl)
4232 (arguments
4233 ;; Error while trying to load definition for system fast-io-test from
4234 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4235 ;; is undefined.
4236 '(#:tests? #f))
4237 (native-inputs
4238 `(("sbcl-fiveam" ,sbcl-fiveam)
4239 ("sbcl-checkl" ,sbcl-checkl)))
4240 (inputs
4241 `(("sbcl-alexandria" ,sbcl-alexandria)
4242 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4243 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4244 (home-page "https://github.com/rpav/fast-io")
4245 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4246 (description
4247 "Fast-io is about improving performance to octet-vectors and octet
4248streams (though primarily the former, while wrapping the latter).")
4249 ;; Author specifies this as NewBSD which is an alias
4250 (license license:bsd-3))))
4251
4252(define-public cl-fast-io
4253 (sbcl-package->cl-source-package sbcl-fast-io))
4254
4255(define-public sbcl-jonathan
4256 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4257 (revision "1"))
4258 (package
4259 (name "sbcl-jonathan")
4260 (version (git-version "0.1.0" revision commit))
4261 (source
4262 (origin
4263 (method git-fetch)
4264 (uri (git-reference
4265 (url "https://github.com/Rudolph-Miller/jonathan.git")
4266 (commit commit)))
4267 (file-name (git-file-name name version))
4268 (sha256
4269 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4270 (build-system asdf-build-system/sbcl)
4271 (arguments
4272 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4273 ;; required by #<SYSTEM "jonathan">. Why?
4274 `(#:tests? #f))
4275 (native-inputs
4276 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4277 ("sbcl-prove" ,sbcl-prove)))
4278 (inputs
4279 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4280 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4281 ("sbcl-fast-io" ,sbcl-fast-io)
4282 ("sbcl-proc-parse" ,sbcl-proc-parse)
4283 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
4284 (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
4285 (synopsis "JSON encoder and decoder")
4286 (description
4287 "High performance JSON encoder and decoder. Currently support: SBCL,
4288CCL.")
4289 ;; Author specifies the MIT license
4290 (license license:expat))))
4291
4292(define-public cl-jonathan
4293 (sbcl-package->cl-source-package sbcl-jonathan))
4294
4295(define-public sbcl-http-body
4296 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4297 (revision "1"))
4298 (package
4299 (name "sbcl-http-body")
4300 (version (git-version "0.1.0" revision commit))
4301 (source
4302 (origin
4303 (method git-fetch)
4304 (uri (git-reference
4305 (url "https://github.com/fukamachi/http-body")
4306 (commit commit)))
4307 (file-name (git-file-name name version))
4308 (sha256
4309 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4310 (build-system asdf-build-system/sbcl)
4311 (arguments
4312 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4313 ;; found, required by #<SYSTEM "http-body">. Why?
4314 `(#:tests? #f))
4315 (native-inputs
4316 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4317 ("sbcl-prove" ,sbcl-prove)))
4318 (inputs
4319 `(("sbcl-fast-http" ,sbcl-fast-http)
4320 ("sbcl-jonathan" ,sbcl-jonathan)
4321 ("sbcl-quri" ,sbcl-quri)))
4322 (home-page "https://github.com/fukamachi/http-body")
4323 (synopsis "HTTP POST data parser")
4324 (description
4325 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4326supports application/x-www-form-urlencoded, application/json, and
4327multipart/form-data.")
4328 (license license:bsd-2))))
4329
4330(define-public cl-http-body
4331 (sbcl-package->cl-source-package sbcl-http-body))
4332
4333(define-public sbcl-circular-streams
4334 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4335 (revision "1"))
4336 (package
4337 (name "sbcl-circular-streams")
4338 (version (git-version "0.1.0" revision commit))
4339 (source
4340 (origin
4341 (method git-fetch)
4342 (uri (git-reference
4343 (url "https://github.com/fukamachi/circular-streams")
4344 (commit commit)))
4345 (file-name (git-file-name name version))
4346 (sha256
4347 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4348 (build-system asdf-build-system/sbcl)
4349 (arguments
4350 ;; The tests depend on cl-test-more which is now prove. Prove
4351 ;; tests aren't working for some reason.
4352 `(#:tests? #f))
4353 (inputs
4354 `(("sbcl-fast-io" ,sbcl-fast-io)
4355 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4356 (home-page "https://github.com/fukamachi/circular-streams")
4357 (synopsis "Circularly readable streams for Common Lisp")
4358 (description
4359 "Circular-Streams allows you to read streams circularly by wrapping real
4360streams. Once you reach end-of-file of a stream, it's file position will be
4361reset to 0 and you're able to read it again.")
4362 (license license:llgpl))))
4363
4364(define-public cl-circular-streams
4365 (sbcl-package->cl-source-package sbcl-circular-streams))
4366
4367(define-public sbcl-lack-request
4368 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4369 (revision "1"))
4370 (package
4371 (name "sbcl-lack-request")
4372 (version (git-version "0.1.0" revision commit))
4373 (source
4374 (origin
4375 (method git-fetch)
4376 (uri (git-reference
4377 (url "https://github.com/fukamachi/lack.git")
4378 (commit commit)))
4379 (file-name (git-file-name "lack-request" version))
4380 (sha256
4381 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4382 (build-system asdf-build-system/sbcl)
4383 (arguments
4384 '(#:asd-file "lack-request.asd"
4385 #:asd-system-name "lack-request"
4386 #:test-asd-file "t-lack-request.asd"
4387 ;; XXX: Component :CLACK-TEST not found
4388 #:tests? #f))
4389 (native-inputs
4390 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4391 ("sbcl-prove" ,sbcl-prove)))
4392 (inputs
4393 `(("sbcl-quri" ,sbcl-quri)
4394 ("sbcl-http-body" ,sbcl-http-body)
4395 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4396 (home-page "https://github.com/fukamachi/lack")
4397 (synopsis "Lack, the core of Clack")
4398 (description
4399 "Lack is a Common Lisp library which allows web applications to be
4400constructed of modular components. It was originally a part of Clack, however
4401it's going to be rewritten as an individual project since Clack v2 with
4402performance and simplicity in mind.")
4403 (license license:llgpl))))
4404
4405(define-public cl-lack-request
4406 (sbcl-package->cl-source-package sbcl-lack-request))
4407
4408(define-public sbcl-local-time
4409 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4410 (revision "1"))
4411 (package
4412 (name "sbcl-local-time")
4413 (version (git-version "1.0.6" revision commit))
4414 (source
4415 (origin
4416 (method git-fetch)
4417 (uri (git-reference
4418 (url "https://github.com/dlowe-net/local-time.git")
4419 (commit commit)))
4420 (file-name (git-file-name name version))
4421 (sha256
4422 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4423 (build-system asdf-build-system/sbcl)
4424 (arguments
4425 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4426 ;; "local-time/test">
4427 '(#:tests? #f))
4428 (native-inputs
4429 `(("stefil" ,sbcl-hu.dwim.stefil)))
4430 (inputs
4431 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4432 (home-page "https://common-lisp.net/project/local-time/")
4433 (synopsis "Time manipulation library for Common Lisp")
4434 (description
4435 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4436dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4437Long Painful History of Time\".")
4438 (license license:expat))))
4439
4440(define-public cl-local-time
4441 (sbcl-package->cl-source-package sbcl-local-time))
4442
4443(define-public sbcl-lack-response
4444 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4445 (revision "1"))
4446 (package
4447 (name "sbcl-lack-response")
4448 (version (git-version "0.1.0" revision commit))
4449 (source
4450 (origin
4451 (method git-fetch)
4452 (uri (git-reference
4453 (url "https://github.com/fukamachi/lack.git")
4454 (commit commit)))
4455 (file-name (git-file-name name version))
4456 (sha256
4457 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4458 (build-system asdf-build-system/sbcl)
4459 (arguments
4460 '(#:asd-file "lack-response.asd"
4461 #:asd-system-name "lack-response"
4462 ;; XXX: no tests for lack-response.
4463 #:tests? #f))
4464 (native-inputs
4465 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4466 ("sbcl-prove" ,sbcl-prove)))
4467 (inputs
4468 `(("sbcl-quri" ,sbcl-quri)
4469 ("sbcl-http-body" ,sbcl-http-body)
4470 ("sbcl-circular-streams" ,sbcl-circular-streams)
4471 ("sbcl-local-time" ,sbcl-local-time)))
4472 (home-page "https://github.com/fukamachi/lack")
4473 (synopsis "Lack, the core of Clack")
4474 (description
4475 "Lack is a Common Lisp library which allows web applications to be
4476constructed of modular components. It was originally a part of Clack, however
4477it's going to be rewritten as an individual project since Clack v2 with
4478performance and simplicity in mind.")
4479 (license license:llgpl))))
4480
4481(define-public cl-lack-response
4482 (sbcl-package->cl-source-package sbcl-lack-response))
4483
4484(define-public sbcl-lack-component
4485 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4486 (revision "1"))
4487 (package
4488 (name "sbcl-lack-component")
4489 (version (git-version "0.0.0" revision commit))
4490 (source
4491 (origin
4492 (method git-fetch)
4493 (uri (git-reference
4494 (url "https://github.com/fukamachi/lack.git")
4495 (commit commit)))
4496 (file-name (git-file-name "lack-component" version))
4497 (sha256
4498 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4499 (build-system asdf-build-system/sbcl)
4500 (arguments
4501 '(#:asd-file "lack-component.asd"
4502 #:asd-system-name "lack-component"
4503 #:test-asd-file "t-lack-component.asd"
4504 ;; XXX: Component :LACK-TEST not found
4505 #:tests? #f))
4506 (native-inputs
4507 `(("prove-asdf" ,sbcl-prove-asdf)))
4508 (home-page "https://github.com/fukamachi/lack")
4509 (synopsis "Lack, the core of Clack")
4510 (description
4511 "Lack is a Common Lisp library which allows web applications to be
4512constructed of modular components. It was originally a part of Clack, however
4513it's going to be rewritten as an individual project since Clack v2 with
4514performance and simplicity in mind.")
4515 (license license:llgpl))))
4516
4517(define-public cl-lack-component
4518 (sbcl-package->cl-source-package sbcl-lack-component))
4519
4520(define-public sbcl-lack-util
4521 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4522 (revision "1"))
4523 (package
4524 (name "sbcl-lack-util")
4525 (version (git-version "0.1.0" revision commit))
4526 (source
4527 (origin
4528 (method git-fetch)
4529 (uri (git-reference
4530 (url "https://github.com/fukamachi/lack.git")
4531 (commit commit)))
4532 (file-name (git-file-name "lack-util" version))
4533 (sha256
4534 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4535 (build-system asdf-build-system/sbcl)
4536 (arguments
4537 '(#:asd-file "lack-util.asd"
4538 #:asd-system-name "lack-util"
4539 #:test-asd-file "t-lack-util.asd"
4540 ;; XXX: Component :LACK-TEST not found
4541 #:tests? #f))
4542 (native-inputs
4543 `(("prove-asdf" ,sbcl-prove-asdf)))
4544 (inputs
4545 `(("sbcl-ironclad" ,sbcl-ironclad)))
4546 (home-page "https://github.com/fukamachi/lack")
4547 (synopsis "Lack, the core of Clack")
4548 (description
4549 "Lack is a Common Lisp library which allows web applications to be
4550constructed of modular components. It was originally a part of Clack, however
4551it's going to be rewritten as an individual project since Clack v2 with
4552performance and simplicity in mind.")
4553 (license license:llgpl))))
4554
4555(define-public cl-lack-util
4556 (sbcl-package->cl-source-package sbcl-lack-util))
4557
4558(define-public sbcl-lack-middleware-backtrace
4559 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4560 (revision "1"))
4561 (package
4562 (name "sbcl-lack-middleware-backtrace")
4563 (version (git-version "0.1.0" revision commit))
4564 (source
4565 (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/fukamachi/lack.git")
4569 (commit commit)))
4570 (file-name (git-file-name "lack-middleware-backtrace" version))
4571 (sha256
4572 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4573 (build-system asdf-build-system/sbcl)
4574 (arguments
4575 '(#:asd-file "lack-middleware-backtrace.asd"
4576 #:asd-system-name "lack-middleware-backtrace"
4577 #:test-asd-file "t-lack-middleware-backtrace.asd"
4578 ;; XXX: Component :LACK not found
4579 #:tests? #f))
4580 (native-inputs
4581 `(("prove-asdf" ,sbcl-prove-asdf)))
4582 (home-page "https://github.com/fukamachi/lack")
4583 (synopsis "Lack, the core of Clack")
4584 (description
4585 "Lack is a Common Lisp library which allows web applications to be
4586constructed of modular components. It was originally a part of Clack, however
4587it's going to be rewritten as an individual project since Clack v2 with
4588performance and simplicity in mind.")
4589 (license license:llgpl))))
4590
4591(define-public cl-lack-middleware-backtrace
4592 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4593
4594(define-public sbcl-trivial-mimes
4595 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4596 (revision "1"))
4597 (package
4598 (name "sbcl-trivial-mimes")
4599 (version (git-version "1.1.0" revision commit))
4600 (source
4601 (origin
4602 (method git-fetch)
4603 (uri (git-reference
4604 (url "https://github.com/Shinmera/trivial-mimes.git")
4605 (commit commit)))
4606 (file-name (git-file-name name version))
4607 (sha256
4608 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4609 (build-system asdf-build-system/sbcl)
4610 (arguments
4611 '(#:phases
4612 (modify-phases %standard-phases
4613 (add-after
4614 'unpack 'fix-paths
4615 (lambda* (#:key inputs #:allow-other-keys)
4616 (let ((anchor "#p\"/etc/mime.types\""))
4617 (substitute* "mime-types.lisp"
4618 ((anchor all)
4619 (string-append
4620 anchor "\n"
4621 "(asdf:system-relative-pathname :trivial-mimes "
4622 "\"../../share/common-lisp/" (%lisp-type)
4623 "-source/trivial-mimes/mime.types\")")))))))))
4624 (native-inputs
4625 `(("stefil" ,sbcl-hu.dwim.stefil)))
4626 (inputs
4627 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4628 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4629 (synopsis "Tiny Common Lisp library to detect mime types in files")
4630 (description
4631 "This is a teensy library that provides some functions to determine the
4632mime-type of a file.")
4633 (license license:artistic2.0))))
4634
4635(define-public cl-trivial-mimes
4636 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4637
4638(define-public ecl-trivial-mimes
4639 (sbcl-package->ecl-package sbcl-trivial-mimes))
4640
4641(define-public sbcl-lack-middleware-static
4642 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4643 (revision "1"))
4644 (package
4645 (name "sbcl-lack-middleware-static")
4646 (version (git-version "0.1.0" revision commit))
4647 (source
4648 (origin
4649 (method git-fetch)
4650 (uri (git-reference
4651 (url "https://github.com/fukamachi/lack.git")
4652 (commit commit)))
4653 (file-name (git-file-name "lack-middleware-static" version))
4654 (sha256
4655 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4656 (build-system asdf-build-system/sbcl)
4657 (arguments
4658 '(#:asd-file "lack-middleware-static.asd"
4659 #:asd-system-name "lack-middleware-static"
4660 #:test-asd-file "t-lack-middleware-static.asd"
4661 ;; XXX: Component :LACK not found
4662 #:tests? #f))
4663 (native-inputs
4664 `(("prove-asdf" ,sbcl-prove-asdf)))
4665 (inputs
4666 `(("sbcl-ironclad" ,sbcl-ironclad)
4667 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4668 ("sbcl-local-time" ,sbcl-local-time)))
4669 (home-page "https://github.com/fukamachi/lack")
4670 (synopsis "Lack, the core of Clack")
4671 (description
4672 "Lack is a Common Lisp library which allows web applications to be
4673constructed of modular components. It was originally a part of Clack, however
4674it's going to be rewritten as an individual project since Clack v2 with
4675performance and simplicity in mind.")
4676 (license license:llgpl))))
4677
4678(define-public cl-lack-middleware-static
4679 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4680
4681(define-public sbcl-lack
4682 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4683 (revision "1"))
4684 (package
4685 (name "sbcl-lack")
4686 (version (git-version "0.1.0" revision commit))
4687 (source
4688 (origin
4689 (method git-fetch)
4690 (uri (git-reference
4691 (url "https://github.com/fukamachi/lack.git")
4692 (commit commit)))
4693 (file-name (git-file-name "lack" version))
4694 (sha256
4695 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4696 (build-system asdf-build-system/sbcl)
4697 (arguments
4698 '(#:test-asd-file "t-lack.asd"
4699 ;; XXX: Component :CLACK not found
4700 #:tests? #f))
4701 (native-inputs
4702 `(("prove-asdf" ,sbcl-prove-asdf)))
4703 (inputs
4704 `(("sbcl-lack-component" ,sbcl-lack-component)
4705 ("sbcl-lack-util" ,sbcl-lack-util)))
4706 (home-page "https://github.com/fukamachi/lack")
4707 (synopsis "Lack, the core of Clack")
4708 (description
4709 "Lack is a Common Lisp library which allows web applications to be
4710constructed of modular components. It was originally a part of Clack, however
4711it's going to be rewritten as an individual project since Clack v2 with
4712performance and simplicity in mind.")
4713 (license license:llgpl))))
4714
4715(define-public cl-lack
4716 (sbcl-package->cl-source-package sbcl-lack))
4717
4718(define-public sbcl-ningle
4719 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4720 (revision "1"))
4721 (package
4722 (name "sbcl-ningle")
4723 (version (git-version "0.3.0" revision commit))
4724 (source
4725 (origin
4726 (method git-fetch)
4727 (uri (git-reference
4728 (url "https://github.com/fukamachi/ningle.git")
4729 (commit commit)))
4730 (file-name (git-file-name name version))
4731 (sha256
4732 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4733 (build-system asdf-build-system/sbcl)
4734 (arguments
4735 ;; TODO: pull in clack-test
4736 '(#:tests? #f
4737 #:phases
4738 (modify-phases %standard-phases
4739 (delete 'cleanup-files)
4740 (delete 'cleanup)
4741 (add-before 'cleanup 'combine-fasls
4742 (lambda* (#:key outputs #:allow-other-keys)
4743 (let* ((out (assoc-ref outputs "out"))
4744 (lib (string-append out "/lib/sbcl"))
4745 (ningle-path (string-append lib "/ningle"))
4746 (fasl-files (find-files out "\\.fasl$")))
4747 (mkdir-p ningle-path)
4748 (let ((fasl-path (lambda (name)
4749 (string-append ningle-path
4750 "/"
4751 (basename name)
4752 "--system.fasl"))))
4753 (for-each (lambda (file)
4754 (rename-file file
4755 (fasl-path
4756 (basename file ".fasl"))))
4757 fasl-files))
4758 fasl-files)
4759 #t)))))
4760 (native-inputs
4761 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4762 ("sbcl-prove" ,sbcl-prove)))
4763 (inputs
4764 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4765 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4766 ("sbcl-myway" ,sbcl-myway)
4767 ("sbcl-lack-request" ,sbcl-lack-request)
4768 ("sbcl-lack-response" ,sbcl-lack-response)
4769 ("sbcl-lack-component" ,sbcl-lack-component)
4770 ("sbcl-alexandria" ,sbcl-alexandria)
4771 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4772 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4773 (synopsis "Super micro framework for Common Lisp")
4774 (description
4775 "Ningle is a lightweight web application framework for Common Lisp.")
4776 (license license:llgpl))))
4777
4778(define-public cl-ningle
4779 (sbcl-package->cl-source-package sbcl-ningle))
4780
4781(define-public sbcl-clack
4782 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4783 (revision "1"))
4784 (package
4785 (name "sbcl-clack")
4786 (version (git-version "2.0.0" revision commit))
4787 (source
4788 (origin
4789 (method git-fetch)
4790 (uri (git-reference
4791 (url "https://github.com/fukamachi/clack.git")
4792 (commit commit)))
4793 (file-name (git-file-name name version))
4794 (sha256
4795 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4796 (build-system asdf-build-system/sbcl)
4797 (inputs
4798 `(("sbcl-lack" ,sbcl-lack)
4799 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4800 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4801 (home-page "https://github.com/fukamachi/clack")
4802 (synopsis "Web Application Environment for Common Lisp")
4803 (description
4804 "Clack is a web application environment for Common Lisp inspired by
4805Python's WSGI and Ruby's Rack.")
4806 (license license:llgpl))))
4807
4808(define-public cl-clack
4809 (sbcl-package->cl-source-package sbcl-clack))
4810
4811(define-public sbcl-log4cl
4812 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4813 (revision "1"))
4814 (package
4815 (name "sbcl-log4cl")
4816 (build-system asdf-build-system/sbcl)
4817 (version "1.1.2")
4818 (source
4819 (origin
4820 (method git-fetch)
4821 (uri (git-reference
4822 (url "https://github.com/sharplispers/log4cl")
4823 (commit commit)))
4824 (file-name (git-file-name name version))
4825 (sha256
4826 (base32
4827 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4828 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4829 (arguments
4830 `(#:tests? #f))
4831 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4832 (synopsis "Common Lisp logging framework, modeled after Log4J")
4833 (home-page "https://github.com/7max/log4cl")
4834 (description "This is a Common Lisp logging framework that can log at
4835various levels and mix text with expressions.")
4836 (license license:asl2.0))))
4837
4838(define-public cl-log4cl
4839 (sbcl-package->cl-source-package sbcl-log4cl))
4840
4841(define-public ecl-log4cl
4842 (sbcl-package->ecl-package sbcl-log4cl))
4843
4844(define-public sbcl-find-port
4845 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4846 (revision "1"))
4847 (package
4848 (name "sbcl-find-port")
4849 (build-system asdf-build-system/sbcl)
4850 (version "0.1")
4851 (home-page "https://github.com/eudoxia0/find-port")
4852 (source
4853 (origin
4854 (method git-fetch)
4855 (uri (git-reference
4856 (url home-page)
4857 (commit commit)))
4858 (file-name (git-file-name name version))
4859 (sha256
4860 (base32
4861 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4862 (native-inputs
4863 `(("fiveam" ,sbcl-fiveam)))
4864 (inputs
4865 `(("sbcl-usocket" ,sbcl-usocket)))
4866 (synopsis "Find open ports programmatically in Common Lisp")
4867 (description "This is a small Common Lisp library that finds an open
4868port within a range.")
4869 (license license:expat))))
4870
4871(define-public cl-find-port
4872 (sbcl-package->cl-source-package sbcl-find-port))
4873
4874(define-public ecl-find-port
4875 (sbcl-package->ecl-package sbcl-find-port))
4876
4877(define-public sbcl-clunit
4878 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4879 (revision "1"))
4880 (package
4881 (name "sbcl-clunit")
4882 (version (git-version "0.2.3" revision commit))
4883 (source
4884 (origin
4885 (method git-fetch)
4886 (uri (git-reference
4887 (url "https://github.com/tgutu/clunit.git")
4888 (commit commit)))
4889 (file-name (git-file-name name version))
4890 (sha256
4891 (base32
4892 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4893 (build-system asdf-build-system/sbcl)
4894 (synopsis "CLUnit is a Common Lisp unit testing framework")
4895 (description
4896 "CLUnit is a Common Lisp unit testing framework. It is designed
4897to be easy to use so that you can quickly start testing. CLUnit
4898provides a rich set of features aimed at improving your unit testing
4899experience.")
b4034d1b 4900 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
4901 ;; MIT License
4902 (license license:expat))))
4903
4904(define-public cl-clunit
4905 (sbcl-package->cl-source-package sbcl-clunit))
4906
4907(define-public ecl-clunit
4908 (sbcl-package->ecl-package sbcl-clunit))
4909
4910(define-public sbcl-py4cl
4911 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4912 (revision "1"))
4913 (package
4914 (name "sbcl-py4cl")
4915 (version (git-version "0.0.0" revision commit))
4916 (source
4917 (origin
4918 (method git-fetch)
4919 (uri (git-reference
4920 (url "https://github.com/bendudson/py4cl.git")
4921 (commit commit)))
4922 (file-name (git-file-name name version))
4923 (sha256
4924 (base32
4925 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4926 (modules '((guix build utils)))))
4927 (build-system asdf-build-system/sbcl)
4928 (native-inputs
4929 `(("sbcl-clunit" ,sbcl-clunit)))
4930 (inputs
4931 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4932 (propagated-inputs
4933 ;; This package doesn't do anything without python available
4934 `(("python" ,python)
4935 ;; For multi-dimensional array support
4936 ("python-numpy" ,python-numpy)))
4937 (arguments
4938 '(#:phases
4939 (modify-phases %standard-phases
4940 (add-after 'unpack 'replace-*base-directory*-var
4941 (lambda* (#:key outputs #:allow-other-keys)
4942 ;; In the ASD, the author makes an attempt to
4943 ;; programatically determine the location of the
4944 ;; source-code so lisp can call into "py4cl.py". We can
4945 ;; hard-code this since we know where this file will
4946 ;; reside.
4947 (substitute* "src/callpython.lisp"
4948 (("py4cl/config:\\*base-directory\\*")
4949 (string-append
4950 "\""
4951 (assoc-ref outputs "out")
4952 "/share/common-lisp/sbcl-source/py4cl/"
4953 "\""))))))))
4954 (synopsis "Call python from Common Lisp")
4955 (description
4956 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4957Lisp to interact with Python code. It uses streams to communicate with a
4958separate python process, the approach taken by cl4py. This is different to
4959the CFFI approach used by burgled-batteries, but has the same goal.")
4960 (home-page "https://github.com/bendudson/py4cl")
4961 ;; MIT License
4962 (license license:expat))))
4963
4964(define-public cl-py4cl
4965 (sbcl-package->cl-source-package sbcl-py4cl))
4966
4967(define-public ecl-py4cl
4968 (sbcl-package->ecl-package sbcl-py4cl))
4969
4970(define-public sbcl-parse-declarations
1fce78c4
GLV
4971 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
4972 (revision "1"))
4973 (package
4974 (name "sbcl-parse-declarations")
4975 (version (git-version "1.0.0" revision commit))
4976 (source
4977 (origin
4978 (method git-fetch)
4979 (uri (git-reference
4980 (url (string-append
4981 "https://gitlab.common-lisp.net/parse-declarations/"
4982 "parse-declarations.git"))
4983 (commit commit)))
4984 (file-name (git-file-name name version))
4985 (sha256
4986 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
4987 (build-system asdf-build-system/sbcl)
4988 (arguments
4989 `(#:asd-file "parse-declarations-1.0.asd"
4990 #:asd-system-name "parse-declarations-1.0"))
4991 (home-page "https://common-lisp.net/project/parse-declarations/")
4992 (synopsis "Parse, filter, and build declarations")
4993 (description
4994 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
4995macros which establish bindings. To be semantically correct, such
4996macros must take user declarations into account, as these may affect
4997the bindings they establish. Yet the ANSI standard of Common Lisp does
4998not provide any operators to work with declarations in a convenient,
4999high-level way. This library provides such operators.")
1fce78c4
GLV
5000 ;; MIT License
5001 (license license:expat))))
88f06fd0
PN
5002
5003(define-public cl-parse-declarations
5004 (sbcl-package->cl-source-package sbcl-parse-declarations))
5005
5006(define-public ecl-parse-declarations
5007 (sbcl-package->ecl-package sbcl-parse-declarations))
5008
5009(define-public sbcl-cl-quickcheck
5010 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5011 (revision "1"))
5012 (package
5013 (name "sbcl-cl-quickcheck")
5014 (version (git-version "0.0.4" revision commit))
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url "https://github.com/mcandre/cl-quickcheck.git")
5020 (commit commit)))
5021 (file-name (git-file-name name version))
5022 (sha256
5023 (base32
5024 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5025 (build-system asdf-build-system/sbcl)
5026 (synopsis
5027 "Common Lisp port of the QuickCheck unit test framework")
5028 (description
5029 "Common Lisp port of the QuickCheck unit test framework")
5030 (home-page "https://github.com/mcandre/cl-quickcheck")
5031 ;; MIT
5032 (license license:expat))))
5033
5034(define-public cl-cl-quickcheck
5035 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5036
5037(define-public ecl-cl-quickcheck
5038 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5039
5040(define-public sbcl-burgled-batteries3
5041 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5042 (revision "1"))
5043 (package
5044 (name "sbcl-burgled-batteries3")
5045 (version (git-version "0.0.0" revision commit))
5046 (source
5047 (origin
5048 (method git-fetch)
5049 (uri (git-reference
5050 (url "https://github.com/snmsts/burgled-batteries3.git")
5051 (commit commit)))
5052 (file-name (git-file-name name version))
5053 (sha256
5054 (base32
5055 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5056 (build-system asdf-build-system/sbcl)
5057 (arguments
5058 '(#:tests? #f
5059 #:phases
5060 (modify-phases %standard-phases
5061 (add-after 'unpack 'set-*cpython-include-dir*-var
5062 (lambda* (#:key inputs #:allow-other-keys)
5063 (substitute* "grovel-include-dir.lisp"
5064 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5065 (string-append
5066 "(defparameter *cpython-include-dir* \""
5067 (assoc-ref inputs "python")
5068 "/include/python3.7m"
5069 "\")")))
5070 (substitute* "ffi-interface.lisp"
5071 (("\\*cpython-lib\\*")
5072 (format #f "'(\"~a/lib/libpython3.so\")"
5073 (assoc-ref inputs "python"))))
5074 #t)))))
5075 (native-inputs
5076 `(("python" ,python)
5077 ("sbcl-cl-fad" ,sbcl-cl-fad)
5078 ("sbcl-lift" ,sbcl-lift)
5079 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5080 (inputs
5081 `(("sbcl-cffi" ,sbcl-cffi)
5082 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5083 ("sbcl-alexandria" , sbcl-alexandria)
5084 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5085 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5086 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5087 (description
5088 "This package provides a shim between Python3 (specifically, the
5089CPython implementation of Python) and Common Lisp.")
5090 (home-page "https://github.com/snmsts/burgled-batteries3")
5091 ;; MIT
5092 (license license:expat))))
5093
5094(define-public cl-burgled-batteries3
5095 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5096
5097(define-public ecl-burgled-batteries3
5098 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5099
5100(define-public sbcl-metabang-bind
5101 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5102 (revision "1"))
5103 (package
5104 (name "sbcl-metabang-bind")
5105 (version (git-version "0.8.0" revision commit))
5106 (source
5107 (origin
5108 (method git-fetch)
5109 (uri (git-reference
5110 (url "https://github.com/gwkkwg/metabang-bind.git")
5111 (commit commit)))
5112 (file-name (git-file-name name version))
5113 (sha256
5114 (base32
5115 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5116 (build-system asdf-build-system/sbcl)
5117 (native-inputs
5118 `(("sbcl-lift" ,sbcl-lift)))
5119 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5120 (description
5121 "Bind extends the idea of of let and destructing to provide a uniform
5122syntax for all your accessor needs. It combines @code{let},
5123@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5124editing, property or association-lists, and @code{multiple-value-bind} and a
5125whole lot more into a single form.")
5126 (home-page "https://common-lisp.net/project/metabang-bind/")
5127 ;; MIT License
5128 (license license:expat))))
5129
5130(define-public cl-metabang-bind
5131 (sbcl-package->cl-source-package sbcl-metabang-bind))
5132
5133(define-public ecl-metabang-bind
5134 (sbcl-package->ecl-package sbcl-metabang-bind))
5135
5136(define-public sbcl-fare-utils
5137 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5138 (revision "1"))
5139 (package
5140 (name "sbcl-fare-utils")
5141 (version (git-version "1.0.0.5" revision commit))
5142 (source
5143 (origin
5144 (method git-fetch)
5145 (uri
5146 (git-reference
5147 (url
5148 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5149 (commit commit)))
5150 (file-name (git-file-name name version))
5151 (sha256
5152 (base32
5153 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5154 (build-system asdf-build-system/sbcl)
5155 (arguments
5156 `(#:test-asd-file "test/fare-utils-test.asd"))
5157 (native-inputs
5158 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5159 (synopsis "Collection of utilities and data structures")
5160 (description
5161 "fare-utils is a small collection of utilities. It contains a lot of
5162basic everyday functions and macros.")
5163 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5164 ;; MIT License
5165 (license license:expat))))
5166
5167(define-public cl-fare-utils
5168 (sbcl-package->cl-source-package sbcl-fare-utils))
5169
5170(define-public ecl-fare-utils
5171 (sbcl-package->ecl-package sbcl-fare-utils))
5172
5173(define-public sbcl-trivial-utf-8
5174 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5175 (revision "1"))
5176 (package
5177 (name "sbcl-trivial-utf-8")
5178 (version (git-version "0.0.0" revision commit))
5179 (source
5180 (origin
5181 (method git-fetch)
5182 (uri
5183 (git-reference
5184 (url (string-append "https://gitlab.common-lisp.net/"
5185 "trivial-utf-8/trivial-utf-8.git"))
5186 (commit commit)))
5187 (file-name (git-file-name name version))
5188 (sha256
5189 (base32
5190 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5191 (arguments
5192 ;; Guix incorrectly assumes the "8" is part of the version
5193 ;; number and lobs it off.
5194 `(#:asd-file "trivial-utf-8.asd"
5195 #:asd-system-name "trivial-utf-8"))
5196 (build-system asdf-build-system/sbcl)
5197 (synopsis "UTF-8 input/output library")
5198 (description
5199 "The Babel library solves a similar problem while understanding more
5200encodings. Trivial UTF-8 was written before Babel existed, but for new
5201projects you might be better off going with Babel. The one plus that Trivial
5202UTF-8 has is that it doesn't depend on any other libraries.")
5203 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5204 (license license:bsd-3))))
5205
5206(define-public cl-trivial-utf-8
5207 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5208
5209(define-public ecl-trivial-utf-8
5210 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5211
5212(define-public sbcl-idna
5213 (package
5214 (name "sbcl-idna")
5215 (build-system asdf-build-system/sbcl)
5216 (version "0.2.2")
5217 (home-page "https://github.com/antifuchs/idna")
5218 (source
5219 (origin
5220 (method git-fetch)
5221 (uri (git-reference
5222 (url home-page)
5223 (commit version)))
5224 (file-name (git-file-name name version))
5225 (sha256
5226 (base32
5227 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5228 (inputs
5229 `(("split-sequence" ,sbcl-split-sequence)))
5230 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5231 (description "This Common Lisp library provides string encoding and
5232decoding routines for IDNA, the International Domain Names in Applications.")
5233 (license license:expat)))
5234
5235(define-public cl-idna
5236 (sbcl-package->cl-source-package sbcl-idna))
5237
5238(define-public ecl-idna
5239 (sbcl-package->ecl-package sbcl-idna))
5240
5241(define-public sbcl-swap-bytes
5242 (package
5243 (name "sbcl-swap-bytes")
5244 (build-system asdf-build-system/sbcl)
dbf6de58 5245 (version "1.2")
88f06fd0
PN
5246 (home-page "https://github.com/sionescu/swap-bytes")
5247 (source
5248 (origin
5249 (method git-fetch)
5250 (uri (git-reference
5251 (url home-page)
5252 (commit (string-append "v" version))))
5253 (file-name (git-file-name name version))
5254 (sha256
5255 (base32
dbf6de58 5256 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5257 (inputs
5258 `(("trivial-features" ,sbcl-trivial-features)))
5259 (native-inputs
5260 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5261 (synopsis "Efficient endianness conversion for Common Lisp")
5262 (description "This Common Lisp library provides optimized byte-swapping
5263primitives. The library can change endianness of unsigned integers of length
52641/2/4/8. Very useful in implementing various network protocols and file
5265formats.")
5266 (license license:expat)))
5267
5268(define-public cl-swap-bytes
5269 (sbcl-package->cl-source-package sbcl-swap-bytes))
5270
5271(define-public ecl-swap-bytes
5272 (sbcl-package->ecl-package sbcl-swap-bytes))
5273
5274(define-public sbcl-iolib.asdf
5275 ;; Latest release is from June 2017.
5276 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5277 (revision "1"))
5278 (package
5279 (name "sbcl-iolib.asdf")
5280 (build-system asdf-build-system/sbcl)
5281 (version "0.8.3")
5282 (home-page "https://github.com/sionescu/iolib")
5283 (source
5284 (origin
5285 (method git-fetch)
5286 (uri (git-reference
5287 (url home-page)
5288 (commit commit)))
5289 (file-name (git-file-name name version))
5290 (sha256
5291 (base32
5292 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5293 (inputs
5294 `(("alexandria" ,sbcl-alexandria)))
5295 (arguments
5296 '(#:asd-file "iolib.asdf.asd"))
5297 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5298 (description "IOlib is to be a better and more modern I/O library than
5299the standard Common Lisp library. It contains a socket library, a DNS
5300resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5301and @code{kqueue(2)}), a pathname library and file-system utilities.")
5302 (license license:expat))))
5303
5304(define-public sbcl-iolib.conf
5305 (package
5306 (inherit sbcl-iolib.asdf)
5307 (name "sbcl-iolib.conf")
5308 (inputs
5309 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5310 (arguments
5311 '(#:asd-file "iolib.conf.asd"))
5312 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5313
5314(define-public sbcl-iolib.common-lisp
5315 (package
5316 (inherit sbcl-iolib.asdf)
5317 (name "sbcl-iolib.common-lisp")
5318 (inputs
5319 `(("iolib.asdf" ,sbcl-iolib.asdf)
5320 ("iolib.conf" ,sbcl-iolib.conf)))
5321 (arguments
5322 '(#:asd-file "iolib.common-lisp.asd"))
5323 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5324
5325(define-public sbcl-iolib.base
5326 (package
5327 (inherit sbcl-iolib.asdf)
5328 (name "sbcl-iolib.base")
5329 (inputs
5330 `(("iolib.asdf" ,sbcl-iolib.asdf)
5331 ("iolib.conf" ,sbcl-iolib.conf)
5332 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5333 ("split-sequence" ,sbcl-split-sequence)))
5334 (arguments
5335 '(#:asd-file "iolib.base.asd"))
5336 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5337
5338(define-public sbcl-iolib.grovel
5339 (package
5340 (inherit sbcl-iolib.asdf)
5341 (name "sbcl-iolib.grovel")
5342 (inputs
5343 `(("iolib.asdf" ,sbcl-iolib.asdf)
5344 ("iolib.conf" ,sbcl-iolib.conf)
5345 ("iolib.base", sbcl-iolib.base)
5346 ("cffi", sbcl-cffi)))
5347 (arguments
5348 '(#:asd-file "iolib.grovel.asd"
5349 #:phases
5350 (modify-phases %standard-phases
5351 (add-after 'install 'install-header
5352 (lambda* (#:key outputs #:allow-other-keys)
5353 ;; This header is required by sbcl-iolib.
5354 (install-file "src/grovel/grovel-common.h"
5355 (string-append (assoc-ref outputs "out")
5356 "/lib/sbcl"))
5357 #t)))))
5358 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5359
af5c4eff 5360(define sbcl-iolib+syscalls
88f06fd0
PN
5361 (package
5362 (inherit sbcl-iolib.asdf)
af5c4eff 5363 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5364 (inputs
5365 `(("iolib.asdf" ,sbcl-iolib.asdf)
5366 ("iolib.conf" ,sbcl-iolib.conf)
5367 ("iolib.grovel" ,sbcl-iolib.grovel)
5368 ("iolib.base" ,sbcl-iolib.base)
5369 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5370 ("idna" ,sbcl-idna)
5371 ("swap-bytes" ,sbcl-swap-bytes)
5372 ("libfixposix" ,libfixposix)
5373 ("cffi" ,sbcl-cffi)))
5374 (native-inputs
5375 `(("fiveam" ,sbcl-fiveam)))
5376 (arguments
5377 '(#:asd-file "iolib.asd"
af5c4eff 5378 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5379 #:test-asd-file "iolib.tests.asd"
5380 #:phases
5381 (modify-phases %standard-phases
5382 (add-after 'unpack 'fix-paths
5383 (lambda* (#:key inputs #:allow-other-keys)
5384 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5385 (("\\(:default \"libfixposix\"\\)")
5386 (string-append
5387 "(:default \""
5388 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5389 ;; Socket tests need Internet access, disable them.
5390 (substitute* "iolib.tests.asd"
5391 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5392 "")))))))
5393 (synopsis "Common Lisp I/O library")))
5394
88f06fd0
PN
5395(define sbcl-iolib+multiplex
5396 (package
af5c4eff 5397 (inherit sbcl-iolib+syscalls)
88f06fd0 5398 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5399 (inputs
5400 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5401 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5402 (arguments
af5c4eff 5403 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5404 ((#:asd-system-name _) "iolib/multiplex")))))
5405
af5c4eff 5406
88f06fd0
PN
5407
5408(define sbcl-iolib+streams
5409 (package
af5c4eff 5410 (inherit sbcl-iolib+syscalls)
88f06fd0 5411 (name "sbcl-iolib+streams")
af5c4eff
PN
5412 (inputs
5413 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5414 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5415 (arguments
af5c4eff 5416 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5417 ((#:asd-system-name _) "iolib/streams")))))
5418
5419(define sbcl-iolib+sockets
5420 (package
af5c4eff 5421 (inherit sbcl-iolib+syscalls)
88f06fd0 5422 (name "sbcl-iolib+sockets")
af5c4eff
PN
5423 (inputs
5424 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5425 ("iolib+streams" ,sbcl-iolib+streams)
5426 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5427 (arguments
af5c4eff 5428 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5429 ((#:asd-system-name _) "iolib/sockets")))))
5430
af5c4eff
PN
5431(define-public sbcl-iolib
5432 (package
5433 (inherit sbcl-iolib+syscalls)
5434 (name "sbcl-iolib")
5435 (inputs
5436 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5437 ("iolib+streams" ,sbcl-iolib+streams)
5438 ("iolib+sockets" ,sbcl-iolib+sockets)
5439 ,@(package-inputs sbcl-iolib+syscalls)))
5440 (arguments
5441 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5442 ((#:asd-system-name _) "iolib")))))
5443
5444(define-public cl-iolib
5445 (sbcl-package->cl-source-package sbcl-iolib))
5446
88f06fd0
PN
5447(define-public sbcl-ieee-floats
5448 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5449 (revision "1"))
5450 (package
5451 (name "sbcl-ieee-floats")
5452 (build-system asdf-build-system/sbcl)
5453 (version (git-version "20170924" revision commit))
5454 (home-page "https://github.com/marijnh/ieee-floats/")
5455 (source
5456 (origin
5457 (method git-fetch)
5458 (uri (git-reference
5459 (url home-page)
5460 (commit commit)))
5461 (file-name (git-file-name name version))
5462 (sha256
5463 (base32
5464 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5465 (native-inputs
5466 `(("fiveam" ,sbcl-fiveam)))
5467 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5468 (description "This is a Common Lisp library that allows to convert
5469floating point values to IEEE 754 binary representation.")
5470 (license license:bsd-3))))
5471
5472(define-public cl-ieee-floats
5473 (sbcl-package->cl-source-package sbcl-ieee-floats))
5474
5475(define sbcl-closure-common
5476 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5477 (revision "1"))
5478 (package
5479 (name "sbcl-closure-common")
5480 (build-system asdf-build-system/sbcl)
5481 (version (git-version "20101006" revision commit))
5482 (home-page "https://common-lisp.net/project/cxml/")
5483 (source
5484 (origin
5485 (method git-fetch)
5486 (uri (git-reference
5487 (url "https://github.com/sharplispers/closure-common")
5488 (commit commit)))
5489 (file-name (git-file-name name version))
5490 (sha256
5491 (base32
5492 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5493 (inputs
5494 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5495 ("babel" ,sbcl-babel)))
5496 (synopsis "Support Common Lisp library for CXML")
5497 (description "Closure-common is an internal helper library. The name
5498Closure is a reference to the web browser it was originally written for.")
5499 ;; TODO: License?
5500 (license #f))))
5501
5502(define-public sbcl-cxml+xml
5503 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5504 (revision "1"))
5505 (package
5506 (name "sbcl-cxml+xml")
5507 (build-system asdf-build-system/sbcl)
5508 (version (git-version "0.0.0" revision commit))
5509 (home-page "https://common-lisp.net/project/cxml/")
5510 (source
5511 (origin
5512 (method git-fetch)
5513 (uri (git-reference
5514 (url "https://github.com/sharplispers/cxml")
5515 (commit commit)))
5516 (file-name (git-file-name name version))
5517 (sha256
5518 (base32
5519 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5520 (inputs
5521 `(("closure-common" ,sbcl-closure-common)
5522 ("puri" ,sbcl-puri)
5523 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5524 (arguments
5525 `(#:asd-file "cxml.asd"
5526 #:asd-system-name "cxml/xml"))
5527 (synopsis "Common Lisp XML parser")
5528 (description "CXML implements a namespace-aware, validating XML 1.0
5529parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5530offered, one SAX-like, the other similar to StAX.")
5531 (license license:llgpl))))
5532
5533(define sbcl-cxml+dom
5534 (package
5535 (inherit sbcl-cxml+xml)
5536 (name "sbcl-cxml+dom")
5537 (inputs
5538 `(("closure-common" ,sbcl-closure-common)
5539 ("puri" ,sbcl-puri)
5540 ("cxml+xml" ,sbcl-cxml+xml)))
5541 (arguments
5542 `(#:asd-file "cxml.asd"
5543 #:asd-system-name "cxml/dom"))))
5544
5545(define sbcl-cxml+klacks
5546 (package
5547 (inherit sbcl-cxml+xml)
5548 (name "sbcl-cxml+klacks")
5549 (inputs
5550 `(("closure-common" ,sbcl-closure-common)
5551 ("puri" ,sbcl-puri)
5552 ("cxml+xml" ,sbcl-cxml+xml)))
5553 (arguments
5554 `(#:asd-file "cxml.asd"
5555 #:asd-system-name "cxml/klacks"))))
5556
5557(define sbcl-cxml+test
5558 (package
5559 (inherit sbcl-cxml+xml)
5560 (name "sbcl-cxml+test")
5561 (inputs
5562 `(("closure-common" ,sbcl-closure-common)
5563 ("puri" ,sbcl-puri)
5564 ("cxml+xml" ,sbcl-cxml+xml)))
5565 (arguments
5566 `(#:asd-file "cxml.asd"
5567 #:asd-system-name "cxml/test"))))
5568
5569(define-public sbcl-cxml
5570 (package
5571 (inherit sbcl-cxml+xml)
5572 (name "sbcl-cxml")
5573 (inputs
5574 `(("closure-common" ,sbcl-closure-common)
5575 ("puri" ,sbcl-puri)
5576 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5577 ("cxml+dom" ,sbcl-cxml+dom)
5578 ("cxml+klacks" ,sbcl-cxml+klacks)
5579 ("cxml+test" ,sbcl-cxml+test)))
5580 (arguments
5581 `(#:asd-file "cxml.asd"
5582 #:asd-system-name "cxml"
5583 #:phases
5584 (modify-phases %standard-phases
5585 (add-after 'build 'install-dtd
5586 (lambda* (#:key outputs #:allow-other-keys)
5587 (install-file "catalog.dtd"
5588 (string-append
5589 (assoc-ref outputs "out")
5590 "/lib/" (%lisp-type)))))
5591 (add-after 'create-asd 'remove-component
5592 ;; XXX: The original .asd has no components, but our build system
5593 ;; creates an entry nonetheless. We need to remove it for the
5594 ;; generated .asd to load properly. See trivia.trivial for a
5595 ;; similar problem.
5596 (lambda* (#:key outputs #:allow-other-keys)
5597 (let* ((out (assoc-ref outputs "out"))
5598 (asd (string-append out "/lib/sbcl/cxml.asd")))
5599 (substitute* asd
5600 ((" :components
5601")
5602 ""))
5603 (substitute* asd
5604 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5605 ""))))))))))
5606
5607(define-public cl-cxml
5608 (sbcl-package->cl-source-package sbcl-cxml))
5609
5610(define-public sbcl-cl-reexport
5611 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5612 (revision "1"))
5613 (package
5614 (name "sbcl-cl-reexport")
5615 (build-system asdf-build-system/sbcl)
5616 (version (git-version "0.1" revision commit))
5617 (home-page "https://github.com/takagi/cl-reexport")
5618 (source
5619 (origin
5620 (method git-fetch)
5621 (uri (git-reference
5622 (url home-page)
5623 (commit commit)))
5624 (file-name (git-file-name name version))
5625 (sha256
5626 (base32
5627 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5628 (inputs
5629 `(("alexandria" ,sbcl-alexandria)))
5630 (arguments
5631 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5632 `(#:tests? #f))
5633 (synopsis "HTTP cookie manager for Common Lisp")
5634 (description "cl-cookie is a Common Lisp library featuring parsing of
5635cookie headers, cookie creation, cookie jar creation and more.")
5636 (license license:llgpl))))
5637
5638(define-public cl-reexport
5639 (sbcl-package->cl-source-package sbcl-cl-reexport))
5640
5641(define-public sbcl-cl-cookie
5642 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5643 (revision "1"))
5644 (package
5645 (name "sbcl-cl-cookie")
5646 (build-system asdf-build-system/sbcl)
5647 (version (git-version "0.9.10" revision commit))
5648 (home-page "https://github.com/fukamachi/cl-cookie")
5649 (source
5650 (origin
5651 (method git-fetch)
5652 (uri (git-reference
5653 (url home-page)
5654 (commit commit)))
5655 (file-name (git-file-name name version))
5656 (sha256
5657 (base32
5658 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5659 (inputs
5660 `(("proc-parse" ,sbcl-proc-parse)
5661 ("alexandria" ,sbcl-alexandria)
5662 ("quri" ,sbcl-quri)
5663 ("cl-ppcre" ,sbcl-cl-ppcre)
5664 ("local-time" ,sbcl-local-time)))
5665 (native-inputs
5666 `(("prove-asdf" ,sbcl-prove-asdf)
5667 ("prove" ,sbcl-prove)))
5668 (arguments
5669 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5670 `(#:tests? #f))
5671 (synopsis "HTTP cookie manager for Common Lisp")
5672 (description "cl-cookie is a Common Lisp library featuring parsing of
5673cookie headers, cookie creation, cookie jar creation and more.")
5674 (license license:bsd-2))))
5675
5676(define-public cl-cookie
5677 (sbcl-package->cl-source-package sbcl-cl-cookie))
5678
5679(define-public sbcl-dexador
5680 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5681 (revision "1"))
5682 (package
5683 (name "sbcl-dexador")
5684 (build-system asdf-build-system/sbcl)
5685 (version (git-version "0.9.10" revision commit))
5686 (home-page "https://github.com/fukamachi/dexador")
5687 (source
5688 (origin
5689 (method git-fetch)
5690 (uri (git-reference
5691 (url home-page)
5692 (commit commit)))
5693 (file-name (git-file-name name version))
5694 (sha256
5695 (base32
5696 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5697 (inputs
5698 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5699 ("babel" ,sbcl-babel)
5700 ("usocket" ,sbcl-usocket)
5701 ("fast-http" ,sbcl-fast-http)
5702 ("quri" ,sbcl-quri)
5703 ("fast-io" ,sbcl-fast-io)
5704 ("chunga" ,sbcl-chunga)
5705 ("cl-ppcre" ,sbcl-cl-ppcre)
5706 ("cl-cookie" ,sbcl-cl-cookie)
5707 ("trivial-mimes" ,sbcl-trivial-mimes)
5708 ("chipz" ,sbcl-chipz)
5709 ("cl-base64" ,sbcl-cl-base64)
5710 ("cl-reexport" ,sbcl-cl-reexport)
5711 ("cl+ssl" ,sbcl-cl+ssl)
5712 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5713 ("alexandria" ,sbcl-alexandria)))
5714 (native-inputs
5715 `(("prove" ,sbcl-prove)
5716 ("prove-asdf" ,sbcl-prove-asdf)
5717 ("lack-request" ,sbcl-lack-request)
5718 ("clack" ,sbcl-clack)
5719 ("babel" ,sbcl-babel)
5720 ("alexandria" ,sbcl-alexandria)
5721 ("cl-ppcre" ,sbcl-cl-ppcre)
5722 ("local-time" ,sbcl-local-time)))
5723 (arguments
5724 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5725 `(#:tests? #f
5726 #:phases
5727 (modify-phases %standard-phases
5728 (add-after 'unpack 'fix-permissions
5729 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5730 (synopsis "Yet another HTTP client for Common Lisp")
5731 (description "Dexador is yet another HTTP client for Common Lisp with
5732neat APIs and connection-pooling. It is meant to supersede Drakma.")
5733 (license license:expat))))
5734
5735(define-public cl-dexador
5736 (package
5737 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5738 (arguments
5739 `(#:phases
5740 ;; asdf-build-system/source has its own phases and does not inherit
5741 ;; from asdf-build-system/sbcl phases.
5742 (modify-phases %standard-phases/source
5743 (add-after 'unpack 'fix-permissions
5744 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5745
5746(define-public ecl-dexador
5747 (sbcl-package->ecl-package sbcl-dexador))
5748
5749(define-public sbcl-lisp-namespace
5750 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5751 (revision "1"))
5752 (package
5753 (name "sbcl-lisp-namespace")
5754 (build-system asdf-build-system/sbcl)
5755 (version (git-version "0.1" revision commit))
5756 (home-page "https://github.com/guicho271828/lisp-namespace")
5757 (source
5758 (origin
5759 (method git-fetch)
5760 (uri (git-reference
5761 (url home-page)
5762 (commit commit)))
5763 (file-name (git-file-name name version))
5764 (sha256
5765 (base32
5766 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5767 (inputs
5768 `(("alexandria" ,sbcl-alexandria)))
5769 (native-inputs
5770 `(("fiveam" ,sbcl-fiveam)))
5771 (arguments
5772 `(#:test-asd-file "lisp-namespace.test.asd"
5773 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5774 #:tests? #f))
5775 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5776 (description "Common Lisp already has major 2 namespaces, function
5777namespace and value namespace (or variable namespace), but there are actually
5778more — e.g., class namespace.
5779This library offers macros to deal with symbols from any namespace.")
5780 (license license:llgpl))))
5781
5782(define-public cl-lisp-namespace
5783 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5784
5785(define-public sbcl-trivial-cltl2
5786 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5787 (revision "1"))
5788 (package
5789 (name "sbcl-trivial-cltl2")
5790 (build-system asdf-build-system/sbcl)
5791 (version (git-version "0.1.1" revision commit))
5792 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5793 (source
5794 (origin
5795 (method git-fetch)
5796 (uri (git-reference
5797 (url home-page)
5798 (commit commit)))
5799 (file-name (git-file-name name version))
5800 (sha256
5801 (base32
5802 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5803 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5804 (description "This library is a portable compatibility layer around
5805\"Common Lisp the Language, 2nd
5806Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5807and it exports symbols from implementation-specific packages.")
5808 (license license:llgpl))))
5809
5810(define-public cl-trivial-cltl2
5811 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5812
5813(define-public sbcl-introspect-environment
5814 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5815 (revision "1"))
5816 (package
5817 (name "sbcl-introspect-environment")
5818 (build-system asdf-build-system/sbcl)
5819 (version (git-version "0.1" revision commit))
5820 (home-page "https://github.com/Bike/introspect-environment")
5821 (source
5822 (origin
5823 (method git-fetch)
5824 (uri (git-reference
5825 (url home-page)
5826 (commit commit)))
5827 (file-name (git-file-name name version))
5828 (sha256
5829 (base32
5830 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5831 (native-inputs
5832 `(("fiveam" ,sbcl-fiveam)))
5833 (synopsis "Common Lisp environment introspection portability layer")
5834 (description "This library is a small interface to portable but
5835nonstandard introspection of Common Lisp environments. It is intended to
5836allow a bit more compile-time introspection of environments in Common Lisp.
5837
5838Quite a bit of information is available at the time a macro or compiler-macro
5839runs; inlining info, type declarations, that sort of thing. This information
5840is all standard - any Common Lisp program can @code{(declare (integer x))} and
5841such.
5842
5843This info ought to be accessible through the standard @code{&environment}
5844parameters, but it is not. Several implementations keep the information for
5845their own purposes but do not make it available to user programs, because
5846there is no standard mechanism to do so.
5847
5848This library uses implementation-specific hooks to make information available
5849to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5850implementations have implementations of the functions that do as much as they
5851can and/or provide reasonable defaults.")
5852 (license license:wtfpl2))))
5853
5854(define-public cl-introspect-environment
5855 (sbcl-package->cl-source-package sbcl-introspect-environment))
5856
5857(define-public sbcl-type-i
5858 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5859 (revision "1"))
5860 (package
5861 (name "sbcl-type-i")
5862 (build-system asdf-build-system/sbcl)
5863 (version (git-version "0.1" revision commit))
5864 (home-page "https://github.com/guicho271828/type-i")
5865 (source
5866 (origin
5867 (method git-fetch)
5868 (uri (git-reference
5869 (url home-page)
5870 (commit commit)))
5871 (file-name (git-file-name name version))
5872 (sha256
5873 (base32
5874 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5875 (inputs
5876 `(("alexandria" ,sbcl-alexandria)
5877 ("introspect-environment" ,sbcl-introspect-environment)
5878 ("trivia.trivial" ,sbcl-trivia.trivial)))
5879 (native-inputs
5880 `(("fiveam" ,sbcl-fiveam)))
5881 (arguments
5882 `(#:test-asd-file "type-i.test.asd"))
5883 (synopsis "Type inference utility on unary predicates for Common Lisp")
5884 (description "This library tries to provide a way to detect what kind of
5885type the given predicate is trying to check. This is different from inferring
5886the return type of a function.")
5887 (license license:llgpl))))
5888
5889(define-public cl-type-i
5890 (sbcl-package->cl-source-package sbcl-type-i))
5891
5892(define-public sbcl-optima
5893 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5894 (revision "1"))
5895 (package
5896 (name "sbcl-optima")
5897 (build-system asdf-build-system/sbcl)
5898 (version (git-version "1.0" revision commit))
5899 (home-page "https://github.com/m2ym/optima")
5900 (source
5901 (origin
5902 (method git-fetch)
5903 (uri (git-reference
5904 (url home-page)
5905 (commit commit)))
5906 (file-name (git-file-name name version))
5907 (sha256
5908 (base32
5909 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5910 (inputs
5911 `(("alexandria" ,sbcl-alexandria)
5912 ("closer-mop" ,sbcl-closer-mop)))
5913 (native-inputs
5914 `(("eos" ,sbcl-eos)))
5915 (arguments
5916 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5917 `(#:tests? #f
5918 #:test-asd-file "optima.test.asd"))
5919 (synopsis "Optimized pattern matching library for Common Lisp")
5920 (description "Optima is a fast pattern matching library which uses
5921optimizing techniques widely used in the functional programming world.")
5922 (license license:expat))))
5923
5924(define-public cl-optima
5925 (sbcl-package->cl-source-package sbcl-optima))
5926
5927(define-public sbcl-fare-quasiquote
639b47e6
GLV
5928 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5929 (revision "1"))
5930 (package
5931 (name "sbcl-fare-quasiquote")
5932 (build-system asdf-build-system/sbcl)
5933 (version (git-version "1.0.1" revision commit))
5934 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5935 (source
5936 (origin
5937 (method git-fetch)
5938 (uri (git-reference
5939 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5940 "fare-quasiquote.git"))
5941 (commit commit)))
5942 (file-name (git-file-name name version))
5943 (sha256
5944 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5945 (inputs
5946 `(("fare-utils" ,sbcl-fare-utils)))
5947 (arguments
5948 ;; XXX: Circular dependencies: Tests depend on subsystems,
5949 ;; which depend on the main systems.
5950 `(#:tests? #f
5951 #:phases
5952 (modify-phases %standard-phases
5953 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5954 ;; commits after 1.0.0.5, but ASDF fails to read the
5955 ;; "-REVISION-COMMIT" part generated by Guix.
5956 (add-after 'unpack 'patch-requirement
5957 (lambda _
5958 (substitute* "fare-quasiquote.asd"
5959 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5960 "\"fare-utils\"")))))))
5961 (synopsis "Pattern-matching friendly implementation of quasiquote")
5962 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
5963quasiquote is enable matching of quasiquoted patterns, using Optima or
5964Trivia.")
639b47e6 5965 (license license:expat))))
88f06fd0
PN
5966
5967(define-public cl-fare-quasiquote
5968 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
5969
5970(define-public sbcl-fare-quasiquote-optima
5971 (package
5972 (inherit sbcl-fare-quasiquote)
5973 (name "sbcl-fare-quasiquote-optima")
5974 (inputs
5975 `(("optima" ,sbcl-optima)
5976 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
5977 (arguments
5978 '(#:phases
5979 (modify-phases %standard-phases
5980 (add-after 'unpack 'patch-requirement
5981 (lambda _
5982 (substitute* "fare-quasiquote-optima.asd"
5983 (("\\(:version \"optima\" \"1\\.0\"\\)")
5984 "\"optima\""))
5985 #t)))))))
5986
5987(define-public cl-fare-quasiquote-optima
5988 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
5989
5990(define-public sbcl-fare-quasiquote-readtable
5991 (package
5992 (inherit sbcl-fare-quasiquote)
5993 (name "sbcl-fare-quasiquote-readtable")
5994 (inputs
5995 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
5996 ("named-readtables" ,sbcl-named-readtables)))
5997 (description "The main purpose of this n+2nd reimplementation of
5998quasiquote is enable matching of quasiquoted patterns, using Optima or
5999Trivia.
6000
6001This package uses fare-quasiquote with named-readtable.")))
6002
6003(define-public cl-fare-quasiquote-readtable
6004 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6005
6006;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
6007(define-public sbcl-fare-quasiquote-extras
6008 (package
6009 (inherit sbcl-fare-quasiquote)
6010 (name "sbcl-fare-quasiquote-extras")
6011 (build-system asdf-build-system/sbcl)
6012 (inputs
6013 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6014 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6015 (arguments
6016 `(#:phases
6017 (modify-phases %standard-phases
6018 (replace 'build
6019 (lambda* (#:key outputs #:allow-other-keys)
6020 (let* ((out (assoc-ref outputs "out"))
6021 (lib (string-append out "/lib/" (%lisp-type))))
6022 (mkdir-p lib)
6023 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6024 (make-file-writable
6025 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
6026 #t)))
6027 (add-after 'create-asd-file 'fix-asd-file
6028 (lambda* (#:key outputs #:allow-other-keys)
6029 (let* ((out (assoc-ref outputs "out"))
6030 (lib (string-append out "/lib/" (%lisp-type)))
6031 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6032 (substitute* asd
6033 ((":class")
6034 "")
6035 (("asdf/bundle:prebuilt-system")
6036 "")
6037 ((":components")
6038 "")
6039 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6040 "")))
6041 #t)))))
6042 (description "This library combines @code{fare-quasiquote-readtable} and
6043@code{fare-quasiquote-optima}.")))
6044
88f06fd0
PN
6045(define-public cl-fare-quasiquote-extras
6046 (package
6047 (inherit cl-fare-quasiquote)
6048 (name "cl-fare-quasiquote-extras")
6049 (build-system asdf-build-system/source)
6050 (propagated-inputs
6051 `(("fare-quasiquote" ,cl-fare-quasiquote)
6052 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6053 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6054 (description "This library combines @code{fare-quasiquote-readtable} and
6055@code{fare-quasiquote-optima}.")))
6056
6057(define-public sbcl-trivia.level0
463fb58f 6058 (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
88f06fd0
PN
6059 (revision "1"))
6060 (package
6061 (name "sbcl-trivia.level0")
6062 (build-system asdf-build-system/sbcl)
6063 (version (git-version "0.0.0" revision commit))
6064 (home-page "https://github.com/guicho271828/trivia")
6065 (source
6066 (origin
6067 (method git-fetch)
6068 (uri (git-reference
6069 (url home-page)
6070 (commit commit)))
6071 (file-name (git-file-name name version))
6072 (sha256
6073 (base32
463fb58f 6074 "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
88f06fd0
PN
6075 (inputs
6076 `(("alexandria" ,sbcl-alexandria)))
6077 (synopsis "Pattern matching in Common Lisp")
6078 (description "Trivia is a pattern matching compiler that is compatible
6079with Optima, another pattern matching library for Common Lisp. It is meant to
6080be faster and more extensible than Optima.")
6081 (license license:llgpl))))
6082
6083(define-public sbcl-trivia.level1
6084 (package
6085 (inherit sbcl-trivia.level0)
6086 (name "sbcl-trivia.level1")
6087 (inputs
6088 `(("trivia.level0" ,sbcl-trivia.level0)))
6089 (description "Trivia is a pattern matching compiler that is compatible
6090with Optima, another pattern matching library for Common Lisp. It is meant to
6091be faster and more extensible than Optima.
6092
6093This system contains the core patterns of Trivia.")))
6094
6095(define-public sbcl-trivia.level2
6096 (package
6097 (inherit sbcl-trivia.level0)
6098 (name "sbcl-trivia.level2")
6099 (inputs
6100 `(("trivia.level1" ,sbcl-trivia.level1)
6101 ("lisp-namespace" ,sbcl-lisp-namespace)
6102 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6103 ("closer-mop" ,sbcl-closer-mop)))
6104 (description "Trivia is a pattern matching compiler that is compatible
6105with Optima, another pattern matching library for Common Lisp. It is meant to
6106be faster and more extensible than Optima.
6107
6108This system contains a non-optimized pattern matcher compatible with Optima,
6109with extensible optimizer interface.")))
6110
6111(define-public sbcl-trivia.trivial
6112 (package
6113 (inherit sbcl-trivia.level0)
6114 (name "sbcl-trivia.trivial")
6115 (inputs
6116 `(("trivia.level2" ,sbcl-trivia.level2)))
6117 (arguments
6118 `(#:phases
6119 (modify-phases %standard-phases
6120 (replace 'create-asd-file
6121 (lambda* (#:key outputs inputs #:allow-other-keys)
6122 (let* ((out (assoc-ref outputs "out"))
6123 (lib (string-append out "/lib/" (%lisp-type)))
6124 (level2 (assoc-ref inputs "trivia.level2")))
6125 (mkdir-p lib)
6126 (install-file "trivia.trivial.asd" lib)
6127 ;; XXX: This .asd does not have any component and the build
6128 ;; system fails to work in this case. We should update the
6129 ;; build system to handle component-less .asd.
6130 ;; TODO: How do we append to file in Guile? It seems that
6131 ;; (open-file ... "a") gets a "Permission denied".
6132 (substitute* (string-append lib "/trivia.trivial.asd")
6133 (("\"\\)")
6134 (string-append "\")
6135
6136(progn (asdf/source-registry:ensure-source-registry)
6137 (setf (gethash
6138 \"trivia.level2\"
6139 asdf/source-registry:*source-registry*)
6140 #p\""
6141 level2
6142 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6143 (description "Trivia is a pattern matching compiler that is compatible
6144with Optima, another pattern matching library for Common Lisp. It is meant to
6145be faster and more extensible than Optima.
6146
6147This system contains the base level system of Trivia with a trivial optimizer.")))
6148
6149(define-public sbcl-trivia.balland2006
6150 (package
6151 (inherit sbcl-trivia.level0)
6152 (name "sbcl-trivia.balland2006")
6153 (inputs
6154 `(("trivia.trivial" ,sbcl-trivia.trivial)
6155 ("iterate" ,sbcl-iterate)
6156 ("type-i" ,sbcl-type-i)
6157 ("alexandria" ,sbcl-alexandria)))
6158 (arguments
6159 ;; Tests are done in trivia itself.
6160 `(#:tests? #f))
6161 (description "Trivia is a pattern matching compiler that is compatible
6162with Optima, another pattern matching library for Common Lisp. It is meant to
6163be faster and more extensible than Optima.
6164
6165This system contains the base level system of Trivia with a trivial optimizer.")))
6166
6167(define-public sbcl-trivia.ppcre
6168 (package
6169 (inherit sbcl-trivia.level0)
6170 (name "sbcl-trivia.ppcre")
6171 (inputs
6172 `(("trivia.trivial" ,sbcl-trivia.trivial)
6173 ("cl-ppcre" ,sbcl-cl-ppcre)))
6174 (description "Trivia is a pattern matching compiler that is compatible
6175with Optima, another pattern matching library for Common Lisp. It is meant to
6176be faster and more extensible than Optima.
6177
6178This system contains the PPCRE extension.")))
6179
6180(define-public sbcl-trivia.quasiquote
6181 (package
6182 (inherit sbcl-trivia.level0)
6183 (name "sbcl-trivia.quasiquote")
6184 (inputs
6185 `(("trivia.trivial" ,sbcl-trivia.trivial)
6186 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6187 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6188 (description "Trivia is a pattern matching compiler that is compatible
6189with Optima, another pattern matching library for Common Lisp. It is meant to
6190be faster and more extensible than Optima.
6191
6192This system contains the fare-quasiquote extension.")))
6193
6194(define-public sbcl-trivia.cffi
6195 (package
6196 (inherit sbcl-trivia.level0)
6197 (name "sbcl-trivia.cffi")
6198 (inputs
6199 `(("cffi" ,sbcl-cffi)
6200 ("trivia.trivial" ,sbcl-trivia.trivial)))
6201 (description "Trivia is a pattern matching compiler that is compatible
6202with Optima, another pattern matching library for Common Lisp. It is meant to
6203be faster and more extensible than Optima.
6204
6205This system contains the CFFI foreign slot access extension.")))
6206
6207(define-public sbcl-trivia
6208 (package
6209 (inherit sbcl-trivia.level0)
6210 (name "sbcl-trivia")
6211 (inputs
6212 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6213 (native-inputs
6214 `(("fiveam" ,sbcl-fiveam)
6215 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6216 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6217 ("trivia.cffi" ,sbcl-trivia.cffi)
6218 ("optima" ,sbcl-optima)))
6219 (arguments
6220 `(#:test-asd-file "trivia.test.asd"
6221 #:phases
6222 (modify-phases %standard-phases
6223 (add-after 'create-asd 'remove-component
6224 ;; XXX: The original .asd has no components, but our build system
6225 ;; creates an entry nonetheless. We need to remove it for the
6226 ;; generated .asd to load properly. See trivia.trivial for a
6227 ;; similar problem.
6228 (lambda* (#:key outputs #:allow-other-keys)
6229 (let* ((out (assoc-ref outputs "out"))
6230 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6231 (substitute* asd
6232 ((" :components
6233")
6234 ""))
6235 (substitute* asd
6236 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6237 ""))))))))
6238 (description "Trivia is a pattern matching compiler that is compatible
6239with Optima, another pattern matching library for Common Lisp. It is meant to
6240be faster and more extensible than Optima.")))
6241
6242(define-public cl-trivia
6243 (sbcl-package->cl-source-package sbcl-trivia))
6244
6245(define-public sbcl-mk-string-metrics
6246 (package
6247 (name "sbcl-mk-string-metrics")
6248 (version "0.1.2")
6249 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6250 (source (origin
6251 (method git-fetch)
6252 (uri (git-reference
6253 (url home-page)
6254 (commit version)))
6255 (sha256
6256 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6257 (file-name (git-file-name name version))))
6258 (build-system asdf-build-system/sbcl)
6259 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6260 (description "This library implements efficient algorithms that calculate
6261various string metrics in Common Lisp:
6262
6263@itemize
6264@item Damerau-Levenshtein distance
6265@item Hamming distance
6266@item Jaccard similarity coefficient
6267@item Jaro distance
6268@item Jaro-Winkler distance
6269@item Levenshtein distance
6270@item Normalized Damerau-Levenshtein distance
6271@item Normalized Levenshtein distance
6272@item Overlap coefficient
6273@end itemize\n")
6274 (license license:x11)))
6275
6276(define-public cl-mk-string-metrics
6277 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6278
6279(define-public sbcl-cl-str
6280 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6281 (package
6282 (name "sbcl-cl-str")
6283 (version (git-version "0.8" "1" commit))
6284 (home-page "https://github.com/vindarel/cl-str")
6285 (source (origin
6286 (method git-fetch)
6287 (uri (git-reference
6288 (url home-page)
6289 (commit commit)))
6290 (sha256
6291 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6292 (file-name (git-file-name name version))))
6293 (build-system asdf-build-system/sbcl)
6294 (inputs
6295 `(("cl-ppcre" ,sbcl-cl-ppcre)
6296 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6297 (native-inputs
6298 `(("prove" ,sbcl-prove)
6299 ("prove-asdf" ,sbcl-prove-asdf)))
6300 (arguments
6301 `(#:asd-file "str.asd"
6302 #:asd-system-name "str"
6303 #:test-asd-file "str.test.asd"))
6304 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6305 (description "A modern and consistent Common Lisp string manipulation
6306library that focuses on modernity, simplicity and discoverability:
6307@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6308@code{str:concat strings} instead of an unusual format construct; one
6309discoverable library instead of many; consistency and composability, where
6310@code{s} is always the last argument, which makes it easier to feed pipes and
6311arrows.")
6312 (license license:expat))))
6313
6314(define-public cl-str
6315 (sbcl-package->cl-source-package sbcl-cl-str))
6316
6317(define-public sbcl-cl-xmlspam
6318 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6319 (package
6320 (name "sbcl-cl-xmlspam")
6321 (build-system asdf-build-system/sbcl)
6322 (version (git-version "0.0.0" "1" commit))
6323 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6324 (source
6325 (origin
6326 (method git-fetch)
6327 (uri (git-reference
6328 (url home-page)
6329 (commit commit)))
6330 (file-name (string-append name "-" version))
6331 (sha256
6332 (base32
6333 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6334 (inputs
6335 `(("cxml" ,sbcl-cxml)
6336 ("cl-ppcre" ,sbcl-cl-ppcre)))
6337 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6338 (description "CXML does an excellent job at parsing XML elements, but what
6339do you do when you have a XML file that's larger than you want to fit in
6340memory, and you want to extract some information from it? Writing code to deal
6341with SAX events, or even using Klacks, quickly becomes tedious.
6342@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6343to write code that mirrors the structure of the XML that it's parsing. It
6344also makes it easy to shift paradigms when necessary - the usual Lisp control
6345constructs can be used interchangeably with pattern matching, and the full
6346power of CXML is available when necessary.")
6347 (license license:bsd-3))))
6348
6349;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6350;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6351;; asdf-build-system/sbcl.
6352(define-public cl-dbus
6353 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6354 (revision "1"))
6355 (package
6356 (name "cl-dbus")
6357 (build-system asdf-build-system/source)
6358 (version (git-version "20190408" revision commit))
6359 (home-page "https://github.com/death/dbus")
6360 (source
6361 (origin
6362 (method git-fetch)
6363 (uri (git-reference
6364 (url home-page)
6365 (commit commit)))
6366 (file-name (git-file-name name version))
6367 (sha256
6368 (base32
6369 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6370 ;; Inputs must be propagated or else packages depending on this won't
6371 ;; have the necessary packages.
88f06fd0
PN
6372 (propagated-inputs
6373 `(("alexandria" ,sbcl-alexandria)
6374 ("trivial-garbage" ,sbcl-trivial-garbage)
6375 ("babel" ,sbcl-babel)
6376 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6377 ("ieee-floats" ,sbcl-ieee-floats)
6378 ("flexi-streams" ,sbcl-flexi-streams)
6379 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6380 ("ironclad" ,sbcl-ironclad)))
6381 (synopsis "D-Bus client library for Common Lisp")
6382 (description "This is a Common Lisp library that allows to publish D-Bus
6383objects as well as send and notify other objects connected to a bus.")
6384 (license license:bsd-2))))
6385
6386(define-public sbcl-cl-hooks
6387 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6388 (revision "1"))
6389 (package
6390 (name "sbcl-cl-hooks")
6391 (build-system asdf-build-system/sbcl)
6392 (version (git-version "0.2.1" revision commit))
6393 (home-page "https://github.com/scymtym/architecture.hooks")
6394 (source
6395 (origin
6396 (method git-fetch)
6397 (uri (git-reference
6398 (url home-page)
6399 (commit commit)))
6400 (file-name (git-file-name name version))
6401 (sha256
6402 (base32
6403 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6404 (inputs
6405 `(("alexandria" ,sbcl-alexandria)
6406 ("let-plus" ,sbcl-let-plus)
6407 ("trivial-garbage" ,sbcl-trivial-garbage)
6408 ("closer-mop" ,sbcl-closer-mop)))
6409 (native-inputs
6410 `(("fiveam" ,sbcl-fiveam)))
6411 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6412 (description "A hook, in the present context, is a certain kind of
6413extension point in a program that allows interleaving the execution of
6414arbitrary code with the execution of a the program without introducing any
6415coupling between the two. Hooks are used extensively in the extensible editor
6416Emacs.
6417
6418In the Common LISP Object System (CLOS), a similar kind of extensibility is
6419possible using the flexible multi-method dispatch mechanism. It may even seem
6420that the concept of hooks does not provide any benefits over the possibilities
6421of CLOS. However, there are some differences:
6422
6423@itemize
6424
6425@item There can be only one method for each combination of specializers and
6426qualifiers. As a result this kind of extension point cannot be used by
6427multiple extensions independently.
6428@item Removing code previously attached via a @code{:before}, @code{:after} or
6429@code{:around} method can be cumbersome.
6430@item There could be other or even multiple extension points besides @code{:before}
6431and @code{:after} in a single method.
6432@item Attaching codes to individual objects using eql specializers can be
6433cumbersome.
6434@item Introspection of code attached a particular extension point is
6435cumbersome since this requires enumerating and inspecting the methods of a
6436generic function.
6437@end itemize
6438
6439This library tries to complement some of these weaknesses of method-based
6440extension-points via the concept of hooks.")
6441 (license license:llgpl))))
6442
6443(define-public cl-hooks
6444 (sbcl-package->cl-source-package sbcl-cl-hooks))
6445
6446(define-public ecl-cl-hooks
6447 (sbcl-package->ecl-package sbcl-cl-hooks))
6448
6449(define-public sbcl-s-sysdeps
6450 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6451 (revision "1"))
6452 (package
6453 (name "sbcl-s-sysdeps")
6454 (build-system asdf-build-system/sbcl)
6455 (version (git-version "1" revision commit))
6456 (home-page "https://github.com/svenvc/s-sysdeps")
6457 (source
6458 (origin
6459 (method git-fetch)
6460 (uri (git-reference
6461 (url home-page)
6462 (commit commit)))
6463 (file-name (git-file-name name version))
6464 (sha256
6465 (base32
6466 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6467 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6468 (description "@code{s-sysdeps} is an abstraction layer over platform
6469dependent functionality. This simple package is used as a building block in a
6470number of other open source projects.
6471
6472@code{s-sysdeps} abstracts:
6473
6474@itemize
6475@item managing processes,
6476@item implementing a standard TCP/IP server,
6477@item opening a client TCP/IP socket stream,
6478@item working with process locks.
6479@end itemize\n")
6480 (license license:llgpl))))
6481
6482(define-public cl-s-sysdeps
6483 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6484
6485(define-public ecl-s-sysdeps
6486 (sbcl-package->ecl-package sbcl-s-sysdeps))
6487
6488(define-public sbcl-cl-prevalence
6489 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6490 (revision "1"))
6491 (package
6492 (name "sbcl-cl-prevalence")
6493 (build-system asdf-build-system/sbcl)
6494 (version (git-version "5" revision commit))
6495 (home-page "https://github.com/40ants/cl-prevalence")
6496 (source
6497 (origin
6498 (method git-fetch)
6499 (uri (git-reference
6500 (url home-page)
6501 (commit commit)))
6502 (file-name (git-file-name name version))
6503 (sha256
6504 (base32
6505 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6506 (inputs
6507 `(("s-sysdeps" ,sbcl-s-sysdeps)
6508 ("s-xml" ,sbcl-s-xml)))
6509 (synopsis "Implementation of object prevalence for Common Lisp")
6510 (description "This Common Lisp library implements object prevalence (see
6511@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6512for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6513classes and cyclic data structures are supported.")
6514 (license license:llgpl))))
6515
6516(define-public cl-prevalence
6517 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6518
6519(define-public ecl-cl-prevalence
6520 (sbcl-package->ecl-package sbcl-cl-prevalence))
6521
6522(define-public sbcl-series
6523 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6524 (revision "1"))
6525 (package
6526 (name "sbcl-series")
6527 (version (git-version "2.2.11" revision commit))
6528 (source
6529 (origin
6530 (method git-fetch)
6531 (uri (git-reference
6532 (url "git://git.code.sf.net/p/series/series")
6533 (commit commit)))
6534 (file-name (git-file-name name version))
6535 (sha256
6536 (base32
6537 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6538 (build-system asdf-build-system/sbcl)
6539 (arguments
6540 ;; Disable the tests, they are apparently buggy and I didn't find
6541 ;; a simple way to make them run and pass.
6542 '(#:tests? #f))
6543 (synopsis "Series data structure for Common Lisp")
6544 (description
6545 "This Common Lisp library provides a series data structure much like
6546a sequence, with similar kinds of operations. The difference is that in many
6547situations, operations on series may be composed functionally and yet execute
6548iteratively, without the need to construct intermediate series values
6549explicitly. In this manner, series provide both the clarity of a functional
6550programming style and the efficiency of an iterative programming style.")
6551 (home-page "http://series.sourceforge.net/")
6552 (license license:expat))))
6553
6554(define-public cl-series
6555 (sbcl-package->cl-source-package sbcl-series))
6556
6557(define-public ecl-series
6558 (sbcl-package->ecl-package sbcl-series))
6559
6560(define-public sbcl-periods
6561 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6562 (revision "1"))
6563 (package
6564 (name "sbcl-periods")
6565 (version (git-version "0.0.2" revision commit))
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url "https://github.com/jwiegley/periods.git")
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6576 (build-system asdf-build-system/sbcl)
6577 (inputs
6578 `(("local-time" ,sbcl-local-time)))
6579 (synopsis "Common Lisp library for manipulating date/time objects")
6580 (description
6581 "Periods is a Common Lisp library providing a set of utilities for
6582manipulating times, distances between times, and both contiguous and
6583discontiguous ranges of time.")
6584 (home-page "https://github.com/jwiegley/periods")
6585 (license license:bsd-3))))
6586
6587(define-public cl-periods
6588 (sbcl-package->cl-source-package sbcl-periods))
6589
6590(define-public ecl-periods
6591 (sbcl-package->ecl-package sbcl-periods))
6592
6593(define-public sbcl-periods-series
6594 (package
6595 (inherit sbcl-periods)
6596 (name "sbcl-periods-series")
6597 (inputs
6598 `(("periods" ,sbcl-periods)
6599 ("series" ,sbcl-series)))
6600 (arguments
6601 '(#:asd-file "periods-series.asd"
6602 #:asd-system-name "periods-series"))
6603 (description
6604 "Periods-series is an extension of the periods Common Lisp library
6605providing functions compatible with the series Common Lisp library.")))
6606
6607(define-public cl-periods-series
6608 (sbcl-package->cl-source-package sbcl-periods-series))
6609
6610(define-public ecl-periods-series
6611 (sbcl-package->ecl-package sbcl-periods-series))
6612
6613(define-public sbcl-metatilities-base
6614 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6615 (revision "1"))
6616 (package
6617 (name "sbcl-metatilities-base")
6618 (version (git-version "0.6.6" revision commit))
6619 (source
6620 (origin
6621 (method git-fetch)
6622 (uri (git-reference
6623 (url "https://github.com/gwkkwg/metatilities-base.git")
6624 (commit commit)))
6625 (file-name (git-file-name name version))
6626 (sha256
6627 (base32
6628 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6629 (build-system asdf-build-system/sbcl)
6630 (native-inputs
6631 `(("lift" ,sbcl-lift)))
6632 (synopsis "Core of the metatilities Common Lisp library")
6633 (description
6634 "Metatilities-base is the core of the metatilities Common Lisp library
6635which implements a set of utilities.")
6636 (home-page "https://common-lisp.net/project/metatilities-base/")
6637 (license license:expat))))
6638
6639(define-public cl-metatilities-base
6640 (sbcl-package->cl-source-package sbcl-metatilities-base))
6641
6642(define-public ecl-metatilities-base
6643 (sbcl-package->ecl-package sbcl-metatilities-base))
6644
6645(define-public sbcl-cl-containers
6646 (let ((commit "810927e19d933bcf38ffeb7a23ce521efc432d45")
6647 (revision "1"))
6648 (package
6649 (name "sbcl-cl-containers")
6650 (version (git-version "0.12.1" revision commit))
6651 (source
6652 (origin
6653 (method git-fetch)
6654 (uri (git-reference
6655 (url "https://github.com/gwkkwg/cl-containers.git")
6656 (commit commit)))
6657 (file-name (git-file-name name version))
6658 (sha256
6659 (base32
6660 "1s9faxw7svhbjpkhfrz2qxgjm3cvyjb8wpyb4m8dx4i5g7vvprkv"))))
6661 (build-system asdf-build-system/sbcl)
6662 (native-inputs
6663 `(("lift" ,sbcl-lift)))
6664 (inputs
6665 `(("metatilities-base" ,sbcl-metatilities-base)))
6666 (arguments
6667 '(#:phases
6668 (modify-phases %standard-phases
6669 (add-after 'unpack 'relax-version-checks
6670 (lambda _
6671 (substitute* "cl-containers.asd"
6672 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6673 "\"metatilities-base\""))
6674 (substitute* "cl-containers-test.asd"
6675 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6676 "\"lift\""))
6677 #t)))))
6678 (synopsis "Container library for Common Lisp")
6679 (description
6680 "Common Lisp ships with a set of powerful built in data structures
6681including the venerable list, full featured arrays, and hash-tables.
6682CL-containers enhances and builds on these structures by adding containers
6683that are not available in native Lisp (for example: binary search trees,
6684red-black trees, sparse arrays and so on), and by providing a standard
6685interface so that they are simpler to use and so that changing design
6686decisions becomes significantly easier.")
6687 (home-page "https://common-lisp.net/project/cl-containers/")
6688 (license license:expat))))
6689
6690(define-public cl-containers
6691 (sbcl-package->cl-source-package sbcl-cl-containers))
6692
6693(define-public ecl-cl-containers
6694 (sbcl-package->ecl-package sbcl-cl-containers))
6695
6696(define-public sbcl-xlunit
6697 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6698 (revision "1"))
6699 (package
6700 (name "sbcl-xlunit")
6701 (version (git-version "0.6.3" revision commit))
6702 (source
6703 (origin
6704 (method git-fetch)
6705 (uri (git-reference
6706 (url "http://git.kpe.io/xlunit.git")
6707 (commit commit)))
6708 (file-name (git-file-name name version))
6709 (sha256
6710 (base32
6711 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6712 (build-system asdf-build-system/sbcl)
6713 (arguments
6714 '(#:phases
6715 (modify-phases %standard-phases
6716 (add-after 'unpack 'fix-tests
6717 (lambda _
6718 (substitute* "xlunit.asd"
6719 ((" :force t") ""))
6720 #t)))))
6721 (synopsis "Unit testing package for Common Lisp")
6722 (description
6723 "The XLUnit package is a toolkit for building test suites. It is based
6724on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6725 (home-page "http://quickdocs.org/xlunit/")
6726 (license license:bsd-3))))
6727
6728(define-public cl-xlunit
6729 (sbcl-package->cl-source-package sbcl-xlunit))
6730
6731(define-public ecl-xlunit
6732 (sbcl-package->ecl-package sbcl-xlunit))
6733
6734(define-public sbcl-fprog
6735 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6736 (revision "1"))
6737 (package
6738 (name "sbcl-fprog")
6739 (version (git-version "1.0.0" revision commit))
6740 (source
6741 (origin
6742 (method git-fetch)
6743 (uri (git-reference
6744 (url "https://github.com/jwiegley/cambl.git")
6745 (commit commit)))
6746 (file-name (git-file-name name version))
6747 (sha256
6748 (base32
6749 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6750 (build-system asdf-build-system/sbcl)
6751 (synopsis "Functional programming utilities for Common Lisp")
6752 (description
6753 "@code{fprog} is a Common Lisp library allowing iteration over
6754immutable lists sharing identical sublists.")
6755 (home-page "https://github.com/jwiegley/cambl")
6756 (license license:bsd-3))))
6757
6758(define-public cl-fprog
6759 (sbcl-package->cl-source-package sbcl-fprog))
6760
6761(define-public ecl-fprog
6762 (sbcl-package->ecl-package sbcl-fprog))
6763
6764(define-public sbcl-cambl
6765 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6766 (revision "1"))
6767 (package
6768 (inherit sbcl-fprog)
6769 (name "sbcl-cambl")
6770 (version (git-version "4.0.0" revision commit))
6771 (native-inputs
6772 `(("xlunit" ,sbcl-xlunit)))
6773 (inputs
6774 `(("alexandria" ,sbcl-alexandria)
6775 ("cl-containers" ,sbcl-cl-containers)
6776 ("local-time" ,sbcl-local-time)
6777 ("periods" ,sbcl-periods)
6778 ("fprog" ,sbcl-fprog)))
6779 (synopsis "Commoditized amounts and balances for Common Lisp")
6780 (description
6781 "CAMBL is a Common Lisp library providing a convenient facility for
6782working with commoditized values. It does not allow compound units (and so is
6783not suited for scientific operations) but does work rather nicely for the
6784purpose of financial calculations."))))
6785
6786(define-public cl-cambl
6787 (sbcl-package->cl-source-package sbcl-cambl))
6788
6789(define-public ecl-cambl
6790 (sbcl-package->ecl-package sbcl-cambl))
6791
6792(define-public sbcl-cl-ledger
6793 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6794 (revision "1"))
6795 (package
6796 (name "sbcl-cl-ledger")
6797 (version (git-version "4.0.0" revision commit))
6798 (source
6799 (origin
6800 (method git-fetch)
6801 (uri (git-reference
6802 (url "https://github.com/ledger/cl-ledger.git")
6803 (commit commit)))
6804 (file-name (git-file-name name version))
6805 (sha256
6806 (base32
6807 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6808 (build-system asdf-build-system/sbcl)
6809 (inputs
6810 `(("cambl" ,sbcl-cambl)
6811 ("cl-ppcre" ,sbcl-cl-ppcre)
6812 ("local-time" ,sbcl-local-time)
6813 ("periods-series" ,sbcl-periods-series)))
6814 (arguments
6815 '(#:phases
6816 (modify-phases %standard-phases
6817 (add-after 'unpack 'fix-system-definition
6818 (lambda _
6819 (substitute* "cl-ledger.asd"
6820 ((" :build-operation program-op") "")
6821 ((" :build-pathname \"cl-ledger\"") "")
6822 ((" :entry-point \"ledger::main\"") ""))
6823 #t)))))
6824 (synopsis "Common Lisp port of the Ledger accounting system")
6825 (description
6826 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6827system.")
6828 (home-page "https://github.com/ledger/cl-ledger")
6829 (license license:bsd-3))))
6830
6831(define-public cl-ledger
6832 (sbcl-package->cl-source-package sbcl-cl-ledger))
6833
6834(define-public ecl-cl-ledger
6835 (sbcl-package->ecl-package sbcl-cl-ledger))
6836
6837(define-public sbcl-bst
6838 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6839 (revision "1"))
6840 (package
6841 (name "sbcl-bst")
6842 (version (git-version "1.1" revision commit))
6843 (source
6844 (origin
6845 (method git-fetch)
6846 (uri (git-reference
6847 (url "https://github.com/glv2/bst.git")
6848 (commit commit)))
6849 (file-name (git-file-name name version))
6850 (sha256
6851 (base32
6852 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6853 (build-system asdf-build-system/sbcl)
6854 (native-inputs
6855 `(("alexandria" ,sbcl-alexandria)
6856 ("fiveam" ,sbcl-fiveam)))
6857 (synopsis "Binary search tree for Common Lisp")
6858 (description
6859 "BST is a Common Lisp library for working with binary search trees that
6860can contain any kind of values.")
6861 (home-page "https://github.com/glv2/bst")
6862 (license license:gpl3))))
6863
6864(define-public cl-bst
6865 (sbcl-package->cl-source-package sbcl-bst))
6866
6867(define-public ecl-bst
6868 (sbcl-package->ecl-package sbcl-bst))
6869
6870(define-public sbcl-cl-octet-streams
6871 (package
6872 (name "sbcl-cl-octet-streams")
6873 (version "1.0")
6874 (source
6875 (origin
6876 (method git-fetch)
6877 (uri (git-reference
6878 (url "https://github.com/glv2/cl-octet-streams.git")
6879 (commit (string-append "v" version))))
6880 (file-name (git-file-name name version))
6881 (sha256
6882 (base32
6883 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6884 (build-system asdf-build-system/sbcl)
6885 (native-inputs
6886 `(("fiveam" ,sbcl-fiveam)))
6887 (inputs
6888 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6889 (synopsis "In-memory octet streams for Common Lisp")
6890 (description
6891 "CL-octet-streams is a library implementing in-memory octet
6892streams for Common Lisp. It was inspired by the trivial-octet-streams and
6893cl-plumbing libraries.")
6894 (home-page "https://github.com/glv2/cl-octet-streams")
6895 (license license:gpl3+)))
6896
6897(define-public cl-octet-streams
6898 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6899
6900(define-public ecl-cl-octet-streams
6901 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6902
6903(define-public sbcl-lzlib
6904 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6905 (revision "1"))
6906 (package
6907 (name "sbcl-lzlib")
6908 (version (git-version "1.0" revision commit))
6909 (source
6910 (origin
6911 (method git-fetch)
6912 (uri (git-reference
6913 (url "https://github.com/glv2/cl-lzlib.git")
6914 (commit commit)))
6915 (file-name (git-file-name name version))
6916 (sha256
6917 (base32
6918 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6919 (build-system asdf-build-system/sbcl)
6920 (native-inputs
6921 `(("fiveam" ,sbcl-fiveam)))
6922 (inputs
6923 `(("cffi" ,sbcl-cffi)
6924 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6925 ("lzlib" ,lzlib)))
6926 (arguments
6927 '(#:phases
6928 (modify-phases %standard-phases
6929 (add-after 'unpack 'fix-paths
6930 (lambda* (#:key inputs #:allow-other-keys)
6931 (substitute* "src/lzlib.lisp"
6932 (("liblz\\.so")
6933 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6934 #t)))))
6935 (synopsis "Common Lisp library for lzip (de)compression")
6936 (description
6937 "This Common Lisp library provides functions for lzip (LZMA)
6938compression/decompression using bindings to the lzlib C library.")
6939 (home-page "https://github.com/glv2/cl-lzlib")
6940 (license license:gpl3+))))
6941
6942(define-public cl-lzlib
6943 (sbcl-package->cl-source-package sbcl-lzlib))
6944
6945(define-public ecl-lzlib
6946 (sbcl-package->ecl-package sbcl-lzlib))
6947
6948(define-public sbcl-chanl
00a9a936
GLV
6949 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6950 (revision "1"))
88f06fd0
PN
6951 (package
6952 (name "sbcl-chanl")
6953 (version (git-version "0.4.1" revision commit))
6954 (source
6955 (origin
6956 (method git-fetch)
6957 (uri (git-reference
6958 (url "https://github.com/zkat/chanl.git")
6959 (commit commit)))
6960 (file-name (git-file-name name version))
6961 (sha256
6962 (base32
00a9a936 6963 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
6964 (build-system asdf-build-system/sbcl)
6965 (native-inputs
6966 `(("fiveam" ,sbcl-fiveam)))
6967 (inputs
6968 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
6969 (synopsis "Portable channel-based concurrency for Common Lisp")
6970 (description "Common Lisp library for channel-based concurrency. In
6971a nutshell, you create various threads sequentially executing tasks you need
6972done, and use channel objects to communicate and synchronize the state of these
6973threads.")
6974 (home-page "https://github.com/zkat/chanl")
6975 (license (list license:expat license:bsd-3)))))
6976
6977(define-public cl-chanl
6978 (sbcl-package->cl-source-package sbcl-chanl))
6979
6980(define-public ecl-chanl
00a9a936 6981 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
6982
6983(define-public sbcl-cl-store
1896256d
BG
6984 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
6985 (revision "1"))
88f06fd0
PN
6986 (package
6987 (name "sbcl-cl-store")
6988 (version (git-version "0.8.11" revision commit))
6989 (source
6990 (origin
6991 (method git-fetch)
6992 (uri (git-reference
6993 (url "https://github.com/skypher/cl-store.git")
6994 (commit commit)))
6995 (file-name (git-file-name name version))
6996 (sha256
6997 (base32
1896256d 6998 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
6999 (build-system asdf-build-system/sbcl)
7000 (native-inputs
7001 `(("rt" ,sbcl-rt)))
7002 (synopsis "Common Lisp library to serialize data")
7003 (description
7004 "CL-STORE is a portable serialization package which should give you the
7005ability to store all Common Lisp data types into streams.")
630a4b77 7006 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7007 (license license:expat))))
7008
7009(define-public cl-store
7010 (sbcl-package->cl-source-package sbcl-cl-store))
7011
7012(define-public ecl-cl-store
7013 (sbcl-package->ecl-package sbcl-cl-store))
7014
7015(define-public sbcl-cl-gobject-introspection
7016 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7017 (revision "0"))
7018 (package
7019 (name "sbcl-cl-gobject-introspection")
7020 (version (git-version "0.3" revision commit))
7021 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7022 (source
7023 (origin
7024 (method git-fetch)
7025 (uri (git-reference
7026 (url home-page)
7027 (commit commit)))
7028 (file-name (git-file-name name version))
7029 (sha256
7030 (base32
7031 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7032 (build-system asdf-build-system/sbcl)
7033 (inputs
7034 `(("alexandria" ,sbcl-alexandria)
7035 ("cffi" ,sbcl-cffi)
7036 ("iterate" ,sbcl-iterate)
7037 ("trivial-garbage" ,sbcl-trivial-garbage)
7038 ("glib" ,glib)
7039 ("gobject-introspection" ,gobject-introspection)))
7040 (native-inputs
7041 `(("fiveam" ,sbcl-fiveam)))
7042 (arguments
7043 ;; TODO: Tests fail, see
7044 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7045 '(#:tests? #f
7046 #:phases
7047 (modify-phases %standard-phases
7048 (add-after (quote unpack) (quote fix-paths)
7049 (lambda* (#:key inputs #:allow-other-keys)
7050 (substitute* "src/init.lisp"
7051 (("libgobject-2\\.0\\.so")
7052 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7053 (("libgirepository-1\\.0\\.so")
7054 (string-append (assoc-ref inputs "gobject-introspection")
7055 "/lib/libgirepository-1.0.so")))
7056 #t)))))
7057 (synopsis "Common Lisp bindings to GObject Introspection")
7058 (description
7059 "This library is a bridge between Common Lisp and GObject
7060Introspection, which enables Common Lisp programs to access the full interface
7061of C+GObject libraries without the need of writing dedicated bindings.")
7062 (license (list license:bsd-3
7063 ;; Tests are under a different license.
7064 license:llgpl)))))
7065
7066(define-public cl-gobject-introspection
7067 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7068
7069(define-public sbcl-string-case
7070 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7071 (revision "0"))
7072 (package
7073 (name "sbcl-string-case")
7074 (version (git-version "0.0.2" revision commit))
7075 (home-page "https://github.com/pkhuong/string-case")
7076 (source
7077 (origin
7078 (method git-fetch)
7079 (uri (git-reference
7080 (url home-page)
7081 (commit commit)))
7082 (file-name (git-file-name name version))
7083 (sha256
7084 (base32
7085 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7086 (build-system asdf-build-system/sbcl)
7087 (synopsis "Efficient string= case in Common Lisp")
7088 (description
7089 "@code{string-case} is a Common Lisp macro that generates specialised decision
7090trees to dispatch on string equality.")
7091 (license license:bsd-3))))
7092
7093(define-public cl-string-case
7094 (sbcl-package->cl-source-package sbcl-string-case))
7095
7096(define-public ecl-string-case
7097 (sbcl-package->ecl-package sbcl-string-case))
7098
7099(define-public sbcl-global-vars
7100 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7101 (revision "0"))
7102 (package
7103 (name "sbcl-global-vars")
7104 (version (git-version "1.0.0" revision commit))
7105 (home-page "https://github.com/lmj/global-vars")
7106 (source
7107 (origin
7108 (method git-fetch)
7109 (uri (git-reference
7110 (url home-page)
7111 (commit commit)))
7112 (file-name (git-file-name name version))
7113 (sha256
7114 (base32
7115 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7116 (build-system asdf-build-system/sbcl)
7117 (synopsis "Efficient global variables in Common Lisp")
7118 (description
7119 "In Common Lisp, a special variable that is never dynamically bound
7120typically serves as a stand-in for a global variable. The @code{global-vars}
7121library provides true global variables that are implemented by some compilers.
7122An attempt to rebind a global variable properly results in a compiler error.
7123That is, a global variable cannot be dynamically bound.
7124
7125Global variables therefore allow us to communicate an intended usage that
7126differs from special variables. Global variables are also more efficient than
7127special variables, especially in the presence of threads.")
7128 (license license:expat))))
7129
7130(define-public cl-global-vars
7131 (sbcl-package->cl-source-package sbcl-global-vars))
7132
7133(define-public ecl-global-vars
7134 (sbcl-package->ecl-package sbcl-global-vars))
7135
7136(define-public sbcl-trivial-file-size
7137 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7138 (revision "0"))
7139 (package
7140 (name "sbcl-trivial-file-size")
7141 (version (git-version "0.0.0" revision commit))
7142 (home-page "https://github.com/ruricolist/trivial-file-size")
7143 (source
7144 (origin
7145 (method git-fetch)
7146 (uri (git-reference
7147 (url home-page)
7148 (commit commit)))
7149 (file-name (git-file-name name version))
7150 (sha256
7151 (base32
7152 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7153 (build-system asdf-build-system/sbcl)
7154 (native-inputs
7155 `(("fiveam" ,sbcl-fiveam)))
7156 (synopsis "Size of a file in bytes in Common Lisp")
7157 (description
7158 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7159is to open the file with an element type of (unsigned-byte 8) and then
7160calculate the length of the stream. This is less than ideal. In most cases
7161it is better to get the size of the file from its metadata, using a system
7162call.
7163
7164This library exports a single function, file-size-in-octets. It returns the
7165size of a file in bytes, using system calls when possible.")
7166 (license license:expat))))
7167
7168(define-public cl-trivial-file-size
7169 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7170
7171(define-public ecl-trivial-file-size
7172 (sbcl-package->ecl-package sbcl-trivial-file-size))
7173
7174(define-public sbcl-trivial-macroexpand-all
7175 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7176 (revision "0"))
7177 (package
7178 (name "sbcl-trivial-macroexpand-all")
7179 (version (git-version "0.0.0" revision commit))
7180 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url home-page)
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32
7190 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7191 (build-system asdf-build-system/sbcl)
7192 (native-inputs
7193 `(("fiveam" ,sbcl-fiveam)))
7194 (synopsis "Portable macroexpand-all for Common Lisp")
7195 (description
7196 "This library provides a macroexpand-all function that calls the
7197implementation specific equivalent.")
7198 (license license:unlicense))))
7199
7200(define-public cl-trivial-macroexpand-all
7201 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7202
7203(define-public ecl-trivial-macroexpand-all
7204 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7205
7206(define-public sbcl-serapeum
7207 (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe")
7208 (revision "0"))
7209 (package
7210 (name "sbcl-serapeum")
7211 (version (git-version "0.0.0" revision commit))
7212 (home-page "https://github.com/ruricolist/serapeum")
7213 (source
7214 (origin
7215 (method git-fetch)
7216 (uri (git-reference
7217 (url home-page)
7218 (commit commit)))
7219 (file-name (git-file-name name version))
7220 (sha256
7221 (base32
7222 "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw"))))
7223 (build-system asdf-build-system/sbcl)
7224 (inputs
7225 `(("alexandria" ,sbcl-alexandria)
7226 ("trivia" ,sbcl-trivia)
7227 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7228 ("split-sequence" ,sbcl-split-sequence)
7229 ("string-case" ,sbcl-string-case)
7230 ("parse-number" ,sbcl-parse-number)
7231 ("trivial-garbage" ,sbcl-trivial-garbage)
7232 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7233 ("named-readtables" ,sbcl-named-readtables)
8137983a 7234 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7235 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7236 ("global-vars" ,sbcl-global-vars)
7237 ("trivial-file-size" ,sbcl-trivial-file-size)
7238 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7239 (native-inputs
7240 `(("fiveam" ,sbcl-fiveam)
7241 ("local-time" ,sbcl-local-time)))
7242 (arguments
7243 '(#:phases
7244 (modify-phases %standard-phases
7245 (add-after 'unpack 'disable-failing-tests
7246 (lambda* (#:key inputs #:allow-other-keys)
7247 (substitute* "serapeum.asd"
7248 ;; Guix does not have Quicklisp, and probably never will.
7249 (("\\(:file \"quicklisp\"\\)") ""))
7250 #t)))))
7251 (synopsis "Common Lisp utility library beyond Alexandria")
7252 (description
7253 "Serapeum is a conservative library of Common Lisp utilities. It is a
7254supplement, not a competitor, to Alexandria.")
7255 (license license:expat))))
7256
7257(define-public cl-serapeum
7258 (sbcl-package->cl-source-package sbcl-serapeum))
7259
7260(define-public sbcl-arrows
7261 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7262 (revision "0"))
7263 (package
7264 (name "sbcl-arrows")
7265 (version (git-version "0.2.0" revision commit))
7266 (source
7267 (origin
7268 (method git-fetch)
7269 (uri (git-reference
7270 (url "https://gitlab.com/Harleqin/arrows.git")
7271 (commit commit)))
7272 (file-name (git-file-name name version))
7273 (sha256
7274 (base32
7275 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7276 (build-system asdf-build-system/sbcl)
7277 (native-inputs
7278 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7279 (synopsis "Clojure-like arrow macros for Common Lisp")
7280 (description
7281 "This library implements the @code{->} and @code{->>} macros from
7282Clojure, as well as several expansions on the idea.")
7283 (home-page "https://gitlab.com/Harleqin/arrows")
7284 (license license:public-domain))))
7285
7286(define-public cl-arrows
7287 (sbcl-package->cl-source-package sbcl-arrows))
7288
7289(define-public ecl-arrows
7290 (sbcl-package->ecl-package sbcl-arrows))
7291
7292(define-public sbcl-simple-parallel-tasks
7293 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7294 (revision "0"))
7295 (package
7296 (name "sbcl-simple-parallel-tasks")
7297 (version (git-version "1.0" revision commit))
7298 (source
7299 (origin
7300 (method git-fetch)
7301 (uri (git-reference
7302 (url "https://github.com/glv2/simple-parallel-tasks.git")
7303 (commit commit)))
7304 (file-name (git-file-name name version))
7305 (sha256
7306 (base32
7307 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7308 (build-system asdf-build-system/sbcl)
7309 (native-inputs
7310 `(("fiveam" ,sbcl-fiveam)))
7311 (inputs
7312 `(("chanl" ,sbcl-chanl)))
7313 (synopsis "Common Lisp library to evaluate some forms in parallel")
7314 (description "This is a simple Common Lisp library to evaluate some
7315forms in parallel.")
7316 (home-page "https://github.com/glv2/simple-parallel-tasks")
7317 (license license:gpl3))))
7318
7319(define-public cl-simple-parallel-tasks
7320 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7321
7322(define-public ecl-simple-parallel-tasks
7323 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7324
7325(define-public sbcl-cl-heap
7326 (package
7327 (name "sbcl-cl-heap")
7328 (version "0.1.6")
7329 (source
7330 (origin
7331 (method url-fetch)
7332 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7333 "cl-heap_" version ".tar.gz"))
7334 (sha256
7335 (base32
7336 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7337 (build-system asdf-build-system/sbcl)
7338 (native-inputs
7339 `(("xlunit" ,sbcl-xlunit)))
7340 (arguments
7341 `(#:test-asd-file "cl-heap-tests.asd"))
7342 (synopsis "Heap and priority queue data structures for Common Lisp")
7343 (description
7344 "CL-HEAP provides various implementations of heap data structures (a
7345binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7346 (home-page "https://common-lisp.net/project/cl-heap/")
7347 (license license:gpl3+)))
7348
7349(define-public cl-heap
7350 (sbcl-package->cl-source-package sbcl-cl-heap))
7351
7352(define-public ecl-cl-heap
7353 (sbcl-package->ecl-package sbcl-cl-heap))
7354
7355(define-public sbcl-curry-compose-reader-macros
7356 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7357 (revision "0"))
7358 (package
7359 (name "sbcl-curry-compose-reader-macros")
7360 (version (git-version "1.0.0" revision commit))
7361 (source
7362 (origin
7363 (method git-fetch)
7364 (uri
7365 (git-reference
7366 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7367 (commit commit)))
7368 (file-name (git-file-name name version))
7369 (sha256
7370 (base32
7371 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7372 (build-system asdf-build-system/sbcl)
7373 (inputs
7374 `(("alexandria" ,sbcl-alexandria)
7375 ("named-readtables" ,sbcl-named-readtables)))
7376 (synopsis "Reader macros for partial application and composition")
7377 (description
7378 "This Common Lisp library provides reader macros for concise expression
7379of function partial application and composition.")
7380 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7381 (license license:public-domain))))
7382
7383(define-public cl-curry-compose-reader-macros
7384 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7385
7386(define-public ecl-curry-compose-reader-macros
7387 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7388
7389(define-public sbcl-yason
7390 (package
7391 (name "sbcl-yason")
7392 (version "0.7.7")
7393 (source
7394 (origin
7395 (method git-fetch)
7396 (uri (git-reference
7397 (url "https://github.com/phmarek/yason.git")
7398 (commit (string-append "v" version))))
7399 (file-name (git-file-name name version))
7400 (sha256
7401 (base32
7402 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7403 (build-system asdf-build-system/sbcl)
7404 (inputs
7405 `(("alexandria" ,sbcl-alexandria)
7406 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7407 (synopsis "Common Lisp JSON parser/encoder")
7408 (description
7409 "YASON is a Common Lisp library for encoding and decoding data in the
7410JSON interchange format.")
7411 (home-page "https://github.com/phmarek/yason")
7412 (license license:bsd-3)))
7413
7414(define-public cl-yason
7415 (sbcl-package->cl-source-package sbcl-yason))
7416
7417(define-public ecl-yason
7418 (sbcl-package->ecl-package sbcl-yason))
7419
7420(define-public sbcl-stefil
7421 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7422 (revision "0"))
7423 (package
7424 (name "sbcl-stefil")
7425 (version (git-version "0.1" revision commit))
7426 (source
7427 (origin
7428 (method git-fetch)
7429 (uri (git-reference
7430 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7431 (commit commit)))
7432 (file-name (git-file-name name version))
7433 (sha256
7434 (base32
7435 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7436 (build-system asdf-build-system/sbcl)
7437 (inputs
7438 `(("alexandria" ,sbcl-alexandria)
7439 ("iterate" ,sbcl-iterate)
7440 ("metabang-bind" ,sbcl-metabang-bind)))
7441 (propagated-inputs
7442 ;; Swank doesn't have a pre-compiled package, therefore we must
7443 ;; propagate its sources.
7444 `(("swank" ,cl-slime-swank)))
7445 (arguments
7446 '(#:phases
7447 (modify-phases %standard-phases
7448 (add-after 'unpack 'drop-unnecessary-dependency
7449 (lambda _
7450 (substitute* "package.lisp"
7451 ((":stefil-system") ""))
7452 #t)))))
7453 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7454 (synopsis "Simple test framework")
7455 (description
7456 "Stefil is a simple test framework for Common Lisp, with a focus on
7457interactive development.")
7458 (license license:public-domain))))
7459
7460(define-public cl-stefil
7461 (sbcl-package->cl-source-package sbcl-stefil))
7462
7463(define-public sbcl-graph
7464 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7465 (revision "0"))
7466 (package
7467 (name "sbcl-graph")
7468 (version (git-version "0.0.0" revision commit))
7469 (source
7470 (origin
7471 (method git-fetch)
7472 (uri
7473 (git-reference
7474 (url "https://github.com/eschulte/graph.git")
7475 (commit commit)))
7476 (file-name (git-file-name name version))
7477 (sha256
7478 (base32
7479 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7480 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7481 (build-system asdf-build-system/sbcl)
7482 (native-inputs
7483 `(("stefil" ,sbcl-stefil)))
7484 (inputs
7485 `(("alexandria" ,sbcl-alexandria)
7486 ("cl-heap" ,sbcl-cl-heap)
7487 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7488 ("metabang-bind" ,sbcl-metabang-bind)
7489 ("named-readtables" ,sbcl-named-readtables)))
7490 (arguments
17c015c9 7491 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7492 (synopsis "Graph data structure and algorithms for Common Lisp")
7493 (description
7494 "The GRAPH Common Lisp library provides a data structures to represent
7495graphs, as well as some graph manipulation and analysis algorithms (shortest
7496path, maximum flow, minimum spanning tree, etc.).")
7497 (home-page "https://eschulte.github.io/graph/")
7498 (license license:gpl3+))))
7499
7500(define-public cl-graph
7501 (sbcl-package->cl-source-package sbcl-graph))
7502
7503(define-public sbcl-graph-dot
7504 (package
7505 (inherit sbcl-graph)
7506 (name "sbcl-graph-dot")
7507 (inputs
7508 `(("alexandria" ,sbcl-alexandria)
7509 ("cl-ppcre" ,sbcl-cl-ppcre)
7510 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7511 ("graph" ,sbcl-graph)
7512 ("metabang-bind" ,sbcl-metabang-bind)
7513 ("named-readtables" ,sbcl-named-readtables)))
7514 (arguments
7515 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7516 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7517 ((#:asd-system-name _ #f) "graph-dot")))
7518 (synopsis "Serialize graphs to and from DOT format")))
7519
7520(define-public sbcl-graph-json
7521 (package
7522 (inherit sbcl-graph)
7523 (name "sbcl-graph-json")
7524 (inputs
7525 `(("alexandria" ,sbcl-alexandria)
7526 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7527 ("graph" ,sbcl-graph)
7528 ("metabang-bind" ,sbcl-metabang-bind)
7529 ("named-readtables" ,sbcl-named-readtables)
7530 ("yason" ,sbcl-yason)))
7531 (arguments
7532 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7533 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7534 ((#:asd-system-name _ #f) "graph-json")))
7535 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7536
7537(define-public sbcl-trivial-indent
7538 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7539 (revision "0"))
7540 (package
7541 (name "sbcl-trivial-indent")
7542 (version (git-version "1.0.0" revision commit))
7543 (source
7544 (origin
7545 (method git-fetch)
7546 (uri
7547 (git-reference
7548 (url "https://github.com/Shinmera/trivial-indent")
7549 (commit commit)))
7550 (file-name (git-file-name name version))
7551 (sha256
7552 (base32
7553 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7554 (build-system asdf-build-system/sbcl)
7555 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7556 (description
7557 "This library allows you to define custom indentation hints for your
7558macros if the one recognised by SLIME automatically produces unwanted
7559results.")
7560 (home-page "https://shinmera.github.io/trivial-indent/")
7561 (license license:zlib))))
7562
7563(define-public cl-trivial-indent
7564 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7565
7566(define-public sbcl-documentation-utils
7567 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7568 (revision "0"))
7569 (package
7570 (name "sbcl-documentation-utils")
7571 (version (git-version "1.2.0" revision commit))
7572 (source
7573 (origin
7574 (method git-fetch)
7575 (uri
7576 (git-reference
7577 (url "https://github.com/Shinmera/documentation-utils.git")
7578 (commit commit)))
7579 (file-name (git-file-name name version))
7580 (sha256
7581 (base32
7582 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7583 (build-system asdf-build-system/sbcl)
7584 (inputs
7585 `(("trivial-indent" ,sbcl-trivial-indent)))
7586 (synopsis "Few simple tools to document Common Lisp libraries")
7587 (description
7588 "This is a small library to help you with managing the Common Lisp
7589docstrings for your library.")
7590 (home-page "https://shinmera.github.io/documentation-utils/")
7591 (license license:zlib))))
7592
7593(define-public cl-documentation-utils
7594 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7595
281537f4
GLV
7596(define-public ecl-documentation-utils
7597 (sbcl-package->ecl-package sbcl-documentation-utils))
7598
aa47c9e7
PN
7599(define-public sbcl-form-fiddle
7600 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7601 (revision "0"))
7602 (package
7603 (name "sbcl-form-fiddle")
7604 (version (git-version "1.1.0" revision commit))
7605 (source
7606 (origin
7607 (method git-fetch)
7608 (uri
7609 (git-reference
7610 (url "https://github.com/Shinmera/form-fiddle")
7611 (commit commit)))
7612 (file-name (git-file-name name version))
7613 (sha256
7614 (base32
7615 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7616 (build-system asdf-build-system/sbcl)
7617 (inputs
7618 `(("documentation-utils" ,sbcl-documentation-utils)))
7619 (synopsis "Utilities to destructure Common Lisp lambda forms")
7620 (description
7621 "Often times we need to destructure a form definition in a Common Lisp
7622macro. This library provides a set of simple utilities to help with that.")
7623 (home-page "https://shinmera.github.io/form-fiddle/")
7624 (license license:zlib))))
7625
7626(define-public cl-form-fiddle
7627 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7628
7629(define-public sbcl-parachute
7630 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7631 (revision "0"))
7632 (package
7633 (name "sbcl-parachute")
7634 (version (git-version "1.1.1" revision commit))
7635 (source
7636 (origin
7637 (method git-fetch)
7638 (uri
7639 (git-reference
7640 (url "https://github.com/Shinmera/parachute")
7641 (commit commit)))
7642 (file-name (git-file-name name version))
7643 (sha256
7644 (base32
7645 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7646 (build-system asdf-build-system/sbcl)
7647 (inputs
7648 `(("documentation-utils" ,sbcl-documentation-utils)
7649 ("form-fiddle" ,sbcl-form-fiddle)))
7650 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7651 (description
7652 "Parachute is a simple-to-use and extensible testing framework.
7653In Parachute, things are organised as a bunch of named tests within a package.
7654Each test can contain a bunch of test forms that make up its body.")
7655 (home-page "https://shinmera.github.io/parachute/")
7656 (license license:zlib))))
7657
7658(define-public cl-parachute
7659 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7660
7661(define-public sbcl-array-utils
7662 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7663 (revision "0"))
7664 (package
7665 (name "sbcl-array-utils")
7666 (version (git-version "1.1.1" revision commit))
7667 (source
7668 (origin
7669 (method git-fetch)
7670 (uri
7671 (git-reference
7672 (url "https://github.com/Shinmera/array-utils")
7673 (commit commit)))
7674 (file-name (git-file-name name version))
7675 (sha256
7676 (base32
7677 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7678 (build-system asdf-build-system/sbcl)
7679 (native-inputs
7680 `(("parachute" ,sbcl-parachute)))
7681 (inputs
7682 `(("documentation-utils" ,sbcl-documentation-utils)))
7683 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7684 (description
7685 "A miniature toolkit that contains some useful shifting/popping/pushing
7686functions for arrays and vectors. Originally from Plump.")
7687 (home-page "https://shinmera.github.io/array-utils/")
7688 (license license:zlib))))
7689
7690(define-public cl-array-utils
7691 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7692
7693(define-public sbcl-plump
7694 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7695 (revision "0"))
7696 (package
7697 (name "sbcl-plump")
7698 (version (git-version "2.0.0" revision commit))
7699 (source
7700 (origin
7701 (method git-fetch)
7702 (uri
7703 (git-reference
7704 (url "https://github.com/Shinmera/plump")
7705 (commit commit)))
7706 (file-name (git-file-name name version))
7707 (sha256
7708 (base32
7709 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7710 (build-system asdf-build-system/sbcl)
7711 (inputs
7712 `(("array-utils" ,sbcl-array-utils)
7713 ("documentation-utils" ,sbcl-documentation-utils)))
7714 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7715 (description
7716 "Plump is a parser for HTML/XML-like documents, focusing on being
7717lenient towards invalid markup. It can handle things like invalid attributes,
7718bad closing tag order, unencoded entities, inexistent tag types, self-closing
7719tags and so on. It parses documents to a class representation and offers a
7720small set of DOM functions to manipulate it. It can be extended to parse to
7721your own classes.")
7722 (home-page "https://shinmera.github.io/plump/")
7723 (license license:zlib))))
7724
7725(define-public cl-plump
7726 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7727
7728(define-public sbcl-antik-base
7729 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7730 (revision "1"))
7731 (package
7732 (name "sbcl-antik-base")
7733 (version (git-version "0.0.0" revision commit))
7734 (source
7735 (origin
7736 (method git-fetch)
7737 (uri (git-reference
7738 (url "https://gitlab.common-lisp.net/antik/antik.git")
7739 (commit commit)))
7740 (file-name (git-file-name name version))
7741 (sha256
7742 (base32
7743 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7744 (build-system asdf-build-system/sbcl)
7745 (inputs
7746 `(("alexandria" ,sbcl-alexandria)
7747 ("cl-ppcre" ,sbcl-cl-ppcre)
7748 ("iterate" ,sbcl-iterate)
7749 ("metabang-bind" ,sbcl-metabang-bind)
7750 ("named-readtables" ,sbcl-named-readtables)
7751 ("split-sequence" ,sbcl-split-sequence)))
7752 (native-inputs
7753 `(("lisp-unit" ,sbcl-lisp-unit)))
7754 (synopsis "Scientific and engineering computation in Common Lisp")
7755 (description
7756 "Antik provides a foundation for scientific and engineering
7757computation in Common Lisp. It is designed not only to facilitate
7758numerical computations, but to permit the use of numerical computation
7759libraries and the interchange of data and procedures, whether
7760foreign (non-Lisp) or Lisp libraries. It is named after the
7761Antikythera mechanism, one of the oldest examples of a scientific
7762computer known.")
7763 (home-page "https://common-lisp.net/project/antik/")
7764 (license license:gpl3))))
7765
7766(define-public cl-antik-base
7767 (sbcl-package->cl-source-package sbcl-antik-base))
7768
7769(define-public ecl-antik-base
7770 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7771
7772(define-public sbcl-foreign-array
7773 (package
7774 (inherit sbcl-antik-base)
7775 (name "sbcl-foreign-array")
7776 (arguments
7777 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7778 ((#:asd-file _ "") "foreign-array.asd")
7779 ((#:asd-system-name _ #f) "foreign-array")))
7780 (inputs
7781 `(("antik-base" ,sbcl-antik-base)
7782 ("cffi" ,sbcl-cffi)
7783 ("trivial-garbage" ,sbcl-trivial-garbage)
7784 ("static-vectors" ,sbcl-static-vectors)))
7785 (synopsis "Common Lisp library providing access to foreign arrays")))
7786
7787(define-public cl-foreign-array
7788 (sbcl-package->cl-source-package sbcl-foreign-array))
7789
7790(define-public ecl-foreign-array
7791 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7792
7793(define-public sbcl-physical-dimension
7794 (package
7795 (inherit sbcl-antik-base)
7796 (name "sbcl-physical-dimension")
7797 (inputs
7798 `(("fare-utils" ,sbcl-fare-utils)
7799 ("foreign-array" ,sbcl-foreign-array)
7800 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7801 (arguments
7802 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7803 ((#:asd-file _ "") "physical-dimension.asd")
7804 ((#:asd-system-name _ #f) "physical-dimension")))
7805 (synopsis
7806 "Common Lisp library providing computations with physical units")))
7807
7808(define-public cl-physical-dimension
7809 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7810
7811(define-public sbcl-science-data
7812 (package
7813 (inherit sbcl-antik-base)
7814 (name "sbcl-science-data")
7815 (inputs
7816 `(("physical-dimension" ,sbcl-physical-dimension)
7817 ("drakma" ,sbcl-drakma)))
7818 (arguments
7819 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7820 ((#:asd-file _ "") "science-data.asd")
7821 ((#:asd-system-name _ #f) "science-data")))
7822 (synopsis
7823 "Common Lisp library for scientific and engineering numerical data")))
7824
7825(define-public cl-science-data
7826 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7827
7828(define-public sbcl-gsll
7829 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7830 (revision "1"))
7831 (package
7832 (name "sbcl-gsll")
7833 (version (git-version "0.0.0" revision commit))
7834 (source
7835 (origin
7836 (method git-fetch)
7837 (uri (git-reference
7838 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7839 (commit commit)))
7840 (file-name (git-file-name name version))
7841 (sha256
7842 (base32
7843 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7844 (build-system asdf-build-system/sbcl)
7845 (native-inputs
7846 `(("lisp-unit" ,sbcl-lisp-unit)))
7847 (inputs
7848 `(("alexandria" ,sbcl-alexandria)
7849 ("cffi-grovel" ,sbcl-cffi-grovel)
7850 ("cffi-libffi" ,sbcl-cffi-libffi)
7851 ("foreign-array" ,sbcl-foreign-array)
7852 ("gsl" ,gsl)
7853 ("metabang-bind" ,sbcl-metabang-bind)
7854 ("trivial-features" ,sbcl-trivial-features)
7855 ("trivial-garbage" ,sbcl-trivial-garbage)))
7856 (arguments
7857 `(#:tests? #f
7858 #:phases
7859 (modify-phases %standard-phases
7860 (add-after 'unpack 'fix-cffi-paths
7861 (lambda* (#:key inputs #:allow-other-keys)
7862 (substitute* "gsll.asd"
7863 ((":depends-on \\(#:foreign-array")
7864 ":depends-on (#:foreign-array #:cffi-libffi"))
7865 (substitute* "init/init.lisp"
7866 (("libgslcblas.so" all)
7867 (string-append
7868 (assoc-ref inputs "gsl") "/lib/" all)))
7869 (substitute* "init/init.lisp"
7870 (("libgsl.so" all)
7871 (string-append
7872 (assoc-ref inputs "gsl") "/lib/" all))))))))
7873 (synopsis "GNU Scientific Library for Lisp")
7874 (description
7875 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7876GNU Scientific Library (GSL) from Common Lisp. This library provides a
7877full range of common mathematical operations useful to scientific and
7878engineering applications. The design of the GSLL interface is such
7879that access to most of the GSL library is possible in a Lisp-natural
7880way; the intent is that the user not be hampered by the restrictions
7881of the C language in which GSL has been written. GSLL thus provides
7882interactive use of GSL for getting quick answers, even for someone not
7883intending to program in Lisp.")
7884 (home-page "https://common-lisp.net/project/gsll/")
7885 (license license:gpl3))))
7886
7887(define-public cl-gsll
7888 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7889
7890(define-public sbcl-antik
7891 (package
7892 (inherit sbcl-antik-base)
7893 (name "sbcl-antik")
7894 (inputs
7895 `(("gsll" ,sbcl-gsll)
7896 ("physical-dimension" ,sbcl-physical-dimension)))
7897 (arguments
7898 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7899 ((#:asd-file _ "") "antik.asd")
7900 ((#:asd-system-name _ #f) "antik")))))
7901
7902(define-public cl-antik
7903 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7904
7905(define-public sbcl-cl-interpol
7906 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7907 (revision "1"))
7908 (package
7909 (name "sbcl-cl-interpol")
7910 (version (git-version "0.2.6" revision commit))
7911 (source
7912 (origin
7913 (method git-fetch)
7914 (uri (git-reference
7915 (url "https://github.com/edicl/cl-interpol.git")
7916 (commit commit)))
7917 (file-name (git-file-name name version))
7918 (sha256
7919 (base32
7920 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7921 (build-system asdf-build-system/sbcl)
7922 (inputs
7923 `(("cl-unicode" ,sbcl-cl-unicode)
7924 ("named-readtables" ,sbcl-named-readtables)))
7925 (native-inputs
7926 `(("flexi-streams" ,sbcl-flexi-streams)))
7927 (synopsis "String interpolation for Common Lisp")
7928 (description
7929 "CL-INTERPOL is a library for Common Lisp which modifies the
7930reader so that you can have interpolation within strings similar to
7931Perl or Unix Shell scripts. It also provides various ways to insert
7932arbitrary characters into literal strings even if your editor/IDE
7933doesn't support them.")
7934 (home-page "https://edicl.github.io/cl-interpol/")
7935 (license license:bsd-3))))
7936
7937(define-public cl-interpol
7938 (sbcl-package->cl-source-package sbcl-cl-interpol))
7939
7940(define-public ecl-cl-interpol
7941 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7942
7943(define sbcl-symbol-munger-boot0
7944 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7945 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7946 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7947 (revision "1"))
7948 (package
7949 (name "sbcl-symbol-munger-boot0")
7950 (version (git-version "0.0.1" revision commit))
7951 (source
7952 (origin
7953 (method git-fetch)
7954 (uri (git-reference
7955 (url "https://github.com/AccelerationNet/symbol-munger.git")
7956 (commit commit)))
7957 (file-name (git-file-name name version))
7958 (sha256
7959 (base32
7960 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7961 (build-system asdf-build-system/sbcl)
7962 (arguments
7963 `(#:asd-file "symbol-munger.asd"
7964 #:asd-system-name "symbol-munger"))
7965 (inputs
7966 `(("iterate" ,sbcl-iterate)
7967 ("alexandria" ,sbcl-alexandria)))
7968 (native-inputs
7969 `(("lisp-unit" ,sbcl-lisp-unit)))
7970 (synopsis
7971 "Capitalization and spacing conversion functions for Common Lisp")
7972 (description
7973 "This is a Common Lisp library to change the capitalization and spacing
7974of a string or a symbol. It can convert to and from Lisp, english, underscore
7975and camel-case rules.")
7976 (home-page "https://github.com/AccelerationNet/symbol-munger")
7977 ;; The package declares a BSD license, but all of the license
7978 ;; text is MIT.
7979 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
7980 (license license:expat))))
7981
7982(define sbcl-lisp-unit2-boot0
7983 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7984 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7985 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
7986 (revision "1"))
7987 (package
7988 (name "sbcl-lisp-unit2-boot0")
7989 (version (git-version "0.2.0" revision commit))
7990 (source
7991 (origin
7992 (method git-fetch)
7993 (uri (git-reference
7994 (url "https://github.com/AccelerationNet/lisp-unit2.git")
7995 (commit commit)))
7996 (file-name (git-file-name name version))
7997 (sha256
7998 (base32
7999 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8000 (build-system asdf-build-system/sbcl)
8001 (arguments
8002 `(#:asd-file "lisp-unit2.asd"
8003 #:asd-system-name "lisp-unit2"))
8004 (inputs
8005 `(("alexandria" ,sbcl-alexandria)
8006 ("cl-interpol" ,sbcl-cl-interpol)
8007 ("iterate" ,sbcl-iterate)
8008 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8009 (synopsis "Test Framework for Common Lisp")
8010 (description
8011 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8012style of JUnit for Java. It is a new version of the lisp-unit library written
8013by Chris Riesbeck.")
8014 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8015 (license license:expat))))
edfa2261
KCB
8016
8017(define-public sbcl-symbol-munger
8018 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8019 (revision "1"))
8020 (package
8021 (name "sbcl-symbol-munger")
8022 (version (git-version "0.0.1" revision commit))
8023 (source
8024 (origin
8025 (method git-fetch)
8026 (uri (git-reference
8027 (url "https://github.com/AccelerationNet/symbol-munger.git")
8028 (commit commit)))
8029 (file-name (git-file-name name version))
8030 (sha256
8031 (base32
8032 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8033 (build-system asdf-build-system/sbcl)
8034 (inputs
8035 `(("alexandria" ,sbcl-alexandria)
8036 ("iterate" ,sbcl-iterate)))
8037 (native-inputs
8038 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8039 (synopsis
8040 "Capitalization and spacing conversion functions for Common Lisp")
8041 (description
8042 "This is a Common Lisp library to change the capitalization and spacing
8043of a string or a symbol. It can convert to and from Lisp, english, underscore
8044and camel-case rules.")
8045 (home-page "https://github.com/AccelerationNet/symbol-munger")
8046 ;; The package declares a BSD license, but all of the license
8047 ;; text is MIT.
8048 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8049 (license license:expat))))
8050
8051(define-public cl-symbol-munger
8052 (sbcl-package->cl-source-package sbcl-symbol-munger))
8053
8054(define-public ecl-symbol-munger
8055 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8056
8057(define-public sbcl-lisp-unit2
8058 (package
8059 (inherit sbcl-lisp-unit2-boot0)
8060 (name "sbcl-lisp-unit2")
8061 (inputs
8062 `(("alexandria" ,sbcl-alexandria)
8063 ("cl-interpol" ,sbcl-cl-interpol)
8064 ("iterate" ,sbcl-iterate)
8065 ("symbol-munger" ,sbcl-symbol-munger)))))
8066
8067(define-public cl-lisp-unit2
8068 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8069
8070(define-public ecl-lisp-unit2
8071 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8072
8073(define-public sbcl-cl-csv
8074 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8075 (revision "1"))
8076 (package
8077 (name "sbcl-cl-csv")
8078 (version (git-version "1.0.6" revision commit))
8079 (source
8080 (origin
8081 (method git-fetch)
8082 (uri (git-reference
8083 (url "https://github.com/AccelerationNet/cl-csv.git")
8084 (commit commit)))
8085 (file-name (git-file-name name version))
8086 (sha256
8087 (base32
8088 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8089 (build-system asdf-build-system/sbcl)
8090 (arguments
8091 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8092 `(#:tests? #f))
8093 (inputs
8094 `(("alexandria" ,sbcl-alexandria)
8095 ("cl-interpol" ,sbcl-cl-interpol)
8096 ("iterate" ,sbcl-iterate)))
8097 (native-inputs
8098 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8099 (synopsis "Common lisp library for comma-separated values")
8100 (description
8101 "This is a Common Lisp library providing functions to read/write CSV
8102from/to strings, streams and files.")
8103 (home-page "https://github.com/AccelerationNet/cl-csv")
8104 (license license:bsd-3))))
8105
8106(define-public cl-csv
8107 (sbcl-package->cl-source-package sbcl-cl-csv))
8108
8109(define-public ecl-cl-csv
8110 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8111
8112(define-public sbcl-external-program
8113 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8114 (revision "1"))
8115 (package
8116 (name "sbcl-external-program")
8117 (version (git-version "0.0.6" revision commit))
8118 (source
8119 (origin
8120 (method git-fetch)
8121 (uri (git-reference
8122 (url "https://github.com/sellout/external-program.git")
8123 (commit commit)))
8124 (file-name (git-file-name name version))
8125 (sha256
8126 (base32
8127 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8128 (build-system asdf-build-system/sbcl)
8129 (inputs
8130 `(("trivial-features" ,sbcl-trivial-features)))
8131 (native-inputs
8132 `(("fiveam" ,sbcl-fiveam)))
8133 (synopsis "Common Lisp library for running external programs")
8134 (description
8135 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8136process. It is an attempt to make the RUN-PROGRAM functionality in
8137implementations like SBCL and CCL as portable as possible without
8138sacrificing much in the way of power.")
8139 (home-page "https://github.com/sellout/external-program")
8140 (license license:llgpl))))
8141
8142(define-public cl-external-program
8143 (sbcl-package->cl-source-package sbcl-external-program))
8144
8145(define-public ecl-external-program
8146 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8147
8148(define sbcl-cl-ana-boot0
8149 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8150 (revision "1"))
8151 (package
8152 (name "sbcl-cl-ana-boot0")
8153 (version (git-version "0.0.0" revision commit))
8154 (source
8155 (origin
8156 (method git-fetch)
8157 (uri (git-reference
8158 (url "https://github.com/ghollisjr/cl-ana.git")
8159 (commit commit)))
8160 (file-name (git-file-name name version))
8161 (sha256
8162 (base32
8163 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8164 (build-system asdf-build-system/sbcl)
8165 (synopsis "Common Lisp data analysis library")
8166 (description
8167 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8168binned data analysis along with nonlinear least squares fitting and
8169visualization.")
8170 (home-page "https://github.com/ghollisjr/cl-ana")
8171 (license license:gpl3))))
8172
8173(define-public sbcl-cl-ana.pathname-utils
8174 (package
8175 (inherit sbcl-cl-ana-boot0)
8176 (name "sbcl-cl-ana.pathname-utils")
8177 (arguments
8178 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8179 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8180 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8181
8182(define-public cl-ana.pathname-utils
8183 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8184
8185(define-public ecl-cl-ana.pathname-utils
8186 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8187
8188(define-public sbcl-cl-ana.package-utils
8189 (package
8190 (inherit sbcl-cl-ana-boot0)
8191 (name "sbcl-cl-ana.package-utils")
8192 (inputs
8193 `(("alexandria" ,sbcl-alexandria)))
8194 (arguments
8195 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8196 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8197 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8198
8199(define-public cl-ana.package-utils
8200 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8201
8202(define-public ecl-cl-ana.package-utils
8203 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8204
8205(define-public sbcl-cl-ana.string-utils
8206 (package
8207 (inherit sbcl-cl-ana-boot0)
8208 (name "sbcl-cl-ana.string-utils")
8209 (inputs
8210 `(("split-sequence" ,sbcl-split-sequence)))
8211 (arguments
8212 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8213 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8214 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8215
8216(define-public cl-ana.string-utils
8217 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8218
8219(define-public ecl-cl-ana.string-utils
8220 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8221
8222(define-public sbcl-cl-ana.functional-utils
8223 (package
8224 (inherit sbcl-cl-ana-boot0)
8225 (name "sbcl-cl-ana.functional-utils")
8226 (arguments
8227 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8228 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8229 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8230
8231(define-public cl-ana.functional-utils
8232 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8233
8234(define-public ecl-cl-ana.functional-utils
8235 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8236
8237(define-public sbcl-cl-ana.list-utils
8238 (package
8239 (inherit sbcl-cl-ana-boot0)
8240 (name "sbcl-cl-ana.list-utils")
8241 (inputs
8242 `(("alexandria" ,sbcl-alexandria)
8243 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8244 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8245 (arguments
8246 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8247 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8248 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8249
8250(define-public cl-ana.list-utils
8251 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8252
8253(define-public ecl-cl-ana.list-utils
8254 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8255
8256(define-public sbcl-cl-ana.generic-math
8257 (package
8258 (inherit sbcl-cl-ana-boot0)
8259 (name "sbcl-cl-ana.generic-math")
8260 (inputs
8261 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8262 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8263 (arguments
8264 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8265 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8266 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8267
8268(define-public cl-ana.generic-math
8269 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8270
8271(define-public ecl-cl-ana.generic-math
8272 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8273
8274(define-public sbcl-cl-ana.math-functions
8275 (package
8276 (inherit sbcl-cl-ana-boot0)
8277 (name "sbcl-cl-ana.math-functions")
8278 (inputs
8279 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8280 ("gsll" ,sbcl-gsll)))
8281 (arguments
8282 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8283 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8284 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8285
8286(define-public cl-ana.math-functions
8287 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8288
8289(define-public sbcl-cl-ana.calculus
8290 (package
8291 (inherit sbcl-cl-ana-boot0)
8292 (name "sbcl-cl-ana.calculus")
8293 (inputs
8294 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8295 (arguments
8296 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8297 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8298 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8299
8300(define-public cl-ana.calculus
8301 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8302
8303(define-public ecl-cl-ana.calculus
8304 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8305
8306(define-public sbcl-cl-ana.symbol-utils
8307 (package
8308 (inherit sbcl-cl-ana-boot0)
8309 (name "sbcl-cl-ana.symbol-utils")
8310 (inputs
8311 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8312 (arguments
8313 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8314 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8315 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8316
8317(define-public cl-ana.symbol-utils
8318 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8319
8320(define-public ecl-cl-ana.symbol-utils
8321 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8322
8323(define-public sbcl-cl-ana.macro-utils
8324 (package
8325 (inherit sbcl-cl-ana-boot0)
8326 (name "sbcl-cl-ana.macro-utils")
8327 (inputs
8328 `(("alexandria" ,sbcl-alexandria)
8329 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8330 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8331 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8332 ("split-sequence" ,sbcl-split-sequence)))
8333 (arguments
8334 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8335 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8336 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8337
8338(define-public cl-ana.macro-utils
8339 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8340
8341(define-public ecl-cl-ana.macro-utils
8342 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8343
8344(define-public sbcl-cl-ana.binary-tree
8345 (package
8346 (inherit sbcl-cl-ana-boot0)
8347 (name "sbcl-cl-ana.binary-tree")
8348 (inputs
8349 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8350 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8351 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8352 (arguments
8353 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8354 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8355 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8356
8357(define-public cl-ana.binary-tree
8358 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8359
8360(define-public ecl-cl-ana.binary-tree
8361 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8362
8363(define-public sbcl-cl-ana.tensor
8364 (package
8365 (inherit sbcl-cl-ana-boot0)
8366 (name "sbcl-cl-ana.tensor")
8367 (inputs
8368 `(("alexandria" ,sbcl-alexandria)
8369 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8370 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8371 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8372 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8373 (arguments
8374 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8375 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8376 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8377
8378(define-public cl-ana.tensor
8379 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8380
8381(define-public ecl-cl-ana.tensor
8382 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8383
8384(define-public sbcl-cl-ana.error-propogation
8385 (package
8386 (inherit sbcl-cl-ana-boot0)
8387 (name "sbcl-cl-ana.error-propogation")
8388 (inputs
8389 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8390 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8391 (arguments
8392 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8393 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8394 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8395
8396(define-public cl-ana.error-propogation
8397 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8398
8399(define-public sbcl-cl-ana.quantity
8400 (package
8401 (inherit sbcl-cl-ana-boot0)
8402 (name "sbcl-cl-ana.quantity")
8403 (inputs
8404 `(("alexandria" ,sbcl-alexandria)
8405 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8406 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8407 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8408 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8409 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8410 (arguments
8411 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8412 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8413 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8414
8415(define-public cl-ana.quantity
8416 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8417
8418(define-public sbcl-cl-ana.table
8419 (package
8420 (inherit sbcl-cl-ana-boot0)
8421 (name "sbcl-cl-ana.table")
8422 (inputs
8423 `(("alexandria" ,sbcl-alexandria)
8424 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8425 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8426 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8427 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8428 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8429 (arguments
8430 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8431 ((#:asd-file _ "") "table/cl-ana.table.asd")
8432 ((#:asd-system-name _ #f) "cl-ana.table")))))
8433
8434(define-public cl-ana.table
8435 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8436
8437(define-public ecl-cl-ana.table
8438 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8439
8440(define-public sbcl-cl-ana.table-utils
8441 (package
8442 (inherit sbcl-cl-ana-boot0)
8443 (name "sbcl-cl-ana.table-utils")
8444 (inputs
8445 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8446 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8447 ("cl-ana.table" ,sbcl-cl-ana.table)))
8448 (arguments
8449 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8450 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8451 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8452
8453(define-public cl-ana.table-utils
8454 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8455
8456(define-public ecl-cl-ana.table-utils
8457 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8458
8459(define-public sbcl-cl-ana.hdf-cffi
8460 (package
8461 (inherit sbcl-cl-ana-boot0)
8462 (name "sbcl-cl-ana.hdf-cffi")
8463 (inputs
8464 `(("cffi" ,sbcl-cffi)
8465 ("hdf5" ,hdf5-parallel-openmpi)))
8466 (arguments
8467 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8468 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8469 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8470 ((#:phases phases '%standard-phases)
8471 `(modify-phases ,phases
8472 (add-after 'unpack 'fix-paths
8473 (lambda* (#:key inputs #:allow-other-keys)
8474 (substitute* "hdf-cffi/hdf-cffi.lisp"
8475 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8476 (string-append
8477 (assoc-ref inputs "hdf5")
8478 "/lib/libhdf5.so")))))))))))
8479
8480(define-public cl-ana.hdf-cffi
8481 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8482
8483(define-public ecl-cl-ana.hdf-cffi
8484 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8485
8486(define-public sbcl-cl-ana.int-char
8487 (package
8488 (inherit sbcl-cl-ana-boot0)
8489 (name "sbcl-cl-ana.int-char")
8490 (arguments
8491 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8492 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8493 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8494
8495(define-public cl-ana.int-char
8496 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8497
8498(define-public ecl-cl-ana.int-char
8499 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8500
8501(define-public sbcl-cl-ana.memoization
8502 (package
8503 (inherit sbcl-cl-ana-boot0)
8504 (name "sbcl-cl-ana.memoization")
8505 (inputs
8506 `(("alexandria" ,sbcl-alexandria)))
8507 (arguments
8508 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8509 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8510 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8511
8512(define-public cl-ana.memoization
8513 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8514
8515(define-public ecl-cl-ana.memoization
8516 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8517
8518(define-public sbcl-cl-ana.typespec
8519 (package
8520 (inherit sbcl-cl-ana-boot0)
8521 (name "sbcl-cl-ana.typespec")
8522 (inputs
8523 `(("alexandria" ,sbcl-alexandria)
8524 ("cffi" ,sbcl-cffi)
8525 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8526 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8527 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8528 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8529 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8530 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8531 (arguments
8532 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8533 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8534 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8535
8536(define-public cl-ana.typespec
8537 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8538
8539(define-public ecl-cl-ana.typespec
8540 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8541
8542(define-public sbcl-cl-ana.hdf-typespec
8543 (package
8544 (inherit sbcl-cl-ana-boot0)
8545 (name "sbcl-cl-ana.hdf-typespec")
8546 (inputs
8547 `(("alexandria" ,sbcl-alexandria)
8548 ("cffi" ,sbcl-cffi)
8549 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8550 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8551 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8552 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8553 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8554 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8555 (arguments
8556 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8557 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8558 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8559
8560(define-public cl-ana.hdf-typespec
8561 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8562
8563(define-public ecl-cl-ana.hdf-typespec
8564 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8565
8566(define-public sbcl-cl-ana.hdf-utils
8567 (package
8568 (inherit sbcl-cl-ana-boot0)
8569 (name "sbcl-cl-ana.hdf-utils")
8570 (inputs
8571 `(("alexandria" ,sbcl-alexandria)
8572 ("cffi" ,sbcl-cffi)
8573 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8574 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8575 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8576 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8577 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8578 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8579 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8580 (arguments
8581 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8582 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8583 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8584
8585(define-public cl-ana.hdf-utils
8586 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8587
8588(define-public ecl-cl-ana.hdf-utils
8589 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8590
8591(define-public sbcl-cl-ana.typed-table
8592 (package
8593 (inherit sbcl-cl-ana-boot0)
8594 (name "sbcl-cl-ana.typed-table")
8595 (inputs
8596 `(("alexandria" ,sbcl-alexandria)
8597 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8598 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8599 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8600 ("cl-ana.table" ,sbcl-cl-ana.table)
8601 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8602 (arguments
8603 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8604 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8605 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8606
8607(define-public cl-ana.typed-table
8608 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8609
8610(define-public ecl-cl-ana.typed-table
8611 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8612
8613(define-public sbcl-cl-ana.hdf-table
8614 (package
8615 (inherit sbcl-cl-ana-boot0)
8616 (name "sbcl-cl-ana.hdf-table")
8617 (inputs
8618 `(("alexandria" ,sbcl-alexandria)
8619 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8620 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8621 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8622 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8623 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8624 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8625 ("cl-ana.table" ,sbcl-cl-ana.table)
8626 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8627 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8628 (arguments
8629 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8630 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8631 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8632
8633(define-public cl-ana.hdf-table
8634 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8635
8636(define-public ecl-cl-ana.hdf-table
8637 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8638
8639(define-public sbcl-cl-ana.gsl-cffi
8640 (package
8641 (inherit sbcl-cl-ana-boot0)
8642 (name "sbcl-cl-ana.gsl-cffi")
8643 (inputs
8644 `(("cffi" ,sbcl-cffi)
8645 ("gsl" ,gsl)))
8646 (arguments
8647 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8648 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8649 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8650 ((#:phases phases '%standard-phases)
8651 `(modify-phases ,phases
8652 (add-after 'unpack 'fix-paths
8653 (lambda* (#:key inputs #:allow-other-keys)
8654 (substitute* "gsl-cffi/gsl-cffi.lisp"
8655 (("define-foreign-library gsl-cffi" all)
8656 (string-append all " (:unix "
8657 (assoc-ref inputs "gsl")
8658 "/lib/libgsl.so)")))))))))))
8659
8660(define-public cl-ana.gsl-cffi
8661 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8662
8663(define-public ecl-cl-ana.gsl-cffi
8664 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8665
8666(define-public sbcl-cl-ana.ntuple-table
8667 (package
8668 (inherit sbcl-cl-ana-boot0)
8669 (name "sbcl-cl-ana.ntuple-table")
8670 (inputs
8671 `(("alexandria" ,sbcl-alexandria)
8672 ("cffi" ,sbcl-cffi)
8673 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8674 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8675 ("cl-ana.table" ,sbcl-cl-ana.table)
8676 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8677 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8678 ("gsll" ,sbcl-gsll)))
8679 (arguments
8680 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8681 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8682 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8683
8684(define-public cl-ana.ntuple-table
8685 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8686
8687(define-public sbcl-cl-ana.csv-table
8688 (package
8689 (inherit sbcl-cl-ana-boot0)
8690 (name "sbcl-cl-ana.csv-table")
8691 (inputs
8692 `(("alexandria" ,sbcl-alexandria)
8693 ("antik" ,sbcl-antik)
8694 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8695 ("cl-ana.table" ,sbcl-cl-ana.table)
8696 ("cl-csv" ,sbcl-cl-csv)
8697 ("iterate" ,sbcl-iterate)))
8698 (arguments
8699 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8700 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8701 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8702
8703(define-public cl-ana.csv-table
8704 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8705
8706(define-public sbcl-cl-ana.reusable-table
8707 (package
8708 (inherit sbcl-cl-ana-boot0)
8709 (name "sbcl-cl-ana.reusable-table")
8710 (inputs
8711 `(("alexandria" ,sbcl-alexandria)
8712 ("cl-ana.table" ,sbcl-cl-ana.table)))
8713 (arguments
8714 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8715 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8716 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8717
8718(define-public cl-ana.reusable-table
8719 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8720
8721(define-public ecl-cl-ana.reusable-table
8722 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8723
8724(define-public sbcl-cl-ana.linear-algebra
8725 (package
8726 (inherit sbcl-cl-ana-boot0)
8727 (name "sbcl-cl-ana.linear-algebra")
8728 (inputs
8729 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8730 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8731 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8732 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8733 ("gsll" ,sbcl-gsll)))
8734 (arguments
8735 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8736 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8737 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8738
8739(define-public cl-ana.linear-algebra
8740 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8741
8742(define-public sbcl-cl-ana.lorentz
8743 (package
8744 (inherit sbcl-cl-ana-boot0)
8745 (name "sbcl-cl-ana.lorentz")
8746 (inputs
8747 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8748 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8749 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8750 ("iterate" ,sbcl-iterate)))
8751 (arguments
8752 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8753 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8754 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8755
8756(define-public cl-ana.lorentz
8757 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8758
8759(define-public sbcl-cl-ana.clos-utils
8760 (package
8761 (inherit sbcl-cl-ana-boot0)
8762 (name "sbcl-cl-ana.clos-utils")
8763 (inputs
8764 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8765 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8766 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8767 ("closer-mop" ,sbcl-closer-mop)))
8768 (arguments
8769 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8770 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8771 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8772
8773(define-public cl-ana.clos-utils
8774 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8775
8776(define-public ecl-cl-ana.clos-utils
8777 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8778
8779(define-public sbcl-cl-ana.hash-table-utils
8780 (package
8781 (inherit sbcl-cl-ana-boot0)
8782 (name "sbcl-cl-ana.hash-table-utils")
8783 (arguments
8784 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8785 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8786 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8787
8788(define-public cl-ana.hash-table-utils
8789 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8790
8791(define-public ecl-cl-ana.hash-table-utils
8792 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8793
8794(define-public sbcl-cl-ana.map
8795 (package
8796 (inherit sbcl-cl-ana-boot0)
8797 (name "sbcl-cl-ana.map")
8798 (inputs
8799 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8800 (arguments
8801 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8802 ((#:asd-file _ "") "map/cl-ana.map.asd")
8803 ((#:asd-system-name _ #f) "cl-ana.map")))))
8804
8805(define-public cl-ana.map
8806 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8807
8808(define-public ecl-cl-ana.map
8809 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8810
8811(define-public sbcl-cl-ana.fitting
8812 (package
8813 (inherit sbcl-cl-ana-boot0)
8814 (name "sbcl-cl-ana.fitting")
8815 (inputs
8816 `(("alexandria" ,sbcl-alexandria)
8817 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8818 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8819 ("cl-ana.map" ,sbcl-cl-ana.map)
8820 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8821 ("gsll" ,sbcl-gsll)))
8822 (arguments
8823 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8824 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8825 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8826
8827(define-public cl-ana.fitting
8828 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8829
8830(define-public sbcl-cl-ana.histogram
8831 (package
8832 (inherit sbcl-cl-ana-boot0)
8833 (name "sbcl-cl-ana.histogram")
8834 (inputs
8835 `(("alexandria" ,sbcl-alexandria)
8836 ("iterate" ,sbcl-iterate)
8837 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8838 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8839 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8840 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8841 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8842 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8843 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8844 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8845 ("cl-ana.map" ,sbcl-cl-ana.map)
8846 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8847 (arguments
8848 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8849 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8850 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8851
8852(define-public cl-ana.histogram
8853 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8854
8855(define-public sbcl-cl-ana.file-utils
8856 (package
8857 (inherit sbcl-cl-ana-boot0)
8858 (name "sbcl-cl-ana.file-utils")
8859 (inputs
8860 `(("external-program" ,sbcl-external-program)
8861 ("split-sequence" ,sbcl-split-sequence)))
8862 (arguments
8863 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8864 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8865 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8866
8867(define-public cl-ana.file-utils
8868 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8869
8870(define-public ecl-cl-ana.file-utils
8871 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8872
8873(define-public sbcl-cl-ana.statistics
8874 (package
8875 (inherit sbcl-cl-ana-boot0)
8876 (name "sbcl-cl-ana.statistics")
8877 (inputs
8878 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8879 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8880 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8881 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8882 ("cl-ana.map" ,sbcl-cl-ana.map)))
8883 (arguments
8884 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8885 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8886 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8887
8888(define-public cl-ana.statistics
8889 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8890
8891(define-public sbcl-cl-ana.gnuplot-interface
8892 (package
8893 (inherit sbcl-cl-ana-boot0)
8894 (name "sbcl-cl-ana.gnuplot-interface")
8895 (inputs
8896 `(("external-program" ,sbcl-external-program)))
8897 (arguments
8898 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8899 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8900 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8901
8902(define-public cl-ana.gnuplot-interface
8903 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8904
8905(define-public ecl-cl-ana.gnuplot-interface
8906 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8907
8908(define-public sbcl-cl-ana.plotting
8909 (package
8910 (inherit sbcl-cl-ana-boot0)
8911 (name "sbcl-cl-ana.plotting")
8912 (inputs
8913 `(("alexandria" ,sbcl-alexandria)
8914 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8915 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8916 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8917 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8918 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8919 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8920 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8921 ("cl-ana.map" ,sbcl-cl-ana.map)
8922 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8923 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8924 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8925 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8926 ("external-program" ,sbcl-external-program)
8927 ("split-sequence" ,sbcl-split-sequence)))
8928 (arguments
8929 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8930 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8931 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8932
8933(define-public cl-ana.plotting
8934 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8935
8936(define-public sbcl-cl-ana.table-viewing
8937 (package
8938 (inherit sbcl-cl-ana-boot0)
8939 (name "sbcl-cl-ana.table-viewing")
8940 (inputs
8941 `(("alexandria" ,sbcl-alexandria)
8942 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8943 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8944 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8945 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8946 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8947 ("cl-ana.table" ,sbcl-cl-ana.table)))
8948 (arguments
8949 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8950 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8951 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8952
8953(define-public cl-ana.table-viewing
8954 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8955
8956(define-public sbcl-cl-ana.serialization
8957 (package
8958 (inherit sbcl-cl-ana-boot0)
8959 (name "sbcl-cl-ana.serialization")
8960 (inputs
8961 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8962 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8963 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
8964 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8965 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8966 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8967 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8968 (arguments
8969 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8970 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
8971 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
8972
8973(define-public cl-ana.serialization
8974 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
8975
8976(define-public sbcl-cl-ana.makeres
8977 (package
8978 (inherit sbcl-cl-ana-boot0)
8979 (name "sbcl-cl-ana.makeres")
8980 (inputs
8981 `(("alexandria" ,sbcl-alexandria)
8982 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8983 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
8984 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8985 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8986 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8987 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8988 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8989 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8990 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8991 ("cl-ana.map" ,sbcl-cl-ana.map)
8992 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8993 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8994 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8995 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
8996 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
8997 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8998 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8999 ("cl-ana.table" ,sbcl-cl-ana.table)
9000 ("external-program" ,sbcl-external-program)))
9001 (native-inputs
9002 `(("cl-fad" ,sbcl-cl-fad)))
9003 (arguments
9004 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9005 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9006 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9007
9008(define-public cl-ana.makeres
9009 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9010
9011(define-public sbcl-cl-ana.makeres-macro
9012 (package
9013 (inherit sbcl-cl-ana-boot0)
9014 (name "sbcl-cl-ana.makeres-macro")
9015 (inputs
9016 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9017 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9018 (arguments
9019 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9020 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9021 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9022
9023(define-public cl-ana.makeres-macro
9024 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9025
9026(define-public sbcl-cl-ana.makeres-block
9027 (package
9028 (inherit sbcl-cl-ana-boot0)
9029 (name "sbcl-cl-ana.makeres-block")
9030 (inputs
9031 `(("alexandria" ,sbcl-alexandria)
9032 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9033 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9034 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9035 (arguments
9036 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9037 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9038 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9039
9040(define-public cl-ana.makeres-block
9041 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9042
9043(define-public sbcl-cl-ana.makeres-progress
9044 (package
9045 (inherit sbcl-cl-ana-boot0)
9046 (name "sbcl-cl-ana.makeres-progress")
9047 (inputs
9048 `(("alexandria" ,sbcl-alexandria)
9049 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9050 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9051 (arguments
9052 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9053 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9054 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9055
9056(define-public cl-ana.makeres-progress
9057 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9058
9059(define-public sbcl-cl-ana.makeres-table
9060 (package
9061 (inherit sbcl-cl-ana-boot0)
9062 (name "sbcl-cl-ana.makeres-table")
9063 (inputs
9064 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9065 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9066 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9067 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9068 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9069 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9070 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9071 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9072 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9073 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9074 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9075 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9076 ("cl-ana.table" ,sbcl-cl-ana.table)))
9077 (native-inputs
9078 `(("cl-fad" ,sbcl-cl-fad)))
9079 (arguments
9080 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9081 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9082 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9083
9084(define-public cl-ana.makeres-table
9085 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9086
9087(define-public sbcl-cl-ana.makeres-graphviz
9088 (package
9089 (inherit sbcl-cl-ana-boot0)
9090 (name "sbcl-cl-ana.makeres-graphviz")
9091 (inputs
9092 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9093 ("external-program" ,sbcl-external-program)))
9094 (arguments
9095 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9096 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9097 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9098
9099(define-public cl-ana.makeres-graphviz
9100 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9101
9102(define-public sbcl-cl-ana.makeres-branch
9103 (package
9104 (inherit sbcl-cl-ana-boot0)
9105 (name "sbcl-cl-ana.makeres-branch")
9106 (inputs
9107 `(("alexandria" ,sbcl-alexandria)
9108 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9109 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9110 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9111 ("cl-ana.map" ,sbcl-cl-ana.map)
9112 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9113 (arguments
9114 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9115 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9116 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9117
9118(define-public cl-ana.makeres-branch
9119 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9120
9121(define-public sbcl-cl-ana.makeres-utils
9122 (package
9123 (inherit sbcl-cl-ana-boot0)
9124 (name "sbcl-cl-ana.makeres-utils")
9125 (inputs
9126 `(("alexandria" ,sbcl-alexandria)
9127 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9128 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9129 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9130 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9131 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9132 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9133 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9134 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9135 ("cl-ana.map" ,sbcl-cl-ana.map)
9136 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9137 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9138 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9139 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9140 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9141 ("cl-ana.table" ,sbcl-cl-ana.table)))
9142 (native-inputs
9143 `(("cl-fad" ,sbcl-cl-fad)))
9144 (arguments
9145 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9146 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9147 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9148
9149(define-public cl-ana.makeres-utils
9150 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9151
9152(define-public sbcl-cl-ana.statistical-learning
9153 (package
9154 (inherit sbcl-cl-ana-boot0)
9155 (name "sbcl-cl-ana.statistical-learning")
9156 (inputs
9157 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9158 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9159 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9160 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9161 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9162 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9163 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9164 ("cl-ana.map" ,sbcl-cl-ana.map)
9165 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9166 (native-inputs
9167 `(("cl-fad" ,sbcl-cl-fad)))
9168 (arguments
9169 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9170 ((#:asd-file _ "")
9171 "statistical-learning/cl-ana.statistical-learning.asd")
9172 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9173
9174(define-public cl-ana.statistical-learning
9175 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9176
9177(define-public sbcl-cl-ana
9178 (package
9179 (inherit sbcl-cl-ana-boot0)
9180 (name "sbcl-cl-ana")
9181 (inputs
9182 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9183 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9184 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9185 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9186 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9187 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9188 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9189 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9190 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9191 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9192 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9193 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9194 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9195 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9196 ("cl-ana.map" ,sbcl-cl-ana.map)
9197 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9198 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9199 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9200 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9201 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9202 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9203 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9204 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9205 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9206 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9207 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9208 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9209 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9210 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9211 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9212 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9213 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9214 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9215 ("cl-ana.table" ,sbcl-cl-ana.table)
9216 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9217 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9218 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9219 ("libffi" ,libffi)))
9220 (native-inputs
9221 `(("cl-fad" ,sbcl-cl-fad)))
9222 (arguments
9223 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9224 ((#:asd-file _ "") "cl-ana.asd")
9225 ((#:asd-system-name _ #f) "cl-ana")))))
9226
9227(define-public cl-ana
9228 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9229
9230(define-public sbcl-archive
9231 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9232 (revision "1"))
9233 (package
9234 (name "sbcl-archive")
9235 (version (git-version "0.9" revision commit))
9236 (source (origin
9237 (method git-fetch)
9238 (uri (git-reference
9239 (url "https://github.com/sharplispers/archive.git")
9240 (commit commit)))
9241 (file-name (git-file-name name version))
9242 (sha256
9243 (base32
9244 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9245 (build-system asdf-build-system/sbcl)
9246 (inputs
9247 `(("cl-fad" ,sbcl-cl-fad)
9248 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9249 (synopsis "Common Lisp library for tar and cpio archives")
9250 (description
9251 "This is a Common Lisp library to read and write disk-based file
9252archives such as those generated by the tar and cpio programs on Unix.")
9253 (home-page "https://github.com/sharplispers/archive")
9254 (license license:bsd-3))))
9255
9256(define-public cl-archive
9257 (sbcl-package->cl-source-package sbcl-archive))
9258
9259(define-public ecl-archive
9260 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9261
9262(define-public sbcl-misc-extensions
9263 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9264 (revision "1"))
9265 (package
9266 (name "sbcl-misc-extensions")
9267 (version (git-version "3.3" revision commit))
9268 (source
9269 (origin
9270 (method git-fetch)
9271 (uri (git-reference
9272 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9273 (commit commit)))
9274 (file-name (git-file-name name version))
9275 (sha256
9276 (base32
9277 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9278 (build-system asdf-build-system/sbcl)
9279 (synopsis "Collection of small macros and extensions for Common Lisp")
9280 (description
9281 "This project is intended as a catchall for small, general-purpose
9282extensions to Common Lisp. It contains:
9283
9284@itemize
9285@item @code{new-let}, a macro that combines and generalizes @code{let},
9286@code{let*} and @code{multiple-value-bind},
9287@item @code{gmap}, an iteration macro that generalizes @code{map}.
9288@end itemize\n")
9289 (home-page "https://common-lisp.net/project/misc-extensions/")
9290 (license license:public-domain))))
9291
9292(define-public cl-misc-extensions
9293 (sbcl-package->cl-source-package sbcl-misc-extensions))
9294
9295(define-public ecl-misc-extensions
9296 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9297
9298(define-public sbcl-mt19937
9299 (package
9300 (name "sbcl-mt19937")
9301 (version "1.1")
9302 (source
9303 (origin
9304 (method url-fetch)
9305 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9306 "mt19937-latest.tar.gz"))
9307 (sha256
9308 (base32
9309 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9310 (build-system asdf-build-system/sbcl)
9311 (synopsis "Mersenne Twister pseudo-random number generator")
9312 (description
9313 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9314for Common Lisp.")
9315 (home-page "https://www.cliki.net/mt19937")
9316 (license license:public-domain)))
9317
9318(define-public cl-mt19937
9319 (sbcl-package->cl-source-package sbcl-mt19937))
9320
9321(define-public ecl-mt19937
9322 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9323
9324(define-public sbcl-fset
9325 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9326 (revision "1"))
9327 (package
9328 (name "sbcl-fset")
9329 (version (git-version "1.3.2" revision commit))
9330 (source
9331 (origin
9332 (method git-fetch)
9333 (uri (git-reference
9334 (url "https://github.com/slburson/fset")
9335 (commit commit)))
9336 (file-name (git-file-name name version))
9337 (sha256
9338 (base32
9339 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9340 (snippet '(begin
9341 ;; Remove obsolete copy of system definition.
9342 (delete-file "Code/fset.asd")
9343 #t))))
9344 (build-system asdf-build-system/sbcl)
9345 (inputs
9346 `(("misc-extensions" ,sbcl-misc-extensions)
9347 ("mt19937" ,sbcl-mt19937)
9348 ("named-readtables" ,sbcl-named-readtables)))
9349 (synopsis "Functional set-theoretic collections library")
9350 (description
9351 "FSet is a functional set-theoretic collections library for Common Lisp.
9352Functional means that all update operations return a new collection rather than
9353modifying an existing one in place. Set-theoretic means that collections may
9354be nested arbitrarily with no additional programmer effort; for instance, sets
9355may contain sets, maps may be keyed by sets, etc.")
9356 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9357 (license license:llgpl))))
9358
9359(define-public cl-fset
9360 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9361
9362(define-public sbcl-cl-cont
9363 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9364 (revision "1"))
9365 (package
9366 (name "sbcl-cl-cont")
9367 (version (git-version "0.3.8" revision commit))
9368 (source
9369 (origin
9370 (method git-fetch)
9371 (uri (git-reference
9372 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9373 (commit commit)))
9374 (file-name (git-file-name name version))
9375 (sha256
9376 (base32
9377 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9378 (build-system asdf-build-system/sbcl)
9379 (inputs
9380 `(("alexandria" ,sbcl-alexandria)
9381 ("closer-mop" ,sbcl-closer-mop)))
9382 (native-inputs
9383 `(("rt" ,sbcl-rt)))
9384 (synopsis "Delimited continuations for Common Lisp")
9385 (description
9386 "This is a library that implements delimited continuations by
9387transforming Common Lisp code to continuation passing style.")
9388 (home-page "https://common-lisp.net/project/cl-cont/")
9389 (license license:llgpl))))
9390
9391(define-public cl-cont
9392 (sbcl-package->cl-source-package sbcl-cl-cont))
9393
9394(define-public ecl-cl-cont
9395 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9396
9397(define-public sbcl-cl-coroutine
9398 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9399 (revision "1"))
9400 (package
9401 (name "sbcl-cl-coroutine")
9402 (version (git-version "0.1" revision commit))
9403 (source
9404 (origin
9405 (method git-fetch)
9406 (uri (git-reference
9407 (url "https://github.com/takagi/cl-coroutine.git")
9408 (commit commit)))
9409 (file-name (git-file-name name version))
9410 (sha256
9411 (base32
9412 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9413 (build-system asdf-build-system/sbcl)
9414 (inputs
9415 `(("alexandria" ,sbcl-alexandria)
9416 ("cl-cont" ,sbcl-cl-cont)))
9417 (native-inputs
9418 `(("prove" ,sbcl-prove)))
9419 (arguments
9420 `(;; TODO: Fix the tests. They fail with:
9421 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9422 #:tests? #f
9423 #:phases
9424 (modify-phases %standard-phases
9425 (add-after 'unpack 'fix-tests
9426 (lambda _
9427 (substitute* "cl-coroutine-test.asd"
9428 (("cl-test-more")
9429 "prove"))
9430 #t)))))
9431 (synopsis "Coroutine library for Common Lisp")
9432 (description
9433 "This is a coroutine library for Common Lisp implemented using the
9434continuations of the @code{cl-cont} library.")
9435 (home-page "https://github.com/takagi/cl-coroutine")
9436 (license license:llgpl))))
9437
9438(define-public cl-coroutine
9439 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9440
9441(define-public ecl-cl-coroutine
9442 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9443
9444(define-public sbcl-vom
9445 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9446 (revision "1"))
9447 (package
9448 (name "sbcl-vom")
9449 (version (git-version "0.1.4" revision commit))
9450 (source
9451 (origin
9452 (method git-fetch)
9453 (uri (git-reference
9454 (url "https://github.com/orthecreedence/vom.git")
9455 (commit commit)))
9456 (file-name (git-file-name name version))
9457 (sha256
9458 (base32
9459 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9460 (build-system asdf-build-system/sbcl)
9461 (synopsis "Tiny logging utility for Common Lisp")
9462 (description
9463 "Vom is a logging library for Common Lisp. It's goal is to be useful
9464and small. It does not provide a lot of features as other loggers do, but
9465has a small codebase that's easy to understand and use.")
9466 (home-page "https://github.com/orthecreedence/vom")
9467 (license license:expat))))
9468
9469(define-public cl-vom
9470 (sbcl-package->cl-source-package sbcl-vom))
9471
9472(define-public ecl-vom
9473 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9474
9475(define-public sbcl-cl-libuv
9476 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9477 (revision "1"))
9478 (package
9479 (name "sbcl-cl-libuv")
9480 (version (git-version "0.1.6" revision commit))
9481 (source
9482 (origin
9483 (method git-fetch)
9484 (uri (git-reference
9485 (url "https://github.com/orthecreedence/cl-libuv.git")
9486 (commit commit)))
9487 (file-name (git-file-name name version))
9488 (sha256
9489 (base32
9490 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9491 (build-system asdf-build-system/sbcl)
9492 (inputs
9493 `(("alexandria" ,sbcl-alexandria)
9494 ("cffi" ,sbcl-cffi)
9495 ("cffi-grovel" ,sbcl-cffi-grovel)
9496 ("libuv" ,libuv)))
9497 (arguments
9498 `(#:phases
9499 (modify-phases %standard-phases
9500 (add-after 'unpack 'fix-paths
9501 (lambda* (#:key inputs #:allow-other-keys)
9502 (substitute* "lib.lisp"
9503 (("/usr/lib/libuv.so")
9504 (string-append (assoc-ref inputs "libuv")
9505 "/lib/libuv.so")))
9506 #t))
9507 (add-after 'fix-paths 'fix-system-definition
9508 (lambda _
9509 (substitute* "cl-libuv.asd"
9510 (("#:cffi #:alexandria")
9511 "#:cffi #:cffi-grovel #:alexandria"))
9512 #t)))))
9513 (synopsis "Common Lisp bindings to libuv")
9514 (description
9515 "This library provides low-level libuv bindings for Common Lisp.")
9516 (home-page "https://github.com/orthecreedence/cl-libuv")
9517 (license license:expat))))
9518
9519(define-public cl-libuv
9520 (sbcl-package->cl-source-package sbcl-cl-libuv))
9521
9522(define-public ecl-cl-libuv
9523 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9524
9525(define-public sbcl-cl-async-base
9526 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9527 (revision "1"))
9528 (package
9529 (name "sbcl-cl-async-base")
9530 (version (git-version "0.6.1" revision commit))
9531 (source
9532 (origin
9533 (method git-fetch)
9534 (uri (git-reference
9535 (url "https://github.com/orthecreedence/cl-async.git")
9536 (commit commit)))
9537 (file-name (git-file-name name version))
9538 (sha256
9539 (base32
9540 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9541 (build-system asdf-build-system/sbcl)
9542 (inputs
9543 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9544 ("cffi" ,sbcl-cffi)
9545 ("cl-libuv" ,sbcl-cl-libuv)))
9546 (arguments
9547 `(#:asd-file "cl-async.asd"))
9548 (synopsis "Base system for cl-async")
9549 (description
9550 "Cl-async is a library for general purpose, non-blocking programming in
9551Common Lisp. It uses the libuv library as backend.")
9552 (home-page "https://orthecreedence.github.io/cl-async/")
9553 (license license:expat))))
9554
9555(define-public cl-async-base
9556 (sbcl-package->cl-source-package sbcl-cl-async-base))
9557
9558(define-public ecl-cl-async-base
9559 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9560
9561(define-public sbcl-cl-async-util
9562 (package
9563 (inherit sbcl-cl-async-base)
9564 (name "sbcl-cl-async-util")
9565 (inputs
24de1f5a
GLV
9566 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9567 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9568 ("cl-async-base" ,sbcl-cl-async-base)
9569 ("cl-libuv" ,sbcl-cl-libuv)
9570 ("cl-ppcre" ,sbcl-cl-ppcre)
9571 ("fast-io" ,sbcl-fast-io)
9572 ("vom" ,sbcl-vom)))
9573 (synopsis "Internal utilities for cl-async")))
9574
9575(define-public cl-async-util
9576 (sbcl-package->cl-source-package sbcl-cl-async-util))
9577
9578(define-public ecl-cl-async-util
9579 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9580
9581(define-public sbcl-cl-async
9582 (package
9583 (inherit sbcl-cl-async-base)
9584 (name "sbcl-cl-async")
9585 (inputs
9586 `(("babel" ,sbcl-babel)
9587 ("cffi" ,sbcl-cffi)
9588 ("cl-async-base" ,sbcl-cl-async-base)
9589 ("cl-async-util" ,sbcl-cl-async-util)
9590 ("cl-libuv" ,sbcl-cl-libuv)
9591 ("cl-ppcre" ,sbcl-cl-ppcre)
9592 ("static-vectors" ,sbcl-static-vectors)
9593 ("trivial-features" ,sbcl-trivial-features)
9594 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9595 (synopsis "Asynchronous operations for Common Lisp")))
9596
9597(define-public cl-async
9598 (sbcl-package->cl-source-package sbcl-cl-async))
9599
9600(define-public ecl-cl-async
9601 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9602
9603(define-public sbcl-cl-async-repl
9604 (package
9605 (inherit sbcl-cl-async-base)
9606 (name "sbcl-cl-async-repl")
9607 (inputs
9608 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9609 ("cl-async" ,sbcl-cl-async)))
9610 (arguments
9611 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9612 ((#:asd-file _ "") "cl-async-repl.asd")))
9613 (synopsis "REPL integration for cl-async")))
9614
9615(define-public cl-async-repl
9616 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9617
9618(define-public ecl-cl-async-repl
9619 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9620
9621(define-public sbcl-cl-async-ssl
9622 (package
9623 (inherit sbcl-cl-async-base)
9624 (name "sbcl-cl-async-ssl")
9625 (inputs
9626 `(("cffi" ,sbcl-cffi)
9627 ("cl-async" ,sbcl-cl-async)
9628 ("openssl" ,openssl)
9629 ("vom" ,sbcl-vom)))
9630 (arguments
9631 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9632 ((#:asd-file _ "") "cl-async-ssl.asd")
9633 ((#:phases phases '%standard-phases)
9634 `(modify-phases ,phases
9635 (add-after 'unpack 'fix-paths
9636 (lambda* (#:key inputs #:allow-other-keys)
9637 (substitute* "src/ssl/package.lisp"
9638 (("libcrypto\\.so")
9639 (string-append (assoc-ref inputs "openssl")
9640 "/lib/libcrypto.so"))
9641 (("libssl\\.so")
9642 (string-append (assoc-ref inputs "openssl")
9643 "/lib/libssl.so")))
9644 #t))))))
9645 (synopsis "SSL wrapper around cl-async socket implementation")))
9646
9647(define-public cl-async-ssl
9648 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9649
9650(define-public ecl-cl-async-ssl
9651 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9652
9653(define-public sbcl-blackbird
9654 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9655 (revision "1"))
9656 (package
9657 (name "sbcl-blackbird")
9658 (version (git-version "0.5.2" revision commit))
9659 (source
9660 (origin
9661 (method git-fetch)
9662 (uri (git-reference
9663 (url "https://github.com/orthecreedence/blackbird.git")
9664 (commit commit)))
9665 (file-name (git-file-name name version))
9666 (sha256
9667 (base32
9668 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9669 (build-system asdf-build-system/sbcl)
9670 (inputs
9671 `(("vom" ,sbcl-vom)))
9672 (native-inputs
9673 `(("cl-async" ,sbcl-cl-async)
9674 ("fiveam" ,sbcl-fiveam)))
9675 (synopsis "Promise implementation for Common Lisp")
9676 (description
9677 "This is a standalone promise implementation for Common Lisp. It is
9678the successor to the now-deprecated cl-async-future project.")
e0318062 9679 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9680 (license license:expat))))
9681
9682(define-public cl-blackbird
9683 (sbcl-package->cl-source-package sbcl-blackbird))
9684
9685(define-public ecl-blackbird
9686 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9687
9688(define-public sbcl-cl-async-future
9689 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9690 (revision "1"))
9691 (package
9692 (name "sbcl-cl-async-future")
9693 (version (git-version "0.4.4.1" revision commit))
9694 (source
9695 (origin
9696 (method git-fetch)
9697 (uri (git-reference
9698 (url "https://github.com/orthecreedence/cl-async-future.git")
9699 (commit commit)))
9700 (file-name (git-file-name name version))
9701 (sha256
9702 (base32
9703 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9704 (build-system asdf-build-system/sbcl)
9705 (inputs
9706 `(("blackbird" ,sbcl-blackbird)))
9707 (native-inputs
9708 `(("cl-async" ,sbcl-cl-async)
9709 ("eos" ,sbcl-eos)))
9710 (synopsis "Futures implementation for Common Lisp")
9711 (description
9712 "This is futures implementation for Common Lisp. It plugs in nicely
9713to cl-async.")
e0318062 9714 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9715 (license license:expat))))
9716
9717(define-public cl-async-future
9718 (sbcl-package->cl-source-package sbcl-cl-async-future))
9719
9720(define-public ecl-cl-async-future
9721 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9722
9723(define-public sbcl-green-threads
9724 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9725 (revision "1"))
9726 (package
9727 (name "sbcl-green-threads")
9728 (version (git-version "0.3" revision commit))
9729 (source
9730 (origin
9731 (method git-fetch)
9732 (uri (git-reference
9733 (url "https://github.com/thezerobit/green-threads.git")
9734 (commit commit)))
9735 (file-name (git-file-name name version))
9736 (sha256
9737 (base32
9738 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9739 (build-system asdf-build-system/sbcl)
9740 (inputs
9741 `(("cl-async-future" ,sbcl-cl-async-future)
9742 ("cl-cont" ,sbcl-cl-cont)))
9743 (native-inputs
9744 `(("prove" ,sbcl-prove)))
9745 (arguments
9746 `(;; TODO: Fix the tests. They fail with:
9747 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9748 #:tests? #f
9749 #:phases
9750 (modify-phases %standard-phases
9751 (add-after 'unpack 'fix-tests
9752 (lambda _
9753 (substitute* "green-threads-test.asd"
9754 (("cl-test-more")
9755 "prove"))
9756 #t)))))
9757 (synopsis "Cooperative multitasking library for Common Lisp")
9758 (description
9759 "This library allows for cooperative multitasking with help of cl-cont
9760for continuations. It tries to mimic the API of bordeaux-threads as much as
9761possible.")
9762 (home-page "https://github.com/thezerobit/green-threads")
9763 (license license:bsd-3))))
9764
9765(define-public cl-green-threads
9766 (sbcl-package->cl-source-package sbcl-green-threads))
9767
9768(define-public ecl-green-threads
9769 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9770
9771(define-public sbcl-cl-base32
9772 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9773 (revision "1"))
9774 (package
9775 (name "sbcl-cl-base32")
9776 (version (git-version "0.1" revision commit))
9777 (source
9778 (origin
9779 (method git-fetch)
9780 (uri (git-reference
9781 (url "https://github.com/hargettp/cl-base32.git")
9782 (commit commit)))
9783 (file-name (git-file-name name version))
9784 (sha256
9785 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9786 (build-system asdf-build-system/sbcl)
9787 (native-inputs
9788 `(("lisp-unit" ,sbcl-lisp-unit)))
9789 (synopsis "Common Lisp library for base32 encoding and decoding")
9790 (description
9791 "This package provides functions for base32 encoding and decoding as
9792defined in RFC4648.")
9793 (home-page "https://github.com/hargettp/cl-base32")
9794 (license license:expat))))
9795
9796(define-public cl-base32
9797 (sbcl-package->cl-source-package sbcl-cl-base32))
9798
9799(define-public ecl-cl-base32
9800 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9801
9802(define-public sbcl-cl-z85
9803 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9804 (revision "1"))
9805 (package
9806 (name "sbcl-cl-z85")
9807 (version (git-version "1.0" revision commit))
9808 (source
9809 (origin
9810 (method git-fetch)
9811 (uri (git-reference
9812 (url "https://github.com/glv2/cl-z85.git")
9813 (commit commit)))
9814 (file-name (git-file-name name version))
9815 (sha256
9816 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9817 (build-system asdf-build-system/sbcl)
9818 (native-inputs
9819 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9820 ("fiveam" ,sbcl-fiveam)))
9821 (synopsis "Common Lisp library for Z85 encoding and decoding")
9822 (description
9823 "This package provides functions to encode or decode byte vectors or
9824byte streams using the Z85 format, which is a base-85 encoding used by
9825ZeroMQ.")
9826 (home-page "https://github.com/glv2/cl-z85")
9827 (license license:gpl3+))))
9828
9829(define-public cl-z85
9830 (sbcl-package->cl-source-package sbcl-cl-z85))
9831
9832(define-public ecl-cl-z85
9833 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9834
9835(define-public sbcl-ltk
9836 (package
9837 (name "sbcl-ltk")
9838 (version "0.992")
9839 (source
9840 (origin
9841 (method git-fetch)
9842 (uri (git-reference
9843 (url "https://github.com/herth/ltk.git")
9844 (commit version)))
9845 (file-name (git-file-name name version))
9846 (sha256
9847 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9848 (build-system asdf-build-system/sbcl)
9849 (inputs
9850 `(("imagemagick" ,imagemagick)
9851 ("tk" ,tk)))
9852 (arguments
9853 `(#:asd-file "ltk/ltk.asd"
9854 #:tests? #f
9855 #:phases (modify-phases %standard-phases
9856 (add-after 'unpack 'fix-paths
9857 (lambda* (#:key inputs #:allow-other-keys)
9858 (substitute* "ltk/ltk.lisp"
9859 (("#-freebsd \"wish\"")
9860 (string-append "#-freebsd \""
9861 (assoc-ref inputs "tk")
9862 "/bin/wish\""))
9863 (("do-execute \"convert\"")
9864 (string-append "do-execute \""
9865 (assoc-ref inputs "imagemagick")
9866 "/bin/convert\"")))
9867 #t)))))
9868 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9869 (description
9870 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9871in pure Common Lisp and does not require any Tk knowledge for its usage.")
9872 (home-page "http://www.peter-herth.de/ltk/")
9873 (license license:llgpl)))
9874
9875(define-public cl-ltk
9876 (sbcl-package->cl-source-package sbcl-ltk))
9877
9878(define-public ecl-ltk
9879 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9880
9881(define-public sbcl-ltk-mw
9882 (package
9883 (inherit sbcl-ltk)
9884 (name "sbcl-ltk-mw")
9885 (inputs
9886 `(("ltk" ,sbcl-ltk)))
9887 (arguments
9888 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9889 ((#:asd-file _) "ltk/ltk-mw.asd")
9890 ((#:phases _) '%standard-phases)))
9891 (synopsis "Extra widgets for LTK")
9892 (description
9893 "This is a collection of higher-level widgets built on top of LTK.")))
9894
9895(define-public cl-ltk-mw
9896 (sbcl-package->cl-source-package sbcl-ltk-mw))
9897
9898(define-public ecl-ltk-mw
9899 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9900
9901(define-public sbcl-ltk-remote
9902 (package
9903 (inherit sbcl-ltk)
9904 (name "sbcl-ltk-remote")
9905 (inputs
9906 `(("ltk" ,sbcl-ltk)))
9907 (arguments
9908 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9909 ((#:asd-file _) "ltk/ltk-remote.asd")
9910 ((#:phases _) '%standard-phases)))
9911 (synopsis "Remote GUI support for LTK")
9912 (description
9913 "This LTK extension allows the GUI to be displayed on a computer different
9914from the one running the Lisp program by using a TCP connection.")))
9915
9916(define-public cl-ltk-remote
9917 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9918
9919(define-public sbcl-cl-lex
9920 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9921 (revision "1"))
9922 (package
9923 (name "sbcl-cl-lex")
9924 (version (git-version "1.1.3" revision commit))
9925 (source
9926 (origin
9927 (method git-fetch)
9928 (uri (git-reference
9929 (url "https://github.com/djr7C4/cl-lex.git")
9930 (commit commit)))
9931 (file-name (git-file-name name version))
9932 (sha256
9933 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9934 (build-system asdf-build-system/sbcl)
9935 (inputs
9936 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9937 (synopsis "Common Lisp macros for generating lexical analyzers")
9938 (description
9939 "This is a Common Lisp library providing a set of macros for generating
9940lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9941be used with @code{cl-yacc}.")
9942 (home-page "https://github.com/djr7C4/cl-lex")
9943 (license license:gpl3))))
9944
9945(define-public cl-lex
9946 (sbcl-package->cl-source-package sbcl-cl-lex))
9947
9948(define-public ecl-cl-lex
9949 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9950
9951(define-public sbcl-clunit2
9952 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9953 (revision "1"))
9954 (package
9955 (name "sbcl-clunit2")
9956 (version (git-version "0.2.4" revision commit))
9957 (source
9958 (origin
9959 (method git-fetch)
9960 (uri (git-reference
9961 (url "https://notabug.org/cage/clunit2.git")
9962 (commit commit)))
9963 (file-name (git-file-name name version))
9964 (sha256
9965 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
9966 (build-system asdf-build-system/sbcl)
9967 (synopsis "Unit testing framework for Common Lisp")
9968 (description
9969 "CLUnit is a Common Lisp unit testing framework. It is designed to be
9970easy to use so that you can quickly start testing.")
9971 (home-page "https://notabug.org/cage/clunit2")
9972 (license license:expat))))
9973
9974(define-public cl-clunit2
9975 (sbcl-package->cl-source-package sbcl-clunit2))
9976
9977(define-public ecl-clunit2
9978 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
9979
9980(define-public sbcl-cl-colors2
9981 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
9982 (revision "1"))
9983 (package
9984 (name "sbcl-cl-colors2")
9985 (version (git-version "0.2.1" revision commit))
9986 (source
9987 (origin
9988 (method git-fetch)
9989 (uri (git-reference
9990 (url "https://notabug.org/cage/cl-colors2.git")
9991 (commit commit)))
9992 (file-name (git-file-name name version))
9993 (sha256
9994 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
9995 (build-system asdf-build-system/sbcl)
9996 (native-inputs
9997 `(("clunit2" ,sbcl-clunit2)))
9998 (inputs
9999 `(("alexandria" ,sbcl-alexandria)
10000 ("cl-ppcre" ,sbcl-cl-ppcre)))
10001 (synopsis "Color library for Common Lisp")
10002 (description
10003 "This is a very simple color library for Common Lisp, providing:
10004
10005@itemize
10006@item Types for representing colors in HSV and RGB spaces.
10007@item Simple conversion functions between the above types (and also
10008hexadecimal representation for RGB).
10009@item Some predefined colors (currently X11 color names -- of course
10010the library does not depend on X11).
10011@end itemize\n")
10012 (home-page "https://notabug.org/cage/cl-colors2")
10013 (license license:boost1.0))))
10014
10015(define-public cl-colors2
10016 (sbcl-package->cl-source-package sbcl-cl-colors2))
10017
10018(define-public ecl-cl-colors2
10019 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10020
10021(define-public sbcl-cl-jpeg
10022 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10023 (revision "1"))
10024 (package
10025 (name "sbcl-cl-jpeg")
10026 (version (git-version "2.8" revision commit))
10027 (source
10028 (origin
10029 (method git-fetch)
10030 (uri (git-reference
10031 (url "https://github.com/sharplispers/cl-jpeg.git")
10032 (commit commit)))
10033 (file-name (git-file-name name version))
10034 (sha256
10035 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10036 (build-system asdf-build-system/sbcl)
10037 (synopsis "JPEG image library for Common Lisp")
10038 (description
10039 "This is a baseline JPEG codec written in Common Lisp. It can be used
10040for reading and writing JPEG image files.")
10041 (home-page "https://github.com/sharplispers/cl-jpeg")
10042 (license license:bsd-3))))
10043
10044(define-public cl-jpeg
10045 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10046
10047(define-public ecl-cl-jpeg
10048 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10049
10050(define-public sbcl-nodgui
10051 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10052 (revision "1"))
10053 (package
10054 (name "sbcl-nodgui")
10055 (version (git-version "0.0.5" revision commit))
10056 (source
10057 (origin
10058 (method git-fetch)
10059 (uri (git-reference
10060 (url "https://notabug.org/cage/nodgui.git")
10061 (commit commit)))
10062 (file-name (git-file-name name version))
10063 (sha256
10064 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10065 (build-system asdf-build-system/sbcl)
10066 (inputs
10067 `(("alexandria" ,sbcl-alexandria)
10068 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10069 ("cl-colors2" ,sbcl-cl-colors2)
10070 ("cl-jpeg" ,sbcl-cl-jpeg)
10071 ("cl-lex" ,sbcl-cl-lex)
10072 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10073 ("cl-unicode" ,sbcl-cl-unicode)
10074 ("cl-yacc" ,sbcl-cl-yacc)
10075 ("clunit2" ,sbcl-clunit2)
10076 ("named-readtables" ,sbcl-named-readtables)
10077 ("parse-number" ,sbcl-parse-number)
10078 ("tk" ,tk)))
10079 (arguments
10080 `(#:phases (modify-phases %standard-phases
10081 (add-after 'unpack 'fix-paths
10082 (lambda* (#:key inputs #:allow-other-keys)
10083 (substitute* "src/wish-communication.lisp"
10084 (("#-freebsd \"wish\"")
10085 (string-append "#-freebsd \""
10086 (assoc-ref inputs "tk")
10087 "/bin/wish\"")))
10088 #t)))))
10089 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10090 (description
10091 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10092toolkit. It also provides a few additional widgets more than the standard Tk
10093ones.")
10094 (home-page "https://www.autistici.org/interzona/nodgui.html")
10095 (license license:llgpl))))
10096
10097(define-public cl-nodgui
10098 (sbcl-package->cl-source-package sbcl-nodgui))
10099
10100(define-public ecl-nodgui
10101 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10102
10103(define-public sbcl-salza2
10104 (package
10105 (name "sbcl-salza2")
10106 (version "2.0.9")
10107 (source
10108 (origin
10109 (method git-fetch)
10110 (uri (git-reference
10111 (url "https://github.com/xach/salza2.git")
10112 (commit (string-append "release-" version))))
10113 (file-name (git-file-name name version))
10114 (sha256
10115 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10116 (build-system asdf-build-system/sbcl)
10117 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10118 (description
10119 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10120deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10121respectively.")
10122 (home-page "https://www.xach.com/lisp/salza2/")
10123 (license license:bsd-2)))
10124
10125(define-public cl-salza2
10126 (sbcl-package->cl-source-package sbcl-salza2))
10127
10128(define-public ecl-salza2
10129 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10130
10131(define-public sbcl-png-read
10132 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10133 (revision "1"))
10134 (package
10135 (name "sbcl-png-read")
10136 (version (git-version "0.3.1" revision commit))
10137 (source
10138 (origin
10139 (method git-fetch)
10140 (uri (git-reference
10141 (url "https://github.com/Ramarren/png-read.git")
10142 (commit commit)))
10143 (file-name (git-file-name name version))
10144 (sha256
10145 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10146 (build-system asdf-build-system/sbcl)
10147 (inputs
10148 `(("babel" ,sbcl-babel)
10149 ("chipz" ,sbcl-chipz)
10150 ("iterate" ,sbcl-iterate)))
10151 (synopsis "PNG decoder for Common Lisp")
10152 (description "This is a Common Lisp library for reading PNG images.")
10153 (home-page "https://github.com/Ramarren/png-read")
10154 (license license:bsd-3))))
10155
10156(define-public cl-png-read
10157 (sbcl-package->cl-source-package sbcl-png-read))
10158
10159(define-public ecl-png-read
10160 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10161
10162(define-public sbcl-zpng
10163 (package
10164 (name "sbcl-zpng")
10165 (version "1.2.2")
10166 (source
10167 (origin
10168 (method git-fetch)
10169 (uri (git-reference
10170 (url "https://github.com/xach/zpng.git")
10171 (commit (string-append "release-" version))))
10172 (file-name (git-file-name name version))
10173 (sha256
10174 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10175 (build-system asdf-build-system/sbcl)
10176 (inputs
10177 `(("salza2" ,sbcl-salza2)))
10178 (synopsis "PNG encoder for Common Lisp")
10179 (description "This is a Common Lisp library for creating PNG images.")
10180 (home-page "https://www.xach.com/lisp/zpng/")
10181 (license license:bsd-2)))
10182
10183(define-public cl-zpng
10184 (sbcl-package->cl-source-package sbcl-zpng))
10185
10186(define-public ecl-zpng
10187 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10188
10189(define-public sbcl-cl-qrencode
10190 (package
10191 (name "sbcl-cl-qrencode")
10192 (version "0.1.2")
10193 (source
10194 (origin
10195 (method git-fetch)
10196 (uri (git-reference
10197 (url "https://github.com/jnjcc/cl-qrencode.git")
10198 (commit (string-append "v" version))))
10199 (file-name (git-file-name name version))
10200 (sha256
10201 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10202 (build-system asdf-build-system/sbcl)
10203 (native-inputs
10204 `(("lisp-unit" ,sbcl-lisp-unit)))
10205 (inputs
10206 `(("zpng" ,sbcl-zpng)))
10207 (synopsis "QR code encoder for Common Lisp")
10208 (description
10209 "This Common Lisp library provides function to make QR codes and to save
10210them as PNG files.")
10211 (home-page "https://github.com/jnjcc/cl-qrencode")
10212 (license license:gpl2+)))
10213
10214(define-public cl-qrencode
10215 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10216
10217(define-public ecl-cl-qrencode
10218 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10219
10220(define-public sbcl-hdf5-cffi
10221 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10222 (revision "1"))
10223 (package
10224 (name "sbcl-hdf5-cffi")
10225 (version (git-version "1.8.18" revision commit))
10226 (source
10227 (origin
10228 (method git-fetch)
10229 (uri (git-reference
10230 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10231 (commit commit)))
10232 (file-name (git-file-name name version))
10233 (sha256
10234 (base32
10235 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10236 (build-system asdf-build-system/sbcl)
10237 (synopsis "Common Lisp bindings for the HDF5 library")
10238 (description
10239 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10240 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10241 (license (license:non-copyleft
10242 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10243 commit
10244 "/LICENSE")))
10245 (inputs
10246 `(("cffi" ,sbcl-cffi)
10247 ("cffi-grovel" ,sbcl-cffi-grovel)
10248 ("hdf5" ,hdf5-1.10)))
10249 (native-inputs
10250 `(("fiveam" ,sbcl-fiveam)))
10251 (arguments
10252 `(#:asd-system-name "hdf5-cffi"
10253 #:asd-file "hdf5-cffi.asd"
10254 #:test-asd-file "hdf5-cffi.test.asd"
10255 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10256 ;; I don't know if there is a way to tell asdf-build-system to load
10257 ;; an additional system first, so tests are disabled.
10258 #:tests? #f
10259 #:phases
10260 (modify-phases %standard-phases
10261 (add-after 'unpack 'fix-paths
10262 (lambda* (#:key inputs #:allow-other-keys)
10263 (substitute* "src/library.lisp"
10264 (("libhdf5.so")
10265 (string-append
10266 (assoc-ref inputs "hdf5")
10267 "/lib/libhdf5.so")))))
10268 (add-after 'unpack 'fix-dependencies
10269 (lambda* (#:key inputs #:allow-other-keys)
10270 (substitute* "hdf5-cffi.asd"
10271 ((":depends-on \\(:cffi\\)")
10272 ":depends-on (:cffi :cffi-grovel)"))
10273 (substitute* "hdf5-cffi.test.asd"
10274 ((":depends-on \\(:cffi :hdf5-cffi")
10275 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10276
10277(define-public cl-hdf5-cffi
10278 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10279
10280(define-public ecl-hdf5-cffi
10281 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10282
10283(define-public sbcl-cl-randist
10284 (package
10285 (name "sbcl-cl-randist")
10286 (version "0.4.2")
10287 (source
10288 (origin
10289 (method git-fetch)
10290 (uri (git-reference
10291 (url "https://github.com/lvaruzza/cl-randist.git")
10292 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10293 (file-name (git-file-name name version))
10294 (sha256
10295 (base32
10296 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10297 (build-system asdf-build-system/sbcl)
10298 (synopsis "Random distributions for Common Lisp")
10299 (description
10300 "Manual translation from C to Common Lisp of some random number
10301generation functions from the GSL library.")
10302 (home-page "https://github.com/lvaruzza/cl-randist")
10303 (license license:bsd-2)
10304 (arguments
10305 `(#:asd-system-name "cl-randist"
10306 #:asd-file "cl-randist.asd"
10307 #:tests? #f))))
10308
10309(define-public cl-randist
10310 (sbcl-package->cl-source-package sbcl-cl-randist))
10311
10312(define-public ecl-cl-randist
10313 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10314
10315(define-public sbcl-float-features
10316 (package
10317 (name "sbcl-float-features")
10318 (version "1.0.0")
10319 (source
10320 (origin
10321 (method git-fetch)
10322 (uri (git-reference
10323 (url "https://github.com/Shinmera/float-features.git")
10324 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10325 (file-name (git-file-name name version))
10326 (sha256
10327 (base32
10328 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10329 (build-system asdf-build-system/sbcl)
10330 (synopsis "Common Lisp IEEE float portability library")
10331 (description
10332 "Portability library for IEEE float features that are not
10333covered by the Common Lisp standard.")
10334 (home-page "https://github.com/Shinmera/float-features")
10335 (license license:zlib)
10336 (inputs
10337 `(("documentation-utils" ,sbcl-documentation-utils)))
10338 (arguments
10339 `(#:asd-system-name "float-features"
10340 #:asd-file "float-features.asd"
10341 #:tests? #f))))
10342
10343(define-public cl-float-features
10344 (sbcl-package->cl-source-package sbcl-float-features))
10345
10346(define-public ecl-float-features
10347 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10348
10349(define-public sbcl-function-cache
10350 (package
10351 (name "sbcl-function-cache")
10352 (version "1.0.3")
10353 (source
10354 (origin
10355 (method git-fetch)
10356 (uri (git-reference
10357 (url "https://github.com/AccelerationNet/function-cache.git")
10358 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10359 (file-name (git-file-name name version))
10360 (sha256
10361 (base32
10362 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10363 (build-system asdf-build-system/sbcl)
10364 (synopsis "Function caching / memoization library for Common Lisp")
10365 (description
10366 "A common lisp library that provides extensible function result
10367caching based on arguments (an expanded form of memoization).")
10368 (home-page "https://github.com/AccelerationNet/function-cache")
10369 (license
10370 (license:non-copyleft
10371 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10372 (inputs
10373 `(("alexandria" ,sbcl-alexandria)
10374 ("cl-interpol" ,sbcl-cl-interpol)
10375 ("iterate" ,sbcl-iterate)
10376 ("symbol-munger" ,sbcl-symbol-munger)
10377 ("closer-mop" ,sbcl-closer-mop)))
10378 (arguments
10379 `(#:asd-system-name "function-cache"
10380 #:asd-file "function-cache.asd"
10381 #:tests? #f))))
10382
10383(define-public cl-function-cache
10384 (sbcl-package->cl-source-package sbcl-function-cache))
10385
10386(define-public ecl-function-cache
10387 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10388
10389(define-public sbcl-type-r
10390 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10391 (revision "1"))
10392 (package
10393 (name "sbcl-type-r")
10394 (version (git-version "0.0.0" revision commit))
10395 (source
10396 (origin
10397 (method git-fetch)
10398 (uri (git-reference
10399 (url "https://github.com/guicho271828/type-r.git")
10400 (commit commit)))
10401 (file-name (git-file-name name version))
10402 (sha256
10403 (base32
10404 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10405 (build-system asdf-build-system/sbcl)
10406 (synopsis "Parser interface for Common Lisp built-in compound types")
10407 (description
10408 "Collections of accessor functions and patterns to access
10409the elements in compound type specifier, e.g. @code{dimensions} in
10410@code{(array element-type dimensions)}")
10411 (home-page "https://github.com/guicho271828/type-r")
10412 (license license:lgpl3+)
10413 (inputs
10414 `(("trivia" ,sbcl-trivia)
10415 ("alexandria" ,sbcl-alexandria)))
10416 (native-inputs
10417 `(("fiveam" ,sbcl-fiveam)))
10418 (arguments
10419 `(#:asd-system-name "type-r"
10420 #:asd-file "type-r.asd"
10421 #:test-asd-file "type-r.test.asd")))))
10422
10423(define-public cl-type-r
10424 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10425
10426(define-public sbcl-trivialib-type-unify
10427 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10428 (revision "1"))
10429 (package
10430 (name "sbcl-trivialib-type-unify")
10431 (version (git-version "0.1" revision commit))
10432 (source
10433 (origin
10434 (method git-fetch)
10435 (uri (git-reference
10436 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10437 (commit commit)))
10438 (file-name (git-file-name name version))
10439 (sha256
10440 (base32
10441 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10442 (build-system asdf-build-system/sbcl)
10443 (synopsis "Common Lisp type unification")
10444 (description
10445 "Unifies a parametrized type specifier against an actual type specifier.
10446Importantly, it handles complicated array-subtypes and number-related types
10447correctly.")
10448 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10449 (license license:lgpl3+)
10450 (inputs
10451 `(("alexandria" ,sbcl-alexandria)
10452 ("trivia" ,sbcl-trivia)
10453 ("introspect-environment" ,sbcl-introspect-environment)
10454 ("type-r" ,sbcl-type-r)))
10455 (native-inputs
10456 `(("fiveam" ,sbcl-fiveam)))
10457 (arguments
10458 `(#:asd-system-name "trivialib.type-unify"
10459 #:asd-file "trivialib.type-unify.asd"
10460 #:test-asd-file "trivialib.type-unify.test.asd")))))
10461
10462(define-public cl-trivialib-type-unify
10463 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10464
10465(define-public sbcl-specialized-function
10466 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10467 (revision "1"))
10468 (package
10469 (name "sbcl-specialized-function")
10470 (version (git-version "0.0.0" revision commit))
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/numcl/specialized-function.git")
10476 (commit commit)))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
10480 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10481 (build-system asdf-build-system/sbcl)
10482 (synopsis "Julia-like dispatch for Common Lisp")
10483 (description
10484 "This library is part of NUMCL. It provides a macro
10485@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10486lazily compiling a type-specific version of the function from the same
10487code. The main target of this macro is speed.")
10488 (home-page "https://github.com/numcl/specialized-function")
10489 (license license:lgpl3+)
10490 (inputs
10491 `(("trivia" ,sbcl-trivia)
10492 ("alexandria" ,sbcl-alexandria)
10493 ("iterate" ,sbcl-iterate)
10494 ("lisp-namespace" ,sbcl-lisp-namespace)
10495 ("type-r" ,sbcl-type-r)
10496 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10497 (native-inputs
10498 `(("fiveam" ,sbcl-fiveam)))
10499 (arguments
10500 `(#:asd-system-name "specialized-function"
10501 #:asd-file "specialized-function.asd"
10502 #:test-asd-file "specialized-function.test.asd")))))
10503
10504(define-public cl-specialized-function
10505 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10506
10507(define-public sbcl-constantfold
10508 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10509 (revision "1"))
10510 (package
10511 (name "sbcl-constantfold")
10512 (version (git-version "0.1" revision commit))
10513 (source
10514 (origin
10515 (method git-fetch)
10516 (uri (git-reference
10517 (url "https://github.com/numcl/constantfold.git")
10518 (commit commit)))
10519 (file-name (git-file-name name version))
10520 (sha256
10521 (base32
10522 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10523 (build-system asdf-build-system/sbcl)
10524 (synopsis "Support library for numcl")
10525 (description
10526 "Support library for numcl. Registers a function as an
10527additional form that is considered as a candidate for a constant.")
10528 (home-page "https://github.com/numcl/constantfold")
10529 (license license:lgpl3+)
10530 (inputs
10531 `(("trivia" ,sbcl-trivia)
10532 ("alexandria" ,sbcl-alexandria)
10533 ("iterate" ,sbcl-iterate)
10534 ("lisp-namespace" ,sbcl-lisp-namespace)))
10535 (native-inputs
10536 `(("fiveam" ,sbcl-fiveam)))
10537 (arguments
10538 `(#:asd-system-name "constantfold"
10539 #:asd-file "constantfold.asd"
10540 #:test-asd-file "constantfold.test.asd")))))
10541
10542(define-public cl-constantfold
10543 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10544
10545(define-public sbcl-gtype
10546 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10547 (revision "1"))
10548 (package
10549 (name "sbcl-gtype")
10550 (version (git-version "0.1" revision commit))
10551 (source
10552 (origin
10553 (method git-fetch)
10554 (uri (git-reference
10555 (url "https://github.com/numcl/gtype.git")
10556 (commit commit)))
10557 (file-name (git-file-name name version))
10558 (sha256
10559 (base32
10560 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10561 (build-system asdf-build-system/sbcl)
10562 (synopsis "C++/Julia-like parametric types in Common Lisp")
10563 (description
10564 "Support library for numcl that provides Julia-like runtime parametric
10565type correctness in Common Lisp. It is based on CLtL2 extensions.")
10566 (home-page "https://github.com/numcl/gtype")
10567 (license license:lgpl3+)
10568 (inputs
10569 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10570 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10571 ("trivia" ,sbcl-trivia)
10572 ("alexandria" ,sbcl-alexandria)
10573 ("iterate" ,sbcl-iterate)
10574 ("type-r" ,sbcl-type-r)))
10575 (native-inputs
10576 `(("fiveam" ,sbcl-fiveam)))
10577 (arguments
10578 `(#:asd-system-name "gtype"
10579 #:asd-file "gtype.asd"
10580 #:test-asd-file "gtype.test.asd")))))
10581
10582(define-public cl-gtype
10583 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10584
10585(define-public sbcl-numcl
10586 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10587 (revision "1"))
10588 (package
10589 (name "sbcl-numcl")
10590 (version (git-version "0.1.0" revision commit))
10591 (source
10592 (origin
10593 (method git-fetch)
10594 (uri (git-reference
10595 (url "https://github.com/numcl/numcl.git")
10596 (commit commit)))
10597 (file-name (git-file-name name version))
10598 (sha256
10599 (base32
10600 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10601 (build-system asdf-build-system/sbcl)
10602 (synopsis "Numpy clone in Common Lisp")
10603 (description
10604 "This is a Numpy clone in Common Lisp. At the moment the
10605library is written in pure Common Lisp, focusing more on correctness
10606and usefulness, not speed. Track the progress at
10607@url{https://github.com/numcl/numcl/projects/1}.")
10608 (home-page "https://github.com/numcl/numcl")
10609 (license license:lgpl3+)
10610 (inputs
10611 `(("trivia" ,sbcl-trivia)
10612 ("alexandria" ,sbcl-alexandria)
10613 ("iterate" ,sbcl-iterate)
10614 ("lisp-namespace" ,sbcl-lisp-namespace)
10615 ("type-r" ,sbcl-type-r)
10616 ("constantfold" ,sbcl-constantfold)
10617 ("cl-randist" ,sbcl-cl-randist)
10618 ("float-features" ,sbcl-float-features)
10619 ("function-cache" ,sbcl-function-cache)
10620 ("specialized-function" ,sbcl-specialized-function)
10621 ("gtype" ,sbcl-gtype)))
10622 (native-inputs
10623 `(("fiveam" ,sbcl-fiveam)))
10624 (arguments
10625 `(#:asd-system-name "numcl"
10626 #:asd-file "numcl.asd"
10627 #:test-asd-file "numcl.test.asd")))))
10628
10629(define-public cl-numcl
10630 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10631
10632(define-public sbcl-pzmq
10633 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10634 (revision "1"))
10635 (package
10636 (name "sbcl-pzmq")
10637 (version (git-version "0.0.0" revision commit))
10638 (source
10639 (origin
10640 (method git-fetch)
10641 (uri (git-reference
10642 (url "https://github.com/orivej/pzmq.git")
10643 (commit commit)))
10644 (file-name (git-file-name name version))
10645 (sha256
10646 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10647 (build-system asdf-build-system/sbcl)
10648 (native-inputs
10649 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10650 ("fiveam" ,sbcl-fiveam)
10651 ("let-plus" ,sbcl-let-plus)))
10652 (inputs
10653 `(("cffi" ,sbcl-cffi)
10654 ("cffi-grovel" ,sbcl-cffi-grovel)
10655 ("zeromq" ,zeromq)))
10656 (arguments
10657 `(#:phases (modify-phases %standard-phases
10658 (add-after 'unpack 'fix-paths
10659 (lambda* (#:key inputs #:allow-other-keys)
10660 (substitute* "c-api.lisp"
10661 (("\"libzmq")
10662 (string-append "\""
10663 (assoc-ref inputs "zeromq")
10664 "/lib/libzmq")))
10665 #t)))))
10666 (synopsis "Common Lisp bindings for the ZeroMQ library")
10667 (description "This Common Lisp library provides bindings for the ZeroMQ
10668lightweight messaging kernel.")
10669 (home-page "https://github.com/orivej/pzmq")
10670 (license license:unlicense))))
10671
10672(define-public cl-pzmq
10673 (sbcl-package->cl-source-package sbcl-pzmq))
10674
10675(define-public ecl-pzmq
10676 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10677
10678(define-public sbcl-clss
10679 (let ((revision "1")
10680 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10681 (package
10682 (name "sbcl-clss")
10683 (version (git-version "0.3.1" revision commit))
10684 (source
10685 (origin
10686 (method git-fetch)
10687 (uri
10688 (git-reference
10689 (url "https://github.com/Shinmera/clss.git")
10690 (commit commit)))
10691 (sha256
10692 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10693 (file-name (git-file-name name version))))
10694 (inputs
10695 `(("array-utils" ,sbcl-array-utils)
10696 ("plump" ,sbcl-plump)))
10697 (build-system asdf-build-system/sbcl)
10698 (synopsis "DOM tree searching engine based on CSS selectors")
10699 (description "CLSS is a DOM traversal engine based on CSS
10700selectors. It makes use of the Plump-DOM and is used by lQuery.")
10701 (home-page "https://github.com/Shinmera/clss")
10702 (license license:zlib))))
10703
10704(define-public cl-clss
10705 (sbcl-package->cl-source-package sbcl-clss))
10706
10707(define-public ecl-clss
10708 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10709
10710(define-public sbcl-lquery
10711 (let ((revision "1")
10712 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10713 (package
10714 (name "sbcl-lquery")
10715 (version (git-version "3.2.1" revision commit))
10716 (source
10717 (origin
10718 (method git-fetch)
10719 (uri
10720 (git-reference
10721 (url "https://github.com/Shinmera/lquery.git")
10722 (commit commit)))
10723 (sha256
10724 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10725 (file-name (git-file-name name version))))
10726 (native-inputs
10727 `(("fiveam" ,sbcl-fiveam)))
10728 (inputs
10729 `(("array-utils" ,sbcl-array-utils)
10730 ("form-fiddle" ,sbcl-form-fiddle)
10731 ("plump" ,sbcl-plump)
10732 ("clss" ,sbcl-clss)))
10733 (build-system asdf-build-system/sbcl)
10734 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10735 (description "@code{lQuery} is a DOM manipulation library written in
10736Common Lisp, inspired by and based on the jQuery syntax and
10737functions. It uses Plump and CLSS as DOM and selector engines. The
10738main idea behind lQuery is to provide a simple interface for crawling
10739and modifying HTML sites, as well as to allow for an alternative
10740approach to templating.")
10741 (home-page "https://github.com/Shinmera/lquery")
10742 (license license:zlib))))
10743
10744(define-public cl-lquery
10745 (sbcl-package->cl-source-package sbcl-lquery))
10746
10747(define-public ecl-lquery
10748 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10749
10750(define-public sbcl-cl-mysql
10751 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10752 (revision "1"))
10753 (package
10754 (name "sbcl-cl-mysql")
10755 (version (git-version "0.1" revision commit))
10756 (source
10757 (origin
10758 (method git-fetch)
10759 (uri (git-reference
10760 (url "https://github.com/hackinghat/cl-mysql.git")
10761 (commit commit)))
10762 (file-name (git-file-name name version))
10763 (sha256
10764 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10765 (build-system asdf-build-system/sbcl)
10766 (native-inputs
10767 `(("stefil" ,sbcl-stefil)))
10768 (inputs
10769 `(("cffi" ,sbcl-cffi)
10770 ("mariadb-lib" ,mariadb "lib")))
10771 (arguments
10772 `(#:tests? #f ; TODO: Tests require a running server
10773 #:phases
10774 (modify-phases %standard-phases
10775 (add-after 'unpack 'fix-paths
10776 (lambda* (#:key inputs #:allow-other-keys)
10777 (substitute* "system.lisp"
10778 (("libmysqlclient_r" all)
10779 (string-append (assoc-ref inputs "mariadb-lib")
10780 "/lib/"
10781 all)))
10782 #t)))))
10783 (synopsis "Common Lisp wrapper for MySQL")
10784 (description
10785 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10786 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10787 (license license:expat))))
10788
10789(define-public cl-mysql
10790 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10791
10792(define-public sbcl-simple-date
10793 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10794 (revision "1"))
10795 (package
10796 (name "sbcl-simple-date")
10797 (version (git-version "1.19" revision commit))
10798 (source
10799 (origin
10800 (method git-fetch)
10801 (uri (git-reference
10802 (url "https://github.com/marijnh/Postmodern.git")
10803 (commit commit)))
10804 (file-name (git-file-name name version))
10805 (sha256
10806 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10807 (build-system asdf-build-system/sbcl)
10808 (native-inputs
10809 `(("fiveam" ,sbcl-fiveam)))
10810 (synopsis "Basic date and time objects for Common Lisp")
10811 (description
10812 "@code{simple-date} is a very basic implementation of date and time
10813objects, used to support storing and retrieving time-related SQL types.")
10814 (home-page "https://marijnhaverbeke.nl/postmodern/")
10815 (license license:zlib))))
10816
10817(define-public cl-simple-date
10818 (sbcl-package->cl-source-package sbcl-simple-date))
10819
10820(define-public ecl-simple-date
10821 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10822
10823(define-public sbcl-cl-postgres
10824 (package
10825 (inherit sbcl-simple-date)
10826 (name "sbcl-cl-postgres")
10827 (native-inputs
10828 `(("fiveam" ,sbcl-fiveam)
10829 ("simple-date" ,sbcl-simple-date)))
10830 (inputs
10831 `(("md5" ,sbcl-md5)
10832 ("split-sequence" ,sbcl-split-sequence)
10833 ("usocket" ,sbcl-usocket)))
10834 (arguments
10835 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10836 (synopsis "Common Lisp interface for PostgreSQL")
10837 (description
10838 "@code{cl-postgres} is a low-level library used for interfacing with
10839a PostgreSQL server over a socket.")))
10840
10841(define-public cl-postgres
10842 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10843
10844(define-public sbcl-simple-date-postgres-glue
10845 (package
10846 (inherit sbcl-simple-date)
10847 (name "sbcl-simple-date-postgres-glue")
10848 (inputs
10849 `(("cl-postgres" ,sbcl-cl-postgres)
10850 ("simple-date" ,sbcl-simple-date)))
10851 (arguments
10852 `(#:asd-file "simple-date.asd"
10853 #:asd-system-name "simple-date/postgres-glue"))))
10854
10855(define-public cl-simple-date-postgres-glue
10856 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10857
10858(define-public sbcl-s-sql
10859 (package
10860 (inherit sbcl-simple-date)
10861 (name "sbcl-s-sql")
10862 (inputs
10863 `(("alexandria" ,sbcl-alexandria)
10864 ("cl-postgres" ,sbcl-cl-postgres)))
10865 (arguments
10866 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10867 (synopsis "Lispy DSL for SQL")
10868 (description
10869 "@code{s-sql} is a Common Lisp library that can be used to compile
10870s-expressions to strings of SQL code, escaping any Lisp values inside, and
10871doing as much as possible of the work at compile time.")))
10872
10873(define-public cl-s-sql
10874 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10875
10876(define-public sbcl-postmodern
10877 (package
10878 (inherit sbcl-simple-date)
10879 (name "sbcl-postmodern")
10880 (native-inputs
10881 `(("fiveam" ,sbcl-fiveam)
10882 ("simple-date" ,sbcl-simple-date)
10883 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10884 (inputs
10885 `(("alexandria" ,sbcl-alexandria)
10886 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10887 ("cl-postgres" ,sbcl-cl-postgres)
10888 ("closer-mop" ,sbcl-closer-mop)
10889 ("global-vars" ,sbcl-global-vars)
10890 ("s-sql" ,sbcl-s-sql)
10891 ("split-sequence" ,sbcl-split-sequence)))
10892 (arguments
10893 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10894 ;; cl-postgres/tests and s-sql/tests.
10895 `(#:tests? #f))
10896 (synopsis "Common Lisp library for interacting with PostgreSQL")
10897 (description
10898 "@code{postmodern} is a Common Lisp library for interacting with
10899PostgreSQL databases. It provides the following features:
10900
10901@itemize
10902@item Efficient communication with the database server without need for
10903foreign libraries.
10904@item Support for UTF-8 on Unicode-aware Lisp implementations.
10905@item A syntax for mixing SQL and Lisp code.
10906@item Convenient support for prepared statements and stored procedures.
10907@item A metaclass for simple database-access objects.
10908@end itemize\n")))
10909
10910(define-public cl-postmodern
10911 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10912
10913(define-public sbcl-dbi
10914 (package
10915 (name "sbcl-dbi")
10916 (version "0.9.4")
10917 (source
10918 (origin
10919 (method git-fetch)
10920 (uri (git-reference
10921 (url "https://github.com/fukamachi/cl-dbi.git")
10922 (commit version)))
10923 (file-name (git-file-name name version))
10924 (sha256
10925 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10926 (build-system asdf-build-system/sbcl)
10927 (inputs
10928 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10929 ("closer-mop" ,sbcl-closer-mop)
10930 ("split-sequence" ,sbcl-split-sequence)))
10931 (arguments
10932 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
10933 (synopsis "Database independent interface for Common Lisp")
10934 (description
10935 "@code{dbi} is a Common Lisp library providing a database independent
10936interface for MySQL, PostgreSQL and SQLite.")
10937 (home-page "https://github.com/fukamachi/cl-dbi")
10938 (license license:llgpl)))
10939
10940(define-public cl-dbi
10941 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
10942
10943(define-public sbcl-dbd-mysql
10944 (package
10945 (inherit sbcl-dbi)
10946 (name "sbcl-dbd-mysql")
10947 (inputs
10948 `(("cl-mysql" ,sbcl-cl-mysql)
10949 ("dbi" ,sbcl-dbi)))
10950 (synopsis "Database driver for MySQL")))
10951
10952(define-public cl-dbd-mysql
10953 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
10954
10955(define-public sbcl-dbd-postgres
10956 (package
10957 (inherit sbcl-dbi)
10958 (name "sbcl-dbd-postgres")
10959 (inputs
10960 `(("cl-postgres" ,sbcl-cl-postgres)
10961 ("dbi" ,sbcl-dbi)
10962 ("trivial-garbage" ,sbcl-trivial-garbage)))
10963 (synopsis "Database driver for PostgreSQL")))
10964
10965(define-public cl-dbd-postgres
10966 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
10967
10968(define-public sbcl-dbd-sqlite3
10969 (package
10970 (inherit sbcl-dbi)
10971 (name "sbcl-dbd-sqlite3")
10972 (inputs
10973 `(("cl-sqlite" ,sbcl-cl-sqlite)
10974 ("dbi" ,sbcl-dbi)
10975 ("trivial-garbage" ,sbcl-trivial-garbage)))
10976 (synopsis "Database driver for SQLite3")))
10977
10978(define-public cl-dbd-sqlite3
10979 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
10980
10981(define-public sbcl-uffi
10982 (package
10983 (name "sbcl-uffi")
10984 (version "2.1.2")
10985 (source
10986 (origin
10987 (method git-fetch)
10988 (uri (git-reference
10989 (url "http://git.kpe.io/uffi.git")
10990 (commit (string-append "v" version))))
10991 (file-name (git-file-name name version))
10992 (sha256
10993 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
10994 (build-system asdf-build-system/sbcl)
10995 (arguments
10996 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
10997 #:phases
10998 (modify-phases %standard-phases
10999 (add-after 'unpack 'fix-permissions
11000 (lambda _
11001 (make-file-writable "doc/html.tar.gz")
11002 #t)))))
11003 (synopsis "Universal foreign function library for Common Lisp")
11004 (description
11005 "UFFI provides a universal foreign function interface (FFI)
11006 for Common Lisp.")
11007 (home-page "http://quickdocs.org/uffi/")
11008 (license license:llgpl)))
11009
11010(define-public cl-uffi
11011 (package
11012 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11013 (arguments
11014 `(#:phases
11015 ;; asdf-build-system/source has its own phases and does not inherit
11016 ;; from asdf-build-system/sbcl phases.
11017 (modify-phases %standard-phases/source
11018 (add-after 'unpack 'fix-permissions
11019 (lambda _
11020 (make-file-writable "doc/html.tar.gz")
11021 #t)))))))
5ae56f68
GLV
11022
11023(define-public sbcl-clsql
11024 (package
11025 (name "sbcl-clsql")
11026 (version "6.7.0")
11027 (source
11028 (origin
11029 (method git-fetch)
11030 (uri (git-reference
11031 (url "http://git.kpe.io/clsql.git")
11032 (commit (string-append "v" version))))
11033 (file-name (git-file-name name version))
11034 (sha256
11035 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11036 (snippet
11037 '(begin
11038 ;; Remove precompiled libraries.
11039 (delete-file "db-mysql/clsql_mysql.dll")
11040 (delete-file "uffi/clsql_uffi.dll")
11041 (delete-file "uffi/clsql_uffi.lib")
11042 #t))))
11043 (build-system asdf-build-system/sbcl)
11044 (native-inputs
11045 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11046 ("rt" ,sbcl-rt)
11047 ("uffi" ,sbcl-uffi)))
11048 (arguments
11049 `(#:phases
11050 (modify-phases %standard-phases
11051 (add-after 'unpack 'fix-permissions
11052 (lambda _
11053 (make-file-writable "doc/html.tar.gz")
11054 #t))
11055 (add-after 'unpack 'fix-tests
11056 (lambda _
11057 (substitute* "clsql.asd"
11058 (("clsql-tests :force t")
11059 "clsql-tests"))
11060 #t)))))
11061 (synopsis "Common Lisp SQL Interface library")
11062 (description
11063 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11064Xanalys CommonSQL interface for Lispworks. It provides low-level database
11065interfaces as well as a functional and an object oriented interface.")
11066 (home-page "http://clsql.kpe.io/")
11067 (license license:llgpl)))
11068
11069(define-public cl-clsql
11070 (package
11071 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11072 (native-inputs
11073 `(("rt" ,cl-rt)))
11074 (inputs
11075 `(("mysql" ,mysql)
11076 ("postgresql" ,postgresql)
11077 ("sqlite" ,sqlite)
11078 ("zlib" ,zlib)))
11079 (propagated-inputs
11080 `(("cl-postgres" ,cl-postgres)
11081 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11082 ("md5" ,cl-md5)
11083 ("uffi" ,cl-uffi)))
11084 (arguments
11085 `(#:phases
11086 ;; asdf-build-system/source has its own phases and does not inherit
11087 ;; from asdf-build-system/sbcl phases.
11088 (modify-phases %standard-phases/source
11089 (add-after 'unpack 'fix-permissions
11090 (lambda _
11091 (make-file-writable "doc/html.tar.gz")
11092 #t)))))))
a5f44287
GLV
11093
11094(define-public sbcl-clsql-uffi
11095 (package
11096 (inherit sbcl-clsql)
11097 (name "sbcl-clsql-uffi")
11098 (inputs
11099 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11100 ("clsql" ,sbcl-clsql)
11101 ("uffi" ,sbcl-uffi)))
11102 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11103
11104(define-public sbcl-clsql-sqlite3
11105 (package
11106 (inherit sbcl-clsql)
11107 (name "sbcl-clsql-sqlite3")
11108 (inputs
11109 `(("clsql" ,sbcl-clsql)
11110 ("clsql-uffi" ,sbcl-clsql-uffi)
11111 ("sqlite" ,sqlite)))
11112 (arguments
11113 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11114 ((#:phases phases '%standard-phases)
11115 `(modify-phases ,phases
11116 (add-after 'unpack 'fix-paths
11117 (lambda* (#:key inputs #:allow-other-keys)
11118 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11119 (("libsqlite3")
11120 (string-append (assoc-ref inputs "sqlite")
11121 "/lib/libsqlite3")))
11122 #t))))))
11123 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11124
11125(define-public sbcl-clsql-postgresql
11126 (package
11127 (inherit sbcl-clsql)
11128 (name "sbcl-clsql-postgresql")
11129 (inputs
11130 `(("clsql" ,sbcl-clsql)
11131 ("clsql-uffi" ,sbcl-clsql-uffi)
11132 ("postgresql" ,postgresql)))
11133 (arguments
11134 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11135 ((#:phases phases '%standard-phases)
11136 `(modify-phases ,phases
11137 (add-after 'unpack 'fix-paths
11138 (lambda* (#:key inputs #:allow-other-keys)
11139 (substitute* "db-postgresql/postgresql-loader.lisp"
11140 (("libpq")
11141 (string-append (assoc-ref inputs "postgresql")
11142 "/lib/libpq")))
11143 #t))))))
11144 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11145
11146(define-public sbcl-clsql-postgresql-socket3
11147 (package
11148 (inherit sbcl-clsql)
11149 (name "sbcl-clsql-postgresql-socket3")
11150 (inputs
11151 `(("cl-postgres" ,sbcl-cl-postgres)
11152 ("clsql" ,sbcl-clsql)
11153 ("md5" ,sbcl-md5)))
11154 (arguments
11155 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11156 ((#:phases phases '%standard-phases)
11157 `(modify-phases ,phases
11158 (add-after 'create-asd-file 'fix-asd-file
11159 (lambda* (#:key outputs #:allow-other-keys)
11160 (let* ((out (assoc-ref outputs "out"))
11161 (lib (string-append out "/lib/" (%lisp-type)))
11162 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11163 (substitute* asd
11164 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11165 "")))
11166 #t))))))
11167 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11168
11169(define-public sbcl-clsql-mysql
11170 (package
11171 (inherit sbcl-clsql)
11172 (name "sbcl-clsql-mysql")
11173 (inputs
11174 `(("mysql" ,mysql)
11175 ("sbcl-clsql" ,sbcl-clsql)
11176 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11177 ("zlib" ,zlib)))
11178 (arguments
11179 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11180 ((#:phases phases '%standard-phases)
11181 `(modify-phases ,phases
11182 (add-after 'unpack 'fix-paths
11183 (lambda* (#:key inputs outputs #:allow-other-keys)
11184 (let ((lib (string-append "#p\""
11185 (assoc-ref outputs "out")
11186 "/lib/\"")))
11187 (substitute* "clsql-mysql.asd"
11188 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11189 lib))
11190 (substitute* "db-mysql/mysql-loader.lisp"
11191 (("libmysqlclient" all)
11192 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11193 (("clsql-mysql-system::\\*library-file-dir\\*")
11194 lib)))
11195 #t))
11196 (add-before 'build 'build-helper-library
11197 (lambda* (#:key inputs outputs #:allow-other-keys)
11198 (let* ((mysql (assoc-ref inputs "mysql"))
11199 (inc-dir (string-append mysql "/include/mysql"))
11200 (lib-dir (string-append mysql "/lib"))
11201 (shared-lib-dir (string-append (assoc-ref outputs "out")
11202 "/lib"))
11203 (shared-lib (string-append shared-lib-dir
11204 "/clsql_mysql.so")))
11205 (mkdir-p shared-lib-dir)
11206 (invoke "gcc" "-fPIC" "-shared"
11207 "-I" inc-dir
11208 "db-mysql/clsql_mysql.c"
11209 "-Wl,-soname=clsql_mysql"
11210 "-L" lib-dir "-lmysqlclient" "-lz"
11211 "-o" shared-lib)
11212 #t)))))))
11213 (synopsis "MySQL driver for Common Lisp SQL interface library")))