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