gnu: webkitgtk: Update to 2.28.2.
[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")
acaeaa0a 1714 (version "0.49")
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
acaeaa0a 1722 (base32 "0kbzqg2aasrhjwy3nrzy2ddy809n1j045w4qkyc3r2syqd203d4q"))
88f06fd0
PN
1723 (file-name (git-file-name name version))))
1724 (build-system asdf-build-system/sbcl)
1725 (native-inputs
1726 ;; Tests only.
1727 `(("rt" ,sbcl-rt)))
1728 (inputs
1729 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
acaeaa0a
GLV
1730 ("flexi-streams" ,sbcl-flexi-streams)
1731 ("trivial-garbage" ,sbcl-trivial-garbage)))
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
7cb4c521 6318 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6319 (package
6320 (name "sbcl-cl-str")
7cb4c521 6321 (version (git-version "0.17" "1" commit))
88f06fd0
PN
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
7cb4c521 6329 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6330 (file-name (git-file-name name version))))
6331 (build-system asdf-build-system/sbcl)
6332 (inputs
6333 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6334 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6335 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6336 (native-inputs
6337 `(("prove" ,sbcl-prove)
6338 ("prove-asdf" ,sbcl-prove-asdf)))
6339 (arguments
6340 `(#:asd-file "str.asd"
6341 #:asd-system-name "str"
6342 #:test-asd-file "str.test.asd"))
6343 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6344 (description "A modern and consistent Common Lisp string manipulation
6345library that focuses on modernity, simplicity and discoverability:
6346@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6347@code{str:concat strings} instead of an unusual format construct; one
6348discoverable library instead of many; consistency and composability, where
6349@code{s} is always the last argument, which makes it easier to feed pipes and
6350arrows.")
6351 (license license:expat))))
6352
6353(define-public cl-str
6354 (sbcl-package->cl-source-package sbcl-cl-str))
6355
6356(define-public sbcl-cl-xmlspam
6357 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6358 (package
6359 (name "sbcl-cl-xmlspam")
6360 (build-system asdf-build-system/sbcl)
6361 (version (git-version "0.0.0" "1" commit))
6362 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6363 (source
6364 (origin
6365 (method git-fetch)
6366 (uri (git-reference
6367 (url home-page)
6368 (commit commit)))
6369 (file-name (string-append name "-" version))
6370 (sha256
6371 (base32
6372 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6373 (inputs
6374 `(("cxml" ,sbcl-cxml)
6375 ("cl-ppcre" ,sbcl-cl-ppcre)))
6376 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6377 (description "CXML does an excellent job at parsing XML elements, but what
6378do you do when you have a XML file that's larger than you want to fit in
6379memory, and you want to extract some information from it? Writing code to deal
6380with SAX events, or even using Klacks, quickly becomes tedious.
6381@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6382to write code that mirrors the structure of the XML that it's parsing. It
6383also makes it easy to shift paradigms when necessary - the usual Lisp control
6384constructs can be used interchangeably with pattern matching, and the full
6385power of CXML is available when necessary.")
6386 (license license:bsd-3))))
6387
6388;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6389;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6390;; asdf-build-system/sbcl.
6391(define-public cl-dbus
6392 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6393 (revision "1"))
6394 (package
6395 (name "cl-dbus")
6396 (build-system asdf-build-system/source)
6397 (version (git-version "20190408" revision commit))
6398 (home-page "https://github.com/death/dbus")
6399 (source
6400 (origin
6401 (method git-fetch)
6402 (uri (git-reference
6403 (url home-page)
6404 (commit commit)))
6405 (file-name (git-file-name name version))
6406 (sha256
6407 (base32
6408 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6409 ;; Inputs must be propagated or else packages depending on this won't
6410 ;; have the necessary packages.
88f06fd0
PN
6411 (propagated-inputs
6412 `(("alexandria" ,sbcl-alexandria)
6413 ("trivial-garbage" ,sbcl-trivial-garbage)
6414 ("babel" ,sbcl-babel)
6415 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6416 ("ieee-floats" ,sbcl-ieee-floats)
6417 ("flexi-streams" ,sbcl-flexi-streams)
6418 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6419 ("ironclad" ,sbcl-ironclad)))
6420 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6421 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6422objects as well as send and notify other objects connected to a bus.")
6423 (license license:bsd-2))))
6424
6425(define-public sbcl-cl-hooks
6426 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6427 (revision "1"))
6428 (package
6429 (name "sbcl-cl-hooks")
6430 (build-system asdf-build-system/sbcl)
6431 (version (git-version "0.2.1" revision commit))
6432 (home-page "https://github.com/scymtym/architecture.hooks")
6433 (source
6434 (origin
6435 (method git-fetch)
6436 (uri (git-reference
6437 (url home-page)
6438 (commit commit)))
6439 (file-name (git-file-name name version))
6440 (sha256
6441 (base32
6442 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6443 (inputs
6444 `(("alexandria" ,sbcl-alexandria)
6445 ("let-plus" ,sbcl-let-plus)
6446 ("trivial-garbage" ,sbcl-trivial-garbage)
6447 ("closer-mop" ,sbcl-closer-mop)))
6448 (native-inputs
6449 `(("fiveam" ,sbcl-fiveam)))
6450 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6451 (description "A hook, in the present context, is a certain kind of
6452extension point in a program that allows interleaving the execution of
6453arbitrary code with the execution of a the program without introducing any
6454coupling between the two. Hooks are used extensively in the extensible editor
6455Emacs.
6456
6457In the Common LISP Object System (CLOS), a similar kind of extensibility is
6458possible using the flexible multi-method dispatch mechanism. It may even seem
6459that the concept of hooks does not provide any benefits over the possibilities
6460of CLOS. However, there are some differences:
6461
6462@itemize
6463
6464@item There can be only one method for each combination of specializers and
6465qualifiers. As a result this kind of extension point cannot be used by
6466multiple extensions independently.
6467@item Removing code previously attached via a @code{:before}, @code{:after} or
6468@code{:around} method can be cumbersome.
6469@item There could be other or even multiple extension points besides @code{:before}
6470and @code{:after} in a single method.
6471@item Attaching codes to individual objects using eql specializers can be
6472cumbersome.
6473@item Introspection of code attached a particular extension point is
6474cumbersome since this requires enumerating and inspecting the methods of a
6475generic function.
6476@end itemize
6477
6478This library tries to complement some of these weaknesses of method-based
6479extension-points via the concept of hooks.")
6480 (license license:llgpl))))
6481
6482(define-public cl-hooks
6483 (sbcl-package->cl-source-package sbcl-cl-hooks))
6484
6485(define-public ecl-cl-hooks
6486 (sbcl-package->ecl-package sbcl-cl-hooks))
6487
6488(define-public sbcl-s-sysdeps
6489 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6490 (revision "1"))
6491 (package
6492 (name "sbcl-s-sysdeps")
6493 (build-system asdf-build-system/sbcl)
6494 (version (git-version "1" revision commit))
6495 (home-page "https://github.com/svenvc/s-sysdeps")
6496 (source
6497 (origin
6498 (method git-fetch)
6499 (uri (git-reference
6500 (url home-page)
6501 (commit commit)))
6502 (file-name (git-file-name name version))
6503 (sha256
6504 (base32
6505 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6506 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6507 (description "@code{s-sysdeps} is an abstraction layer over platform
6508dependent functionality. This simple package is used as a building block in a
6509number of other open source projects.
6510
6511@code{s-sysdeps} abstracts:
6512
6513@itemize
6514@item managing processes,
6515@item implementing a standard TCP/IP server,
6516@item opening a client TCP/IP socket stream,
6517@item working with process locks.
6518@end itemize\n")
6519 (license license:llgpl))))
6520
6521(define-public cl-s-sysdeps
6522 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6523
6524(define-public ecl-s-sysdeps
6525 (sbcl-package->ecl-package sbcl-s-sysdeps))
6526
6527(define-public sbcl-cl-prevalence
6528 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6529 (revision "1"))
6530 (package
6531 (name "sbcl-cl-prevalence")
6532 (build-system asdf-build-system/sbcl)
6533 (version (git-version "5" revision commit))
6534 (home-page "https://github.com/40ants/cl-prevalence")
6535 (source
6536 (origin
6537 (method git-fetch)
6538 (uri (git-reference
6539 (url home-page)
6540 (commit commit)))
6541 (file-name (git-file-name name version))
6542 (sha256
6543 (base32
6544 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6545 (inputs
6546 `(("s-sysdeps" ,sbcl-s-sysdeps)
6547 ("s-xml" ,sbcl-s-xml)))
6548 (synopsis "Implementation of object prevalence for Common Lisp")
6549 (description "This Common Lisp library implements object prevalence (see
6550@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6551for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6552classes and cyclic data structures are supported.")
6553 (license license:llgpl))))
6554
6555(define-public cl-prevalence
6556 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6557
6558(define-public ecl-cl-prevalence
6559 (sbcl-package->ecl-package sbcl-cl-prevalence))
6560
6561(define-public sbcl-series
6562 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6563 (revision "1"))
6564 (package
6565 (name "sbcl-series")
6566 (version (git-version "2.2.11" revision commit))
6567 (source
6568 (origin
6569 (method git-fetch)
6570 (uri (git-reference
6571 (url "git://git.code.sf.net/p/series/series")
6572 (commit commit)))
6573 (file-name (git-file-name name version))
6574 (sha256
6575 (base32
6576 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6577 (build-system asdf-build-system/sbcl)
6578 (arguments
6579 ;; Disable the tests, they are apparently buggy and I didn't find
6580 ;; a simple way to make them run and pass.
6581 '(#:tests? #f))
6582 (synopsis "Series data structure for Common Lisp")
6583 (description
6584 "This Common Lisp library provides a series data structure much like
6585a sequence, with similar kinds of operations. The difference is that in many
6586situations, operations on series may be composed functionally and yet execute
6587iteratively, without the need to construct intermediate series values
6588explicitly. In this manner, series provide both the clarity of a functional
6589programming style and the efficiency of an iterative programming style.")
6590 (home-page "http://series.sourceforge.net/")
6591 (license license:expat))))
6592
6593(define-public cl-series
6594 (sbcl-package->cl-source-package sbcl-series))
6595
6596(define-public ecl-series
6597 (sbcl-package->ecl-package sbcl-series))
6598
6599(define-public sbcl-periods
6600 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6601 (revision "1"))
6602 (package
6603 (name "sbcl-periods")
6604 (version (git-version "0.0.2" revision commit))
6605 (source
6606 (origin
6607 (method git-fetch)
6608 (uri (git-reference
6609 (url "https://github.com/jwiegley/periods.git")
6610 (commit commit)))
6611 (file-name (git-file-name name version))
6612 (sha256
6613 (base32
6614 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6615 (build-system asdf-build-system/sbcl)
6616 (inputs
6617 `(("local-time" ,sbcl-local-time)))
6618 (synopsis "Common Lisp library for manipulating date/time objects")
6619 (description
6620 "Periods is a Common Lisp library providing a set of utilities for
6621manipulating times, distances between times, and both contiguous and
6622discontiguous ranges of time.")
6623 (home-page "https://github.com/jwiegley/periods")
6624 (license license:bsd-3))))
6625
6626(define-public cl-periods
6627 (sbcl-package->cl-source-package sbcl-periods))
6628
6629(define-public ecl-periods
6630 (sbcl-package->ecl-package sbcl-periods))
6631
6632(define-public sbcl-periods-series
6633 (package
6634 (inherit sbcl-periods)
6635 (name "sbcl-periods-series")
6636 (inputs
6637 `(("periods" ,sbcl-periods)
6638 ("series" ,sbcl-series)))
6639 (arguments
6640 '(#:asd-file "periods-series.asd"
6641 #:asd-system-name "periods-series"))
6642 (description
6643 "Periods-series is an extension of the periods Common Lisp library
6644providing functions compatible with the series Common Lisp library.")))
6645
6646(define-public cl-periods-series
6647 (sbcl-package->cl-source-package sbcl-periods-series))
6648
6649(define-public ecl-periods-series
6650 (sbcl-package->ecl-package sbcl-periods-series))
6651
6652(define-public sbcl-metatilities-base
6653 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6654 (revision "1"))
6655 (package
6656 (name "sbcl-metatilities-base")
6657 (version (git-version "0.6.6" revision commit))
6658 (source
6659 (origin
6660 (method git-fetch)
6661 (uri (git-reference
6662 (url "https://github.com/gwkkwg/metatilities-base.git")
6663 (commit commit)))
6664 (file-name (git-file-name name version))
6665 (sha256
6666 (base32
6667 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6668 (build-system asdf-build-system/sbcl)
6669 (native-inputs
6670 `(("lift" ,sbcl-lift)))
6671 (synopsis "Core of the metatilities Common Lisp library")
6672 (description
6673 "Metatilities-base is the core of the metatilities Common Lisp library
6674which implements a set of utilities.")
6675 (home-page "https://common-lisp.net/project/metatilities-base/")
6676 (license license:expat))))
6677
6678(define-public cl-metatilities-base
6679 (sbcl-package->cl-source-package sbcl-metatilities-base))
6680
6681(define-public ecl-metatilities-base
6682 (sbcl-package->ecl-package sbcl-metatilities-base))
6683
6684(define-public sbcl-cl-containers
0ad6ecb8
PN
6685 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6686 (revision "3"))
88f06fd0
PN
6687 (package
6688 (name "sbcl-cl-containers")
6689 (version (git-version "0.12.1" revision commit))
6690 (source
6691 (origin
6692 (method git-fetch)
6693 (uri (git-reference
6694 (url "https://github.com/gwkkwg/cl-containers.git")
6695 (commit commit)))
6696 (file-name (git-file-name name version))
6697 (sha256
6698 (base32
0ad6ecb8 6699 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6700 (build-system asdf-build-system/sbcl)
6701 (native-inputs
6702 `(("lift" ,sbcl-lift)))
6703 (inputs
6704 `(("metatilities-base" ,sbcl-metatilities-base)))
6705 (arguments
6706 '(#:phases
6707 (modify-phases %standard-phases
6708 (add-after 'unpack 'relax-version-checks
6709 (lambda _
6710 (substitute* "cl-containers.asd"
6711 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6712 "\"metatilities-base\""))
6713 (substitute* "cl-containers-test.asd"
6714 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6715 "\"lift\""))
6716 #t)))))
6717 (synopsis "Container library for Common Lisp")
6718 (description
6719 "Common Lisp ships with a set of powerful built in data structures
6720including the venerable list, full featured arrays, and hash-tables.
6721CL-containers enhances and builds on these structures by adding containers
6722that are not available in native Lisp (for example: binary search trees,
6723red-black trees, sparse arrays and so on), and by providing a standard
6724interface so that they are simpler to use and so that changing design
6725decisions becomes significantly easier.")
6726 (home-page "https://common-lisp.net/project/cl-containers/")
6727 (license license:expat))))
6728
6729(define-public cl-containers
6730 (sbcl-package->cl-source-package sbcl-cl-containers))
6731
6732(define-public ecl-cl-containers
6733 (sbcl-package->ecl-package sbcl-cl-containers))
6734
6735(define-public sbcl-xlunit
6736 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6737 (revision "1"))
6738 (package
6739 (name "sbcl-xlunit")
6740 (version (git-version "0.6.3" revision commit))
6741 (source
6742 (origin
6743 (method git-fetch)
6744 (uri (git-reference
6745 (url "http://git.kpe.io/xlunit.git")
6746 (commit commit)))
6747 (file-name (git-file-name name version))
6748 (sha256
6749 (base32
6750 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6751 (build-system asdf-build-system/sbcl)
6752 (arguments
6753 '(#:phases
6754 (modify-phases %standard-phases
6755 (add-after 'unpack 'fix-tests
6756 (lambda _
6757 (substitute* "xlunit.asd"
6758 ((" :force t") ""))
6759 #t)))))
6760 (synopsis "Unit testing package for Common Lisp")
6761 (description
6762 "The XLUnit package is a toolkit for building test suites. It is based
6763on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6764 (home-page "http://quickdocs.org/xlunit/")
6765 (license license:bsd-3))))
6766
6767(define-public cl-xlunit
6768 (sbcl-package->cl-source-package sbcl-xlunit))
6769
6770(define-public ecl-xlunit
6771 (sbcl-package->ecl-package sbcl-xlunit))
6772
6773(define-public sbcl-fprog
6774 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6775 (revision "1"))
6776 (package
6777 (name "sbcl-fprog")
6778 (version (git-version "1.0.0" revision commit))
6779 (source
6780 (origin
6781 (method git-fetch)
6782 (uri (git-reference
6783 (url "https://github.com/jwiegley/cambl.git")
6784 (commit commit)))
6785 (file-name (git-file-name name version))
6786 (sha256
6787 (base32
6788 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6789 (build-system asdf-build-system/sbcl)
6790 (synopsis "Functional programming utilities for Common Lisp")
6791 (description
6792 "@code{fprog} is a Common Lisp library allowing iteration over
6793immutable lists sharing identical sublists.")
6794 (home-page "https://github.com/jwiegley/cambl")
6795 (license license:bsd-3))))
6796
6797(define-public cl-fprog
6798 (sbcl-package->cl-source-package sbcl-fprog))
6799
6800(define-public ecl-fprog
6801 (sbcl-package->ecl-package sbcl-fprog))
6802
6803(define-public sbcl-cambl
6804 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6805 (revision "1"))
6806 (package
6807 (inherit sbcl-fprog)
6808 (name "sbcl-cambl")
6809 (version (git-version "4.0.0" revision commit))
6810 (native-inputs
6811 `(("xlunit" ,sbcl-xlunit)))
6812 (inputs
6813 `(("alexandria" ,sbcl-alexandria)
6814 ("cl-containers" ,sbcl-cl-containers)
6815 ("local-time" ,sbcl-local-time)
6816 ("periods" ,sbcl-periods)
6817 ("fprog" ,sbcl-fprog)))
6818 (synopsis "Commoditized amounts and balances for Common Lisp")
6819 (description
6820 "CAMBL is a Common Lisp library providing a convenient facility for
6821working with commoditized values. It does not allow compound units (and so is
6822not suited for scientific operations) but does work rather nicely for the
6823purpose of financial calculations."))))
6824
6825(define-public cl-cambl
6826 (sbcl-package->cl-source-package sbcl-cambl))
6827
6828(define-public ecl-cambl
6829 (sbcl-package->ecl-package sbcl-cambl))
6830
6831(define-public sbcl-cl-ledger
6832 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6833 (revision "1"))
6834 (package
6835 (name "sbcl-cl-ledger")
6836 (version (git-version "4.0.0" revision commit))
6837 (source
6838 (origin
6839 (method git-fetch)
6840 (uri (git-reference
6841 (url "https://github.com/ledger/cl-ledger.git")
6842 (commit commit)))
6843 (file-name (git-file-name name version))
6844 (sha256
6845 (base32
6846 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6847 (build-system asdf-build-system/sbcl)
6848 (inputs
6849 `(("cambl" ,sbcl-cambl)
6850 ("cl-ppcre" ,sbcl-cl-ppcre)
6851 ("local-time" ,sbcl-local-time)
6852 ("periods-series" ,sbcl-periods-series)))
6853 (arguments
6854 '(#:phases
6855 (modify-phases %standard-phases
6856 (add-after 'unpack 'fix-system-definition
6857 (lambda _
6858 (substitute* "cl-ledger.asd"
6859 ((" :build-operation program-op") "")
6860 ((" :build-pathname \"cl-ledger\"") "")
6861 ((" :entry-point \"ledger::main\"") ""))
6862 #t)))))
6863 (synopsis "Common Lisp port of the Ledger accounting system")
6864 (description
6865 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6866system.")
6867 (home-page "https://github.com/ledger/cl-ledger")
6868 (license license:bsd-3))))
6869
6870(define-public cl-ledger
6871 (sbcl-package->cl-source-package sbcl-cl-ledger))
6872
6873(define-public ecl-cl-ledger
6874 (sbcl-package->ecl-package sbcl-cl-ledger))
6875
6876(define-public sbcl-bst
6877 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6878 (revision "1"))
6879 (package
6880 (name "sbcl-bst")
6881 (version (git-version "1.1" revision commit))
6882 (source
6883 (origin
6884 (method git-fetch)
6885 (uri (git-reference
6886 (url "https://github.com/glv2/bst.git")
6887 (commit commit)))
6888 (file-name (git-file-name name version))
6889 (sha256
6890 (base32
6891 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6892 (build-system asdf-build-system/sbcl)
6893 (native-inputs
6894 `(("alexandria" ,sbcl-alexandria)
6895 ("fiveam" ,sbcl-fiveam)))
6896 (synopsis "Binary search tree for Common Lisp")
6897 (description
6898 "BST is a Common Lisp library for working with binary search trees that
6899can contain any kind of values.")
6900 (home-page "https://github.com/glv2/bst")
6901 (license license:gpl3))))
6902
6903(define-public cl-bst
6904 (sbcl-package->cl-source-package sbcl-bst))
6905
6906(define-public ecl-bst
6907 (sbcl-package->ecl-package sbcl-bst))
6908
6909(define-public sbcl-cl-octet-streams
6910 (package
6911 (name "sbcl-cl-octet-streams")
6912 (version "1.0")
6913 (source
6914 (origin
6915 (method git-fetch)
6916 (uri (git-reference
6917 (url "https://github.com/glv2/cl-octet-streams.git")
6918 (commit (string-append "v" version))))
6919 (file-name (git-file-name name version))
6920 (sha256
6921 (base32
6922 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6923 (build-system asdf-build-system/sbcl)
6924 (native-inputs
6925 `(("fiveam" ,sbcl-fiveam)))
6926 (inputs
6927 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6928 (synopsis "In-memory octet streams for Common Lisp")
6929 (description
6930 "CL-octet-streams is a library implementing in-memory octet
6931streams for Common Lisp. It was inspired by the trivial-octet-streams and
6932cl-plumbing libraries.")
6933 (home-page "https://github.com/glv2/cl-octet-streams")
6934 (license license:gpl3+)))
6935
6936(define-public cl-octet-streams
6937 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6938
6939(define-public ecl-cl-octet-streams
6940 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6941
6942(define-public sbcl-lzlib
6943 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6944 (revision "1"))
6945 (package
6946 (name "sbcl-lzlib")
6947 (version (git-version "1.0" revision commit))
6948 (source
6949 (origin
6950 (method git-fetch)
6951 (uri (git-reference
6952 (url "https://github.com/glv2/cl-lzlib.git")
6953 (commit commit)))
6954 (file-name (git-file-name name version))
6955 (sha256
6956 (base32
6957 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6958 (build-system asdf-build-system/sbcl)
6959 (native-inputs
6960 `(("fiveam" ,sbcl-fiveam)))
6961 (inputs
6962 `(("cffi" ,sbcl-cffi)
6963 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6964 ("lzlib" ,lzlib)))
6965 (arguments
6966 '(#:phases
6967 (modify-phases %standard-phases
6968 (add-after 'unpack 'fix-paths
6969 (lambda* (#:key inputs #:allow-other-keys)
6970 (substitute* "src/lzlib.lisp"
6971 (("liblz\\.so")
6972 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6973 #t)))))
6974 (synopsis "Common Lisp library for lzip (de)compression")
6975 (description
6976 "This Common Lisp library provides functions for lzip (LZMA)
6977compression/decompression using bindings to the lzlib C library.")
6978 (home-page "https://github.com/glv2/cl-lzlib")
6979 (license license:gpl3+))))
6980
6981(define-public cl-lzlib
6982 (sbcl-package->cl-source-package sbcl-lzlib))
6983
6984(define-public ecl-lzlib
6985 (sbcl-package->ecl-package sbcl-lzlib))
6986
6987(define-public sbcl-chanl
00a9a936
GLV
6988 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6989 (revision "1"))
88f06fd0
PN
6990 (package
6991 (name "sbcl-chanl")
6992 (version (git-version "0.4.1" revision commit))
6993 (source
6994 (origin
6995 (method git-fetch)
6996 (uri (git-reference
6997 (url "https://github.com/zkat/chanl.git")
6998 (commit commit)))
6999 (file-name (git-file-name name version))
7000 (sha256
7001 (base32
00a9a936 7002 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7003 (build-system asdf-build-system/sbcl)
7004 (native-inputs
7005 `(("fiveam" ,sbcl-fiveam)))
7006 (inputs
7007 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7008 (synopsis "Portable channel-based concurrency for Common Lisp")
7009 (description "Common Lisp library for channel-based concurrency. In
7010a nutshell, you create various threads sequentially executing tasks you need
7011done, and use channel objects to communicate and synchronize the state of these
7012threads.")
7013 (home-page "https://github.com/zkat/chanl")
7014 (license (list license:expat license:bsd-3)))))
7015
7016(define-public cl-chanl
7017 (sbcl-package->cl-source-package sbcl-chanl))
7018
7019(define-public ecl-chanl
00a9a936 7020 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7021
7022(define-public sbcl-cl-store
1896256d
BG
7023 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7024 (revision "1"))
88f06fd0
PN
7025 (package
7026 (name "sbcl-cl-store")
7027 (version (git-version "0.8.11" revision commit))
7028 (source
7029 (origin
7030 (method git-fetch)
7031 (uri (git-reference
7032 (url "https://github.com/skypher/cl-store.git")
7033 (commit commit)))
7034 (file-name (git-file-name name version))
7035 (sha256
7036 (base32
1896256d 7037 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7038 (build-system asdf-build-system/sbcl)
7039 (native-inputs
7040 `(("rt" ,sbcl-rt)))
7041 (synopsis "Common Lisp library to serialize data")
7042 (description
7043 "CL-STORE is a portable serialization package which should give you the
7044ability to store all Common Lisp data types into streams.")
630a4b77 7045 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7046 (license license:expat))))
7047
7048(define-public cl-store
7049 (sbcl-package->cl-source-package sbcl-cl-store))
7050
7051(define-public ecl-cl-store
7052 (sbcl-package->ecl-package sbcl-cl-store))
7053
7054(define-public sbcl-cl-gobject-introspection
7055 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7056 (revision "0"))
7057 (package
7058 (name "sbcl-cl-gobject-introspection")
7059 (version (git-version "0.3" revision commit))
7060 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7061 (source
7062 (origin
7063 (method git-fetch)
7064 (uri (git-reference
7065 (url home-page)
7066 (commit commit)))
7067 (file-name (git-file-name name version))
7068 (sha256
7069 (base32
7070 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7071 (build-system asdf-build-system/sbcl)
7072 (inputs
7073 `(("alexandria" ,sbcl-alexandria)
7074 ("cffi" ,sbcl-cffi)
7075 ("iterate" ,sbcl-iterate)
7076 ("trivial-garbage" ,sbcl-trivial-garbage)
7077 ("glib" ,glib)
7078 ("gobject-introspection" ,gobject-introspection)))
7079 (native-inputs
7080 `(("fiveam" ,sbcl-fiveam)))
7081 (arguments
7082 ;; TODO: Tests fail, see
7083 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7084 '(#:tests? #f
7085 #:phases
7086 (modify-phases %standard-phases
7087 (add-after (quote unpack) (quote fix-paths)
7088 (lambda* (#:key inputs #:allow-other-keys)
7089 (substitute* "src/init.lisp"
7090 (("libgobject-2\\.0\\.so")
7091 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7092 (("libgirepository-1\\.0\\.so")
7093 (string-append (assoc-ref inputs "gobject-introspection")
7094 "/lib/libgirepository-1.0.so")))
7095 #t)))))
7096 (synopsis "Common Lisp bindings to GObject Introspection")
7097 (description
7098 "This library is a bridge between Common Lisp and GObject
7099Introspection, which enables Common Lisp programs to access the full interface
7100of C+GObject libraries without the need of writing dedicated bindings.")
7101 (license (list license:bsd-3
7102 ;; Tests are under a different license.
7103 license:llgpl)))))
7104
7105(define-public cl-gobject-introspection
7106 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7107
7108(define-public sbcl-string-case
7109 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7110 (revision "0"))
7111 (package
7112 (name "sbcl-string-case")
7113 (version (git-version "0.0.2" revision commit))
7114 (home-page "https://github.com/pkhuong/string-case")
7115 (source
7116 (origin
7117 (method git-fetch)
7118 (uri (git-reference
7119 (url home-page)
7120 (commit commit)))
7121 (file-name (git-file-name name version))
7122 (sha256
7123 (base32
7124 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7125 (build-system asdf-build-system/sbcl)
7126 (synopsis "Efficient string= case in Common Lisp")
7127 (description
7128 "@code{string-case} is a Common Lisp macro that generates specialised decision
7129trees to dispatch on string equality.")
7130 (license license:bsd-3))))
7131
7132(define-public cl-string-case
7133 (sbcl-package->cl-source-package sbcl-string-case))
7134
7135(define-public ecl-string-case
7136 (sbcl-package->ecl-package sbcl-string-case))
7137
7138(define-public sbcl-global-vars
7139 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7140 (revision "0"))
7141 (package
7142 (name "sbcl-global-vars")
7143 (version (git-version "1.0.0" revision commit))
7144 (home-page "https://github.com/lmj/global-vars")
7145 (source
7146 (origin
7147 (method git-fetch)
7148 (uri (git-reference
7149 (url home-page)
7150 (commit commit)))
7151 (file-name (git-file-name name version))
7152 (sha256
7153 (base32
7154 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7155 (build-system asdf-build-system/sbcl)
7156 (synopsis "Efficient global variables in Common Lisp")
7157 (description
7158 "In Common Lisp, a special variable that is never dynamically bound
7159typically serves as a stand-in for a global variable. The @code{global-vars}
7160library provides true global variables that are implemented by some compilers.
7161An attempt to rebind a global variable properly results in a compiler error.
7162That is, a global variable cannot be dynamically bound.
7163
7164Global variables therefore allow us to communicate an intended usage that
7165differs from special variables. Global variables are also more efficient than
7166special variables, especially in the presence of threads.")
7167 (license license:expat))))
7168
7169(define-public cl-global-vars
7170 (sbcl-package->cl-source-package sbcl-global-vars))
7171
7172(define-public ecl-global-vars
7173 (sbcl-package->ecl-package sbcl-global-vars))
7174
7175(define-public sbcl-trivial-file-size
7176 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7177 (revision "0"))
7178 (package
7179 (name "sbcl-trivial-file-size")
7180 (version (git-version "0.0.0" revision commit))
7181 (home-page "https://github.com/ruricolist/trivial-file-size")
7182 (source
7183 (origin
7184 (method git-fetch)
7185 (uri (git-reference
7186 (url home-page)
7187 (commit commit)))
7188 (file-name (git-file-name name version))
7189 (sha256
7190 (base32
7191 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7192 (build-system asdf-build-system/sbcl)
7193 (native-inputs
7194 `(("fiveam" ,sbcl-fiveam)))
7195 (synopsis "Size of a file in bytes in Common Lisp")
7196 (description
7197 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7198is to open the file with an element type of (unsigned-byte 8) and then
7199calculate the length of the stream. This is less than ideal. In most cases
7200it is better to get the size of the file from its metadata, using a system
7201call.
7202
7203This library exports a single function, file-size-in-octets. It returns the
7204size of a file in bytes, using system calls when possible.")
7205 (license license:expat))))
7206
7207(define-public cl-trivial-file-size
7208 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7209
7210(define-public ecl-trivial-file-size
7211 (sbcl-package->ecl-package sbcl-trivial-file-size))
7212
7213(define-public sbcl-trivial-macroexpand-all
7214 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7215 (revision "0"))
7216 (package
7217 (name "sbcl-trivial-macroexpand-all")
7218 (version (git-version "0.0.0" revision commit))
7219 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7220 (source
7221 (origin
7222 (method git-fetch)
7223 (uri (git-reference
7224 (url home-page)
7225 (commit commit)))
7226 (file-name (git-file-name name version))
7227 (sha256
7228 (base32
7229 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7230 (build-system asdf-build-system/sbcl)
7231 (native-inputs
7232 `(("fiveam" ,sbcl-fiveam)))
7233 (synopsis "Portable macroexpand-all for Common Lisp")
7234 (description
7235 "This library provides a macroexpand-all function that calls the
7236implementation specific equivalent.")
7237 (license license:unlicense))))
7238
7239(define-public cl-trivial-macroexpand-all
7240 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7241
7242(define-public ecl-trivial-macroexpand-all
7243 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7244
7245(define-public sbcl-serapeum
f96aa123
PN
7246 (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
7247 (revision "1"))
88f06fd0
PN
7248 (package
7249 (name "sbcl-serapeum")
7250 (version (git-version "0.0.0" revision commit))
7251 (home-page "https://github.com/ruricolist/serapeum")
7252 (source
7253 (origin
7254 (method git-fetch)
7255 (uri (git-reference
7256 (url home-page)
7257 (commit commit)))
7258 (file-name (git-file-name name version))
7259 (sha256
7260 (base32
f96aa123 7261 "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
88f06fd0
PN
7262 (build-system asdf-build-system/sbcl)
7263 (inputs
7264 `(("alexandria" ,sbcl-alexandria)
7265 ("trivia" ,sbcl-trivia)
7266 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7267 ("split-sequence" ,sbcl-split-sequence)
7268 ("string-case" ,sbcl-string-case)
7269 ("parse-number" ,sbcl-parse-number)
7270 ("trivial-garbage" ,sbcl-trivial-garbage)
7271 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7272 ("named-readtables" ,sbcl-named-readtables)
8137983a 7273 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7274 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7275 ("global-vars" ,sbcl-global-vars)
7276 ("trivial-file-size" ,sbcl-trivial-file-size)
7277 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7278 (native-inputs
7279 `(("fiveam" ,sbcl-fiveam)
7280 ("local-time" ,sbcl-local-time)))
7281 (arguments
7282 '(#:phases
7283 (modify-phases %standard-phases
7284 (add-after 'unpack 'disable-failing-tests
7285 (lambda* (#:key inputs #:allow-other-keys)
7286 (substitute* "serapeum.asd"
7287 ;; Guix does not have Quicklisp, and probably never will.
7288 (("\\(:file \"quicklisp\"\\)") ""))
7289 #t)))))
7290 (synopsis "Common Lisp utility library beyond Alexandria")
7291 (description
7292 "Serapeum is a conservative library of Common Lisp utilities. It is a
7293supplement, not a competitor, to Alexandria.")
7294 (license license:expat))))
7295
7296(define-public cl-serapeum
7297 (sbcl-package->cl-source-package sbcl-serapeum))
7298
7299(define-public sbcl-arrows
7300 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7301 (revision "0"))
7302 (package
7303 (name "sbcl-arrows")
7304 (version (git-version "0.2.0" revision commit))
7305 (source
7306 (origin
7307 (method git-fetch)
7308 (uri (git-reference
7309 (url "https://gitlab.com/Harleqin/arrows.git")
7310 (commit commit)))
7311 (file-name (git-file-name name version))
7312 (sha256
7313 (base32
7314 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7315 (build-system asdf-build-system/sbcl)
7316 (native-inputs
7317 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7318 (synopsis "Clojure-like arrow macros for Common Lisp")
7319 (description
7320 "This library implements the @code{->} and @code{->>} macros from
7321Clojure, as well as several expansions on the idea.")
7322 (home-page "https://gitlab.com/Harleqin/arrows")
7323 (license license:public-domain))))
7324
7325(define-public cl-arrows
7326 (sbcl-package->cl-source-package sbcl-arrows))
7327
7328(define-public ecl-arrows
7329 (sbcl-package->ecl-package sbcl-arrows))
7330
7331(define-public sbcl-simple-parallel-tasks
7332 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7333 (revision "0"))
7334 (package
7335 (name "sbcl-simple-parallel-tasks")
7336 (version (git-version "1.0" revision commit))
7337 (source
7338 (origin
7339 (method git-fetch)
7340 (uri (git-reference
7341 (url "https://github.com/glv2/simple-parallel-tasks.git")
7342 (commit commit)))
7343 (file-name (git-file-name name version))
7344 (sha256
7345 (base32
7346 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7347 (build-system asdf-build-system/sbcl)
7348 (native-inputs
7349 `(("fiveam" ,sbcl-fiveam)))
7350 (inputs
7351 `(("chanl" ,sbcl-chanl)))
7352 (synopsis "Common Lisp library to evaluate some forms in parallel")
7353 (description "This is a simple Common Lisp library to evaluate some
7354forms in parallel.")
7355 (home-page "https://github.com/glv2/simple-parallel-tasks")
7356 (license license:gpl3))))
7357
7358(define-public cl-simple-parallel-tasks
7359 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7360
7361(define-public ecl-simple-parallel-tasks
7362 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7363
7364(define-public sbcl-cl-heap
7365 (package
7366 (name "sbcl-cl-heap")
7367 (version "0.1.6")
7368 (source
7369 (origin
7370 (method url-fetch)
7371 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7372 "cl-heap_" version ".tar.gz"))
7373 (sha256
7374 (base32
7375 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7376 (build-system asdf-build-system/sbcl)
7377 (native-inputs
7378 `(("xlunit" ,sbcl-xlunit)))
7379 (arguments
7380 `(#:test-asd-file "cl-heap-tests.asd"))
7381 (synopsis "Heap and priority queue data structures for Common Lisp")
7382 (description
7383 "CL-HEAP provides various implementations of heap data structures (a
7384binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7385 (home-page "https://common-lisp.net/project/cl-heap/")
7386 (license license:gpl3+)))
7387
7388(define-public cl-heap
7389 (sbcl-package->cl-source-package sbcl-cl-heap))
7390
7391(define-public ecl-cl-heap
7392 (sbcl-package->ecl-package sbcl-cl-heap))
7393
7394(define-public sbcl-curry-compose-reader-macros
7395 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7396 (revision "0"))
7397 (package
7398 (name "sbcl-curry-compose-reader-macros")
7399 (version (git-version "1.0.0" revision commit))
7400 (source
7401 (origin
7402 (method git-fetch)
7403 (uri
7404 (git-reference
7405 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7406 (commit commit)))
7407 (file-name (git-file-name name version))
7408 (sha256
7409 (base32
7410 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7411 (build-system asdf-build-system/sbcl)
7412 (inputs
7413 `(("alexandria" ,sbcl-alexandria)
7414 ("named-readtables" ,sbcl-named-readtables)))
7415 (synopsis "Reader macros for partial application and composition")
7416 (description
7417 "This Common Lisp library provides reader macros for concise expression
7418of function partial application and composition.")
7419 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7420 (license license:public-domain))))
7421
7422(define-public cl-curry-compose-reader-macros
7423 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7424
7425(define-public ecl-curry-compose-reader-macros
7426 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7427
7428(define-public sbcl-yason
7429 (package
7430 (name "sbcl-yason")
7431 (version "0.7.7")
7432 (source
7433 (origin
7434 (method git-fetch)
7435 (uri (git-reference
7436 (url "https://github.com/phmarek/yason.git")
7437 (commit (string-append "v" version))))
7438 (file-name (git-file-name name version))
7439 (sha256
7440 (base32
7441 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7442 (build-system asdf-build-system/sbcl)
7443 (inputs
7444 `(("alexandria" ,sbcl-alexandria)
7445 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7446 (synopsis "Common Lisp JSON parser/encoder")
7447 (description
7448 "YASON is a Common Lisp library for encoding and decoding data in the
7449JSON interchange format.")
7450 (home-page "https://github.com/phmarek/yason")
7451 (license license:bsd-3)))
7452
7453(define-public cl-yason
7454 (sbcl-package->cl-source-package sbcl-yason))
7455
7456(define-public ecl-yason
7457 (sbcl-package->ecl-package sbcl-yason))
7458
7459(define-public sbcl-stefil
7460 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7461 (revision "0"))
7462 (package
7463 (name "sbcl-stefil")
7464 (version (git-version "0.1" revision commit))
7465 (source
7466 (origin
7467 (method git-fetch)
7468 (uri (git-reference
7469 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7470 (commit commit)))
7471 (file-name (git-file-name name version))
7472 (sha256
7473 (base32
7474 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7475 (build-system asdf-build-system/sbcl)
7476 (inputs
7477 `(("alexandria" ,sbcl-alexandria)
7478 ("iterate" ,sbcl-iterate)
7479 ("metabang-bind" ,sbcl-metabang-bind)))
7480 (propagated-inputs
7481 ;; Swank doesn't have a pre-compiled package, therefore we must
7482 ;; propagate its sources.
7483 `(("swank" ,cl-slime-swank)))
7484 (arguments
7485 '(#:phases
7486 (modify-phases %standard-phases
7487 (add-after 'unpack 'drop-unnecessary-dependency
7488 (lambda _
7489 (substitute* "package.lisp"
7490 ((":stefil-system") ""))
7491 #t)))))
7492 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7493 (synopsis "Simple test framework")
7494 (description
7495 "Stefil is a simple test framework for Common Lisp, with a focus on
7496interactive development.")
7497 (license license:public-domain))))
7498
7499(define-public cl-stefil
7500 (sbcl-package->cl-source-package sbcl-stefil))
7501
7502(define-public sbcl-graph
7503 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7504 (revision "0"))
7505 (package
7506 (name "sbcl-graph")
7507 (version (git-version "0.0.0" revision commit))
7508 (source
7509 (origin
7510 (method git-fetch)
7511 (uri
7512 (git-reference
7513 (url "https://github.com/eschulte/graph.git")
7514 (commit commit)))
7515 (file-name (git-file-name name version))
7516 (sha256
7517 (base32
7518 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7519 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7520 (build-system asdf-build-system/sbcl)
7521 (native-inputs
7522 `(("stefil" ,sbcl-stefil)))
7523 (inputs
7524 `(("alexandria" ,sbcl-alexandria)
7525 ("cl-heap" ,sbcl-cl-heap)
7526 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7527 ("metabang-bind" ,sbcl-metabang-bind)
7528 ("named-readtables" ,sbcl-named-readtables)))
7529 (arguments
17c015c9 7530 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7531 (synopsis "Graph data structure and algorithms for Common Lisp")
7532 (description
7533 "The GRAPH Common Lisp library provides a data structures to represent
7534graphs, as well as some graph manipulation and analysis algorithms (shortest
7535path, maximum flow, minimum spanning tree, etc.).")
7536 (home-page "https://eschulte.github.io/graph/")
7537 (license license:gpl3+))))
7538
7539(define-public cl-graph
7540 (sbcl-package->cl-source-package sbcl-graph))
7541
7542(define-public sbcl-graph-dot
7543 (package
7544 (inherit sbcl-graph)
7545 (name "sbcl-graph-dot")
7546 (inputs
7547 `(("alexandria" ,sbcl-alexandria)
7548 ("cl-ppcre" ,sbcl-cl-ppcre)
7549 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7550 ("graph" ,sbcl-graph)
7551 ("metabang-bind" ,sbcl-metabang-bind)
7552 ("named-readtables" ,sbcl-named-readtables)))
7553 (arguments
7554 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7555 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7556 ((#:asd-system-name _ #f) "graph-dot")))
7557 (synopsis "Serialize graphs to and from DOT format")))
7558
7559(define-public sbcl-graph-json
7560 (package
7561 (inherit sbcl-graph)
7562 (name "sbcl-graph-json")
7563 (inputs
7564 `(("alexandria" ,sbcl-alexandria)
7565 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7566 ("graph" ,sbcl-graph)
7567 ("metabang-bind" ,sbcl-metabang-bind)
7568 ("named-readtables" ,sbcl-named-readtables)
7569 ("yason" ,sbcl-yason)))
7570 (arguments
7571 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7572 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7573 ((#:asd-system-name _ #f) "graph-json")))
7574 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7575
7576(define-public sbcl-trivial-indent
7577 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7578 (revision "0"))
7579 (package
7580 (name "sbcl-trivial-indent")
7581 (version (git-version "1.0.0" revision commit))
7582 (source
7583 (origin
7584 (method git-fetch)
7585 (uri
7586 (git-reference
7587 (url "https://github.com/Shinmera/trivial-indent")
7588 (commit commit)))
7589 (file-name (git-file-name name version))
7590 (sha256
7591 (base32
7592 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7593 (build-system asdf-build-system/sbcl)
7594 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7595 (description
7596 "This library allows you to define custom indentation hints for your
7597macros if the one recognised by SLIME automatically produces unwanted
7598results.")
7599 (home-page "https://shinmera.github.io/trivial-indent/")
7600 (license license:zlib))))
7601
7602(define-public cl-trivial-indent
7603 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7604
7605(define-public sbcl-documentation-utils
7606 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7607 (revision "0"))
7608 (package
7609 (name "sbcl-documentation-utils")
7610 (version (git-version "1.2.0" revision commit))
7611 (source
7612 (origin
7613 (method git-fetch)
7614 (uri
7615 (git-reference
7616 (url "https://github.com/Shinmera/documentation-utils.git")
7617 (commit commit)))
7618 (file-name (git-file-name name version))
7619 (sha256
7620 (base32
7621 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7622 (build-system asdf-build-system/sbcl)
7623 (inputs
7624 `(("trivial-indent" ,sbcl-trivial-indent)))
7625 (synopsis "Few simple tools to document Common Lisp libraries")
7626 (description
7627 "This is a small library to help you with managing the Common Lisp
7628docstrings for your library.")
7629 (home-page "https://shinmera.github.io/documentation-utils/")
7630 (license license:zlib))))
7631
7632(define-public cl-documentation-utils
7633 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7634
281537f4
GLV
7635(define-public ecl-documentation-utils
7636 (sbcl-package->ecl-package sbcl-documentation-utils))
7637
aa47c9e7
PN
7638(define-public sbcl-form-fiddle
7639 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7640 (revision "0"))
7641 (package
7642 (name "sbcl-form-fiddle")
7643 (version (git-version "1.1.0" revision commit))
7644 (source
7645 (origin
7646 (method git-fetch)
7647 (uri
7648 (git-reference
7649 (url "https://github.com/Shinmera/form-fiddle")
7650 (commit commit)))
7651 (file-name (git-file-name name version))
7652 (sha256
7653 (base32
7654 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7655 (build-system asdf-build-system/sbcl)
7656 (inputs
7657 `(("documentation-utils" ,sbcl-documentation-utils)))
7658 (synopsis "Utilities to destructure Common Lisp lambda forms")
7659 (description
7660 "Often times we need to destructure a form definition in a Common Lisp
7661macro. This library provides a set of simple utilities to help with that.")
7662 (home-page "https://shinmera.github.io/form-fiddle/")
7663 (license license:zlib))))
7664
7665(define-public cl-form-fiddle
7666 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7667
7668(define-public sbcl-parachute
7669 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7670 (revision "0"))
7671 (package
7672 (name "sbcl-parachute")
7673 (version (git-version "1.1.1" revision commit))
7674 (source
7675 (origin
7676 (method git-fetch)
7677 (uri
7678 (git-reference
7679 (url "https://github.com/Shinmera/parachute")
7680 (commit commit)))
7681 (file-name (git-file-name name version))
7682 (sha256
7683 (base32
7684 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7685 (build-system asdf-build-system/sbcl)
7686 (inputs
7687 `(("documentation-utils" ,sbcl-documentation-utils)
7688 ("form-fiddle" ,sbcl-form-fiddle)))
7689 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7690 (description
7691 "Parachute is a simple-to-use and extensible testing framework.
7692In Parachute, things are organised as a bunch of named tests within a package.
7693Each test can contain a bunch of test forms that make up its body.")
7694 (home-page "https://shinmera.github.io/parachute/")
7695 (license license:zlib))))
7696
7697(define-public cl-parachute
7698 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7699
7700(define-public sbcl-array-utils
7701 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7702 (revision "0"))
7703 (package
7704 (name "sbcl-array-utils")
7705 (version (git-version "1.1.1" revision commit))
7706 (source
7707 (origin
7708 (method git-fetch)
7709 (uri
7710 (git-reference
7711 (url "https://github.com/Shinmera/array-utils")
7712 (commit commit)))
7713 (file-name (git-file-name name version))
7714 (sha256
7715 (base32
7716 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7717 (build-system asdf-build-system/sbcl)
7718 (native-inputs
7719 `(("parachute" ,sbcl-parachute)))
7720 (inputs
7721 `(("documentation-utils" ,sbcl-documentation-utils)))
7722 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7723 (description
7724 "A miniature toolkit that contains some useful shifting/popping/pushing
7725functions for arrays and vectors. Originally from Plump.")
7726 (home-page "https://shinmera.github.io/array-utils/")
7727 (license license:zlib))))
7728
7729(define-public cl-array-utils
7730 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7731
7732(define-public sbcl-plump
7733 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7734 (revision "0"))
7735 (package
7736 (name "sbcl-plump")
7737 (version (git-version "2.0.0" revision commit))
7738 (source
7739 (origin
7740 (method git-fetch)
7741 (uri
7742 (git-reference
7743 (url "https://github.com/Shinmera/plump")
7744 (commit commit)))
7745 (file-name (git-file-name name version))
7746 (sha256
7747 (base32
7748 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7749 (build-system asdf-build-system/sbcl)
7750 (inputs
7751 `(("array-utils" ,sbcl-array-utils)
7752 ("documentation-utils" ,sbcl-documentation-utils)))
7753 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7754 (description
7755 "Plump is a parser for HTML/XML-like documents, focusing on being
7756lenient towards invalid markup. It can handle things like invalid attributes,
7757bad closing tag order, unencoded entities, inexistent tag types, self-closing
7758tags and so on. It parses documents to a class representation and offers a
7759small set of DOM functions to manipulate it. It can be extended to parse to
7760your own classes.")
7761 (home-page "https://shinmera.github.io/plump/")
7762 (license license:zlib))))
7763
7764(define-public cl-plump
7765 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7766
7767(define-public sbcl-antik-base
7768 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7769 (revision "1"))
7770 (package
7771 (name "sbcl-antik-base")
7772 (version (git-version "0.0.0" revision commit))
7773 (source
7774 (origin
7775 (method git-fetch)
7776 (uri (git-reference
7777 (url "https://gitlab.common-lisp.net/antik/antik.git")
7778 (commit commit)))
7779 (file-name (git-file-name name version))
7780 (sha256
7781 (base32
7782 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7783 (build-system asdf-build-system/sbcl)
7784 (inputs
7785 `(("alexandria" ,sbcl-alexandria)
7786 ("cl-ppcre" ,sbcl-cl-ppcre)
7787 ("iterate" ,sbcl-iterate)
7788 ("metabang-bind" ,sbcl-metabang-bind)
7789 ("named-readtables" ,sbcl-named-readtables)
7790 ("split-sequence" ,sbcl-split-sequence)))
7791 (native-inputs
7792 `(("lisp-unit" ,sbcl-lisp-unit)))
7793 (synopsis "Scientific and engineering computation in Common Lisp")
7794 (description
7795 "Antik provides a foundation for scientific and engineering
7796computation in Common Lisp. It is designed not only to facilitate
7797numerical computations, but to permit the use of numerical computation
7798libraries and the interchange of data and procedures, whether
7799foreign (non-Lisp) or Lisp libraries. It is named after the
7800Antikythera mechanism, one of the oldest examples of a scientific
7801computer known.")
7802 (home-page "https://common-lisp.net/project/antik/")
7803 (license license:gpl3))))
7804
7805(define-public cl-antik-base
7806 (sbcl-package->cl-source-package sbcl-antik-base))
7807
7808(define-public ecl-antik-base
7809 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7810
7811(define-public sbcl-foreign-array
7812 (package
7813 (inherit sbcl-antik-base)
7814 (name "sbcl-foreign-array")
7815 (arguments
7816 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7817 ((#:asd-file _ "") "foreign-array.asd")
7818 ((#:asd-system-name _ #f) "foreign-array")))
7819 (inputs
7820 `(("antik-base" ,sbcl-antik-base)
7821 ("cffi" ,sbcl-cffi)
7822 ("trivial-garbage" ,sbcl-trivial-garbage)
7823 ("static-vectors" ,sbcl-static-vectors)))
7824 (synopsis "Common Lisp library providing access to foreign arrays")))
7825
7826(define-public cl-foreign-array
7827 (sbcl-package->cl-source-package sbcl-foreign-array))
7828
7829(define-public ecl-foreign-array
7830 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7831
7832(define-public sbcl-physical-dimension
7833 (package
7834 (inherit sbcl-antik-base)
7835 (name "sbcl-physical-dimension")
7836 (inputs
7837 `(("fare-utils" ,sbcl-fare-utils)
7838 ("foreign-array" ,sbcl-foreign-array)
7839 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7840 (arguments
7841 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7842 ((#:asd-file _ "") "physical-dimension.asd")
7843 ((#:asd-system-name _ #f) "physical-dimension")))
7844 (synopsis
7845 "Common Lisp library providing computations with physical units")))
7846
7847(define-public cl-physical-dimension
7848 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7849
7850(define-public sbcl-science-data
7851 (package
7852 (inherit sbcl-antik-base)
7853 (name "sbcl-science-data")
7854 (inputs
7855 `(("physical-dimension" ,sbcl-physical-dimension)
7856 ("drakma" ,sbcl-drakma)))
7857 (arguments
7858 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7859 ((#:asd-file _ "") "science-data.asd")
7860 ((#:asd-system-name _ #f) "science-data")))
7861 (synopsis
7862 "Common Lisp library for scientific and engineering numerical data")))
7863
7864(define-public cl-science-data
7865 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7866
7867(define-public sbcl-gsll
7868 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7869 (revision "1"))
7870 (package
7871 (name "sbcl-gsll")
7872 (version (git-version "0.0.0" revision commit))
7873 (source
7874 (origin
7875 (method git-fetch)
7876 (uri (git-reference
7877 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7878 (commit commit)))
7879 (file-name (git-file-name name version))
7880 (sha256
7881 (base32
7882 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7883 (build-system asdf-build-system/sbcl)
7884 (native-inputs
7885 `(("lisp-unit" ,sbcl-lisp-unit)))
7886 (inputs
7887 `(("alexandria" ,sbcl-alexandria)
7888 ("cffi-grovel" ,sbcl-cffi-grovel)
7889 ("cffi-libffi" ,sbcl-cffi-libffi)
7890 ("foreign-array" ,sbcl-foreign-array)
7891 ("gsl" ,gsl)
7892 ("metabang-bind" ,sbcl-metabang-bind)
7893 ("trivial-features" ,sbcl-trivial-features)
7894 ("trivial-garbage" ,sbcl-trivial-garbage)))
7895 (arguments
7896 `(#:tests? #f
7897 #:phases
7898 (modify-phases %standard-phases
7899 (add-after 'unpack 'fix-cffi-paths
7900 (lambda* (#:key inputs #:allow-other-keys)
7901 (substitute* "gsll.asd"
7902 ((":depends-on \\(#:foreign-array")
7903 ":depends-on (#:foreign-array #:cffi-libffi"))
7904 (substitute* "init/init.lisp"
7905 (("libgslcblas.so" all)
7906 (string-append
7907 (assoc-ref inputs "gsl") "/lib/" all)))
7908 (substitute* "init/init.lisp"
7909 (("libgsl.so" all)
7910 (string-append
7911 (assoc-ref inputs "gsl") "/lib/" all))))))))
7912 (synopsis "GNU Scientific Library for Lisp")
7913 (description
7914 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7915GNU Scientific Library (GSL) from Common Lisp. This library provides a
7916full range of common mathematical operations useful to scientific and
7917engineering applications. The design of the GSLL interface is such
7918that access to most of the GSL library is possible in a Lisp-natural
7919way; the intent is that the user not be hampered by the restrictions
7920of the C language in which GSL has been written. GSLL thus provides
7921interactive use of GSL for getting quick answers, even for someone not
7922intending to program in Lisp.")
7923 (home-page "https://common-lisp.net/project/gsll/")
7924 (license license:gpl3))))
7925
7926(define-public cl-gsll
7927 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7928
7929(define-public sbcl-antik
7930 (package
7931 (inherit sbcl-antik-base)
7932 (name "sbcl-antik")
7933 (inputs
7934 `(("gsll" ,sbcl-gsll)
7935 ("physical-dimension" ,sbcl-physical-dimension)))
7936 (arguments
7937 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7938 ((#:asd-file _ "") "antik.asd")
7939 ((#:asd-system-name _ #f) "antik")))))
7940
7941(define-public cl-antik
7942 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7943
7944(define-public sbcl-cl-interpol
7945 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7946 (revision "1"))
7947 (package
7948 (name "sbcl-cl-interpol")
7949 (version (git-version "0.2.6" revision commit))
7950 (source
7951 (origin
7952 (method git-fetch)
7953 (uri (git-reference
7954 (url "https://github.com/edicl/cl-interpol.git")
7955 (commit commit)))
7956 (file-name (git-file-name name version))
7957 (sha256
7958 (base32
7959 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7960 (build-system asdf-build-system/sbcl)
7961 (inputs
7962 `(("cl-unicode" ,sbcl-cl-unicode)
7963 ("named-readtables" ,sbcl-named-readtables)))
7964 (native-inputs
7965 `(("flexi-streams" ,sbcl-flexi-streams)))
7966 (synopsis "String interpolation for Common Lisp")
7967 (description
7968 "CL-INTERPOL is a library for Common Lisp which modifies the
7969reader so that you can have interpolation within strings similar to
7970Perl or Unix Shell scripts. It also provides various ways to insert
7971arbitrary characters into literal strings even if your editor/IDE
7972doesn't support them.")
7973 (home-page "https://edicl.github.io/cl-interpol/")
7974 (license license:bsd-3))))
7975
7976(define-public cl-interpol
7977 (sbcl-package->cl-source-package sbcl-cl-interpol))
7978
7979(define-public ecl-cl-interpol
7980 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7981
7982(define sbcl-symbol-munger-boot0
7983 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7984 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7985 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7986 (revision "1"))
7987 (package
7988 (name "sbcl-symbol-munger-boot0")
7989 (version (git-version "0.0.1" revision commit))
7990 (source
7991 (origin
7992 (method git-fetch)
7993 (uri (git-reference
7994 (url "https://github.com/AccelerationNet/symbol-munger.git")
7995 (commit commit)))
7996 (file-name (git-file-name name version))
7997 (sha256
7998 (base32
7999 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8000 (build-system asdf-build-system/sbcl)
8001 (arguments
8002 `(#:asd-file "symbol-munger.asd"
8003 #:asd-system-name "symbol-munger"))
8004 (inputs
8005 `(("iterate" ,sbcl-iterate)
8006 ("alexandria" ,sbcl-alexandria)))
8007 (native-inputs
8008 `(("lisp-unit" ,sbcl-lisp-unit)))
8009 (synopsis
8010 "Capitalization and spacing conversion functions for Common Lisp")
8011 (description
8012 "This is a Common Lisp library to change the capitalization and spacing
8013of a string or a symbol. It can convert to and from Lisp, english, underscore
8014and camel-case rules.")
8015 (home-page "https://github.com/AccelerationNet/symbol-munger")
8016 ;; The package declares a BSD license, but all of the license
8017 ;; text is MIT.
8018 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8019 (license license:expat))))
8020
8021(define sbcl-lisp-unit2-boot0
8022 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8023 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8024 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8025 (revision "1"))
8026 (package
8027 (name "sbcl-lisp-unit2-boot0")
8028 (version (git-version "0.2.0" revision commit))
8029 (source
8030 (origin
8031 (method git-fetch)
8032 (uri (git-reference
8033 (url "https://github.com/AccelerationNet/lisp-unit2.git")
8034 (commit commit)))
8035 (file-name (git-file-name name version))
8036 (sha256
8037 (base32
8038 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8039 (build-system asdf-build-system/sbcl)
8040 (arguments
8041 `(#:asd-file "lisp-unit2.asd"
8042 #:asd-system-name "lisp-unit2"))
8043 (inputs
8044 `(("alexandria" ,sbcl-alexandria)
8045 ("cl-interpol" ,sbcl-cl-interpol)
8046 ("iterate" ,sbcl-iterate)
8047 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8048 (synopsis "Test Framework for Common Lisp")
8049 (description
8050 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8051style of JUnit for Java. It is a new version of the lisp-unit library written
8052by Chris Riesbeck.")
8053 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8054 (license license:expat))))
edfa2261
KCB
8055
8056(define-public sbcl-symbol-munger
8057 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8058 (revision "1"))
8059 (package
8060 (name "sbcl-symbol-munger")
8061 (version (git-version "0.0.1" revision commit))
8062 (source
8063 (origin
8064 (method git-fetch)
8065 (uri (git-reference
8066 (url "https://github.com/AccelerationNet/symbol-munger.git")
8067 (commit commit)))
8068 (file-name (git-file-name name version))
8069 (sha256
8070 (base32
8071 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8072 (build-system asdf-build-system/sbcl)
8073 (inputs
8074 `(("alexandria" ,sbcl-alexandria)
8075 ("iterate" ,sbcl-iterate)))
8076 (native-inputs
8077 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8078 (synopsis
8079 "Capitalization and spacing conversion functions for Common Lisp")
8080 (description
8081 "This is a Common Lisp library to change the capitalization and spacing
8082of a string or a symbol. It can convert to and from Lisp, english, underscore
8083and camel-case rules.")
8084 (home-page "https://github.com/AccelerationNet/symbol-munger")
8085 ;; The package declares a BSD license, but all of the license
8086 ;; text is MIT.
8087 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8088 (license license:expat))))
8089
8090(define-public cl-symbol-munger
8091 (sbcl-package->cl-source-package sbcl-symbol-munger))
8092
8093(define-public ecl-symbol-munger
8094 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8095
8096(define-public sbcl-lisp-unit2
8097 (package
8098 (inherit sbcl-lisp-unit2-boot0)
8099 (name "sbcl-lisp-unit2")
8100 (inputs
8101 `(("alexandria" ,sbcl-alexandria)
8102 ("cl-interpol" ,sbcl-cl-interpol)
8103 ("iterate" ,sbcl-iterate)
8104 ("symbol-munger" ,sbcl-symbol-munger)))))
8105
8106(define-public cl-lisp-unit2
8107 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8108
8109(define-public ecl-lisp-unit2
8110 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8111
8112(define-public sbcl-cl-csv
8113 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8114 (revision "1"))
8115 (package
8116 (name "sbcl-cl-csv")
8117 (version (git-version "1.0.6" revision commit))
8118 (source
8119 (origin
8120 (method git-fetch)
8121 (uri (git-reference
8122 (url "https://github.com/AccelerationNet/cl-csv.git")
8123 (commit commit)))
8124 (file-name (git-file-name name version))
8125 (sha256
8126 (base32
8127 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8128 (build-system asdf-build-system/sbcl)
8129 (arguments
8130 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8131 `(#:tests? #f))
8132 (inputs
8133 `(("alexandria" ,sbcl-alexandria)
8134 ("cl-interpol" ,sbcl-cl-interpol)
8135 ("iterate" ,sbcl-iterate)))
8136 (native-inputs
8137 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8138 (synopsis "Common lisp library for comma-separated values")
8139 (description
8140 "This is a Common Lisp library providing functions to read/write CSV
8141from/to strings, streams and files.")
8142 (home-page "https://github.com/AccelerationNet/cl-csv")
8143 (license license:bsd-3))))
8144
8145(define-public cl-csv
8146 (sbcl-package->cl-source-package sbcl-cl-csv))
8147
8148(define-public ecl-cl-csv
8149 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8150
8151(define-public sbcl-external-program
8152 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8153 (revision "1"))
8154 (package
8155 (name "sbcl-external-program")
8156 (version (git-version "0.0.6" revision commit))
8157 (source
8158 (origin
8159 (method git-fetch)
8160 (uri (git-reference
8161 (url "https://github.com/sellout/external-program.git")
8162 (commit commit)))
8163 (file-name (git-file-name name version))
8164 (sha256
8165 (base32
8166 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8167 (build-system asdf-build-system/sbcl)
8168 (inputs
8169 `(("trivial-features" ,sbcl-trivial-features)))
8170 (native-inputs
8171 `(("fiveam" ,sbcl-fiveam)))
8172 (synopsis "Common Lisp library for running external programs")
8173 (description
8174 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8175process. It is an attempt to make the RUN-PROGRAM functionality in
8176implementations like SBCL and CCL as portable as possible without
8177sacrificing much in the way of power.")
8178 (home-page "https://github.com/sellout/external-program")
8179 (license license:llgpl))))
8180
8181(define-public cl-external-program
8182 (sbcl-package->cl-source-package sbcl-external-program))
8183
8184(define-public ecl-external-program
8185 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8186
8187(define sbcl-cl-ana-boot0
8188 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8189 (revision "1"))
8190 (package
8191 (name "sbcl-cl-ana-boot0")
8192 (version (git-version "0.0.0" revision commit))
8193 (source
8194 (origin
8195 (method git-fetch)
8196 (uri (git-reference
8197 (url "https://github.com/ghollisjr/cl-ana.git")
8198 (commit commit)))
8199 (file-name (git-file-name name version))
8200 (sha256
8201 (base32
8202 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8203 (build-system asdf-build-system/sbcl)
8204 (synopsis "Common Lisp data analysis library")
8205 (description
8206 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8207binned data analysis along with nonlinear least squares fitting and
8208visualization.")
8209 (home-page "https://github.com/ghollisjr/cl-ana")
8210 (license license:gpl3))))
8211
8212(define-public sbcl-cl-ana.pathname-utils
8213 (package
8214 (inherit sbcl-cl-ana-boot0)
8215 (name "sbcl-cl-ana.pathname-utils")
8216 (arguments
8217 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8218 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8219 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8220
8221(define-public cl-ana.pathname-utils
8222 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8223
8224(define-public ecl-cl-ana.pathname-utils
8225 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8226
8227(define-public sbcl-cl-ana.package-utils
8228 (package
8229 (inherit sbcl-cl-ana-boot0)
8230 (name "sbcl-cl-ana.package-utils")
8231 (inputs
8232 `(("alexandria" ,sbcl-alexandria)))
8233 (arguments
8234 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8235 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8236 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8237
8238(define-public cl-ana.package-utils
8239 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8240
8241(define-public ecl-cl-ana.package-utils
8242 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8243
8244(define-public sbcl-cl-ana.string-utils
8245 (package
8246 (inherit sbcl-cl-ana-boot0)
8247 (name "sbcl-cl-ana.string-utils")
8248 (inputs
8249 `(("split-sequence" ,sbcl-split-sequence)))
8250 (arguments
8251 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8252 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8253 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8254
8255(define-public cl-ana.string-utils
8256 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8257
8258(define-public ecl-cl-ana.string-utils
8259 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8260
8261(define-public sbcl-cl-ana.functional-utils
8262 (package
8263 (inherit sbcl-cl-ana-boot0)
8264 (name "sbcl-cl-ana.functional-utils")
8265 (arguments
8266 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8267 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8268 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8269
8270(define-public cl-ana.functional-utils
8271 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8272
8273(define-public ecl-cl-ana.functional-utils
8274 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8275
8276(define-public sbcl-cl-ana.list-utils
8277 (package
8278 (inherit sbcl-cl-ana-boot0)
8279 (name "sbcl-cl-ana.list-utils")
8280 (inputs
8281 `(("alexandria" ,sbcl-alexandria)
8282 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8283 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8284 (arguments
8285 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8286 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8287 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8288
8289(define-public cl-ana.list-utils
8290 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8291
8292(define-public ecl-cl-ana.list-utils
8293 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8294
8295(define-public sbcl-cl-ana.generic-math
8296 (package
8297 (inherit sbcl-cl-ana-boot0)
8298 (name "sbcl-cl-ana.generic-math")
8299 (inputs
8300 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8301 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8302 (arguments
8303 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8304 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8305 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8306
8307(define-public cl-ana.generic-math
8308 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8309
8310(define-public ecl-cl-ana.generic-math
8311 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8312
8313(define-public sbcl-cl-ana.math-functions
8314 (package
8315 (inherit sbcl-cl-ana-boot0)
8316 (name "sbcl-cl-ana.math-functions")
8317 (inputs
8318 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8319 ("gsll" ,sbcl-gsll)))
8320 (arguments
8321 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8322 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8323 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8324
8325(define-public cl-ana.math-functions
8326 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8327
8328(define-public sbcl-cl-ana.calculus
8329 (package
8330 (inherit sbcl-cl-ana-boot0)
8331 (name "sbcl-cl-ana.calculus")
8332 (inputs
8333 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8334 (arguments
8335 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8336 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8337 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8338
8339(define-public cl-ana.calculus
8340 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8341
8342(define-public ecl-cl-ana.calculus
8343 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8344
8345(define-public sbcl-cl-ana.symbol-utils
8346 (package
8347 (inherit sbcl-cl-ana-boot0)
8348 (name "sbcl-cl-ana.symbol-utils")
8349 (inputs
8350 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8351 (arguments
8352 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8353 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8354 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8355
8356(define-public cl-ana.symbol-utils
8357 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8358
8359(define-public ecl-cl-ana.symbol-utils
8360 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8361
8362(define-public sbcl-cl-ana.macro-utils
8363 (package
8364 (inherit sbcl-cl-ana-boot0)
8365 (name "sbcl-cl-ana.macro-utils")
8366 (inputs
8367 `(("alexandria" ,sbcl-alexandria)
8368 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8369 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8370 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8371 ("split-sequence" ,sbcl-split-sequence)))
8372 (arguments
8373 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8374 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8375 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8376
8377(define-public cl-ana.macro-utils
8378 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8379
8380(define-public ecl-cl-ana.macro-utils
8381 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8382
8383(define-public sbcl-cl-ana.binary-tree
8384 (package
8385 (inherit sbcl-cl-ana-boot0)
8386 (name "sbcl-cl-ana.binary-tree")
8387 (inputs
8388 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8389 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8390 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8391 (arguments
8392 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8393 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8394 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8395
8396(define-public cl-ana.binary-tree
8397 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8398
8399(define-public ecl-cl-ana.binary-tree
8400 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8401
8402(define-public sbcl-cl-ana.tensor
8403 (package
8404 (inherit sbcl-cl-ana-boot0)
8405 (name "sbcl-cl-ana.tensor")
8406 (inputs
8407 `(("alexandria" ,sbcl-alexandria)
8408 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8409 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8410 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8411 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8412 (arguments
8413 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8414 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8415 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8416
8417(define-public cl-ana.tensor
8418 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8419
8420(define-public ecl-cl-ana.tensor
8421 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8422
8423(define-public sbcl-cl-ana.error-propogation
8424 (package
8425 (inherit sbcl-cl-ana-boot0)
8426 (name "sbcl-cl-ana.error-propogation")
8427 (inputs
8428 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8429 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8430 (arguments
8431 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8432 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8433 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8434
8435(define-public cl-ana.error-propogation
8436 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8437
8438(define-public sbcl-cl-ana.quantity
8439 (package
8440 (inherit sbcl-cl-ana-boot0)
8441 (name "sbcl-cl-ana.quantity")
8442 (inputs
8443 `(("alexandria" ,sbcl-alexandria)
8444 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8445 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8446 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8447 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8448 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8449 (arguments
8450 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8451 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8452 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8453
8454(define-public cl-ana.quantity
8455 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8456
8457(define-public sbcl-cl-ana.table
8458 (package
8459 (inherit sbcl-cl-ana-boot0)
8460 (name "sbcl-cl-ana.table")
8461 (inputs
8462 `(("alexandria" ,sbcl-alexandria)
8463 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8464 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8465 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8466 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8467 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8468 (arguments
8469 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8470 ((#:asd-file _ "") "table/cl-ana.table.asd")
8471 ((#:asd-system-name _ #f) "cl-ana.table")))))
8472
8473(define-public cl-ana.table
8474 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8475
8476(define-public ecl-cl-ana.table
8477 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8478
8479(define-public sbcl-cl-ana.table-utils
8480 (package
8481 (inherit sbcl-cl-ana-boot0)
8482 (name "sbcl-cl-ana.table-utils")
8483 (inputs
8484 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8485 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8486 ("cl-ana.table" ,sbcl-cl-ana.table)))
8487 (arguments
8488 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8489 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8490 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8491
8492(define-public cl-ana.table-utils
8493 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8494
8495(define-public ecl-cl-ana.table-utils
8496 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8497
8498(define-public sbcl-cl-ana.hdf-cffi
8499 (package
8500 (inherit sbcl-cl-ana-boot0)
8501 (name "sbcl-cl-ana.hdf-cffi")
8502 (inputs
8503 `(("cffi" ,sbcl-cffi)
8504 ("hdf5" ,hdf5-parallel-openmpi)))
8505 (arguments
8506 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8507 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8508 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8509 ((#:phases phases '%standard-phases)
8510 `(modify-phases ,phases
8511 (add-after 'unpack 'fix-paths
8512 (lambda* (#:key inputs #:allow-other-keys)
8513 (substitute* "hdf-cffi/hdf-cffi.lisp"
8514 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8515 (string-append
8516 (assoc-ref inputs "hdf5")
8517 "/lib/libhdf5.so")))))))))))
8518
8519(define-public cl-ana.hdf-cffi
8520 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8521
8522(define-public ecl-cl-ana.hdf-cffi
8523 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8524
8525(define-public sbcl-cl-ana.int-char
8526 (package
8527 (inherit sbcl-cl-ana-boot0)
8528 (name "sbcl-cl-ana.int-char")
8529 (arguments
8530 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8531 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8532 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8533
8534(define-public cl-ana.int-char
8535 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8536
8537(define-public ecl-cl-ana.int-char
8538 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8539
8540(define-public sbcl-cl-ana.memoization
8541 (package
8542 (inherit sbcl-cl-ana-boot0)
8543 (name "sbcl-cl-ana.memoization")
8544 (inputs
8545 `(("alexandria" ,sbcl-alexandria)))
8546 (arguments
8547 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8548 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8549 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8550
8551(define-public cl-ana.memoization
8552 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8553
8554(define-public ecl-cl-ana.memoization
8555 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8556
8557(define-public sbcl-cl-ana.typespec
8558 (package
8559 (inherit sbcl-cl-ana-boot0)
8560 (name "sbcl-cl-ana.typespec")
8561 (inputs
8562 `(("alexandria" ,sbcl-alexandria)
8563 ("cffi" ,sbcl-cffi)
8564 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8565 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8566 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8567 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8568 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8569 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8570 (arguments
8571 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8572 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8573 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8574
8575(define-public cl-ana.typespec
8576 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8577
8578(define-public ecl-cl-ana.typespec
8579 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8580
8581(define-public sbcl-cl-ana.hdf-typespec
8582 (package
8583 (inherit sbcl-cl-ana-boot0)
8584 (name "sbcl-cl-ana.hdf-typespec")
8585 (inputs
8586 `(("alexandria" ,sbcl-alexandria)
8587 ("cffi" ,sbcl-cffi)
8588 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8589 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8590 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8591 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8592 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8593 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8594 (arguments
8595 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8596 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8597 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8598
8599(define-public cl-ana.hdf-typespec
8600 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8601
8602(define-public ecl-cl-ana.hdf-typespec
8603 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8604
8605(define-public sbcl-cl-ana.hdf-utils
8606 (package
8607 (inherit sbcl-cl-ana-boot0)
8608 (name "sbcl-cl-ana.hdf-utils")
8609 (inputs
8610 `(("alexandria" ,sbcl-alexandria)
8611 ("cffi" ,sbcl-cffi)
8612 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8613 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8614 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8615 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8616 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8617 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8618 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8619 (arguments
8620 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8621 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8622 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8623
8624(define-public cl-ana.hdf-utils
8625 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8626
8627(define-public ecl-cl-ana.hdf-utils
8628 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8629
8630(define-public sbcl-cl-ana.typed-table
8631 (package
8632 (inherit sbcl-cl-ana-boot0)
8633 (name "sbcl-cl-ana.typed-table")
8634 (inputs
8635 `(("alexandria" ,sbcl-alexandria)
8636 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8637 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8638 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8639 ("cl-ana.table" ,sbcl-cl-ana.table)
8640 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8641 (arguments
8642 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8643 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8644 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8645
8646(define-public cl-ana.typed-table
8647 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8648
8649(define-public ecl-cl-ana.typed-table
8650 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8651
8652(define-public sbcl-cl-ana.hdf-table
8653 (package
8654 (inherit sbcl-cl-ana-boot0)
8655 (name "sbcl-cl-ana.hdf-table")
8656 (inputs
8657 `(("alexandria" ,sbcl-alexandria)
8658 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8659 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8660 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8661 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8662 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8663 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8664 ("cl-ana.table" ,sbcl-cl-ana.table)
8665 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8666 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8667 (arguments
8668 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8669 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8670 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8671
8672(define-public cl-ana.hdf-table
8673 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8674
8675(define-public ecl-cl-ana.hdf-table
8676 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8677
8678(define-public sbcl-cl-ana.gsl-cffi
8679 (package
8680 (inherit sbcl-cl-ana-boot0)
8681 (name "sbcl-cl-ana.gsl-cffi")
8682 (inputs
8683 `(("cffi" ,sbcl-cffi)
8684 ("gsl" ,gsl)))
8685 (arguments
8686 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8687 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8688 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8689 ((#:phases phases '%standard-phases)
8690 `(modify-phases ,phases
8691 (add-after 'unpack 'fix-paths
8692 (lambda* (#:key inputs #:allow-other-keys)
8693 (substitute* "gsl-cffi/gsl-cffi.lisp"
8694 (("define-foreign-library gsl-cffi" all)
8695 (string-append all " (:unix "
8696 (assoc-ref inputs "gsl")
8697 "/lib/libgsl.so)")))))))))))
8698
8699(define-public cl-ana.gsl-cffi
8700 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8701
8702(define-public ecl-cl-ana.gsl-cffi
8703 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8704
8705(define-public sbcl-cl-ana.ntuple-table
8706 (package
8707 (inherit sbcl-cl-ana-boot0)
8708 (name "sbcl-cl-ana.ntuple-table")
8709 (inputs
8710 `(("alexandria" ,sbcl-alexandria)
8711 ("cffi" ,sbcl-cffi)
8712 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8713 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8714 ("cl-ana.table" ,sbcl-cl-ana.table)
8715 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8716 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8717 ("gsll" ,sbcl-gsll)))
8718 (arguments
8719 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8720 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8721 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8722
8723(define-public cl-ana.ntuple-table
8724 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8725
8726(define-public sbcl-cl-ana.csv-table
8727 (package
8728 (inherit sbcl-cl-ana-boot0)
8729 (name "sbcl-cl-ana.csv-table")
8730 (inputs
8731 `(("alexandria" ,sbcl-alexandria)
8732 ("antik" ,sbcl-antik)
8733 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8734 ("cl-ana.table" ,sbcl-cl-ana.table)
8735 ("cl-csv" ,sbcl-cl-csv)
8736 ("iterate" ,sbcl-iterate)))
8737 (arguments
8738 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8739 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8740 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8741
8742(define-public cl-ana.csv-table
8743 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8744
8745(define-public sbcl-cl-ana.reusable-table
8746 (package
8747 (inherit sbcl-cl-ana-boot0)
8748 (name "sbcl-cl-ana.reusable-table")
8749 (inputs
8750 `(("alexandria" ,sbcl-alexandria)
8751 ("cl-ana.table" ,sbcl-cl-ana.table)))
8752 (arguments
8753 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8754 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8755 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8756
8757(define-public cl-ana.reusable-table
8758 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8759
8760(define-public ecl-cl-ana.reusable-table
8761 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8762
8763(define-public sbcl-cl-ana.linear-algebra
8764 (package
8765 (inherit sbcl-cl-ana-boot0)
8766 (name "sbcl-cl-ana.linear-algebra")
8767 (inputs
8768 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8769 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8770 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8771 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8772 ("gsll" ,sbcl-gsll)))
8773 (arguments
8774 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8775 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8776 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8777
8778(define-public cl-ana.linear-algebra
8779 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8780
8781(define-public sbcl-cl-ana.lorentz
8782 (package
8783 (inherit sbcl-cl-ana-boot0)
8784 (name "sbcl-cl-ana.lorentz")
8785 (inputs
8786 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8787 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8788 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8789 ("iterate" ,sbcl-iterate)))
8790 (arguments
8791 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8792 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8793 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8794
8795(define-public cl-ana.lorentz
8796 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8797
8798(define-public sbcl-cl-ana.clos-utils
8799 (package
8800 (inherit sbcl-cl-ana-boot0)
8801 (name "sbcl-cl-ana.clos-utils")
8802 (inputs
8803 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8804 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8805 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8806 ("closer-mop" ,sbcl-closer-mop)))
8807 (arguments
8808 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8809 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8810 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8811
8812(define-public cl-ana.clos-utils
8813 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8814
8815(define-public ecl-cl-ana.clos-utils
8816 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8817
8818(define-public sbcl-cl-ana.hash-table-utils
8819 (package
8820 (inherit sbcl-cl-ana-boot0)
8821 (name "sbcl-cl-ana.hash-table-utils")
8822 (arguments
8823 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8824 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8825 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8826
8827(define-public cl-ana.hash-table-utils
8828 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8829
8830(define-public ecl-cl-ana.hash-table-utils
8831 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8832
8833(define-public sbcl-cl-ana.map
8834 (package
8835 (inherit sbcl-cl-ana-boot0)
8836 (name "sbcl-cl-ana.map")
8837 (inputs
8838 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8839 (arguments
8840 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8841 ((#:asd-file _ "") "map/cl-ana.map.asd")
8842 ((#:asd-system-name _ #f) "cl-ana.map")))))
8843
8844(define-public cl-ana.map
8845 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8846
8847(define-public ecl-cl-ana.map
8848 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8849
8850(define-public sbcl-cl-ana.fitting
8851 (package
8852 (inherit sbcl-cl-ana-boot0)
8853 (name "sbcl-cl-ana.fitting")
8854 (inputs
8855 `(("alexandria" ,sbcl-alexandria)
8856 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8857 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8858 ("cl-ana.map" ,sbcl-cl-ana.map)
8859 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8860 ("gsll" ,sbcl-gsll)))
8861 (arguments
8862 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8863 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8864 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8865
8866(define-public cl-ana.fitting
8867 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8868
8869(define-public sbcl-cl-ana.histogram
8870 (package
8871 (inherit sbcl-cl-ana-boot0)
8872 (name "sbcl-cl-ana.histogram")
8873 (inputs
8874 `(("alexandria" ,sbcl-alexandria)
8875 ("iterate" ,sbcl-iterate)
8876 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8877 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8878 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8879 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8880 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8881 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8882 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8883 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8884 ("cl-ana.map" ,sbcl-cl-ana.map)
8885 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8886 (arguments
8887 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8888 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8889 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8890
8891(define-public cl-ana.histogram
8892 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8893
8894(define-public sbcl-cl-ana.file-utils
8895 (package
8896 (inherit sbcl-cl-ana-boot0)
8897 (name "sbcl-cl-ana.file-utils")
8898 (inputs
8899 `(("external-program" ,sbcl-external-program)
8900 ("split-sequence" ,sbcl-split-sequence)))
8901 (arguments
8902 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8903 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8904 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8905
8906(define-public cl-ana.file-utils
8907 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8908
8909(define-public ecl-cl-ana.file-utils
8910 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8911
8912(define-public sbcl-cl-ana.statistics
8913 (package
8914 (inherit sbcl-cl-ana-boot0)
8915 (name "sbcl-cl-ana.statistics")
8916 (inputs
8917 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8918 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8919 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8920 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8921 ("cl-ana.map" ,sbcl-cl-ana.map)))
8922 (arguments
8923 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8924 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8925 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8926
8927(define-public cl-ana.statistics
8928 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8929
8930(define-public sbcl-cl-ana.gnuplot-interface
8931 (package
8932 (inherit sbcl-cl-ana-boot0)
8933 (name "sbcl-cl-ana.gnuplot-interface")
8934 (inputs
8935 `(("external-program" ,sbcl-external-program)))
8936 (arguments
8937 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8938 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8939 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8940
8941(define-public cl-ana.gnuplot-interface
8942 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8943
8944(define-public ecl-cl-ana.gnuplot-interface
8945 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8946
8947(define-public sbcl-cl-ana.plotting
8948 (package
8949 (inherit sbcl-cl-ana-boot0)
8950 (name "sbcl-cl-ana.plotting")
8951 (inputs
8952 `(("alexandria" ,sbcl-alexandria)
8953 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8954 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8955 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8956 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8957 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8958 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8959 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8960 ("cl-ana.map" ,sbcl-cl-ana.map)
8961 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8962 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8963 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8964 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8965 ("external-program" ,sbcl-external-program)
8966 ("split-sequence" ,sbcl-split-sequence)))
8967 (arguments
8968 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8969 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8970 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8971
8972(define-public cl-ana.plotting
8973 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8974
8975(define-public sbcl-cl-ana.table-viewing
8976 (package
8977 (inherit sbcl-cl-ana-boot0)
8978 (name "sbcl-cl-ana.table-viewing")
8979 (inputs
8980 `(("alexandria" ,sbcl-alexandria)
8981 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8982 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8983 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8984 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8985 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8986 ("cl-ana.table" ,sbcl-cl-ana.table)))
8987 (arguments
8988 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8989 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8990 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8991
8992(define-public cl-ana.table-viewing
8993 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8994
8995(define-public sbcl-cl-ana.serialization
8996 (package
8997 (inherit sbcl-cl-ana-boot0)
8998 (name "sbcl-cl-ana.serialization")
8999 (inputs
9000 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9001 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9002 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9003 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9004 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9005 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9006 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9007 (arguments
9008 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9009 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9010 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9011
9012(define-public cl-ana.serialization
9013 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9014
9015(define-public sbcl-cl-ana.makeres
9016 (package
9017 (inherit sbcl-cl-ana-boot0)
9018 (name "sbcl-cl-ana.makeres")
9019 (inputs
9020 `(("alexandria" ,sbcl-alexandria)
9021 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9022 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9023 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9024 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9025 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9026 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9027 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9028 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9029 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9030 ("cl-ana.map" ,sbcl-cl-ana.map)
9031 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9032 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9033 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9034 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9035 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9036 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9037 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9038 ("cl-ana.table" ,sbcl-cl-ana.table)
9039 ("external-program" ,sbcl-external-program)))
9040 (native-inputs
9041 `(("cl-fad" ,sbcl-cl-fad)))
9042 (arguments
9043 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9044 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9045 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9046
9047(define-public cl-ana.makeres
9048 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9049
9050(define-public sbcl-cl-ana.makeres-macro
9051 (package
9052 (inherit sbcl-cl-ana-boot0)
9053 (name "sbcl-cl-ana.makeres-macro")
9054 (inputs
9055 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9056 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9057 (arguments
9058 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9059 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9060 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9061
9062(define-public cl-ana.makeres-macro
9063 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9064
9065(define-public sbcl-cl-ana.makeres-block
9066 (package
9067 (inherit sbcl-cl-ana-boot0)
9068 (name "sbcl-cl-ana.makeres-block")
9069 (inputs
9070 `(("alexandria" ,sbcl-alexandria)
9071 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9072 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9073 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9074 (arguments
9075 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9076 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9077 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9078
9079(define-public cl-ana.makeres-block
9080 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9081
9082(define-public sbcl-cl-ana.makeres-progress
9083 (package
9084 (inherit sbcl-cl-ana-boot0)
9085 (name "sbcl-cl-ana.makeres-progress")
9086 (inputs
9087 `(("alexandria" ,sbcl-alexandria)
9088 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9089 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9090 (arguments
9091 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9092 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9093 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9094
9095(define-public cl-ana.makeres-progress
9096 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9097
9098(define-public sbcl-cl-ana.makeres-table
9099 (package
9100 (inherit sbcl-cl-ana-boot0)
9101 (name "sbcl-cl-ana.makeres-table")
9102 (inputs
9103 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9104 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9105 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9106 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9107 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9108 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9109 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9110 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9111 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9112 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9113 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9114 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9115 ("cl-ana.table" ,sbcl-cl-ana.table)))
9116 (native-inputs
9117 `(("cl-fad" ,sbcl-cl-fad)))
9118 (arguments
9119 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9120 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9121 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9122
9123(define-public cl-ana.makeres-table
9124 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9125
9126(define-public sbcl-cl-ana.makeres-graphviz
9127 (package
9128 (inherit sbcl-cl-ana-boot0)
9129 (name "sbcl-cl-ana.makeres-graphviz")
9130 (inputs
9131 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9132 ("external-program" ,sbcl-external-program)))
9133 (arguments
9134 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9135 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9136 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9137
9138(define-public cl-ana.makeres-graphviz
9139 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9140
9141(define-public sbcl-cl-ana.makeres-branch
9142 (package
9143 (inherit sbcl-cl-ana-boot0)
9144 (name "sbcl-cl-ana.makeres-branch")
9145 (inputs
9146 `(("alexandria" ,sbcl-alexandria)
9147 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9148 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9149 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9150 ("cl-ana.map" ,sbcl-cl-ana.map)
9151 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9152 (arguments
9153 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9154 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9155 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9156
9157(define-public cl-ana.makeres-branch
9158 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9159
9160(define-public sbcl-cl-ana.makeres-utils
9161 (package
9162 (inherit sbcl-cl-ana-boot0)
9163 (name "sbcl-cl-ana.makeres-utils")
9164 (inputs
9165 `(("alexandria" ,sbcl-alexandria)
9166 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9167 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9168 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9169 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9170 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9171 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9172 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9173 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9174 ("cl-ana.map" ,sbcl-cl-ana.map)
9175 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9176 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9177 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9178 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9179 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9180 ("cl-ana.table" ,sbcl-cl-ana.table)))
9181 (native-inputs
9182 `(("cl-fad" ,sbcl-cl-fad)))
9183 (arguments
9184 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9185 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9186 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9187
9188(define-public cl-ana.makeres-utils
9189 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9190
9191(define-public sbcl-cl-ana.statistical-learning
9192 (package
9193 (inherit sbcl-cl-ana-boot0)
9194 (name "sbcl-cl-ana.statistical-learning")
9195 (inputs
9196 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9197 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9198 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9199 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9200 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9201 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9202 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9203 ("cl-ana.map" ,sbcl-cl-ana.map)
9204 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9205 (native-inputs
9206 `(("cl-fad" ,sbcl-cl-fad)))
9207 (arguments
9208 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9209 ((#:asd-file _ "")
9210 "statistical-learning/cl-ana.statistical-learning.asd")
9211 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9212
9213(define-public cl-ana.statistical-learning
9214 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9215
9216(define-public sbcl-cl-ana
9217 (package
9218 (inherit sbcl-cl-ana-boot0)
9219 (name "sbcl-cl-ana")
9220 (inputs
9221 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9222 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9223 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9224 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9225 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9226 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9227 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9228 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9229 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9230 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9231 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9232 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9233 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9234 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9235 ("cl-ana.map" ,sbcl-cl-ana.map)
9236 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9237 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9238 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9239 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9240 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9241 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9242 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9243 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9244 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9245 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9246 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9247 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9248 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9249 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9250 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9251 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9252 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9253 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9254 ("cl-ana.table" ,sbcl-cl-ana.table)
9255 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9256 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9257 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9258 ("libffi" ,libffi)))
9259 (native-inputs
9260 `(("cl-fad" ,sbcl-cl-fad)))
9261 (arguments
9262 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9263 ((#:asd-file _ "") "cl-ana.asd")
9264 ((#:asd-system-name _ #f) "cl-ana")))))
9265
9266(define-public cl-ana
9267 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9268
9269(define-public sbcl-archive
9270 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9271 (revision "1"))
9272 (package
9273 (name "sbcl-archive")
9274 (version (git-version "0.9" revision commit))
9275 (source (origin
9276 (method git-fetch)
9277 (uri (git-reference
9278 (url "https://github.com/sharplispers/archive.git")
9279 (commit commit)))
9280 (file-name (git-file-name name version))
9281 (sha256
9282 (base32
9283 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9284 (build-system asdf-build-system/sbcl)
9285 (inputs
9286 `(("cl-fad" ,sbcl-cl-fad)
9287 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9288 (synopsis "Common Lisp library for tar and cpio archives")
9289 (description
9290 "This is a Common Lisp library to read and write disk-based file
9291archives such as those generated by the tar and cpio programs on Unix.")
9292 (home-page "https://github.com/sharplispers/archive")
9293 (license license:bsd-3))))
9294
9295(define-public cl-archive
9296 (sbcl-package->cl-source-package sbcl-archive))
9297
9298(define-public ecl-archive
9299 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9300
9301(define-public sbcl-misc-extensions
9302 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9303 (revision "1"))
9304 (package
9305 (name "sbcl-misc-extensions")
9306 (version (git-version "3.3" revision commit))
9307 (source
9308 (origin
9309 (method git-fetch)
9310 (uri (git-reference
9311 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9312 (commit commit)))
9313 (file-name (git-file-name name version))
9314 (sha256
9315 (base32
9316 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9317 (build-system asdf-build-system/sbcl)
9318 (synopsis "Collection of small macros and extensions for Common Lisp")
9319 (description
9320 "This project is intended as a catchall for small, general-purpose
9321extensions to Common Lisp. It contains:
9322
9323@itemize
9324@item @code{new-let}, a macro that combines and generalizes @code{let},
9325@code{let*} and @code{multiple-value-bind},
9326@item @code{gmap}, an iteration macro that generalizes @code{map}.
9327@end itemize\n")
9328 (home-page "https://common-lisp.net/project/misc-extensions/")
9329 (license license:public-domain))))
9330
9331(define-public cl-misc-extensions
9332 (sbcl-package->cl-source-package sbcl-misc-extensions))
9333
9334(define-public ecl-misc-extensions
9335 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9336
9337(define-public sbcl-mt19937
9338 (package
9339 (name "sbcl-mt19937")
9340 (version "1.1")
9341 (source
9342 (origin
9343 (method url-fetch)
9344 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9345 "mt19937-latest.tar.gz"))
9346 (sha256
9347 (base32
9348 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9349 (build-system asdf-build-system/sbcl)
9350 (synopsis "Mersenne Twister pseudo-random number generator")
9351 (description
9352 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9353for Common Lisp.")
9354 (home-page "https://www.cliki.net/mt19937")
9355 (license license:public-domain)))
9356
9357(define-public cl-mt19937
9358 (sbcl-package->cl-source-package sbcl-mt19937))
9359
9360(define-public ecl-mt19937
9361 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9362
9363(define-public sbcl-fset
9364 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9365 (revision "1"))
9366 (package
9367 (name "sbcl-fset")
9368 (version (git-version "1.3.2" revision commit))
9369 (source
9370 (origin
9371 (method git-fetch)
9372 (uri (git-reference
9373 (url "https://github.com/slburson/fset")
9374 (commit commit)))
9375 (file-name (git-file-name name version))
9376 (sha256
9377 (base32
9378 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9379 (snippet '(begin
9380 ;; Remove obsolete copy of system definition.
9381 (delete-file "Code/fset.asd")
9382 #t))))
9383 (build-system asdf-build-system/sbcl)
9384 (inputs
9385 `(("misc-extensions" ,sbcl-misc-extensions)
9386 ("mt19937" ,sbcl-mt19937)
9387 ("named-readtables" ,sbcl-named-readtables)))
9388 (synopsis "Functional set-theoretic collections library")
9389 (description
9390 "FSet is a functional set-theoretic collections library for Common Lisp.
9391Functional means that all update operations return a new collection rather than
9392modifying an existing one in place. Set-theoretic means that collections may
9393be nested arbitrarily with no additional programmer effort; for instance, sets
9394may contain sets, maps may be keyed by sets, etc.")
9395 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9396 (license license:llgpl))))
9397
9398(define-public cl-fset
9399 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9400
9401(define-public sbcl-cl-cont
9402 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9403 (revision "1"))
9404 (package
9405 (name "sbcl-cl-cont")
9406 (version (git-version "0.3.8" revision commit))
9407 (source
9408 (origin
9409 (method git-fetch)
9410 (uri (git-reference
9411 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9412 (commit commit)))
9413 (file-name (git-file-name name version))
9414 (sha256
9415 (base32
9416 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9417 (build-system asdf-build-system/sbcl)
9418 (inputs
9419 `(("alexandria" ,sbcl-alexandria)
9420 ("closer-mop" ,sbcl-closer-mop)))
9421 (native-inputs
9422 `(("rt" ,sbcl-rt)))
9423 (synopsis "Delimited continuations for Common Lisp")
9424 (description
9425 "This is a library that implements delimited continuations by
9426transforming Common Lisp code to continuation passing style.")
9427 (home-page "https://common-lisp.net/project/cl-cont/")
9428 (license license:llgpl))))
9429
9430(define-public cl-cont
9431 (sbcl-package->cl-source-package sbcl-cl-cont))
9432
9433(define-public ecl-cl-cont
9434 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9435
9436(define-public sbcl-cl-coroutine
9437 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9438 (revision "1"))
9439 (package
9440 (name "sbcl-cl-coroutine")
9441 (version (git-version "0.1" revision commit))
9442 (source
9443 (origin
9444 (method git-fetch)
9445 (uri (git-reference
9446 (url "https://github.com/takagi/cl-coroutine.git")
9447 (commit commit)))
9448 (file-name (git-file-name name version))
9449 (sha256
9450 (base32
9451 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9452 (build-system asdf-build-system/sbcl)
9453 (inputs
9454 `(("alexandria" ,sbcl-alexandria)
9455 ("cl-cont" ,sbcl-cl-cont)))
9456 (native-inputs
9457 `(("prove" ,sbcl-prove)))
9458 (arguments
9459 `(;; TODO: Fix the tests. They fail with:
9460 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9461 #:tests? #f
9462 #:phases
9463 (modify-phases %standard-phases
9464 (add-after 'unpack 'fix-tests
9465 (lambda _
9466 (substitute* "cl-coroutine-test.asd"
9467 (("cl-test-more")
9468 "prove"))
9469 #t)))))
9470 (synopsis "Coroutine library for Common Lisp")
9471 (description
9472 "This is a coroutine library for Common Lisp implemented using the
9473continuations of the @code{cl-cont} library.")
9474 (home-page "https://github.com/takagi/cl-coroutine")
9475 (license license:llgpl))))
9476
9477(define-public cl-coroutine
9478 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9479
9480(define-public ecl-cl-coroutine
9481 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9482
9483(define-public sbcl-vom
9484 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9485 (revision "1"))
9486 (package
9487 (name "sbcl-vom")
9488 (version (git-version "0.1.4" revision commit))
9489 (source
9490 (origin
9491 (method git-fetch)
9492 (uri (git-reference
9493 (url "https://github.com/orthecreedence/vom.git")
9494 (commit commit)))
9495 (file-name (git-file-name name version))
9496 (sha256
9497 (base32
9498 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9499 (build-system asdf-build-system/sbcl)
9500 (synopsis "Tiny logging utility for Common Lisp")
9501 (description
9502 "Vom is a logging library for Common Lisp. It's goal is to be useful
9503and small. It does not provide a lot of features as other loggers do, but
9504has a small codebase that's easy to understand and use.")
9505 (home-page "https://github.com/orthecreedence/vom")
9506 (license license:expat))))
9507
9508(define-public cl-vom
9509 (sbcl-package->cl-source-package sbcl-vom))
9510
9511(define-public ecl-vom
9512 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9513
9514(define-public sbcl-cl-libuv
9515 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9516 (revision "1"))
9517 (package
9518 (name "sbcl-cl-libuv")
9519 (version (git-version "0.1.6" revision commit))
9520 (source
9521 (origin
9522 (method git-fetch)
9523 (uri (git-reference
9524 (url "https://github.com/orthecreedence/cl-libuv.git")
9525 (commit commit)))
9526 (file-name (git-file-name name version))
9527 (sha256
9528 (base32
9529 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9530 (build-system asdf-build-system/sbcl)
9531 (inputs
9532 `(("alexandria" ,sbcl-alexandria)
9533 ("cffi" ,sbcl-cffi)
9534 ("cffi-grovel" ,sbcl-cffi-grovel)
9535 ("libuv" ,libuv)))
9536 (arguments
9537 `(#:phases
9538 (modify-phases %standard-phases
9539 (add-after 'unpack 'fix-paths
9540 (lambda* (#:key inputs #:allow-other-keys)
9541 (substitute* "lib.lisp"
9542 (("/usr/lib/libuv.so")
9543 (string-append (assoc-ref inputs "libuv")
9544 "/lib/libuv.so")))
9545 #t))
9546 (add-after 'fix-paths 'fix-system-definition
9547 (lambda _
9548 (substitute* "cl-libuv.asd"
9549 (("#:cffi #:alexandria")
9550 "#:cffi #:cffi-grovel #:alexandria"))
9551 #t)))))
9552 (synopsis "Common Lisp bindings to libuv")
9553 (description
9554 "This library provides low-level libuv bindings for Common Lisp.")
9555 (home-page "https://github.com/orthecreedence/cl-libuv")
9556 (license license:expat))))
9557
9558(define-public cl-libuv
9559 (sbcl-package->cl-source-package sbcl-cl-libuv))
9560
9561(define-public ecl-cl-libuv
9562 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9563
9564(define-public sbcl-cl-async-base
9565 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9566 (revision "1"))
9567 (package
9568 (name "sbcl-cl-async-base")
9569 (version (git-version "0.6.1" revision commit))
9570 (source
9571 (origin
9572 (method git-fetch)
9573 (uri (git-reference
9574 (url "https://github.com/orthecreedence/cl-async.git")
9575 (commit commit)))
9576 (file-name (git-file-name name version))
9577 (sha256
9578 (base32
9579 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9580 (build-system asdf-build-system/sbcl)
9581 (inputs
9582 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9583 ("cffi" ,sbcl-cffi)
9584 ("cl-libuv" ,sbcl-cl-libuv)))
9585 (arguments
9586 `(#:asd-file "cl-async.asd"))
9587 (synopsis "Base system for cl-async")
9588 (description
9589 "Cl-async is a library for general purpose, non-blocking programming in
9590Common Lisp. It uses the libuv library as backend.")
9591 (home-page "https://orthecreedence.github.io/cl-async/")
9592 (license license:expat))))
9593
9594(define-public cl-async-base
9595 (sbcl-package->cl-source-package sbcl-cl-async-base))
9596
9597(define-public ecl-cl-async-base
9598 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9599
9600(define-public sbcl-cl-async-util
9601 (package
9602 (inherit sbcl-cl-async-base)
9603 (name "sbcl-cl-async-util")
9604 (inputs
24de1f5a
GLV
9605 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9606 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9607 ("cl-async-base" ,sbcl-cl-async-base)
9608 ("cl-libuv" ,sbcl-cl-libuv)
9609 ("cl-ppcre" ,sbcl-cl-ppcre)
9610 ("fast-io" ,sbcl-fast-io)
9611 ("vom" ,sbcl-vom)))
9612 (synopsis "Internal utilities for cl-async")))
9613
9614(define-public cl-async-util
9615 (sbcl-package->cl-source-package sbcl-cl-async-util))
9616
9617(define-public ecl-cl-async-util
9618 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9619
9620(define-public sbcl-cl-async
9621 (package
9622 (inherit sbcl-cl-async-base)
9623 (name "sbcl-cl-async")
9624 (inputs
9625 `(("babel" ,sbcl-babel)
9626 ("cffi" ,sbcl-cffi)
9627 ("cl-async-base" ,sbcl-cl-async-base)
9628 ("cl-async-util" ,sbcl-cl-async-util)
9629 ("cl-libuv" ,sbcl-cl-libuv)
9630 ("cl-ppcre" ,sbcl-cl-ppcre)
9631 ("static-vectors" ,sbcl-static-vectors)
9632 ("trivial-features" ,sbcl-trivial-features)
9633 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9634 (synopsis "Asynchronous operations for Common Lisp")))
9635
9636(define-public cl-async
9637 (sbcl-package->cl-source-package sbcl-cl-async))
9638
9639(define-public ecl-cl-async
9640 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9641
9642(define-public sbcl-cl-async-repl
9643 (package
9644 (inherit sbcl-cl-async-base)
9645 (name "sbcl-cl-async-repl")
9646 (inputs
9647 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9648 ("cl-async" ,sbcl-cl-async)))
9649 (arguments
9650 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9651 ((#:asd-file _ "") "cl-async-repl.asd")))
9652 (synopsis "REPL integration for cl-async")))
9653
9654(define-public cl-async-repl
9655 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9656
9657(define-public ecl-cl-async-repl
9658 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9659
9660(define-public sbcl-cl-async-ssl
9661 (package
9662 (inherit sbcl-cl-async-base)
9663 (name "sbcl-cl-async-ssl")
9664 (inputs
9665 `(("cffi" ,sbcl-cffi)
9666 ("cl-async" ,sbcl-cl-async)
9667 ("openssl" ,openssl)
9668 ("vom" ,sbcl-vom)))
9669 (arguments
9670 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9671 ((#:asd-file _ "") "cl-async-ssl.asd")
9672 ((#:phases phases '%standard-phases)
9673 `(modify-phases ,phases
9674 (add-after 'unpack 'fix-paths
9675 (lambda* (#:key inputs #:allow-other-keys)
9676 (substitute* "src/ssl/package.lisp"
9677 (("libcrypto\\.so")
9678 (string-append (assoc-ref inputs "openssl")
9679 "/lib/libcrypto.so"))
9680 (("libssl\\.so")
9681 (string-append (assoc-ref inputs "openssl")
9682 "/lib/libssl.so")))
9683 #t))))))
9684 (synopsis "SSL wrapper around cl-async socket implementation")))
9685
9686(define-public cl-async-ssl
9687 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9688
9689(define-public ecl-cl-async-ssl
9690 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9691
9692(define-public sbcl-blackbird
9693 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9694 (revision "1"))
9695 (package
9696 (name "sbcl-blackbird")
9697 (version (git-version "0.5.2" revision commit))
9698 (source
9699 (origin
9700 (method git-fetch)
9701 (uri (git-reference
9702 (url "https://github.com/orthecreedence/blackbird.git")
9703 (commit commit)))
9704 (file-name (git-file-name name version))
9705 (sha256
9706 (base32
9707 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9708 (build-system asdf-build-system/sbcl)
9709 (inputs
9710 `(("vom" ,sbcl-vom)))
9711 (native-inputs
9712 `(("cl-async" ,sbcl-cl-async)
9713 ("fiveam" ,sbcl-fiveam)))
9714 (synopsis "Promise implementation for Common Lisp")
9715 (description
9716 "This is a standalone promise implementation for Common Lisp. It is
9717the successor to the now-deprecated cl-async-future project.")
e0318062 9718 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9719 (license license:expat))))
9720
9721(define-public cl-blackbird
9722 (sbcl-package->cl-source-package sbcl-blackbird))
9723
9724(define-public ecl-blackbird
9725 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9726
9727(define-public sbcl-cl-async-future
9728 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9729 (revision "1"))
9730 (package
9731 (name "sbcl-cl-async-future")
9732 (version (git-version "0.4.4.1" revision commit))
9733 (source
9734 (origin
9735 (method git-fetch)
9736 (uri (git-reference
9737 (url "https://github.com/orthecreedence/cl-async-future.git")
9738 (commit commit)))
9739 (file-name (git-file-name name version))
9740 (sha256
9741 (base32
9742 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9743 (build-system asdf-build-system/sbcl)
9744 (inputs
9745 `(("blackbird" ,sbcl-blackbird)))
9746 (native-inputs
9747 `(("cl-async" ,sbcl-cl-async)
9748 ("eos" ,sbcl-eos)))
9749 (synopsis "Futures implementation for Common Lisp")
9750 (description
9751 "This is futures implementation for Common Lisp. It plugs in nicely
9752to cl-async.")
e0318062 9753 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9754 (license license:expat))))
9755
9756(define-public cl-async-future
9757 (sbcl-package->cl-source-package sbcl-cl-async-future))
9758
9759(define-public ecl-cl-async-future
9760 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9761
9762(define-public sbcl-green-threads
9763 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9764 (revision "1"))
9765 (package
9766 (name "sbcl-green-threads")
9767 (version (git-version "0.3" revision commit))
9768 (source
9769 (origin
9770 (method git-fetch)
9771 (uri (git-reference
9772 (url "https://github.com/thezerobit/green-threads.git")
9773 (commit commit)))
9774 (file-name (git-file-name name version))
9775 (sha256
9776 (base32
9777 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9778 (build-system asdf-build-system/sbcl)
9779 (inputs
9780 `(("cl-async-future" ,sbcl-cl-async-future)
9781 ("cl-cont" ,sbcl-cl-cont)))
9782 (native-inputs
9783 `(("prove" ,sbcl-prove)))
9784 (arguments
9785 `(;; TODO: Fix the tests. They fail with:
9786 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9787 #:tests? #f
9788 #:phases
9789 (modify-phases %standard-phases
9790 (add-after 'unpack 'fix-tests
9791 (lambda _
9792 (substitute* "green-threads-test.asd"
9793 (("cl-test-more")
9794 "prove"))
9795 #t)))))
9796 (synopsis "Cooperative multitasking library for Common Lisp")
9797 (description
9798 "This library allows for cooperative multitasking with help of cl-cont
9799for continuations. It tries to mimic the API of bordeaux-threads as much as
9800possible.")
9801 (home-page "https://github.com/thezerobit/green-threads")
9802 (license license:bsd-3))))
9803
9804(define-public cl-green-threads
9805 (sbcl-package->cl-source-package sbcl-green-threads))
9806
9807(define-public ecl-green-threads
9808 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9809
9810(define-public sbcl-cl-base32
9811 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9812 (revision "1"))
9813 (package
9814 (name "sbcl-cl-base32")
9815 (version (git-version "0.1" revision commit))
9816 (source
9817 (origin
9818 (method git-fetch)
9819 (uri (git-reference
9820 (url "https://github.com/hargettp/cl-base32.git")
9821 (commit commit)))
9822 (file-name (git-file-name name version))
9823 (sha256
9824 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9825 (build-system asdf-build-system/sbcl)
9826 (native-inputs
9827 `(("lisp-unit" ,sbcl-lisp-unit)))
9828 (synopsis "Common Lisp library for base32 encoding and decoding")
9829 (description
9830 "This package provides functions for base32 encoding and decoding as
9831defined in RFC4648.")
9832 (home-page "https://github.com/hargettp/cl-base32")
9833 (license license:expat))))
9834
9835(define-public cl-base32
9836 (sbcl-package->cl-source-package sbcl-cl-base32))
9837
9838(define-public ecl-cl-base32
9839 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9840
9841(define-public sbcl-cl-z85
9842 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9843 (revision "1"))
9844 (package
9845 (name "sbcl-cl-z85")
9846 (version (git-version "1.0" revision commit))
9847 (source
9848 (origin
9849 (method git-fetch)
9850 (uri (git-reference
9851 (url "https://github.com/glv2/cl-z85.git")
9852 (commit commit)))
9853 (file-name (git-file-name name version))
9854 (sha256
9855 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9856 (build-system asdf-build-system/sbcl)
9857 (native-inputs
9858 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9859 ("fiveam" ,sbcl-fiveam)))
9860 (synopsis "Common Lisp library for Z85 encoding and decoding")
9861 (description
9862 "This package provides functions to encode or decode byte vectors or
9863byte streams using the Z85 format, which is a base-85 encoding used by
9864ZeroMQ.")
9865 (home-page "https://github.com/glv2/cl-z85")
9866 (license license:gpl3+))))
9867
9868(define-public cl-z85
9869 (sbcl-package->cl-source-package sbcl-cl-z85))
9870
9871(define-public ecl-cl-z85
9872 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9873
9874(define-public sbcl-ltk
9875 (package
9876 (name "sbcl-ltk")
9877 (version "0.992")
9878 (source
9879 (origin
9880 (method git-fetch)
9881 (uri (git-reference
9882 (url "https://github.com/herth/ltk.git")
9883 (commit version)))
9884 (file-name (git-file-name name version))
9885 (sha256
9886 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9887 (build-system asdf-build-system/sbcl)
9888 (inputs
9889 `(("imagemagick" ,imagemagick)
9890 ("tk" ,tk)))
9891 (arguments
9892 `(#:asd-file "ltk/ltk.asd"
9893 #:tests? #f
9894 #:phases (modify-phases %standard-phases
9895 (add-after 'unpack 'fix-paths
9896 (lambda* (#:key inputs #:allow-other-keys)
9897 (substitute* "ltk/ltk.lisp"
9898 (("#-freebsd \"wish\"")
9899 (string-append "#-freebsd \""
9900 (assoc-ref inputs "tk")
9901 "/bin/wish\""))
9902 (("do-execute \"convert\"")
9903 (string-append "do-execute \""
9904 (assoc-ref inputs "imagemagick")
9905 "/bin/convert\"")))
9906 #t)))))
9907 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9908 (description
9909 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9910in pure Common Lisp and does not require any Tk knowledge for its usage.")
9911 (home-page "http://www.peter-herth.de/ltk/")
9912 (license license:llgpl)))
9913
9914(define-public cl-ltk
9915 (sbcl-package->cl-source-package sbcl-ltk))
9916
9917(define-public ecl-ltk
9918 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9919
9920(define-public sbcl-ltk-mw
9921 (package
9922 (inherit sbcl-ltk)
9923 (name "sbcl-ltk-mw")
9924 (inputs
9925 `(("ltk" ,sbcl-ltk)))
9926 (arguments
9927 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9928 ((#:asd-file _) "ltk/ltk-mw.asd")
9929 ((#:phases _) '%standard-phases)))
9930 (synopsis "Extra widgets for LTK")
9931 (description
9932 "This is a collection of higher-level widgets built on top of LTK.")))
9933
9934(define-public cl-ltk-mw
9935 (sbcl-package->cl-source-package sbcl-ltk-mw))
9936
9937(define-public ecl-ltk-mw
9938 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9939
9940(define-public sbcl-ltk-remote
9941 (package
9942 (inherit sbcl-ltk)
9943 (name "sbcl-ltk-remote")
9944 (inputs
9945 `(("ltk" ,sbcl-ltk)))
9946 (arguments
9947 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9948 ((#:asd-file _) "ltk/ltk-remote.asd")
9949 ((#:phases _) '%standard-phases)))
9950 (synopsis "Remote GUI support for LTK")
9951 (description
9952 "This LTK extension allows the GUI to be displayed on a computer different
9953from the one running the Lisp program by using a TCP connection.")))
9954
9955(define-public cl-ltk-remote
9956 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9957
9958(define-public sbcl-cl-lex
9959 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9960 (revision "1"))
9961 (package
9962 (name "sbcl-cl-lex")
9963 (version (git-version "1.1.3" revision commit))
9964 (source
9965 (origin
9966 (method git-fetch)
9967 (uri (git-reference
9968 (url "https://github.com/djr7C4/cl-lex.git")
9969 (commit commit)))
9970 (file-name (git-file-name name version))
9971 (sha256
9972 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9973 (build-system asdf-build-system/sbcl)
9974 (inputs
9975 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9976 (synopsis "Common Lisp macros for generating lexical analyzers")
9977 (description
9978 "This is a Common Lisp library providing a set of macros for generating
9979lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9980be used with @code{cl-yacc}.")
9981 (home-page "https://github.com/djr7C4/cl-lex")
9982 (license license:gpl3))))
9983
9984(define-public cl-lex
9985 (sbcl-package->cl-source-package sbcl-cl-lex))
9986
9987(define-public ecl-cl-lex
9988 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9989
9990(define-public sbcl-clunit2
9991 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9992 (revision "1"))
9993 (package
9994 (name "sbcl-clunit2")
9995 (version (git-version "0.2.4" revision commit))
9996 (source
9997 (origin
9998 (method git-fetch)
9999 (uri (git-reference
10000 (url "https://notabug.org/cage/clunit2.git")
10001 (commit commit)))
10002 (file-name (git-file-name name version))
10003 (sha256
10004 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10005 (build-system asdf-build-system/sbcl)
10006 (synopsis "Unit testing framework for Common Lisp")
10007 (description
10008 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10009easy to use so that you can quickly start testing.")
10010 (home-page "https://notabug.org/cage/clunit2")
10011 (license license:expat))))
10012
10013(define-public cl-clunit2
10014 (sbcl-package->cl-source-package sbcl-clunit2))
10015
10016(define-public ecl-clunit2
10017 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10018
10019(define-public sbcl-cl-colors2
10020 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10021 (revision "1"))
10022 (package
10023 (name "sbcl-cl-colors2")
10024 (version (git-version "0.2.1" revision commit))
10025 (source
10026 (origin
10027 (method git-fetch)
10028 (uri (git-reference
10029 (url "https://notabug.org/cage/cl-colors2.git")
10030 (commit commit)))
10031 (file-name (git-file-name name version))
10032 (sha256
10033 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10034 (build-system asdf-build-system/sbcl)
10035 (native-inputs
10036 `(("clunit2" ,sbcl-clunit2)))
10037 (inputs
10038 `(("alexandria" ,sbcl-alexandria)
10039 ("cl-ppcre" ,sbcl-cl-ppcre)))
10040 (synopsis "Color library for Common Lisp")
10041 (description
10042 "This is a very simple color library for Common Lisp, providing:
10043
10044@itemize
10045@item Types for representing colors in HSV and RGB spaces.
10046@item Simple conversion functions between the above types (and also
10047hexadecimal representation for RGB).
10048@item Some predefined colors (currently X11 color names -- of course
10049the library does not depend on X11).
10050@end itemize\n")
10051 (home-page "https://notabug.org/cage/cl-colors2")
10052 (license license:boost1.0))))
10053
10054(define-public cl-colors2
10055 (sbcl-package->cl-source-package sbcl-cl-colors2))
10056
10057(define-public ecl-cl-colors2
10058 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10059
10060(define-public sbcl-cl-jpeg
10061 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10062 (revision "1"))
10063 (package
10064 (name "sbcl-cl-jpeg")
10065 (version (git-version "2.8" revision commit))
10066 (source
10067 (origin
10068 (method git-fetch)
10069 (uri (git-reference
10070 (url "https://github.com/sharplispers/cl-jpeg.git")
10071 (commit commit)))
10072 (file-name (git-file-name name version))
10073 (sha256
10074 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10075 (build-system asdf-build-system/sbcl)
10076 (synopsis "JPEG image library for Common Lisp")
10077 (description
10078 "This is a baseline JPEG codec written in Common Lisp. It can be used
10079for reading and writing JPEG image files.")
10080 (home-page "https://github.com/sharplispers/cl-jpeg")
10081 (license license:bsd-3))))
10082
10083(define-public cl-jpeg
10084 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10085
10086(define-public ecl-cl-jpeg
10087 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10088
10089(define-public sbcl-nodgui
10090 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10091 (revision "1"))
10092 (package
10093 (name "sbcl-nodgui")
10094 (version (git-version "0.0.5" revision commit))
10095 (source
10096 (origin
10097 (method git-fetch)
10098 (uri (git-reference
10099 (url "https://notabug.org/cage/nodgui.git")
10100 (commit commit)))
10101 (file-name (git-file-name name version))
10102 (sha256
10103 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10104 (build-system asdf-build-system/sbcl)
10105 (inputs
10106 `(("alexandria" ,sbcl-alexandria)
10107 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10108 ("cl-colors2" ,sbcl-cl-colors2)
10109 ("cl-jpeg" ,sbcl-cl-jpeg)
10110 ("cl-lex" ,sbcl-cl-lex)
10111 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10112 ("cl-unicode" ,sbcl-cl-unicode)
10113 ("cl-yacc" ,sbcl-cl-yacc)
10114 ("clunit2" ,sbcl-clunit2)
10115 ("named-readtables" ,sbcl-named-readtables)
10116 ("parse-number" ,sbcl-parse-number)
10117 ("tk" ,tk)))
10118 (arguments
10119 `(#:phases (modify-phases %standard-phases
10120 (add-after 'unpack 'fix-paths
10121 (lambda* (#:key inputs #:allow-other-keys)
10122 (substitute* "src/wish-communication.lisp"
10123 (("#-freebsd \"wish\"")
10124 (string-append "#-freebsd \""
10125 (assoc-ref inputs "tk")
10126 "/bin/wish\"")))
10127 #t)))))
10128 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10129 (description
10130 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10131toolkit. It also provides a few additional widgets more than the standard Tk
10132ones.")
10133 (home-page "https://www.autistici.org/interzona/nodgui.html")
10134 (license license:llgpl))))
10135
10136(define-public cl-nodgui
10137 (sbcl-package->cl-source-package sbcl-nodgui))
10138
10139(define-public ecl-nodgui
10140 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10141
10142(define-public sbcl-salza2
10143 (package
10144 (name "sbcl-salza2")
10145 (version "2.0.9")
10146 (source
10147 (origin
10148 (method git-fetch)
10149 (uri (git-reference
10150 (url "https://github.com/xach/salza2.git")
10151 (commit (string-append "release-" version))))
10152 (file-name (git-file-name name version))
10153 (sha256
10154 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10155 (build-system asdf-build-system/sbcl)
10156 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10157 (description
10158 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10159deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10160respectively.")
10161 (home-page "https://www.xach.com/lisp/salza2/")
10162 (license license:bsd-2)))
10163
10164(define-public cl-salza2
10165 (sbcl-package->cl-source-package sbcl-salza2))
10166
10167(define-public ecl-salza2
10168 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10169
10170(define-public sbcl-png-read
10171 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10172 (revision "1"))
10173 (package
10174 (name "sbcl-png-read")
10175 (version (git-version "0.3.1" revision commit))
10176 (source
10177 (origin
10178 (method git-fetch)
10179 (uri (git-reference
10180 (url "https://github.com/Ramarren/png-read.git")
10181 (commit commit)))
10182 (file-name (git-file-name name version))
10183 (sha256
10184 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10185 (build-system asdf-build-system/sbcl)
10186 (inputs
10187 `(("babel" ,sbcl-babel)
10188 ("chipz" ,sbcl-chipz)
10189 ("iterate" ,sbcl-iterate)))
10190 (synopsis "PNG decoder for Common Lisp")
10191 (description "This is a Common Lisp library for reading PNG images.")
10192 (home-page "https://github.com/Ramarren/png-read")
10193 (license license:bsd-3))))
10194
10195(define-public cl-png-read
10196 (sbcl-package->cl-source-package sbcl-png-read))
10197
10198(define-public ecl-png-read
10199 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10200
10201(define-public sbcl-zpng
10202 (package
10203 (name "sbcl-zpng")
10204 (version "1.2.2")
10205 (source
10206 (origin
10207 (method git-fetch)
10208 (uri (git-reference
10209 (url "https://github.com/xach/zpng.git")
10210 (commit (string-append "release-" version))))
10211 (file-name (git-file-name name version))
10212 (sha256
10213 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10214 (build-system asdf-build-system/sbcl)
10215 (inputs
10216 `(("salza2" ,sbcl-salza2)))
10217 (synopsis "PNG encoder for Common Lisp")
10218 (description "This is a Common Lisp library for creating PNG images.")
10219 (home-page "https://www.xach.com/lisp/zpng/")
10220 (license license:bsd-2)))
10221
10222(define-public cl-zpng
10223 (sbcl-package->cl-source-package sbcl-zpng))
10224
10225(define-public ecl-zpng
10226 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10227
10228(define-public sbcl-cl-qrencode
10229 (package
10230 (name "sbcl-cl-qrencode")
10231 (version "0.1.2")
10232 (source
10233 (origin
10234 (method git-fetch)
10235 (uri (git-reference
10236 (url "https://github.com/jnjcc/cl-qrencode.git")
10237 (commit (string-append "v" version))))
10238 (file-name (git-file-name name version))
10239 (sha256
10240 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10241 (build-system asdf-build-system/sbcl)
10242 (native-inputs
10243 `(("lisp-unit" ,sbcl-lisp-unit)))
10244 (inputs
10245 `(("zpng" ,sbcl-zpng)))
10246 (synopsis "QR code encoder for Common Lisp")
10247 (description
10248 "This Common Lisp library provides function to make QR codes and to save
10249them as PNG files.")
10250 (home-page "https://github.com/jnjcc/cl-qrencode")
10251 (license license:gpl2+)))
10252
10253(define-public cl-qrencode
10254 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10255
10256(define-public ecl-cl-qrencode
10257 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10258
10259(define-public sbcl-hdf5-cffi
10260 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10261 (revision "1"))
10262 (package
10263 (name "sbcl-hdf5-cffi")
10264 (version (git-version "1.8.18" revision commit))
10265 (source
10266 (origin
10267 (method git-fetch)
10268 (uri (git-reference
10269 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10270 (commit commit)))
10271 (file-name (git-file-name name version))
10272 (sha256
10273 (base32
10274 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10275 (build-system asdf-build-system/sbcl)
10276 (synopsis "Common Lisp bindings for the HDF5 library")
10277 (description
10278 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10279 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10280 (license (license:non-copyleft
10281 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10282 commit
10283 "/LICENSE")))
10284 (inputs
10285 `(("cffi" ,sbcl-cffi)
10286 ("cffi-grovel" ,sbcl-cffi-grovel)
10287 ("hdf5" ,hdf5-1.10)))
10288 (native-inputs
10289 `(("fiveam" ,sbcl-fiveam)))
10290 (arguments
10291 `(#:asd-system-name "hdf5-cffi"
10292 #:asd-file "hdf5-cffi.asd"
10293 #:test-asd-file "hdf5-cffi.test.asd"
10294 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10295 ;; I don't know if there is a way to tell asdf-build-system to load
10296 ;; an additional system first, so tests are disabled.
10297 #:tests? #f
10298 #:phases
10299 (modify-phases %standard-phases
10300 (add-after 'unpack 'fix-paths
10301 (lambda* (#:key inputs #:allow-other-keys)
10302 (substitute* "src/library.lisp"
10303 (("libhdf5.so")
10304 (string-append
10305 (assoc-ref inputs "hdf5")
10306 "/lib/libhdf5.so")))))
10307 (add-after 'unpack 'fix-dependencies
10308 (lambda* (#:key inputs #:allow-other-keys)
10309 (substitute* "hdf5-cffi.asd"
10310 ((":depends-on \\(:cffi\\)")
10311 ":depends-on (:cffi :cffi-grovel)"))
10312 (substitute* "hdf5-cffi.test.asd"
10313 ((":depends-on \\(:cffi :hdf5-cffi")
10314 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10315
10316(define-public cl-hdf5-cffi
10317 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10318
10319(define-public ecl-hdf5-cffi
10320 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10321
10322(define-public sbcl-cl-randist
10323 (package
10324 (name "sbcl-cl-randist")
10325 (version "0.4.2")
10326 (source
10327 (origin
10328 (method git-fetch)
10329 (uri (git-reference
10330 (url "https://github.com/lvaruzza/cl-randist.git")
10331 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32
10335 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10336 (build-system asdf-build-system/sbcl)
10337 (synopsis "Random distributions for Common Lisp")
10338 (description
10339 "Manual translation from C to Common Lisp of some random number
10340generation functions from the GSL library.")
10341 (home-page "https://github.com/lvaruzza/cl-randist")
10342 (license license:bsd-2)
10343 (arguments
10344 `(#:asd-system-name "cl-randist"
10345 #:asd-file "cl-randist.asd"
10346 #:tests? #f))))
10347
10348(define-public cl-randist
10349 (sbcl-package->cl-source-package sbcl-cl-randist))
10350
10351(define-public ecl-cl-randist
10352 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10353
10354(define-public sbcl-float-features
10355 (package
10356 (name "sbcl-float-features")
10357 (version "1.0.0")
10358 (source
10359 (origin
10360 (method git-fetch)
10361 (uri (git-reference
10362 (url "https://github.com/Shinmera/float-features.git")
10363 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10364 (file-name (git-file-name name version))
10365 (sha256
10366 (base32
10367 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10368 (build-system asdf-build-system/sbcl)
10369 (synopsis "Common Lisp IEEE float portability library")
10370 (description
10371 "Portability library for IEEE float features that are not
10372covered by the Common Lisp standard.")
10373 (home-page "https://github.com/Shinmera/float-features")
10374 (license license:zlib)
10375 (inputs
10376 `(("documentation-utils" ,sbcl-documentation-utils)))
10377 (arguments
10378 `(#:asd-system-name "float-features"
10379 #:asd-file "float-features.asd"
10380 #:tests? #f))))
10381
10382(define-public cl-float-features
10383 (sbcl-package->cl-source-package sbcl-float-features))
10384
10385(define-public ecl-float-features
10386 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10387
10388(define-public sbcl-function-cache
10389 (package
10390 (name "sbcl-function-cache")
10391 (version "1.0.3")
10392 (source
10393 (origin
10394 (method git-fetch)
10395 (uri (git-reference
10396 (url "https://github.com/AccelerationNet/function-cache.git")
10397 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10398 (file-name (git-file-name name version))
10399 (sha256
10400 (base32
10401 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10402 (build-system asdf-build-system/sbcl)
10403 (synopsis "Function caching / memoization library for Common Lisp")
10404 (description
10405 "A common lisp library that provides extensible function result
10406caching based on arguments (an expanded form of memoization).")
10407 (home-page "https://github.com/AccelerationNet/function-cache")
10408 (license
10409 (license:non-copyleft
10410 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10411 (inputs
10412 `(("alexandria" ,sbcl-alexandria)
10413 ("cl-interpol" ,sbcl-cl-interpol)
10414 ("iterate" ,sbcl-iterate)
10415 ("symbol-munger" ,sbcl-symbol-munger)
10416 ("closer-mop" ,sbcl-closer-mop)))
10417 (arguments
10418 `(#:asd-system-name "function-cache"
10419 #:asd-file "function-cache.asd"
10420 #:tests? #f))))
10421
10422(define-public cl-function-cache
10423 (sbcl-package->cl-source-package sbcl-function-cache))
10424
10425(define-public ecl-function-cache
10426 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10427
10428(define-public sbcl-type-r
10429 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10430 (revision "1"))
10431 (package
10432 (name "sbcl-type-r")
10433 (version (git-version "0.0.0" revision commit))
10434 (source
10435 (origin
10436 (method git-fetch)
10437 (uri (git-reference
10438 (url "https://github.com/guicho271828/type-r.git")
10439 (commit commit)))
10440 (file-name (git-file-name name version))
10441 (sha256
10442 (base32
10443 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10444 (build-system asdf-build-system/sbcl)
10445 (synopsis "Parser interface for Common Lisp built-in compound types")
10446 (description
10447 "Collections of accessor functions and patterns to access
10448the elements in compound type specifier, e.g. @code{dimensions} in
10449@code{(array element-type dimensions)}")
10450 (home-page "https://github.com/guicho271828/type-r")
10451 (license license:lgpl3+)
10452 (inputs
10453 `(("trivia" ,sbcl-trivia)
10454 ("alexandria" ,sbcl-alexandria)))
10455 (native-inputs
10456 `(("fiveam" ,sbcl-fiveam)))
10457 (arguments
10458 `(#:asd-system-name "type-r"
10459 #:asd-file "type-r.asd"
10460 #:test-asd-file "type-r.test.asd")))))
10461
10462(define-public cl-type-r
10463 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10464
10465(define-public sbcl-trivialib-type-unify
10466 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10467 (revision "1"))
10468 (package
10469 (name "sbcl-trivialib-type-unify")
10470 (version (git-version "0.1" revision commit))
10471 (source
10472 (origin
10473 (method git-fetch)
10474 (uri (git-reference
10475 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10476 (commit commit)))
10477 (file-name (git-file-name name version))
10478 (sha256
10479 (base32
10480 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10481 (build-system asdf-build-system/sbcl)
10482 (synopsis "Common Lisp type unification")
10483 (description
10484 "Unifies a parametrized type specifier against an actual type specifier.
10485Importantly, it handles complicated array-subtypes and number-related types
10486correctly.")
10487 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10488 (license license:lgpl3+)
10489 (inputs
10490 `(("alexandria" ,sbcl-alexandria)
10491 ("trivia" ,sbcl-trivia)
10492 ("introspect-environment" ,sbcl-introspect-environment)
10493 ("type-r" ,sbcl-type-r)))
10494 (native-inputs
10495 `(("fiveam" ,sbcl-fiveam)))
10496 (arguments
10497 `(#:asd-system-name "trivialib.type-unify"
10498 #:asd-file "trivialib.type-unify.asd"
10499 #:test-asd-file "trivialib.type-unify.test.asd")))))
10500
10501(define-public cl-trivialib-type-unify
10502 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10503
10504(define-public sbcl-specialized-function
10505 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10506 (revision "1"))
10507 (package
10508 (name "sbcl-specialized-function")
10509 (version (git-version "0.0.0" revision commit))
10510 (source
10511 (origin
10512 (method git-fetch)
10513 (uri (git-reference
10514 (url "https://github.com/numcl/specialized-function.git")
10515 (commit commit)))
10516 (file-name (git-file-name name version))
10517 (sha256
10518 (base32
10519 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10520 (build-system asdf-build-system/sbcl)
10521 (synopsis "Julia-like dispatch for Common Lisp")
10522 (description
10523 "This library is part of NUMCL. It provides a macro
10524@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10525lazily compiling a type-specific version of the function from the same
10526code. The main target of this macro is speed.")
10527 (home-page "https://github.com/numcl/specialized-function")
10528 (license license:lgpl3+)
10529 (inputs
10530 `(("trivia" ,sbcl-trivia)
10531 ("alexandria" ,sbcl-alexandria)
10532 ("iterate" ,sbcl-iterate)
10533 ("lisp-namespace" ,sbcl-lisp-namespace)
10534 ("type-r" ,sbcl-type-r)
10535 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10536 (native-inputs
10537 `(("fiveam" ,sbcl-fiveam)))
10538 (arguments
10539 `(#:asd-system-name "specialized-function"
10540 #:asd-file "specialized-function.asd"
10541 #:test-asd-file "specialized-function.test.asd")))))
10542
10543(define-public cl-specialized-function
10544 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10545
10546(define-public sbcl-constantfold
10547 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10548 (revision "1"))
10549 (package
10550 (name "sbcl-constantfold")
10551 (version (git-version "0.1" revision commit))
10552 (source
10553 (origin
10554 (method git-fetch)
10555 (uri (git-reference
10556 (url "https://github.com/numcl/constantfold.git")
10557 (commit commit)))
10558 (file-name (git-file-name name version))
10559 (sha256
10560 (base32
10561 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10562 (build-system asdf-build-system/sbcl)
10563 (synopsis "Support library for numcl")
10564 (description
10565 "Support library for numcl. Registers a function as an
10566additional form that is considered as a candidate for a constant.")
10567 (home-page "https://github.com/numcl/constantfold")
10568 (license license:lgpl3+)
10569 (inputs
10570 `(("trivia" ,sbcl-trivia)
10571 ("alexandria" ,sbcl-alexandria)
10572 ("iterate" ,sbcl-iterate)
10573 ("lisp-namespace" ,sbcl-lisp-namespace)))
10574 (native-inputs
10575 `(("fiveam" ,sbcl-fiveam)))
10576 (arguments
10577 `(#:asd-system-name "constantfold"
10578 #:asd-file "constantfold.asd"
10579 #:test-asd-file "constantfold.test.asd")))))
10580
10581(define-public cl-constantfold
10582 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10583
10584(define-public sbcl-gtype
10585 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10586 (revision "1"))
10587 (package
10588 (name "sbcl-gtype")
10589 (version (git-version "0.1" revision commit))
10590 (source
10591 (origin
10592 (method git-fetch)
10593 (uri (git-reference
10594 (url "https://github.com/numcl/gtype.git")
10595 (commit commit)))
10596 (file-name (git-file-name name version))
10597 (sha256
10598 (base32
10599 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10600 (build-system asdf-build-system/sbcl)
10601 (synopsis "C++/Julia-like parametric types in Common Lisp")
10602 (description
10603 "Support library for numcl that provides Julia-like runtime parametric
10604type correctness in Common Lisp. It is based on CLtL2 extensions.")
10605 (home-page "https://github.com/numcl/gtype")
10606 (license license:lgpl3+)
10607 (inputs
10608 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10609 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10610 ("trivia" ,sbcl-trivia)
10611 ("alexandria" ,sbcl-alexandria)
10612 ("iterate" ,sbcl-iterate)
10613 ("type-r" ,sbcl-type-r)))
10614 (native-inputs
10615 `(("fiveam" ,sbcl-fiveam)))
10616 (arguments
10617 `(#:asd-system-name "gtype"
10618 #:asd-file "gtype.asd"
10619 #:test-asd-file "gtype.test.asd")))))
10620
10621(define-public cl-gtype
10622 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10623
10624(define-public sbcl-numcl
10625 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10626 (revision "1"))
10627 (package
10628 (name "sbcl-numcl")
10629 (version (git-version "0.1.0" revision commit))
10630 (source
10631 (origin
10632 (method git-fetch)
10633 (uri (git-reference
10634 (url "https://github.com/numcl/numcl.git")
10635 (commit commit)))
10636 (file-name (git-file-name name version))
10637 (sha256
10638 (base32
10639 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10640 (build-system asdf-build-system/sbcl)
10641 (synopsis "Numpy clone in Common Lisp")
10642 (description
10643 "This is a Numpy clone in Common Lisp. At the moment the
10644library is written in pure Common Lisp, focusing more on correctness
10645and usefulness, not speed. Track the progress at
10646@url{https://github.com/numcl/numcl/projects/1}.")
10647 (home-page "https://github.com/numcl/numcl")
10648 (license license:lgpl3+)
10649 (inputs
10650 `(("trivia" ,sbcl-trivia)
10651 ("alexandria" ,sbcl-alexandria)
10652 ("iterate" ,sbcl-iterate)
10653 ("lisp-namespace" ,sbcl-lisp-namespace)
10654 ("type-r" ,sbcl-type-r)
10655 ("constantfold" ,sbcl-constantfold)
10656 ("cl-randist" ,sbcl-cl-randist)
10657 ("float-features" ,sbcl-float-features)
10658 ("function-cache" ,sbcl-function-cache)
10659 ("specialized-function" ,sbcl-specialized-function)
10660 ("gtype" ,sbcl-gtype)))
10661 (native-inputs
10662 `(("fiveam" ,sbcl-fiveam)))
10663 (arguments
10664 `(#:asd-system-name "numcl"
10665 #:asd-file "numcl.asd"
10666 #:test-asd-file "numcl.test.asd")))))
10667
10668(define-public cl-numcl
10669 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10670
10671(define-public sbcl-pzmq
10672 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10673 (revision "1"))
10674 (package
10675 (name "sbcl-pzmq")
10676 (version (git-version "0.0.0" revision commit))
10677 (source
10678 (origin
10679 (method git-fetch)
10680 (uri (git-reference
10681 (url "https://github.com/orivej/pzmq.git")
10682 (commit commit)))
10683 (file-name (git-file-name name version))
10684 (sha256
10685 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10686 (build-system asdf-build-system/sbcl)
10687 (native-inputs
10688 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10689 ("fiveam" ,sbcl-fiveam)
10690 ("let-plus" ,sbcl-let-plus)))
10691 (inputs
10692 `(("cffi" ,sbcl-cffi)
10693 ("cffi-grovel" ,sbcl-cffi-grovel)
10694 ("zeromq" ,zeromq)))
10695 (arguments
10696 `(#:phases (modify-phases %standard-phases
10697 (add-after 'unpack 'fix-paths
10698 (lambda* (#:key inputs #:allow-other-keys)
10699 (substitute* "c-api.lisp"
10700 (("\"libzmq")
10701 (string-append "\""
10702 (assoc-ref inputs "zeromq")
10703 "/lib/libzmq")))
10704 #t)))))
10705 (synopsis "Common Lisp bindings for the ZeroMQ library")
10706 (description "This Common Lisp library provides bindings for the ZeroMQ
10707lightweight messaging kernel.")
10708 (home-page "https://github.com/orivej/pzmq")
10709 (license license:unlicense))))
10710
10711(define-public cl-pzmq
10712 (sbcl-package->cl-source-package sbcl-pzmq))
10713
10714(define-public ecl-pzmq
10715 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10716
10717(define-public sbcl-clss
10718 (let ((revision "1")
10719 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10720 (package
10721 (name "sbcl-clss")
10722 (version (git-version "0.3.1" revision commit))
10723 (source
10724 (origin
10725 (method git-fetch)
10726 (uri
10727 (git-reference
10728 (url "https://github.com/Shinmera/clss.git")
10729 (commit commit)))
10730 (sha256
10731 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10732 (file-name (git-file-name name version))))
10733 (inputs
10734 `(("array-utils" ,sbcl-array-utils)
10735 ("plump" ,sbcl-plump)))
10736 (build-system asdf-build-system/sbcl)
10737 (synopsis "DOM tree searching engine based on CSS selectors")
10738 (description "CLSS is a DOM traversal engine based on CSS
10739selectors. It makes use of the Plump-DOM and is used by lQuery.")
10740 (home-page "https://github.com/Shinmera/clss")
10741 (license license:zlib))))
10742
10743(define-public cl-clss
10744 (sbcl-package->cl-source-package sbcl-clss))
10745
10746(define-public ecl-clss
10747 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10748
10749(define-public sbcl-lquery
10750 (let ((revision "1")
10751 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10752 (package
10753 (name "sbcl-lquery")
10754 (version (git-version "3.2.1" revision commit))
10755 (source
10756 (origin
10757 (method git-fetch)
10758 (uri
10759 (git-reference
10760 (url "https://github.com/Shinmera/lquery.git")
10761 (commit commit)))
10762 (sha256
10763 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10764 (file-name (git-file-name name version))))
10765 (native-inputs
10766 `(("fiveam" ,sbcl-fiveam)))
10767 (inputs
10768 `(("array-utils" ,sbcl-array-utils)
10769 ("form-fiddle" ,sbcl-form-fiddle)
10770 ("plump" ,sbcl-plump)
10771 ("clss" ,sbcl-clss)))
10772 (build-system asdf-build-system/sbcl)
10773 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10774 (description "@code{lQuery} is a DOM manipulation library written in
10775Common Lisp, inspired by and based on the jQuery syntax and
10776functions. It uses Plump and CLSS as DOM and selector engines. The
10777main idea behind lQuery is to provide a simple interface for crawling
10778and modifying HTML sites, as well as to allow for an alternative
10779approach to templating.")
10780 (home-page "https://github.com/Shinmera/lquery")
10781 (license license:zlib))))
10782
10783(define-public cl-lquery
10784 (sbcl-package->cl-source-package sbcl-lquery))
10785
10786(define-public ecl-lquery
10787 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10788
10789(define-public sbcl-cl-mysql
10790 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10791 (revision "1"))
10792 (package
10793 (name "sbcl-cl-mysql")
10794 (version (git-version "0.1" revision commit))
10795 (source
10796 (origin
10797 (method git-fetch)
10798 (uri (git-reference
10799 (url "https://github.com/hackinghat/cl-mysql.git")
10800 (commit commit)))
10801 (file-name (git-file-name name version))
10802 (sha256
10803 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10804 (build-system asdf-build-system/sbcl)
10805 (native-inputs
10806 `(("stefil" ,sbcl-stefil)))
10807 (inputs
10808 `(("cffi" ,sbcl-cffi)
10809 ("mariadb-lib" ,mariadb "lib")))
10810 (arguments
10811 `(#:tests? #f ; TODO: Tests require a running server
10812 #:phases
10813 (modify-phases %standard-phases
10814 (add-after 'unpack 'fix-paths
10815 (lambda* (#:key inputs #:allow-other-keys)
10816 (substitute* "system.lisp"
10817 (("libmysqlclient_r" all)
10818 (string-append (assoc-ref inputs "mariadb-lib")
10819 "/lib/"
10820 all)))
10821 #t)))))
10822 (synopsis "Common Lisp wrapper for MySQL")
10823 (description
10824 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10825 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10826 (license license:expat))))
10827
10828(define-public cl-mysql
10829 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10830
10831(define-public sbcl-simple-date
10832 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10833 (revision "1"))
10834 (package
10835 (name "sbcl-simple-date")
10836 (version (git-version "1.19" revision commit))
10837 (source
10838 (origin
10839 (method git-fetch)
10840 (uri (git-reference
10841 (url "https://github.com/marijnh/Postmodern.git")
10842 (commit commit)))
10843 (file-name (git-file-name name version))
10844 (sha256
10845 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10846 (build-system asdf-build-system/sbcl)
10847 (native-inputs
10848 `(("fiveam" ,sbcl-fiveam)))
10849 (synopsis "Basic date and time objects for Common Lisp")
10850 (description
10851 "@code{simple-date} is a very basic implementation of date and time
10852objects, used to support storing and retrieving time-related SQL types.")
10853 (home-page "https://marijnhaverbeke.nl/postmodern/")
10854 (license license:zlib))))
10855
10856(define-public cl-simple-date
10857 (sbcl-package->cl-source-package sbcl-simple-date))
10858
10859(define-public ecl-simple-date
10860 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10861
10862(define-public sbcl-cl-postgres
10863 (package
10864 (inherit sbcl-simple-date)
10865 (name "sbcl-cl-postgres")
10866 (native-inputs
10867 `(("fiveam" ,sbcl-fiveam)
10868 ("simple-date" ,sbcl-simple-date)))
10869 (inputs
10870 `(("md5" ,sbcl-md5)
10871 ("split-sequence" ,sbcl-split-sequence)
10872 ("usocket" ,sbcl-usocket)))
10873 (arguments
10874 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10875 (synopsis "Common Lisp interface for PostgreSQL")
10876 (description
10877 "@code{cl-postgres} is a low-level library used for interfacing with
10878a PostgreSQL server over a socket.")))
10879
10880(define-public cl-postgres
10881 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10882
10883(define-public sbcl-simple-date-postgres-glue
10884 (package
10885 (inherit sbcl-simple-date)
10886 (name "sbcl-simple-date-postgres-glue")
10887 (inputs
10888 `(("cl-postgres" ,sbcl-cl-postgres)
10889 ("simple-date" ,sbcl-simple-date)))
10890 (arguments
10891 `(#:asd-file "simple-date.asd"
10892 #:asd-system-name "simple-date/postgres-glue"))))
10893
10894(define-public cl-simple-date-postgres-glue
10895 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10896
10897(define-public sbcl-s-sql
10898 (package
10899 (inherit sbcl-simple-date)
10900 (name "sbcl-s-sql")
10901 (inputs
10902 `(("alexandria" ,sbcl-alexandria)
10903 ("cl-postgres" ,sbcl-cl-postgres)))
10904 (arguments
10905 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10906 (synopsis "Lispy DSL for SQL")
10907 (description
10908 "@code{s-sql} is a Common Lisp library that can be used to compile
10909s-expressions to strings of SQL code, escaping any Lisp values inside, and
10910doing as much as possible of the work at compile time.")))
10911
10912(define-public cl-s-sql
10913 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10914
10915(define-public sbcl-postmodern
10916 (package
10917 (inherit sbcl-simple-date)
10918 (name "sbcl-postmodern")
10919 (native-inputs
10920 `(("fiveam" ,sbcl-fiveam)
10921 ("simple-date" ,sbcl-simple-date)
10922 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10923 (inputs
10924 `(("alexandria" ,sbcl-alexandria)
10925 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10926 ("cl-postgres" ,sbcl-cl-postgres)
10927 ("closer-mop" ,sbcl-closer-mop)
10928 ("global-vars" ,sbcl-global-vars)
10929 ("s-sql" ,sbcl-s-sql)
10930 ("split-sequence" ,sbcl-split-sequence)))
10931 (arguments
10932 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10933 ;; cl-postgres/tests and s-sql/tests.
10934 `(#:tests? #f))
10935 (synopsis "Common Lisp library for interacting with PostgreSQL")
10936 (description
10937 "@code{postmodern} is a Common Lisp library for interacting with
10938PostgreSQL databases. It provides the following features:
10939
10940@itemize
10941@item Efficient communication with the database server without need for
10942foreign libraries.
10943@item Support for UTF-8 on Unicode-aware Lisp implementations.
10944@item A syntax for mixing SQL and Lisp code.
10945@item Convenient support for prepared statements and stored procedures.
10946@item A metaclass for simple database-access objects.
10947@end itemize\n")))
10948
10949(define-public cl-postmodern
10950 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10951
10952(define-public sbcl-dbi
10953 (package
10954 (name "sbcl-dbi")
10955 (version "0.9.4")
10956 (source
10957 (origin
10958 (method git-fetch)
10959 (uri (git-reference
10960 (url "https://github.com/fukamachi/cl-dbi.git")
10961 (commit version)))
10962 (file-name (git-file-name name version))
10963 (sha256
10964 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10965 (build-system asdf-build-system/sbcl)
10966 (inputs
10967 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10968 ("closer-mop" ,sbcl-closer-mop)
10969 ("split-sequence" ,sbcl-split-sequence)))
10970 (arguments
10971 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
10972 (synopsis "Database independent interface for Common Lisp")
10973 (description
10974 "@code{dbi} is a Common Lisp library providing a database independent
10975interface for MySQL, PostgreSQL and SQLite.")
10976 (home-page "https://github.com/fukamachi/cl-dbi")
10977 (license license:llgpl)))
10978
10979(define-public cl-dbi
10980 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
10981
10982(define-public sbcl-dbd-mysql
10983 (package
10984 (inherit sbcl-dbi)
10985 (name "sbcl-dbd-mysql")
10986 (inputs
10987 `(("cl-mysql" ,sbcl-cl-mysql)
10988 ("dbi" ,sbcl-dbi)))
10989 (synopsis "Database driver for MySQL")))
10990
10991(define-public cl-dbd-mysql
10992 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
10993
10994(define-public sbcl-dbd-postgres
10995 (package
10996 (inherit sbcl-dbi)
10997 (name "sbcl-dbd-postgres")
10998 (inputs
10999 `(("cl-postgres" ,sbcl-cl-postgres)
11000 ("dbi" ,sbcl-dbi)
11001 ("trivial-garbage" ,sbcl-trivial-garbage)))
11002 (synopsis "Database driver for PostgreSQL")))
11003
11004(define-public cl-dbd-postgres
11005 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11006
11007(define-public sbcl-dbd-sqlite3
11008 (package
11009 (inherit sbcl-dbi)
11010 (name "sbcl-dbd-sqlite3")
11011 (inputs
11012 `(("cl-sqlite" ,sbcl-cl-sqlite)
11013 ("dbi" ,sbcl-dbi)
11014 ("trivial-garbage" ,sbcl-trivial-garbage)))
11015 (synopsis "Database driver for SQLite3")))
11016
11017(define-public cl-dbd-sqlite3
11018 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11019
11020(define-public sbcl-uffi
11021 (package
11022 (name "sbcl-uffi")
11023 (version "2.1.2")
11024 (source
11025 (origin
11026 (method git-fetch)
11027 (uri (git-reference
11028 (url "http://git.kpe.io/uffi.git")
11029 (commit (string-append "v" version))))
11030 (file-name (git-file-name name version))
11031 (sha256
11032 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11033 (build-system asdf-build-system/sbcl)
11034 (arguments
11035 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11036 #:phases
11037 (modify-phases %standard-phases
11038 (add-after 'unpack 'fix-permissions
11039 (lambda _
11040 (make-file-writable "doc/html.tar.gz")
11041 #t)))))
11042 (synopsis "Universal foreign function library for Common Lisp")
11043 (description
11044 "UFFI provides a universal foreign function interface (FFI)
11045 for Common Lisp.")
11046 (home-page "http://quickdocs.org/uffi/")
11047 (license license:llgpl)))
11048
11049(define-public cl-uffi
11050 (package
11051 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11052 (arguments
11053 `(#:phases
11054 ;; asdf-build-system/source has its own phases and does not inherit
11055 ;; from asdf-build-system/sbcl phases.
11056 (modify-phases %standard-phases/source
11057 (add-after 'unpack 'fix-permissions
11058 (lambda _
11059 (make-file-writable "doc/html.tar.gz")
11060 #t)))))))
5ae56f68
GLV
11061
11062(define-public sbcl-clsql
11063 (package
11064 (name "sbcl-clsql")
11065 (version "6.7.0")
11066 (source
11067 (origin
11068 (method git-fetch)
11069 (uri (git-reference
11070 (url "http://git.kpe.io/clsql.git")
11071 (commit (string-append "v" version))))
11072 (file-name (git-file-name name version))
11073 (sha256
11074 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11075 (snippet
11076 '(begin
11077 ;; Remove precompiled libraries.
11078 (delete-file "db-mysql/clsql_mysql.dll")
11079 (delete-file "uffi/clsql_uffi.dll")
11080 (delete-file "uffi/clsql_uffi.lib")
11081 #t))))
11082 (build-system asdf-build-system/sbcl)
11083 (native-inputs
11084 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11085 ("rt" ,sbcl-rt)
11086 ("uffi" ,sbcl-uffi)))
11087 (arguments
11088 `(#:phases
11089 (modify-phases %standard-phases
11090 (add-after 'unpack 'fix-permissions
11091 (lambda _
11092 (make-file-writable "doc/html.tar.gz")
11093 #t))
11094 (add-after 'unpack 'fix-tests
11095 (lambda _
11096 (substitute* "clsql.asd"
11097 (("clsql-tests :force t")
11098 "clsql-tests"))
11099 #t)))))
11100 (synopsis "Common Lisp SQL Interface library")
11101 (description
11102 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11103Xanalys CommonSQL interface for Lispworks. It provides low-level database
11104interfaces as well as a functional and an object oriented interface.")
11105 (home-page "http://clsql.kpe.io/")
11106 (license license:llgpl)))
11107
11108(define-public cl-clsql
11109 (package
11110 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11111 (native-inputs
11112 `(("rt" ,cl-rt)))
11113 (inputs
11114 `(("mysql" ,mysql)
11115 ("postgresql" ,postgresql)
11116 ("sqlite" ,sqlite)
11117 ("zlib" ,zlib)))
11118 (propagated-inputs
11119 `(("cl-postgres" ,cl-postgres)
11120 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11121 ("md5" ,cl-md5)
11122 ("uffi" ,cl-uffi)))
11123 (arguments
11124 `(#:phases
11125 ;; asdf-build-system/source has its own phases and does not inherit
11126 ;; from asdf-build-system/sbcl phases.
11127 (modify-phases %standard-phases/source
11128 (add-after 'unpack 'fix-permissions
11129 (lambda _
11130 (make-file-writable "doc/html.tar.gz")
11131 #t)))))))
a5f44287
GLV
11132
11133(define-public sbcl-clsql-uffi
11134 (package
11135 (inherit sbcl-clsql)
11136 (name "sbcl-clsql-uffi")
11137 (inputs
11138 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11139 ("clsql" ,sbcl-clsql)
11140 ("uffi" ,sbcl-uffi)))
11141 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11142
11143(define-public sbcl-clsql-sqlite3
11144 (package
11145 (inherit sbcl-clsql)
11146 (name "sbcl-clsql-sqlite3")
11147 (inputs
11148 `(("clsql" ,sbcl-clsql)
11149 ("clsql-uffi" ,sbcl-clsql-uffi)
11150 ("sqlite" ,sqlite)))
11151 (arguments
11152 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11153 ((#:phases phases '%standard-phases)
11154 `(modify-phases ,phases
11155 (add-after 'unpack 'fix-paths
11156 (lambda* (#:key inputs #:allow-other-keys)
11157 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11158 (("libsqlite3")
11159 (string-append (assoc-ref inputs "sqlite")
11160 "/lib/libsqlite3")))
11161 #t))))))
11162 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11163
11164(define-public sbcl-clsql-postgresql
11165 (package
11166 (inherit sbcl-clsql)
11167 (name "sbcl-clsql-postgresql")
11168 (inputs
11169 `(("clsql" ,sbcl-clsql)
11170 ("clsql-uffi" ,sbcl-clsql-uffi)
11171 ("postgresql" ,postgresql)))
11172 (arguments
11173 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11174 ((#:phases phases '%standard-phases)
11175 `(modify-phases ,phases
11176 (add-after 'unpack 'fix-paths
11177 (lambda* (#:key inputs #:allow-other-keys)
11178 (substitute* "db-postgresql/postgresql-loader.lisp"
11179 (("libpq")
11180 (string-append (assoc-ref inputs "postgresql")
11181 "/lib/libpq")))
11182 #t))))))
11183 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11184
11185(define-public sbcl-clsql-postgresql-socket3
11186 (package
11187 (inherit sbcl-clsql)
11188 (name "sbcl-clsql-postgresql-socket3")
11189 (inputs
11190 `(("cl-postgres" ,sbcl-cl-postgres)
11191 ("clsql" ,sbcl-clsql)
11192 ("md5" ,sbcl-md5)))
11193 (arguments
11194 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11195 ((#:phases phases '%standard-phases)
11196 `(modify-phases ,phases
11197 (add-after 'create-asd-file 'fix-asd-file
11198 (lambda* (#:key outputs #:allow-other-keys)
11199 (let* ((out (assoc-ref outputs "out"))
11200 (lib (string-append out "/lib/" (%lisp-type)))
11201 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11202 (substitute* asd
11203 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11204 "")))
11205 #t))))))
11206 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11207
11208(define-public sbcl-clsql-mysql
11209 (package
11210 (inherit sbcl-clsql)
11211 (name "sbcl-clsql-mysql")
11212 (inputs
11213 `(("mysql" ,mysql)
11214 ("sbcl-clsql" ,sbcl-clsql)
11215 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11216 ("zlib" ,zlib)))
11217 (arguments
11218 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11219 ((#:phases phases '%standard-phases)
11220 `(modify-phases ,phases
11221 (add-after 'unpack 'fix-paths
11222 (lambda* (#:key inputs outputs #:allow-other-keys)
11223 (let ((lib (string-append "#p\""
11224 (assoc-ref outputs "out")
11225 "/lib/\"")))
11226 (substitute* "clsql-mysql.asd"
11227 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11228 lib))
11229 (substitute* "db-mysql/mysql-loader.lisp"
11230 (("libmysqlclient" all)
11231 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11232 (("clsql-mysql-system::\\*library-file-dir\\*")
11233 lib)))
11234 #t))
11235 (add-before 'build 'build-helper-library
11236 (lambda* (#:key inputs outputs #:allow-other-keys)
11237 (let* ((mysql (assoc-ref inputs "mysql"))
11238 (inc-dir (string-append mysql "/include/mysql"))
11239 (lib-dir (string-append mysql "/lib"))
11240 (shared-lib-dir (string-append (assoc-ref outputs "out")
11241 "/lib"))
11242 (shared-lib (string-append shared-lib-dir
11243 "/clsql_mysql.so")))
11244 (mkdir-p shared-lib-dir)
11245 (invoke "gcc" "-fPIC" "-shared"
11246 "-I" inc-dir
11247 "db-mysql/clsql_mysql.c"
11248 "-Wl,-soname=clsql_mysql"
11249 "-L" lib-dir "-lmysqlclient" "-lz"
11250 "-o" shared-lib)
11251 #t)))))))
11252 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11253
11254(define-public sbcl-sycamore
11255 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11256 (package
11257 (name "sbcl-sycamore")
11258 (version "0.0.20120604")
11259 (source
11260 (origin
11261 (method git-fetch)
11262 (uri (git-reference
11263 (url "https://github.com/ndantam/sycamore/")
11264 (commit commit)))
11265 (file-name (git-file-name name version))
11266 (sha256
11267 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11268 (build-system asdf-build-system/sbcl)
11269 (arguments
11270 `(#:asd-file "src/sycamore.asd"))
11271 (inputs
11272 `(("alexandria" ,sbcl-alexandria)
11273 ("cl-ppcre" ,sbcl-cl-ppcre)))
11274 (synopsis "Purely functional data structure library in Common Lisp")
11275 (description
11276 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11277If features:
11278
11279@itemize
11280@item Fast, purely functional weight-balanced binary trees.
11281@item Leaf nodes are simple-vectors, greatly reducing tree height.
11282@item Interfaces for tree Sets and Maps (dictionaries).
11283@item Ropes.
11284@item Purely functional pairing heaps.
11285@item Purely functional amortized queue.
11286@end itemize\n")
11287 (home-page "http://ndantam.github.io/sycamore/")
11288 (license license:bsd-3))))
11289
11290(define-public cl-sycamore
11291 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11292
11293(define-public sbcl-trivial-package-local-nicknames
11294 (package
11295 (name "sbcl-trivial-package-local-nicknames")
11296 (version "0.2")
11297 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11298 (source
11299 (origin
11300 (method git-fetch)
11301 (uri (git-reference
11302 (url home-page)
11303 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11304 (file-name (git-file-name name version))
11305 (sha256
11306 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11307 (build-system asdf-build-system/sbcl)
11308 (synopsis "Common Lisp compatibility library for package local nicknames")
11309 (description
11310 "This library is a portable compatibility layer around package local nicknames (PLN).
11311This was done so there is a portability library for the PLN API not included
11312in DEFPACKAGE.")
11313 (license license:unlicense)))
11314
11315(define-public cl-trivial-package-local-nicknames
11316 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11317
11318(define-public sbcl-enchant
11319 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11320 (package
11321 (name "sbcl-enchant")
11322 (version (git-version "0.0.0" "1" commit))
11323 (home-page "https://github.com/tlikonen/cl-enchant")
11324 (source
11325 (origin
11326 (method git-fetch)
11327 (uri (git-reference
11328 (url home-page)
11329 (commit commit)))
11330 (file-name (git-file-name name version))
11331 (sha256
11332 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11333 (build-system asdf-build-system/sbcl)
11334 (inputs
11335 `(("enchant" ,enchant)
11336 ("cffi" ,sbcl-cffi)))
11337 (arguments
11338 `(#:phases
11339 (modify-phases %standard-phases
11340 (add-after 'unpack 'fix-paths
11341 (lambda* (#:key inputs #:allow-other-keys)
11342 (substitute* "load-enchant.lisp"
11343 (("libenchant")
11344 (string-append
11345 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11346 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11347 (description
11348 "Enchant is a Common Lisp interface for the Enchant spell-checker
11349library. The Enchant library is a generic spell-checker library which uses
11350other spell-checkers transparently as back-end. The library supports the
11351multiple checkers, including Aspell and Hunspell.")
11352 (license license:public-domain))))
11353
11354(define-public cl-enchant
11355 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11356
11357(define-public sbcl-cl-change-case
11358 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11359 (package
11360 (name "sbcl-cl-change-case")
11361 (version (git-version "0.1.0" "1" commit))
11362 (home-page "https://github.com/rudolfochrist/cl-change-case")
11363 (source
11364 (origin
11365 (method git-fetch)
11366 (uri (git-reference
11367 (url home-page)
11368 (commit commit)))
11369 (file-name (git-file-name name version))
11370 (sha256
11371 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11372 (build-system asdf-build-system/sbcl)
11373 (inputs
11374 `(("cl-ppcre" ,sbcl-cl-ppcre)
11375 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11376 (native-inputs
11377 `(("fiveam" ,sbcl-fiveam)))
11378 (arguments
11379 '(;; FIXME: Test pass but phase fails with 'Component
11380 ;; "cl-change-case-test" not found, required by'.
11381 #:tests? #f
11382 #:test-asd-file "cl-change-case-test.asd"))
11383 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11384 (description
11385 "@code{cl-change-case} is library to convert strings between camelCase,
11386PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11387 (license license:llgpl))))
11388
11389(define-public cl-change-case
11390 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11391
11392(define-public sbcl-moptilities
11393 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11394 (package
11395 (name "sbcl-moptilities")
11396 (version (git-version "0.3.13" "1" commit))
11397 (home-page "https://github.com/gwkkwg/moptilities/")
11398 (source
11399 (origin
11400 (method git-fetch)
11401 (uri (git-reference
11402 (url home-page)
11403 (commit commit)))
11404 (file-name (git-file-name name version))
11405 (sha256
11406 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11407 (build-system asdf-build-system/sbcl)
11408 (inputs
11409 `(("closer-mop" ,sbcl-closer-mop)))
11410 (native-inputs
11411 `(("lift" ,sbcl-lift)))
11412 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11413 (description
11414 "MOP utilities provide a common interface between Lisps and make the
11415MOP easier to use.")
11416 (license license:expat))))
11417
11418(define-public cl-moptilities
11419 (sbcl-package->cl-source-package sbcl-moptilities))