gnu: Add emacs-typit.
[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>
2fa04968 13;;; Copyright © 2018, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
88f06fd0 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>
1fbd1b4c 21;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
88f06fd0
PN
22;;;
23;;; This file is part of GNU Guix.
24;;;
25;;; GNU Guix is free software; you can redistribute it and/or modify it
26;;; under the terms of the GNU General Public License as published by
27;;; the Free Software Foundation; either version 3 of the License, or (at
28;;; your option) any later version.
29;;;
30;;; GNU Guix is distributed in the hope that it will be useful, but
31;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33;;; GNU General Public License for more details.
34;;;
35;;; You should have received a copy of the GNU General Public License
36;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
38;;; This file only contains Common Lisp libraries.
39;;; Common Lisp compilers and tooling go to lisp.scm.
40;;; Common Lisp applications should go to the most appropriate file,
41;;; e.g. StumpWM is in wm.scm.
42
43(define-module (gnu packages lisp-xyz)
44 #:use-module (gnu packages)
45 #:use-module ((guix licenses) #:prefix license:)
46 #:use-module (guix packages)
47 #:use-module (guix download)
48 #:use-module (guix git-download)
49 #:use-module (guix hg-download)
50 #:use-module (guix utils)
51 #:use-module (guix build-system asdf)
52 #:use-module (guix build-system trivial)
53 #:use-module (gnu packages c)
54 #:use-module (gnu packages compression)
8a6c0f55 55 #:use-module (gnu packages databases)
2fa04968 56 #:use-module (gnu packages enchant)
88f06fd0
PN
57 #:use-module (gnu packages glib)
58 #:use-module (gnu packages gtk)
d3a2df68 59 #:use-module (gnu packages imagemagick)
37b48dc1 60 #:use-module (gnu packages libevent)
88f06fd0
PN
61 #:use-module (gnu packages libffi)
62 #:use-module (gnu packages lisp)
064dbb71 63 #:use-module (gnu packages maths)
a3f6c410 64 #:use-module (gnu packages networking)
88f06fd0
PN
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages python)
67 #:use-module (gnu packages python-xyz)
68 #:use-module (gnu packages sqlite)
d3a2df68 69 #:use-module (gnu packages tcl)
88f06fd0
PN
70 #:use-module (gnu packages tls)
71 #:use-module (gnu packages webkit)
72 #:use-module (gnu packages xdisorg)
73 #:use-module (ice-9 match)
74 #:use-module (srfi srfi-19))
75
76(define-public sbcl-alexandria
77 (let ((revision "1")
78 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
79 (package
80 (name "sbcl-alexandria")
81 (version (git-version "1.0.0" revision commit))
82 (source
83 (origin
84 (method git-fetch)
85 (uri (git-reference
86 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
87 (commit commit)))
88 (sha256
89 (base32
90 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
91 (file-name (git-file-name name version))))
92 (build-system asdf-build-system/sbcl)
93 (native-inputs
94 `(("rt" ,sbcl-rt)))
95 (synopsis "Collection of portable utilities for Common Lisp")
96 (description
97 "Alexandria is a collection of portable utilities. It does not contain
98conceptual extensions to Common Lisp. It is conservative in scope, and
99portable between implementations.")
100 (home-page "https://common-lisp.net/project/alexandria/")
101 (license license:public-domain))))
102
103(define-public cl-alexandria
104 (sbcl-package->cl-source-package sbcl-alexandria))
105
106(define-public ecl-alexandria
107 (sbcl-package->ecl-package sbcl-alexandria))
108
109(define-public sbcl-net.didierverna.asdf-flv
110 (package
111 (name "sbcl-net.didierverna.asdf-flv")
112 (version "2.1")
113 (source
114 (origin
115 (method git-fetch)
116 (uri (git-reference
117 (url "https://github.com/didierverna/asdf-flv")
118 (commit (string-append "version-" version))))
119 (file-name (git-file-name "asdf-flv" version))
120 (sha256
121 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
122 (build-system asdf-build-system/sbcl)
123 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
124 (description "ASDF-FLV provides support for file-local variables through
125ASDF. A file-local variable behaves like @code{*PACKAGE*} and
126@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
127dynamic binding is created before processing the file, so that any
128modification to the variable becomes essentially file-local.
129
130In order to make one or several variables file-local, use the macros
131@code{SET-FILE-LOCAL-VARIABLE(S)}.")
132 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
133 (license (license:non-copyleft
134 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
135 "GNU All-Permissive License"))))
136
137(define-public cl-net.didierverna.asdf-flv
138 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
139
140(define-public ecl-net.didierverna.asdf-flv
141 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
142
143(define-public sbcl-fiveam
144 (package
145 (name "sbcl-fiveam")
146 (version "1.4.1")
147 (source
148 (origin
149 (method git-fetch)
150 (uri (git-reference
151 (url "https://github.com/sionescu/fiveam.git")
152 (commit (string-append "v" version))))
153 (file-name (git-file-name "fiveam" version))
154 (sha256
155 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
156 (inputs
157 `(("alexandria" ,sbcl-alexandria)
158 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
159 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
160 (build-system asdf-build-system/sbcl)
161 (synopsis "Common Lisp testing framework")
162 (description "FiveAM is a simple (as far as writing and running tests
163goes) regression testing framework. It has been designed with Common Lisp's
164interactive development model in mind.")
165 (home-page "https://common-lisp.net/project/fiveam/")
166 (license license:bsd-3)))
167
168(define-public cl-fiveam
169 (sbcl-package->cl-source-package sbcl-fiveam))
170
171(define-public ecl-fiveam
172 (sbcl-package->ecl-package sbcl-fiveam))
173
174(define-public sbcl-bordeaux-threads
5a647850
GLV
175 (package
176 (name "sbcl-bordeaux-threads")
177 (version "0.8.7")
178 (source (origin
179 (method git-fetch)
180 (uri (git-reference
181 (url "https://github.com/sionescu/bordeaux-threads.git")
182 (commit (string-append "v" version))))
183 (sha256
184 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
185 (file-name
186 (git-file-name "bordeaux-threads" version))))
187 (inputs `(("alexandria" ,sbcl-alexandria)))
188 (native-inputs `(("fiveam" ,sbcl-fiveam)))
189 (build-system asdf-build-system/sbcl)
190 (synopsis "Portable shared-state concurrency library for Common Lisp")
191 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
192MP/Threading interface. It is similar to the CLIM-SYS threading and lock
193support.")
5a647850
GLV
194 (home-page "https://common-lisp.net/project/bordeaux-threads/")
195 (license license:x11)))
88f06fd0
PN
196
197(define-public cl-bordeaux-threads
198 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
199
200(define-public ecl-bordeaux-threads
201 (sbcl-package->ecl-package sbcl-bordeaux-threads))
202
203(define-public sbcl-trivial-gray-streams
204 (let ((revision "1")
205 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
206 (package
207 (name "sbcl-trivial-gray-streams")
208 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
209 (source
210 (origin
211 (method git-fetch)
212 (uri
213 (git-reference
214 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
215 (commit commit)))
216 (sha256
217 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
218 (file-name
219 (string-append "trivial-gray-streams-" version "-checkout"))))
220 (build-system asdf-build-system/sbcl)
221 (synopsis "Compatibility layer for Gray streams implementations")
222 (description "Gray streams is an interface proposed for inclusion with
223ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
224popular CL implementations implement it. This package provides an extremely
225thin compatibility layer for gray streams.")
0eecc9eb 226 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
227 (license license:x11))))
228
229(define-public cl-trivial-gray-streams
230 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
231
232(define-public ecl-trivial-gray-streams
233 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
234
235(define-public sbcl-fiasco
236 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
237 (revision "1"))
238 (package
239 (name "sbcl-fiasco")
240 (version (git-version "0.0.1" revision commit))
241 (source
242 (origin
243 (method git-fetch)
244 (uri (git-reference
245 (url "https://github.com/joaotavora/fiasco.git")
246 (commit commit)))
247 (file-name (git-file-name "fiasco" version))
248 (sha256
249 (base32
250 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
251 (build-system asdf-build-system/sbcl)
252 (inputs
253 `(("alexandria" ,sbcl-alexandria)
254 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
255 (synopsis "Simple and powerful test framework for Common Lisp")
256 (description "A Common Lisp test framework that treasures your failures,
257logical continuation of Stefil. It focuses on interactive debugging.")
258 (home-page "https://github.com/joaotavora/fiasco")
259 ;; LICENCE specifies this is public-domain unless the legislation
260 ;; doesn't allow or recognize it. In that case it falls back to a
261 ;; permissive licence.
262 (license (list license:public-domain
263 (license:x11-style "file://LICENCE"))))))
264
265(define-public cl-fiasco
266 (sbcl-package->cl-source-package sbcl-fiasco))
267
268(define-public ecl-fiasco
269 (sbcl-package->ecl-package sbcl-fiasco))
270
271(define-public sbcl-flexi-streams
272 (package
273 (name "sbcl-flexi-streams")
6b0604fd 274 (version "1.0.18")
88f06fd0
PN
275 (source
276 (origin
277 (method git-fetch)
278 (uri (git-reference
279 (url "https://github.com/edicl/flexi-streams.git")
280 (commit (string-append "v" version))))
281 (file-name (git-file-name "flexi-streams" version))
282 (sha256
6b0604fd 283 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
284 (build-system asdf-build-system/sbcl)
285 (arguments
286 `(#:phases
287 (modify-phases %standard-phases
288 (add-after 'unpack 'make-git-checkout-writable
289 (lambda _
290 (for-each make-file-writable (find-files "."))
291 #t)))))
292 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
293 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
294 (description "Flexi-streams is an implementation of \"virtual\" bivalent
295streams that can be layered atop real binary or bivalent streams and that can
296be used to read and write character data in various single- or multi-octet
297encodings which can be changed on the fly. It also supplies in-memory binary
298streams which are similar to string streams.")
299 (home-page "http://weitz.de/flexi-streams/")
300 (license license:bsd-3)))
301
302(define-public cl-flexi-streams
303 (sbcl-package->cl-source-package sbcl-flexi-streams))
304
305(define-public ecl-flexi-streams
306 (sbcl-package->ecl-package sbcl-flexi-streams))
307
308(define-public sbcl-cl-ppcre
309 (package
310 (name "sbcl-cl-ppcre")
6c874425 311 (version "2.1.1")
88f06fd0
PN
312 (source
313 (origin
314 (method git-fetch)
315 (uri (git-reference
316 (url "https://github.com/edicl/cl-ppcre.git")
317 (commit (string-append "v" version))))
318 (file-name (git-file-name "cl-ppcre" version))
319 (sha256
6c874425 320 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0
PN
321 (build-system asdf-build-system/sbcl)
322 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
323 (synopsis "Portable regular expression library for Common Lisp")
324 (description "CL-PPCRE is a portable regular expression library for Common
325Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
326compatible with ANSI-compliant Common Lisp implementations.")
327 (home-page "http://weitz.de/cl-ppcre/")
328 (license license:bsd-2)))
329
330(define-public cl-ppcre
331 (sbcl-package->cl-source-package sbcl-cl-ppcre))
332
333(define-public ecl-cl-ppcre
334 (sbcl-package->ecl-package sbcl-cl-ppcre))
335
336(define sbcl-cl-unicode-base
6fdfef66
GLV
337 (package
338 (name "sbcl-cl-unicode-base")
339 (version "0.1.6")
340 (source (origin
341 (method git-fetch)
342 (uri (git-reference
343 (url "https://github.com/edicl/cl-unicode.git")
344 (commit (string-append "v" version))))
345 (file-name (git-file-name name version))
346 (sha256
347 (base32
348 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
349 (build-system asdf-build-system/sbcl)
350 (arguments
351 '(#:asd-file "cl-unicode.asd"
352 #:asd-system-name "cl-unicode/base"))
353 (inputs
354 `(("cl-ppcre" ,sbcl-cl-ppcre)))
355 (home-page "http://weitz.de/cl-unicode/")
356 (synopsis "Portable Unicode library for Common Lisp")
357 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
358is compatible with perl. It is pretty fast, thread-safe, and compatible with
359ANSI-compliant Common Lisp implementations.")
6fdfef66 360 (license license:bsd-2)))
88f06fd0
PN
361
362(define-public sbcl-cl-unicode
363 (package
364 (inherit sbcl-cl-unicode-base)
365 (name "sbcl-cl-unicode")
366 (inputs
367 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
368 ,@(package-inputs sbcl-cl-unicode-base)))
369 (native-inputs
370 `(("flexi-streams" ,sbcl-flexi-streams)))
371 (arguments '())))
372
373(define-public ecl-cl-unicode
374 (sbcl-package->ecl-package sbcl-cl-unicode))
375
376(define-public cl-unicode
377 (sbcl-package->cl-source-package sbcl-cl-unicode))
378
92afa57b
RW
379(define-public sbcl-zpb-ttf
380 (package
381 (name "sbcl-zpb-ttf")
382 (version "1.0.3")
383 (source
384 (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/xach/zpb-ttf.git")
388 (commit (string-append "release-" version))))
389 (file-name (git-file-name name version))
390 (sha256
391 (base32
392 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
393 (build-system asdf-build-system/sbcl)
394 (home-page "https://github.com/xach/zpb-ttf")
395 (synopsis "TrueType font file access for Common Lisp")
396 (description
397 "ZPB-TTF is a TrueType font file parser that provides an interface for
398reading typographic metrics, glyph outlines, and other information from the
399file.")
400 (license license:bsd-2)))
401
402(define-public ecl-zpb-ttf
403 (sbcl-package->ecl-package sbcl-zpb-ttf))
404
405(define-public cl-zpb-ttf
406 (sbcl-package->cl-source-package sbcl-zpb-ttf))
407
64997728
RW
408(define-public sbcl-cl-aa
409 (package
410 (name "sbcl-cl-aa")
411 (version "0.1.5")
412 (source
413 (origin
414 (method url-fetch)
415 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
416 "files/cl-vectors-" version ".tar.gz"))
417 (sha256
418 (base32
419 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
420 (build-system asdf-build-system/sbcl)
421 (arguments '(#:asd-file "cl-aa.asd"))
422 (home-page "http://projects.tuxee.net/cl-vectors/")
423 (synopsis "Polygon rasterizer")
424 (description
425 "This is a Common Lisp library implementing the AA polygon rasterization
426algorithm from the @url{http://antigrain.com, Antigrain} project.")
427 (license license:expat)))
428
429(define-public ecl-cl-aa
430 (sbcl-package->ecl-package sbcl-cl-aa))
431
432(define-public cl-aa
433 (sbcl-package->cl-source-package sbcl-cl-aa))
434
b571dfdb
RW
435(define-public sbcl-cl-paths
436 (package
437 (inherit sbcl-cl-aa)
438 (name "sbcl-cl-paths")
439 (arguments '(#:asd-file "cl-paths.asd"))
440 (synopsis "Facilities to create and manipulate vectorial paths")
441 (description
442 "This package provides facilities to create and manipulate vectorial
443paths.")))
444
445(define-public ecl-cl-paths
446 (sbcl-package->ecl-package sbcl-cl-paths))
447
448(define-public cl-paths
449 (sbcl-package->cl-source-package sbcl-cl-paths))
450
0dbd7c3c
RW
451(define-public sbcl-cl-paths-ttf
452 (package
453 (inherit sbcl-cl-aa)
454 (name "sbcl-cl-paths-ttf")
455 (arguments '(#:asd-file "cl-paths-ttf.asd"))
456 (inputs
457 `(("cl-paths" ,sbcl-cl-paths)
458 ("zpb-ttf" ,sbcl-zpb-ttf)))
459 (synopsis "Facilities to create and manipulate vectorial paths")
460 (description
461 "This package provides facilities to create and manipulate vectorial
462paths.")))
463
464(define-public ecl-cl-paths-ttf
465 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
466
467(define-public cl-paths-ttf
468 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
469
94c621bd
RW
470(define-public sbcl-cl-vectors
471 (package
472 (inherit sbcl-cl-aa)
473 (name "sbcl-cl-vectors")
474 (arguments '(#:asd-file "cl-vectors.asd"))
475 (inputs
476 `(("cl-aa" ,sbcl-cl-aa)
477 ("cl-paths" ,sbcl-cl-paths)))
478 (synopsis "Create, transform and render anti-aliased vectorial paths")
479 (description
480 "This is a pure Common Lisp library to create, transform and render
481anti-aliased vectorial paths.")))
482
483(define-public ecl-cl-vectors
484 (sbcl-package->ecl-package sbcl-cl-vectors))
485
486(define-public cl-vectors
487 (sbcl-package->cl-source-package sbcl-cl-vectors))
488
7c62d384
RW
489(define-public sbcl-spatial-trees
490 ;; There have been no releases.
491 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
492 (revision "1"))
493 (package
494 (name "sbcl-spatial-trees")
495 (version (git-version "0" revision commit))
496 (source
497 (origin
498 (method git-fetch)
499 (uri (git-reference
500 (url "https://github.com/rpav/spatial-trees.git")
501 (commit commit)))
502 (file-name (git-file-name name version))
503 (sha256
504 (base32
505 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
506 (build-system asdf-build-system/sbcl)
507 (arguments
508 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
509 #:asd-file "spatial-trees.asd"
510 #:test-asd-file "spatial-trees.test.asd"))
511 (native-inputs
512 `(("fiveam" ,sbcl-fiveam)))
513 (home-page "https://github.com/rpav/spatial-trees")
514 (synopsis "Dynamic index data structures for spatially-extended data")
515 (description
516 "Spatial-trees is a set of dynamic index data structures for
517spatially-extended data.")
518 (license license:bsd-3))))
519
520(define-public ecl-spatial-trees
521 (sbcl-package->ecl-package sbcl-spatial-trees))
522
523(define-public cl-spatial-trees
524 (sbcl-package->cl-source-package sbcl-spatial-trees))
525
5dfde3f5
RW
526(define-public sbcl-flexichain
527 ;; There are no releases.
528 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
529 (revision "1"))
530 (package
531 (name "sbcl-flexichain")
532 (version "1.5.1")
533 (source
534 (origin
535 (method git-fetch)
536 (uri (git-reference
537 (url "https://github.com/robert-strandh/Flexichain.git")
538 (commit commit)))
539 (file-name (git-file-name name version))
540 (sha256
541 (base32
542 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
543 (build-system asdf-build-system/sbcl)
544 (home-page "https://github.com/robert-strandh/Flexichain.git")
545 (synopsis "Dynamically add elements to or remove them from sequences")
546 (description
547 "This package provides an implementation of the flexichain protocol,
548allowing client code to dynamically add elements to, and delete elements from
549a sequence (or chain) of such elements.")
550 (license license:lgpl2.1+))))
551
552(define-public ecl-flexichain
553 (sbcl-package->ecl-package sbcl-flexichain))
554
555(define-public cl-flexichain
556 (sbcl-package->cl-source-package sbcl-flexichain))
557
e088a010
RW
558(define-public sbcl-cl-pdf
559 ;; There are no releases
560 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
561 (revision "1"))
562 (package
563 (name "sbcl-cl-pdf")
564 (version (git-version "0" revision commit))
565 (source
566 (origin
567 (method git-fetch)
568 (uri (git-reference
569 (url "https://github.com/mbattyani/cl-pdf.git")
570 (commit commit)))
571 (file-name (git-file-name name version))
572 (sha256
573 (base32
574 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
575 (build-system asdf-build-system/sbcl)
576 (inputs
577 `(("iterate" ,sbcl-iterate)
578 ("zpb-ttf" ,sbcl-zpb-ttf)))
579 (home-page "https://github.com/mbattyani/cl-pdf")
580 (synopsis "Common Lisp library for generating PDF files")
581 (description
582 "CL-PDF is a cross-platform Common Lisp library for generating PDF
583files.")
584 (license license:bsd-2))))
585
586(define-public ecl-cl-pdf
587 (sbcl-package->ecl-package sbcl-cl-pdf))
588
589(define-public cl-pdf
590 (sbcl-package->cl-source-package sbcl-cl-pdf))
591
88f06fd0
PN
592(define-public sbcl-clx
593 (package
594 (name "sbcl-clx")
595 (version "0.7.5")
596 (source
597 (origin
598 (method git-fetch)
599 (uri
600 (git-reference
601 (url "https://github.com/sharplispers/clx.git")
602 (commit version)))
603 (sha256
604 (base32
605 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
606 (file-name (string-append "clx-" version))))
607 (build-system asdf-build-system/sbcl)
608 (native-inputs
609 `(("fiasco" ,sbcl-fiasco)))
f0db7779 610 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
611 (synopsis "X11 client library for Common Lisp")
612 (description "CLX is an X11 client library for Common Lisp. The code was
613originally taken from a CMUCL distribution, was modified somewhat in order to
614make it compile and run under SBCL, then a selection of patches were added
615from other CLXes around the net.")
616 (license license:x11)))
617
618(define-public cl-clx
619 (sbcl-package->cl-source-package sbcl-clx))
620
621(define-public ecl-clx
622 (sbcl-package->ecl-package sbcl-clx))
623
1fbd1b4c
OP
624(define-public sbcl-clx-truetype
625 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
626 (revision "1"))
627 (package
628 (name "sbcl-clx-truetype")
629 (version (git-version "0.0.1" revision commit))
630 (source
631 (origin
632 (method git-fetch)
633 (uri (git-reference
634 (url "https://github.com/l04m33/clx-truetype")
635 (commit commit)))
636 (file-name (git-file-name name version))
637 (sha256
638 (base32
639 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
640 (modules '((guix build utils)))
641 (snippet
642 '(begin
643 (substitute* "package.lisp"
644 ((":export") ":export\n :+font-cache-filename+"))
645 #t))))
646 (build-system asdf-build-system/sbcl)
647 (inputs
648 `(("clx" ,sbcl-clx)
649 ("zpb-ttf" ,sbcl-zpb-ttf)
650 ("cl-vectors" ,sbcl-cl-vectors)
651 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
652 ("cl-fad" ,sbcl-cl-fad)
653 ("cl-store" ,sbcl-cl-store)
654 ("trivial-features" ,sbcl-trivial-features)))
655 (home-page "https://github.com/l04m33/clx-truetype")
656 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
657 (description "CLX-TrueType is pure common lisp solution for
658antialiased TrueType font rendering using CLX and XRender extension.")
659 (license license:expat))))
660
88f06fd0
PN
661(define-public sbcl-cl-ppcre-unicode
662 (package (inherit sbcl-cl-ppcre)
663 (name "sbcl-cl-ppcre-unicode")
664 (arguments
665 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
666 #:asd-file "cl-ppcre-unicode.asd"))
667 (inputs
668 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
669 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
670
54dc3ba2
GLV
671(define-public ecl-cl-ppcre-unicode
672 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
673
88f06fd0
PN
674;; The slynk that users expect to install includes all of slynk's contrib
675;; modules. Therefore, we build the base module and all contribs first; then
676;; we expose the union of these as `sbcl-slynk'. The following variable
677;; describes the base module.
678(define sbcl-slynk-boot0
679 (let ((revision "2")
680 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
681 (package
682 (name "sbcl-slynk-boot0")
683 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
684 (source
685 (origin
686 (method git-fetch)
687 (uri
688 (git-reference
689 (url "https://github.com/joaotavora/sly.git")
690 (commit commit)))
691 (sha256
692 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
693 (file-name (string-append "slynk-" version "-checkout"))
694 (modules '((guix build utils)
695 (ice-9 ftw)))
696 (snippet
697 '(begin
698 ;; Move the contribs into the main source directory for easier
699 ;; access
700 (substitute* "slynk/slynk.asd"
701 (("\\.\\./contrib")
702 "contrib")
703 (("\\(defsystem :slynk/util")
704 "(defsystem :slynk/util :depends-on (:slynk)")
705 ((":depends-on \\(:slynk :slynk/util\\)")
706 ":depends-on (:slynk :slynk-util)"))
707 (substitute* "contrib/slynk-trace-dialog.lisp"
708 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
709 "nil"))
710 (substitute* "contrib/slynk-profiler.lisp"
711 (("slynk:to-line")
712 "slynk-pprint-to-line"))
713 (substitute* "contrib/slynk-fancy-inspector.lisp"
714 (("slynk/util") "slynk-util")
715 ((":compile-toplevel :load-toplevel") ""))
716 (rename-file "contrib" "slynk/contrib")
717 ;; Move slynk's contents into the base directory for easier
718 ;; access
719 (for-each (lambda (file)
720 (unless (string-prefix? "." file)
721 (rename-file (string-append "slynk/" file)
722 (string-append "./" (basename file)))))
723 (scandir "slynk"))
724 #t))))
725 (build-system asdf-build-system/sbcl)
726 (arguments
727 `(#:tests? #f ; No test suite
728 #:asd-system-name "slynk"))
729 (synopsis "Common Lisp IDE for Emacs")
730 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
731It also features a completely redesigned REPL based on Emacs's own
732full-featured comint.el, live code annotations, and a consistent interactive
733button interface. Everything can be copied to the REPL. One can create
734multiple inspectors with independent history.")
735 (home-page "https://github.com/joaotavora/sly")
736 (license license:public-domain)
737 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
738
739(define-public cl-slynk
740 (package
741 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
742 (name "cl-slynk")))
743
744(define ecl-slynk-boot0
745 (sbcl-package->ecl-package sbcl-slynk-boot0))
746
747(define sbcl-slynk-arglists
748 (package
749 (inherit sbcl-slynk-boot0)
750 (name "sbcl-slynk-arglists")
751 (inputs `(("slynk" ,sbcl-slynk-boot0)))
752 (arguments
753 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
754 ((#:asd-file _ "") "slynk.asd")
755 ((#:asd-system-name _ #f) "slynk/arglists")))))
756
757(define ecl-slynk-arglists
758 (sbcl-package->ecl-package sbcl-slynk-arglists))
759
760(define sbcl-slynk-util
761 (package
762 (inherit sbcl-slynk-boot0)
763 (name "sbcl-slynk-util")
764 (inputs `(("slynk" ,sbcl-slynk-boot0)))
765 (arguments
766 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
767 ((#:asd-file _ "") "slynk.asd")
768 ((#:asd-system-name _ #f) "slynk/util")))))
769
770(define ecl-slynk-util
771 (sbcl-package->ecl-package sbcl-slynk-util))
772
773(define sbcl-slynk-fancy-inspector
774 (package
775 (inherit sbcl-slynk-arglists)
776 (name "sbcl-slynk-fancy-inspector")
777 (inputs `(("slynk-util" ,sbcl-slynk-util)
778 ,@(package-inputs sbcl-slynk-arglists)))
779 (arguments
780 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
781 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
782
783(define ecl-slynk-fancy-inspector
784 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
785
786(define sbcl-slynk-package-fu
787 (package
788 (inherit sbcl-slynk-arglists)
789 (name "sbcl-slynk-package-fu")
790 (arguments
791 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
792 ((#:asd-system-name _ #f) "slynk/package-fu")))))
793
794(define ecl-slynk-package-fu
795 (sbcl-package->ecl-package sbcl-slynk-package-fu))
796
797(define sbcl-slynk-mrepl
798 (package
799 (inherit sbcl-slynk-fancy-inspector)
800 (name "sbcl-slynk-mrepl")
801 (arguments
802 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
803 ((#:asd-system-name _ #f) "slynk/mrepl")))))
804
805(define ecl-slynk-mrepl
806 (sbcl-package->ecl-package sbcl-slynk-mrepl))
807
808(define sbcl-slynk-trace-dialog
809 (package
810 (inherit sbcl-slynk-arglists)
811 (name "sbcl-slynk-trace-dialog")
812 (arguments
813 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
814 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
815
816(define ecl-slynk-trace-dialog
817 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
818
819(define sbcl-slynk-profiler
820 (package
821 (inherit sbcl-slynk-arglists)
822 (name "sbcl-slynk-profiler")
823 (arguments
824 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
825 ((#:asd-system-name _ #f) "slynk/profiler")))))
826
827(define ecl-slynk-profiler
828 (sbcl-package->ecl-package sbcl-slynk-profiler))
829
830(define sbcl-slynk-stickers
831 (package
832 (inherit sbcl-slynk-arglists)
833 (name "sbcl-slynk-stickers")
834 (arguments
835 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
836 ((#:asd-system-name _ #f) "slynk/stickers")))))
837
838(define ecl-slynk-stickers
839 (sbcl-package->ecl-package sbcl-slynk-stickers))
840
841(define sbcl-slynk-indentation
842 (package
843 (inherit sbcl-slynk-arglists)
844 (name "sbcl-slynk-indentation")
845 (arguments
846 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
847 ((#:asd-system-name _ #f) "slynk/indentation")))))
848
849(define ecl-slynk-indentation
850 (sbcl-package->ecl-package sbcl-slynk-indentation))
851
852(define sbcl-slynk-retro
853 (package
854 (inherit sbcl-slynk-arglists)
855 (name "sbcl-slynk-retro")
856 (arguments
857 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
858 ((#:asd-system-name _ #f) "slynk/retro")))))
859
860(define ecl-slynk-retro
861 (sbcl-package->ecl-package sbcl-slynk-retro))
862
863(define slynk-systems
864 '("slynk"
865 "slynk-util"
866 "slynk-arglists"
867 "slynk-fancy-inspector"
868 "slynk-package-fu"
869 "slynk-mrepl"
870 "slynk-profiler"
871 "slynk-trace-dialog"
872 "slynk-stickers"
873 "slynk-indentation"
874 "slynk-retro"))
875
876(define-public sbcl-slynk
877 (package
878 (inherit sbcl-slynk-boot0)
879 (name "sbcl-slynk")
880 (inputs
881 `(("slynk" ,sbcl-slynk-boot0)
882 ("slynk-util" ,sbcl-slynk-util)
883 ("slynk-arglists" ,sbcl-slynk-arglists)
884 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
885 ("slynk-package-fu" ,sbcl-slynk-package-fu)
886 ("slynk-mrepl" ,sbcl-slynk-mrepl)
887 ("slynk-profiler" ,sbcl-slynk-profiler)
888 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
889 ("slynk-stickers" ,sbcl-slynk-stickers)
890 ("slynk-indentation" ,sbcl-slynk-indentation)
891 ("slynk-retro" ,sbcl-slynk-retro)))
892 (native-inputs `(("sbcl" ,sbcl)))
893 (build-system trivial-build-system)
894 (source #f)
895 (outputs '("out" "image"))
896 (arguments
897 `(#:modules ((guix build union)
898 (guix build utils)
899 (guix build lisp-utils))
900 #:builder
901 (begin
902 (use-modules (ice-9 match)
903 (srfi srfi-1)
904 (guix build union)
905 (guix build lisp-utils))
906
907 (union-build
908 (assoc-ref %outputs "out")
909 (filter-map
910 (match-lambda
911 ((name . path)
912 (if (string-prefix? "slynk" name) path #f)))
913 %build-inputs))
914
915 (prepend-to-source-registry
916 (string-append (assoc-ref %outputs "out") "//"))
917
918 (parameterize ((%lisp-type "sbcl")
919 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
920 "/bin/sbcl")))
921 (build-image (string-append
922 (assoc-ref %outputs "image")
923 "/bin/slynk")
924 %outputs
925 #:dependencies ',slynk-systems))
926 #t)))))
927
928(define-public ecl-slynk
929 (package
930 (inherit sbcl-slynk)
931 (name "ecl-slynk")
932 (inputs
933 (map (match-lambda
934 ((name pkg . _)
935 (list name (sbcl-package->ecl-package pkg))))
936 (package-inputs sbcl-slynk)))
937 (native-inputs '())
938 (outputs '("out"))
939 (arguments
940 '(#:modules ((guix build union))
941 #:builder
942 (begin
943 (use-modules (ice-9 match)
944 (guix build union))
945 (match %build-inputs
946 (((names . paths) ...)
947 (union-build (assoc-ref %outputs "out")
948 paths)
949 #t)))))))
950
951(define-public sbcl-parse-js
952 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
953 (revision "1"))
954 (package
955 (name "sbcl-parse-js")
956 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
957 (source
958 (origin
959 (method git-fetch)
960 (uri (git-reference
961 (url "http://marijn.haverbeke.nl/git/parse-js")
962 (commit commit)))
963 (file-name (string-append name "-" commit "-checkout"))
964 (sha256
965 (base32
966 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
967 (build-system asdf-build-system/sbcl)
9ca4c654 968 (home-page "https://marijnhaverbeke.nl/parse-js/")
88f06fd0
PN
969 (synopsis "Parse JavaScript")
970 (description "Parse-js is a Common Lisp package for parsing
971JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
972 (license license:zlib))))
973
974(define-public cl-parse-js
975 (sbcl-package->cl-source-package sbcl-parse-js))
976
977(define-public sbcl-parse-number
978 (package
979 (name "sbcl-parse-number")
980 (version "1.7")
981 (source
982 (origin
983 (method git-fetch)
984 (uri (git-reference
985 (url "https://github.com/sharplispers/parse-number/")
986 (commit (string-append "v" version))))
987 (file-name (git-file-name name version))
988 (sha256
989 (base32
990 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
991 (build-system asdf-build-system/sbcl)
fed4ff33 992 (home-page "https://www.cliki.net/PARSE-NUMBER")
88f06fd0
PN
993 (synopsis "Parse numbers")
994 (description "@code{parse-number} is a library of functions for parsing
995strings into one of the standard Common Lisp number types without using the
996reader. @code{parse-number} accepts an arbitrary string and attempts to parse
997the string into one of the standard Common Lisp number types, if possible, or
998else @code{parse-number} signals an error of type @code{invalid-number}.")
999 (license license:bsd-3)))
1000
1001(define-public cl-parse-number
1002 (sbcl-package->cl-source-package sbcl-parse-number))
1003
1004(define-public sbcl-iterate
1005 (package
1006 (name "sbcl-iterate")
f36ec871 1007 (version "1.5")
88f06fd0
PN
1008 (source
1009 (origin
1010 (method url-fetch)
f36ec871
GLV
1011 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1012 "iterate-" version ".tar.gz"))
88f06fd0
PN
1013 (sha256
1014 (base32
f36ec871 1015 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
1016 (build-system asdf-build-system/sbcl)
1017 (native-inputs
1018 `(("rt" ,sbcl-rt)))
1019 (home-page "https://common-lisp.net/project/iterate/")
1020 (synopsis "Iteration construct for Common Lisp")
1021 (description "@code{iterate} is an iteration construct for Common Lisp.
1022It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1023
1024@itemize
1025@item it is extensible,
1026@item it helps editors like Emacs indent iterate forms by having a more
1027 lisp-like syntax, and
1028@item it isn't part of the ANSI standard for Common Lisp.
1029@end itemize\n")
1030 (license license:expat)))
1031
1032(define-public cl-iterate
1033 (sbcl-package->cl-source-package sbcl-iterate))
1034
1035(define-public ecl-iterate
1036 (sbcl-package->ecl-package sbcl-iterate))
1037
1038(define-public sbcl-cl-uglify-js
1039 ;; There have been many bug fixes since the 2010 release.
1040 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1041 (revision "1"))
1042 (package
1043 (name "sbcl-cl-uglify-js")
1044 (version (string-append "0.1-" revision "." (string-take commit 9)))
1045 (source
1046 (origin
1047 (method git-fetch)
1048 (uri (git-reference
1049 (url "https://github.com/mishoo/cl-uglify-js.git")
1050 (commit commit)))
1051 (file-name (git-file-name name version))
1052 (sha256
1053 (base32
1054 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1055 (build-system asdf-build-system/sbcl)
1056 (inputs
1057 `(("sbcl-parse-js" ,sbcl-parse-js)
1058 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1059 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1060 ("sbcl-parse-number" ,sbcl-parse-number)
1061 ("sbcl-iterate" ,sbcl-iterate)))
1062 (home-page "https://github.com/mishoo/cl-uglify-js")
1063 (synopsis "JavaScript compressor library for Common Lisp")
1064 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1065compressor. It works on data produced by @code{parse-js} to generate a
1066@dfn{minified} version of the code. Currently it can:
1067
1068@itemize
1069@item reduce variable names (usually to single letters)
1070@item join consecutive @code{var} statements
1071@item resolve simple binary expressions
1072@item group most consecutive statements using the @code{sequence} operator (comma)
1073@item remove unnecessary blocks
1074@item convert @code{IF} expressions in various ways that result in smaller code
1075@item remove some unreachable code
1076@end itemize\n")
1077 (license license:zlib))))
1078
1079(define-public cl-uglify-js
1080 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1081
ba42da24
PN
1082(define-public uglify-js
1083 (package
1084 (inherit sbcl-cl-uglify-js)
1085 (name "uglify-js")
1086 (build-system trivial-build-system)
1087 (arguments
1088 `(#:modules ((guix build utils))
1089 #:builder
1090 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1091 (script (string-append bin "uglify-js")))
1092 (use-modules (guix build utils))
1093 (mkdir-p bin)
1094 (with-output-to-file script
1095 (lambda _
1096 (format #t "#!~a/bin/sbcl --script
1097 (require :asdf)
1098 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1099 (assoc-ref %build-inputs "sbcl")
1100 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1101 ;; FIXME: cannot use progn here because otherwise it fails to
1102 ;; find cl-uglify-js.
1103 (for-each
1104 write
1105 '(;; Quiet, please!
1106 (let ((*standard-output* (make-broadcast-stream))
1107 (*error-output* (make-broadcast-stream)))
1108 (asdf:load-system :cl-uglify-js))
1109 (let ((file (cadr *posix-argv*)))
1110 (if file
1111 (format t "~a"
1112 (cl-uglify-js:ast-gen-code
1113 (cl-uglify-js:ast-mangle
1114 (cl-uglify-js:ast-squeeze
1115 (with-open-file (in file)
1116 (parse-js:parse-js in))))
1117 :beautify nil))
1118 (progn
1119 (format *error-output*
1120 "Please provide a JavaScript file.~%")
1121 (sb-ext:exit :code 1))))))))
1122 (chmod script #o755)
1123 #t)))
1124 (inputs
1125 `(("sbcl" ,sbcl)
1126 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1127 (synopsis "JavaScript compressor")))
1128
88f06fd0
PN
1129(define-public sbcl-cl-strings
1130 (let ((revision "1")
1131 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1132 (package
1133 (name "sbcl-cl-strings")
1134 (version (git-version "0.0.0" revision commit))
1135 (source
1136 (origin
1137 (method git-fetch)
1138 (uri (git-reference
1139 (url "https://github.com/diogoalexandrefranco/cl-strings")
1140 (commit commit)))
1141 (sha256
1142 (base32
1143 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1144 (file-name (string-append "cl-strings-" version "-checkout"))))
1145 (build-system asdf-build-system/sbcl)
1146 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1147 (description
1148 "@command{cl-strings} is a small, portable, dependency-free set of
1149utilities that make it even easier to manipulate text in Common Lisp. It has
1150100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1151 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1152 (license license:expat))))
1153
1154(define-public cl-strings
1155 (sbcl-package->cl-source-package sbcl-cl-strings))
1156
1157(define-public ecl-cl-strings
1158 (sbcl-package->ecl-package sbcl-cl-strings))
1159
1160(define-public sbcl-trivial-features
1161 (package
1162 (name "sbcl-trivial-features")
1163 (version "0.8")
1164 (source
1165 (origin
1166 (method git-fetch)
1167 (uri (git-reference
1168 (url "https://github.com/trivial-features/trivial-features.git")
1169 (commit (string-append "v" version))))
1170 (file-name (git-file-name "trivial-features" version))
1171 (sha256
1172 (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9"))))
1173 (build-system asdf-build-system/sbcl)
1174 (arguments '(#:tests? #f))
aec92d0b 1175 (home-page "https://cliki.net/trivial-features")
88f06fd0
PN
1176 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1177 (description "Trivial-features ensures that @code{*FEATURES*} is
1178consistent across multiple Common Lisp implementations.")
1179 (license license:expat)))
1180
1181(define-public cl-trivial-features
1182 (sbcl-package->cl-source-package sbcl-trivial-features))
1183
1184(define-public ecl-trivial-features
1185 (sbcl-package->ecl-package sbcl-trivial-features))
1186
1187(define-public sbcl-hu.dwim.asdf
1188 (package
1189 (name "sbcl-hu.dwim.asdf")
1190 (version "20190521")
1191 (source
1192 (origin
1193 (method url-fetch)
1194 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1195 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1196 (sha256
1197 (base32
1198 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1199 (build-system asdf-build-system/sbcl)
1200 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1201 (synopsis "Extensions to ASDF")
1202 (description "Various ASDF extensions such as attached test and
1203documentation system, explicit development support, etc.")
1204 (license license:public-domain)))
1205
1206(define-public cl-hu.dwim.asdf
1207 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1208
1209(define-public ecl-hu.dwim.asdf
1210 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1211
1212(define-public sbcl-hu.dwim.stefil
1213 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1214 (package
1215 (name "sbcl-hu.dwim.stefil")
1216 (version (git-version "0.0.0" "1" commit))
1217 (source
1218 (origin
1219 (method git-fetch)
1220 (uri
1221 (git-reference
1222 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1223 (commit commit)))
1224 (sha256
1225 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1226 (file-name (git-file-name "hu.dwim.stefil" version))))
1227 (build-system asdf-build-system/sbcl)
1228 (native-inputs
1229 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1230 (inputs
1231 `(("sbcl-alexandria" ,sbcl-alexandria)))
1232 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1233 (synopsis "Simple test framework")
1234 (description "Stefil is a simple test framework for Common Lisp,
1235with a focus on interactive development.")
1236 (license license:public-domain))))
1237
1238(define-public cl-hu.dwim.stefil
1239 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1240
1241(define-public ecl-hu.dwim.stefil
1242 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1243
1244(define-public sbcl-babel
1245 (package
1246 (name "sbcl-babel")
1247 (version "0.5.0")
1248 (source
1249 (origin
1250 (method git-fetch)
1251 (uri (git-reference
1252 (url "https://github.com/cl-babel/babel.git")
1253 (commit (string-append "v" version))))
1254 (file-name (git-file-name "babel" version))
1255 (sha256
1256 (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f"))))
1257 (build-system asdf-build-system/sbcl)
1258 (native-inputs
1259 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1260 (inputs
1261 `(("sbcl-alexandria" ,sbcl-alexandria)
1262 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1263 (home-page "https://common-lisp.net/project/babel/")
1264 (synopsis "Charset encoding and decoding library")
1265 (description "Babel is a charset encoding and decoding library, not unlike
1266GNU libiconv, but completely written in Common Lisp.")
1267 (license license:expat)))
1268
1269(define-public cl-babel
1270 (sbcl-package->cl-source-package sbcl-babel))
1271
1272(define-public ecl-babel
1273 (sbcl-package->ecl-package sbcl-babel))
1274
1275(define-public sbcl-cl-yacc
1276 (package
1277 (name "sbcl-cl-yacc")
1278 (version "0.3")
1279 (source
1280 (origin
1281 (method git-fetch)
1282 (uri (git-reference
1283 (url "https://github.com/jech/cl-yacc")
1284 (commit (string-append "cl-yacc-" version))))
1285 (sha256
1286 (base32
1287 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1288 (file-name (string-append "cl-yacc-" version "-checkout"))))
1289 (build-system asdf-build-system/sbcl)
1290 (arguments
1291 `(#:asd-file "yacc.asd"
1292 #:asd-system-name "yacc"))
1293 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1294 (description
1295 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1296to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1297
1298CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1299by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1300to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1301 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1302 (license license:expat)))
1303
1304(define-public cl-yacc
1305 (sbcl-package->cl-source-package sbcl-cl-yacc))
1306
1307(define-public ecl-cl-yacc
1308 (sbcl-package->ecl-package sbcl-cl-yacc))
1309
1310(define-public sbcl-jpl-util
1311 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1312 (package
1313 (name "sbcl-jpl-util")
1314 (version "20151005")
1315 (source
1316 (origin
1317 (method git-fetch)
1318 (uri (git-reference
1319 ;; Quicklisp uses this fork.
1320 (url "https://github.com/hawkir/cl-jpl-util")
1321 (commit commit)))
1322 (file-name
1323 (git-file-name "jpl-util" version))
1324 (sha256
1325 (base32
1326 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1327 (build-system asdf-build-system/sbcl)
1328 (synopsis "Collection of Common Lisp utility functions and macros")
1329 (description
1330 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1331and macros, primarily for software projects written in CL by the author.")
1332 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1333 (license license:isc))))
1334
1335(define-public cl-jpl-util
1336 (sbcl-package->cl-source-package sbcl-jpl-util))
1337
1338(define-public ecl-jpl-util
1339 (sbcl-package->ecl-package sbcl-jpl-util))
1340
1341(define-public sbcl-jpl-queues
1342 (package
1343 (name "sbcl-jpl-queues")
1344 (version "0.1")
1345 (source
1346 (origin
1347 (method url-fetch)
1348 (uri (string-append
1349 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1350 version
1351 ".tar.gz"))
1352 (sha256
1353 (base32
1354 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1355 (build-system asdf-build-system/sbcl)
1356 (inputs
1357 `(("jpl-util" ,sbcl-jpl-util)
1358 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1359 (arguments
1360 ;; Tests seem to be broken.
1361 `(#:tests? #f))
1362 (synopsis "Common Lisp library implementing a few different kinds of queues")
1363 (description
1364 "A Common Lisp library implementing a few different kinds of queues:
1365
1366@itemize
1367@item Bounded and unbounded FIFO queues.
1368@item Lossy bounded FIFO queues that drop elements when full.
1369@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1370@end itemize
1371
1372Additionally, a synchronization wrapper is provided to make any queue
1373conforming to the @command{jpl-queues} API thread-safe for lightweight
1374multithreading applications. (See Calispel for a more sophisticated CL
1375multithreaded message-passing library with timeouts and alternation among
1376several blockable channels.)")
1377 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1378 (license license:isc)))
1379
1380(define-public cl-jpl-queues
1381 (sbcl-package->cl-source-package sbcl-jpl-queues))
1382
1383(define-public ecl-jpl-queues
1384 (sbcl-package->ecl-package sbcl-jpl-queues))
1385
1386(define-public sbcl-eos
1387 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1388 (package
1389 (name "sbcl-eos")
1390 (version (git-version "0.0.0" "1" commit))
1391 (source
1392 (origin
1393 (method git-fetch)
1394 (uri (git-reference
1395 (url "https://github.com/adlai/Eos")
1396 (commit commit)))
1397 (sha256
1398 (base32
1399 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1400 (file-name (git-file-name "eos" version))))
1401 (build-system asdf-build-system/sbcl)
1402 (synopsis "Unit Testing for Common Lisp")
1403 (description
1404 "Eos was a unit testing library for Common Lisp.
1405It began as a fork of FiveAM; however, FiveAM development has continued, while
1406that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1407 (home-page "https://github.com/adlai/Eos")
1408 (license license:expat))))
1409
1410(define-public cl-eos
1411 (sbcl-package->cl-source-package sbcl-eos))
1412
1413(define-public ecl-eos
1414 (sbcl-package->ecl-package sbcl-eos))
1415
1416(define-public sbcl-esrap
1417 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1418 (package
1419 (name "sbcl-esrap")
1420 (version (git-version "0.0.0" "1" commit))
1421 (source
1422 (origin
1423 (method git-fetch)
1424 (uri (git-reference
1425 (url "https://github.com/nikodemus/esrap")
1426 (commit commit)))
1427 (sha256
1428 (base32
1429 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1430 (file-name (git-file-name "esrap" version))))
1431 (build-system asdf-build-system/sbcl)
1432 (native-inputs
1433 `(("eos" ,sbcl-eos))) ;For testing only.
1434 (inputs
1435 `(("alexandria" ,sbcl-alexandria)))
1436 (synopsis "Common Lisp packrat parser")
1437 (description
1438 "A packrat parser for Common Lisp.
1439In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1440
1441@itemize
1442@item dynamic redefinition of nonterminals
1443@item inline grammars
1444@item semantic predicates
1445@item introspective facilities (describing grammars, tracing, setting breaks)
1446@end itemize\n")
1447 (home-page "https://nikodemus.github.io/esrap/")
1448 (license license:expat))))
1449
1450(define-public cl-esrap
1451 (sbcl-package->cl-source-package sbcl-esrap))
1452
1453(define-public ecl-esrap
1454 (sbcl-package->ecl-package sbcl-esrap))
1455
1456(define-public sbcl-split-sequence
1457 (package
1458 (name "sbcl-split-sequence")
92da0588 1459 (version "2.0.0")
88f06fd0
PN
1460 (source
1461 (origin
1462 (method git-fetch)
1463 (uri (git-reference
1464 (url "https://github.com/sharplispers/split-sequence")
1465 (commit (string-append "v" version))))
1466 (sha256
1467 (base32
92da0588 1468 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1469 (file-name (git-file-name "split-sequence" version))))
1470 (build-system asdf-build-system/sbcl)
92da0588
GLV
1471 (native-inputs
1472 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1473 (synopsis "Member of the Common Lisp Utilities family of programs")
1474 (description
1475 "Splits sequence into a list of subsequences delimited by objects
1476satisfying the test.")
1477 (home-page "https://cliki.net/split-sequence")
1478 (license license:expat)))
1479
1480(define-public cl-split-sequence
1481 (sbcl-package->cl-source-package sbcl-split-sequence))
1482
1483(define-public ecl-split-sequence
1484 (sbcl-package->ecl-package sbcl-split-sequence))
1485
1486(define-public sbcl-html-encode
1487 (package
1488 (name "sbcl-html-encode")
1489 (version "1.2")
1490 (source
1491 (origin
1492 (method url-fetch)
1493 (uri (string-append
1494 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1495 version ".tgz"))
1496 (sha256
1497 (base32
1498 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1499 (file-name (string-append "colorize" version "-checkout"))))
1500 (build-system asdf-build-system/sbcl)
1501 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1502 (description
1503 "A library for encoding text in various web-savvy encodings.")
1504 (home-page "http://quickdocs.org/html-encode/")
1505 (license license:expat)))
1506
1507(define-public cl-html-encode
1508 (sbcl-package->cl-source-package sbcl-html-encode))
1509
1510(define-public ecl-html-encode
1511 (sbcl-package->ecl-package sbcl-html-encode))
1512
1513(define-public sbcl-colorize
1514 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1515 (package
1516 (name "sbcl-colorize")
1517 (version (git-version "0.0.0" "1" commit))
1518 (source
1519 (origin
1520 (method git-fetch)
1521 (uri (git-reference
1522 (url "https://github.com/kingcons/colorize")
1523 (commit commit)))
1524 (sha256
1525 (base32
1526 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1527 (file-name (git-file-name "colorize" version))))
1528 (build-system asdf-build-system/sbcl)
1529 (inputs
1530 `(("alexandria" ,sbcl-alexandria)
1531 ("split-sequence" ,sbcl-split-sequence)
1532 ("html-encode" ,sbcl-html-encode)))
1533 (synopsis "Common Lisp for syntax highlighting")
1534 (description
1535 "@command{colorize} is a Lisp library for syntax highlighting
1536supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1537C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1538 (home-page "https://github.com/kingcons/colorize")
1539 ;; TODO: Missing license?
1540 (license license:expat))))
1541
1542(define-public cl-colorize
1543 (sbcl-package->cl-source-package sbcl-colorize))
1544
1545(define-public ecl-colorize
1546 (sbcl-package->ecl-package sbcl-colorize))
1547
1548(define-public sbcl-3bmd
1549 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1550 (package
1551 (name "sbcl-3bmd")
1552 (version (git-version "0.0.0" "1" commit))
1553 (source
1554 (origin
1555 (method git-fetch)
1556 (uri (git-reference
1557 (url "https://github.com/3b/3bmd")
1558 (commit commit)))
1559 (sha256
1560 (base32
1561 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1562 (file-name (git-file-name "3bmd" version))))
1563 (build-system asdf-build-system/sbcl)
1564 (arguments
1565 ;; FIXME: We need to specify the name because the build-system thinks
1566 ;; "3" is a version marker.
1567 `(#:asd-system-name "3bmd"))
1568 (inputs
1569 `(("esrap" ,sbcl-esrap)
1570 ("split-sequence" ,sbcl-split-sequence)))
1571 (synopsis "Markdown processor in Command Lisp using esrap parser")
1572 (description
1573 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1574parsing, and grammar based on @command{peg-markdown}.")
1575 (home-page "https://github.com/3b/3bmd")
1576 (license license:expat))))
1577
1578(define-public cl-3bmd
1579 (sbcl-package->cl-source-package sbcl-3bmd))
1580
1581(define-public ecl-3bmd
1582 (sbcl-package->ecl-package sbcl-3bmd))
1583
1584(define-public sbcl-3bmd-ext-code-blocks
1585 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1586 (package
1587 (inherit sbcl-3bmd)
1588 (name "sbcl-3bmd-ext-code-blocks")
1589 (arguments
1590 `(#:asd-system-name "3bmd-ext-code-blocks"
1591 #:asd-file "3bmd-ext-code-blocks.asd"))
1592 (inputs
1593 `(("3bmd" ,sbcl-3bmd)
1594 ("colorize" ,sbcl-colorize)))
1595 (synopsis "3bmd extension which adds support for GitHub-style fenced
1596code blocks")
1597 (description
1598 "3bmd extension which adds support for GitHub-style fenced code blocks,
1599with @command{colorize} support."))))
1600
1601(define-public cl-3bmd-ext-code-blocks
1602 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1603
1604(define-public ecl-3bmd-ext-code-blocks
1605 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1606
1607(define-public sbcl-cl-fad
1608 (package
1609 (name "sbcl-cl-fad")
f0d9eaca 1610 (version "0.7.6")
88f06fd0
PN
1611 (source
1612 (origin
1613 (method git-fetch)
1614 (uri (git-reference
1615 (url "https://github.com/edicl/cl-fad/")
1616 (commit (string-append "v" version))))
1617 (sha256
1618 (base32
f0d9eaca 1619 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1620 (file-name (string-append "cl-fad" version "-checkout"))))
1621 (build-system asdf-build-system/sbcl)
1622 (inputs
1623 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1624 (synopsis "Portable pathname library for Common Lisp")
1625 (description
1626 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1627Lisp's standard pathname functions. It is intended to provide some
1628unification between current CL implementations on Windows, OS X, Linux, and
1629Unix. Most of the code was written by Peter Seibel for his book Practical
1630Common Lisp.")
1631 (home-page "https://edicl.github.io/cl-fad/")
1632 (license license:bsd-2)))
1633
1634(define-public cl-fad
1635 (sbcl-package->cl-source-package sbcl-cl-fad))
1636
1637(define-public ecl-cl-fad
1638 (sbcl-package->ecl-package sbcl-cl-fad))
1639
1640(define-public sbcl-rt
e81b0719
GLV
1641 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1642 (revision "1"))
1643 (package
1644 (name "sbcl-rt")
1645 (version (git-version "1990.12.19" revision commit))
1646 (source
1647 (origin
1648 (method git-fetch)
1649 (uri (git-reference
1650 (url "http://git.kpe.io/rt.git")
1651 (commit commit)))
1652 (file-name (git-file-name name version))
1653 (sha256
1654 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1655 (build-system asdf-build-system/sbcl)
1656 (synopsis "MIT Regression Tester")
1657 (description
1658 "RT provides a framework for writing regression test suites.")
1659 (home-page "https://www.cliki.net/rt")
1660 (license license:expat))))
88f06fd0
PN
1661
1662(define-public cl-rt
1663 (sbcl-package->cl-source-package sbcl-rt))
1664
1665(define-public ecl-rt
1666 (sbcl-package->ecl-package sbcl-rt))
1667
1668(define-public sbcl-nibbles
1669 (package
1670 (name "sbcl-nibbles")
1671 (version "0.14")
1672 (source
1673 (origin
1674 (method git-fetch)
1675 (uri (git-reference
1676 (url "https://github.com/sharplispers/nibbles/")
1677 (commit (string-append "v" version))))
1678 (sha256
1679 (base32
1680 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1681 (file-name (git-file-name "nibbles" version))))
1682 (build-system asdf-build-system/sbcl)
1683 (native-inputs
1684 ;; Tests only.
1685 `(("rt" ,sbcl-rt)))
1686 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1687 (description
1688 "When dealing with network protocols and file formats, it's common to
1689have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1690flavors. Common Lisp sort of supports this by specifying :element-type for
1691streams, but that facility is underspecified and there's nothing similar for
1692read/write from octet vectors. What most people wind up doing is rolling their
1693own small facility for their particular needs and calling it a day.
1694
1695This library attempts to be comprehensive and centralize such
1696facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1697vectors in signed or unsigned flavors are provided; these functions are also
1698SETFable. Since it's sometimes desirable to read/write directly from streams,
1699functions for doing so are also provided. On some implementations,
1700reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1701also be supported.")
1702 (home-page "https://github.com/sharplispers/nibbles")
1703 (license license:bsd-3)))
1704
1705(define-public cl-nibbles
1706 (sbcl-package->cl-source-package sbcl-nibbles))
1707
1708(define-public ecl-nibbles
1709 (sbcl-package->ecl-package sbcl-nibbles))
1710
1711(define-public sbcl-ironclad
1712 (package
1713 (name "sbcl-ironclad")
d589f0d2 1714 (version "0.48")
88f06fd0
PN
1715 (source
1716 (origin
1717 (method git-fetch)
1718 (uri (git-reference
1719 (url "https://github.com/sharplispers/ironclad/")
1720 (commit (string-append "v" version))))
1721 (sha256
1722 (base32
d589f0d2 1723 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
88f06fd0
PN
1724 (file-name (git-file-name name version))))
1725 (build-system asdf-build-system/sbcl)
1726 (native-inputs
1727 ;; Tests only.
1728 `(("rt" ,sbcl-rt)))
1729 (inputs
1730 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
d589f0d2 1731 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
1732 (synopsis "Cryptographic toolkit written in Common Lisp")
1733 (description
1734 "Ironclad is a cryptography library written entirely in Common Lisp.
1735It includes support for several popular ciphers, digests, MACs and public key
1736cryptography algorithms. For several implementations that support Gray
1737streams, support is included for convenient stream wrappers.")
1738 (home-page "https://github.com/sharplispers/ironclad")
1739 (license license:bsd-3)))
1740
1741(define-public cl-ironclad
1742 (sbcl-package->cl-source-package sbcl-ironclad))
1743
1744(define-public ecl-ironclad
1745 (sbcl-package->ecl-package sbcl-ironclad))
1746
1747(define-public sbcl-named-readtables
1748 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1749 (revision "1"))
1750 (package
1751 (name "sbcl-named-readtables")
1752 (version (string-append "0.9-" revision "." (string-take commit 7)))
1753 (source
1754 (origin
1755 (method git-fetch)
1756 (uri (git-reference
1757 (url "https://github.com/melisgl/named-readtables.git")
1758 (commit commit)))
1759 (sha256
1760 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1761 (file-name (git-file-name "named-readtables" version))))
1762 (build-system asdf-build-system/sbcl)
1763 (arguments
1764 ;; Tests seem to be broken.
1765 `(#:tests? #f))
1766 (home-page "https://github.com/melisgl/named-readtables/")
1767 (synopsis "Library that creates a namespace for named readtables")
1768 (description "Named readtables is a library that creates a namespace for
1769named readtables, which is akin to package namespacing in Common Lisp.")
1770 (license license:bsd-3))))
1771
1772(define-public cl-named-readtables
1773 (sbcl-package->cl-source-package sbcl-named-readtables))
1774
1775(define-public ecl-named-readtables
1776 (sbcl-package->ecl-package sbcl-named-readtables))
1777
1778(define-public sbcl-pythonic-string-reader
1779 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1780 (package
1781 (name "sbcl-pythonic-string-reader")
1782 (version (git-version "0.0.0" "1" commit))
1783 (source
1784 (origin
1785 (method git-fetch)
1786 (uri (git-reference
1787 (url "https://github.com/smithzvk/pythonic-string-reader/")
1788 (commit commit)))
1789 (sha256
1790 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1791 (file-name (git-file-name "pythonic-string-reader" version))))
1792 (build-system asdf-build-system/sbcl)
1793 (inputs
1794 `(("named-readtables" ,sbcl-named-readtables)))
1795 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1796 (synopsis "Read table modification inspired by Python's three quote strings")
1797 (description "This piece of code sets up some reader macros that make it
1798simpler to input string literals which contain backslashes and double quotes
1799This is very useful for writing complicated docstrings and, as it turns out,
1800writing code that contains string literals that contain code themselves.")
1801 (license license:bsd-3))))
1802
1803(define-public cl-pythonic-string-reader
1804 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1805
1806(define-public ecl-pythonic-string-reader
1807 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1808
1809;; SLIME does not have a ASDF system definition to build all of Swank. As a
1810;; result, the asdf-build-system/sbcl will produce an almost empty package.
1811;; Some work was done to fix this at
1812;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1813;; and is now lagging behind. Building SBCL fasls might not be worth the
1814;; hassle, so let's just ship the source then.
1815(define-public cl-slime-swank
1816 (package
1817 (name "cl-slime-swank")
1818 (version "2.24")
1819 (source
1820 (origin
1821 (file-name (string-append name "-" version ".tar.gz"))
1822 (method git-fetch)
1823 (uri (git-reference
1824 (url "https://github.com/slime/slime/")
1825 (commit (string-append "v" version))))
1826 (sha256
1827 (base32
1828 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1829 (build-system asdf-build-system/source)
1830 (home-page "https://github.com/slime/slime")
1831 (synopsis "Common Lisp Swank server")
1832 (description
1833 "This is only useful if you want to start a Swank server in a Lisp
1834processes that doesn't run under Emacs. Lisp processes created by
1835@command{M-x slime} automatically start the server.")
1836 (license (list license:gpl2+ license:public-domain))))
1837
1838(define-public sbcl-slime-swank
1839 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1840
1841(define-public sbcl-mgl-pax
1842 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1843 (package
1844 (name "sbcl-mgl-pax")
1845 (version (git-version "0.0.0" "1" commit))
1846 (source
1847 (origin
1848 (method git-fetch)
1849 (uri (git-reference
1850 (url "https://github.com/melisgl/mgl-pax")
1851 (commit commit)))
1852 (sha256
1853 (base32
1854 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1855 (file-name (git-file-name "mgl-pax" version))))
1856 (build-system asdf-build-system/sbcl)
1857 (inputs
1858 `(("3bmd" ,sbcl-3bmd)
1859 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1860 ("babel" ,sbcl-babel)
1861 ("cl-fad" ,sbcl-cl-fad)
1862 ("ironclad" ,sbcl-ironclad)
1863 ("named-readtables" ,sbcl-named-readtables)
7e23dcc7
GLV
1864 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1865 (propagated-inputs
1866 ;; Packages having mgl-pax as input complain that it can't find
1867 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1868 `(("swank" ,cl-slime-swank)))
88f06fd0
PN
1869 (synopsis "Exploratory programming environment and documentation generator")
1870 (description
1871 "PAX provides an extremely poor man's Explorable Programming
1872environment. Narrative primarily lives in so called sections that mix markdown
1873docstrings with references to functions, variables, etc, all of which should
1874probably have their own docstrings.
1875
1876The primary focus is on making code easily explorable by using SLIME's
1877@command{M-.} (@command{slime-edit-definition}). See how to enable some
1878fanciness in Emacs Integration. Generating documentation from sections and all
1879the referenced items in Markdown or HTML format is also implemented.
1880
1881With the simplistic tools provided, one may accomplish similar effects as with
1882Literate Programming, but documentation is generated from code, not vice versa
1883and there is no support for chunking yet. Code is first, code must look
1884pretty, documentation is code.")
1885 (home-page "http://quotenil.com/")
1886 (license license:expat))))
1887
1888(define-public cl-mgl-pax
1889 (sbcl-package->cl-source-package sbcl-mgl-pax))
1890
1891(define-public ecl-mgl-pax
1892 (sbcl-package->ecl-package sbcl-mgl-pax))
1893
1894(define-public sbcl-lisp-unit
1895 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1896 (package
1897 (name "sbcl-lisp-unit")
1898 (version (git-version "0.0.0" "1" commit))
1899 (source
1900 (origin
1901 (method git-fetch)
1902 (uri (git-reference
1903 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1904 (commit commit)))
1905 (sha256
1906 (base32
1907 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1908 (file-name (git-file-name "lisp-unit" version))))
1909 (build-system asdf-build-system/sbcl)
1910 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1911 (description
1912 "@command{lisp-unit} is a Common Lisp library that supports unit
1913testing. It is an extension of the library written by Chris Riesbeck.")
1914 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1915 (license license:expat))))
1916
1917(define-public cl-lisp-unit
1918 (sbcl-package->cl-source-package sbcl-lisp-unit))
1919
1920(define-public ecl-lisp-unit
1921 (sbcl-package->ecl-package sbcl-lisp-unit))
1922
1923(define-public sbcl-anaphora
1924 (package
1925 (name "sbcl-anaphora")
1926 (version "0.9.6")
1927 (source
1928 (origin
1929 (method git-fetch)
1930 (uri (git-reference
1931 (url "https://github.com/tokenrove/anaphora")
1932 (commit version)))
1933 (sha256
1934 (base32
1935 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1936 (file-name (git-file-name "anaphora" version))))
1937 (build-system asdf-build-system/sbcl)
1938 (native-inputs
1939 `(("rt" ,sbcl-rt)))
1940 (synopsis "The anaphoric macro collection from Hell")
1941 (description
1942 "Anaphora is the anaphoric macro collection from Hell: it includes many
1943new fiends in addition to old friends like @command{aif} and
1944@command{awhen}.")
1945 (home-page "https://github.com/tokenrove/anaphora")
1946 (license license:public-domain)))
1947
1948(define-public cl-anaphora
1949 (sbcl-package->cl-source-package sbcl-anaphora))
1950
1951(define-public ecl-anaphora
1952 (sbcl-package->ecl-package sbcl-anaphora))
1953
1954(define-public sbcl-lift
1955 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1956 (package
1957 (name "sbcl-lift")
1958 (version (git-version "1.7.1" "1" commit))
1959 (source
1960 (origin
1961 (method git-fetch)
1962 (uri (git-reference
1963 (url "https://github.com/gwkkwg/lift")
1964 (commit commit)))
1965 (sha256
1966 (base32
1967 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1968 (file-name (git-file-name "lift" version))
1969 (modules '((guix build utils)))
1970 (snippet
1971 ;; Don't keep the bundled website
1972 `(begin
1973 (delete-file-recursively "website")
1974 #t))))
1975 (build-system asdf-build-system/sbcl)
1976 (arguments
1977 ;; The tests require a debugger, but we run with the debugger disabled.
1978 '(#:tests? #f))
1979 (synopsis "LIsp Framework for Testing")
1980 (description
1981 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1982Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1983testcases are organized into hierarchical testsuites each of which can have
1984its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1985supports randomized testing, benchmarking, profiling, and reporting.")
1986 (home-page "https://github.com/gwkkwg/lift")
1987 (license license:expat))))
1988
1989(define-public cl-lift
1990 (sbcl-package->cl-source-package sbcl-lift))
1991
1992(define-public ecl-lift
1993 (sbcl-package->ecl-package sbcl-lift))
1994
1995(define-public sbcl-let-plus
1996 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1997 (package
1998 (name "sbcl-let-plus")
1999 (version (git-version "0.0.0" "1" commit))
2000 (source
2001 (origin
2002 (method git-fetch)
2003 (uri (git-reference
2004 (url "https://github.com/sharplispers/let-plus")
2005 (commit commit)))
2006 (sha256
2007 (base32
2008 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2009 (file-name (git-file-name "let-plus" version))))
2010 (build-system asdf-build-system/sbcl)
2011 (inputs
2012 `(("alexandria" ,sbcl-alexandria)
2013 ("anaphora" ,sbcl-anaphora)))
2014 (native-inputs
2015 `(("lift" ,sbcl-lift)))
2016 (synopsis "Destructuring extension of let*")
2017 (description
2018 "This library implements the let+ macro, which is a dectructuring
2019extension of let*. It features:
2020
2021@itemize
2022@item Clean, consistent syntax and small implementation (less than 300 LOC,
2023not counting tests)
2024@item Placeholder macros allow editor hints and syntax highlighting
2025@item @command{&ign} for ignored values (in forms where that makes sense)
2026@item Very easy to extend
2027@end itemize\n")
2028 (home-page "https://github.com/sharplispers/let-plus")
2029 (license license:boost1.0))))
2030
2031(define-public cl-let-plus
2032 (sbcl-package->cl-source-package sbcl-let-plus))
2033
2034(define-public ecl-let-plus
2035 (sbcl-package->ecl-package sbcl-let-plus))
2036
2037(define-public sbcl-cl-colors
2038 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2039 (package
2040 (name "sbcl-cl-colors")
2041 (version (git-version "0.0.0" "1" commit))
2042 (source
2043 (origin
2044 (method git-fetch)
2045 (uri (git-reference
2046 (url "https://github.com/tpapp/cl-colors")
2047 (commit commit)))
2048 (sha256
2049 (base32
2050 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2051 (file-name (git-file-name "cl-colors" version))))
2052 (build-system asdf-build-system/sbcl)
2053 (inputs
2054 `(("alexandria" ,sbcl-alexandria)
2055 ("let-plus" ,sbcl-let-plus)))
2056 (synopsis "Simple color library for Common Lisp")
2057 (description
2058 "This is a very simple color library for Common Lisp, providing
2059
2060@itemize
2061@item Types for representing colors in HSV and RGB spaces.
2062@item Simple conversion functions between the above types (and also
2063hexadecimal representation for RGB).
2064@item Some predefined colors (currently X11 color names – of course the
2065library does not depend on X11).Because color in your terminal is nice.
2066@end itemize
2067
2068This library is no longer supported by its author.")
2069 (home-page "https://github.com/tpapp/cl-colors")
2070 (license license:boost1.0))))
2071
2072(define-public cl-colors
2073 (sbcl-package->cl-source-package sbcl-cl-colors))
2074
2075(define-public ecl-cl-colors
2076 (sbcl-package->ecl-package sbcl-cl-colors))
2077
2078(define-public sbcl-cl-ansi-text
2079 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2080 (package
2081 (name "sbcl-cl-ansi-text")
2082 (version (git-version "1.0.0" "1" commit))
2083 (source
2084 (origin
2085 (method git-fetch)
2086 (uri (git-reference
2087 (url "https://github.com/pnathan/cl-ansi-text")
2088 (commit commit)))
2089 (sha256
2090 (base32
2091 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2092 (file-name (git-file-name "cl-ansi-text" version))))
2093 (build-system asdf-build-system/sbcl)
2094 (inputs
2095 `(("alexandria" ,sbcl-alexandria)
2096 ("cl-colors" ,sbcl-cl-colors)))
2097 (native-inputs
2098 `(("fiveam" ,sbcl-fiveam)))
2099 (synopsis "ANSI terminal color implementation for Common Lisp")
2100 (description
2101 "@command{cl-ansi-text} provides utilities which enable printing to an
2102ANSI terminal with colored text. It provides the macro @command{with-color}
2103which causes everything printed in the body to be displayed with the provided
2104color. It further provides functions which will print the argument with the
2105named color.")
2106 (home-page "https://github.com/pnathan/cl-ansi-text")
2107 (license license:llgpl))))
2108
2109(define-public cl-ansi-text
2110 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2111
2112(define-public ecl-cl-ansi-text
2113 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2114
2115(define-public sbcl-prove-asdf
2116 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2117 (package
2118 (name "sbcl-prove-asdf")
2119 (version (git-version "1.0.0" "1" commit))
2120 (source
2121 (origin
2122 (method git-fetch)
2123 (uri (git-reference
2124 (url "https://github.com/fukamachi/prove")
2125 (commit commit)))
2126 (sha256
2127 (base32
2128 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2129 (file-name (git-file-name "prove" version))))
2130 (build-system asdf-build-system/sbcl)
2131 (arguments
2132 `(#:asd-file "prove-asdf.asd"))
2133 (synopsis "Test requirement for the Common Lisp 'prove' library")
2134 (description
2135 "Test requirement for the Common Lisp @command{prove} library.")
2136 (home-page "https://github.com/fukamachi/prove")
2137 (license license:expat))))
2138
2139(define-public cl-prove-asdf
2140 (sbcl-package->cl-source-package sbcl-prove-asdf))
2141
2142(define-public ecl-prove-asdf
2143 (sbcl-package->ecl-package sbcl-prove-asdf))
2144
2145(define-public sbcl-prove
2146 (package
2147 (inherit sbcl-prove-asdf)
2148 (name "sbcl-prove")
2149 (inputs
2150 `(("alexandria" ,sbcl-alexandria)
2151 ("cl-ppcre" ,sbcl-cl-ppcre)
2152 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2153 (native-inputs
2154 `(("prove-asdf" ,sbcl-prove-asdf)))
2155 (arguments
2156 `(#:asd-file "prove.asd"))
2157 (synopsis "Yet another unit testing framework for Common Lisp")
2158 (description
2159 "This project was originally called @command{cl-test-more}.
2160@command{prove} is yet another unit testing framework for Common Lisp. The
2161advantages of @command{prove} are:
2162
2163@itemize
2164@item Various simple functions for testing and informative error messages
2165@item ASDF integration
2166@item Extensible test reporters
2167@item Colorizes the report if it's available (note for SLIME)
2168@item Reports test durations
2169@end itemize\n")))
2170
2171(define-public cl-prove
2172 (sbcl-package->cl-source-package sbcl-prove))
2173
2174(define-public ecl-prove
2175 (sbcl-package->ecl-package sbcl-prove))
2176
2177(define-public sbcl-proc-parse
2178 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2179 (package
2180 (name "sbcl-proc-parse")
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/fukamachi/proc-parse")
2187 (commit commit)))
2188 (sha256
2189 (base32
2190 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
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 "Procedural vector parser")
2203 (description
2204 "This is a string/octets parser library for Common Lisp with speed and
2205readability in mind. Unlike other libraries, the code is not a
2206pattern-matching-like, but a char-by-char procedural parser.")
2207 (home-page "https://github.com/fukamachi/proc-parse")
2208 (license license:bsd-2))))
2209
2210(define-public cl-proc-parse
2211 (sbcl-package->cl-source-package sbcl-proc-parse))
2212
2213(define-public ecl-proc-parse
2214 (sbcl-package->ecl-package sbcl-proc-parse))
2215
2216(define-public sbcl-parse-float
2217 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2218 (package
2219 (name "sbcl-parse-float")
2220 (version (git-version "0.0.0" "1" commit))
2221 (source
2222 (origin
2223 (method git-fetch)
2224 (uri (git-reference
2225 (url "https://github.com/soemraws/parse-float")
2226 (commit commit)))
2227 (sha256
2228 (base32
2229 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2230 (file-name (git-file-name "proc-parse" version))))
2231 (build-system asdf-build-system/sbcl)
2232 (inputs
2233 `(("alexandria" ,sbcl-alexandria)
2234 ("babel" ,sbcl-babel)))
2235 (native-inputs
2236 `(("prove" ,sbcl-prove)
2237 ("prove-asdf" ,sbcl-prove-asdf)))
2238 (arguments
2239 ;; TODO: Tests don't find "proc-parse-test", why?
2240 `(#:tests? #f))
2241 (synopsis "Parse a floating point value from a string in Common Lisp")
2242 (description
2243 "This package exports the following function to parse floating-point
2244values from a string in Common Lisp.")
2245 (home-page "https://github.com/soemraws/parse-float")
2246 (license license:public-domain))))
2247
2248(define-public cl-parse-float
2249 (sbcl-package->cl-source-package sbcl-parse-float))
2250
2251(define-public ecl-parse-float
2252 (sbcl-package->ecl-package sbcl-parse-float))
2253
2254(define-public sbcl-ascii-strings
2255 (let ((revision "1")
2256 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2257 (package
2258 (name "sbcl-ascii-strings")
2259 (version (string-append "0-" revision "." (string-take changeset 7)))
2260 (source
2261 (origin
2262 (method hg-fetch)
2263 (uri (hg-reference
2264 (url "https://bitbucket.org/vityok/cl-string-match/")
2265 (changeset changeset)))
2266 (sha256
2267 (base32
2268 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2269 (file-name (git-file-name "cl-string-match" version))))
2270 (build-system asdf-build-system/sbcl)
2271 (inputs
2272 `(("alexandria" ,sbcl-alexandria)
2273 ("babel" ,sbcl-babel)))
2274 (arguments
2275 `(#:asd-file "ascii-strings.asd"))
2276 (synopsis "Operations on ASCII strings")
2277 (description
2278 "Operations on ASCII strings. Essentially this can be any kind of
2279single-byte encoded strings.")
2280 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2281 (license license:bsd-3))))
2282
2283(define-public cl-ascii-strings
2284 (sbcl-package->cl-source-package sbcl-ascii-strings))
2285
2286(define-public ecl-ascii-strings
2287 (sbcl-package->ecl-package sbcl-ascii-strings))
2288
2289(define-public sbcl-simple-scanf
2290 (package
2291 (inherit sbcl-ascii-strings)
2292 (name "sbcl-simple-scanf")
2293 (inputs
2294 `(("alexandria" ,sbcl-alexandria)
2295 ("iterate" ,sbcl-iterate)
2296 ("proc-parse" ,sbcl-proc-parse)
2297 ("parse-float" ,sbcl-parse-float)))
2298 (arguments
2299 `(#:asd-file "simple-scanf.asd"))
2300 (synopsis "Simple scanf-like functionality implementation")
2301 (description
2302 "A simple scanf-like functionality implementation.")))
2303
2304(define-public cl-simple-scanf
2305 (sbcl-package->cl-source-package sbcl-simple-scanf))
2306
2307(define-public ecl-simple-scanf
2308 (sbcl-package->ecl-package sbcl-simple-scanf))
2309
2310(define-public sbcl-cl-string-match
2311 (package
2312 (inherit sbcl-ascii-strings)
2313 (name "sbcl-cl-string-match")
2314 (inputs
2315 `(("alexandria" ,sbcl-alexandria)
2316 ("ascii-strings" ,sbcl-ascii-strings)
2317 ("yacc" ,sbcl-cl-yacc)
2318 ("jpl-util" ,sbcl-jpl-util)
2319 ("jpl-queues" ,sbcl-jpl-queues)
2320 ("mgl-pax" ,sbcl-mgl-pax)
2321 ("iterate" ,sbcl-iterate)))
2322 ;; TODO: Tests are not evaluated properly.
2323 (native-inputs
2324 ;; For testing:
2325 `(("lisp-unit" ,sbcl-lisp-unit)
2326 ("simple-scanf" ,sbcl-simple-scanf)))
2327 (arguments
2328 `(#:tests? #f
2329 #:asd-file "cl-string-match.asd"))
2330 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2331 (description
2332 "@command{cl-strings} is a small, portable, dependency-free set of
2333utilities that make it even easier to manipulate text in Common Lisp. It has
2334100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2335
2336(define-public cl-string-match
2337 (sbcl-package->cl-source-package sbcl-cl-string-match))
2338
2339(define-public ecl-cl-string-match
2340 (sbcl-package->ecl-package sbcl-cl-string-match))
2341
2342(define-public sbcl-ptester
d9d8e3c2
GLV
2343 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2344 (revision "1"))
2345 (package
2346 (name "sbcl-ptester")
2347 (version (git-version "2.1.3" revision commit))
2348 (source
2349 (origin
2350 (method git-fetch)
2351 (uri (git-reference
2352 (url "http://git.kpe.io/ptester.git")
2353 (commit commit)))
2354 (file-name (git-file-name name version))
2355 (sha256
2356 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2357 (build-system asdf-build-system/sbcl)
2358 (home-page "http://quickdocs.org/ptester/")
2359 (synopsis "Portable test harness package")
2360 (description
2361 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2362tester module.")
d9d8e3c2 2363 (license license:llgpl))))
88f06fd0
PN
2364
2365(define-public cl-ptester
2366 (sbcl-package->cl-source-package sbcl-ptester))
2367
2368(define-public ecl-ptester
2369 (sbcl-package->ecl-package sbcl-ptester))
2370
2371(define-public sbcl-puri
ff6cf9fa
GLV
2372 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2373 (revision "1"))
2374 (package
2375 (name "sbcl-puri")
2376 (version (git-version "1.5.7" revision commit))
2377 (source
2378 (origin
2379 (method git-fetch)
2380 (uri (git-reference
2381 (url "http://git.kpe.io/puri.git")
2382 (commit commit)))
2383 (file-name (git-file-name name version))
2384 (sha256
2385 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2386 (build-system asdf-build-system/sbcl)
2387 (native-inputs
2388 `(("ptester" ,sbcl-ptester)))
2389 (home-page "http://quickdocs.org/puri/")
2390 (synopsis "Portable URI Library")
2391 (description
2392 "This is a portable Universal Resource Identifier library for Common
2393Lisp programs. It parses URI according to the RFC 2396 specification.")
2394 (license license:llgpl))))
88f06fd0
PN
2395
2396(define-public cl-puri
2397 (sbcl-package->cl-source-package sbcl-puri))
2398
2399(define-public ecl-puri
2400 (sbcl-package->ecl-package sbcl-puri))
2401
2402(define-public sbcl-queues
2403 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2404 (package
2405 (name "sbcl-queues")
2406 (version (git-version "0.0.0" "1" commit))
2407 (source
2408 (origin
2409 (method git-fetch)
2410 (uri (git-reference
2411 (url "https://github.com/oconnore/queues")
2412 (commit commit)))
2413 (file-name (git-file-name "queues" version))
2414 (sha256
2415 (base32
2416 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2417 (build-system asdf-build-system/sbcl)
2418 (home-page "https://github.com/oconnore/queues")
2419 (synopsis "Common Lisp queue library")
2420 (description
2421 "This is a simple queue library for Common Lisp with features such as
2422non-consing thread safe queues and fibonacci priority queues.")
2423 (license license:expat))))
2424
2425(define-public cl-queues
2426 (sbcl-package->cl-source-package sbcl-queues))
2427
2428(define-public ecl-queues
2429 (sbcl-package->ecl-package sbcl-queues))
2430
2431(define-public sbcl-queues.simple-queue
2432 (package
2433 (inherit sbcl-queues)
2434 (name "sbcl-queues.simple-queue")
2435 (inputs
2436 `(("sbcl-queues" ,sbcl-queues)))
2437 (arguments
2438 `(#:asd-file "queues.simple-queue.asd"))
2439 (synopsis "Simple queue implementation")
2440 (description
2441 "This is a simple queue library for Common Lisp with features such as
2442non-consing thread safe queues and fibonacci priority queues.")
2443 (license license:expat)))
2444
2445(define-public cl-queues.simple-queue
2446 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2447
2448(define-public ecl-queues.simple-queue
2449 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2450
2451(define-public sbcl-queues.simple-cqueue
2452 (package
2453 (inherit sbcl-queues)
2454 (name "sbcl-queues.simple-cqueue")
2455 (inputs
2456 `(("sbcl-queues" ,sbcl-queues)
2457 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2458 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2459 (arguments
2460 `(#:asd-file "queues.simple-cqueue.asd"))
2461 (synopsis "Thread safe queue implementation")
2462 (description
2463 "This is a simple queue library for Common Lisp with features such as
2464non-consing thread safe queues and fibonacci priority queues.")
2465 (license license:expat)))
2466
2467(define-public cl-queues.simple-cqueue
2468 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2469
2470(define-public ecl-queues.simple-cqueue
2471 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2472
2473(define-public sbcl-queues.priority-queue
2474 (package
2475 (inherit sbcl-queues)
2476 (name "sbcl-queues.priority-queue")
2477 (inputs
2478 `(("sbcl-queues" ,sbcl-queues)))
2479 (arguments
2480 `(#:asd-file "queues.priority-queue.asd"))
2481 (synopsis "Priority queue (Fibonacci) implementation")
2482 (description
2483 "This is a simple queue library for Common Lisp with features such as
2484non-consing thread safe queues and fibonacci priority queues.")
2485 (license license:expat)))
2486
2487(define-public cl-queues.priority-queue
2488 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2489
2490(define-public ecl-queues.priority-queue
2491 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2492
2493(define-public sbcl-queues.priority-cqueue
2494 (package
2495 (inherit sbcl-queues)
2496 (name "sbcl-queues.priority-cqueue")
2497 (inputs
2498 `(("sbcl-queues" ,sbcl-queues)
2499 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2500 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2501 (arguments
2502 `(#:asd-file "queues.priority-cqueue.asd"))
2503 (synopsis "Thread safe fibonacci priority queue implementation")
2504 (description
2505 "This is a simple queue library for Common Lisp with features such as
2506non-consing thread safe queues and fibonacci priority queues.")
2507 (license license:expat)))
2508
2509(define-public cl-queues.priority-cqueue
2510 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2511
2512(define-public ecl-queues.priority-cqueue
2513 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2514
2515(define sbcl-cffi-bootstrap
2516 (package
2517 (name "sbcl-cffi-bootstrap")
237d58c3 2518 (version "0.21.0")
88f06fd0
PN
2519 (source
2520 (origin
2521 (method git-fetch)
2522 (uri (git-reference
2523 (url "https://github.com/cffi/cffi.git")
2524 (commit (string-append "v" version))))
2525 (file-name (git-file-name "cffi-bootstrap" version))
2526 (sha256
237d58c3 2527 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
88f06fd0
PN
2528 (build-system asdf-build-system/sbcl)
2529 (inputs
2530 `(("libffi" ,libffi)
2531 ("alexandria" ,sbcl-alexandria)
2532 ("babel" ,sbcl-babel)
2533 ("trivial-features" ,sbcl-trivial-features)))
2534 (native-inputs
2535 `(("pkg-config" ,pkg-config)))
2536 (arguments
2537 '(#:phases
2538 (modify-phases %standard-phases
2539 (add-after 'unpack 'fix-paths
2540 (lambda* (#:key inputs #:allow-other-keys)
2541 (substitute* "libffi/libffi.lisp"
2542 (("libffi.so.6" all) (string-append
2543 (assoc-ref inputs "libffi")
2544 "/lib/" all)))
2545 (substitute* "toolchain/c-toolchain.lisp"
2546 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2547 #:asd-system-name "cffi"
2548 #:tests? #f))
2549 (home-page "https://common-lisp.net/project/cffi/")
2550 (synopsis "Common Foreign Function Interface for Common Lisp")
2551 (description "The Common Foreign Function Interface (CFFI)
2552purports to be a portable foreign function interface for Common Lisp.
2553The CFFI library is composed of a Lisp-implementation-specific backend
2554in the CFFI-SYS package, and a portable frontend in the CFFI
2555package.")
2556 (license license:expat)))
2557
2558(define-public sbcl-cffi-toolchain
2559 (package
2560 (inherit sbcl-cffi-bootstrap)
2561 (name "sbcl-cffi-toolchain")
2562 (inputs
2563 `(("libffi" ,libffi)
2564 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2565 (arguments
2566 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2567 ((#:asd-system-name _) #f)
2568 ((#:tests? _) #t)))))
2569
2570(define-public sbcl-cffi-libffi
2571 (package
2572 (inherit sbcl-cffi-toolchain)
2573 (name "sbcl-cffi-libffi")
2574 (inputs
2575 `(("cffi" ,sbcl-cffi-bootstrap)
2576 ("cffi-grovel" ,sbcl-cffi-grovel)
2577 ("trivial-features" ,sbcl-trivial-features)
2578 ("libffi" ,libffi)))))
2579
2580(define-public sbcl-cffi-grovel
2581 (package
2582 (inherit sbcl-cffi-toolchain)
2583 (name "sbcl-cffi-grovel")
2584 (inputs
2585 `(("libffi" ,libffi)
2586 ("cffi" ,sbcl-cffi-bootstrap)
2587 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2588 ("alexandria" ,sbcl-alexandria)))
2589 (arguments
2590 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2591 ((#:phases phases)
2592 `(modify-phases ,phases
2593 (add-after 'build 'install-headers
2594 (lambda* (#:key outputs #:allow-other-keys)
2595 (install-file "grovel/common.h"
2596 (string-append
2597 (assoc-ref outputs "out")
2598 "/include/grovel"))))))))))
2599
2600(define-public sbcl-cffi
2601 (package
2602 (inherit sbcl-cffi-toolchain)
2603 (name "sbcl-cffi")
2604 (inputs (package-inputs sbcl-cffi-bootstrap))
2605 (native-inputs
2606 `(("cffi-grovel" ,sbcl-cffi-grovel)
2607 ("cffi-libffi" ,sbcl-cffi-libffi)
2608 ("rt" ,sbcl-rt)
2609 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2610 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2611
2612(define-public cl-cffi
2613 (sbcl-package->cl-source-package sbcl-cffi))
2614
25cefc87
GLV
2615(define-public sbcl-cffi-uffi-compat
2616 (package
2617 (inherit sbcl-cffi-toolchain)
2618 (name "sbcl-cffi-uffi-compat")
2619 (native-inputs
2620 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2621 (inputs
2622 `(("cffi" ,sbcl-cffi)))
2623 (synopsis "UFFI Compatibility Layer for CFFI")))
2624
2625(define-public cl-cffi-uffi-compat
2626 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2627
88f06fd0
PN
2628(define-public sbcl-cl-sqlite
2629 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2630 (package
2631 (name "sbcl-cl-sqlite")
2632 (version (git-version "0.2" "1" commit))
2633 (source
2634 (origin
2635 (method git-fetch)
2636 (uri (git-reference
2637 (url "https://github.com/dmitryvk/cl-sqlite")
2638 (commit commit)))
2639 (file-name (git-file-name "cl-sqlite" version))
2640 (sha256
2641 (base32
2642 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2643 (build-system asdf-build-system/sbcl)
2644 (inputs
2645 `(("iterate" ,sbcl-iterate)
2646 ("cffi" ,sbcl-cffi)
2647 ("sqlite" ,sqlite)))
2648 (native-inputs
2649 `(("fiveam" ,sbcl-fiveam)
2650 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2651 (arguments
2652 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2653 #:asd-file "sqlite.asd"
2654 #:asd-system-name "sqlite"
2655 #:phases
2656 (modify-phases %standard-phases
2657 (add-after 'unpack 'fix-paths
2658 (lambda* (#:key inputs #:allow-other-keys)
2659 (substitute* "sqlite-ffi.lisp"
2660 (("libsqlite3" all) (string-append
2661 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2662 (home-page "https://common-lisp.net/project/cl-sqlite/")
2663 (synopsis "Common Lisp binding for SQLite")
2664 (description
2665 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2666relational database engine.")
2667 (license license:public-domain))))
2668
2669(define-public cl-sqlite
2670 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2671
2672(define-public sbcl-parenscript
2673 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2674 (package
2675 (name "sbcl-parenscript")
2676 (version (git-version "2.6" "1" commit))
2677 (source
2678 (origin
2679 (method git-fetch)
2680 (uri (git-reference
2681 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2682 (commit commit)))
2683 (file-name (git-file-name "parenscript" version))
2684 (sha256
2685 (base32
2686 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2687 (build-system asdf-build-system/sbcl)
2688 (inputs
2689 `(("cl-ppcre" ,sbcl-cl-ppcre)
2690 ("anaphora" ,sbcl-anaphora)
2691 ("named-readtables" ,sbcl-named-readtables)))
2692 (home-page "https://common-lisp.net/project/parenscript/")
2693 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2694 (description
2695 "Parenscript is a translator from an extended subset of Common Lisp to
2696JavaScript. Parenscript code can run almost identically on both the
2697browser (as JavaScript) and server (as Common Lisp).
2698
2699Parenscript code is treated the same way as Common Lisp code, making the full
2700power of Lisp macros available for JavaScript. This provides a web
2701development environment that is unmatched in its ability to reduce code
2702duplication and provide advanced meta-programming facilities to web
2703developers.
2704
2705At the same time, Parenscript is different from almost all other \"language
2706X\" to JavaScript translators in that it imposes almost no overhead:
2707
2708@itemize
2709@item No run-time dependencies: Any piece of Parenscript code is runnable
2710as-is. There are no JavaScript files to include.
2711@item Native types: Parenscript works entirely with native JavaScript data
2712types. There are no new types introduced, and object prototypes are not
2713touched.
2714@item Native calling convention: Any JavaScript code can be called without the
2715need for bindings. Likewise, Parenscript can be used to make efficient,
2716self-contained JavaScript libraries.
2717@item Readable code: Parenscript generates concise, formatted, idiomatic
2718JavaScript code. Identifier names are preserved. This enables seamless
2719debugging in tools like Firebug.
2720@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2721Lisp features. The generated code is almost as fast as hand-written
2722JavaScript.
2723@end itemize\n")
2724 (license license:bsd-3))))
2725
2726(define-public cl-parenscript
2727 (sbcl-package->cl-source-package sbcl-parenscript))
2728
2729(define-public ecl-parenscript
2730 (sbcl-package->ecl-package sbcl-parenscript))
2731
2732(define-public sbcl-cl-json
2733 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2734 (package
2735 (name "sbcl-cl-json")
2736 (version (git-version "0.5" "1" commit))
2737 (source
2738 (origin
2739 (method git-fetch)
2740 (uri (git-reference
2741 (url "https://github.com/hankhero/cl-json")
2742 (commit commit)))
2743 (file-name (git-file-name "cl-json" version))
2744 (sha256
2745 (base32
2746 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2747 (build-system asdf-build-system/sbcl)
2748 (native-inputs
2749 `(("fiveam" ,sbcl-fiveam)))
2750 (home-page "https://github.com/hankhero/cl-json")
2751 (synopsis "JSON encoder and decoder for Common-Lisp")
2752 (description
2753 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2754and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2755and the decoder are highly customizable; at the same time, the default
2756settings ensure a very simple mode of operation, similar to that provided by
2757@command{yason} or @command{st-json}.")
2758 (license license:expat))))
2759
2760(define-public cl-json
2761 (sbcl-package->cl-source-package sbcl-cl-json))
2762
2763(define-public ecl-cl-json
2764 (sbcl-package->ecl-package sbcl-cl-json))
2765
2766(define-public sbcl-unix-opts
2767 (package
2768 (name "sbcl-unix-opts")
2769 (version "0.1.7")
2770 (source
2771 (origin
2772 (method git-fetch)
2773 (uri (git-reference
2774 (url "https://github.com/libre-man/unix-opts")
2775 (commit version)))
2776 (file-name (git-file-name "unix-opts" version))
2777 (sha256
2778 (base32
2779 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2780 (build-system asdf-build-system/sbcl)
2781 (home-page "https://github.com/hankhero/cl-json")
2782 (synopsis "Unix-style command line options parser")
2783 (description
2784 "This is a minimalistic parser of command line options. The main
2785advantage of the library is the ability to concisely define command line
2786options once and then use this definition for parsing and extraction of
2787command line arguments, as well as printing description of command line
2788options (you get --help for free). This way you don't need to repeat
102fc7bc
VC
2789yourself. Also, @command{unix-opts} doesn't depend on anything and
2790precisely controls the behavior of the parser via Common Lisp restarts.")
88f06fd0
PN
2791 (license license:expat)))
2792
2793(define-public cl-unix-opts
2794 (sbcl-package->cl-source-package sbcl-unix-opts))
2795
2796(define-public ecl-unix-opts
2797 (sbcl-package->ecl-package sbcl-unix-opts))
2798
2799(define-public sbcl-trivial-garbage
2800 (package
2801 (name "sbcl-trivial-garbage")
2802 (version "0.21")
2803 (source
2804 (origin
2805 (method git-fetch)
2806 (uri (git-reference
2807 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2808 (commit (string-append "v" version))))
2809 (file-name (git-file-name "trivial-garbage" version))
2810 (sha256
2811 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2812 (build-system asdf-build-system/sbcl)
2813 (native-inputs
2814 `(("rt" ,sbcl-rt)))
2815 (home-page "https://common-lisp.net/project/trivial-garbage/")
2816 (synopsis "Portable GC-related APIs for Common Lisp")
2817 (description "@command{trivial-garbage} provides a portable API to
2818finalizers, weak hash-tables and weak pointers on all major implementations of
2819the Common Lisp programming language.")
2820 (license license:public-domain)))
2821
2822(define-public cl-trivial-garbage
2823 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2824
2825(define-public ecl-trivial-garbage
2826 (sbcl-package->ecl-package sbcl-trivial-garbage))
2827
2828(define-public sbcl-closer-mop
2829 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2830 (package
2831 (name "sbcl-closer-mop")
2832 (version (git-version "1.0.0" "1" commit))
2833 (source
2834 (origin
2835 (method git-fetch)
2836 (uri (git-reference
2837 (url "https://github.com/pcostanza/closer-mop")
2838 (commit commit)))
2839 (sha256
2840 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2841 (file-name (git-file-name "closer-mop" version ))))
2842 (build-system asdf-build-system/sbcl)
2843 (home-page "https://github.com/pcostanza/closer-mop")
2844 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2845 (description "Closer to MOP is a compatibility layer that rectifies many
2846of the absent or incorrect CLOS MOP features across a broad range of Common
2847Lisp implementations.")
2848 (license license:expat))))
2849
2850(define-public cl-closer-mop
2851 (sbcl-package->cl-source-package sbcl-closer-mop))
2852
2853(define-public ecl-closer-mop
2854 (sbcl-package->ecl-package sbcl-closer-mop))
2855
2856(define sbcl-cl-cffi-gtk-boot0
2857 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2858 (package
2859 (name "sbcl-cl-cffi-gtk-boot0")
2860 (version (git-version "0.11.2" "1" commit))
2861 (source
2862 (origin
2863 (method git-fetch)
2864 (uri (git-reference
2865 (url "https://github.com/Ferada/cl-cffi-gtk/")
2866 (commit commit)))
2867 (file-name (git-file-name "cl-cffi-gtk" version))
2868 (sha256
2869 (base32
2870 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2871 (build-system asdf-build-system/sbcl)
2872 (inputs
2873 `(("iterate" ,sbcl-iterate)
2874 ("cffi" ,sbcl-cffi)
2875 ("trivial-features" ,sbcl-trivial-features)))
2876 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2877 (synopsis "Common Lisp binding for GTK+3")
2878 (description
2879 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2880is a library for creating graphical user interfaces.")
2881 (license license:lgpl3))))
2882
2883(define-public sbcl-cl-cffi-gtk-glib
2884 (package
2885 (inherit sbcl-cl-cffi-gtk-boot0)
2886 (name "sbcl-cl-cffi-gtk-glib")
2887 (inputs
2888 `(("glib" ,glib)
2889 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2890 (arguments
2891 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2892 #:phases
2893 (modify-phases %standard-phases
2894 (add-after 'unpack 'fix-paths
2895 (lambda* (#:key inputs #:allow-other-keys)
2896 (substitute* "glib/glib.init.lisp"
2897 (("libglib|libgthread" all) (string-append
2898 (assoc-ref inputs "glib") "/lib/" all))))))))))
2899
2900(define-public sbcl-cl-cffi-gtk-gobject
2901 (package
2902 (inherit sbcl-cl-cffi-gtk-boot0)
2903 (name "sbcl-cl-cffi-gtk-gobject")
2904 (inputs
2905 `(("glib" ,glib)
2906 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2907 ("trivial-garbage" ,sbcl-trivial-garbage)
2908 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2909 ("closer-mop" ,sbcl-closer-mop)
2910 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2911 (arguments
2912 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2913 #:phases
2914 (modify-phases %standard-phases
2915 (add-after 'unpack 'fix-paths
2916 (lambda* (#:key inputs #:allow-other-keys)
2917 (substitute* "gobject/gobject.init.lisp"
2918 (("libgobject" all) (string-append
2919 (assoc-ref inputs "glib") "/lib/" all))))))))))
2920
2921(define-public sbcl-cl-cffi-gtk-gio
2922 (package
2923 (inherit sbcl-cl-cffi-gtk-boot0)
2924 (name "sbcl-cl-cffi-gtk-gio")
2925 (inputs
2926 `(("glib" ,glib)
2927 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2928 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2929 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2930 (arguments
2931 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2932 #:phases
2933 (modify-phases %standard-phases
2934 (add-after 'unpack 'fix-paths
2935 (lambda* (#:key inputs #:allow-other-keys)
2936 (substitute* "gio/gio.init.lisp"
2937 (("libgio" all)
2938 (string-append
2939 (assoc-ref inputs "glib") "/lib/" all))))))))))
2940
2941(define-public sbcl-cl-cffi-gtk-cairo
2942 (package
2943 (inherit sbcl-cl-cffi-gtk-boot0)
2944 (name "sbcl-cl-cffi-gtk-cairo")
2945 (inputs
2946 `(("cairo" ,cairo)
2947 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2948 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2949 (arguments
2950 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2951 #:phases
2952 (modify-phases %standard-phases
2953 (add-after 'unpack 'fix-paths
2954 (lambda* (#:key inputs #:allow-other-keys)
2955 (substitute* "cairo/cairo.init.lisp"
2956 (("libcairo" all)
2957 (string-append
2958 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2959
2960(define-public sbcl-cl-cffi-gtk-pango
2961 (package
2962 (inherit sbcl-cl-cffi-gtk-boot0)
2963 (name "sbcl-cl-cffi-gtk-pango")
2964 (inputs
2965 `(("pango" ,pango)
2966 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2967 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2968 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2969 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2970 (arguments
2971 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2972 #:phases
2973 (modify-phases %standard-phases
2974 (add-after 'unpack 'fix-paths
2975 (lambda* (#:key inputs #:allow-other-keys)
2976 (substitute* "pango/pango.init.lisp"
2977 (("libpango" all)
2978 (string-append
2979 (assoc-ref inputs "pango") "/lib/" all))))))))))
2980
2981(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2982 (package
2983 (inherit sbcl-cl-cffi-gtk-boot0)
2984 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2985 (inputs
2986 `(("gdk-pixbuf" ,gdk-pixbuf)
2987 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2988 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2989 (arguments
2990 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2991 #:phases
2992 (modify-phases %standard-phases
2993 (add-after 'unpack 'fix-paths
2994 (lambda* (#:key inputs #:allow-other-keys)
2995 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2996 (("libgdk_pixbuf" all)
2997 (string-append
2998 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2999
3000(define-public sbcl-cl-cffi-gtk-gdk
3001 (package
3002 (inherit sbcl-cl-cffi-gtk-boot0)
3003 (name "sbcl-cl-cffi-gtk-gdk")
3004 (inputs
3005 `(("gtk" ,gtk+)
3006 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3007 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3008 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3009 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3010 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3011 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3012 (arguments
3013 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
3014 #:phases
3015 (modify-phases %standard-phases
3016 (add-after 'unpack 'fix-paths
3017 (lambda* (#:key inputs #:allow-other-keys)
3018 (substitute* "gdk/gdk.init.lisp"
3019 (("libgdk" all)
3020 (string-append
3021 (assoc-ref inputs "gtk") "/lib/" all)))
3022 (substitute* "gdk/gdk.package.lisp"
3023 (("libgtk" all)
3024 (string-append
3025 (assoc-ref inputs "gtk") "/lib/" all))))))))))
3026
3027(define-public sbcl-cl-cffi-gtk
3028 (package
3029 (inherit sbcl-cl-cffi-gtk-boot0)
3030 (name "sbcl-cl-cffi-gtk")
3031 (inputs
3032 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3033 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3034 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3035 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3036 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3037 (native-inputs
3038 `(("fiveam" ,sbcl-fiveam)))
3039 (arguments
3040 `(#:asd-file "gtk/cl-cffi-gtk.asd"
3041 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3042 ;; TODO: Tests fail with memory fault.
3043 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3044 #:tests? #f))))
3045
3046(define-public cl-cffi-gtk
3047 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3048
3049(define-public sbcl-cl-webkit
95d9c1d7 3050 (let ((commit "d97115ca601838dfa60ea7afbb88641d7a526dba"))
88f06fd0
PN
3051 (package
3052 (name "sbcl-cl-webkit")
95d9c1d7 3053 (version (git-version "2.4" "2" commit))
88f06fd0
PN
3054 (source
3055 (origin
3056 (method git-fetch)
3057 (uri (git-reference
94aab844 3058 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3059 (commit commit)))
3060 (file-name (git-file-name "cl-webkit" version))
3061 (sha256
3062 (base32
95d9c1d7 3063 "0sdb2l2h5xv5c1m2mfq31i9yl6zjf512fvwwzlvk9nvisyhc4xi3"))))
88f06fd0
PN
3064 (build-system asdf-build-system/sbcl)
3065 (inputs
3066 `(("cffi" ,sbcl-cffi)
3067 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3068 ("webkitgtk" ,webkitgtk)))
3069 (arguments
3070 `(#:asd-file "webkit2/cl-webkit2.asd"
3071 #:asd-system-name "cl-webkit2"
3072 #:phases
3073 (modify-phases %standard-phases
3074 (add-after 'unpack 'fix-paths
3075 (lambda* (#:key inputs #:allow-other-keys)
3076 (substitute* "webkit2/webkit2.init.lisp"
3077 (("libwebkit2gtk" all)
3078 (string-append
3079 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3080 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3081 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3082 (description
3083 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3084currently targeting WebKit version 2. The WebKitGTK+ library adds web
3085browsing capabilities to an application, leveraging the full power of the
3086WebKit browsing engine.")
3087 (license license:expat))))
3088
3089(define-public cl-webkit
3090 (sbcl-package->cl-source-package sbcl-cl-webkit))
3091
3092(define-public sbcl-lparallel
3093 (package
3094 (name "sbcl-lparallel")
3095 (version "2.8.4")
3096 (source
3097 (origin
3098 (method git-fetch)
3099 (uri (git-reference
3100 (url "https://github.com/lmj/lparallel/")
3101 (commit (string-append "lparallel-" version))))
3102 (file-name (git-file-name "lparallel" version))
3103 (sha256
3104 (base32
3105 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3106 (build-system asdf-build-system/sbcl)
3107 (inputs
3108 `(("alexandria" ,sbcl-alexandria)
3109 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3110 ("trivial-garbage" ,sbcl-trivial-garbage)))
3111 (home-page "https://lparallel.org/")
3112 (synopsis "Parallelism for Common Lisp")
3113 (description
3114 "@command{lparallel} is a library for parallel programming in Common
3115Lisp, featuring:
3116
3117@itemize
3118@item a simple model of task submission with receiving queue,
3119@item constructs for expressing fine-grained parallelism,
3120@item asynchronous condition handling across thread boundaries,
3121@item parallel versions of map, reduce, sort, remove, and many others,
3122@item promises, futures, and delayed evaluation constructs,
3123@item computation trees for parallelizing interconnected tasks,
3124@item bounded and unbounded FIFO queues,
3125@item high and low priority tasks,
3126@item task killing by category,
3127@item integrated timeouts.
3128@end itemize\n")
3129 (license license:expat)))
3130
3131(define-public cl-lparallel
3132 (sbcl-package->cl-source-package sbcl-lparallel))
3133
3134(define-public ecl-lparallel
3135 (sbcl-package->ecl-package sbcl-lparallel))
3136
3137(define-public sbcl-cl-markup
3138 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3139 (package
3140 (name "sbcl-cl-markup")
3141 (version (git-version "0.1" "1" commit))
3142 (source
3143 (origin
3144 (method git-fetch)
3145 (uri (git-reference
3146 (url "https://github.com/arielnetworks/cl-markup/")
3147 (commit commit)))
3148 (file-name (git-file-name "cl-markup" version))
3149 (sha256
3150 (base32
3151 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3152 (build-system asdf-build-system/sbcl)
3153 (home-page "https://github.com/arielnetworks/cl-markup/")
3154 (synopsis "Markup generation library for Common Lisp")
3155 (description
3156 "A modern markup generation library for Common Lisp that features:
3157
3158@itemize
3159@item Fast (even faster through compiling the code)
3160@item Safety
3161@item Support for multiple document types (markup, xml, html, html5, xhtml)
3162@item Output with doctype
3163@item Direct output to stream
3164@end itemize\n")
3165 (license license:lgpl3+))))
3166
3167(define-public cl-markup
3168 (sbcl-package->cl-source-package sbcl-cl-markup))
3169
3170(define-public ecl-cl-markup
3171 (sbcl-package->ecl-package sbcl-cl-markup))
3172
3173(define-public sbcl-cl-css
3174 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3175 (package
3176 (name "sbcl-cl-css")
3177 (version (git-version "0.1" "1" commit))
3178 (source
3179 (origin
3180 (method git-fetch)
3181 (uri (git-reference
3182 (url "https://github.com/inaimathi/cl-css/")
3183 (commit commit)))
3184 (file-name (git-file-name "cl-css" version))
3185 (sha256
3186 (base32
3187 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3188 (build-system asdf-build-system/sbcl)
3189 (home-page "https://github.com/inaimathi/cl-css/")
3190 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3191 (description
3192 "This is a dead-simple, non validating, inline CSS generator for Common
3193Lisp. Its goals are axiomatic syntax, simple implementation to support
3194portability, and boilerplate reduction in CSS.")
3195 (license license:expat))))
3196
3197(define-public cl-css
3198 (sbcl-package->cl-source-package sbcl-cl-css))
3199
3200(define-public ecl-cl-css
3201 (sbcl-package->ecl-package sbcl-cl-css))
3202
3203(define-public sbcl-portable-threads
3204 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3205 (package
3206 (name "sbcl-portable-threads")
3207 (version (git-version "2.3" "1" commit))
3208 (source
3209 (origin
3210 (method git-fetch)
3211 (uri (git-reference
3212 (url "https://github.com/binghe/portable-threads/")
3213 (commit commit)))
3214 (file-name (git-file-name "portable-threads" version))
3215 (sha256
3216 (base32
3217 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3218 (build-system asdf-build-system/sbcl)
3219 (arguments
3220 `(;; Tests seem broken.
3221 #:tests? #f))
3222 (home-page "https://github.com/binghe/portable-threads")
3223 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3224 (description
3225 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3226Lisp (from GBBopen project).")
3227 (license license:asl2.0))))
3228
3229(define-public cl-portable-threads
3230 (sbcl-package->cl-source-package sbcl-portable-threads))
3231
3232(define-public ecl-portable-threada
3233 (sbcl-package->ecl-package sbcl-portable-threads))
3234
b23e6f5d 3235(define sbcl-usocket-boot0
88f06fd0
PN
3236 ;; usocket's test rely on usocket-server which depends on usocket itself.
3237 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3238 (package
3239 (name "sbcl-usocket-boot0")
3240 (version "0.8.3")
3241 (source
3242 (origin
3243 (method git-fetch)
3244 (uri (git-reference
3245 (url "https://github.com/usocket/usocket/")
3246 (commit (string-append "v" version))))
3247 (file-name (git-file-name "usocket" version))
3248 (sha256
3249 (base32
3250 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3251 (build-system asdf-build-system/sbcl)
3252 (inputs
3253 `(("split-sequence" ,sbcl-split-sequence)))
3254 (arguments
3255 `(#:tests? #f
3256 #:asd-system-name "usocket"))
3257 (home-page "https://common-lisp.net/project/usocket/")
3258 (synopsis "Universal socket library for Common Lisp (server side)")
3259 (description
3260 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3261interface for as many Common Lisp implementations as possible, while keeping
3262the abstraction and portability layer as thin as possible.")
b23e6f5d 3263 (license license:expat)))
88f06fd0
PN
3264
3265(define-public sbcl-usocket-server
3266 (package
3267 (inherit sbcl-usocket-boot0)
3268 (name "sbcl-usocket-server")
3269 (inputs
b23e6f5d
GLV
3270 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3271 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3272 (arguments
3273 '(#:asd-system-name "usocket-server"))
3274 (synopsis "Universal socket library for Common Lisp (server side)")))
3275
3276(define-public cl-usocket-server
3277 (sbcl-package->cl-source-package sbcl-usocket-server))
3278
3279(define-public ecl-socket-server
3280 (sbcl-package->ecl-package sbcl-usocket-server))
3281
3282(define-public sbcl-usocket
3283 (package
3284 (inherit sbcl-usocket-boot0)
3285 (name "sbcl-usocket")
3286 (arguments
3287 ;; FIXME: Tests need network access?
3288 `(#:tests? #f))
3289 (native-inputs
3290 ;; Testing only.
3291 `(("usocket-server" ,sbcl-usocket-server)
3292 ("rt" ,sbcl-rt)))))
3293
3294(define-public cl-usocket
3295 (sbcl-package->cl-source-package sbcl-usocket))
3296
b23e6f5d 3297(define-public ecl-usocket
88f06fd0
PN
3298 (sbcl-package->ecl-package sbcl-usocket))
3299
3300(define-public sbcl-s-xml
3301 (package
3302 (name "sbcl-s-xml")
3303 (version "3")
3304 (source
3305 (origin
3306 (method url-fetch)
3307 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3308 (sha256
3309 (base32
3310 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3311 (build-system asdf-build-system/sbcl)
3312 (home-page "https://common-lisp.net/project/s-xml/")
3313 (synopsis "Simple XML parser implemented in Common Lisp")
3314 (description
3315 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3316parser implementation has the following features:
3317
3318@itemize
3319@item It works (handling many common XML usages).
3320@item It is very small (the core is about 700 lines of code, including
3321comments and whitespace).
3322@item It has a core API that is simple, efficient and pure functional, much
3323like that from SSAX (see also http://ssax.sourceforge.net).
3324@item It supports different DOM models: an XSML-based one, an LXML-based one
3325and a classic xml-element struct based one.
3326@item It is reasonably time and space efficient (internally avoiding garbage
3327generatation as much as possible).
3328@item It does support CDATA.
3329@item It should support the same character sets as your Common Lisp
3330implementation.
3331@item It does support XML name spaces.
3332@end itemize
3333
3334This XML parser implementation has the following limitations:
3335
3336@itemize
3337@item It does not support any special tags (like processing instructions).
3338@item It is not validating, even skips DTD's all together.
3339@end itemize\n")
3340 (license license:lgpl3+)))
3341
3342(define-public cl-s-xml
3343 (sbcl-package->cl-source-package sbcl-s-xml))
3344
3345(define-public ecl-s-xml
3346 (sbcl-package->ecl-package sbcl-s-xml))
3347
3348(define-public sbcl-s-xml-rpc
3349 (package
3350 (name "sbcl-s-xml-rpc")
3351 (version "7")
3352 (source
3353 (origin
3354 (method url-fetch)
3355 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3356 (sha256
3357 (base32
3358 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3359 (build-system asdf-build-system/sbcl)
3360 (inputs
3361 `(("s-xml" ,sbcl-s-xml)))
3362 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3363 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3364 (description
3365 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3366client and server.")
3367 (license license:lgpl3+)))
3368
3369(define-public cl-s-xml-rpc
3370 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3371
3372(define-public ecl-s-xml-rpc
3373 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3374
3375(define-public sbcl-trivial-clipboard
3376 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3377 (package
3378 (name "sbcl-trivial-clipboard")
3379 (version (git-version "0.0.0.0" "2" commit))
3380 (source
3381 (origin
3382 (method git-fetch)
3383 (uri (git-reference
3384 (url "https://github.com/snmsts/trivial-clipboard")
3385 (commit commit)))
3386 (file-name (git-file-name "trivial-clipboard" version))
3387 (sha256
3388 (base32
3389 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3390 (build-system asdf-build-system/sbcl)
3391 (inputs
3392 `(("xclip" ,xclip)))
3393 (native-inputs
3394 `(("fiveam" ,sbcl-fiveam)))
3395 (arguments
3396 `(#:phases
3397 (modify-phases %standard-phases
3398 (add-after 'unpack 'fix-paths
3399 (lambda* (#:key inputs #:allow-other-keys)
3400 (substitute* "src/text.lisp"
3401 (("\\(executable-find \"xclip\"\\)")
3402 (string-append "(executable-find \""
3403 (assoc-ref inputs "xclip")
3404 "/bin/xclip\")"))))))))
3405 (home-page "https://github.com/snmsts/trivial-clipboard")
3406 (synopsis "Access system clipboard in Common Lisp")
3407 (description
3408 "@command{trivial-clipboard} gives access to the system clipboard.")
3409 (license license:expat))))
3410
3411(define-public cl-trivial-clipboard
3412 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3413
3414(define-public ecl-trivial-clipboard
3415 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3416
3417(define-public sbcl-trivial-backtrace
3418 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3419 (revision "1"))
3420 (package
3421 (name "sbcl-trivial-backtrace")
3422 (version (git-version "0.0.0" revision commit))
3423 (source
3424 (origin
3425 (method git-fetch)
3426 (uri (git-reference
3427 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3428 (commit commit)))
3429 (file-name (git-file-name "trivial-backtrace" version))
3430 (sha256
3431 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3432 (build-system asdf-build-system/sbcl)
3433 (inputs
3434 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3435 (arguments
3436 `(#:phases
3437 (modify-phases %standard-phases
3438 (add-after 'check 'delete-test-results
3439 (lambda* (#:key outputs #:allow-other-keys)
3440 (let ((test-results (string-append (assoc-ref outputs "out")
3441 "/share/common-lisp/"
3442 (%lisp-type) "-source"
3443 "/trivial-backtrace"
3444 "/test-results")))
3445 (when (file-exists? test-results)
3446 (delete-file-recursively test-results)))
3447 #t)))))
88f06fd0
PN
3448 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3449 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3450 (description
3451 "On of the many things that didn't quite get into the Common Lisp
3452standard was how to get a Lisp to output its call stack when something has
3453gone wrong. As such, each Lisp has developed its own notion of what to
3454display, how to display it, and what sort of arguments can be used to
3455customize it. @code{trivial-backtrace} is a simple solution to generating a
3456backtrace portably.")
3457 (license license:expat))))
3458
3459(define-public cl-trivial-backtrace
3460 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3461
3462(define-public sbcl-rfc2388
3463 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3464 (revision "1"))
3465 (package
3466 (name "sbcl-rfc2388")
3467 (version (git-version "0.0.0" revision commit))
3468 (source
3469 (origin
3470 (method git-fetch)
3471 (uri (git-reference
3472 (url "https://github.com/jdz/rfc2388.git")
3473 (commit commit)))
3474 (file-name (git-file-name "rfc2388" version))
3475 (sha256
3476 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3477 (build-system asdf-build-system/sbcl)
3478 (home-page "https://github.com/jdz/rfc2388/")
3479 (synopsis "An implementation of RFC 2388 in Common Lisp")
3480 (description
3481 "This package contains an implementation of RFC 2388, which is used to
3482process form data posted with HTTP POST method using enctype
3483\"multipart/form-data\".")
3484 (license license:bsd-2))))
3485
3486(define-public cl-rfc2388
3487 (sbcl-package->cl-source-package sbcl-rfc2388))
3488
3489(define-public sbcl-md5
3490 (package
3491 (name "sbcl-md5")
3492 (version "2.0.4")
3493 (source
3494 (origin
3495 (method url-fetch)
3496 (uri (string-append
3497 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3498 (sha256
3499 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3500 (build-system asdf-build-system/sbcl)
3501 (home-page "https://github.com/pmai/md5")
3502 (synopsis
3503 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3504 (description
3505 "This package implements The MD5 Message-Digest Algorithm, as defined in
3506RFC 1321 by R. Rivest, published April 1992.")
3507 (license license:public-domain)))
3508
3509(define-public cl-md5
3510 (sbcl-package->cl-source-package sbcl-md5))
3511
3512(define-public sbcl-cl+ssl
3513 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3514 (revision "1"))
3515 (package
3516 (name "sbcl-cl+ssl")
3517 (version (git-version "0.0.0" revision commit))
3518 (source
3519 (origin
3520 (method git-fetch)
3521 (uri (git-reference
3522 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3523 (commit commit)))
3524 (file-name (git-file-name "cl+ssl" version))
3525 (sha256
3526 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3527 (build-system asdf-build-system/sbcl)
3528 (arguments
3529 '(#:phases
3530 (modify-phases %standard-phases
3531 (add-after 'unpack 'fix-paths
3532 (lambda* (#:key inputs #:allow-other-keys)
3533 (substitute* "src/reload.lisp"
3534 (("libssl.so" all)
3535 (string-append
3536 (assoc-ref inputs "openssl") "/lib/" all))))))))
3537 (inputs
3538 `(("openssl" ,openssl)
3539 ("sbcl-cffi" ,sbcl-cffi)
3540 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3541 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3542 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3543 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3544 ("sbcl-alexandria" ,sbcl-alexandria)
3545 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3546 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3547 (synopsis "Common Lisp bindings to OpenSSL")
3548 (description
3549 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3550code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3551Development into CL+SSL was done by David Lichteblau.")
3552 (license license:expat))))
3553
3554(define-public cl-cl+ssl
3555 (sbcl-package->cl-source-package sbcl-cl+ssl))
3556
3557(define-public sbcl-kmrcl
3558 (let ((version "1.109.0")
3559 (commit "5260068b2eb735af6796740c2db4955afac21636")
3560 (revision "1"))
3561 (package
3562 (name "sbcl-kmrcl")
3563 (version (git-version version revision commit))
3564 (source
3565 (origin
3566 (method git-fetch)
3567 (uri (git-reference
3568 (url "http://git.kpe.io/kmrcl.git/")
3569 (commit commit)))
3570 (file-name (git-file-name name version))
3571 (sha256
3572 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3573 (build-system asdf-build-system/sbcl)
3574 (arguments
3575 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3576 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3577 '(#:tests? #f))
3578 (inputs
3579 `(("sbcl-rt" ,sbcl-rt)))
3580 (home-page "http://files.kpe.io/kmrcl/")
3581 (synopsis "General utilities for Common Lisp programs")
3582 (description
3583 "KMRCL is a collection of utilities used by a number of Kevin
3584Rosenberg's CL packages.")
3585 (license license:llgpl))))
3586
3587(define-public cl-kmrcl
3588 (sbcl-package->cl-source-package sbcl-kmrcl))
3589
3590(define-public sbcl-cl-base64
3591 (let ((version "3.3.3"))
3592 (package
3593 (name "sbcl-cl-base64")
3594 (version version)
3595 (source
3596 (origin
3597 (method git-fetch)
3598 (uri (git-reference
3599 (url "http://git.kpe.io/cl-base64.git")
3600 (commit (string-append "v" version))))
3601 (file-name (git-file-name "cl-base64" version))
3602 (sha256
3603 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3604 (build-system asdf-build-system/sbcl)
3605 (arguments
3606 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3607 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3608 ;; to toplevel
3609 '(#:tests? #f))
3610 (inputs
3611 `(("sbcl-ptester" ,sbcl-ptester)
3612 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3613 (home-page "http://files.kpe.io/cl-base64/")
3614 (synopsis
3615 "Common Lisp package to encode and decode base64 with URI support")
3616 (description
3617 "This package provides highly optimized base64 encoding and decoding.
3618Besides conversion to and from strings, integer conversions are supported.
3619Encoding with Uniform Resource Identifiers is supported by using a modified
3620encoding table that uses only URI-compatible characters.")
3621 (license license:bsd-3))))
3622
3623(define-public cl-base64
3624 (sbcl-package->cl-source-package sbcl-cl-base64))
3625
3626(define-public sbcl-chunga
3627 (package
3628 (name "sbcl-chunga")
3629 (version "1.1.7")
3630 (source
3631 (origin
3632 (method git-fetch)
3633 (uri (git-reference
3634 (url "https://github.com/edicl/chunga.git")
3635 (commit (string-append "v" version))))
3636 (file-name (git-file-name name version))
3637 (sha256
3638 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3639 (build-system asdf-build-system/sbcl)
3640 (inputs
3641 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3642 (home-page "https://edicl.github.io/chunga/")
3643 (synopsis "Portable chunked streams for Common Lisp")
3644 (description
3645 "Chunga implements streams capable of chunked encoding on demand as
3646defined in RFC 2616.")
3647 (license license:bsd-2)))
3648
3649(define-public cl-chunga
3650 (sbcl-package->cl-source-package sbcl-chunga))
3651
3652(define-public sbcl-cl-who
3653 (let ((version "1.1.4")
3654 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3655 (revision "1"))
3656 (package
3657 (name "sbcl-cl-who")
3658 (version (git-version version revision commit))
3659 (source
3660 (origin
3661 (method git-fetch)
3662 (uri (git-reference
3663 (url "https://github.com/edicl/cl-who.git")
3664 (commit commit)))
3665 (file-name (git-file-name name version))
3666 (sha256
3667 (base32
3668 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3669 (build-system asdf-build-system/sbcl)
3670 (native-inputs
3671 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3672 (home-page "https://edicl.github.io/cl-who/")
3673 (synopsis "Yet another Lisp markup language")
3674 (description
3675 "There are plenty of Lisp Markup Languages out there - every Lisp
3676programmer seems to write at least one during his career - and CL-WHO (where
3677WHO means \"with-html-output\" for want of a better acronym) is probably just
3678as good or bad as the next one.")
3679 (license license:bsd-2))))
3680
3681(define-public cl-cl-who
3682 (sbcl-package->cl-source-package sbcl-cl-who))
3683
3684(define-public sbcl-chipz
3685 (let ((version "0.8")
3686 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3687 (revision "1"))
3688 (package
3689 (name "sbcl-chipz")
3690 (version (git-version version revision commit))
3691 (source
3692 (origin
3693 (method git-fetch)
3694 (uri (git-reference
3695 (url "https://github.com/froydnj/chipz.git")
3696 (commit commit)))
3697 (file-name (git-file-name name version))
3698 (sha256
3699 (base32
3700 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3701 (build-system asdf-build-system/sbcl)
3702 (native-inputs
3703 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3704 (home-page "http://method-combination.net/lisp/chipz/")
3705 (synopsis
3706 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3707data")
3708 (description
3709 "DEFLATE data, defined in RFC1951, forms the core of popular
3710compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3711Chipz also provides for decompressing data in those formats as well. BZIP2 is
3712the format used by the popular compression tool bzip2.")
3713 ;; The author describes it as "MIT-like"
3714 (license license:expat))))
3715
3716(define-public cl-chipz
3717 (sbcl-package->cl-source-package sbcl-chipz))
3718
3719(define-public sbcl-drakma
a2b6b973
GLV
3720 (package
3721 (name "sbcl-drakma")
3722 (version "2.0.7")
3723 (source
3724 (origin
3725 (method git-fetch)
3726 (uri (git-reference
3727 (url "https://github.com/edicl/drakma.git")
3728 (commit (string-append "v" version))))
3729 (file-name (git-file-name name version))
3730 (sha256
3731 (base32
3732 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3733 (build-system asdf-build-system/sbcl)
3734 (inputs
3735 `(("sbcl-puri" ,sbcl-puri)
3736 ("sbcl-cl-base64" ,sbcl-cl-base64)
3737 ("sbcl-chunga" ,sbcl-chunga)
3738 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3739 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3740 ("sbcl-chipz" ,sbcl-chipz)
3741 ("sbcl-usocket" ,sbcl-usocket)
3742 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3743 (native-inputs
3744 `(("sbcl-fiveam" ,sbcl-fiveam)))
3745 (home-page "https://edicl.github.io/drakma/")
3746 (synopsis "HTTP client written in Common Lisp")
3747 (description
3748 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3749knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3750sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3751 (license license:bsd-2)))
88f06fd0
PN
3752
3753(define-public cl-drakma
3754 (sbcl-package->cl-source-package sbcl-drakma))
3755
10ac723b
GLV
3756(define-public ecl-drakma
3757 (sbcl-package->ecl-package sbcl-drakma))
3758
88f06fd0
PN
3759(define-public sbcl-hunchentoot
3760 (package
3761 (name "sbcl-hunchentoot")
3762 (version "1.2.38")
3763 (source
3764 (origin
3765 (method git-fetch)
3766 (uri (git-reference
3767 (url "https://github.com/edicl/hunchentoot.git")
3768 (commit (string-append "v" version))))
3769 (file-name (git-file-name "hunchentoot" version))
3770 (sha256
3771 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3772 (build-system asdf-build-system/sbcl)
3773 (native-inputs
3774 `(("sbcl-cl-who" ,sbcl-cl-who)
3775 ("sbcl-drakma" ,sbcl-drakma)))
3776 (inputs
3777 `(("sbcl-chunga" ,sbcl-chunga)
3778 ("sbcl-cl-base64" ,sbcl-cl-base64)
3779 ("sbcl-cl-fad" ,sbcl-cl-fad)
3780 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3781 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3782 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3783 ("sbcl-md5" ,sbcl-md5)
3784 ("sbcl-rfc2388" ,sbcl-rfc2388)
3785 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3786 ("sbcl-usocket" ,sbcl-usocket)))
3787 (home-page "https://edicl.github.io/hunchentoot/")
3788 (synopsis "Web server written in Common Lisp")
3789 (description
3790 "Hunchentoot is a web server written in Common Lisp and at the same
3791time a toolkit for building dynamic websites. As a stand-alone web server,
3792Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3793connections (keep-alive), and SSL.")
3794 (license license:bsd-2)))
3795
3796(define-public cl-hunchentoot
3797 (sbcl-package->cl-source-package sbcl-hunchentoot))
3798
3799(define-public sbcl-trivial-types
3800 (package
3801 (name "sbcl-trivial-types")
3802 (version "0.0.1")
3803 (source
3804 (origin
3805 (method git-fetch)
3806 (uri (git-reference
3807 (url "https://github.com/m2ym/trivial-types.git")
3808 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3809 (file-name (git-file-name name version))
3810 (sha256
3811 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3812 (build-system asdf-build-system/sbcl)
3813 (home-page "https://github.com/m2ym/trivial-types")
3814 (synopsis "Trivial type definitions for Common Lisp")
3815 (description
3816 "TRIVIAL-TYPES provides missing but important type definitions such as
3817PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3818 (license license:llgpl)))
3819
3820(define-public cl-trivial-types
3821 (sbcl-package->cl-source-package sbcl-trivial-types))
3822
3823(define-public sbcl-cl-syntax
3824 (package
3825 (name "sbcl-cl-syntax")
3826 (version "0.0.3")
3827 (source
3828 (origin
3829 (method git-fetch)
3830 (uri (git-reference
3831 (url "https://github.com/m2ym/cl-syntax.git")
3832 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3833 (file-name (git-file-name "cl-syntax" version))
3834 (sha256
3835 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3836 (build-system asdf-build-system/sbcl)
3837 (arguments
3838 '(#:asd-file "cl-syntax.asd"
3839 #:asd-system-name "cl-syntax"))
3840 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3841 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3842 (home-page "https://github.com/m2ym/cl-syntax")
3843 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3844 (description
3845 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3846 (license license:llgpl)))
3847
3848(define-public cl-syntax
3849 (sbcl-package->cl-source-package sbcl-cl-syntax))
3850
3851(define-public sbcl-cl-annot
3852 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3853 (revision "1"))
3854 (package
3855 (name "sbcl-cl-annot")
3856 (version (git-version "0.0.0" revision commit))
3857 (source
3858 (origin
3859 (method git-fetch)
3860 (uri (git-reference
3861 (url "https://github.com/m2ym/cl-annot.git")
3862 (commit commit)))
3863 (file-name (git-file-name name version))
3864 (sha256
3865 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3866 (build-system asdf-build-system/sbcl)
3867 (arguments
3868 '(#:asd-file "cl-annot.asd"
3869 #:asd-system-name "cl-annot"))
3870 (inputs
3871 `(("sbcl-alexandria" ,sbcl-alexandria)))
3872 (home-page "https://github.com/m2ym/cl-annot")
3873 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3874 (description
3875 "@code{cl-annot} is an general annotation library for Common Lisp.")
3876 (license license:llgpl))))
3877
3878(define-public cl-annot
3879 (sbcl-package->cl-source-package sbcl-cl-annot))
3880
3881(define-public sbcl-cl-syntax-annot
3882 (package
3883 (name "sbcl-cl-syntax-annot")
3884 (version "0.0.3")
3885 (source
3886 (origin
3887 (method git-fetch)
3888 (uri (git-reference
3889 (url "https://github.com/m2ym/cl-syntax.git")
3890 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3891 (file-name (git-file-name name version))
3892 (sha256
3893 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3894 (build-system asdf-build-system/sbcl)
3895 (arguments
3896 '(#:asd-file "cl-syntax-annot.asd"
3897 #:asd-system-name "cl-syntax-annot"))
3898 (inputs
3899 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3900 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3901 (home-page "https://github.com/m2ym/cl-syntax")
3902 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3903 (description
3904 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3905SLIME.")
3906 (license license:llgpl)))
3907
3908(define-public cl-syntax-annot
3909 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3910
3911(define-public sbcl-cl-utilities
3912 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3913 (revision "1"))
3914 (package
3915 (name "sbcl-cl-utilities")
3916 (version (git-version "0.0.0" revision commit))
3917 (source
3918 (origin
3919 (method url-fetch)
3920 (uri
3921 (string-append
3922 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3923 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3924 (sha256
3925 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3926 (build-system asdf-build-system/sbcl)
3927 (arguments
3928 '(#:asd-file "cl-utilities.asd"
3929 #:asd-system-name "cl-utilities"
3930 #:phases
3931 (modify-phases %standard-phases
3932 (add-after 'unpack 'fix-paths
3933 (lambda* (#:key inputs #:allow-other-keys)
3934 (substitute* "rotate-byte.lisp"
3935 (("in-package :cl-utilities)" all)
3936 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3937 (home-page "http://common-lisp.net/project/cl-utilities")
3938 (synopsis "A collection of semi-standard utilities")
3939 (description
3940 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3941is a collection of Common Lisp Utilities, things that everybody writes since
3942they're not part of the official standard. There are some very useful things
3943there; the only problems are that they aren't implemented as well as you'd
3944like (some aren't implemented at all) and they aren't conveniently packaged
3945and maintained. It takes quite a bit of work to carefully implement utilities
3946for common use, commented and documented, with error checking placed
3947everywhere some dumb user might make a mistake.")
3948 (license license:public-domain))))
3949
3950(define-public cl-utilities
3951 (sbcl-package->cl-source-package sbcl-cl-utilities))
3952
3953(define-public sbcl-map-set
3954 (let ((commit "7b4b545b68b8")
3955 (revision "1"))
3956 (package
3957 (name "sbcl-map-set")
3958 (version (git-version "0.0.0" revision commit))
3959 (source
3960 (origin
3961 (method url-fetch)
3962 (uri (string-append
3963 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3964 commit ".tar.gz"))
3965 (sha256
3966 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3967 (build-system asdf-build-system/sbcl)
3968 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3969 (synopsis "Set-like data structure")
3970 (description
3971 "Implementation of a set-like data structure with constant time
3972addition, removal, and random selection.")
3973 (license license:bsd-3))))
3974
3975(define-public cl-map-set
3976 (sbcl-package->cl-source-package sbcl-map-set))
3977
3978(define-public sbcl-quri
3979 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3980 (revision "1"))
3981 (package
3982 (name "sbcl-quri")
3983 (version (git-version "0.1.0" revision commit))
3984 (source
3985 (origin
3986 (method git-fetch)
3987 (uri (git-reference
3988 (url "https://github.com/fukamachi/quri.git")
3989 (commit commit)))
3990 (file-name (git-file-name name version))
3991 (sha256
3992 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3993 (build-system asdf-build-system/sbcl)
3994 (arguments
3995 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3996 ;; required by #<SYSTEM "quri">. Why?
3997 '(#:tests? #f))
3998 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3999 ("sbcl-prove" ,sbcl-prove)))
4000 (inputs `(("sbcl-babel" ,sbcl-babel)
4001 ("sbcl-split-sequence" ,sbcl-split-sequence)
4002 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4003 ("sbcl-alexandria" ,sbcl-alexandria)))
4004 (home-page "https://github.com/fukamachi/quri")
4005 (synopsis "Yet another URI library for Common Lisp")
4006 (description
4007 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4008Lisp. It is intended to be a replacement of PURI.")
4009 (license license:bsd-3))))
4010
4011(define-public cl-quri
4012 (sbcl-package->cl-source-package sbcl-quri))
4013
4014(define-public sbcl-myway
4015 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4016 (revision "1"))
4017 (package
4018 (name "sbcl-myway")
4019 (version (git-version "0.1.0" revision commit))
4020 (source
4021 (origin
4022 (method git-fetch)
4023 (uri (git-reference
4024 (url "https://github.com/fukamachi/myway.git")
4025 (commit commit)))
4026 (file-name (git-file-name "myway" version))
4027 (sha256
4028 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4029 (build-system asdf-build-system/sbcl)
4030 (arguments
4031 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4032 ;; by #<SYSTEM "myway">. Why?
4033 '(#:tests? #f))
4034 (native-inputs
4035 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4036 ("sbcl-prove" ,sbcl-prove)))
4037 (inputs
4038 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4039 ("sbcl-quri" ,sbcl-quri)
4040 ("sbcl-map-set" ,sbcl-map-set)))
4041 (home-page "https://github.com/fukamachi/myway")
4042 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4043 (description "My Way is a Sinatra-compatible URL routing library.")
4044 (license license:llgpl))))
4045
4046(define-public cl-myway
4047 (sbcl-package->cl-source-package sbcl-myway))
4048
4049(define-public sbcl-xsubseq
4050 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4051 (revision "1"))
4052 (package
4053 (name "sbcl-xsubseq")
4054 (version (git-version "0.0.1" revision commit))
4055 (source
4056 (origin
4057 (method git-fetch)
4058 (uri (git-reference
4059 (url "https://github.com/fukamachi/xsubseq")
4060 (commit commit)))
4061 (file-name (git-file-name name version))
4062 (sha256
4063 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4064 (build-system asdf-build-system/sbcl)
4065 (arguments
4066 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4067 ;; required by #<SYSTEM "xsubseq">. Why?
4068 '(#:tests? #f))
4069 (native-inputs
4070 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4071 ("sbcl-prove" ,sbcl-prove)))
4072 (home-page "https://github.com/fukamachi/xsubseq")
4073 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4074 (description
4075 "XSubseq provides functions to be able to handle \"subseq\"s more
4076effieiently.")
4077 (license license:bsd-2))))
4078
4079(define-public cl-xsubseq
4080 (sbcl-package->cl-source-package sbcl-xsubseq))
4081
4082(define-public sbcl-smart-buffer
4083 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4084 (revision "1"))
4085 (package
4086 (name "sbcl-smart-buffer")
4087 (version (git-version "0.0.1" revision commit))
4088 (source
4089 (origin
4090 (method git-fetch)
4091 (uri (git-reference
4092 (url "https://github.com/fukamachi/smart-buffer")
4093 (commit commit)))
4094 (file-name (git-file-name name version))
4095 (sha256
4096 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4097 (build-system asdf-build-system/sbcl)
4098 (arguments
4099 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4100 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4101 `(#:tests? #f))
4102 (native-inputs
4103 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4104 ("sbcl-prove" ,sbcl-prove)))
4105 (inputs
4106 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4107 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4108 (home-page "https://github.com/fukamachi/smart-buffer")
4109 (synopsis "Smart octets buffer")
4110 (description
4111 "Smart-buffer provides an output buffer which changes the destination
4112depending on content size.")
4113 (license license:bsd-3))))
4114
4115(define-public cl-smart-buffer
4116 (sbcl-package->cl-source-package sbcl-smart-buffer))
4117
4118(define-public sbcl-fast-http
4119 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4120 (revision "1"))
4121 (package
4122 (name "sbcl-fast-http")
4123 (version (git-version "0.2.0" revision commit))
4124 (source
4125 (origin
4126 (method git-fetch)
4127 (uri (git-reference
4128 (url "https://github.com/fukamachi/fast-http")
4129 (commit commit)))
4130 (file-name (git-file-name name version))
4131 (sha256
4132 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4133 (build-system asdf-build-system/sbcl)
4134 (arguments
4135 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4136 ;; required by #<SYSTEM "fast-http">. Why?
4137 `(#:tests? #f))
4138 (native-inputs
4139 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4140 ("sbcl-prove" ,sbcl-prove)))
4141 (inputs
4142 `(("sbcl-alexandria" ,sbcl-alexandria)
4143 ("sbcl-proc-parse" ,sbcl-proc-parse)
4144 ("sbcl-xsubseq" ,sbcl-xsubseq)
4145 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4146 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4147 (home-page "https://github.com/fukamachi/fast-http")
4148 (synopsis "HTTP request/response parser for Common Lisp")
4149 (description
4150 "@code{fast-http} is a HTTP request/response protocol parser for Common
4151Lisp.")
4152 ;; Author specified the MIT license
4153 (license license:expat))))
4154
4155(define-public cl-fast-http
4156 (sbcl-package->cl-source-package sbcl-fast-http))
4157
4158(define-public sbcl-static-vectors
ba55cbda
GLV
4159 (package
4160 (name "sbcl-static-vectors")
4161 (version "1.8.4")
4162 (source
4163 (origin
88f06fd0
PN
4164 (method git-fetch)
4165 (uri (git-reference
4166 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4167 (commit (string-append "v" version))))
88f06fd0
PN
4168 (file-name (git-file-name name version))
4169 (sha256
ba55cbda
GLV
4170 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4171 (native-inputs
4172 `(("sbcl-fiveam" ,sbcl-fiveam)))
4173 (inputs
4174 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4175 ("sbcl-cffi" ,sbcl-cffi)))
4176 (build-system asdf-build-system/sbcl)
6b40dbff 4177 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4178 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4179 (description
4180 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4181memory.")
ba55cbda 4182 (license license:expat)))
88f06fd0
PN
4183
4184(define-public cl-static-vectors
4185 (sbcl-package->cl-source-package sbcl-static-vectors))
4186
f6a6f085
GLV
4187(define-public ecl-static-vectors
4188 (sbcl-package->ecl-package sbcl-static-vectors))
4189
88f06fd0
PN
4190(define-public sbcl-marshal
4191 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4192 (revision "1"))
4193 (package
4194 (name "sbcl-marshal")
4195 (version (git-version "1.3.0" revision commit))
4196 (source
4197 (origin
4198 (method git-fetch)
4199 (uri (git-reference
4200 (url "https://github.com/wlbr/cl-marshal.git")
4201 (commit commit)))
4202 (file-name (git-file-name name version))
4203 (sha256
4204 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4205 (build-system asdf-build-system/sbcl)
4206 (home-page "https://github.com/wlbr/cl-marshal")
4207 (synopsis "Simple (de)serialization of Lisp datastructures")
4208 (description
4209 "Simple and fast marshalling of Lisp datastructures. Convert any object
4210into a string representation, put it on a stream an revive it from there.
4211Only minimal changes required to make your CLOS objects serializable.")
4212 (license license:expat))))
4213
4214(define-public cl-marshal
4215 (sbcl-package->cl-source-package sbcl-marshal))
4216
4217(define-public sbcl-checkl
4218 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4219 (revision "1"))
4220 (package
4221 (name "sbcl-checkl")
4222 (version (git-version "0.0.0" revision commit))
4223 (source
4224 (origin
4225 (method git-fetch)
4226 (uri (git-reference
4227 (url "https://github.com/rpav/CheckL.git")
4228 (commit commit)))
4229 (file-name (git-file-name name version))
4230 (sha256
4231 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4232 (build-system asdf-build-system/sbcl)
4233 (arguments
4234 ;; Error while trying to load definition for system checkl-test from
4235 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4236 ;; is undefined.
4237 '(#:tests? #f))
4238 (native-inputs
4239 `(("sbcl-fiveam" ,sbcl-fiveam)))
4240 (inputs
4241 `(("sbcl-marshal" ,sbcl-marshal)))
4242 (home-page "https://github.com/rpav/CheckL/")
4243 (synopsis "Dynamic testing for Common Lisp")
4244 (description
4245 "CheckL lets you write tests dynamically, it checks resulting values
4246against the last run.")
4247 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4248 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4249 ;; stronger of the two and so I think only listing this should suffice.
4250 (license license:llgpl))))
4251
4252(define-public cl-checkl
4253 (sbcl-package->cl-source-package sbcl-checkl))
4254
4255(define-public sbcl-fast-io
4256 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4257 (revision "1"))
4258 (package
4259 (name "sbcl-fast-io")
4260 (version (git-version "1.0.0" revision commit))
4261 (source
4262 (origin
4263 (method git-fetch)
4264 (uri (git-reference
4265 (url "https://github.com/rpav/fast-io.git")
4266 (commit commit)))
4267 (file-name (git-file-name name version))
4268 (sha256
4269 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4270 (build-system asdf-build-system/sbcl)
4271 (arguments
4272 ;; Error while trying to load definition for system fast-io-test from
4273 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4274 ;; is undefined.
4275 '(#:tests? #f))
4276 (native-inputs
4277 `(("sbcl-fiveam" ,sbcl-fiveam)
4278 ("sbcl-checkl" ,sbcl-checkl)))
4279 (inputs
4280 `(("sbcl-alexandria" ,sbcl-alexandria)
4281 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4282 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4283 (home-page "https://github.com/rpav/fast-io")
4284 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4285 (description
4286 "Fast-io is about improving performance to octet-vectors and octet
4287streams (though primarily the former, while wrapping the latter).")
4288 ;; Author specifies this as NewBSD which is an alias
4289 (license license:bsd-3))))
4290
4291(define-public cl-fast-io
4292 (sbcl-package->cl-source-package sbcl-fast-io))
4293
4294(define-public sbcl-jonathan
4295 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4296 (revision "1"))
4297 (package
4298 (name "sbcl-jonathan")
4299 (version (git-version "0.1.0" revision commit))
4300 (source
4301 (origin
4302 (method git-fetch)
4303 (uri (git-reference
4304 (url "https://github.com/Rudolph-Miller/jonathan.git")
4305 (commit commit)))
4306 (file-name (git-file-name name version))
4307 (sha256
4308 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4309 (build-system asdf-build-system/sbcl)
4310 (arguments
4311 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4312 ;; required by #<SYSTEM "jonathan">. Why?
4313 `(#:tests? #f))
4314 (native-inputs
4315 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4316 ("sbcl-prove" ,sbcl-prove)))
4317 (inputs
4318 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4319 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4320 ("sbcl-fast-io" ,sbcl-fast-io)
4321 ("sbcl-proc-parse" ,sbcl-proc-parse)
4322 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4323 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4324 (synopsis "JSON encoder and decoder")
4325 (description
4326 "High performance JSON encoder and decoder. Currently support: SBCL,
4327CCL.")
4328 ;; Author specifies the MIT license
4329 (license license:expat))))
4330
4331(define-public cl-jonathan
4332 (sbcl-package->cl-source-package sbcl-jonathan))
4333
4334(define-public sbcl-http-body
4335 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4336 (revision "1"))
4337 (package
4338 (name "sbcl-http-body")
4339 (version (git-version "0.1.0" revision commit))
4340 (source
4341 (origin
4342 (method git-fetch)
4343 (uri (git-reference
4344 (url "https://github.com/fukamachi/http-body")
4345 (commit commit)))
4346 (file-name (git-file-name name version))
4347 (sha256
4348 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4349 (build-system asdf-build-system/sbcl)
4350 (arguments
4351 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4352 ;; found, required by #<SYSTEM "http-body">. Why?
4353 `(#:tests? #f))
4354 (native-inputs
4355 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4356 ("sbcl-prove" ,sbcl-prove)))
4357 (inputs
4358 `(("sbcl-fast-http" ,sbcl-fast-http)
4359 ("sbcl-jonathan" ,sbcl-jonathan)
4360 ("sbcl-quri" ,sbcl-quri)))
4361 (home-page "https://github.com/fukamachi/http-body")
4362 (synopsis "HTTP POST data parser")
4363 (description
4364 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4365supports application/x-www-form-urlencoded, application/json, and
4366multipart/form-data.")
4367 (license license:bsd-2))))
4368
4369(define-public cl-http-body
4370 (sbcl-package->cl-source-package sbcl-http-body))
4371
4372(define-public sbcl-circular-streams
4373 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4374 (revision "1"))
4375 (package
4376 (name "sbcl-circular-streams")
4377 (version (git-version "0.1.0" revision commit))
4378 (source
4379 (origin
4380 (method git-fetch)
4381 (uri (git-reference
4382 (url "https://github.com/fukamachi/circular-streams")
4383 (commit commit)))
4384 (file-name (git-file-name name version))
4385 (sha256
4386 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4387 (build-system asdf-build-system/sbcl)
4388 (arguments
4389 ;; The tests depend on cl-test-more which is now prove. Prove
4390 ;; tests aren't working for some reason.
4391 `(#:tests? #f))
4392 (inputs
4393 `(("sbcl-fast-io" ,sbcl-fast-io)
4394 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4395 (home-page "https://github.com/fukamachi/circular-streams")
4396 (synopsis "Circularly readable streams for Common Lisp")
4397 (description
4398 "Circular-Streams allows you to read streams circularly by wrapping real
4399streams. Once you reach end-of-file of a stream, it's file position will be
4400reset to 0 and you're able to read it again.")
4401 (license license:llgpl))))
4402
4403(define-public cl-circular-streams
4404 (sbcl-package->cl-source-package sbcl-circular-streams))
4405
4406(define-public sbcl-lack-request
4407 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4408 (revision "1"))
4409 (package
4410 (name "sbcl-lack-request")
4411 (version (git-version "0.1.0" revision commit))
4412 (source
4413 (origin
4414 (method git-fetch)
4415 (uri (git-reference
4416 (url "https://github.com/fukamachi/lack.git")
4417 (commit commit)))
4418 (file-name (git-file-name "lack-request" version))
4419 (sha256
4420 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4421 (build-system asdf-build-system/sbcl)
4422 (arguments
4423 '(#:asd-file "lack-request.asd"
4424 #:asd-system-name "lack-request"
4425 #:test-asd-file "t-lack-request.asd"
4426 ;; XXX: Component :CLACK-TEST not found
4427 #:tests? #f))
4428 (native-inputs
4429 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4430 ("sbcl-prove" ,sbcl-prove)))
4431 (inputs
4432 `(("sbcl-quri" ,sbcl-quri)
4433 ("sbcl-http-body" ,sbcl-http-body)
4434 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4435 (home-page "https://github.com/fukamachi/lack")
4436 (synopsis "Lack, the core of Clack")
4437 (description
4438 "Lack is a Common Lisp library which allows web applications to be
4439constructed of modular components. It was originally a part of Clack, however
4440it's going to be rewritten as an individual project since Clack v2 with
4441performance and simplicity in mind.")
4442 (license license:llgpl))))
4443
4444(define-public cl-lack-request
4445 (sbcl-package->cl-source-package sbcl-lack-request))
4446
4447(define-public sbcl-local-time
4448 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4449 (revision "1"))
4450 (package
4451 (name "sbcl-local-time")
4452 (version (git-version "1.0.6" revision commit))
4453 (source
4454 (origin
4455 (method git-fetch)
4456 (uri (git-reference
4457 (url "https://github.com/dlowe-net/local-time.git")
4458 (commit commit)))
4459 (file-name (git-file-name name version))
4460 (sha256
4461 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4462 (build-system asdf-build-system/sbcl)
4463 (arguments
4464 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4465 ;; "local-time/test">
4466 '(#:tests? #f))
4467 (native-inputs
4468 `(("stefil" ,sbcl-hu.dwim.stefil)))
4469 (inputs
4470 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4471 (home-page "https://common-lisp.net/project/local-time/")
4472 (synopsis "Time manipulation library for Common Lisp")
4473 (description
4474 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4475dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4476Long Painful History of Time\".")
4477 (license license:expat))))
4478
4479(define-public cl-local-time
4480 (sbcl-package->cl-source-package sbcl-local-time))
4481
4482(define-public sbcl-lack-response
4483 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4484 (revision "1"))
4485 (package
4486 (name "sbcl-lack-response")
4487 (version (git-version "0.1.0" revision commit))
4488 (source
4489 (origin
4490 (method git-fetch)
4491 (uri (git-reference
4492 (url "https://github.com/fukamachi/lack.git")
4493 (commit commit)))
4494 (file-name (git-file-name name version))
4495 (sha256
4496 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4497 (build-system asdf-build-system/sbcl)
4498 (arguments
4499 '(#:asd-file "lack-response.asd"
4500 #:asd-system-name "lack-response"
4501 ;; XXX: no tests for lack-response.
4502 #:tests? #f))
4503 (native-inputs
4504 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4505 ("sbcl-prove" ,sbcl-prove)))
4506 (inputs
4507 `(("sbcl-quri" ,sbcl-quri)
4508 ("sbcl-http-body" ,sbcl-http-body)
4509 ("sbcl-circular-streams" ,sbcl-circular-streams)
4510 ("sbcl-local-time" ,sbcl-local-time)))
4511 (home-page "https://github.com/fukamachi/lack")
4512 (synopsis "Lack, the core of Clack")
4513 (description
4514 "Lack is a Common Lisp library which allows web applications to be
4515constructed of modular components. It was originally a part of Clack, however
4516it's going to be rewritten as an individual project since Clack v2 with
4517performance and simplicity in mind.")
4518 (license license:llgpl))))
4519
4520(define-public cl-lack-response
4521 (sbcl-package->cl-source-package sbcl-lack-response))
4522
4523(define-public sbcl-lack-component
4524 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4525 (revision "1"))
4526 (package
4527 (name "sbcl-lack-component")
4528 (version (git-version "0.0.0" revision commit))
4529 (source
4530 (origin
4531 (method git-fetch)
4532 (uri (git-reference
4533 (url "https://github.com/fukamachi/lack.git")
4534 (commit commit)))
4535 (file-name (git-file-name "lack-component" version))
4536 (sha256
4537 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4538 (build-system asdf-build-system/sbcl)
4539 (arguments
4540 '(#:asd-file "lack-component.asd"
4541 #:asd-system-name "lack-component"
4542 #:test-asd-file "t-lack-component.asd"
4543 ;; XXX: Component :LACK-TEST not found
4544 #:tests? #f))
4545 (native-inputs
4546 `(("prove-asdf" ,sbcl-prove-asdf)))
4547 (home-page "https://github.com/fukamachi/lack")
4548 (synopsis "Lack, the core of Clack")
4549 (description
4550 "Lack is a Common Lisp library which allows web applications to be
4551constructed of modular components. It was originally a part of Clack, however
4552it's going to be rewritten as an individual project since Clack v2 with
4553performance and simplicity in mind.")
4554 (license license:llgpl))))
4555
4556(define-public cl-lack-component
4557 (sbcl-package->cl-source-package sbcl-lack-component))
4558
4559(define-public sbcl-lack-util
4560 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4561 (revision "1"))
4562 (package
4563 (name "sbcl-lack-util")
4564 (version (git-version "0.1.0" revision commit))
4565 (source
4566 (origin
4567 (method git-fetch)
4568 (uri (git-reference
4569 (url "https://github.com/fukamachi/lack.git")
4570 (commit commit)))
4571 (file-name (git-file-name "lack-util" version))
4572 (sha256
4573 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4574 (build-system asdf-build-system/sbcl)
4575 (arguments
4576 '(#:asd-file "lack-util.asd"
4577 #:asd-system-name "lack-util"
4578 #:test-asd-file "t-lack-util.asd"
4579 ;; XXX: Component :LACK-TEST not found
4580 #:tests? #f))
4581 (native-inputs
4582 `(("prove-asdf" ,sbcl-prove-asdf)))
4583 (inputs
4584 `(("sbcl-ironclad" ,sbcl-ironclad)))
4585 (home-page "https://github.com/fukamachi/lack")
4586 (synopsis "Lack, the core of Clack")
4587 (description
4588 "Lack is a Common Lisp library which allows web applications to be
4589constructed of modular components. It was originally a part of Clack, however
4590it's going to be rewritten as an individual project since Clack v2 with
4591performance and simplicity in mind.")
4592 (license license:llgpl))))
4593
4594(define-public cl-lack-util
4595 (sbcl-package->cl-source-package sbcl-lack-util))
4596
4597(define-public sbcl-lack-middleware-backtrace
4598 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4599 (revision "1"))
4600 (package
4601 (name "sbcl-lack-middleware-backtrace")
4602 (version (git-version "0.1.0" revision commit))
4603 (source
4604 (origin
4605 (method git-fetch)
4606 (uri (git-reference
4607 (url "https://github.com/fukamachi/lack.git")
4608 (commit commit)))
4609 (file-name (git-file-name "lack-middleware-backtrace" version))
4610 (sha256
4611 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4612 (build-system asdf-build-system/sbcl)
4613 (arguments
4614 '(#:asd-file "lack-middleware-backtrace.asd"
4615 #:asd-system-name "lack-middleware-backtrace"
4616 #:test-asd-file "t-lack-middleware-backtrace.asd"
4617 ;; XXX: Component :LACK not found
4618 #:tests? #f))
4619 (native-inputs
4620 `(("prove-asdf" ,sbcl-prove-asdf)))
4621 (home-page "https://github.com/fukamachi/lack")
4622 (synopsis "Lack, the core of Clack")
4623 (description
4624 "Lack is a Common Lisp library which allows web applications to be
4625constructed of modular components. It was originally a part of Clack, however
4626it's going to be rewritten as an individual project since Clack v2 with
4627performance and simplicity in mind.")
4628 (license license:llgpl))))
4629
4630(define-public cl-lack-middleware-backtrace
4631 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4632
4633(define-public sbcl-trivial-mimes
4634 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4635 (revision "1"))
4636 (package
4637 (name "sbcl-trivial-mimes")
4638 (version (git-version "1.1.0" revision commit))
4639 (source
4640 (origin
4641 (method git-fetch)
4642 (uri (git-reference
4643 (url "https://github.com/Shinmera/trivial-mimes.git")
4644 (commit commit)))
4645 (file-name (git-file-name name version))
4646 (sha256
4647 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4648 (build-system asdf-build-system/sbcl)
4649 (arguments
4650 '(#:phases
4651 (modify-phases %standard-phases
4652 (add-after
4653 'unpack 'fix-paths
4654 (lambda* (#:key inputs #:allow-other-keys)
4655 (let ((anchor "#p\"/etc/mime.types\""))
4656 (substitute* "mime-types.lisp"
4657 ((anchor all)
4658 (string-append
4659 anchor "\n"
4660 "(asdf:system-relative-pathname :trivial-mimes "
4661 "\"../../share/common-lisp/" (%lisp-type)
4662 "-source/trivial-mimes/mime.types\")")))))))))
4663 (native-inputs
4664 `(("stefil" ,sbcl-hu.dwim.stefil)))
4665 (inputs
4666 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4667 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4668 (synopsis "Tiny Common Lisp library to detect mime types in files")
4669 (description
4670 "This is a teensy library that provides some functions to determine the
4671mime-type of a file.")
4672 (license license:artistic2.0))))
4673
4674(define-public cl-trivial-mimes
4675 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4676
4677(define-public ecl-trivial-mimes
4678 (sbcl-package->ecl-package sbcl-trivial-mimes))
4679
4680(define-public sbcl-lack-middleware-static
4681 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4682 (revision "1"))
4683 (package
4684 (name "sbcl-lack-middleware-static")
4685 (version (git-version "0.1.0" revision commit))
4686 (source
4687 (origin
4688 (method git-fetch)
4689 (uri (git-reference
4690 (url "https://github.com/fukamachi/lack.git")
4691 (commit commit)))
4692 (file-name (git-file-name "lack-middleware-static" version))
4693 (sha256
4694 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4695 (build-system asdf-build-system/sbcl)
4696 (arguments
4697 '(#:asd-file "lack-middleware-static.asd"
4698 #:asd-system-name "lack-middleware-static"
4699 #:test-asd-file "t-lack-middleware-static.asd"
4700 ;; XXX: Component :LACK not found
4701 #:tests? #f))
4702 (native-inputs
4703 `(("prove-asdf" ,sbcl-prove-asdf)))
4704 (inputs
4705 `(("sbcl-ironclad" ,sbcl-ironclad)
4706 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4707 ("sbcl-local-time" ,sbcl-local-time)))
4708 (home-page "https://github.com/fukamachi/lack")
4709 (synopsis "Lack, the core of Clack")
4710 (description
4711 "Lack is a Common Lisp library which allows web applications to be
4712constructed of modular components. It was originally a part of Clack, however
4713it's going to be rewritten as an individual project since Clack v2 with
4714performance and simplicity in mind.")
4715 (license license:llgpl))))
4716
4717(define-public cl-lack-middleware-static
4718 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4719
4720(define-public sbcl-lack
4721 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4722 (revision "1"))
4723 (package
4724 (name "sbcl-lack")
4725 (version (git-version "0.1.0" revision commit))
4726 (source
4727 (origin
4728 (method git-fetch)
4729 (uri (git-reference
4730 (url "https://github.com/fukamachi/lack.git")
4731 (commit commit)))
4732 (file-name (git-file-name "lack" version))
4733 (sha256
4734 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4735 (build-system asdf-build-system/sbcl)
4736 (arguments
4737 '(#:test-asd-file "t-lack.asd"
4738 ;; XXX: Component :CLACK not found
4739 #:tests? #f))
4740 (native-inputs
4741 `(("prove-asdf" ,sbcl-prove-asdf)))
4742 (inputs
4743 `(("sbcl-lack-component" ,sbcl-lack-component)
4744 ("sbcl-lack-util" ,sbcl-lack-util)))
4745 (home-page "https://github.com/fukamachi/lack")
4746 (synopsis "Lack, the core of Clack")
4747 (description
4748 "Lack is a Common Lisp library which allows web applications to be
4749constructed of modular components. It was originally a part of Clack, however
4750it's going to be rewritten as an individual project since Clack v2 with
4751performance and simplicity in mind.")
4752 (license license:llgpl))))
4753
4754(define-public cl-lack
4755 (sbcl-package->cl-source-package sbcl-lack))
4756
4757(define-public sbcl-ningle
4758 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4759 (revision "1"))
4760 (package
4761 (name "sbcl-ningle")
4762 (version (git-version "0.3.0" revision commit))
4763 (source
4764 (origin
4765 (method git-fetch)
4766 (uri (git-reference
4767 (url "https://github.com/fukamachi/ningle.git")
4768 (commit commit)))
4769 (file-name (git-file-name name version))
4770 (sha256
4771 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4772 (build-system asdf-build-system/sbcl)
4773 (arguments
4774 ;; TODO: pull in clack-test
4775 '(#:tests? #f
4776 #:phases
4777 (modify-phases %standard-phases
4778 (delete 'cleanup-files)
4779 (delete 'cleanup)
4780 (add-before 'cleanup 'combine-fasls
4781 (lambda* (#:key outputs #:allow-other-keys)
4782 (let* ((out (assoc-ref outputs "out"))
4783 (lib (string-append out "/lib/sbcl"))
4784 (ningle-path (string-append lib "/ningle"))
4785 (fasl-files (find-files out "\\.fasl$")))
4786 (mkdir-p ningle-path)
4787 (let ((fasl-path (lambda (name)
4788 (string-append ningle-path
4789 "/"
4790 (basename name)
4791 "--system.fasl"))))
4792 (for-each (lambda (file)
4793 (rename-file file
4794 (fasl-path
4795 (basename file ".fasl"))))
4796 fasl-files))
4797 fasl-files)
4798 #t)))))
4799 (native-inputs
4800 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4801 ("sbcl-prove" ,sbcl-prove)))
4802 (inputs
4803 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4804 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4805 ("sbcl-myway" ,sbcl-myway)
4806 ("sbcl-lack-request" ,sbcl-lack-request)
4807 ("sbcl-lack-response" ,sbcl-lack-response)
4808 ("sbcl-lack-component" ,sbcl-lack-component)
4809 ("sbcl-alexandria" ,sbcl-alexandria)
4810 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4811 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4812 (synopsis "Super micro framework for Common Lisp")
4813 (description
4814 "Ningle is a lightweight web application framework for Common Lisp.")
4815 (license license:llgpl))))
4816
4817(define-public cl-ningle
4818 (sbcl-package->cl-source-package sbcl-ningle))
4819
4820(define-public sbcl-clack
4821 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4822 (revision "1"))
4823 (package
4824 (name "sbcl-clack")
4825 (version (git-version "2.0.0" revision commit))
4826 (source
4827 (origin
4828 (method git-fetch)
4829 (uri (git-reference
4830 (url "https://github.com/fukamachi/clack.git")
4831 (commit commit)))
4832 (file-name (git-file-name name version))
4833 (sha256
4834 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4835 (build-system asdf-build-system/sbcl)
4836 (inputs
4837 `(("sbcl-lack" ,sbcl-lack)
4838 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4839 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4840 (home-page "https://github.com/fukamachi/clack")
4841 (synopsis "Web Application Environment for Common Lisp")
4842 (description
4843 "Clack is a web application environment for Common Lisp inspired by
4844Python's WSGI and Ruby's Rack.")
4845 (license license:llgpl))))
4846
4847(define-public cl-clack
4848 (sbcl-package->cl-source-package sbcl-clack))
4849
4850(define-public sbcl-log4cl
4851 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4852 (revision "1"))
4853 (package
4854 (name "sbcl-log4cl")
4855 (build-system asdf-build-system/sbcl)
4856 (version "1.1.2")
4857 (source
4858 (origin
4859 (method git-fetch)
4860 (uri (git-reference
4861 (url "https://github.com/sharplispers/log4cl")
4862 (commit commit)))
4863 (file-name (git-file-name name version))
4864 (sha256
4865 (base32
4866 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4867 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4868 (arguments
4869 `(#:tests? #f))
4870 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4871 (synopsis "Common Lisp logging framework, modeled after Log4J")
4872 (home-page "https://github.com/7max/log4cl")
4873 (description "This is a Common Lisp logging framework that can log at
4874various levels and mix text with expressions.")
4875 (license license:asl2.0))))
4876
4877(define-public cl-log4cl
4878 (sbcl-package->cl-source-package sbcl-log4cl))
4879
4880(define-public ecl-log4cl
4881 (sbcl-package->ecl-package sbcl-log4cl))
4882
4883(define-public sbcl-find-port
4884 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4885 (revision "1"))
4886 (package
4887 (name "sbcl-find-port")
4888 (build-system asdf-build-system/sbcl)
4889 (version "0.1")
4890 (home-page "https://github.com/eudoxia0/find-port")
4891 (source
4892 (origin
4893 (method git-fetch)
4894 (uri (git-reference
4895 (url home-page)
4896 (commit commit)))
4897 (file-name (git-file-name name version))
4898 (sha256
4899 (base32
4900 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4901 (native-inputs
4902 `(("fiveam" ,sbcl-fiveam)))
4903 (inputs
4904 `(("sbcl-usocket" ,sbcl-usocket)))
4905 (synopsis "Find open ports programmatically in Common Lisp")
4906 (description "This is a small Common Lisp library that finds an open
4907port within a range.")
4908 (license license:expat))))
4909
4910(define-public cl-find-port
4911 (sbcl-package->cl-source-package sbcl-find-port))
4912
4913(define-public ecl-find-port
4914 (sbcl-package->ecl-package sbcl-find-port))
4915
4916(define-public sbcl-clunit
4917 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4918 (revision "1"))
4919 (package
4920 (name "sbcl-clunit")
4921 (version (git-version "0.2.3" revision commit))
4922 (source
4923 (origin
4924 (method git-fetch)
4925 (uri (git-reference
4926 (url "https://github.com/tgutu/clunit.git")
4927 (commit commit)))
4928 (file-name (git-file-name name version))
4929 (sha256
4930 (base32
4931 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4932 (build-system asdf-build-system/sbcl)
4933 (synopsis "CLUnit is a Common Lisp unit testing framework")
4934 (description
4935 "CLUnit is a Common Lisp unit testing framework. It is designed
4936to be easy to use so that you can quickly start testing. CLUnit
4937provides a rich set of features aimed at improving your unit testing
4938experience.")
b4034d1b 4939 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
4940 ;; MIT License
4941 (license license:expat))))
4942
4943(define-public cl-clunit
4944 (sbcl-package->cl-source-package sbcl-clunit))
4945
4946(define-public ecl-clunit
4947 (sbcl-package->ecl-package sbcl-clunit))
4948
4949(define-public sbcl-py4cl
4950 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4951 (revision "1"))
4952 (package
4953 (name "sbcl-py4cl")
4954 (version (git-version "0.0.0" revision commit))
4955 (source
4956 (origin
4957 (method git-fetch)
4958 (uri (git-reference
4959 (url "https://github.com/bendudson/py4cl.git")
4960 (commit commit)))
4961 (file-name (git-file-name name version))
4962 (sha256
4963 (base32
4964 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4965 (modules '((guix build utils)))))
4966 (build-system asdf-build-system/sbcl)
4967 (native-inputs
4968 `(("sbcl-clunit" ,sbcl-clunit)))
4969 (inputs
4970 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4971 (propagated-inputs
4972 ;; This package doesn't do anything without python available
4973 `(("python" ,python)
4974 ;; For multi-dimensional array support
4975 ("python-numpy" ,python-numpy)))
4976 (arguments
4977 '(#:phases
4978 (modify-phases %standard-phases
4979 (add-after 'unpack 'replace-*base-directory*-var
4980 (lambda* (#:key outputs #:allow-other-keys)
4981 ;; In the ASD, the author makes an attempt to
4982 ;; programatically determine the location of the
4983 ;; source-code so lisp can call into "py4cl.py". We can
4984 ;; hard-code this since we know where this file will
4985 ;; reside.
4986 (substitute* "src/callpython.lisp"
4987 (("py4cl/config:\\*base-directory\\*")
4988 (string-append
4989 "\""
4990 (assoc-ref outputs "out")
4991 "/share/common-lisp/sbcl-source/py4cl/"
4992 "\""))))))))
4993 (synopsis "Call python from Common Lisp")
4994 (description
4995 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4996Lisp to interact with Python code. It uses streams to communicate with a
4997separate python process, the approach taken by cl4py. This is different to
4998the CFFI approach used by burgled-batteries, but has the same goal.")
4999 (home-page "https://github.com/bendudson/py4cl")
5000 ;; MIT License
5001 (license license:expat))))
5002
5003(define-public cl-py4cl
5004 (sbcl-package->cl-source-package sbcl-py4cl))
5005
5006(define-public ecl-py4cl
5007 (sbcl-package->ecl-package sbcl-py4cl))
5008
5009(define-public sbcl-parse-declarations
1fce78c4
GLV
5010 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5011 (revision "1"))
5012 (package
5013 (name "sbcl-parse-declarations")
5014 (version (git-version "1.0.0" revision commit))
5015 (source
5016 (origin
5017 (method git-fetch)
5018 (uri (git-reference
5019 (url (string-append
5020 "https://gitlab.common-lisp.net/parse-declarations/"
5021 "parse-declarations.git"))
5022 (commit commit)))
5023 (file-name (git-file-name name version))
5024 (sha256
5025 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5026 (build-system asdf-build-system/sbcl)
5027 (arguments
5028 `(#:asd-file "parse-declarations-1.0.asd"
5029 #:asd-system-name "parse-declarations-1.0"))
5030 (home-page "https://common-lisp.net/project/parse-declarations/")
5031 (synopsis "Parse, filter, and build declarations")
5032 (description
5033 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5034macros which establish bindings. To be semantically correct, such
5035macros must take user declarations into account, as these may affect
5036the bindings they establish. Yet the ANSI standard of Common Lisp does
5037not provide any operators to work with declarations in a convenient,
5038high-level way. This library provides such operators.")
1fce78c4
GLV
5039 ;; MIT License
5040 (license license:expat))))
88f06fd0
PN
5041
5042(define-public cl-parse-declarations
5043 (sbcl-package->cl-source-package sbcl-parse-declarations))
5044
5045(define-public ecl-parse-declarations
5046 (sbcl-package->ecl-package sbcl-parse-declarations))
5047
5048(define-public sbcl-cl-quickcheck
5049 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5050 (revision "1"))
5051 (package
5052 (name "sbcl-cl-quickcheck")
5053 (version (git-version "0.0.4" revision commit))
5054 (source
5055 (origin
5056 (method git-fetch)
5057 (uri (git-reference
5058 (url "https://github.com/mcandre/cl-quickcheck.git")
5059 (commit commit)))
5060 (file-name (git-file-name name version))
5061 (sha256
5062 (base32
5063 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5064 (build-system asdf-build-system/sbcl)
5065 (synopsis
5066 "Common Lisp port of the QuickCheck unit test framework")
5067 (description
5068 "Common Lisp port of the QuickCheck unit test framework")
5069 (home-page "https://github.com/mcandre/cl-quickcheck")
5070 ;; MIT
5071 (license license:expat))))
5072
5073(define-public cl-cl-quickcheck
5074 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5075
5076(define-public ecl-cl-quickcheck
5077 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5078
5079(define-public sbcl-burgled-batteries3
839fa4cd
MB
5080 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5081 (revision "2"))
88f06fd0
PN
5082 (package
5083 (name "sbcl-burgled-batteries3")
5084 (version (git-version "0.0.0" revision commit))
5085 (source
5086 (origin
5087 (method git-fetch)
5088 (uri (git-reference
5089 (url "https://github.com/snmsts/burgled-batteries3.git")
5090 (commit commit)))
5091 (file-name (git-file-name name version))
5092 (sha256
5093 (base32
839fa4cd 5094 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5095 (build-system asdf-build-system/sbcl)
5096 (arguments
839fa4cd
MB
5097 `(#:tests? #f
5098 #:modules (((guix build python-build-system) #:select (python-version))
5099 ,@%asdf-build-system-modules)
5100 #:imported-modules ((guix build python-build-system)
5101 ,@%asdf-build-system-modules)
88f06fd0 5102 #:phases
839fa4cd 5103 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5104 (add-after 'unpack 'set-*cpython-include-dir*-var
5105 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5106 (let ((python (assoc-ref inputs "python")))
5107 (setenv "BB_PYTHON3_INCLUDE_DIR"
5108 (string-append python "/include/python"
5109 (python-version python)
5110 "m"))
5111 (setenv "BB_PYTHON3_DYLIB"
5112 (string-append python "/lib/libpython3.so"))
5113 #t))))))
88f06fd0 5114 (native-inputs
3d280dae 5115 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5116 ("sbcl-lift" ,sbcl-lift)
5117 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5118 (inputs
3d280dae
MB
5119 `(("python" ,python)
5120 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5121 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5122 ("sbcl-alexandria" , sbcl-alexandria)
5123 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5124 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5125 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5126 (description
5127 "This package provides a shim between Python3 (specifically, the
5128CPython implementation of Python) and Common Lisp.")
5129 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5130 (license license:expat))))
5131
5132(define-public cl-burgled-batteries3
5133 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5134
5135(define-public ecl-burgled-batteries3
5136 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5137
5138(define-public sbcl-metabang-bind
5139 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5140 (revision "1"))
5141 (package
5142 (name "sbcl-metabang-bind")
5143 (version (git-version "0.8.0" revision commit))
5144 (source
5145 (origin
5146 (method git-fetch)
5147 (uri (git-reference
5148 (url "https://github.com/gwkkwg/metabang-bind.git")
5149 (commit commit)))
5150 (file-name (git-file-name name version))
5151 (sha256
5152 (base32
5153 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5154 (build-system asdf-build-system/sbcl)
5155 (native-inputs
5156 `(("sbcl-lift" ,sbcl-lift)))
5157 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5158 (description
5159 "Bind extends the idea of of let and destructing to provide a uniform
5160syntax for all your accessor needs. It combines @code{let},
5161@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5162editing, property or association-lists, and @code{multiple-value-bind} and a
5163whole lot more into a single form.")
5164 (home-page "https://common-lisp.net/project/metabang-bind/")
5165 ;; MIT License
5166 (license license:expat))))
5167
5168(define-public cl-metabang-bind
5169 (sbcl-package->cl-source-package sbcl-metabang-bind))
5170
5171(define-public ecl-metabang-bind
5172 (sbcl-package->ecl-package sbcl-metabang-bind))
5173
5174(define-public sbcl-fare-utils
5175 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5176 (revision "1"))
5177 (package
5178 (name "sbcl-fare-utils")
5179 (version (git-version "1.0.0.5" revision commit))
5180 (source
5181 (origin
5182 (method git-fetch)
5183 (uri
5184 (git-reference
5185 (url
5186 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5187 (commit commit)))
5188 (file-name (git-file-name name version))
5189 (sha256
5190 (base32
5191 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5192 (build-system asdf-build-system/sbcl)
5193 (arguments
5194 `(#:test-asd-file "test/fare-utils-test.asd"))
5195 (native-inputs
5196 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5197 (synopsis "Collection of utilities and data structures")
5198 (description
5199 "fare-utils is a small collection of utilities. It contains a lot of
5200basic everyday functions and macros.")
5201 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5202 ;; MIT License
5203 (license license:expat))))
5204
5205(define-public cl-fare-utils
5206 (sbcl-package->cl-source-package sbcl-fare-utils))
5207
5208(define-public ecl-fare-utils
5209 (sbcl-package->ecl-package sbcl-fare-utils))
5210
5211(define-public sbcl-trivial-utf-8
5212 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5213 (revision "1"))
5214 (package
5215 (name "sbcl-trivial-utf-8")
5216 (version (git-version "0.0.0" revision commit))
5217 (source
5218 (origin
5219 (method git-fetch)
5220 (uri
5221 (git-reference
5222 (url (string-append "https://gitlab.common-lisp.net/"
5223 "trivial-utf-8/trivial-utf-8.git"))
5224 (commit commit)))
5225 (file-name (git-file-name name version))
5226 (sha256
5227 (base32
5228 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5229 (arguments
5230 ;; Guix incorrectly assumes the "8" is part of the version
5231 ;; number and lobs it off.
5232 `(#:asd-file "trivial-utf-8.asd"
5233 #:asd-system-name "trivial-utf-8"))
5234 (build-system asdf-build-system/sbcl)
5235 (synopsis "UTF-8 input/output library")
5236 (description
5237 "The Babel library solves a similar problem while understanding more
5238encodings. Trivial UTF-8 was written before Babel existed, but for new
5239projects you might be better off going with Babel. The one plus that Trivial
5240UTF-8 has is that it doesn't depend on any other libraries.")
5241 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5242 (license license:bsd-3))))
5243
5244(define-public cl-trivial-utf-8
5245 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5246
5247(define-public ecl-trivial-utf-8
5248 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5249
5250(define-public sbcl-idna
5251 (package
5252 (name "sbcl-idna")
5253 (build-system asdf-build-system/sbcl)
5254 (version "0.2.2")
5255 (home-page "https://github.com/antifuchs/idna")
5256 (source
5257 (origin
5258 (method git-fetch)
5259 (uri (git-reference
5260 (url home-page)
5261 (commit version)))
5262 (file-name (git-file-name name version))
5263 (sha256
5264 (base32
5265 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5266 (inputs
5267 `(("split-sequence" ,sbcl-split-sequence)))
5268 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5269 (description "This Common Lisp library provides string encoding and
5270decoding routines for IDNA, the International Domain Names in Applications.")
5271 (license license:expat)))
5272
5273(define-public cl-idna
5274 (sbcl-package->cl-source-package sbcl-idna))
5275
5276(define-public ecl-idna
5277 (sbcl-package->ecl-package sbcl-idna))
5278
5279(define-public sbcl-swap-bytes
5280 (package
5281 (name "sbcl-swap-bytes")
5282 (build-system asdf-build-system/sbcl)
dbf6de58 5283 (version "1.2")
88f06fd0
PN
5284 (home-page "https://github.com/sionescu/swap-bytes")
5285 (source
5286 (origin
5287 (method git-fetch)
5288 (uri (git-reference
5289 (url home-page)
5290 (commit (string-append "v" version))))
5291 (file-name (git-file-name name version))
5292 (sha256
5293 (base32
dbf6de58 5294 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5295 (inputs
5296 `(("trivial-features" ,sbcl-trivial-features)))
5297 (native-inputs
5298 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5299 (synopsis "Efficient endianness conversion for Common Lisp")
5300 (description "This Common Lisp library provides optimized byte-swapping
5301primitives. The library can change endianness of unsigned integers of length
53021/2/4/8. Very useful in implementing various network protocols and file
5303formats.")
5304 (license license:expat)))
5305
5306(define-public cl-swap-bytes
5307 (sbcl-package->cl-source-package sbcl-swap-bytes))
5308
5309(define-public ecl-swap-bytes
5310 (sbcl-package->ecl-package sbcl-swap-bytes))
5311
5312(define-public sbcl-iolib.asdf
5313 ;; Latest release is from June 2017.
5314 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5315 (revision "1"))
5316 (package
5317 (name "sbcl-iolib.asdf")
5318 (build-system asdf-build-system/sbcl)
5319 (version "0.8.3")
5320 (home-page "https://github.com/sionescu/iolib")
5321 (source
5322 (origin
5323 (method git-fetch)
5324 (uri (git-reference
5325 (url home-page)
5326 (commit commit)))
5327 (file-name (git-file-name name version))
5328 (sha256
5329 (base32
5330 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5331 (inputs
5332 `(("alexandria" ,sbcl-alexandria)))
5333 (arguments
5334 '(#:asd-file "iolib.asdf.asd"))
5335 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5336 (description "IOlib is to be a better and more modern I/O library than
5337the standard Common Lisp library. It contains a socket library, a DNS
5338resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5339and @code{kqueue(2)}), a pathname library and file-system utilities.")
5340 (license license:expat))))
5341
5342(define-public sbcl-iolib.conf
5343 (package
5344 (inherit sbcl-iolib.asdf)
5345 (name "sbcl-iolib.conf")
5346 (inputs
5347 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5348 (arguments
5349 '(#:asd-file "iolib.conf.asd"))
5350 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5351
5352(define-public sbcl-iolib.common-lisp
5353 (package
5354 (inherit sbcl-iolib.asdf)
5355 (name "sbcl-iolib.common-lisp")
5356 (inputs
5357 `(("iolib.asdf" ,sbcl-iolib.asdf)
5358 ("iolib.conf" ,sbcl-iolib.conf)))
5359 (arguments
5360 '(#:asd-file "iolib.common-lisp.asd"))
5361 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5362
5363(define-public sbcl-iolib.base
5364 (package
5365 (inherit sbcl-iolib.asdf)
5366 (name "sbcl-iolib.base")
5367 (inputs
5368 `(("iolib.asdf" ,sbcl-iolib.asdf)
5369 ("iolib.conf" ,sbcl-iolib.conf)
5370 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5371 ("split-sequence" ,sbcl-split-sequence)))
5372 (arguments
5373 '(#:asd-file "iolib.base.asd"))
5374 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5375
5376(define-public sbcl-iolib.grovel
5377 (package
5378 (inherit sbcl-iolib.asdf)
5379 (name "sbcl-iolib.grovel")
5380 (inputs
5381 `(("iolib.asdf" ,sbcl-iolib.asdf)
5382 ("iolib.conf" ,sbcl-iolib.conf)
5383 ("iolib.base", sbcl-iolib.base)
5384 ("cffi", sbcl-cffi)))
5385 (arguments
5386 '(#:asd-file "iolib.grovel.asd"
5387 #:phases
5388 (modify-phases %standard-phases
5389 (add-after 'install 'install-header
5390 (lambda* (#:key outputs #:allow-other-keys)
5391 ;; This header is required by sbcl-iolib.
5392 (install-file "src/grovel/grovel-common.h"
5393 (string-append (assoc-ref outputs "out")
5394 "/lib/sbcl"))
5395 #t)))))
5396 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5397
af5c4eff 5398(define sbcl-iolib+syscalls
88f06fd0
PN
5399 (package
5400 (inherit sbcl-iolib.asdf)
af5c4eff 5401 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5402 (inputs
5403 `(("iolib.asdf" ,sbcl-iolib.asdf)
5404 ("iolib.conf" ,sbcl-iolib.conf)
5405 ("iolib.grovel" ,sbcl-iolib.grovel)
5406 ("iolib.base" ,sbcl-iolib.base)
5407 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5408 ("idna" ,sbcl-idna)
5409 ("swap-bytes" ,sbcl-swap-bytes)
5410 ("libfixposix" ,libfixposix)
5411 ("cffi" ,sbcl-cffi)))
5412 (native-inputs
5413 `(("fiveam" ,sbcl-fiveam)))
5414 (arguments
5415 '(#:asd-file "iolib.asd"
af5c4eff 5416 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5417 #:test-asd-file "iolib.tests.asd"
5418 #:phases
5419 (modify-phases %standard-phases
5420 (add-after 'unpack 'fix-paths
5421 (lambda* (#:key inputs #:allow-other-keys)
5422 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5423 (("\\(:default \"libfixposix\"\\)")
5424 (string-append
5425 "(:default \""
5426 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5427 ;; Socket tests need Internet access, disable them.
5428 (substitute* "iolib.tests.asd"
5429 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5430 "")))))))
5431 (synopsis "Common Lisp I/O library")))
5432
88f06fd0
PN
5433(define sbcl-iolib+multiplex
5434 (package
af5c4eff 5435 (inherit sbcl-iolib+syscalls)
88f06fd0 5436 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5437 (inputs
5438 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5439 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5440 (arguments
af5c4eff 5441 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5442 ((#:asd-system-name _) "iolib/multiplex")))))
5443
af5c4eff 5444
88f06fd0
PN
5445
5446(define sbcl-iolib+streams
5447 (package
af5c4eff 5448 (inherit sbcl-iolib+syscalls)
88f06fd0 5449 (name "sbcl-iolib+streams")
af5c4eff
PN
5450 (inputs
5451 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5452 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5453 (arguments
af5c4eff 5454 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5455 ((#:asd-system-name _) "iolib/streams")))))
5456
5457(define sbcl-iolib+sockets
5458 (package
af5c4eff 5459 (inherit sbcl-iolib+syscalls)
88f06fd0 5460 (name "sbcl-iolib+sockets")
af5c4eff
PN
5461 (inputs
5462 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5463 ("iolib+streams" ,sbcl-iolib+streams)
5464 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5465 (arguments
af5c4eff 5466 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5467 ((#:asd-system-name _) "iolib/sockets")))))
5468
af5c4eff
PN
5469(define-public sbcl-iolib
5470 (package
5471 (inherit sbcl-iolib+syscalls)
5472 (name "sbcl-iolib")
5473 (inputs
5474 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5475 ("iolib+streams" ,sbcl-iolib+streams)
5476 ("iolib+sockets" ,sbcl-iolib+sockets)
5477 ,@(package-inputs sbcl-iolib+syscalls)))
5478 (arguments
5479 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5480 ((#:asd-system-name _) "iolib")))))
5481
5482(define-public cl-iolib
5483 (sbcl-package->cl-source-package sbcl-iolib))
5484
88f06fd0
PN
5485(define-public sbcl-ieee-floats
5486 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5487 (revision "1"))
5488 (package
5489 (name "sbcl-ieee-floats")
5490 (build-system asdf-build-system/sbcl)
5491 (version (git-version "20170924" revision commit))
5492 (home-page "https://github.com/marijnh/ieee-floats/")
5493 (source
5494 (origin
5495 (method git-fetch)
5496 (uri (git-reference
5497 (url home-page)
5498 (commit commit)))
5499 (file-name (git-file-name name version))
5500 (sha256
5501 (base32
5502 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5503 (native-inputs
5504 `(("fiveam" ,sbcl-fiveam)))
5505 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5506 (description "This is a Common Lisp library that converts
88f06fd0
PN
5507floating point values to IEEE 754 binary representation.")
5508 (license license:bsd-3))))
5509
5510(define-public cl-ieee-floats
5511 (sbcl-package->cl-source-package sbcl-ieee-floats))
5512
5513(define sbcl-closure-common
5514 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5515 (revision "1"))
5516 (package
5517 (name "sbcl-closure-common")
5518 (build-system asdf-build-system/sbcl)
5519 (version (git-version "20101006" revision commit))
5520 (home-page "https://common-lisp.net/project/cxml/")
5521 (source
5522 (origin
5523 (method git-fetch)
5524 (uri (git-reference
5525 (url "https://github.com/sharplispers/closure-common")
5526 (commit commit)))
5527 (file-name (git-file-name name version))
5528 (sha256
5529 (base32
5530 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5531 (inputs
5532 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5533 ("babel" ,sbcl-babel)))
5534 (synopsis "Support Common Lisp library for CXML")
5535 (description "Closure-common is an internal helper library. The name
5536Closure is a reference to the web browser it was originally written for.")
5537 ;; TODO: License?
5538 (license #f))))
5539
5540(define-public sbcl-cxml+xml
5541 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5542 (revision "1"))
5543 (package
5544 (name "sbcl-cxml+xml")
5545 (build-system asdf-build-system/sbcl)
5546 (version (git-version "0.0.0" revision commit))
5547 (home-page "https://common-lisp.net/project/cxml/")
5548 (source
5549 (origin
5550 (method git-fetch)
5551 (uri (git-reference
5552 (url "https://github.com/sharplispers/cxml")
5553 (commit commit)))
5554 (file-name (git-file-name name version))
5555 (sha256
5556 (base32
5557 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5558 (inputs
5559 `(("closure-common" ,sbcl-closure-common)
5560 ("puri" ,sbcl-puri)
5561 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5562 (arguments
5563 `(#:asd-file "cxml.asd"
5564 #:asd-system-name "cxml/xml"))
5565 (synopsis "Common Lisp XML parser")
5566 (description "CXML implements a namespace-aware, validating XML 1.0
5567parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5568offered, one SAX-like, the other similar to StAX.")
5569 (license license:llgpl))))
5570
5571(define sbcl-cxml+dom
5572 (package
5573 (inherit sbcl-cxml+xml)
5574 (name "sbcl-cxml+dom")
5575 (inputs
5576 `(("closure-common" ,sbcl-closure-common)
5577 ("puri" ,sbcl-puri)
5578 ("cxml+xml" ,sbcl-cxml+xml)))
5579 (arguments
5580 `(#:asd-file "cxml.asd"
5581 #:asd-system-name "cxml/dom"))))
5582
5583(define sbcl-cxml+klacks
5584 (package
5585 (inherit sbcl-cxml+xml)
5586 (name "sbcl-cxml+klacks")
5587 (inputs
5588 `(("closure-common" ,sbcl-closure-common)
5589 ("puri" ,sbcl-puri)
5590 ("cxml+xml" ,sbcl-cxml+xml)))
5591 (arguments
5592 `(#:asd-file "cxml.asd"
5593 #:asd-system-name "cxml/klacks"))))
5594
5595(define sbcl-cxml+test
5596 (package
5597 (inherit sbcl-cxml+xml)
5598 (name "sbcl-cxml+test")
5599 (inputs
5600 `(("closure-common" ,sbcl-closure-common)
5601 ("puri" ,sbcl-puri)
5602 ("cxml+xml" ,sbcl-cxml+xml)))
5603 (arguments
5604 `(#:asd-file "cxml.asd"
5605 #:asd-system-name "cxml/test"))))
5606
5607(define-public sbcl-cxml
5608 (package
5609 (inherit sbcl-cxml+xml)
5610 (name "sbcl-cxml")
5611 (inputs
5612 `(("closure-common" ,sbcl-closure-common)
5613 ("puri" ,sbcl-puri)
5614 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5615 ("cxml+dom" ,sbcl-cxml+dom)
5616 ("cxml+klacks" ,sbcl-cxml+klacks)
5617 ("cxml+test" ,sbcl-cxml+test)))
5618 (arguments
5619 `(#:asd-file "cxml.asd"
5620 #:asd-system-name "cxml"
5621 #:phases
5622 (modify-phases %standard-phases
5623 (add-after 'build 'install-dtd
5624 (lambda* (#:key outputs #:allow-other-keys)
5625 (install-file "catalog.dtd"
5626 (string-append
5627 (assoc-ref outputs "out")
5628 "/lib/" (%lisp-type)))))
5629 (add-after 'create-asd 'remove-component
5630 ;; XXX: The original .asd has no components, but our build system
5631 ;; creates an entry nonetheless. We need to remove it for the
5632 ;; generated .asd to load properly. See trivia.trivial for a
5633 ;; similar problem.
5634 (lambda* (#:key outputs #:allow-other-keys)
5635 (let* ((out (assoc-ref outputs "out"))
5636 (asd (string-append out "/lib/sbcl/cxml.asd")))
5637 (substitute* asd
5638 ((" :components
5639")
5640 ""))
5641 (substitute* asd
5642 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5643 ""))))))))))
5644
5645(define-public cl-cxml
5646 (sbcl-package->cl-source-package sbcl-cxml))
5647
5648(define-public sbcl-cl-reexport
5649 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5650 (revision "1"))
5651 (package
5652 (name "sbcl-cl-reexport")
5653 (build-system asdf-build-system/sbcl)
5654 (version (git-version "0.1" revision commit))
5655 (home-page "https://github.com/takagi/cl-reexport")
5656 (source
5657 (origin
5658 (method git-fetch)
5659 (uri (git-reference
5660 (url home-page)
5661 (commit commit)))
5662 (file-name (git-file-name name version))
5663 (sha256
5664 (base32
5665 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5666 (inputs
5667 `(("alexandria" ,sbcl-alexandria)))
5668 (arguments
5669 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
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:llgpl))))
5675
5676(define-public cl-reexport
5677 (sbcl-package->cl-source-package sbcl-cl-reexport))
5678
5679(define-public sbcl-cl-cookie
5680 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5681 (revision "1"))
5682 (package
5683 (name "sbcl-cl-cookie")
5684 (build-system asdf-build-system/sbcl)
5685 (version (git-version "0.9.10" revision commit))
5686 (home-page "https://github.com/fukamachi/cl-cookie")
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 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5697 (inputs
5698 `(("proc-parse" ,sbcl-proc-parse)
5699 ("alexandria" ,sbcl-alexandria)
5700 ("quri" ,sbcl-quri)
5701 ("cl-ppcre" ,sbcl-cl-ppcre)
5702 ("local-time" ,sbcl-local-time)))
5703 (native-inputs
5704 `(("prove-asdf" ,sbcl-prove-asdf)
5705 ("prove" ,sbcl-prove)))
5706 (arguments
5707 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5708 `(#:tests? #f))
5709 (synopsis "HTTP cookie manager for Common Lisp")
5710 (description "cl-cookie is a Common Lisp library featuring parsing of
5711cookie headers, cookie creation, cookie jar creation and more.")
5712 (license license:bsd-2))))
5713
5714(define-public cl-cookie
5715 (sbcl-package->cl-source-package sbcl-cl-cookie))
5716
5717(define-public sbcl-dexador
5718 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5719 (revision "1"))
5720 (package
5721 (name "sbcl-dexador")
5722 (build-system asdf-build-system/sbcl)
5723 (version (git-version "0.9.10" revision commit))
5724 (home-page "https://github.com/fukamachi/dexador")
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url home-page)
5730 (commit commit)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32
5734 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5735 (inputs
5736 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5737 ("babel" ,sbcl-babel)
5738 ("usocket" ,sbcl-usocket)
5739 ("fast-http" ,sbcl-fast-http)
5740 ("quri" ,sbcl-quri)
5741 ("fast-io" ,sbcl-fast-io)
5742 ("chunga" ,sbcl-chunga)
5743 ("cl-ppcre" ,sbcl-cl-ppcre)
5744 ("cl-cookie" ,sbcl-cl-cookie)
5745 ("trivial-mimes" ,sbcl-trivial-mimes)
5746 ("chipz" ,sbcl-chipz)
5747 ("cl-base64" ,sbcl-cl-base64)
5748 ("cl-reexport" ,sbcl-cl-reexport)
5749 ("cl+ssl" ,sbcl-cl+ssl)
5750 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5751 ("alexandria" ,sbcl-alexandria)))
5752 (native-inputs
5753 `(("prove" ,sbcl-prove)
5754 ("prove-asdf" ,sbcl-prove-asdf)
5755 ("lack-request" ,sbcl-lack-request)
5756 ("clack" ,sbcl-clack)
5757 ("babel" ,sbcl-babel)
5758 ("alexandria" ,sbcl-alexandria)
5759 ("cl-ppcre" ,sbcl-cl-ppcre)
5760 ("local-time" ,sbcl-local-time)))
5761 (arguments
5762 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5763 `(#:tests? #f
5764 #:phases
5765 (modify-phases %standard-phases
5766 (add-after 'unpack 'fix-permissions
5767 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5768 (synopsis "Yet another HTTP client for Common Lisp")
5769 (description "Dexador is yet another HTTP client for Common Lisp with
5770neat APIs and connection-pooling. It is meant to supersede Drakma.")
5771 (license license:expat))))
5772
5773(define-public cl-dexador
5774 (package
5775 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5776 (arguments
5777 `(#:phases
5778 ;; asdf-build-system/source has its own phases and does not inherit
5779 ;; from asdf-build-system/sbcl phases.
5780 (modify-phases %standard-phases/source
5781 (add-after 'unpack 'fix-permissions
5782 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5783
5784(define-public ecl-dexador
5785 (sbcl-package->ecl-package sbcl-dexador))
5786
5787(define-public sbcl-lisp-namespace
5788 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5789 (revision "1"))
5790 (package
5791 (name "sbcl-lisp-namespace")
5792 (build-system asdf-build-system/sbcl)
5793 (version (git-version "0.1" revision commit))
5794 (home-page "https://github.com/guicho271828/lisp-namespace")
5795 (source
5796 (origin
5797 (method git-fetch)
5798 (uri (git-reference
5799 (url home-page)
5800 (commit commit)))
5801 (file-name (git-file-name name version))
5802 (sha256
5803 (base32
5804 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5805 (inputs
5806 `(("alexandria" ,sbcl-alexandria)))
5807 (native-inputs
5808 `(("fiveam" ,sbcl-fiveam)))
5809 (arguments
5810 `(#:test-asd-file "lisp-namespace.test.asd"
5811 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5812 #:tests? #f))
5813 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5814 (description "Common Lisp already has major 2 namespaces, function
5815namespace and value namespace (or variable namespace), but there are actually
5816more — e.g., class namespace.
5817This library offers macros to deal with symbols from any namespace.")
5818 (license license:llgpl))))
5819
5820(define-public cl-lisp-namespace
5821 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5822
5823(define-public sbcl-trivial-cltl2
5824 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5825 (revision "1"))
5826 (package
5827 (name "sbcl-trivial-cltl2")
5828 (build-system asdf-build-system/sbcl)
5829 (version (git-version "0.1.1" revision commit))
5830 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5831 (source
5832 (origin
5833 (method git-fetch)
5834 (uri (git-reference
5835 (url home-page)
5836 (commit commit)))
5837 (file-name (git-file-name name version))
5838 (sha256
5839 (base32
5840 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5841 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5842 (description "This library is a portable compatibility layer around
5843\"Common Lisp the Language, 2nd
5844Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5845and it exports symbols from implementation-specific packages.")
5846 (license license:llgpl))))
5847
5848(define-public cl-trivial-cltl2
5849 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5850
5851(define-public sbcl-introspect-environment
5852 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5853 (revision "1"))
5854 (package
5855 (name "sbcl-introspect-environment")
5856 (build-system asdf-build-system/sbcl)
5857 (version (git-version "0.1" revision commit))
5858 (home-page "https://github.com/Bike/introspect-environment")
5859 (source
5860 (origin
5861 (method git-fetch)
5862 (uri (git-reference
5863 (url home-page)
5864 (commit commit)))
5865 (file-name (git-file-name name version))
5866 (sha256
5867 (base32
5868 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5869 (native-inputs
5870 `(("fiveam" ,sbcl-fiveam)))
5871 (synopsis "Common Lisp environment introspection portability layer")
5872 (description "This library is a small interface to portable but
5873nonstandard introspection of Common Lisp environments. It is intended to
5874allow a bit more compile-time introspection of environments in Common Lisp.
5875
5876Quite a bit of information is available at the time a macro or compiler-macro
5877runs; inlining info, type declarations, that sort of thing. This information
5878is all standard - any Common Lisp program can @code{(declare (integer x))} and
5879such.
5880
5881This info ought to be accessible through the standard @code{&environment}
5882parameters, but it is not. Several implementations keep the information for
5883their own purposes but do not make it available to user programs, because
5884there is no standard mechanism to do so.
5885
5886This library uses implementation-specific hooks to make information available
5887to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5888implementations have implementations of the functions that do as much as they
5889can and/or provide reasonable defaults.")
5890 (license license:wtfpl2))))
5891
5892(define-public cl-introspect-environment
5893 (sbcl-package->cl-source-package sbcl-introspect-environment))
5894
5895(define-public sbcl-type-i
5896 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5897 (revision "1"))
5898 (package
5899 (name "sbcl-type-i")
5900 (build-system asdf-build-system/sbcl)
5901 (version (git-version "0.1" revision commit))
5902 (home-page "https://github.com/guicho271828/type-i")
5903 (source
5904 (origin
5905 (method git-fetch)
5906 (uri (git-reference
5907 (url home-page)
5908 (commit commit)))
5909 (file-name (git-file-name name version))
5910 (sha256
5911 (base32
5912 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5913 (inputs
5914 `(("alexandria" ,sbcl-alexandria)
5915 ("introspect-environment" ,sbcl-introspect-environment)
5916 ("trivia.trivial" ,sbcl-trivia.trivial)))
5917 (native-inputs
5918 `(("fiveam" ,sbcl-fiveam)))
5919 (arguments
5920 `(#:test-asd-file "type-i.test.asd"))
5921 (synopsis "Type inference utility on unary predicates for Common Lisp")
5922 (description "This library tries to provide a way to detect what kind of
5923type the given predicate is trying to check. This is different from inferring
5924the return type of a function.")
5925 (license license:llgpl))))
5926
5927(define-public cl-type-i
5928 (sbcl-package->cl-source-package sbcl-type-i))
5929
5930(define-public sbcl-optima
5931 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5932 (revision "1"))
5933 (package
5934 (name "sbcl-optima")
5935 (build-system asdf-build-system/sbcl)
5936 (version (git-version "1.0" revision commit))
5937 (home-page "https://github.com/m2ym/optima")
5938 (source
5939 (origin
5940 (method git-fetch)
5941 (uri (git-reference
5942 (url home-page)
5943 (commit commit)))
5944 (file-name (git-file-name name version))
5945 (sha256
5946 (base32
5947 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5948 (inputs
5949 `(("alexandria" ,sbcl-alexandria)
5950 ("closer-mop" ,sbcl-closer-mop)))
5951 (native-inputs
5952 `(("eos" ,sbcl-eos)))
5953 (arguments
5954 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5955 `(#:tests? #f
5956 #:test-asd-file "optima.test.asd"))
5957 (synopsis "Optimized pattern matching library for Common Lisp")
5958 (description "Optima is a fast pattern matching library which uses
5959optimizing techniques widely used in the functional programming world.")
5960 (license license:expat))))
5961
5962(define-public cl-optima
5963 (sbcl-package->cl-source-package sbcl-optima))
5964
5965(define-public sbcl-fare-quasiquote
639b47e6
GLV
5966 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5967 (revision "1"))
5968 (package
5969 (name "sbcl-fare-quasiquote")
5970 (build-system asdf-build-system/sbcl)
5971 (version (git-version "1.0.1" revision commit))
5972 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5978 "fare-quasiquote.git"))
5979 (commit commit)))
5980 (file-name (git-file-name name version))
5981 (sha256
5982 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5983 (inputs
5984 `(("fare-utils" ,sbcl-fare-utils)))
5985 (arguments
5986 ;; XXX: Circular dependencies: Tests depend on subsystems,
5987 ;; which depend on the main systems.
5988 `(#:tests? #f
5989 #:phases
5990 (modify-phases %standard-phases
5991 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5992 ;; commits after 1.0.0.5, but ASDF fails to read the
5993 ;; "-REVISION-COMMIT" part generated by Guix.
5994 (add-after 'unpack 'patch-requirement
5995 (lambda _
5996 (substitute* "fare-quasiquote.asd"
5997 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5998 "\"fare-utils\"")))))))
5999 (synopsis "Pattern-matching friendly implementation of quasiquote")
6000 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6001quasiquote is enable matching of quasiquoted patterns, using Optima or
6002Trivia.")
639b47e6 6003 (license license:expat))))
88f06fd0
PN
6004
6005(define-public cl-fare-quasiquote
6006 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6007
6008(define-public sbcl-fare-quasiquote-optima
6009 (package
6010 (inherit sbcl-fare-quasiquote)
6011 (name "sbcl-fare-quasiquote-optima")
6012 (inputs
6013 `(("optima" ,sbcl-optima)
6014 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6015 (arguments
6016 '(#:phases
6017 (modify-phases %standard-phases
6018 (add-after 'unpack 'patch-requirement
6019 (lambda _
6020 (substitute* "fare-quasiquote-optima.asd"
6021 (("\\(:version \"optima\" \"1\\.0\"\\)")
6022 "\"optima\""))
6023 #t)))))))
6024
6025(define-public cl-fare-quasiquote-optima
6026 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6027
6028(define-public sbcl-fare-quasiquote-readtable
6029 (package
6030 (inherit sbcl-fare-quasiquote)
6031 (name "sbcl-fare-quasiquote-readtable")
6032 (inputs
6033 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6034 ("named-readtables" ,sbcl-named-readtables)))
6035 (description "The main purpose of this n+2nd reimplementation of
6036quasiquote is enable matching of quasiquoted patterns, using Optima or
6037Trivia.
6038
6039This package uses fare-quasiquote with named-readtable.")))
6040
6041(define-public cl-fare-quasiquote-readtable
6042 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6043
6044;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
6045(define-public sbcl-fare-quasiquote-extras
6046 (package
6047 (inherit sbcl-fare-quasiquote)
6048 (name "sbcl-fare-quasiquote-extras")
6049 (build-system asdf-build-system/sbcl)
6050 (inputs
6051 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6052 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6053 (arguments
6054 `(#:phases
6055 (modify-phases %standard-phases
6056 (replace 'build
6057 (lambda* (#:key outputs #:allow-other-keys)
6058 (let* ((out (assoc-ref outputs "out"))
6059 (lib (string-append out "/lib/" (%lisp-type))))
6060 (mkdir-p lib)
6061 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6062 (make-file-writable
6063 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
6064 #t)))
6065 (add-after 'create-asd-file 'fix-asd-file
6066 (lambda* (#:key outputs #:allow-other-keys)
6067 (let* ((out (assoc-ref outputs "out"))
6068 (lib (string-append out "/lib/" (%lisp-type)))
6069 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6070 (substitute* asd
6071 ((":class")
6072 "")
6073 (("asdf/bundle:prebuilt-system")
6074 "")
6075 ((":components")
6076 "")
6077 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6078 "")))
6079 #t)))))
6080 (description "This library combines @code{fare-quasiquote-readtable} and
6081@code{fare-quasiquote-optima}.")))
6082
88f06fd0
PN
6083(define-public cl-fare-quasiquote-extras
6084 (package
6085 (inherit cl-fare-quasiquote)
6086 (name "cl-fare-quasiquote-extras")
6087 (build-system asdf-build-system/source)
6088 (propagated-inputs
6089 `(("fare-quasiquote" ,cl-fare-quasiquote)
6090 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6091 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6092 (description "This library combines @code{fare-quasiquote-readtable} and
6093@code{fare-quasiquote-optima}.")))
6094
6095(define-public sbcl-trivia.level0
463fb58f 6096 (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
88f06fd0
PN
6097 (revision "1"))
6098 (package
6099 (name "sbcl-trivia.level0")
6100 (build-system asdf-build-system/sbcl)
6101 (version (git-version "0.0.0" revision commit))
6102 (home-page "https://github.com/guicho271828/trivia")
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url home-page)
6108 (commit commit)))
6109 (file-name (git-file-name name version))
6110 (sha256
6111 (base32
463fb58f 6112 "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
88f06fd0
PN
6113 (inputs
6114 `(("alexandria" ,sbcl-alexandria)))
6115 (synopsis "Pattern matching in Common Lisp")
6116 (description "Trivia is a pattern matching compiler that is compatible
6117with Optima, another pattern matching library for Common Lisp. It is meant to
6118be faster and more extensible than Optima.")
6119 (license license:llgpl))))
6120
6121(define-public sbcl-trivia.level1
6122 (package
6123 (inherit sbcl-trivia.level0)
6124 (name "sbcl-trivia.level1")
6125 (inputs
6126 `(("trivia.level0" ,sbcl-trivia.level0)))
6127 (description "Trivia is a pattern matching compiler that is compatible
6128with Optima, another pattern matching library for Common Lisp. It is meant to
6129be faster and more extensible than Optima.
6130
6131This system contains the core patterns of Trivia.")))
6132
6133(define-public sbcl-trivia.level2
6134 (package
6135 (inherit sbcl-trivia.level0)
6136 (name "sbcl-trivia.level2")
6137 (inputs
6138 `(("trivia.level1" ,sbcl-trivia.level1)
6139 ("lisp-namespace" ,sbcl-lisp-namespace)
6140 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6141 ("closer-mop" ,sbcl-closer-mop)))
6142 (description "Trivia is a pattern matching compiler that is compatible
6143with Optima, another pattern matching library for Common Lisp. It is meant to
6144be faster and more extensible than Optima.
6145
6146This system contains a non-optimized pattern matcher compatible with Optima,
6147with extensible optimizer interface.")))
6148
6149(define-public sbcl-trivia.trivial
6150 (package
6151 (inherit sbcl-trivia.level0)
6152 (name "sbcl-trivia.trivial")
6153 (inputs
6154 `(("trivia.level2" ,sbcl-trivia.level2)))
6155 (arguments
6156 `(#:phases
6157 (modify-phases %standard-phases
6158 (replace 'create-asd-file
6159 (lambda* (#:key outputs inputs #:allow-other-keys)
6160 (let* ((out (assoc-ref outputs "out"))
6161 (lib (string-append out "/lib/" (%lisp-type)))
6162 (level2 (assoc-ref inputs "trivia.level2")))
6163 (mkdir-p lib)
6164 (install-file "trivia.trivial.asd" lib)
6165 ;; XXX: This .asd does not have any component and the build
6166 ;; system fails to work in this case. We should update the
6167 ;; build system to handle component-less .asd.
6168 ;; TODO: How do we append to file in Guile? It seems that
6169 ;; (open-file ... "a") gets a "Permission denied".
6170 (substitute* (string-append lib "/trivia.trivial.asd")
6171 (("\"\\)")
6172 (string-append "\")
6173
6174(progn (asdf/source-registry:ensure-source-registry)
6175 (setf (gethash
6176 \"trivia.level2\"
6177 asdf/source-registry:*source-registry*)
6178 #p\""
6179 level2
6180 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6181 (description "Trivia is a pattern matching compiler that is compatible
6182with Optima, another pattern matching library for Common Lisp. It is meant to
6183be faster and more extensible than Optima.
6184
6185This system contains the base level system of Trivia with a trivial optimizer.")))
6186
6187(define-public sbcl-trivia.balland2006
6188 (package
6189 (inherit sbcl-trivia.level0)
6190 (name "sbcl-trivia.balland2006")
6191 (inputs
6192 `(("trivia.trivial" ,sbcl-trivia.trivial)
6193 ("iterate" ,sbcl-iterate)
6194 ("type-i" ,sbcl-type-i)
6195 ("alexandria" ,sbcl-alexandria)))
6196 (arguments
6197 ;; Tests are done in trivia itself.
6198 `(#:tests? #f))
6199 (description "Trivia is a pattern matching compiler that is compatible
6200with Optima, another pattern matching library for Common Lisp. It is meant to
6201be faster and more extensible than Optima.
6202
6203This system contains the base level system of Trivia with a trivial optimizer.")))
6204
6205(define-public sbcl-trivia.ppcre
6206 (package
6207 (inherit sbcl-trivia.level0)
6208 (name "sbcl-trivia.ppcre")
6209 (inputs
6210 `(("trivia.trivial" ,sbcl-trivia.trivial)
6211 ("cl-ppcre" ,sbcl-cl-ppcre)))
6212 (description "Trivia is a pattern matching compiler that is compatible
6213with Optima, another pattern matching library for Common Lisp. It is meant to
6214be faster and more extensible than Optima.
6215
6216This system contains the PPCRE extension.")))
6217
6218(define-public sbcl-trivia.quasiquote
6219 (package
6220 (inherit sbcl-trivia.level0)
6221 (name "sbcl-trivia.quasiquote")
6222 (inputs
6223 `(("trivia.trivial" ,sbcl-trivia.trivial)
6224 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6225 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6226 (description "Trivia is a pattern matching compiler that is compatible
6227with Optima, another pattern matching library for Common Lisp. It is meant to
6228be faster and more extensible than Optima.
6229
6230This system contains the fare-quasiquote extension.")))
6231
6232(define-public sbcl-trivia.cffi
6233 (package
6234 (inherit sbcl-trivia.level0)
6235 (name "sbcl-trivia.cffi")
6236 (inputs
6237 `(("cffi" ,sbcl-cffi)
6238 ("trivia.trivial" ,sbcl-trivia.trivial)))
6239 (description "Trivia is a pattern matching compiler that is compatible
6240with Optima, another pattern matching library for Common Lisp. It is meant to
6241be faster and more extensible than Optima.
6242
6243This system contains the CFFI foreign slot access extension.")))
6244
6245(define-public sbcl-trivia
6246 (package
6247 (inherit sbcl-trivia.level0)
6248 (name "sbcl-trivia")
6249 (inputs
6250 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6251 (native-inputs
6252 `(("fiveam" ,sbcl-fiveam)
6253 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6254 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6255 ("trivia.cffi" ,sbcl-trivia.cffi)
6256 ("optima" ,sbcl-optima)))
6257 (arguments
6258 `(#:test-asd-file "trivia.test.asd"
6259 #:phases
6260 (modify-phases %standard-phases
6261 (add-after 'create-asd 'remove-component
6262 ;; XXX: The original .asd has no components, but our build system
6263 ;; creates an entry nonetheless. We need to remove it for the
6264 ;; generated .asd to load properly. See trivia.trivial for a
6265 ;; similar problem.
6266 (lambda* (#:key outputs #:allow-other-keys)
6267 (let* ((out (assoc-ref outputs "out"))
6268 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6269 (substitute* asd
6270 ((" :components
6271")
6272 ""))
6273 (substitute* asd
6274 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6275 ""))))))))
6276 (description "Trivia is a pattern matching compiler that is compatible
6277with Optima, another pattern matching library for Common Lisp. It is meant to
6278be faster and more extensible than Optima.")))
6279
6280(define-public cl-trivia
6281 (sbcl-package->cl-source-package sbcl-trivia))
6282
6283(define-public sbcl-mk-string-metrics
6284 (package
6285 (name "sbcl-mk-string-metrics")
6286 (version "0.1.2")
6287 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6288 (source (origin
6289 (method git-fetch)
6290 (uri (git-reference
6291 (url home-page)
6292 (commit version)))
6293 (sha256
6294 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6295 (file-name (git-file-name name version))))
6296 (build-system asdf-build-system/sbcl)
6297 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6298 (description "This library implements efficient algorithms that calculate
6299various string metrics in Common Lisp:
6300
6301@itemize
6302@item Damerau-Levenshtein distance
6303@item Hamming distance
6304@item Jaccard similarity coefficient
6305@item Jaro distance
6306@item Jaro-Winkler distance
6307@item Levenshtein distance
6308@item Normalized Damerau-Levenshtein distance
6309@item Normalized Levenshtein distance
6310@item Overlap coefficient
6311@end itemize\n")
6312 (license license:x11)))
6313
6314(define-public cl-mk-string-metrics
6315 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6316
6317(define-public sbcl-cl-str
6318 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6319 (package
6320 (name "sbcl-cl-str")
6321 (version (git-version "0.8" "1" commit))
6322 (home-page "https://github.com/vindarel/cl-str")
6323 (source (origin
6324 (method git-fetch)
6325 (uri (git-reference
6326 (url home-page)
6327 (commit commit)))
6328 (sha256
6329 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6330 (file-name (git-file-name name version))))
6331 (build-system asdf-build-system/sbcl)
6332 (inputs
6333 `(("cl-ppcre" ,sbcl-cl-ppcre)
6334 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6335 (native-inputs
6336 `(("prove" ,sbcl-prove)
6337 ("prove-asdf" ,sbcl-prove-asdf)))
6338 (arguments
6339 `(#:asd-file "str.asd"
6340 #:asd-system-name "str"
6341 #:test-asd-file "str.test.asd"))
6342 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6343 (description "A modern and consistent Common Lisp string manipulation
6344library that focuses on modernity, simplicity and discoverability:
6345@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6346@code{str:concat strings} instead of an unusual format construct; one
6347discoverable library instead of many; consistency and composability, where
6348@code{s} is always the last argument, which makes it easier to feed pipes and
6349arrows.")
6350 (license license:expat))))
6351
6352(define-public cl-str
6353 (sbcl-package->cl-source-package sbcl-cl-str))
6354
6355(define-public sbcl-cl-xmlspam
6356 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6357 (package
6358 (name "sbcl-cl-xmlspam")
6359 (build-system asdf-build-system/sbcl)
6360 (version (git-version "0.0.0" "1" commit))
6361 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6362 (source
6363 (origin
6364 (method git-fetch)
6365 (uri (git-reference
6366 (url home-page)
6367 (commit commit)))
6368 (file-name (string-append name "-" version))
6369 (sha256
6370 (base32
6371 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6372 (inputs
6373 `(("cxml" ,sbcl-cxml)
6374 ("cl-ppcre" ,sbcl-cl-ppcre)))
6375 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6376 (description "CXML does an excellent job at parsing XML elements, but what
6377do you do when you have a XML file that's larger than you want to fit in
6378memory, and you want to extract some information from it? Writing code to deal
6379with SAX events, or even using Klacks, quickly becomes tedious.
6380@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6381to write code that mirrors the structure of the XML that it's parsing. It
6382also makes it easy to shift paradigms when necessary - the usual Lisp control
6383constructs can be used interchangeably with pattern matching, and the full
6384power of CXML is available when necessary.")
6385 (license license:bsd-3))))
6386
6387;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6388;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6389;; asdf-build-system/sbcl.
6390(define-public cl-dbus
6391 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6392 (revision "1"))
6393 (package
6394 (name "cl-dbus")
6395 (build-system asdf-build-system/source)
6396 (version (git-version "20190408" revision commit))
6397 (home-page "https://github.com/death/dbus")
6398 (source
6399 (origin
6400 (method git-fetch)
6401 (uri (git-reference
6402 (url home-page)
6403 (commit commit)))
6404 (file-name (git-file-name name version))
6405 (sha256
6406 (base32
6407 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6408 ;; Inputs must be propagated or else packages depending on this won't
6409 ;; have the necessary packages.
88f06fd0
PN
6410 (propagated-inputs
6411 `(("alexandria" ,sbcl-alexandria)
6412 ("trivial-garbage" ,sbcl-trivial-garbage)
6413 ("babel" ,sbcl-babel)
6414 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6415 ("ieee-floats" ,sbcl-ieee-floats)
6416 ("flexi-streams" ,sbcl-flexi-streams)
6417 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6418 ("ironclad" ,sbcl-ironclad)))
6419 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6420 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6421objects as well as send and notify other objects connected to a bus.")
6422 (license license:bsd-2))))
6423
6424(define-public sbcl-cl-hooks
6425 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6426 (revision "1"))
6427 (package
6428 (name "sbcl-cl-hooks")
6429 (build-system asdf-build-system/sbcl)
6430 (version (git-version "0.2.1" revision commit))
6431 (home-page "https://github.com/scymtym/architecture.hooks")
6432 (source
6433 (origin
6434 (method git-fetch)
6435 (uri (git-reference
6436 (url home-page)
6437 (commit commit)))
6438 (file-name (git-file-name name version))
6439 (sha256
6440 (base32
6441 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6442 (inputs
6443 `(("alexandria" ,sbcl-alexandria)
6444 ("let-plus" ,sbcl-let-plus)
6445 ("trivial-garbage" ,sbcl-trivial-garbage)
6446 ("closer-mop" ,sbcl-closer-mop)))
6447 (native-inputs
6448 `(("fiveam" ,sbcl-fiveam)))
6449 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6450 (description "A hook, in the present context, is a certain kind of
6451extension point in a program that allows interleaving the execution of
6452arbitrary code with the execution of a the program without introducing any
6453coupling between the two. Hooks are used extensively in the extensible editor
6454Emacs.
6455
6456In the Common LISP Object System (CLOS), a similar kind of extensibility is
6457possible using the flexible multi-method dispatch mechanism. It may even seem
6458that the concept of hooks does not provide any benefits over the possibilities
6459of CLOS. However, there are some differences:
6460
6461@itemize
6462
6463@item There can be only one method for each combination of specializers and
6464qualifiers. As a result this kind of extension point cannot be used by
6465multiple extensions independently.
6466@item Removing code previously attached via a @code{:before}, @code{:after} or
6467@code{:around} method can be cumbersome.
6468@item There could be other or even multiple extension points besides @code{:before}
6469and @code{:after} in a single method.
6470@item Attaching codes to individual objects using eql specializers can be
6471cumbersome.
6472@item Introspection of code attached a particular extension point is
6473cumbersome since this requires enumerating and inspecting the methods of a
6474generic function.
6475@end itemize
6476
6477This library tries to complement some of these weaknesses of method-based
6478extension-points via the concept of hooks.")
6479 (license license:llgpl))))
6480
6481(define-public cl-hooks
6482 (sbcl-package->cl-source-package sbcl-cl-hooks))
6483
6484(define-public ecl-cl-hooks
6485 (sbcl-package->ecl-package sbcl-cl-hooks))
6486
6487(define-public sbcl-s-sysdeps
6488 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6489 (revision "1"))
6490 (package
6491 (name "sbcl-s-sysdeps")
6492 (build-system asdf-build-system/sbcl)
6493 (version (git-version "1" revision commit))
6494 (home-page "https://github.com/svenvc/s-sysdeps")
6495 (source
6496 (origin
6497 (method git-fetch)
6498 (uri (git-reference
6499 (url home-page)
6500 (commit commit)))
6501 (file-name (git-file-name name version))
6502 (sha256
6503 (base32
6504 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6505 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6506 (description "@code{s-sysdeps} is an abstraction layer over platform
6507dependent functionality. This simple package is used as a building block in a
6508number of other open source projects.
6509
6510@code{s-sysdeps} abstracts:
6511
6512@itemize
6513@item managing processes,
6514@item implementing a standard TCP/IP server,
6515@item opening a client TCP/IP socket stream,
6516@item working with process locks.
6517@end itemize\n")
6518 (license license:llgpl))))
6519
6520(define-public cl-s-sysdeps
6521 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6522
6523(define-public ecl-s-sysdeps
6524 (sbcl-package->ecl-package sbcl-s-sysdeps))
6525
6526(define-public sbcl-cl-prevalence
6527 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6528 (revision "1"))
6529 (package
6530 (name "sbcl-cl-prevalence")
6531 (build-system asdf-build-system/sbcl)
6532 (version (git-version "5" revision commit))
6533 (home-page "https://github.com/40ants/cl-prevalence")
6534 (source
6535 (origin
6536 (method git-fetch)
6537 (uri (git-reference
6538 (url home-page)
6539 (commit commit)))
6540 (file-name (git-file-name name version))
6541 (sha256
6542 (base32
6543 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6544 (inputs
6545 `(("s-sysdeps" ,sbcl-s-sysdeps)
6546 ("s-xml" ,sbcl-s-xml)))
6547 (synopsis "Implementation of object prevalence for Common Lisp")
6548 (description "This Common Lisp library implements object prevalence (see
6549@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6550for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6551classes and cyclic data structures are supported.")
6552 (license license:llgpl))))
6553
6554(define-public cl-prevalence
6555 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6556
6557(define-public ecl-cl-prevalence
6558 (sbcl-package->ecl-package sbcl-cl-prevalence))
6559
6560(define-public sbcl-series
6561 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6562 (revision "1"))
6563 (package
6564 (name "sbcl-series")
6565 (version (git-version "2.2.11" revision commit))
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url "git://git.code.sf.net/p/series/series")
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6576 (build-system asdf-build-system/sbcl)
6577 (arguments
6578 ;; Disable the tests, they are apparently buggy and I didn't find
6579 ;; a simple way to make them run and pass.
6580 '(#:tests? #f))
6581 (synopsis "Series data structure for Common Lisp")
6582 (description
6583 "This Common Lisp library provides a series data structure much like
6584a sequence, with similar kinds of operations. The difference is that in many
6585situations, operations on series may be composed functionally and yet execute
6586iteratively, without the need to construct intermediate series values
6587explicitly. In this manner, series provide both the clarity of a functional
6588programming style and the efficiency of an iterative programming style.")
6589 (home-page "http://series.sourceforge.net/")
6590 (license license:expat))))
6591
6592(define-public cl-series
6593 (sbcl-package->cl-source-package sbcl-series))
6594
6595(define-public ecl-series
6596 (sbcl-package->ecl-package sbcl-series))
6597
6598(define-public sbcl-periods
6599 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6600 (revision "1"))
6601 (package
6602 (name "sbcl-periods")
6603 (version (git-version "0.0.2" revision commit))
6604 (source
6605 (origin
6606 (method git-fetch)
6607 (uri (git-reference
6608 (url "https://github.com/jwiegley/periods.git")
6609 (commit commit)))
6610 (file-name (git-file-name name version))
6611 (sha256
6612 (base32
6613 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6614 (build-system asdf-build-system/sbcl)
6615 (inputs
6616 `(("local-time" ,sbcl-local-time)))
6617 (synopsis "Common Lisp library for manipulating date/time objects")
6618 (description
6619 "Periods is a Common Lisp library providing a set of utilities for
6620manipulating times, distances between times, and both contiguous and
6621discontiguous ranges of time.")
6622 (home-page "https://github.com/jwiegley/periods")
6623 (license license:bsd-3))))
6624
6625(define-public cl-periods
6626 (sbcl-package->cl-source-package sbcl-periods))
6627
6628(define-public ecl-periods
6629 (sbcl-package->ecl-package sbcl-periods))
6630
6631(define-public sbcl-periods-series
6632 (package
6633 (inherit sbcl-periods)
6634 (name "sbcl-periods-series")
6635 (inputs
6636 `(("periods" ,sbcl-periods)
6637 ("series" ,sbcl-series)))
6638 (arguments
6639 '(#:asd-file "periods-series.asd"
6640 #:asd-system-name "periods-series"))
6641 (description
6642 "Periods-series is an extension of the periods Common Lisp library
6643providing functions compatible with the series Common Lisp library.")))
6644
6645(define-public cl-periods-series
6646 (sbcl-package->cl-source-package sbcl-periods-series))
6647
6648(define-public ecl-periods-series
6649 (sbcl-package->ecl-package sbcl-periods-series))
6650
6651(define-public sbcl-metatilities-base
6652 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6653 (revision "1"))
6654 (package
6655 (name "sbcl-metatilities-base")
6656 (version (git-version "0.6.6" revision commit))
6657 (source
6658 (origin
6659 (method git-fetch)
6660 (uri (git-reference
6661 (url "https://github.com/gwkkwg/metatilities-base.git")
6662 (commit commit)))
6663 (file-name (git-file-name name version))
6664 (sha256
6665 (base32
6666 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6667 (build-system asdf-build-system/sbcl)
6668 (native-inputs
6669 `(("lift" ,sbcl-lift)))
6670 (synopsis "Core of the metatilities Common Lisp library")
6671 (description
6672 "Metatilities-base is the core of the metatilities Common Lisp library
6673which implements a set of utilities.")
6674 (home-page "https://common-lisp.net/project/metatilities-base/")
6675 (license license:expat))))
6676
6677(define-public cl-metatilities-base
6678 (sbcl-package->cl-source-package sbcl-metatilities-base))
6679
6680(define-public ecl-metatilities-base
6681 (sbcl-package->ecl-package sbcl-metatilities-base))
6682
6683(define-public sbcl-cl-containers
0ad6ecb8
PN
6684 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6685 (revision "3"))
88f06fd0
PN
6686 (package
6687 (name "sbcl-cl-containers")
6688 (version (git-version "0.12.1" revision commit))
6689 (source
6690 (origin
6691 (method git-fetch)
6692 (uri (git-reference
6693 (url "https://github.com/gwkkwg/cl-containers.git")
6694 (commit commit)))
6695 (file-name (git-file-name name version))
6696 (sha256
6697 (base32
0ad6ecb8 6698 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6699 (build-system asdf-build-system/sbcl)
6700 (native-inputs
6701 `(("lift" ,sbcl-lift)))
6702 (inputs
6703 `(("metatilities-base" ,sbcl-metatilities-base)))
6704 (arguments
6705 '(#:phases
6706 (modify-phases %standard-phases
6707 (add-after 'unpack 'relax-version-checks
6708 (lambda _
6709 (substitute* "cl-containers.asd"
6710 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6711 "\"metatilities-base\""))
6712 (substitute* "cl-containers-test.asd"
6713 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6714 "\"lift\""))
6715 #t)))))
6716 (synopsis "Container library for Common Lisp")
6717 (description
6718 "Common Lisp ships with a set of powerful built in data structures
6719including the venerable list, full featured arrays, and hash-tables.
6720CL-containers enhances and builds on these structures by adding containers
6721that are not available in native Lisp (for example: binary search trees,
6722red-black trees, sparse arrays and so on), and by providing a standard
6723interface so that they are simpler to use and so that changing design
6724decisions becomes significantly easier.")
6725 (home-page "https://common-lisp.net/project/cl-containers/")
6726 (license license:expat))))
6727
6728(define-public cl-containers
6729 (sbcl-package->cl-source-package sbcl-cl-containers))
6730
6731(define-public ecl-cl-containers
6732 (sbcl-package->ecl-package sbcl-cl-containers))
6733
6734(define-public sbcl-xlunit
6735 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6736 (revision "1"))
6737 (package
6738 (name "sbcl-xlunit")
6739 (version (git-version "0.6.3" revision commit))
6740 (source
6741 (origin
6742 (method git-fetch)
6743 (uri (git-reference
6744 (url "http://git.kpe.io/xlunit.git")
6745 (commit commit)))
6746 (file-name (git-file-name name version))
6747 (sha256
6748 (base32
6749 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6750 (build-system asdf-build-system/sbcl)
6751 (arguments
6752 '(#:phases
6753 (modify-phases %standard-phases
6754 (add-after 'unpack 'fix-tests
6755 (lambda _
6756 (substitute* "xlunit.asd"
6757 ((" :force t") ""))
6758 #t)))))
6759 (synopsis "Unit testing package for Common Lisp")
6760 (description
6761 "The XLUnit package is a toolkit for building test suites. It is based
6762on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6763 (home-page "http://quickdocs.org/xlunit/")
6764 (license license:bsd-3))))
6765
6766(define-public cl-xlunit
6767 (sbcl-package->cl-source-package sbcl-xlunit))
6768
6769(define-public ecl-xlunit
6770 (sbcl-package->ecl-package sbcl-xlunit))
6771
6772(define-public sbcl-fprog
6773 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6774 (revision "1"))
6775 (package
6776 (name "sbcl-fprog")
6777 (version (git-version "1.0.0" revision commit))
6778 (source
6779 (origin
6780 (method git-fetch)
6781 (uri (git-reference
6782 (url "https://github.com/jwiegley/cambl.git")
6783 (commit commit)))
6784 (file-name (git-file-name name version))
6785 (sha256
6786 (base32
6787 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6788 (build-system asdf-build-system/sbcl)
6789 (synopsis "Functional programming utilities for Common Lisp")
6790 (description
6791 "@code{fprog} is a Common Lisp library allowing iteration over
6792immutable lists sharing identical sublists.")
6793 (home-page "https://github.com/jwiegley/cambl")
6794 (license license:bsd-3))))
6795
6796(define-public cl-fprog
6797 (sbcl-package->cl-source-package sbcl-fprog))
6798
6799(define-public ecl-fprog
6800 (sbcl-package->ecl-package sbcl-fprog))
6801
6802(define-public sbcl-cambl
6803 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6804 (revision "1"))
6805 (package
6806 (inherit sbcl-fprog)
6807 (name "sbcl-cambl")
6808 (version (git-version "4.0.0" revision commit))
6809 (native-inputs
6810 `(("xlunit" ,sbcl-xlunit)))
6811 (inputs
6812 `(("alexandria" ,sbcl-alexandria)
6813 ("cl-containers" ,sbcl-cl-containers)
6814 ("local-time" ,sbcl-local-time)
6815 ("periods" ,sbcl-periods)
6816 ("fprog" ,sbcl-fprog)))
6817 (synopsis "Commoditized amounts and balances for Common Lisp")
6818 (description
6819 "CAMBL is a Common Lisp library providing a convenient facility for
6820working with commoditized values. It does not allow compound units (and so is
6821not suited for scientific operations) but does work rather nicely for the
6822purpose of financial calculations."))))
6823
6824(define-public cl-cambl
6825 (sbcl-package->cl-source-package sbcl-cambl))
6826
6827(define-public ecl-cambl
6828 (sbcl-package->ecl-package sbcl-cambl))
6829
6830(define-public sbcl-cl-ledger
6831 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6832 (revision "1"))
6833 (package
6834 (name "sbcl-cl-ledger")
6835 (version (git-version "4.0.0" revision commit))
6836 (source
6837 (origin
6838 (method git-fetch)
6839 (uri (git-reference
6840 (url "https://github.com/ledger/cl-ledger.git")
6841 (commit commit)))
6842 (file-name (git-file-name name version))
6843 (sha256
6844 (base32
6845 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6846 (build-system asdf-build-system/sbcl)
6847 (inputs
6848 `(("cambl" ,sbcl-cambl)
6849 ("cl-ppcre" ,sbcl-cl-ppcre)
6850 ("local-time" ,sbcl-local-time)
6851 ("periods-series" ,sbcl-periods-series)))
6852 (arguments
6853 '(#:phases
6854 (modify-phases %standard-phases
6855 (add-after 'unpack 'fix-system-definition
6856 (lambda _
6857 (substitute* "cl-ledger.asd"
6858 ((" :build-operation program-op") "")
6859 ((" :build-pathname \"cl-ledger\"") "")
6860 ((" :entry-point \"ledger::main\"") ""))
6861 #t)))))
6862 (synopsis "Common Lisp port of the Ledger accounting system")
6863 (description
6864 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6865system.")
6866 (home-page "https://github.com/ledger/cl-ledger")
6867 (license license:bsd-3))))
6868
6869(define-public cl-ledger
6870 (sbcl-package->cl-source-package sbcl-cl-ledger))
6871
6872(define-public ecl-cl-ledger
6873 (sbcl-package->ecl-package sbcl-cl-ledger))
6874
6875(define-public sbcl-bst
6876 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6877 (revision "1"))
6878 (package
6879 (name "sbcl-bst")
6880 (version (git-version "1.1" revision commit))
6881 (source
6882 (origin
6883 (method git-fetch)
6884 (uri (git-reference
6885 (url "https://github.com/glv2/bst.git")
6886 (commit commit)))
6887 (file-name (git-file-name name version))
6888 (sha256
6889 (base32
6890 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6891 (build-system asdf-build-system/sbcl)
6892 (native-inputs
6893 `(("alexandria" ,sbcl-alexandria)
6894 ("fiveam" ,sbcl-fiveam)))
6895 (synopsis "Binary search tree for Common Lisp")
6896 (description
6897 "BST is a Common Lisp library for working with binary search trees that
6898can contain any kind of values.")
6899 (home-page "https://github.com/glv2/bst")
6900 (license license:gpl3))))
6901
6902(define-public cl-bst
6903 (sbcl-package->cl-source-package sbcl-bst))
6904
6905(define-public ecl-bst
6906 (sbcl-package->ecl-package sbcl-bst))
6907
6908(define-public sbcl-cl-octet-streams
6909 (package
6910 (name "sbcl-cl-octet-streams")
6911 (version "1.0")
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
6916 (url "https://github.com/glv2/cl-octet-streams.git")
6917 (commit (string-append "v" version))))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32
6921 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6922 (build-system asdf-build-system/sbcl)
6923 (native-inputs
6924 `(("fiveam" ,sbcl-fiveam)))
6925 (inputs
6926 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6927 (synopsis "In-memory octet streams for Common Lisp")
6928 (description
6929 "CL-octet-streams is a library implementing in-memory octet
6930streams for Common Lisp. It was inspired by the trivial-octet-streams and
6931cl-plumbing libraries.")
6932 (home-page "https://github.com/glv2/cl-octet-streams")
6933 (license license:gpl3+)))
6934
6935(define-public cl-octet-streams
6936 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6937
6938(define-public ecl-cl-octet-streams
6939 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6940
6941(define-public sbcl-lzlib
6942 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6943 (revision "1"))
6944 (package
6945 (name "sbcl-lzlib")
6946 (version (git-version "1.0" revision commit))
6947 (source
6948 (origin
6949 (method git-fetch)
6950 (uri (git-reference
6951 (url "https://github.com/glv2/cl-lzlib.git")
6952 (commit commit)))
6953 (file-name (git-file-name name version))
6954 (sha256
6955 (base32
6956 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6957 (build-system asdf-build-system/sbcl)
6958 (native-inputs
6959 `(("fiveam" ,sbcl-fiveam)))
6960 (inputs
6961 `(("cffi" ,sbcl-cffi)
6962 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6963 ("lzlib" ,lzlib)))
6964 (arguments
6965 '(#:phases
6966 (modify-phases %standard-phases
6967 (add-after 'unpack 'fix-paths
6968 (lambda* (#:key inputs #:allow-other-keys)
6969 (substitute* "src/lzlib.lisp"
6970 (("liblz\\.so")
6971 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6972 #t)))))
6973 (synopsis "Common Lisp library for lzip (de)compression")
6974 (description
6975 "This Common Lisp library provides functions for lzip (LZMA)
6976compression/decompression using bindings to the lzlib C library.")
6977 (home-page "https://github.com/glv2/cl-lzlib")
6978 (license license:gpl3+))))
6979
6980(define-public cl-lzlib
6981 (sbcl-package->cl-source-package sbcl-lzlib))
6982
6983(define-public ecl-lzlib
6984 (sbcl-package->ecl-package sbcl-lzlib))
6985
6986(define-public sbcl-chanl
00a9a936
GLV
6987 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6988 (revision "1"))
88f06fd0
PN
6989 (package
6990 (name "sbcl-chanl")
6991 (version (git-version "0.4.1" revision commit))
6992 (source
6993 (origin
6994 (method git-fetch)
6995 (uri (git-reference
6996 (url "https://github.com/zkat/chanl.git")
6997 (commit commit)))
6998 (file-name (git-file-name name version))
6999 (sha256
7000 (base32
00a9a936 7001 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7002 (build-system asdf-build-system/sbcl)
7003 (native-inputs
7004 `(("fiveam" ,sbcl-fiveam)))
7005 (inputs
7006 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7007 (synopsis "Portable channel-based concurrency for Common Lisp")
7008 (description "Common Lisp library for channel-based concurrency. In
7009a nutshell, you create various threads sequentially executing tasks you need
7010done, and use channel objects to communicate and synchronize the state of these
7011threads.")
7012 (home-page "https://github.com/zkat/chanl")
7013 (license (list license:expat license:bsd-3)))))
7014
7015(define-public cl-chanl
7016 (sbcl-package->cl-source-package sbcl-chanl))
7017
7018(define-public ecl-chanl
00a9a936 7019 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7020
7021(define-public sbcl-cl-store
1896256d
BG
7022 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7023 (revision "1"))
88f06fd0
PN
7024 (package
7025 (name "sbcl-cl-store")
7026 (version (git-version "0.8.11" revision commit))
7027 (source
7028 (origin
7029 (method git-fetch)
7030 (uri (git-reference
7031 (url "https://github.com/skypher/cl-store.git")
7032 (commit commit)))
7033 (file-name (git-file-name name version))
7034 (sha256
7035 (base32
1896256d 7036 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7037 (build-system asdf-build-system/sbcl)
7038 (native-inputs
7039 `(("rt" ,sbcl-rt)))
7040 (synopsis "Common Lisp library to serialize data")
7041 (description
7042 "CL-STORE is a portable serialization package which should give you the
7043ability to store all Common Lisp data types into streams.")
630a4b77 7044 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7045 (license license:expat))))
7046
7047(define-public cl-store
7048 (sbcl-package->cl-source-package sbcl-cl-store))
7049
7050(define-public ecl-cl-store
7051 (sbcl-package->ecl-package sbcl-cl-store))
7052
7053(define-public sbcl-cl-gobject-introspection
7054 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7055 (revision "0"))
7056 (package
7057 (name "sbcl-cl-gobject-introspection")
7058 (version (git-version "0.3" revision commit))
7059 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7060 (source
7061 (origin
7062 (method git-fetch)
7063 (uri (git-reference
7064 (url home-page)
7065 (commit commit)))
7066 (file-name (git-file-name name version))
7067 (sha256
7068 (base32
7069 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7070 (build-system asdf-build-system/sbcl)
7071 (inputs
7072 `(("alexandria" ,sbcl-alexandria)
7073 ("cffi" ,sbcl-cffi)
7074 ("iterate" ,sbcl-iterate)
7075 ("trivial-garbage" ,sbcl-trivial-garbage)
7076 ("glib" ,glib)
7077 ("gobject-introspection" ,gobject-introspection)))
7078 (native-inputs
7079 `(("fiveam" ,sbcl-fiveam)))
7080 (arguments
7081 ;; TODO: Tests fail, see
7082 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7083 '(#:tests? #f
7084 #:phases
7085 (modify-phases %standard-phases
7086 (add-after (quote unpack) (quote fix-paths)
7087 (lambda* (#:key inputs #:allow-other-keys)
7088 (substitute* "src/init.lisp"
7089 (("libgobject-2\\.0\\.so")
7090 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7091 (("libgirepository-1\\.0\\.so")
7092 (string-append (assoc-ref inputs "gobject-introspection")
7093 "/lib/libgirepository-1.0.so")))
7094 #t)))))
7095 (synopsis "Common Lisp bindings to GObject Introspection")
7096 (description
7097 "This library is a bridge between Common Lisp and GObject
7098Introspection, which enables Common Lisp programs to access the full interface
7099of C+GObject libraries without the need of writing dedicated bindings.")
7100 (license (list license:bsd-3
7101 ;; Tests are under a different license.
7102 license:llgpl)))))
7103
7104(define-public cl-gobject-introspection
7105 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7106
7107(define-public sbcl-string-case
7108 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7109 (revision "0"))
7110 (package
7111 (name "sbcl-string-case")
7112 (version (git-version "0.0.2" revision commit))
7113 (home-page "https://github.com/pkhuong/string-case")
7114 (source
7115 (origin
7116 (method git-fetch)
7117 (uri (git-reference
7118 (url home-page)
7119 (commit commit)))
7120 (file-name (git-file-name name version))
7121 (sha256
7122 (base32
7123 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7124 (build-system asdf-build-system/sbcl)
7125 (synopsis "Efficient string= case in Common Lisp")
7126 (description
7127 "@code{string-case} is a Common Lisp macro that generates specialised decision
7128trees to dispatch on string equality.")
7129 (license license:bsd-3))))
7130
7131(define-public cl-string-case
7132 (sbcl-package->cl-source-package sbcl-string-case))
7133
7134(define-public ecl-string-case
7135 (sbcl-package->ecl-package sbcl-string-case))
7136
7137(define-public sbcl-global-vars
7138 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7139 (revision "0"))
7140 (package
7141 (name "sbcl-global-vars")
7142 (version (git-version "1.0.0" revision commit))
7143 (home-page "https://github.com/lmj/global-vars")
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url home-page)
7149 (commit commit)))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32
7153 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7154 (build-system asdf-build-system/sbcl)
7155 (synopsis "Efficient global variables in Common Lisp")
7156 (description
7157 "In Common Lisp, a special variable that is never dynamically bound
7158typically serves as a stand-in for a global variable. The @code{global-vars}
7159library provides true global variables that are implemented by some compilers.
7160An attempt to rebind a global variable properly results in a compiler error.
7161That is, a global variable cannot be dynamically bound.
7162
7163Global variables therefore allow us to communicate an intended usage that
7164differs from special variables. Global variables are also more efficient than
7165special variables, especially in the presence of threads.")
7166 (license license:expat))))
7167
7168(define-public cl-global-vars
7169 (sbcl-package->cl-source-package sbcl-global-vars))
7170
7171(define-public ecl-global-vars
7172 (sbcl-package->ecl-package sbcl-global-vars))
7173
7174(define-public sbcl-trivial-file-size
7175 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7176 (revision "0"))
7177 (package
7178 (name "sbcl-trivial-file-size")
7179 (version (git-version "0.0.0" revision commit))
7180 (home-page "https://github.com/ruricolist/trivial-file-size")
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 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7191 (build-system asdf-build-system/sbcl)
7192 (native-inputs
7193 `(("fiveam" ,sbcl-fiveam)))
7194 (synopsis "Size of a file in bytes in Common Lisp")
7195 (description
7196 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7197is to open the file with an element type of (unsigned-byte 8) and then
7198calculate the length of the stream. This is less than ideal. In most cases
7199it is better to get the size of the file from its metadata, using a system
7200call.
7201
7202This library exports a single function, file-size-in-octets. It returns the
7203size of a file in bytes, using system calls when possible.")
7204 (license license:expat))))
7205
7206(define-public cl-trivial-file-size
7207 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7208
7209(define-public ecl-trivial-file-size
7210 (sbcl-package->ecl-package sbcl-trivial-file-size))
7211
7212(define-public sbcl-trivial-macroexpand-all
7213 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7214 (revision "0"))
7215 (package
7216 (name "sbcl-trivial-macroexpand-all")
7217 (version (git-version "0.0.0" revision commit))
7218 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7219 (source
7220 (origin
7221 (method git-fetch)
7222 (uri (git-reference
7223 (url home-page)
7224 (commit commit)))
7225 (file-name (git-file-name name version))
7226 (sha256
7227 (base32
7228 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7229 (build-system asdf-build-system/sbcl)
7230 (native-inputs
7231 `(("fiveam" ,sbcl-fiveam)))
7232 (synopsis "Portable macroexpand-all for Common Lisp")
7233 (description
7234 "This library provides a macroexpand-all function that calls the
7235implementation specific equivalent.")
7236 (license license:unlicense))))
7237
7238(define-public cl-trivial-macroexpand-all
7239 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7240
7241(define-public ecl-trivial-macroexpand-all
7242 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7243
7244(define-public sbcl-serapeum
f96aa123
PN
7245 (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
7246 (revision "1"))
88f06fd0
PN
7247 (package
7248 (name "sbcl-serapeum")
7249 (version (git-version "0.0.0" revision commit))
7250 (home-page "https://github.com/ruricolist/serapeum")
7251 (source
7252 (origin
7253 (method git-fetch)
7254 (uri (git-reference
7255 (url home-page)
7256 (commit commit)))
7257 (file-name (git-file-name name version))
7258 (sha256
7259 (base32
f96aa123 7260 "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
88f06fd0
PN
7261 (build-system asdf-build-system/sbcl)
7262 (inputs
7263 `(("alexandria" ,sbcl-alexandria)
7264 ("trivia" ,sbcl-trivia)
7265 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7266 ("split-sequence" ,sbcl-split-sequence)
7267 ("string-case" ,sbcl-string-case)
7268 ("parse-number" ,sbcl-parse-number)
7269 ("trivial-garbage" ,sbcl-trivial-garbage)
7270 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7271 ("named-readtables" ,sbcl-named-readtables)
8137983a 7272 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7273 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7274 ("global-vars" ,sbcl-global-vars)
7275 ("trivial-file-size" ,sbcl-trivial-file-size)
7276 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7277 (native-inputs
7278 `(("fiveam" ,sbcl-fiveam)
7279 ("local-time" ,sbcl-local-time)))
7280 (arguments
7281 '(#:phases
7282 (modify-phases %standard-phases
7283 (add-after 'unpack 'disable-failing-tests
7284 (lambda* (#:key inputs #:allow-other-keys)
7285 (substitute* "serapeum.asd"
7286 ;; Guix does not have Quicklisp, and probably never will.
7287 (("\\(:file \"quicklisp\"\\)") ""))
7288 #t)))))
7289 (synopsis "Common Lisp utility library beyond Alexandria")
7290 (description
7291 "Serapeum is a conservative library of Common Lisp utilities. It is a
7292supplement, not a competitor, to Alexandria.")
7293 (license license:expat))))
7294
7295(define-public cl-serapeum
7296 (sbcl-package->cl-source-package sbcl-serapeum))
7297
7298(define-public sbcl-arrows
7299 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7300 (revision "0"))
7301 (package
7302 (name "sbcl-arrows")
7303 (version (git-version "0.2.0" revision commit))
7304 (source
7305 (origin
7306 (method git-fetch)
7307 (uri (git-reference
7308 (url "https://gitlab.com/Harleqin/arrows.git")
7309 (commit commit)))
7310 (file-name (git-file-name name version))
7311 (sha256
7312 (base32
7313 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7314 (build-system asdf-build-system/sbcl)
7315 (native-inputs
7316 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7317 (synopsis "Clojure-like arrow macros for Common Lisp")
7318 (description
7319 "This library implements the @code{->} and @code{->>} macros from
7320Clojure, as well as several expansions on the idea.")
7321 (home-page "https://gitlab.com/Harleqin/arrows")
7322 (license license:public-domain))))
7323
7324(define-public cl-arrows
7325 (sbcl-package->cl-source-package sbcl-arrows))
7326
7327(define-public ecl-arrows
7328 (sbcl-package->ecl-package sbcl-arrows))
7329
7330(define-public sbcl-simple-parallel-tasks
7331 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7332 (revision "0"))
7333 (package
7334 (name "sbcl-simple-parallel-tasks")
7335 (version (git-version "1.0" revision commit))
7336 (source
7337 (origin
7338 (method git-fetch)
7339 (uri (git-reference
7340 (url "https://github.com/glv2/simple-parallel-tasks.git")
7341 (commit commit)))
7342 (file-name (git-file-name name version))
7343 (sha256
7344 (base32
7345 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7346 (build-system asdf-build-system/sbcl)
7347 (native-inputs
7348 `(("fiveam" ,sbcl-fiveam)))
7349 (inputs
7350 `(("chanl" ,sbcl-chanl)))
7351 (synopsis "Common Lisp library to evaluate some forms in parallel")
7352 (description "This is a simple Common Lisp library to evaluate some
7353forms in parallel.")
7354 (home-page "https://github.com/glv2/simple-parallel-tasks")
7355 (license license:gpl3))))
7356
7357(define-public cl-simple-parallel-tasks
7358 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7359
7360(define-public ecl-simple-parallel-tasks
7361 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7362
7363(define-public sbcl-cl-heap
7364 (package
7365 (name "sbcl-cl-heap")
7366 (version "0.1.6")
7367 (source
7368 (origin
7369 (method url-fetch)
7370 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7371 "cl-heap_" version ".tar.gz"))
7372 (sha256
7373 (base32
7374 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7375 (build-system asdf-build-system/sbcl)
7376 (native-inputs
7377 `(("xlunit" ,sbcl-xlunit)))
7378 (arguments
7379 `(#:test-asd-file "cl-heap-tests.asd"))
7380 (synopsis "Heap and priority queue data structures for Common Lisp")
7381 (description
7382 "CL-HEAP provides various implementations of heap data structures (a
7383binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7384 (home-page "https://common-lisp.net/project/cl-heap/")
7385 (license license:gpl3+)))
7386
7387(define-public cl-heap
7388 (sbcl-package->cl-source-package sbcl-cl-heap))
7389
7390(define-public ecl-cl-heap
7391 (sbcl-package->ecl-package sbcl-cl-heap))
7392
7393(define-public sbcl-curry-compose-reader-macros
7394 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7395 (revision "0"))
7396 (package
7397 (name "sbcl-curry-compose-reader-macros")
7398 (version (git-version "1.0.0" revision commit))
7399 (source
7400 (origin
7401 (method git-fetch)
7402 (uri
7403 (git-reference
7404 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7405 (commit commit)))
7406 (file-name (git-file-name name version))
7407 (sha256
7408 (base32
7409 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7410 (build-system asdf-build-system/sbcl)
7411 (inputs
7412 `(("alexandria" ,sbcl-alexandria)
7413 ("named-readtables" ,sbcl-named-readtables)))
7414 (synopsis "Reader macros for partial application and composition")
7415 (description
7416 "This Common Lisp library provides reader macros for concise expression
7417of function partial application and composition.")
7418 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7419 (license license:public-domain))))
7420
7421(define-public cl-curry-compose-reader-macros
7422 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7423
7424(define-public ecl-curry-compose-reader-macros
7425 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7426
7427(define-public sbcl-yason
7428 (package
7429 (name "sbcl-yason")
7430 (version "0.7.7")
7431 (source
7432 (origin
7433 (method git-fetch)
7434 (uri (git-reference
7435 (url "https://github.com/phmarek/yason.git")
7436 (commit (string-append "v" version))))
7437 (file-name (git-file-name name version))
7438 (sha256
7439 (base32
7440 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7441 (build-system asdf-build-system/sbcl)
7442 (inputs
7443 `(("alexandria" ,sbcl-alexandria)
7444 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7445 (synopsis "Common Lisp JSON parser/encoder")
7446 (description
7447 "YASON is a Common Lisp library for encoding and decoding data in the
7448JSON interchange format.")
7449 (home-page "https://github.com/phmarek/yason")
7450 (license license:bsd-3)))
7451
7452(define-public cl-yason
7453 (sbcl-package->cl-source-package sbcl-yason))
7454
7455(define-public ecl-yason
7456 (sbcl-package->ecl-package sbcl-yason))
7457
7458(define-public sbcl-stefil
7459 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7460 (revision "0"))
7461 (package
7462 (name "sbcl-stefil")
7463 (version (git-version "0.1" revision commit))
7464 (source
7465 (origin
7466 (method git-fetch)
7467 (uri (git-reference
7468 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7469 (commit commit)))
7470 (file-name (git-file-name name version))
7471 (sha256
7472 (base32
7473 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7474 (build-system asdf-build-system/sbcl)
7475 (inputs
7476 `(("alexandria" ,sbcl-alexandria)
7477 ("iterate" ,sbcl-iterate)
7478 ("metabang-bind" ,sbcl-metabang-bind)))
7479 (propagated-inputs
7480 ;; Swank doesn't have a pre-compiled package, therefore we must
7481 ;; propagate its sources.
7482 `(("swank" ,cl-slime-swank)))
7483 (arguments
7484 '(#:phases
7485 (modify-phases %standard-phases
7486 (add-after 'unpack 'drop-unnecessary-dependency
7487 (lambda _
7488 (substitute* "package.lisp"
7489 ((":stefil-system") ""))
7490 #t)))))
7491 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7492 (synopsis "Simple test framework")
7493 (description
7494 "Stefil is a simple test framework for Common Lisp, with a focus on
7495interactive development.")
7496 (license license:public-domain))))
7497
7498(define-public cl-stefil
7499 (sbcl-package->cl-source-package sbcl-stefil))
7500
7501(define-public sbcl-graph
7502 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7503 (revision "0"))
7504 (package
7505 (name "sbcl-graph")
7506 (version (git-version "0.0.0" revision commit))
7507 (source
7508 (origin
7509 (method git-fetch)
7510 (uri
7511 (git-reference
7512 (url "https://github.com/eschulte/graph.git")
7513 (commit commit)))
7514 (file-name (git-file-name name version))
7515 (sha256
7516 (base32
7517 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7518 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7519 (build-system asdf-build-system/sbcl)
7520 (native-inputs
7521 `(("stefil" ,sbcl-stefil)))
7522 (inputs
7523 `(("alexandria" ,sbcl-alexandria)
7524 ("cl-heap" ,sbcl-cl-heap)
7525 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7526 ("metabang-bind" ,sbcl-metabang-bind)
7527 ("named-readtables" ,sbcl-named-readtables)))
7528 (arguments
17c015c9 7529 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7530 (synopsis "Graph data structure and algorithms for Common Lisp")
7531 (description
7532 "The GRAPH Common Lisp library provides a data structures to represent
7533graphs, as well as some graph manipulation and analysis algorithms (shortest
7534path, maximum flow, minimum spanning tree, etc.).")
7535 (home-page "https://eschulte.github.io/graph/")
7536 (license license:gpl3+))))
7537
7538(define-public cl-graph
7539 (sbcl-package->cl-source-package sbcl-graph))
7540
7541(define-public sbcl-graph-dot
7542 (package
7543 (inherit sbcl-graph)
7544 (name "sbcl-graph-dot")
7545 (inputs
7546 `(("alexandria" ,sbcl-alexandria)
7547 ("cl-ppcre" ,sbcl-cl-ppcre)
7548 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7549 ("graph" ,sbcl-graph)
7550 ("metabang-bind" ,sbcl-metabang-bind)
7551 ("named-readtables" ,sbcl-named-readtables)))
7552 (arguments
7553 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7554 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7555 ((#:asd-system-name _ #f) "graph-dot")))
7556 (synopsis "Serialize graphs to and from DOT format")))
7557
7558(define-public sbcl-graph-json
7559 (package
7560 (inherit sbcl-graph)
7561 (name "sbcl-graph-json")
7562 (inputs
7563 `(("alexandria" ,sbcl-alexandria)
7564 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7565 ("graph" ,sbcl-graph)
7566 ("metabang-bind" ,sbcl-metabang-bind)
7567 ("named-readtables" ,sbcl-named-readtables)
7568 ("yason" ,sbcl-yason)))
7569 (arguments
7570 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7571 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7572 ((#:asd-system-name _ #f) "graph-json")))
7573 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7574
7575(define-public sbcl-trivial-indent
7576 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7577 (revision "0"))
7578 (package
7579 (name "sbcl-trivial-indent")
7580 (version (git-version "1.0.0" revision commit))
7581 (source
7582 (origin
7583 (method git-fetch)
7584 (uri
7585 (git-reference
7586 (url "https://github.com/Shinmera/trivial-indent")
7587 (commit commit)))
7588 (file-name (git-file-name name version))
7589 (sha256
7590 (base32
7591 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7592 (build-system asdf-build-system/sbcl)
7593 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7594 (description
7595 "This library allows you to define custom indentation hints for your
7596macros if the one recognised by SLIME automatically produces unwanted
7597results.")
7598 (home-page "https://shinmera.github.io/trivial-indent/")
7599 (license license:zlib))))
7600
7601(define-public cl-trivial-indent
7602 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7603
7604(define-public sbcl-documentation-utils
7605 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7606 (revision "0"))
7607 (package
7608 (name "sbcl-documentation-utils")
7609 (version (git-version "1.2.0" revision commit))
7610 (source
7611 (origin
7612 (method git-fetch)
7613 (uri
7614 (git-reference
7615 (url "https://github.com/Shinmera/documentation-utils.git")
7616 (commit commit)))
7617 (file-name (git-file-name name version))
7618 (sha256
7619 (base32
7620 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7621 (build-system asdf-build-system/sbcl)
7622 (inputs
7623 `(("trivial-indent" ,sbcl-trivial-indent)))
7624 (synopsis "Few simple tools to document Common Lisp libraries")
7625 (description
7626 "This is a small library to help you with managing the Common Lisp
7627docstrings for your library.")
7628 (home-page "https://shinmera.github.io/documentation-utils/")
7629 (license license:zlib))))
7630
7631(define-public cl-documentation-utils
7632 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7633
281537f4
GLV
7634(define-public ecl-documentation-utils
7635 (sbcl-package->ecl-package sbcl-documentation-utils))
7636
aa47c9e7
PN
7637(define-public sbcl-form-fiddle
7638 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7639 (revision "0"))
7640 (package
7641 (name "sbcl-form-fiddle")
7642 (version (git-version "1.1.0" revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri
7647 (git-reference
7648 (url "https://github.com/Shinmera/form-fiddle")
7649 (commit commit)))
7650 (file-name (git-file-name name version))
7651 (sha256
7652 (base32
7653 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7654 (build-system asdf-build-system/sbcl)
7655 (inputs
7656 `(("documentation-utils" ,sbcl-documentation-utils)))
7657 (synopsis "Utilities to destructure Common Lisp lambda forms")
7658 (description
7659 "Often times we need to destructure a form definition in a Common Lisp
7660macro. This library provides a set of simple utilities to help with that.")
7661 (home-page "https://shinmera.github.io/form-fiddle/")
7662 (license license:zlib))))
7663
7664(define-public cl-form-fiddle
7665 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7666
7667(define-public sbcl-parachute
7668 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7669 (revision "0"))
7670 (package
7671 (name "sbcl-parachute")
7672 (version (git-version "1.1.1" revision commit))
7673 (source
7674 (origin
7675 (method git-fetch)
7676 (uri
7677 (git-reference
7678 (url "https://github.com/Shinmera/parachute")
7679 (commit commit)))
7680 (file-name (git-file-name name version))
7681 (sha256
7682 (base32
7683 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7684 (build-system asdf-build-system/sbcl)
7685 (inputs
7686 `(("documentation-utils" ,sbcl-documentation-utils)
7687 ("form-fiddle" ,sbcl-form-fiddle)))
7688 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7689 (description
7690 "Parachute is a simple-to-use and extensible testing framework.
7691In Parachute, things are organised as a bunch of named tests within a package.
7692Each test can contain a bunch of test forms that make up its body.")
7693 (home-page "https://shinmera.github.io/parachute/")
7694 (license license:zlib))))
7695
7696(define-public cl-parachute
7697 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7698
7699(define-public sbcl-array-utils
7700 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7701 (revision "0"))
7702 (package
7703 (name "sbcl-array-utils")
7704 (version (git-version "1.1.1" revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri
7709 (git-reference
7710 (url "https://github.com/Shinmera/array-utils")
7711 (commit commit)))
7712 (file-name (git-file-name name version))
7713 (sha256
7714 (base32
7715 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7716 (build-system asdf-build-system/sbcl)
7717 (native-inputs
7718 `(("parachute" ,sbcl-parachute)))
7719 (inputs
7720 `(("documentation-utils" ,sbcl-documentation-utils)))
7721 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7722 (description
7723 "A miniature toolkit that contains some useful shifting/popping/pushing
7724functions for arrays and vectors. Originally from Plump.")
7725 (home-page "https://shinmera.github.io/array-utils/")
7726 (license license:zlib))))
7727
7728(define-public cl-array-utils
7729 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7730
7731(define-public sbcl-plump
7732 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7733 (revision "0"))
7734 (package
7735 (name "sbcl-plump")
7736 (version (git-version "2.0.0" revision commit))
7737 (source
7738 (origin
7739 (method git-fetch)
7740 (uri
7741 (git-reference
7742 (url "https://github.com/Shinmera/plump")
7743 (commit commit)))
7744 (file-name (git-file-name name version))
7745 (sha256
7746 (base32
7747 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7748 (build-system asdf-build-system/sbcl)
7749 (inputs
7750 `(("array-utils" ,sbcl-array-utils)
7751 ("documentation-utils" ,sbcl-documentation-utils)))
7752 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7753 (description
7754 "Plump is a parser for HTML/XML-like documents, focusing on being
7755lenient towards invalid markup. It can handle things like invalid attributes,
7756bad closing tag order, unencoded entities, inexistent tag types, self-closing
7757tags and so on. It parses documents to a class representation and offers a
7758small set of DOM functions to manipulate it. It can be extended to parse to
7759your own classes.")
7760 (home-page "https://shinmera.github.io/plump/")
7761 (license license:zlib))))
7762
7763(define-public cl-plump
7764 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7765
7766(define-public sbcl-antik-base
7767 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7768 (revision "1"))
7769 (package
7770 (name "sbcl-antik-base")
7771 (version (git-version "0.0.0" revision commit))
7772 (source
7773 (origin
7774 (method git-fetch)
7775 (uri (git-reference
7776 (url "https://gitlab.common-lisp.net/antik/antik.git")
7777 (commit commit)))
7778 (file-name (git-file-name name version))
7779 (sha256
7780 (base32
7781 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7782 (build-system asdf-build-system/sbcl)
7783 (inputs
7784 `(("alexandria" ,sbcl-alexandria)
7785 ("cl-ppcre" ,sbcl-cl-ppcre)
7786 ("iterate" ,sbcl-iterate)
7787 ("metabang-bind" ,sbcl-metabang-bind)
7788 ("named-readtables" ,sbcl-named-readtables)
7789 ("split-sequence" ,sbcl-split-sequence)))
7790 (native-inputs
7791 `(("lisp-unit" ,sbcl-lisp-unit)))
7792 (synopsis "Scientific and engineering computation in Common Lisp")
7793 (description
7794 "Antik provides a foundation for scientific and engineering
7795computation in Common Lisp. It is designed not only to facilitate
7796numerical computations, but to permit the use of numerical computation
7797libraries and the interchange of data and procedures, whether
7798foreign (non-Lisp) or Lisp libraries. It is named after the
7799Antikythera mechanism, one of the oldest examples of a scientific
7800computer known.")
7801 (home-page "https://common-lisp.net/project/antik/")
7802 (license license:gpl3))))
7803
7804(define-public cl-antik-base
7805 (sbcl-package->cl-source-package sbcl-antik-base))
7806
7807(define-public ecl-antik-base
7808 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7809
7810(define-public sbcl-foreign-array
7811 (package
7812 (inherit sbcl-antik-base)
7813 (name "sbcl-foreign-array")
7814 (arguments
7815 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7816 ((#:asd-file _ "") "foreign-array.asd")
7817 ((#:asd-system-name _ #f) "foreign-array")))
7818 (inputs
7819 `(("antik-base" ,sbcl-antik-base)
7820 ("cffi" ,sbcl-cffi)
7821 ("trivial-garbage" ,sbcl-trivial-garbage)
7822 ("static-vectors" ,sbcl-static-vectors)))
7823 (synopsis "Common Lisp library providing access to foreign arrays")))
7824
7825(define-public cl-foreign-array
7826 (sbcl-package->cl-source-package sbcl-foreign-array))
7827
7828(define-public ecl-foreign-array
7829 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7830
7831(define-public sbcl-physical-dimension
7832 (package
7833 (inherit sbcl-antik-base)
7834 (name "sbcl-physical-dimension")
7835 (inputs
7836 `(("fare-utils" ,sbcl-fare-utils)
7837 ("foreign-array" ,sbcl-foreign-array)
7838 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7839 (arguments
7840 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7841 ((#:asd-file _ "") "physical-dimension.asd")
7842 ((#:asd-system-name _ #f) "physical-dimension")))
7843 (synopsis
7844 "Common Lisp library providing computations with physical units")))
7845
7846(define-public cl-physical-dimension
7847 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7848
7849(define-public sbcl-science-data
7850 (package
7851 (inherit sbcl-antik-base)
7852 (name "sbcl-science-data")
7853 (inputs
7854 `(("physical-dimension" ,sbcl-physical-dimension)
7855 ("drakma" ,sbcl-drakma)))
7856 (arguments
7857 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7858 ((#:asd-file _ "") "science-data.asd")
7859 ((#:asd-system-name _ #f) "science-data")))
7860 (synopsis
7861 "Common Lisp library for scientific and engineering numerical data")))
7862
7863(define-public cl-science-data
7864 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7865
7866(define-public sbcl-gsll
7867 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7868 (revision "1"))
7869 (package
7870 (name "sbcl-gsll")
7871 (version (git-version "0.0.0" revision commit))
7872 (source
7873 (origin
7874 (method git-fetch)
7875 (uri (git-reference
7876 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7877 (commit commit)))
7878 (file-name (git-file-name name version))
7879 (sha256
7880 (base32
7881 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7882 (build-system asdf-build-system/sbcl)
7883 (native-inputs
7884 `(("lisp-unit" ,sbcl-lisp-unit)))
7885 (inputs
7886 `(("alexandria" ,sbcl-alexandria)
7887 ("cffi-grovel" ,sbcl-cffi-grovel)
7888 ("cffi-libffi" ,sbcl-cffi-libffi)
7889 ("foreign-array" ,sbcl-foreign-array)
7890 ("gsl" ,gsl)
7891 ("metabang-bind" ,sbcl-metabang-bind)
7892 ("trivial-features" ,sbcl-trivial-features)
7893 ("trivial-garbage" ,sbcl-trivial-garbage)))
7894 (arguments
7895 `(#:tests? #f
7896 #:phases
7897 (modify-phases %standard-phases
7898 (add-after 'unpack 'fix-cffi-paths
7899 (lambda* (#:key inputs #:allow-other-keys)
7900 (substitute* "gsll.asd"
7901 ((":depends-on \\(#:foreign-array")
7902 ":depends-on (#:foreign-array #:cffi-libffi"))
7903 (substitute* "init/init.lisp"
7904 (("libgslcblas.so" all)
7905 (string-append
7906 (assoc-ref inputs "gsl") "/lib/" all)))
7907 (substitute* "init/init.lisp"
7908 (("libgsl.so" all)
7909 (string-append
7910 (assoc-ref inputs "gsl") "/lib/" all))))))))
7911 (synopsis "GNU Scientific Library for Lisp")
7912 (description
7913 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7914GNU Scientific Library (GSL) from Common Lisp. This library provides a
7915full range of common mathematical operations useful to scientific and
7916engineering applications. The design of the GSLL interface is such
7917that access to most of the GSL library is possible in a Lisp-natural
7918way; the intent is that the user not be hampered by the restrictions
7919of the C language in which GSL has been written. GSLL thus provides
7920interactive use of GSL for getting quick answers, even for someone not
7921intending to program in Lisp.")
7922 (home-page "https://common-lisp.net/project/gsll/")
7923 (license license:gpl3))))
7924
7925(define-public cl-gsll
7926 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7927
7928(define-public sbcl-antik
7929 (package
7930 (inherit sbcl-antik-base)
7931 (name "sbcl-antik")
7932 (inputs
7933 `(("gsll" ,sbcl-gsll)
7934 ("physical-dimension" ,sbcl-physical-dimension)))
7935 (arguments
7936 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7937 ((#:asd-file _ "") "antik.asd")
7938 ((#:asd-system-name _ #f) "antik")))))
7939
7940(define-public cl-antik
7941 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7942
7943(define-public sbcl-cl-interpol
7944 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7945 (revision "1"))
7946 (package
7947 (name "sbcl-cl-interpol")
7948 (version (git-version "0.2.6" revision commit))
7949 (source
7950 (origin
7951 (method git-fetch)
7952 (uri (git-reference
7953 (url "https://github.com/edicl/cl-interpol.git")
7954 (commit commit)))
7955 (file-name (git-file-name name version))
7956 (sha256
7957 (base32
7958 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7959 (build-system asdf-build-system/sbcl)
7960 (inputs
7961 `(("cl-unicode" ,sbcl-cl-unicode)
7962 ("named-readtables" ,sbcl-named-readtables)))
7963 (native-inputs
7964 `(("flexi-streams" ,sbcl-flexi-streams)))
7965 (synopsis "String interpolation for Common Lisp")
7966 (description
7967 "CL-INTERPOL is a library for Common Lisp which modifies the
7968reader so that you can have interpolation within strings similar to
7969Perl or Unix Shell scripts. It also provides various ways to insert
7970arbitrary characters into literal strings even if your editor/IDE
7971doesn't support them.")
7972 (home-page "https://edicl.github.io/cl-interpol/")
7973 (license license:bsd-3))))
7974
7975(define-public cl-interpol
7976 (sbcl-package->cl-source-package sbcl-cl-interpol))
7977
7978(define-public ecl-cl-interpol
7979 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7980
7981(define sbcl-symbol-munger-boot0
7982 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7983 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7984 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7985 (revision "1"))
7986 (package
7987 (name "sbcl-symbol-munger-boot0")
7988 (version (git-version "0.0.1" revision commit))
7989 (source
7990 (origin
7991 (method git-fetch)
7992 (uri (git-reference
7993 (url "https://github.com/AccelerationNet/symbol-munger.git")
7994 (commit commit)))
7995 (file-name (git-file-name name version))
7996 (sha256
7997 (base32
7998 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7999 (build-system asdf-build-system/sbcl)
8000 (arguments
8001 `(#:asd-file "symbol-munger.asd"
8002 #:asd-system-name "symbol-munger"))
8003 (inputs
8004 `(("iterate" ,sbcl-iterate)
8005 ("alexandria" ,sbcl-alexandria)))
8006 (native-inputs
8007 `(("lisp-unit" ,sbcl-lisp-unit)))
8008 (synopsis
8009 "Capitalization and spacing conversion functions for Common Lisp")
8010 (description
8011 "This is a Common Lisp library to change the capitalization and spacing
8012of a string or a symbol. It can convert to and from Lisp, english, underscore
8013and camel-case rules.")
8014 (home-page "https://github.com/AccelerationNet/symbol-munger")
8015 ;; The package declares a BSD license, but all of the license
8016 ;; text is MIT.
8017 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8018 (license license:expat))))
8019
8020(define sbcl-lisp-unit2-boot0
8021 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8022 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8023 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8024 (revision "1"))
8025 (package
8026 (name "sbcl-lisp-unit2-boot0")
8027 (version (git-version "0.2.0" revision commit))
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri (git-reference
8032 (url "https://github.com/AccelerationNet/lisp-unit2.git")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8038 (build-system asdf-build-system/sbcl)
8039 (arguments
8040 `(#:asd-file "lisp-unit2.asd"
8041 #:asd-system-name "lisp-unit2"))
8042 (inputs
8043 `(("alexandria" ,sbcl-alexandria)
8044 ("cl-interpol" ,sbcl-cl-interpol)
8045 ("iterate" ,sbcl-iterate)
8046 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8047 (synopsis "Test Framework for Common Lisp")
8048 (description
8049 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8050style of JUnit for Java. It is a new version of the lisp-unit library written
8051by Chris Riesbeck.")
8052 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8053 (license license:expat))))
edfa2261
KCB
8054
8055(define-public sbcl-symbol-munger
8056 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8057 (revision "1"))
8058 (package
8059 (name "sbcl-symbol-munger")
8060 (version (git-version "0.0.1" revision commit))
8061 (source
8062 (origin
8063 (method git-fetch)
8064 (uri (git-reference
8065 (url "https://github.com/AccelerationNet/symbol-munger.git")
8066 (commit commit)))
8067 (file-name (git-file-name name version))
8068 (sha256
8069 (base32
8070 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8071 (build-system asdf-build-system/sbcl)
8072 (inputs
8073 `(("alexandria" ,sbcl-alexandria)
8074 ("iterate" ,sbcl-iterate)))
8075 (native-inputs
8076 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8077 (synopsis
8078 "Capitalization and spacing conversion functions for Common Lisp")
8079 (description
8080 "This is a Common Lisp library to change the capitalization and spacing
8081of a string or a symbol. It can convert to and from Lisp, english, underscore
8082and camel-case rules.")
8083 (home-page "https://github.com/AccelerationNet/symbol-munger")
8084 ;; The package declares a BSD license, but all of the license
8085 ;; text is MIT.
8086 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8087 (license license:expat))))
8088
8089(define-public cl-symbol-munger
8090 (sbcl-package->cl-source-package sbcl-symbol-munger))
8091
8092(define-public ecl-symbol-munger
8093 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8094
8095(define-public sbcl-lisp-unit2
8096 (package
8097 (inherit sbcl-lisp-unit2-boot0)
8098 (name "sbcl-lisp-unit2")
8099 (inputs
8100 `(("alexandria" ,sbcl-alexandria)
8101 ("cl-interpol" ,sbcl-cl-interpol)
8102 ("iterate" ,sbcl-iterate)
8103 ("symbol-munger" ,sbcl-symbol-munger)))))
8104
8105(define-public cl-lisp-unit2
8106 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8107
8108(define-public ecl-lisp-unit2
8109 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8110
8111(define-public sbcl-cl-csv
8112 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8113 (revision "1"))
8114 (package
8115 (name "sbcl-cl-csv")
8116 (version (git-version "1.0.6" revision commit))
8117 (source
8118 (origin
8119 (method git-fetch)
8120 (uri (git-reference
8121 (url "https://github.com/AccelerationNet/cl-csv.git")
8122 (commit commit)))
8123 (file-name (git-file-name name version))
8124 (sha256
8125 (base32
8126 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8127 (build-system asdf-build-system/sbcl)
8128 (arguments
8129 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8130 `(#:tests? #f))
8131 (inputs
8132 `(("alexandria" ,sbcl-alexandria)
8133 ("cl-interpol" ,sbcl-cl-interpol)
8134 ("iterate" ,sbcl-iterate)))
8135 (native-inputs
8136 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8137 (synopsis "Common lisp library for comma-separated values")
8138 (description
8139 "This is a Common Lisp library providing functions to read/write CSV
8140from/to strings, streams and files.")
8141 (home-page "https://github.com/AccelerationNet/cl-csv")
8142 (license license:bsd-3))))
8143
8144(define-public cl-csv
8145 (sbcl-package->cl-source-package sbcl-cl-csv))
8146
8147(define-public ecl-cl-csv
8148 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8149
8150(define-public sbcl-external-program
8151 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8152 (revision "1"))
8153 (package
8154 (name "sbcl-external-program")
8155 (version (git-version "0.0.6" revision commit))
8156 (source
8157 (origin
8158 (method git-fetch)
8159 (uri (git-reference
8160 (url "https://github.com/sellout/external-program.git")
8161 (commit commit)))
8162 (file-name (git-file-name name version))
8163 (sha256
8164 (base32
8165 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8166 (build-system asdf-build-system/sbcl)
8167 (inputs
8168 `(("trivial-features" ,sbcl-trivial-features)))
8169 (native-inputs
8170 `(("fiveam" ,sbcl-fiveam)))
8171 (synopsis "Common Lisp library for running external programs")
8172 (description
8173 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8174process. It is an attempt to make the RUN-PROGRAM functionality in
8175implementations like SBCL and CCL as portable as possible without
8176sacrificing much in the way of power.")
8177 (home-page "https://github.com/sellout/external-program")
8178 (license license:llgpl))))
8179
8180(define-public cl-external-program
8181 (sbcl-package->cl-source-package sbcl-external-program))
8182
8183(define-public ecl-external-program
8184 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8185
8186(define sbcl-cl-ana-boot0
8187 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8188 (revision "1"))
8189 (package
8190 (name "sbcl-cl-ana-boot0")
8191 (version (git-version "0.0.0" revision commit))
8192 (source
8193 (origin
8194 (method git-fetch)
8195 (uri (git-reference
8196 (url "https://github.com/ghollisjr/cl-ana.git")
8197 (commit commit)))
8198 (file-name (git-file-name name version))
8199 (sha256
8200 (base32
8201 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8202 (build-system asdf-build-system/sbcl)
8203 (synopsis "Common Lisp data analysis library")
8204 (description
8205 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8206binned data analysis along with nonlinear least squares fitting and
8207visualization.")
8208 (home-page "https://github.com/ghollisjr/cl-ana")
8209 (license license:gpl3))))
8210
8211(define-public sbcl-cl-ana.pathname-utils
8212 (package
8213 (inherit sbcl-cl-ana-boot0)
8214 (name "sbcl-cl-ana.pathname-utils")
8215 (arguments
8216 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8217 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8218 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8219
8220(define-public cl-ana.pathname-utils
8221 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8222
8223(define-public ecl-cl-ana.pathname-utils
8224 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8225
8226(define-public sbcl-cl-ana.package-utils
8227 (package
8228 (inherit sbcl-cl-ana-boot0)
8229 (name "sbcl-cl-ana.package-utils")
8230 (inputs
8231 `(("alexandria" ,sbcl-alexandria)))
8232 (arguments
8233 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8234 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8235 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8236
8237(define-public cl-ana.package-utils
8238 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8239
8240(define-public ecl-cl-ana.package-utils
8241 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8242
8243(define-public sbcl-cl-ana.string-utils
8244 (package
8245 (inherit sbcl-cl-ana-boot0)
8246 (name "sbcl-cl-ana.string-utils")
8247 (inputs
8248 `(("split-sequence" ,sbcl-split-sequence)))
8249 (arguments
8250 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8251 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8252 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8253
8254(define-public cl-ana.string-utils
8255 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8256
8257(define-public ecl-cl-ana.string-utils
8258 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8259
8260(define-public sbcl-cl-ana.functional-utils
8261 (package
8262 (inherit sbcl-cl-ana-boot0)
8263 (name "sbcl-cl-ana.functional-utils")
8264 (arguments
8265 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8266 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8267 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8268
8269(define-public cl-ana.functional-utils
8270 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8271
8272(define-public ecl-cl-ana.functional-utils
8273 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8274
8275(define-public sbcl-cl-ana.list-utils
8276 (package
8277 (inherit sbcl-cl-ana-boot0)
8278 (name "sbcl-cl-ana.list-utils")
8279 (inputs
8280 `(("alexandria" ,sbcl-alexandria)
8281 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8282 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8283 (arguments
8284 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8285 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8286 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8287
8288(define-public cl-ana.list-utils
8289 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8290
8291(define-public ecl-cl-ana.list-utils
8292 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8293
8294(define-public sbcl-cl-ana.generic-math
8295 (package
8296 (inherit sbcl-cl-ana-boot0)
8297 (name "sbcl-cl-ana.generic-math")
8298 (inputs
8299 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8300 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8301 (arguments
8302 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8303 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8304 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8305
8306(define-public cl-ana.generic-math
8307 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8308
8309(define-public ecl-cl-ana.generic-math
8310 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8311
8312(define-public sbcl-cl-ana.math-functions
8313 (package
8314 (inherit sbcl-cl-ana-boot0)
8315 (name "sbcl-cl-ana.math-functions")
8316 (inputs
8317 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8318 ("gsll" ,sbcl-gsll)))
8319 (arguments
8320 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8321 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8322 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8323
8324(define-public cl-ana.math-functions
8325 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8326
8327(define-public sbcl-cl-ana.calculus
8328 (package
8329 (inherit sbcl-cl-ana-boot0)
8330 (name "sbcl-cl-ana.calculus")
8331 (inputs
8332 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8333 (arguments
8334 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8335 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8336 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8337
8338(define-public cl-ana.calculus
8339 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8340
8341(define-public ecl-cl-ana.calculus
8342 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8343
8344(define-public sbcl-cl-ana.symbol-utils
8345 (package
8346 (inherit sbcl-cl-ana-boot0)
8347 (name "sbcl-cl-ana.symbol-utils")
8348 (inputs
8349 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8350 (arguments
8351 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8352 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8353 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8354
8355(define-public cl-ana.symbol-utils
8356 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8357
8358(define-public ecl-cl-ana.symbol-utils
8359 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8360
8361(define-public sbcl-cl-ana.macro-utils
8362 (package
8363 (inherit sbcl-cl-ana-boot0)
8364 (name "sbcl-cl-ana.macro-utils")
8365 (inputs
8366 `(("alexandria" ,sbcl-alexandria)
8367 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8368 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8369 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8370 ("split-sequence" ,sbcl-split-sequence)))
8371 (arguments
8372 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8373 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8374 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8375
8376(define-public cl-ana.macro-utils
8377 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8378
8379(define-public ecl-cl-ana.macro-utils
8380 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8381
8382(define-public sbcl-cl-ana.binary-tree
8383 (package
8384 (inherit sbcl-cl-ana-boot0)
8385 (name "sbcl-cl-ana.binary-tree")
8386 (inputs
8387 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8388 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8389 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8390 (arguments
8391 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8392 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8393 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8394
8395(define-public cl-ana.binary-tree
8396 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8397
8398(define-public ecl-cl-ana.binary-tree
8399 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8400
8401(define-public sbcl-cl-ana.tensor
8402 (package
8403 (inherit sbcl-cl-ana-boot0)
8404 (name "sbcl-cl-ana.tensor")
8405 (inputs
8406 `(("alexandria" ,sbcl-alexandria)
8407 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8408 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8409 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8410 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8411 (arguments
8412 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8413 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8414 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8415
8416(define-public cl-ana.tensor
8417 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8418
8419(define-public ecl-cl-ana.tensor
8420 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8421
8422(define-public sbcl-cl-ana.error-propogation
8423 (package
8424 (inherit sbcl-cl-ana-boot0)
8425 (name "sbcl-cl-ana.error-propogation")
8426 (inputs
8427 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8428 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8429 (arguments
8430 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8431 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8432 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8433
8434(define-public cl-ana.error-propogation
8435 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8436
8437(define-public sbcl-cl-ana.quantity
8438 (package
8439 (inherit sbcl-cl-ana-boot0)
8440 (name "sbcl-cl-ana.quantity")
8441 (inputs
8442 `(("alexandria" ,sbcl-alexandria)
8443 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8444 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8445 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8446 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8447 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8448 (arguments
8449 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8450 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8451 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8452
8453(define-public cl-ana.quantity
8454 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8455
8456(define-public sbcl-cl-ana.table
8457 (package
8458 (inherit sbcl-cl-ana-boot0)
8459 (name "sbcl-cl-ana.table")
8460 (inputs
8461 `(("alexandria" ,sbcl-alexandria)
8462 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8463 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8464 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8465 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8466 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8467 (arguments
8468 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8469 ((#:asd-file _ "") "table/cl-ana.table.asd")
8470 ((#:asd-system-name _ #f) "cl-ana.table")))))
8471
8472(define-public cl-ana.table
8473 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8474
8475(define-public ecl-cl-ana.table
8476 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8477
8478(define-public sbcl-cl-ana.table-utils
8479 (package
8480 (inherit sbcl-cl-ana-boot0)
8481 (name "sbcl-cl-ana.table-utils")
8482 (inputs
8483 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8484 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8485 ("cl-ana.table" ,sbcl-cl-ana.table)))
8486 (arguments
8487 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8488 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8489 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8490
8491(define-public cl-ana.table-utils
8492 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8493
8494(define-public ecl-cl-ana.table-utils
8495 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8496
8497(define-public sbcl-cl-ana.hdf-cffi
8498 (package
8499 (inherit sbcl-cl-ana-boot0)
8500 (name "sbcl-cl-ana.hdf-cffi")
8501 (inputs
8502 `(("cffi" ,sbcl-cffi)
8503 ("hdf5" ,hdf5-parallel-openmpi)))
8504 (arguments
8505 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8506 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8507 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8508 ((#:phases phases '%standard-phases)
8509 `(modify-phases ,phases
8510 (add-after 'unpack 'fix-paths
8511 (lambda* (#:key inputs #:allow-other-keys)
8512 (substitute* "hdf-cffi/hdf-cffi.lisp"
8513 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8514 (string-append
8515 (assoc-ref inputs "hdf5")
8516 "/lib/libhdf5.so")))))))))))
8517
8518(define-public cl-ana.hdf-cffi
8519 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8520
8521(define-public ecl-cl-ana.hdf-cffi
8522 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8523
8524(define-public sbcl-cl-ana.int-char
8525 (package
8526 (inherit sbcl-cl-ana-boot0)
8527 (name "sbcl-cl-ana.int-char")
8528 (arguments
8529 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8530 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8531 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8532
8533(define-public cl-ana.int-char
8534 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8535
8536(define-public ecl-cl-ana.int-char
8537 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8538
8539(define-public sbcl-cl-ana.memoization
8540 (package
8541 (inherit sbcl-cl-ana-boot0)
8542 (name "sbcl-cl-ana.memoization")
8543 (inputs
8544 `(("alexandria" ,sbcl-alexandria)))
8545 (arguments
8546 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8547 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8548 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8549
8550(define-public cl-ana.memoization
8551 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8552
8553(define-public ecl-cl-ana.memoization
8554 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8555
8556(define-public sbcl-cl-ana.typespec
8557 (package
8558 (inherit sbcl-cl-ana-boot0)
8559 (name "sbcl-cl-ana.typespec")
8560 (inputs
8561 `(("alexandria" ,sbcl-alexandria)
8562 ("cffi" ,sbcl-cffi)
8563 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8564 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8565 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8566 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8567 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8568 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8569 (arguments
8570 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8571 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8572 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8573
8574(define-public cl-ana.typespec
8575 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8576
8577(define-public ecl-cl-ana.typespec
8578 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8579
8580(define-public sbcl-cl-ana.hdf-typespec
8581 (package
8582 (inherit sbcl-cl-ana-boot0)
8583 (name "sbcl-cl-ana.hdf-typespec")
8584 (inputs
8585 `(("alexandria" ,sbcl-alexandria)
8586 ("cffi" ,sbcl-cffi)
8587 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8588 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8589 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8590 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8591 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8592 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8593 (arguments
8594 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8595 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8596 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8597
8598(define-public cl-ana.hdf-typespec
8599 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8600
8601(define-public ecl-cl-ana.hdf-typespec
8602 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8603
8604(define-public sbcl-cl-ana.hdf-utils
8605 (package
8606 (inherit sbcl-cl-ana-boot0)
8607 (name "sbcl-cl-ana.hdf-utils")
8608 (inputs
8609 `(("alexandria" ,sbcl-alexandria)
8610 ("cffi" ,sbcl-cffi)
8611 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8612 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8613 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8614 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8615 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8616 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8617 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8618 (arguments
8619 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8620 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8621 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8622
8623(define-public cl-ana.hdf-utils
8624 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8625
8626(define-public ecl-cl-ana.hdf-utils
8627 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8628
8629(define-public sbcl-cl-ana.typed-table
8630 (package
8631 (inherit sbcl-cl-ana-boot0)
8632 (name "sbcl-cl-ana.typed-table")
8633 (inputs
8634 `(("alexandria" ,sbcl-alexandria)
8635 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8636 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8637 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8638 ("cl-ana.table" ,sbcl-cl-ana.table)
8639 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8640 (arguments
8641 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8642 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8643 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8644
8645(define-public cl-ana.typed-table
8646 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8647
8648(define-public ecl-cl-ana.typed-table
8649 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8650
8651(define-public sbcl-cl-ana.hdf-table
8652 (package
8653 (inherit sbcl-cl-ana-boot0)
8654 (name "sbcl-cl-ana.hdf-table")
8655 (inputs
8656 `(("alexandria" ,sbcl-alexandria)
8657 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8658 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8659 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8660 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8661 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8662 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8663 ("cl-ana.table" ,sbcl-cl-ana.table)
8664 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8665 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8666 (arguments
8667 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8668 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8669 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8670
8671(define-public cl-ana.hdf-table
8672 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8673
8674(define-public ecl-cl-ana.hdf-table
8675 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8676
8677(define-public sbcl-cl-ana.gsl-cffi
8678 (package
8679 (inherit sbcl-cl-ana-boot0)
8680 (name "sbcl-cl-ana.gsl-cffi")
8681 (inputs
8682 `(("cffi" ,sbcl-cffi)
8683 ("gsl" ,gsl)))
8684 (arguments
8685 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8686 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8687 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8688 ((#:phases phases '%standard-phases)
8689 `(modify-phases ,phases
8690 (add-after 'unpack 'fix-paths
8691 (lambda* (#:key inputs #:allow-other-keys)
8692 (substitute* "gsl-cffi/gsl-cffi.lisp"
8693 (("define-foreign-library gsl-cffi" all)
8694 (string-append all " (:unix "
8695 (assoc-ref inputs "gsl")
8696 "/lib/libgsl.so)")))))))))))
8697
8698(define-public cl-ana.gsl-cffi
8699 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8700
8701(define-public ecl-cl-ana.gsl-cffi
8702 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8703
8704(define-public sbcl-cl-ana.ntuple-table
8705 (package
8706 (inherit sbcl-cl-ana-boot0)
8707 (name "sbcl-cl-ana.ntuple-table")
8708 (inputs
8709 `(("alexandria" ,sbcl-alexandria)
8710 ("cffi" ,sbcl-cffi)
8711 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8712 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8713 ("cl-ana.table" ,sbcl-cl-ana.table)
8714 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8715 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8716 ("gsll" ,sbcl-gsll)))
8717 (arguments
8718 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8719 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8720 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8721
8722(define-public cl-ana.ntuple-table
8723 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8724
8725(define-public sbcl-cl-ana.csv-table
8726 (package
8727 (inherit sbcl-cl-ana-boot0)
8728 (name "sbcl-cl-ana.csv-table")
8729 (inputs
8730 `(("alexandria" ,sbcl-alexandria)
8731 ("antik" ,sbcl-antik)
8732 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8733 ("cl-ana.table" ,sbcl-cl-ana.table)
8734 ("cl-csv" ,sbcl-cl-csv)
8735 ("iterate" ,sbcl-iterate)))
8736 (arguments
8737 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8738 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8739 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8740
8741(define-public cl-ana.csv-table
8742 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8743
8744(define-public sbcl-cl-ana.reusable-table
8745 (package
8746 (inherit sbcl-cl-ana-boot0)
8747 (name "sbcl-cl-ana.reusable-table")
8748 (inputs
8749 `(("alexandria" ,sbcl-alexandria)
8750 ("cl-ana.table" ,sbcl-cl-ana.table)))
8751 (arguments
8752 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8753 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8754 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8755
8756(define-public cl-ana.reusable-table
8757 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8758
8759(define-public ecl-cl-ana.reusable-table
8760 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8761
8762(define-public sbcl-cl-ana.linear-algebra
8763 (package
8764 (inherit sbcl-cl-ana-boot0)
8765 (name "sbcl-cl-ana.linear-algebra")
8766 (inputs
8767 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8768 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8769 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8770 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8771 ("gsll" ,sbcl-gsll)))
8772 (arguments
8773 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8774 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8775 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8776
8777(define-public cl-ana.linear-algebra
8778 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8779
8780(define-public sbcl-cl-ana.lorentz
8781 (package
8782 (inherit sbcl-cl-ana-boot0)
8783 (name "sbcl-cl-ana.lorentz")
8784 (inputs
8785 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8786 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8787 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8788 ("iterate" ,sbcl-iterate)))
8789 (arguments
8790 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8791 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8792 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8793
8794(define-public cl-ana.lorentz
8795 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8796
8797(define-public sbcl-cl-ana.clos-utils
8798 (package
8799 (inherit sbcl-cl-ana-boot0)
8800 (name "sbcl-cl-ana.clos-utils")
8801 (inputs
8802 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8803 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8804 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8805 ("closer-mop" ,sbcl-closer-mop)))
8806 (arguments
8807 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8808 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8809 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8810
8811(define-public cl-ana.clos-utils
8812 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8813
8814(define-public ecl-cl-ana.clos-utils
8815 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8816
8817(define-public sbcl-cl-ana.hash-table-utils
8818 (package
8819 (inherit sbcl-cl-ana-boot0)
8820 (name "sbcl-cl-ana.hash-table-utils")
8821 (arguments
8822 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8823 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8824 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8825
8826(define-public cl-ana.hash-table-utils
8827 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8828
8829(define-public ecl-cl-ana.hash-table-utils
8830 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8831
8832(define-public sbcl-cl-ana.map
8833 (package
8834 (inherit sbcl-cl-ana-boot0)
8835 (name "sbcl-cl-ana.map")
8836 (inputs
8837 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8838 (arguments
8839 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8840 ((#:asd-file _ "") "map/cl-ana.map.asd")
8841 ((#:asd-system-name _ #f) "cl-ana.map")))))
8842
8843(define-public cl-ana.map
8844 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8845
8846(define-public ecl-cl-ana.map
8847 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8848
8849(define-public sbcl-cl-ana.fitting
8850 (package
8851 (inherit sbcl-cl-ana-boot0)
8852 (name "sbcl-cl-ana.fitting")
8853 (inputs
8854 `(("alexandria" ,sbcl-alexandria)
8855 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8856 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8857 ("cl-ana.map" ,sbcl-cl-ana.map)
8858 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8859 ("gsll" ,sbcl-gsll)))
8860 (arguments
8861 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8862 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8863 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8864
8865(define-public cl-ana.fitting
8866 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8867
8868(define-public sbcl-cl-ana.histogram
8869 (package
8870 (inherit sbcl-cl-ana-boot0)
8871 (name "sbcl-cl-ana.histogram")
8872 (inputs
8873 `(("alexandria" ,sbcl-alexandria)
8874 ("iterate" ,sbcl-iterate)
8875 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8876 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8877 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8878 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8879 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8880 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8881 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8882 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8883 ("cl-ana.map" ,sbcl-cl-ana.map)
8884 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8885 (arguments
8886 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8887 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8888 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8889
8890(define-public cl-ana.histogram
8891 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8892
8893(define-public sbcl-cl-ana.file-utils
8894 (package
8895 (inherit sbcl-cl-ana-boot0)
8896 (name "sbcl-cl-ana.file-utils")
8897 (inputs
8898 `(("external-program" ,sbcl-external-program)
8899 ("split-sequence" ,sbcl-split-sequence)))
8900 (arguments
8901 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8902 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8903 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8904
8905(define-public cl-ana.file-utils
8906 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8907
8908(define-public ecl-cl-ana.file-utils
8909 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8910
8911(define-public sbcl-cl-ana.statistics
8912 (package
8913 (inherit sbcl-cl-ana-boot0)
8914 (name "sbcl-cl-ana.statistics")
8915 (inputs
8916 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8917 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8918 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8919 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8920 ("cl-ana.map" ,sbcl-cl-ana.map)))
8921 (arguments
8922 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8923 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8924 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8925
8926(define-public cl-ana.statistics
8927 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8928
8929(define-public sbcl-cl-ana.gnuplot-interface
8930 (package
8931 (inherit sbcl-cl-ana-boot0)
8932 (name "sbcl-cl-ana.gnuplot-interface")
8933 (inputs
8934 `(("external-program" ,sbcl-external-program)))
8935 (arguments
8936 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8937 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8938 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8939
8940(define-public cl-ana.gnuplot-interface
8941 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8942
8943(define-public ecl-cl-ana.gnuplot-interface
8944 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8945
8946(define-public sbcl-cl-ana.plotting
8947 (package
8948 (inherit sbcl-cl-ana-boot0)
8949 (name "sbcl-cl-ana.plotting")
8950 (inputs
8951 `(("alexandria" ,sbcl-alexandria)
8952 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8953 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8954 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8955 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8956 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8957 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8958 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8959 ("cl-ana.map" ,sbcl-cl-ana.map)
8960 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8961 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8962 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8963 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8964 ("external-program" ,sbcl-external-program)
8965 ("split-sequence" ,sbcl-split-sequence)))
8966 (arguments
8967 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8968 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8969 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8970
8971(define-public cl-ana.plotting
8972 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8973
8974(define-public sbcl-cl-ana.table-viewing
8975 (package
8976 (inherit sbcl-cl-ana-boot0)
8977 (name "sbcl-cl-ana.table-viewing")
8978 (inputs
8979 `(("alexandria" ,sbcl-alexandria)
8980 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8981 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8982 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8983 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8984 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8985 ("cl-ana.table" ,sbcl-cl-ana.table)))
8986 (arguments
8987 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8988 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8989 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8990
8991(define-public cl-ana.table-viewing
8992 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8993
8994(define-public sbcl-cl-ana.serialization
8995 (package
8996 (inherit sbcl-cl-ana-boot0)
8997 (name "sbcl-cl-ana.serialization")
8998 (inputs
8999 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9000 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9001 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9002 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9003 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9004 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9005 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9006 (arguments
9007 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9008 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9009 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9010
9011(define-public cl-ana.serialization
9012 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9013
9014(define-public sbcl-cl-ana.makeres
9015 (package
9016 (inherit sbcl-cl-ana-boot0)
9017 (name "sbcl-cl-ana.makeres")
9018 (inputs
9019 `(("alexandria" ,sbcl-alexandria)
9020 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9021 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9022 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9023 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9024 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9025 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9026 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9027 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9028 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9029 ("cl-ana.map" ,sbcl-cl-ana.map)
9030 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9031 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9032 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9033 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9034 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9035 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9036 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9037 ("cl-ana.table" ,sbcl-cl-ana.table)
9038 ("external-program" ,sbcl-external-program)))
9039 (native-inputs
9040 `(("cl-fad" ,sbcl-cl-fad)))
9041 (arguments
9042 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9043 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9044 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9045
9046(define-public cl-ana.makeres
9047 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9048
9049(define-public sbcl-cl-ana.makeres-macro
9050 (package
9051 (inherit sbcl-cl-ana-boot0)
9052 (name "sbcl-cl-ana.makeres-macro")
9053 (inputs
9054 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9055 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9056 (arguments
9057 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9058 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9059 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9060
9061(define-public cl-ana.makeres-macro
9062 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9063
9064(define-public sbcl-cl-ana.makeres-block
9065 (package
9066 (inherit sbcl-cl-ana-boot0)
9067 (name "sbcl-cl-ana.makeres-block")
9068 (inputs
9069 `(("alexandria" ,sbcl-alexandria)
9070 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9071 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9072 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9073 (arguments
9074 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9075 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9076 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9077
9078(define-public cl-ana.makeres-block
9079 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9080
9081(define-public sbcl-cl-ana.makeres-progress
9082 (package
9083 (inherit sbcl-cl-ana-boot0)
9084 (name "sbcl-cl-ana.makeres-progress")
9085 (inputs
9086 `(("alexandria" ,sbcl-alexandria)
9087 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9088 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9089 (arguments
9090 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9091 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9092 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9093
9094(define-public cl-ana.makeres-progress
9095 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9096
9097(define-public sbcl-cl-ana.makeres-table
9098 (package
9099 (inherit sbcl-cl-ana-boot0)
9100 (name "sbcl-cl-ana.makeres-table")
9101 (inputs
9102 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9103 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9104 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9105 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9106 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9107 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9108 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9109 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9110 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9111 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9112 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9113 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9114 ("cl-ana.table" ,sbcl-cl-ana.table)))
9115 (native-inputs
9116 `(("cl-fad" ,sbcl-cl-fad)))
9117 (arguments
9118 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9119 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9120 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9121
9122(define-public cl-ana.makeres-table
9123 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9124
9125(define-public sbcl-cl-ana.makeres-graphviz
9126 (package
9127 (inherit sbcl-cl-ana-boot0)
9128 (name "sbcl-cl-ana.makeres-graphviz")
9129 (inputs
9130 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9131 ("external-program" ,sbcl-external-program)))
9132 (arguments
9133 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9134 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9135 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9136
9137(define-public cl-ana.makeres-graphviz
9138 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9139
9140(define-public sbcl-cl-ana.makeres-branch
9141 (package
9142 (inherit sbcl-cl-ana-boot0)
9143 (name "sbcl-cl-ana.makeres-branch")
9144 (inputs
9145 `(("alexandria" ,sbcl-alexandria)
9146 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9147 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9148 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9149 ("cl-ana.map" ,sbcl-cl-ana.map)
9150 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9151 (arguments
9152 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9153 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9154 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9155
9156(define-public cl-ana.makeres-branch
9157 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9158
9159(define-public sbcl-cl-ana.makeres-utils
9160 (package
9161 (inherit sbcl-cl-ana-boot0)
9162 (name "sbcl-cl-ana.makeres-utils")
9163 (inputs
9164 `(("alexandria" ,sbcl-alexandria)
9165 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9166 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9167 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9168 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9169 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9170 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9171 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9172 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9173 ("cl-ana.map" ,sbcl-cl-ana.map)
9174 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9175 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9176 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9177 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9178 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9179 ("cl-ana.table" ,sbcl-cl-ana.table)))
9180 (native-inputs
9181 `(("cl-fad" ,sbcl-cl-fad)))
9182 (arguments
9183 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9184 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9185 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9186
9187(define-public cl-ana.makeres-utils
9188 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9189
9190(define-public sbcl-cl-ana.statistical-learning
9191 (package
9192 (inherit sbcl-cl-ana-boot0)
9193 (name "sbcl-cl-ana.statistical-learning")
9194 (inputs
9195 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9196 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9197 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9198 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9199 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9200 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9201 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9202 ("cl-ana.map" ,sbcl-cl-ana.map)
9203 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9204 (native-inputs
9205 `(("cl-fad" ,sbcl-cl-fad)))
9206 (arguments
9207 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9208 ((#:asd-file _ "")
9209 "statistical-learning/cl-ana.statistical-learning.asd")
9210 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9211
9212(define-public cl-ana.statistical-learning
9213 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9214
9215(define-public sbcl-cl-ana
9216 (package
9217 (inherit sbcl-cl-ana-boot0)
9218 (name "sbcl-cl-ana")
9219 (inputs
9220 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9221 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9222 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9223 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9224 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9225 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9226 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9227 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9228 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9229 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9230 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9231 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9232 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9233 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9234 ("cl-ana.map" ,sbcl-cl-ana.map)
9235 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9236 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9237 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9238 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9239 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9240 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9241 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9242 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9243 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9244 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9245 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9246 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9247 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9248 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9249 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9250 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9251 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9252 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9253 ("cl-ana.table" ,sbcl-cl-ana.table)
9254 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9255 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9256 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9257 ("libffi" ,libffi)))
9258 (native-inputs
9259 `(("cl-fad" ,sbcl-cl-fad)))
9260 (arguments
9261 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9262 ((#:asd-file _ "") "cl-ana.asd")
9263 ((#:asd-system-name _ #f) "cl-ana")))))
9264
9265(define-public cl-ana
9266 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9267
9268(define-public sbcl-archive
9269 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9270 (revision "1"))
9271 (package
9272 (name "sbcl-archive")
9273 (version (git-version "0.9" revision commit))
9274 (source (origin
9275 (method git-fetch)
9276 (uri (git-reference
9277 (url "https://github.com/sharplispers/archive.git")
9278 (commit commit)))
9279 (file-name (git-file-name name version))
9280 (sha256
9281 (base32
9282 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9283 (build-system asdf-build-system/sbcl)
9284 (inputs
9285 `(("cl-fad" ,sbcl-cl-fad)
9286 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9287 (synopsis "Common Lisp library for tar and cpio archives")
9288 (description
9289 "This is a Common Lisp library to read and write disk-based file
9290archives such as those generated by the tar and cpio programs on Unix.")
9291 (home-page "https://github.com/sharplispers/archive")
9292 (license license:bsd-3))))
9293
9294(define-public cl-archive
9295 (sbcl-package->cl-source-package sbcl-archive))
9296
9297(define-public ecl-archive
9298 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9299
9300(define-public sbcl-misc-extensions
9301 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9302 (revision "1"))
9303 (package
9304 (name "sbcl-misc-extensions")
9305 (version (git-version "3.3" revision commit))
9306 (source
9307 (origin
9308 (method git-fetch)
9309 (uri (git-reference
9310 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9311 (commit commit)))
9312 (file-name (git-file-name name version))
9313 (sha256
9314 (base32
9315 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9316 (build-system asdf-build-system/sbcl)
9317 (synopsis "Collection of small macros and extensions for Common Lisp")
9318 (description
9319 "This project is intended as a catchall for small, general-purpose
9320extensions to Common Lisp. It contains:
9321
9322@itemize
9323@item @code{new-let}, a macro that combines and generalizes @code{let},
9324@code{let*} and @code{multiple-value-bind},
9325@item @code{gmap}, an iteration macro that generalizes @code{map}.
9326@end itemize\n")
9327 (home-page "https://common-lisp.net/project/misc-extensions/")
9328 (license license:public-domain))))
9329
9330(define-public cl-misc-extensions
9331 (sbcl-package->cl-source-package sbcl-misc-extensions))
9332
9333(define-public ecl-misc-extensions
9334 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9335
9336(define-public sbcl-mt19937
9337 (package
9338 (name "sbcl-mt19937")
9339 (version "1.1")
9340 (source
9341 (origin
9342 (method url-fetch)
9343 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9344 "mt19937-latest.tar.gz"))
9345 (sha256
9346 (base32
9347 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9348 (build-system asdf-build-system/sbcl)
9349 (synopsis "Mersenne Twister pseudo-random number generator")
9350 (description
9351 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9352for Common Lisp.")
9353 (home-page "https://www.cliki.net/mt19937")
9354 (license license:public-domain)))
9355
9356(define-public cl-mt19937
9357 (sbcl-package->cl-source-package sbcl-mt19937))
9358
9359(define-public ecl-mt19937
9360 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9361
9362(define-public sbcl-fset
9363 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9364 (revision "1"))
9365 (package
9366 (name "sbcl-fset")
9367 (version (git-version "1.3.2" revision commit))
9368 (source
9369 (origin
9370 (method git-fetch)
9371 (uri (git-reference
9372 (url "https://github.com/slburson/fset")
9373 (commit commit)))
9374 (file-name (git-file-name name version))
9375 (sha256
9376 (base32
9377 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9378 (snippet '(begin
9379 ;; Remove obsolete copy of system definition.
9380 (delete-file "Code/fset.asd")
9381 #t))))
9382 (build-system asdf-build-system/sbcl)
9383 (inputs
9384 `(("misc-extensions" ,sbcl-misc-extensions)
9385 ("mt19937" ,sbcl-mt19937)
9386 ("named-readtables" ,sbcl-named-readtables)))
9387 (synopsis "Functional set-theoretic collections library")
9388 (description
9389 "FSet is a functional set-theoretic collections library for Common Lisp.
9390Functional means that all update operations return a new collection rather than
9391modifying an existing one in place. Set-theoretic means that collections may
9392be nested arbitrarily with no additional programmer effort; for instance, sets
9393may contain sets, maps may be keyed by sets, etc.")
9394 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9395 (license license:llgpl))))
9396
9397(define-public cl-fset
9398 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9399
9400(define-public sbcl-cl-cont
9401 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9402 (revision "1"))
9403 (package
9404 (name "sbcl-cl-cont")
9405 (version (git-version "0.3.8" revision commit))
9406 (source
9407 (origin
9408 (method git-fetch)
9409 (uri (git-reference
9410 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9411 (commit commit)))
9412 (file-name (git-file-name name version))
9413 (sha256
9414 (base32
9415 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9416 (build-system asdf-build-system/sbcl)
9417 (inputs
9418 `(("alexandria" ,sbcl-alexandria)
9419 ("closer-mop" ,sbcl-closer-mop)))
9420 (native-inputs
9421 `(("rt" ,sbcl-rt)))
9422 (synopsis "Delimited continuations for Common Lisp")
9423 (description
9424 "This is a library that implements delimited continuations by
9425transforming Common Lisp code to continuation passing style.")
9426 (home-page "https://common-lisp.net/project/cl-cont/")
9427 (license license:llgpl))))
9428
9429(define-public cl-cont
9430 (sbcl-package->cl-source-package sbcl-cl-cont))
9431
9432(define-public ecl-cl-cont
9433 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9434
9435(define-public sbcl-cl-coroutine
9436 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9437 (revision "1"))
9438 (package
9439 (name "sbcl-cl-coroutine")
9440 (version (git-version "0.1" revision commit))
9441 (source
9442 (origin
9443 (method git-fetch)
9444 (uri (git-reference
9445 (url "https://github.com/takagi/cl-coroutine.git")
9446 (commit commit)))
9447 (file-name (git-file-name name version))
9448 (sha256
9449 (base32
9450 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9451 (build-system asdf-build-system/sbcl)
9452 (inputs
9453 `(("alexandria" ,sbcl-alexandria)
9454 ("cl-cont" ,sbcl-cl-cont)))
9455 (native-inputs
9456 `(("prove" ,sbcl-prove)))
9457 (arguments
9458 `(;; TODO: Fix the tests. They fail with:
9459 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9460 #:tests? #f
9461 #:phases
9462 (modify-phases %standard-phases
9463 (add-after 'unpack 'fix-tests
9464 (lambda _
9465 (substitute* "cl-coroutine-test.asd"
9466 (("cl-test-more")
9467 "prove"))
9468 #t)))))
9469 (synopsis "Coroutine library for Common Lisp")
9470 (description
9471 "This is a coroutine library for Common Lisp implemented using the
9472continuations of the @code{cl-cont} library.")
9473 (home-page "https://github.com/takagi/cl-coroutine")
9474 (license license:llgpl))))
9475
9476(define-public cl-coroutine
9477 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9478
9479(define-public ecl-cl-coroutine
9480 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9481
9482(define-public sbcl-vom
9483 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9484 (revision "1"))
9485 (package
9486 (name "sbcl-vom")
9487 (version (git-version "0.1.4" revision commit))
9488 (source
9489 (origin
9490 (method git-fetch)
9491 (uri (git-reference
9492 (url "https://github.com/orthecreedence/vom.git")
9493 (commit commit)))
9494 (file-name (git-file-name name version))
9495 (sha256
9496 (base32
9497 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9498 (build-system asdf-build-system/sbcl)
9499 (synopsis "Tiny logging utility for Common Lisp")
9500 (description
9501 "Vom is a logging library for Common Lisp. It's goal is to be useful
9502and small. It does not provide a lot of features as other loggers do, but
9503has a small codebase that's easy to understand and use.")
9504 (home-page "https://github.com/orthecreedence/vom")
9505 (license license:expat))))
9506
9507(define-public cl-vom
9508 (sbcl-package->cl-source-package sbcl-vom))
9509
9510(define-public ecl-vom
9511 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9512
9513(define-public sbcl-cl-libuv
9514 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9515 (revision "1"))
9516 (package
9517 (name "sbcl-cl-libuv")
9518 (version (git-version "0.1.6" revision commit))
9519 (source
9520 (origin
9521 (method git-fetch)
9522 (uri (git-reference
9523 (url "https://github.com/orthecreedence/cl-libuv.git")
9524 (commit commit)))
9525 (file-name (git-file-name name version))
9526 (sha256
9527 (base32
9528 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9529 (build-system asdf-build-system/sbcl)
9530 (inputs
9531 `(("alexandria" ,sbcl-alexandria)
9532 ("cffi" ,sbcl-cffi)
9533 ("cffi-grovel" ,sbcl-cffi-grovel)
9534 ("libuv" ,libuv)))
9535 (arguments
9536 `(#:phases
9537 (modify-phases %standard-phases
9538 (add-after 'unpack 'fix-paths
9539 (lambda* (#:key inputs #:allow-other-keys)
9540 (substitute* "lib.lisp"
9541 (("/usr/lib/libuv.so")
9542 (string-append (assoc-ref inputs "libuv")
9543 "/lib/libuv.so")))
9544 #t))
9545 (add-after 'fix-paths 'fix-system-definition
9546 (lambda _
9547 (substitute* "cl-libuv.asd"
9548 (("#:cffi #:alexandria")
9549 "#:cffi #:cffi-grovel #:alexandria"))
9550 #t)))))
9551 (synopsis "Common Lisp bindings to libuv")
9552 (description
9553 "This library provides low-level libuv bindings for Common Lisp.")
9554 (home-page "https://github.com/orthecreedence/cl-libuv")
9555 (license license:expat))))
9556
9557(define-public cl-libuv
9558 (sbcl-package->cl-source-package sbcl-cl-libuv))
9559
9560(define-public ecl-cl-libuv
9561 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9562
9563(define-public sbcl-cl-async-base
9564 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9565 (revision "1"))
9566 (package
9567 (name "sbcl-cl-async-base")
9568 (version (git-version "0.6.1" revision commit))
9569 (source
9570 (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://github.com/orthecreedence/cl-async.git")
9574 (commit commit)))
9575 (file-name (git-file-name name version))
9576 (sha256
9577 (base32
9578 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9579 (build-system asdf-build-system/sbcl)
9580 (inputs
9581 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9582 ("cffi" ,sbcl-cffi)
9583 ("cl-libuv" ,sbcl-cl-libuv)))
9584 (arguments
9585 `(#:asd-file "cl-async.asd"))
9586 (synopsis "Base system for cl-async")
9587 (description
9588 "Cl-async is a library for general purpose, non-blocking programming in
9589Common Lisp. It uses the libuv library as backend.")
9590 (home-page "https://orthecreedence.github.io/cl-async/")
9591 (license license:expat))))
9592
9593(define-public cl-async-base
9594 (sbcl-package->cl-source-package sbcl-cl-async-base))
9595
9596(define-public ecl-cl-async-base
9597 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9598
9599(define-public sbcl-cl-async-util
9600 (package
9601 (inherit sbcl-cl-async-base)
9602 (name "sbcl-cl-async-util")
9603 (inputs
24de1f5a
GLV
9604 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9605 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9606 ("cl-async-base" ,sbcl-cl-async-base)
9607 ("cl-libuv" ,sbcl-cl-libuv)
9608 ("cl-ppcre" ,sbcl-cl-ppcre)
9609 ("fast-io" ,sbcl-fast-io)
9610 ("vom" ,sbcl-vom)))
9611 (synopsis "Internal utilities for cl-async")))
9612
9613(define-public cl-async-util
9614 (sbcl-package->cl-source-package sbcl-cl-async-util))
9615
9616(define-public ecl-cl-async-util
9617 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9618
9619(define-public sbcl-cl-async
9620 (package
9621 (inherit sbcl-cl-async-base)
9622 (name "sbcl-cl-async")
9623 (inputs
9624 `(("babel" ,sbcl-babel)
9625 ("cffi" ,sbcl-cffi)
9626 ("cl-async-base" ,sbcl-cl-async-base)
9627 ("cl-async-util" ,sbcl-cl-async-util)
9628 ("cl-libuv" ,sbcl-cl-libuv)
9629 ("cl-ppcre" ,sbcl-cl-ppcre)
9630 ("static-vectors" ,sbcl-static-vectors)
9631 ("trivial-features" ,sbcl-trivial-features)
9632 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9633 (synopsis "Asynchronous operations for Common Lisp")))
9634
9635(define-public cl-async
9636 (sbcl-package->cl-source-package sbcl-cl-async))
9637
9638(define-public ecl-cl-async
9639 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9640
9641(define-public sbcl-cl-async-repl
9642 (package
9643 (inherit sbcl-cl-async-base)
9644 (name "sbcl-cl-async-repl")
9645 (inputs
9646 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9647 ("cl-async" ,sbcl-cl-async)))
9648 (arguments
9649 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9650 ((#:asd-file _ "") "cl-async-repl.asd")))
9651 (synopsis "REPL integration for cl-async")))
9652
9653(define-public cl-async-repl
9654 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9655
9656(define-public ecl-cl-async-repl
9657 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9658
9659(define-public sbcl-cl-async-ssl
9660 (package
9661 (inherit sbcl-cl-async-base)
9662 (name "sbcl-cl-async-ssl")
9663 (inputs
9664 `(("cffi" ,sbcl-cffi)
9665 ("cl-async" ,sbcl-cl-async)
9666 ("openssl" ,openssl)
9667 ("vom" ,sbcl-vom)))
9668 (arguments
9669 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9670 ((#:asd-file _ "") "cl-async-ssl.asd")
9671 ((#:phases phases '%standard-phases)
9672 `(modify-phases ,phases
9673 (add-after 'unpack 'fix-paths
9674 (lambda* (#:key inputs #:allow-other-keys)
9675 (substitute* "src/ssl/package.lisp"
9676 (("libcrypto\\.so")
9677 (string-append (assoc-ref inputs "openssl")
9678 "/lib/libcrypto.so"))
9679 (("libssl\\.so")
9680 (string-append (assoc-ref inputs "openssl")
9681 "/lib/libssl.so")))
9682 #t))))))
9683 (synopsis "SSL wrapper around cl-async socket implementation")))
9684
9685(define-public cl-async-ssl
9686 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9687
9688(define-public ecl-cl-async-ssl
9689 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9690
9691(define-public sbcl-blackbird
9692 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9693 (revision "1"))
9694 (package
9695 (name "sbcl-blackbird")
9696 (version (git-version "0.5.2" revision commit))
9697 (source
9698 (origin
9699 (method git-fetch)
9700 (uri (git-reference
9701 (url "https://github.com/orthecreedence/blackbird.git")
9702 (commit commit)))
9703 (file-name (git-file-name name version))
9704 (sha256
9705 (base32
9706 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9707 (build-system asdf-build-system/sbcl)
9708 (inputs
9709 `(("vom" ,sbcl-vom)))
9710 (native-inputs
9711 `(("cl-async" ,sbcl-cl-async)
9712 ("fiveam" ,sbcl-fiveam)))
9713 (synopsis "Promise implementation for Common Lisp")
9714 (description
9715 "This is a standalone promise implementation for Common Lisp. It is
9716the successor to the now-deprecated cl-async-future project.")
e0318062 9717 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9718 (license license:expat))))
9719
9720(define-public cl-blackbird
9721 (sbcl-package->cl-source-package sbcl-blackbird))
9722
9723(define-public ecl-blackbird
9724 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9725
9726(define-public sbcl-cl-async-future
9727 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9728 (revision "1"))
9729 (package
9730 (name "sbcl-cl-async-future")
9731 (version (git-version "0.4.4.1" revision commit))
9732 (source
9733 (origin
9734 (method git-fetch)
9735 (uri (git-reference
9736 (url "https://github.com/orthecreedence/cl-async-future.git")
9737 (commit commit)))
9738 (file-name (git-file-name name version))
9739 (sha256
9740 (base32
9741 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9742 (build-system asdf-build-system/sbcl)
9743 (inputs
9744 `(("blackbird" ,sbcl-blackbird)))
9745 (native-inputs
9746 `(("cl-async" ,sbcl-cl-async)
9747 ("eos" ,sbcl-eos)))
9748 (synopsis "Futures implementation for Common Lisp")
9749 (description
9750 "This is futures implementation for Common Lisp. It plugs in nicely
9751to cl-async.")
e0318062 9752 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9753 (license license:expat))))
9754
9755(define-public cl-async-future
9756 (sbcl-package->cl-source-package sbcl-cl-async-future))
9757
9758(define-public ecl-cl-async-future
9759 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9760
9761(define-public sbcl-green-threads
9762 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9763 (revision "1"))
9764 (package
9765 (name "sbcl-green-threads")
9766 (version (git-version "0.3" revision commit))
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
9771 (url "https://github.com/thezerobit/green-threads.git")
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32
9776 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9777 (build-system asdf-build-system/sbcl)
9778 (inputs
9779 `(("cl-async-future" ,sbcl-cl-async-future)
9780 ("cl-cont" ,sbcl-cl-cont)))
9781 (native-inputs
9782 `(("prove" ,sbcl-prove)))
9783 (arguments
9784 `(;; TODO: Fix the tests. They fail with:
9785 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9786 #:tests? #f
9787 #:phases
9788 (modify-phases %standard-phases
9789 (add-after 'unpack 'fix-tests
9790 (lambda _
9791 (substitute* "green-threads-test.asd"
9792 (("cl-test-more")
9793 "prove"))
9794 #t)))))
9795 (synopsis "Cooperative multitasking library for Common Lisp")
9796 (description
9797 "This library allows for cooperative multitasking with help of cl-cont
9798for continuations. It tries to mimic the API of bordeaux-threads as much as
9799possible.")
9800 (home-page "https://github.com/thezerobit/green-threads")
9801 (license license:bsd-3))))
9802
9803(define-public cl-green-threads
9804 (sbcl-package->cl-source-package sbcl-green-threads))
9805
9806(define-public ecl-green-threads
9807 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9808
9809(define-public sbcl-cl-base32
9810 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9811 (revision "1"))
9812 (package
9813 (name "sbcl-cl-base32")
9814 (version (git-version "0.1" revision commit))
9815 (source
9816 (origin
9817 (method git-fetch)
9818 (uri (git-reference
9819 (url "https://github.com/hargettp/cl-base32.git")
9820 (commit commit)))
9821 (file-name (git-file-name name version))
9822 (sha256
9823 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9824 (build-system asdf-build-system/sbcl)
9825 (native-inputs
9826 `(("lisp-unit" ,sbcl-lisp-unit)))
9827 (synopsis "Common Lisp library for base32 encoding and decoding")
9828 (description
9829 "This package provides functions for base32 encoding and decoding as
9830defined in RFC4648.")
9831 (home-page "https://github.com/hargettp/cl-base32")
9832 (license license:expat))))
9833
9834(define-public cl-base32
9835 (sbcl-package->cl-source-package sbcl-cl-base32))
9836
9837(define-public ecl-cl-base32
9838 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9839
9840(define-public sbcl-cl-z85
9841 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9842 (revision "1"))
9843 (package
9844 (name "sbcl-cl-z85")
9845 (version (git-version "1.0" revision commit))
9846 (source
9847 (origin
9848 (method git-fetch)
9849 (uri (git-reference
9850 (url "https://github.com/glv2/cl-z85.git")
9851 (commit commit)))
9852 (file-name (git-file-name name version))
9853 (sha256
9854 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9855 (build-system asdf-build-system/sbcl)
9856 (native-inputs
9857 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9858 ("fiveam" ,sbcl-fiveam)))
9859 (synopsis "Common Lisp library for Z85 encoding and decoding")
9860 (description
9861 "This package provides functions to encode or decode byte vectors or
9862byte streams using the Z85 format, which is a base-85 encoding used by
9863ZeroMQ.")
9864 (home-page "https://github.com/glv2/cl-z85")
9865 (license license:gpl3+))))
9866
9867(define-public cl-z85
9868 (sbcl-package->cl-source-package sbcl-cl-z85))
9869
9870(define-public ecl-cl-z85
9871 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9872
9873(define-public sbcl-ltk
9874 (package
9875 (name "sbcl-ltk")
9876 (version "0.992")
9877 (source
9878 (origin
9879 (method git-fetch)
9880 (uri (git-reference
9881 (url "https://github.com/herth/ltk.git")
9882 (commit version)))
9883 (file-name (git-file-name name version))
9884 (sha256
9885 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9886 (build-system asdf-build-system/sbcl)
9887 (inputs
9888 `(("imagemagick" ,imagemagick)
9889 ("tk" ,tk)))
9890 (arguments
9891 `(#:asd-file "ltk/ltk.asd"
9892 #:tests? #f
9893 #:phases (modify-phases %standard-phases
9894 (add-after 'unpack 'fix-paths
9895 (lambda* (#:key inputs #:allow-other-keys)
9896 (substitute* "ltk/ltk.lisp"
9897 (("#-freebsd \"wish\"")
9898 (string-append "#-freebsd \""
9899 (assoc-ref inputs "tk")
9900 "/bin/wish\""))
9901 (("do-execute \"convert\"")
9902 (string-append "do-execute \""
9903 (assoc-ref inputs "imagemagick")
9904 "/bin/convert\"")))
9905 #t)))))
9906 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9907 (description
9908 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9909in pure Common Lisp and does not require any Tk knowledge for its usage.")
9910 (home-page "http://www.peter-herth.de/ltk/")
9911 (license license:llgpl)))
9912
9913(define-public cl-ltk
9914 (sbcl-package->cl-source-package sbcl-ltk))
9915
9916(define-public ecl-ltk
9917 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9918
9919(define-public sbcl-ltk-mw
9920 (package
9921 (inherit sbcl-ltk)
9922 (name "sbcl-ltk-mw")
9923 (inputs
9924 `(("ltk" ,sbcl-ltk)))
9925 (arguments
9926 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9927 ((#:asd-file _) "ltk/ltk-mw.asd")
9928 ((#:phases _) '%standard-phases)))
9929 (synopsis "Extra widgets for LTK")
9930 (description
9931 "This is a collection of higher-level widgets built on top of LTK.")))
9932
9933(define-public cl-ltk-mw
9934 (sbcl-package->cl-source-package sbcl-ltk-mw))
9935
9936(define-public ecl-ltk-mw
9937 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9938
9939(define-public sbcl-ltk-remote
9940 (package
9941 (inherit sbcl-ltk)
9942 (name "sbcl-ltk-remote")
9943 (inputs
9944 `(("ltk" ,sbcl-ltk)))
9945 (arguments
9946 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9947 ((#:asd-file _) "ltk/ltk-remote.asd")
9948 ((#:phases _) '%standard-phases)))
9949 (synopsis "Remote GUI support for LTK")
9950 (description
9951 "This LTK extension allows the GUI to be displayed on a computer different
9952from the one running the Lisp program by using a TCP connection.")))
9953
9954(define-public cl-ltk-remote
9955 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9956
9957(define-public sbcl-cl-lex
9958 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9959 (revision "1"))
9960 (package
9961 (name "sbcl-cl-lex")
9962 (version (git-version "1.1.3" revision commit))
9963 (source
9964 (origin
9965 (method git-fetch)
9966 (uri (git-reference
9967 (url "https://github.com/djr7C4/cl-lex.git")
9968 (commit commit)))
9969 (file-name (git-file-name name version))
9970 (sha256
9971 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9972 (build-system asdf-build-system/sbcl)
9973 (inputs
9974 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9975 (synopsis "Common Lisp macros for generating lexical analyzers")
9976 (description
9977 "This is a Common Lisp library providing a set of macros for generating
9978lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9979be used with @code{cl-yacc}.")
9980 (home-page "https://github.com/djr7C4/cl-lex")
9981 (license license:gpl3))))
9982
9983(define-public cl-lex
9984 (sbcl-package->cl-source-package sbcl-cl-lex))
9985
9986(define-public ecl-cl-lex
9987 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9988
9989(define-public sbcl-clunit2
9990 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9991 (revision "1"))
9992 (package
9993 (name "sbcl-clunit2")
9994 (version (git-version "0.2.4" revision commit))
9995 (source
9996 (origin
9997 (method git-fetch)
9998 (uri (git-reference
9999 (url "https://notabug.org/cage/clunit2.git")
10000 (commit commit)))
10001 (file-name (git-file-name name version))
10002 (sha256
10003 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10004 (build-system asdf-build-system/sbcl)
10005 (synopsis "Unit testing framework for Common Lisp")
10006 (description
10007 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10008easy to use so that you can quickly start testing.")
10009 (home-page "https://notabug.org/cage/clunit2")
10010 (license license:expat))))
10011
10012(define-public cl-clunit2
10013 (sbcl-package->cl-source-package sbcl-clunit2))
10014
10015(define-public ecl-clunit2
10016 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10017
10018(define-public sbcl-cl-colors2
10019 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10020 (revision "1"))
10021 (package
10022 (name "sbcl-cl-colors2")
10023 (version (git-version "0.2.1" revision commit))
10024 (source
10025 (origin
10026 (method git-fetch)
10027 (uri (git-reference
10028 (url "https://notabug.org/cage/cl-colors2.git")
10029 (commit commit)))
10030 (file-name (git-file-name name version))
10031 (sha256
10032 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10033 (build-system asdf-build-system/sbcl)
10034 (native-inputs
10035 `(("clunit2" ,sbcl-clunit2)))
10036 (inputs
10037 `(("alexandria" ,sbcl-alexandria)
10038 ("cl-ppcre" ,sbcl-cl-ppcre)))
10039 (synopsis "Color library for Common Lisp")
10040 (description
10041 "This is a very simple color library for Common Lisp, providing:
10042
10043@itemize
10044@item Types for representing colors in HSV and RGB spaces.
10045@item Simple conversion functions between the above types (and also
10046hexadecimal representation for RGB).
10047@item Some predefined colors (currently X11 color names -- of course
10048the library does not depend on X11).
10049@end itemize\n")
10050 (home-page "https://notabug.org/cage/cl-colors2")
10051 (license license:boost1.0))))
10052
10053(define-public cl-colors2
10054 (sbcl-package->cl-source-package sbcl-cl-colors2))
10055
10056(define-public ecl-cl-colors2
10057 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10058
10059(define-public sbcl-cl-jpeg
10060 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10061 (revision "1"))
10062 (package
10063 (name "sbcl-cl-jpeg")
10064 (version (git-version "2.8" revision commit))
10065 (source
10066 (origin
10067 (method git-fetch)
10068 (uri (git-reference
10069 (url "https://github.com/sharplispers/cl-jpeg.git")
10070 (commit commit)))
10071 (file-name (git-file-name name version))
10072 (sha256
10073 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10074 (build-system asdf-build-system/sbcl)
10075 (synopsis "JPEG image library for Common Lisp")
10076 (description
10077 "This is a baseline JPEG codec written in Common Lisp. It can be used
10078for reading and writing JPEG image files.")
10079 (home-page "https://github.com/sharplispers/cl-jpeg")
10080 (license license:bsd-3))))
10081
10082(define-public cl-jpeg
10083 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10084
10085(define-public ecl-cl-jpeg
10086 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10087
10088(define-public sbcl-nodgui
10089 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10090 (revision "1"))
10091 (package
10092 (name "sbcl-nodgui")
10093 (version (git-version "0.0.5" revision commit))
10094 (source
10095 (origin
10096 (method git-fetch)
10097 (uri (git-reference
10098 (url "https://notabug.org/cage/nodgui.git")
10099 (commit commit)))
10100 (file-name (git-file-name name version))
10101 (sha256
10102 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10103 (build-system asdf-build-system/sbcl)
10104 (inputs
10105 `(("alexandria" ,sbcl-alexandria)
10106 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10107 ("cl-colors2" ,sbcl-cl-colors2)
10108 ("cl-jpeg" ,sbcl-cl-jpeg)
10109 ("cl-lex" ,sbcl-cl-lex)
10110 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10111 ("cl-unicode" ,sbcl-cl-unicode)
10112 ("cl-yacc" ,sbcl-cl-yacc)
10113 ("clunit2" ,sbcl-clunit2)
10114 ("named-readtables" ,sbcl-named-readtables)
10115 ("parse-number" ,sbcl-parse-number)
10116 ("tk" ,tk)))
10117 (arguments
10118 `(#:phases (modify-phases %standard-phases
10119 (add-after 'unpack 'fix-paths
10120 (lambda* (#:key inputs #:allow-other-keys)
10121 (substitute* "src/wish-communication.lisp"
10122 (("#-freebsd \"wish\"")
10123 (string-append "#-freebsd \""
10124 (assoc-ref inputs "tk")
10125 "/bin/wish\"")))
10126 #t)))))
10127 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10128 (description
10129 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10130toolkit. It also provides a few additional widgets more than the standard Tk
10131ones.")
10132 (home-page "https://www.autistici.org/interzona/nodgui.html")
10133 (license license:llgpl))))
10134
10135(define-public cl-nodgui
10136 (sbcl-package->cl-source-package sbcl-nodgui))
10137
10138(define-public ecl-nodgui
10139 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10140
10141(define-public sbcl-salza2
10142 (package
10143 (name "sbcl-salza2")
10144 (version "2.0.9")
10145 (source
10146 (origin
10147 (method git-fetch)
10148 (uri (git-reference
10149 (url "https://github.com/xach/salza2.git")
10150 (commit (string-append "release-" version))))
10151 (file-name (git-file-name name version))
10152 (sha256
10153 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10154 (build-system asdf-build-system/sbcl)
10155 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10156 (description
10157 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10158deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10159respectively.")
10160 (home-page "https://www.xach.com/lisp/salza2/")
10161 (license license:bsd-2)))
10162
10163(define-public cl-salza2
10164 (sbcl-package->cl-source-package sbcl-salza2))
10165
10166(define-public ecl-salza2
10167 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10168
10169(define-public sbcl-png-read
10170 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10171 (revision "1"))
10172 (package
10173 (name "sbcl-png-read")
10174 (version (git-version "0.3.1" revision commit))
10175 (source
10176 (origin
10177 (method git-fetch)
10178 (uri (git-reference
10179 (url "https://github.com/Ramarren/png-read.git")
10180 (commit commit)))
10181 (file-name (git-file-name name version))
10182 (sha256
10183 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10184 (build-system asdf-build-system/sbcl)
10185 (inputs
10186 `(("babel" ,sbcl-babel)
10187 ("chipz" ,sbcl-chipz)
10188 ("iterate" ,sbcl-iterate)))
10189 (synopsis "PNG decoder for Common Lisp")
10190 (description "This is a Common Lisp library for reading PNG images.")
10191 (home-page "https://github.com/Ramarren/png-read")
10192 (license license:bsd-3))))
10193
10194(define-public cl-png-read
10195 (sbcl-package->cl-source-package sbcl-png-read))
10196
10197(define-public ecl-png-read
10198 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10199
10200(define-public sbcl-zpng
10201 (package
10202 (name "sbcl-zpng")
10203 (version "1.2.2")
10204 (source
10205 (origin
10206 (method git-fetch)
10207 (uri (git-reference
10208 (url "https://github.com/xach/zpng.git")
10209 (commit (string-append "release-" version))))
10210 (file-name (git-file-name name version))
10211 (sha256
10212 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10213 (build-system asdf-build-system/sbcl)
10214 (inputs
10215 `(("salza2" ,sbcl-salza2)))
10216 (synopsis "PNG encoder for Common Lisp")
10217 (description "This is a Common Lisp library for creating PNG images.")
10218 (home-page "https://www.xach.com/lisp/zpng/")
10219 (license license:bsd-2)))
10220
10221(define-public cl-zpng
10222 (sbcl-package->cl-source-package sbcl-zpng))
10223
10224(define-public ecl-zpng
10225 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10226
10227(define-public sbcl-cl-qrencode
10228 (package
10229 (name "sbcl-cl-qrencode")
10230 (version "0.1.2")
10231 (source
10232 (origin
10233 (method git-fetch)
10234 (uri (git-reference
10235 (url "https://github.com/jnjcc/cl-qrencode.git")
10236 (commit (string-append "v" version))))
10237 (file-name (git-file-name name version))
10238 (sha256
10239 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10240 (build-system asdf-build-system/sbcl)
10241 (native-inputs
10242 `(("lisp-unit" ,sbcl-lisp-unit)))
10243 (inputs
10244 `(("zpng" ,sbcl-zpng)))
10245 (synopsis "QR code encoder for Common Lisp")
10246 (description
10247 "This Common Lisp library provides function to make QR codes and to save
10248them as PNG files.")
10249 (home-page "https://github.com/jnjcc/cl-qrencode")
10250 (license license:gpl2+)))
10251
10252(define-public cl-qrencode
10253 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10254
10255(define-public ecl-cl-qrencode
10256 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10257
10258(define-public sbcl-hdf5-cffi
10259 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10260 (revision "1"))
10261 (package
10262 (name "sbcl-hdf5-cffi")
10263 (version (git-version "1.8.18" revision commit))
10264 (source
10265 (origin
10266 (method git-fetch)
10267 (uri (git-reference
10268 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10269 (commit commit)))
10270 (file-name (git-file-name name version))
10271 (sha256
10272 (base32
10273 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10274 (build-system asdf-build-system/sbcl)
10275 (synopsis "Common Lisp bindings for the HDF5 library")
10276 (description
10277 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10278 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10279 (license (license:non-copyleft
10280 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10281 commit
10282 "/LICENSE")))
10283 (inputs
10284 `(("cffi" ,sbcl-cffi)
10285 ("cffi-grovel" ,sbcl-cffi-grovel)
10286 ("hdf5" ,hdf5-1.10)))
10287 (native-inputs
10288 `(("fiveam" ,sbcl-fiveam)))
10289 (arguments
10290 `(#:asd-system-name "hdf5-cffi"
10291 #:asd-file "hdf5-cffi.asd"
10292 #:test-asd-file "hdf5-cffi.test.asd"
10293 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10294 ;; I don't know if there is a way to tell asdf-build-system to load
10295 ;; an additional system first, so tests are disabled.
10296 #:tests? #f
10297 #:phases
10298 (modify-phases %standard-phases
10299 (add-after 'unpack 'fix-paths
10300 (lambda* (#:key inputs #:allow-other-keys)
10301 (substitute* "src/library.lisp"
10302 (("libhdf5.so")
10303 (string-append
10304 (assoc-ref inputs "hdf5")
10305 "/lib/libhdf5.so")))))
10306 (add-after 'unpack 'fix-dependencies
10307 (lambda* (#:key inputs #:allow-other-keys)
10308 (substitute* "hdf5-cffi.asd"
10309 ((":depends-on \\(:cffi\\)")
10310 ":depends-on (:cffi :cffi-grovel)"))
10311 (substitute* "hdf5-cffi.test.asd"
10312 ((":depends-on \\(:cffi :hdf5-cffi")
10313 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10314
10315(define-public cl-hdf5-cffi
10316 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10317
10318(define-public ecl-hdf5-cffi
10319 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10320
10321(define-public sbcl-cl-randist
10322 (package
10323 (name "sbcl-cl-randist")
10324 (version "0.4.2")
10325 (source
10326 (origin
10327 (method git-fetch)
10328 (uri (git-reference
10329 (url "https://github.com/lvaruzza/cl-randist.git")
10330 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10331 (file-name (git-file-name name version))
10332 (sha256
10333 (base32
10334 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10335 (build-system asdf-build-system/sbcl)
10336 (synopsis "Random distributions for Common Lisp")
10337 (description
10338 "Manual translation from C to Common Lisp of some random number
10339generation functions from the GSL library.")
10340 (home-page "https://github.com/lvaruzza/cl-randist")
10341 (license license:bsd-2)
10342 (arguments
10343 `(#:asd-system-name "cl-randist"
10344 #:asd-file "cl-randist.asd"
10345 #:tests? #f))))
10346
10347(define-public cl-randist
10348 (sbcl-package->cl-source-package sbcl-cl-randist))
10349
10350(define-public ecl-cl-randist
10351 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10352
10353(define-public sbcl-float-features
10354 (package
10355 (name "sbcl-float-features")
10356 (version "1.0.0")
10357 (source
10358 (origin
10359 (method git-fetch)
10360 (uri (git-reference
10361 (url "https://github.com/Shinmera/float-features.git")
10362 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10363 (file-name (git-file-name name version))
10364 (sha256
10365 (base32
10366 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10367 (build-system asdf-build-system/sbcl)
10368 (synopsis "Common Lisp IEEE float portability library")
10369 (description
10370 "Portability library for IEEE float features that are not
10371covered by the Common Lisp standard.")
10372 (home-page "https://github.com/Shinmera/float-features")
10373 (license license:zlib)
10374 (inputs
10375 `(("documentation-utils" ,sbcl-documentation-utils)))
10376 (arguments
10377 `(#:asd-system-name "float-features"
10378 #:asd-file "float-features.asd"
10379 #:tests? #f))))
10380
10381(define-public cl-float-features
10382 (sbcl-package->cl-source-package sbcl-float-features))
10383
10384(define-public ecl-float-features
10385 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10386
10387(define-public sbcl-function-cache
10388 (package
10389 (name "sbcl-function-cache")
10390 (version "1.0.3")
10391 (source
10392 (origin
10393 (method git-fetch)
10394 (uri (git-reference
10395 (url "https://github.com/AccelerationNet/function-cache.git")
10396 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10397 (file-name (git-file-name name version))
10398 (sha256
10399 (base32
10400 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10401 (build-system asdf-build-system/sbcl)
10402 (synopsis "Function caching / memoization library for Common Lisp")
10403 (description
10404 "A common lisp library that provides extensible function result
10405caching based on arguments (an expanded form of memoization).")
10406 (home-page "https://github.com/AccelerationNet/function-cache")
10407 (license
10408 (license:non-copyleft
10409 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10410 (inputs
10411 `(("alexandria" ,sbcl-alexandria)
10412 ("cl-interpol" ,sbcl-cl-interpol)
10413 ("iterate" ,sbcl-iterate)
10414 ("symbol-munger" ,sbcl-symbol-munger)
10415 ("closer-mop" ,sbcl-closer-mop)))
10416 (arguments
10417 `(#:asd-system-name "function-cache"
10418 #:asd-file "function-cache.asd"
10419 #:tests? #f))))
10420
10421(define-public cl-function-cache
10422 (sbcl-package->cl-source-package sbcl-function-cache))
10423
10424(define-public ecl-function-cache
10425 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10426
10427(define-public sbcl-type-r
10428 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10429 (revision "1"))
10430 (package
10431 (name "sbcl-type-r")
10432 (version (git-version "0.0.0" revision commit))
10433 (source
10434 (origin
10435 (method git-fetch)
10436 (uri (git-reference
10437 (url "https://github.com/guicho271828/type-r.git")
10438 (commit commit)))
10439 (file-name (git-file-name name version))
10440 (sha256
10441 (base32
10442 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10443 (build-system asdf-build-system/sbcl)
10444 (synopsis "Parser interface for Common Lisp built-in compound types")
10445 (description
10446 "Collections of accessor functions and patterns to access
10447the elements in compound type specifier, e.g. @code{dimensions} in
10448@code{(array element-type dimensions)}")
10449 (home-page "https://github.com/guicho271828/type-r")
10450 (license license:lgpl3+)
10451 (inputs
10452 `(("trivia" ,sbcl-trivia)
10453 ("alexandria" ,sbcl-alexandria)))
10454 (native-inputs
10455 `(("fiveam" ,sbcl-fiveam)))
10456 (arguments
10457 `(#:asd-system-name "type-r"
10458 #:asd-file "type-r.asd"
10459 #:test-asd-file "type-r.test.asd")))))
10460
10461(define-public cl-type-r
10462 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10463
10464(define-public sbcl-trivialib-type-unify
10465 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10466 (revision "1"))
10467 (package
10468 (name "sbcl-trivialib-type-unify")
10469 (version (git-version "0.1" revision commit))
10470 (source
10471 (origin
10472 (method git-fetch)
10473 (uri (git-reference
10474 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10475 (commit commit)))
10476 (file-name (git-file-name name version))
10477 (sha256
10478 (base32
10479 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10480 (build-system asdf-build-system/sbcl)
10481 (synopsis "Common Lisp type unification")
10482 (description
10483 "Unifies a parametrized type specifier against an actual type specifier.
10484Importantly, it handles complicated array-subtypes and number-related types
10485correctly.")
10486 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10487 (license license:lgpl3+)
10488 (inputs
10489 `(("alexandria" ,sbcl-alexandria)
10490 ("trivia" ,sbcl-trivia)
10491 ("introspect-environment" ,sbcl-introspect-environment)
10492 ("type-r" ,sbcl-type-r)))
10493 (native-inputs
10494 `(("fiveam" ,sbcl-fiveam)))
10495 (arguments
10496 `(#:asd-system-name "trivialib.type-unify"
10497 #:asd-file "trivialib.type-unify.asd"
10498 #:test-asd-file "trivialib.type-unify.test.asd")))))
10499
10500(define-public cl-trivialib-type-unify
10501 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10502
10503(define-public sbcl-specialized-function
10504 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10505 (revision "1"))
10506 (package
10507 (name "sbcl-specialized-function")
10508 (version (git-version "0.0.0" revision commit))
10509 (source
10510 (origin
10511 (method git-fetch)
10512 (uri (git-reference
10513 (url "https://github.com/numcl/specialized-function.git")
10514 (commit commit)))
10515 (file-name (git-file-name name version))
10516 (sha256
10517 (base32
10518 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10519 (build-system asdf-build-system/sbcl)
10520 (synopsis "Julia-like dispatch for Common Lisp")
10521 (description
10522 "This library is part of NUMCL. It provides a macro
10523@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10524lazily compiling a type-specific version of the function from the same
10525code. The main target of this macro is speed.")
10526 (home-page "https://github.com/numcl/specialized-function")
10527 (license license:lgpl3+)
10528 (inputs
10529 `(("trivia" ,sbcl-trivia)
10530 ("alexandria" ,sbcl-alexandria)
10531 ("iterate" ,sbcl-iterate)
10532 ("lisp-namespace" ,sbcl-lisp-namespace)
10533 ("type-r" ,sbcl-type-r)
10534 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10535 (native-inputs
10536 `(("fiveam" ,sbcl-fiveam)))
10537 (arguments
10538 `(#:asd-system-name "specialized-function"
10539 #:asd-file "specialized-function.asd"
10540 #:test-asd-file "specialized-function.test.asd")))))
10541
10542(define-public cl-specialized-function
10543 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10544
10545(define-public sbcl-constantfold
10546 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10547 (revision "1"))
10548 (package
10549 (name "sbcl-constantfold")
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/constantfold.git")
10556 (commit commit)))
10557 (file-name (git-file-name name version))
10558 (sha256
10559 (base32
10560 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10561 (build-system asdf-build-system/sbcl)
10562 (synopsis "Support library for numcl")
10563 (description
10564 "Support library for numcl. Registers a function as an
10565additional form that is considered as a candidate for a constant.")
10566 (home-page "https://github.com/numcl/constantfold")
10567 (license license:lgpl3+)
10568 (inputs
10569 `(("trivia" ,sbcl-trivia)
10570 ("alexandria" ,sbcl-alexandria)
10571 ("iterate" ,sbcl-iterate)
10572 ("lisp-namespace" ,sbcl-lisp-namespace)))
10573 (native-inputs
10574 `(("fiveam" ,sbcl-fiveam)))
10575 (arguments
10576 `(#:asd-system-name "constantfold"
10577 #:asd-file "constantfold.asd"
10578 #:test-asd-file "constantfold.test.asd")))))
10579
10580(define-public cl-constantfold
10581 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10582
10583(define-public sbcl-gtype
10584 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10585 (revision "1"))
10586 (package
10587 (name "sbcl-gtype")
10588 (version (git-version "0.1" revision commit))
10589 (source
10590 (origin
10591 (method git-fetch)
10592 (uri (git-reference
10593 (url "https://github.com/numcl/gtype.git")
10594 (commit commit)))
10595 (file-name (git-file-name name version))
10596 (sha256
10597 (base32
10598 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10599 (build-system asdf-build-system/sbcl)
10600 (synopsis "C++/Julia-like parametric types in Common Lisp")
10601 (description
10602 "Support library for numcl that provides Julia-like runtime parametric
10603type correctness in Common Lisp. It is based on CLtL2 extensions.")
10604 (home-page "https://github.com/numcl/gtype")
10605 (license license:lgpl3+)
10606 (inputs
10607 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10608 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10609 ("trivia" ,sbcl-trivia)
10610 ("alexandria" ,sbcl-alexandria)
10611 ("iterate" ,sbcl-iterate)
10612 ("type-r" ,sbcl-type-r)))
10613 (native-inputs
10614 `(("fiveam" ,sbcl-fiveam)))
10615 (arguments
10616 `(#:asd-system-name "gtype"
10617 #:asd-file "gtype.asd"
10618 #:test-asd-file "gtype.test.asd")))))
10619
10620(define-public cl-gtype
10621 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10622
10623(define-public sbcl-numcl
10624 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10625 (revision "1"))
10626 (package
10627 (name "sbcl-numcl")
10628 (version (git-version "0.1.0" revision commit))
10629 (source
10630 (origin
10631 (method git-fetch)
10632 (uri (git-reference
10633 (url "https://github.com/numcl/numcl.git")
10634 (commit commit)))
10635 (file-name (git-file-name name version))
10636 (sha256
10637 (base32
10638 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10639 (build-system asdf-build-system/sbcl)
10640 (synopsis "Numpy clone in Common Lisp")
10641 (description
10642 "This is a Numpy clone in Common Lisp. At the moment the
10643library is written in pure Common Lisp, focusing more on correctness
10644and usefulness, not speed. Track the progress at
10645@url{https://github.com/numcl/numcl/projects/1}.")
10646 (home-page "https://github.com/numcl/numcl")
10647 (license license:lgpl3+)
10648 (inputs
10649 `(("trivia" ,sbcl-trivia)
10650 ("alexandria" ,sbcl-alexandria)
10651 ("iterate" ,sbcl-iterate)
10652 ("lisp-namespace" ,sbcl-lisp-namespace)
10653 ("type-r" ,sbcl-type-r)
10654 ("constantfold" ,sbcl-constantfold)
10655 ("cl-randist" ,sbcl-cl-randist)
10656 ("float-features" ,sbcl-float-features)
10657 ("function-cache" ,sbcl-function-cache)
10658 ("specialized-function" ,sbcl-specialized-function)
10659 ("gtype" ,sbcl-gtype)))
10660 (native-inputs
10661 `(("fiveam" ,sbcl-fiveam)))
10662 (arguments
10663 `(#:asd-system-name "numcl"
10664 #:asd-file "numcl.asd"
10665 #:test-asd-file "numcl.test.asd")))))
10666
10667(define-public cl-numcl
10668 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10669
10670(define-public sbcl-pzmq
10671 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10672 (revision "1"))
10673 (package
10674 (name "sbcl-pzmq")
10675 (version (git-version "0.0.0" revision commit))
10676 (source
10677 (origin
10678 (method git-fetch)
10679 (uri (git-reference
10680 (url "https://github.com/orivej/pzmq.git")
10681 (commit commit)))
10682 (file-name (git-file-name name version))
10683 (sha256
10684 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10685 (build-system asdf-build-system/sbcl)
10686 (native-inputs
10687 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10688 ("fiveam" ,sbcl-fiveam)
10689 ("let-plus" ,sbcl-let-plus)))
10690 (inputs
10691 `(("cffi" ,sbcl-cffi)
10692 ("cffi-grovel" ,sbcl-cffi-grovel)
10693 ("zeromq" ,zeromq)))
10694 (arguments
10695 `(#:phases (modify-phases %standard-phases
10696 (add-after 'unpack 'fix-paths
10697 (lambda* (#:key inputs #:allow-other-keys)
10698 (substitute* "c-api.lisp"
10699 (("\"libzmq")
10700 (string-append "\""
10701 (assoc-ref inputs "zeromq")
10702 "/lib/libzmq")))
10703 #t)))))
10704 (synopsis "Common Lisp bindings for the ZeroMQ library")
10705 (description "This Common Lisp library provides bindings for the ZeroMQ
10706lightweight messaging kernel.")
10707 (home-page "https://github.com/orivej/pzmq")
10708 (license license:unlicense))))
10709
10710(define-public cl-pzmq
10711 (sbcl-package->cl-source-package sbcl-pzmq))
10712
10713(define-public ecl-pzmq
10714 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10715
10716(define-public sbcl-clss
10717 (let ((revision "1")
10718 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10719 (package
10720 (name "sbcl-clss")
10721 (version (git-version "0.3.1" revision commit))
10722 (source
10723 (origin
10724 (method git-fetch)
10725 (uri
10726 (git-reference
10727 (url "https://github.com/Shinmera/clss.git")
10728 (commit commit)))
10729 (sha256
10730 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10731 (file-name (git-file-name name version))))
10732 (inputs
10733 `(("array-utils" ,sbcl-array-utils)
10734 ("plump" ,sbcl-plump)))
10735 (build-system asdf-build-system/sbcl)
10736 (synopsis "DOM tree searching engine based on CSS selectors")
10737 (description "CLSS is a DOM traversal engine based on CSS
10738selectors. It makes use of the Plump-DOM and is used by lQuery.")
10739 (home-page "https://github.com/Shinmera/clss")
10740 (license license:zlib))))
10741
10742(define-public cl-clss
10743 (sbcl-package->cl-source-package sbcl-clss))
10744
10745(define-public ecl-clss
10746 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10747
10748(define-public sbcl-lquery
10749 (let ((revision "1")
10750 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10751 (package
10752 (name "sbcl-lquery")
10753 (version (git-version "3.2.1" revision commit))
10754 (source
10755 (origin
10756 (method git-fetch)
10757 (uri
10758 (git-reference
10759 (url "https://github.com/Shinmera/lquery.git")
10760 (commit commit)))
10761 (sha256
10762 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10763 (file-name (git-file-name name version))))
10764 (native-inputs
10765 `(("fiveam" ,sbcl-fiveam)))
10766 (inputs
10767 `(("array-utils" ,sbcl-array-utils)
10768 ("form-fiddle" ,sbcl-form-fiddle)
10769 ("plump" ,sbcl-plump)
10770 ("clss" ,sbcl-clss)))
10771 (build-system asdf-build-system/sbcl)
10772 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10773 (description "@code{lQuery} is a DOM manipulation library written in
10774Common Lisp, inspired by and based on the jQuery syntax and
10775functions. It uses Plump and CLSS as DOM and selector engines. The
10776main idea behind lQuery is to provide a simple interface for crawling
10777and modifying HTML sites, as well as to allow for an alternative
10778approach to templating.")
10779 (home-page "https://github.com/Shinmera/lquery")
10780 (license license:zlib))))
10781
10782(define-public cl-lquery
10783 (sbcl-package->cl-source-package sbcl-lquery))
10784
10785(define-public ecl-lquery
10786 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10787
10788(define-public sbcl-cl-mysql
10789 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10790 (revision "1"))
10791 (package
10792 (name "sbcl-cl-mysql")
10793 (version (git-version "0.1" revision commit))
10794 (source
10795 (origin
10796 (method git-fetch)
10797 (uri (git-reference
10798 (url "https://github.com/hackinghat/cl-mysql.git")
10799 (commit commit)))
10800 (file-name (git-file-name name version))
10801 (sha256
10802 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10803 (build-system asdf-build-system/sbcl)
10804 (native-inputs
10805 `(("stefil" ,sbcl-stefil)))
10806 (inputs
10807 `(("cffi" ,sbcl-cffi)
10808 ("mariadb-lib" ,mariadb "lib")))
10809 (arguments
10810 `(#:tests? #f ; TODO: Tests require a running server
10811 #:phases
10812 (modify-phases %standard-phases
10813 (add-after 'unpack 'fix-paths
10814 (lambda* (#:key inputs #:allow-other-keys)
10815 (substitute* "system.lisp"
10816 (("libmysqlclient_r" all)
10817 (string-append (assoc-ref inputs "mariadb-lib")
10818 "/lib/"
10819 all)))
10820 #t)))))
10821 (synopsis "Common Lisp wrapper for MySQL")
10822 (description
10823 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10824 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10825 (license license:expat))))
10826
10827(define-public cl-mysql
10828 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10829
10830(define-public sbcl-simple-date
10831 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10832 (revision "1"))
10833 (package
10834 (name "sbcl-simple-date")
10835 (version (git-version "1.19" revision commit))
10836 (source
10837 (origin
10838 (method git-fetch)
10839 (uri (git-reference
10840 (url "https://github.com/marijnh/Postmodern.git")
10841 (commit commit)))
10842 (file-name (git-file-name name version))
10843 (sha256
10844 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10845 (build-system asdf-build-system/sbcl)
10846 (native-inputs
10847 `(("fiveam" ,sbcl-fiveam)))
10848 (synopsis "Basic date and time objects for Common Lisp")
10849 (description
10850 "@code{simple-date} is a very basic implementation of date and time
10851objects, used to support storing and retrieving time-related SQL types.")
10852 (home-page "https://marijnhaverbeke.nl/postmodern/")
10853 (license license:zlib))))
10854
10855(define-public cl-simple-date
10856 (sbcl-package->cl-source-package sbcl-simple-date))
10857
10858(define-public ecl-simple-date
10859 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10860
10861(define-public sbcl-cl-postgres
10862 (package
10863 (inherit sbcl-simple-date)
10864 (name "sbcl-cl-postgres")
10865 (native-inputs
10866 `(("fiveam" ,sbcl-fiveam)
10867 ("simple-date" ,sbcl-simple-date)))
10868 (inputs
10869 `(("md5" ,sbcl-md5)
10870 ("split-sequence" ,sbcl-split-sequence)
10871 ("usocket" ,sbcl-usocket)))
10872 (arguments
10873 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10874 (synopsis "Common Lisp interface for PostgreSQL")
10875 (description
10876 "@code{cl-postgres} is a low-level library used for interfacing with
10877a PostgreSQL server over a socket.")))
10878
10879(define-public cl-postgres
10880 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10881
10882(define-public sbcl-simple-date-postgres-glue
10883 (package
10884 (inherit sbcl-simple-date)
10885 (name "sbcl-simple-date-postgres-glue")
10886 (inputs
10887 `(("cl-postgres" ,sbcl-cl-postgres)
10888 ("simple-date" ,sbcl-simple-date)))
10889 (arguments
10890 `(#:asd-file "simple-date.asd"
10891 #:asd-system-name "simple-date/postgres-glue"))))
10892
10893(define-public cl-simple-date-postgres-glue
10894 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10895
10896(define-public sbcl-s-sql
10897 (package
10898 (inherit sbcl-simple-date)
10899 (name "sbcl-s-sql")
10900 (inputs
10901 `(("alexandria" ,sbcl-alexandria)
10902 ("cl-postgres" ,sbcl-cl-postgres)))
10903 (arguments
10904 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10905 (synopsis "Lispy DSL for SQL")
10906 (description
10907 "@code{s-sql} is a Common Lisp library that can be used to compile
10908s-expressions to strings of SQL code, escaping any Lisp values inside, and
10909doing as much as possible of the work at compile time.")))
10910
10911(define-public cl-s-sql
10912 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10913
10914(define-public sbcl-postmodern
10915 (package
10916 (inherit sbcl-simple-date)
10917 (name "sbcl-postmodern")
10918 (native-inputs
10919 `(("fiveam" ,sbcl-fiveam)
10920 ("simple-date" ,sbcl-simple-date)
10921 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10922 (inputs
10923 `(("alexandria" ,sbcl-alexandria)
10924 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10925 ("cl-postgres" ,sbcl-cl-postgres)
10926 ("closer-mop" ,sbcl-closer-mop)
10927 ("global-vars" ,sbcl-global-vars)
10928 ("s-sql" ,sbcl-s-sql)
10929 ("split-sequence" ,sbcl-split-sequence)))
10930 (arguments
10931 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10932 ;; cl-postgres/tests and s-sql/tests.
10933 `(#:tests? #f))
10934 (synopsis "Common Lisp library for interacting with PostgreSQL")
10935 (description
10936 "@code{postmodern} is a Common Lisp library for interacting with
10937PostgreSQL databases. It provides the following features:
10938
10939@itemize
10940@item Efficient communication with the database server without need for
10941foreign libraries.
10942@item Support for UTF-8 on Unicode-aware Lisp implementations.
10943@item A syntax for mixing SQL and Lisp code.
10944@item Convenient support for prepared statements and stored procedures.
10945@item A metaclass for simple database-access objects.
10946@end itemize\n")))
10947
10948(define-public cl-postmodern
10949 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10950
10951(define-public sbcl-dbi
10952 (package
10953 (name "sbcl-dbi")
10954 (version "0.9.4")
10955 (source
10956 (origin
10957 (method git-fetch)
10958 (uri (git-reference
10959 (url "https://github.com/fukamachi/cl-dbi.git")
10960 (commit version)))
10961 (file-name (git-file-name name version))
10962 (sha256
10963 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10964 (build-system asdf-build-system/sbcl)
10965 (inputs
10966 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10967 ("closer-mop" ,sbcl-closer-mop)
10968 ("split-sequence" ,sbcl-split-sequence)))
10969 (arguments
10970 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
10971 (synopsis "Database independent interface for Common Lisp")
10972 (description
10973 "@code{dbi} is a Common Lisp library providing a database independent
10974interface for MySQL, PostgreSQL and SQLite.")
10975 (home-page "https://github.com/fukamachi/cl-dbi")
10976 (license license:llgpl)))
10977
10978(define-public cl-dbi
10979 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
10980
10981(define-public sbcl-dbd-mysql
10982 (package
10983 (inherit sbcl-dbi)
10984 (name "sbcl-dbd-mysql")
10985 (inputs
10986 `(("cl-mysql" ,sbcl-cl-mysql)
10987 ("dbi" ,sbcl-dbi)))
10988 (synopsis "Database driver for MySQL")))
10989
10990(define-public cl-dbd-mysql
10991 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
10992
10993(define-public sbcl-dbd-postgres
10994 (package
10995 (inherit sbcl-dbi)
10996 (name "sbcl-dbd-postgres")
10997 (inputs
10998 `(("cl-postgres" ,sbcl-cl-postgres)
10999 ("dbi" ,sbcl-dbi)
11000 ("trivial-garbage" ,sbcl-trivial-garbage)))
11001 (synopsis "Database driver for PostgreSQL")))
11002
11003(define-public cl-dbd-postgres
11004 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11005
11006(define-public sbcl-dbd-sqlite3
11007 (package
11008 (inherit sbcl-dbi)
11009 (name "sbcl-dbd-sqlite3")
11010 (inputs
11011 `(("cl-sqlite" ,sbcl-cl-sqlite)
11012 ("dbi" ,sbcl-dbi)
11013 ("trivial-garbage" ,sbcl-trivial-garbage)))
11014 (synopsis "Database driver for SQLite3")))
11015
11016(define-public cl-dbd-sqlite3
11017 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11018
11019(define-public sbcl-uffi
11020 (package
11021 (name "sbcl-uffi")
11022 (version "2.1.2")
11023 (source
11024 (origin
11025 (method git-fetch)
11026 (uri (git-reference
11027 (url "http://git.kpe.io/uffi.git")
11028 (commit (string-append "v" version))))
11029 (file-name (git-file-name name version))
11030 (sha256
11031 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11032 (build-system asdf-build-system/sbcl)
11033 (arguments
11034 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11035 #:phases
11036 (modify-phases %standard-phases
11037 (add-after 'unpack 'fix-permissions
11038 (lambda _
11039 (make-file-writable "doc/html.tar.gz")
11040 #t)))))
11041 (synopsis "Universal foreign function library for Common Lisp")
11042 (description
11043 "UFFI provides a universal foreign function interface (FFI)
11044 for Common Lisp.")
11045 (home-page "http://quickdocs.org/uffi/")
11046 (license license:llgpl)))
11047
11048(define-public cl-uffi
11049 (package
11050 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11051 (arguments
11052 `(#:phases
11053 ;; asdf-build-system/source has its own phases and does not inherit
11054 ;; from asdf-build-system/sbcl phases.
11055 (modify-phases %standard-phases/source
11056 (add-after 'unpack 'fix-permissions
11057 (lambda _
11058 (make-file-writable "doc/html.tar.gz")
11059 #t)))))))
5ae56f68
GLV
11060
11061(define-public sbcl-clsql
11062 (package
11063 (name "sbcl-clsql")
11064 (version "6.7.0")
11065 (source
11066 (origin
11067 (method git-fetch)
11068 (uri (git-reference
11069 (url "http://git.kpe.io/clsql.git")
11070 (commit (string-append "v" version))))
11071 (file-name (git-file-name name version))
11072 (sha256
11073 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11074 (snippet
11075 '(begin
11076 ;; Remove precompiled libraries.
11077 (delete-file "db-mysql/clsql_mysql.dll")
11078 (delete-file "uffi/clsql_uffi.dll")
11079 (delete-file "uffi/clsql_uffi.lib")
11080 #t))))
11081 (build-system asdf-build-system/sbcl)
11082 (native-inputs
11083 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11084 ("rt" ,sbcl-rt)
11085 ("uffi" ,sbcl-uffi)))
11086 (arguments
11087 `(#:phases
11088 (modify-phases %standard-phases
11089 (add-after 'unpack 'fix-permissions
11090 (lambda _
11091 (make-file-writable "doc/html.tar.gz")
11092 #t))
11093 (add-after 'unpack 'fix-tests
11094 (lambda _
11095 (substitute* "clsql.asd"
11096 (("clsql-tests :force t")
11097 "clsql-tests"))
11098 #t)))))
11099 (synopsis "Common Lisp SQL Interface library")
11100 (description
11101 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11102Xanalys CommonSQL interface for Lispworks. It provides low-level database
11103interfaces as well as a functional and an object oriented interface.")
11104 (home-page "http://clsql.kpe.io/")
11105 (license license:llgpl)))
11106
11107(define-public cl-clsql
11108 (package
11109 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11110 (native-inputs
11111 `(("rt" ,cl-rt)))
11112 (inputs
11113 `(("mysql" ,mysql)
11114 ("postgresql" ,postgresql)
11115 ("sqlite" ,sqlite)
11116 ("zlib" ,zlib)))
11117 (propagated-inputs
11118 `(("cl-postgres" ,cl-postgres)
11119 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11120 ("md5" ,cl-md5)
11121 ("uffi" ,cl-uffi)))
11122 (arguments
11123 `(#:phases
11124 ;; asdf-build-system/source has its own phases and does not inherit
11125 ;; from asdf-build-system/sbcl phases.
11126 (modify-phases %standard-phases/source
11127 (add-after 'unpack 'fix-permissions
11128 (lambda _
11129 (make-file-writable "doc/html.tar.gz")
11130 #t)))))))
a5f44287
GLV
11131
11132(define-public sbcl-clsql-uffi
11133 (package
11134 (inherit sbcl-clsql)
11135 (name "sbcl-clsql-uffi")
11136 (inputs
11137 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11138 ("clsql" ,sbcl-clsql)
11139 ("uffi" ,sbcl-uffi)))
11140 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11141
11142(define-public sbcl-clsql-sqlite3
11143 (package
11144 (inherit sbcl-clsql)
11145 (name "sbcl-clsql-sqlite3")
11146 (inputs
11147 `(("clsql" ,sbcl-clsql)
11148 ("clsql-uffi" ,sbcl-clsql-uffi)
11149 ("sqlite" ,sqlite)))
11150 (arguments
11151 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11152 ((#:phases phases '%standard-phases)
11153 `(modify-phases ,phases
11154 (add-after 'unpack 'fix-paths
11155 (lambda* (#:key inputs #:allow-other-keys)
11156 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11157 (("libsqlite3")
11158 (string-append (assoc-ref inputs "sqlite")
11159 "/lib/libsqlite3")))
11160 #t))))))
11161 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11162
11163(define-public sbcl-clsql-postgresql
11164 (package
11165 (inherit sbcl-clsql)
11166 (name "sbcl-clsql-postgresql")
11167 (inputs
11168 `(("clsql" ,sbcl-clsql)
11169 ("clsql-uffi" ,sbcl-clsql-uffi)
11170 ("postgresql" ,postgresql)))
11171 (arguments
11172 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11173 ((#:phases phases '%standard-phases)
11174 `(modify-phases ,phases
11175 (add-after 'unpack 'fix-paths
11176 (lambda* (#:key inputs #:allow-other-keys)
11177 (substitute* "db-postgresql/postgresql-loader.lisp"
11178 (("libpq")
11179 (string-append (assoc-ref inputs "postgresql")
11180 "/lib/libpq")))
11181 #t))))))
11182 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11183
11184(define-public sbcl-clsql-postgresql-socket3
11185 (package
11186 (inherit sbcl-clsql)
11187 (name "sbcl-clsql-postgresql-socket3")
11188 (inputs
11189 `(("cl-postgres" ,sbcl-cl-postgres)
11190 ("clsql" ,sbcl-clsql)
11191 ("md5" ,sbcl-md5)))
11192 (arguments
11193 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11194 ((#:phases phases '%standard-phases)
11195 `(modify-phases ,phases
11196 (add-after 'create-asd-file 'fix-asd-file
11197 (lambda* (#:key outputs #:allow-other-keys)
11198 (let* ((out (assoc-ref outputs "out"))
11199 (lib (string-append out "/lib/" (%lisp-type)))
11200 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11201 (substitute* asd
11202 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11203 "")))
11204 #t))))))
11205 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11206
11207(define-public sbcl-clsql-mysql
11208 (package
11209 (inherit sbcl-clsql)
11210 (name "sbcl-clsql-mysql")
11211 (inputs
11212 `(("mysql" ,mysql)
11213 ("sbcl-clsql" ,sbcl-clsql)
11214 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11215 ("zlib" ,zlib)))
11216 (arguments
11217 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11218 ((#:phases phases '%standard-phases)
11219 `(modify-phases ,phases
11220 (add-after 'unpack 'fix-paths
11221 (lambda* (#:key inputs outputs #:allow-other-keys)
11222 (let ((lib (string-append "#p\""
11223 (assoc-ref outputs "out")
11224 "/lib/\"")))
11225 (substitute* "clsql-mysql.asd"
11226 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11227 lib))
11228 (substitute* "db-mysql/mysql-loader.lisp"
11229 (("libmysqlclient" all)
11230 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11231 (("clsql-mysql-system::\\*library-file-dir\\*")
11232 lib)))
11233 #t))
11234 (add-before 'build 'build-helper-library
11235 (lambda* (#:key inputs outputs #:allow-other-keys)
11236 (let* ((mysql (assoc-ref inputs "mysql"))
11237 (inc-dir (string-append mysql "/include/mysql"))
11238 (lib-dir (string-append mysql "/lib"))
11239 (shared-lib-dir (string-append (assoc-ref outputs "out")
11240 "/lib"))
11241 (shared-lib (string-append shared-lib-dir
11242 "/clsql_mysql.so")))
11243 (mkdir-p shared-lib-dir)
11244 (invoke "gcc" "-fPIC" "-shared"
11245 "-I" inc-dir
11246 "db-mysql/clsql_mysql.c"
11247 "-Wl,-soname=clsql_mysql"
11248 "-L" lib-dir "-lmysqlclient" "-lz"
11249 "-o" shared-lib)
11250 #t)))))))
11251 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11252
11253(define-public sbcl-sycamore
11254 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11255 (package
11256 (name "sbcl-sycamore")
11257 (version "0.0.20120604")
11258 (source
11259 (origin
11260 (method git-fetch)
11261 (uri (git-reference
11262 (url "https://github.com/ndantam/sycamore/")
11263 (commit commit)))
11264 (file-name (git-file-name name version))
11265 (sha256
11266 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11267 (build-system asdf-build-system/sbcl)
11268 (arguments
11269 `(#:asd-file "src/sycamore.asd"))
11270 (inputs
11271 `(("alexandria" ,sbcl-alexandria)
11272 ("cl-ppcre" ,sbcl-cl-ppcre)))
11273 (synopsis "Purely functional data structure library in Common Lisp")
11274 (description
11275 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11276If features:
11277
11278@itemize
11279@item Fast, purely functional weight-balanced binary trees.
11280@item Leaf nodes are simple-vectors, greatly reducing tree height.
11281@item Interfaces for tree Sets and Maps (dictionaries).
11282@item Ropes.
11283@item Purely functional pairing heaps.
11284@item Purely functional amortized queue.
11285@end itemize\n")
11286 (home-page "http://ndantam.github.io/sycamore/")
11287 (license license:bsd-3))))
11288
11289(define-public cl-sycamore
11290 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11291
11292(define-public sbcl-trivial-package-local-nicknames
11293 (package
11294 (name "sbcl-trivial-package-local-nicknames")
11295 (version "0.2")
11296 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11297 (source
11298 (origin
11299 (method git-fetch)
11300 (uri (git-reference
11301 (url home-page)
11302 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11303 (file-name (git-file-name name version))
11304 (sha256
11305 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11306 (build-system asdf-build-system/sbcl)
11307 (synopsis "Common Lisp compatibility library for package local nicknames")
11308 (description
11309 "This library is a portable compatibility layer around package local nicknames (PLN).
11310This was done so there is a portability library for the PLN API not included
11311in DEFPACKAGE.")
11312 (license license:unlicense)))
11313
11314(define-public cl-trivial-package-local-nicknames
11315 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11316
11317(define-public sbcl-enchant
11318 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11319 (package
11320 (name "sbcl-enchant")
11321 (version (git-version "0.0.0" "1" commit))
11322 (home-page "https://github.com/tlikonen/cl-enchant")
11323 (source
11324 (origin
11325 (method git-fetch)
11326 (uri (git-reference
11327 (url home-page)
11328 (commit commit)))
11329 (file-name (git-file-name name version))
11330 (sha256
11331 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11332 (build-system asdf-build-system/sbcl)
11333 (inputs
11334 `(("enchant" ,enchant)
11335 ("cffi" ,sbcl-cffi)))
11336 (arguments
11337 `(#:phases
11338 (modify-phases %standard-phases
11339 (add-after 'unpack 'fix-paths
11340 (lambda* (#:key inputs #:allow-other-keys)
11341 (substitute* "load-enchant.lisp"
11342 (("libenchant")
11343 (string-append
11344 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11345 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11346 (description
11347 "Enchant is a Common Lisp interface for the Enchant spell-checker
11348library. The Enchant library is a generic spell-checker library which uses
11349other spell-checkers transparently as back-end. The library supports the
11350multiple checkers, including Aspell and Hunspell.")
11351 (license license:public-domain))))
11352
11353(define-public cl-enchant
11354 (sbcl-package->cl-source-package sbcl-enchant))