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