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