gnu: spice-gtk: Add an absolute reference for libjpeg in the .la files.
[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>
13;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
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)
88f06fd0
PN
56 #:use-module (gnu packages glib)
57 #:use-module (gnu packages gtk)
d3a2df68 58 #:use-module (gnu packages imagemagick)
37b48dc1 59 #:use-module (gnu packages libevent)
88f06fd0
PN
60 #:use-module (gnu packages libffi)
61 #:use-module (gnu packages lisp)
064dbb71 62 #:use-module (gnu packages maths)
a3f6c410 63 #:use-module (gnu packages networking)
88f06fd0
PN
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages python)
66 #:use-module (gnu packages python-xyz)
67 #:use-module (gnu packages sqlite)
d3a2df68 68 #:use-module (gnu packages tcl)
88f06fd0
PN
69 #:use-module (gnu packages tls)
70 #:use-module (gnu packages webkit)
71 #:use-module (gnu packages xdisorg)
72 #:use-module (ice-9 match)
73 #:use-module (srfi srfi-19))
74
75(define-public sbcl-alexandria
76 (let ((revision "1")
77 (commit "3b849bc0116ea70f215ee6b2fbf354e862aaa9dd"))
78 (package
79 (name "sbcl-alexandria")
80 (version (git-version "1.0.0" revision commit))
81 (source
82 (origin
83 (method git-fetch)
84 (uri (git-reference
85 (url "https://gitlab.common-lisp.net/alexandria/alexandria.git")
86 (commit commit)))
87 (sha256
88 (base32
89 "04amwvx2vl691f0plcfbqqwxgib9zimih7jrn5zl7mbwvrxy022b"))
90 (file-name (git-file-name name version))))
91 (build-system asdf-build-system/sbcl)
92 (native-inputs
93 `(("rt" ,sbcl-rt)))
94 (synopsis "Collection of portable utilities for Common Lisp")
95 (description
96 "Alexandria is a collection of portable utilities. It does not contain
97conceptual extensions to Common Lisp. It is conservative in scope, and
98portable between implementations.")
99 (home-page "https://common-lisp.net/project/alexandria/")
100 (license license:public-domain))))
101
102(define-public cl-alexandria
103 (sbcl-package->cl-source-package sbcl-alexandria))
104
105(define-public ecl-alexandria
106 (sbcl-package->ecl-package sbcl-alexandria))
107
108(define-public sbcl-net.didierverna.asdf-flv
109 (package
110 (name "sbcl-net.didierverna.asdf-flv")
111 (version "2.1")
112 (source
113 (origin
114 (method git-fetch)
115 (uri (git-reference
116 (url "https://github.com/didierverna/asdf-flv")
117 (commit (string-append "version-" version))))
118 (file-name (git-file-name "asdf-flv" version))
119 (sha256
120 (base32 "1fi2y4baxan103jbg4idjddzihy03kwnj2mzbwrknw4d4x7xlgwj"))))
121 (build-system asdf-build-system/sbcl)
122 (synopsis "Common Lisp ASDF extension to provide support for file-local variables")
123 (description "ASDF-FLV provides support for file-local variables through
124ASDF. A file-local variable behaves like @code{*PACKAGE*} and
125@code{*READTABLE*} with respect to @code{LOAD} and @code{COMPILE-FILE}: a new
126dynamic binding is created before processing the file, so that any
127modification to the variable becomes essentially file-local.
128
129In order to make one or several variables file-local, use the macros
130@code{SET-FILE-LOCAL-VARIABLE(S)}.")
131 (home-page "https://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv")
132 (license (license:non-copyleft
133 "https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"
134 "GNU All-Permissive License"))))
135
136(define-public cl-net.didierverna.asdf-flv
137 (sbcl-package->cl-source-package sbcl-net.didierverna.asdf-flv))
138
139(define-public ecl-net.didierverna.asdf-flv
140 (sbcl-package->ecl-package sbcl-net.didierverna.asdf-flv))
141
142(define-public sbcl-fiveam
143 (package
144 (name "sbcl-fiveam")
145 (version "1.4.1")
146 (source
147 (origin
148 (method git-fetch)
149 (uri (git-reference
150 (url "https://github.com/sionescu/fiveam.git")
151 (commit (string-append "v" version))))
152 (file-name (git-file-name "fiveam" version))
153 (sha256
154 (base32 "1q3d38pwafnwnw42clq0f8g5xw7pbzr287jl9jsqmb1vb0n1vrli"))))
155 (inputs
156 `(("alexandria" ,sbcl-alexandria)
157 ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv)
158 ("trivial-backtrace" ,sbcl-trivial-backtrace)))
159 (build-system asdf-build-system/sbcl)
160 (synopsis "Common Lisp testing framework")
161 (description "FiveAM is a simple (as far as writing and running tests
162goes) regression testing framework. It has been designed with Common Lisp's
163interactive development model in mind.")
164 (home-page "https://common-lisp.net/project/fiveam/")
165 (license license:bsd-3)))
166
167(define-public cl-fiveam
168 (sbcl-package->cl-source-package sbcl-fiveam))
169
170(define-public ecl-fiveam
171 (sbcl-package->ecl-package sbcl-fiveam))
172
173(define-public sbcl-bordeaux-threads
5a647850
GLV
174 (package
175 (name "sbcl-bordeaux-threads")
176 (version "0.8.7")
177 (source (origin
178 (method git-fetch)
179 (uri (git-reference
180 (url "https://github.com/sionescu/bordeaux-threads.git")
181 (commit (string-append "v" version))))
182 (sha256
183 (base32 "1whpfmyxp2fsw6viqj45fqgsifgr534c575bfh5vaqw5m84b6alp"))
184 (file-name
185 (git-file-name "bordeaux-threads" version))))
186 (inputs `(("alexandria" ,sbcl-alexandria)))
187 (native-inputs `(("fiveam" ,sbcl-fiveam)))
188 (build-system asdf-build-system/sbcl)
189 (synopsis "Portable shared-state concurrency library for Common Lisp")
190 (description "BORDEAUX-THREADS is a proposed standard for a minimal
88f06fd0
PN
191MP/Threading interface. It is similar to the CLIM-SYS threading and lock
192support.")
5a647850
GLV
193 (home-page "https://common-lisp.net/project/bordeaux-threads/")
194 (license license:x11)))
88f06fd0
PN
195
196(define-public cl-bordeaux-threads
197 (sbcl-package->cl-source-package sbcl-bordeaux-threads))
198
199(define-public ecl-bordeaux-threads
200 (sbcl-package->ecl-package sbcl-bordeaux-threads))
201
202(define-public sbcl-trivial-gray-streams
203 (let ((revision "1")
204 (commit "0483ade330508b4b2edeabdb47d16ec9437ee1cb"))
205 (package
206 (name "sbcl-trivial-gray-streams")
207 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
208 (source
209 (origin
210 (method git-fetch)
211 (uri
212 (git-reference
213 (url "https://github.com/trivial-gray-streams/trivial-gray-streams.git")
214 (commit commit)))
215 (sha256
216 (base32 "0m3rpf2x0zmdk3nf1qfa01j6a55vj7gkwhyw78qslcgbjlgh8p4d"))
217 (file-name
218 (string-append "trivial-gray-streams-" version "-checkout"))))
219 (build-system asdf-build-system/sbcl)
220 (synopsis "Compatibility layer for Gray streams implementations")
221 (description "Gray streams is an interface proposed for inclusion with
222ANSI CL by David N. Gray. The proposal did not make it into ANSI CL, but most
223popular CL implementations implement it. This package provides an extremely
224thin compatibility layer for gray streams.")
0eecc9eb 225 (home-page "https://www.cliki.net/trivial-gray-streams")
88f06fd0
PN
226 (license license:x11))))
227
228(define-public cl-trivial-gray-streams
229 (sbcl-package->cl-source-package sbcl-trivial-gray-streams))
230
231(define-public ecl-trivial-gray-streams
232 (sbcl-package->ecl-package sbcl-trivial-gray-streams))
233
234(define-public sbcl-fiasco
235 (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f")
236 (revision "1"))
237 (package
238 (name "sbcl-fiasco")
239 (version (git-version "0.0.1" revision commit))
240 (source
241 (origin
242 (method git-fetch)
243 (uri (git-reference
244 (url "https://github.com/joaotavora/fiasco.git")
245 (commit commit)))
246 (file-name (git-file-name "fiasco" version))
247 (sha256
248 (base32
249 "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh"))))
250 (build-system asdf-build-system/sbcl)
251 (inputs
252 `(("alexandria" ,sbcl-alexandria)
253 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
254 (synopsis "Simple and powerful test framework for Common Lisp")
255 (description "A Common Lisp test framework that treasures your failures,
256logical continuation of Stefil. It focuses on interactive debugging.")
257 (home-page "https://github.com/joaotavora/fiasco")
258 ;; LICENCE specifies this is public-domain unless the legislation
259 ;; doesn't allow or recognize it. In that case it falls back to a
260 ;; permissive licence.
261 (license (list license:public-domain
262 (license:x11-style "file://LICENCE"))))))
263
264(define-public cl-fiasco
265 (sbcl-package->cl-source-package sbcl-fiasco))
266
267(define-public ecl-fiasco
268 (sbcl-package->ecl-package sbcl-fiasco))
269
270(define-public sbcl-flexi-streams
271 (package
272 (name "sbcl-flexi-streams")
6b0604fd 273 (version "1.0.18")
88f06fd0
PN
274 (source
275 (origin
276 (method git-fetch)
277 (uri (git-reference
278 (url "https://github.com/edicl/flexi-streams.git")
279 (commit (string-append "v" version))))
280 (file-name (git-file-name "flexi-streams" version))
281 (sha256
6b0604fd 282 (base32 "0bjv7fd2acknidc5dyi3h85pn10krxv5jyxs1xg8jya2rlfv7f1j"))))
88f06fd0
PN
283 (build-system asdf-build-system/sbcl)
284 (arguments
285 `(#:phases
286 (modify-phases %standard-phases
287 (add-after 'unpack 'make-git-checkout-writable
288 (lambda _
289 (for-each make-file-writable (find-files "."))
290 #t)))))
291 (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
292 (synopsis "Implementation of virtual bivalent streams for Common Lisp")
293 (description "Flexi-streams is an implementation of \"virtual\" bivalent
294streams that can be layered atop real binary or bivalent streams and that can
295be used to read and write character data in various single- or multi-octet
296encodings which can be changed on the fly. It also supplies in-memory binary
297streams which are similar to string streams.")
298 (home-page "http://weitz.de/flexi-streams/")
299 (license license:bsd-3)))
300
301(define-public cl-flexi-streams
302 (sbcl-package->cl-source-package sbcl-flexi-streams))
303
304(define-public ecl-flexi-streams
305 (sbcl-package->ecl-package sbcl-flexi-streams))
306
307(define-public sbcl-cl-ppcre
308 (package
309 (name "sbcl-cl-ppcre")
6c874425 310 (version "2.1.1")
88f06fd0
PN
311 (source
312 (origin
313 (method git-fetch)
314 (uri (git-reference
315 (url "https://github.com/edicl/cl-ppcre.git")
316 (commit (string-append "v" version))))
317 (file-name (git-file-name "cl-ppcre" version))
318 (sha256
6c874425 319 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi"))))
88f06fd0
PN
320 (build-system asdf-build-system/sbcl)
321 (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
322 (synopsis "Portable regular expression library for Common Lisp")
323 (description "CL-PPCRE is a portable regular expression library for Common
324Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
325compatible with ANSI-compliant Common Lisp implementations.")
326 (home-page "http://weitz.de/cl-ppcre/")
327 (license license:bsd-2)))
328
329(define-public cl-ppcre
330 (sbcl-package->cl-source-package sbcl-cl-ppcre))
331
332(define-public ecl-cl-ppcre
333 (sbcl-package->ecl-package sbcl-cl-ppcre))
334
335(define sbcl-cl-unicode-base
6fdfef66
GLV
336 (package
337 (name "sbcl-cl-unicode-base")
338 (version "0.1.6")
339 (source (origin
340 (method git-fetch)
341 (uri (git-reference
342 (url "https://github.com/edicl/cl-unicode.git")
343 (commit (string-append "v" version))))
344 (file-name (git-file-name name version))
345 (sha256
346 (base32
347 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza"))))
348 (build-system asdf-build-system/sbcl)
349 (arguments
350 '(#:asd-file "cl-unicode.asd"
351 #:asd-system-name "cl-unicode/base"))
352 (inputs
353 `(("cl-ppcre" ,sbcl-cl-ppcre)))
354 (home-page "http://weitz.de/cl-unicode/")
355 (synopsis "Portable Unicode library for Common Lisp")
356 (description "CL-UNICODE is a portable Unicode library Common Lisp, which
88f06fd0
PN
357is compatible with perl. It is pretty fast, thread-safe, and compatible with
358ANSI-compliant Common Lisp implementations.")
6fdfef66 359 (license license:bsd-2)))
88f06fd0
PN
360
361(define-public sbcl-cl-unicode
362 (package
363 (inherit sbcl-cl-unicode-base)
364 (name "sbcl-cl-unicode")
365 (inputs
366 `(("cl-unicode/base" ,sbcl-cl-unicode-base)
367 ,@(package-inputs sbcl-cl-unicode-base)))
368 (native-inputs
369 `(("flexi-streams" ,sbcl-flexi-streams)))
370 (arguments '())))
371
372(define-public ecl-cl-unicode
373 (sbcl-package->ecl-package sbcl-cl-unicode))
374
375(define-public cl-unicode
376 (sbcl-package->cl-source-package sbcl-cl-unicode))
377
92afa57b
RW
378(define-public sbcl-zpb-ttf
379 (package
380 (name "sbcl-zpb-ttf")
381 (version "1.0.3")
382 (source
383 (origin
384 (method git-fetch)
385 (uri (git-reference
386 (url "https://github.com/xach/zpb-ttf.git")
387 (commit (string-append "release-" version))))
388 (file-name (git-file-name name version))
389 (sha256
390 (base32
391 "1wh66vjijzqlydnrihynpwp6796917xwrh0i9li93c17kyxa74ih"))))
392 (build-system asdf-build-system/sbcl)
393 (home-page "https://github.com/xach/zpb-ttf")
394 (synopsis "TrueType font file access for Common Lisp")
395 (description
396 "ZPB-TTF is a TrueType font file parser that provides an interface for
397reading typographic metrics, glyph outlines, and other information from the
398file.")
399 (license license:bsd-2)))
400
401(define-public ecl-zpb-ttf
402 (sbcl-package->ecl-package sbcl-zpb-ttf))
403
404(define-public cl-zpb-ttf
405 (sbcl-package->cl-source-package sbcl-zpb-ttf))
406
64997728
RW
407(define-public sbcl-cl-aa
408 (package
409 (name "sbcl-cl-aa")
410 (version "0.1.5")
411 (source
412 (origin
413 (method url-fetch)
414 (uri (string-append "http://projects.tuxee.net/cl-vectors/"
415 "files/cl-vectors-" version ".tar.gz"))
416 (sha256
417 (base32
418 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh"))))
419 (build-system asdf-build-system/sbcl)
420 (arguments '(#:asd-file "cl-aa.asd"))
421 (home-page "http://projects.tuxee.net/cl-vectors/")
422 (synopsis "Polygon rasterizer")
423 (description
424 "This is a Common Lisp library implementing the AA polygon rasterization
425algorithm from the @url{http://antigrain.com, Antigrain} project.")
426 (license license:expat)))
427
428(define-public ecl-cl-aa
429 (sbcl-package->ecl-package sbcl-cl-aa))
430
431(define-public cl-aa
432 (sbcl-package->cl-source-package sbcl-cl-aa))
433
b571dfdb
RW
434(define-public sbcl-cl-paths
435 (package
436 (inherit sbcl-cl-aa)
437 (name "sbcl-cl-paths")
438 (arguments '(#:asd-file "cl-paths.asd"))
439 (synopsis "Facilities to create and manipulate vectorial paths")
440 (description
441 "This package provides facilities to create and manipulate vectorial
442paths.")))
443
444(define-public ecl-cl-paths
445 (sbcl-package->ecl-package sbcl-cl-paths))
446
447(define-public cl-paths
448 (sbcl-package->cl-source-package sbcl-cl-paths))
449
0dbd7c3c
RW
450(define-public sbcl-cl-paths-ttf
451 (package
452 (inherit sbcl-cl-aa)
453 (name "sbcl-cl-paths-ttf")
454 (arguments '(#:asd-file "cl-paths-ttf.asd"))
455 (inputs
456 `(("cl-paths" ,sbcl-cl-paths)
457 ("zpb-ttf" ,sbcl-zpb-ttf)))
458 (synopsis "Facilities to create and manipulate vectorial paths")
459 (description
460 "This package provides facilities to create and manipulate vectorial
461paths.")))
462
463(define-public ecl-cl-paths-ttf
464 (sbcl-package->ecl-package sbcl-cl-paths-ttf))
465
466(define-public cl-paths-ttf
467 (sbcl-package->cl-source-package sbcl-cl-paths-ttf))
468
94c621bd
RW
469(define-public sbcl-cl-vectors
470 (package
471 (inherit sbcl-cl-aa)
472 (name "sbcl-cl-vectors")
473 (arguments '(#:asd-file "cl-vectors.asd"))
474 (inputs
475 `(("cl-aa" ,sbcl-cl-aa)
476 ("cl-paths" ,sbcl-cl-paths)))
477 (synopsis "Create, transform and render anti-aliased vectorial paths")
478 (description
479 "This is a pure Common Lisp library to create, transform and render
480anti-aliased vectorial paths.")))
481
482(define-public ecl-cl-vectors
483 (sbcl-package->ecl-package sbcl-cl-vectors))
484
485(define-public cl-vectors
486 (sbcl-package->cl-source-package sbcl-cl-vectors))
487
7c62d384
RW
488(define-public sbcl-spatial-trees
489 ;; There have been no releases.
490 (let ((commit "81fdad0a0bf109c80a53cc96eca2e093823400ba")
491 (revision "1"))
492 (package
493 (name "sbcl-spatial-trees")
494 (version (git-version "0" revision commit))
495 (source
496 (origin
497 (method git-fetch)
498 (uri (git-reference
499 (url "https://github.com/rpav/spatial-trees.git")
500 (commit commit)))
501 (file-name (git-file-name name version))
502 (sha256
503 (base32
504 "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa"))))
505 (build-system asdf-build-system/sbcl)
506 (arguments
507 '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns
508 #:asd-file "spatial-trees.asd"
509 #:test-asd-file "spatial-trees.test.asd"))
510 (native-inputs
511 `(("fiveam" ,sbcl-fiveam)))
512 (home-page "https://github.com/rpav/spatial-trees")
513 (synopsis "Dynamic index data structures for spatially-extended data")
514 (description
515 "Spatial-trees is a set of dynamic index data structures for
516spatially-extended data.")
517 (license license:bsd-3))))
518
519(define-public ecl-spatial-trees
520 (sbcl-package->ecl-package sbcl-spatial-trees))
521
522(define-public cl-spatial-trees
523 (sbcl-package->cl-source-package sbcl-spatial-trees))
524
5dfde3f5
RW
525(define-public sbcl-flexichain
526 ;; There are no releases.
527 (let ((commit "13d2a6c505ed0abfcd4c4ec7d7145059b06855d6")
528 (revision "1"))
529 (package
530 (name "sbcl-flexichain")
531 (version "1.5.1")
532 (source
533 (origin
534 (method git-fetch)
535 (uri (git-reference
536 (url "https://github.com/robert-strandh/Flexichain.git")
537 (commit commit)))
538 (file-name (git-file-name name version))
539 (sha256
540 (base32
541 "0pfyvhsfbjd2sjb30grfs52r51a428xglv7bwydvpg2lc117qimg"))))
542 (build-system asdf-build-system/sbcl)
543 (home-page "https://github.com/robert-strandh/Flexichain.git")
544 (synopsis "Dynamically add elements to or remove them from sequences")
545 (description
546 "This package provides an implementation of the flexichain protocol,
547allowing client code to dynamically add elements to, and delete elements from
548a sequence (or chain) of such elements.")
549 (license license:lgpl2.1+))))
550
551(define-public ecl-flexichain
552 (sbcl-package->ecl-package sbcl-flexichain))
553
554(define-public cl-flexichain
555 (sbcl-package->cl-source-package sbcl-flexichain))
556
e088a010
RW
557(define-public sbcl-cl-pdf
558 ;; There are no releases
559 (let ((commit "752e337e6d6fc206f09d091a982e7f8e5c404e4e")
560 (revision "1"))
561 (package
562 (name "sbcl-cl-pdf")
563 (version (git-version "0" revision commit))
564 (source
565 (origin
566 (method git-fetch)
567 (uri (git-reference
568 (url "https://github.com/mbattyani/cl-pdf.git")
569 (commit commit)))
570 (file-name (git-file-name name version))
571 (sha256
572 (base32
573 "1cg3k3m3r11ipb8j008y8ipynj97l3xjlpi2knqc9ndmx4r3kb1r"))))
574 (build-system asdf-build-system/sbcl)
575 (inputs
576 `(("iterate" ,sbcl-iterate)
577 ("zpb-ttf" ,sbcl-zpb-ttf)))
578 (home-page "https://github.com/mbattyani/cl-pdf")
579 (synopsis "Common Lisp library for generating PDF files")
580 (description
581 "CL-PDF is a cross-platform Common Lisp library for generating PDF
582files.")
583 (license license:bsd-2))))
584
585(define-public ecl-cl-pdf
586 (sbcl-package->ecl-package sbcl-cl-pdf))
587
588(define-public cl-pdf
589 (sbcl-package->cl-source-package sbcl-cl-pdf))
590
88f06fd0
PN
591(define-public sbcl-clx
592 (package
593 (name "sbcl-clx")
594 (version "0.7.5")
595 (source
596 (origin
597 (method git-fetch)
598 (uri
599 (git-reference
600 (url "https://github.com/sharplispers/clx.git")
601 (commit version)))
602 (sha256
603 (base32
604 "1vi67z9hpj5rr4xcmfbfwzmlcc0ah7hzhrmfid6lqdkva238v2wf"))
605 (file-name (string-append "clx-" version))))
606 (build-system asdf-build-system/sbcl)
607 (native-inputs
608 `(("fiasco" ,sbcl-fiasco)))
f0db7779 609 (home-page "https://www.cliki.net/portable-clx")
88f06fd0
PN
610 (synopsis "X11 client library for Common Lisp")
611 (description "CLX is an X11 client library for Common Lisp. The code was
612originally taken from a CMUCL distribution, was modified somewhat in order to
613make it compile and run under SBCL, then a selection of patches were added
614from other CLXes around the net.")
615 (license license:x11)))
616
617(define-public cl-clx
618 (sbcl-package->cl-source-package sbcl-clx))
619
620(define-public ecl-clx
621 (sbcl-package->ecl-package sbcl-clx))
622
1fbd1b4c
OP
623(define-public sbcl-clx-truetype
624 (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
625 (revision "1"))
626 (package
627 (name "sbcl-clx-truetype")
628 (version (git-version "0.0.1" revision commit))
629 (source
630 (origin
631 (method git-fetch)
632 (uri (git-reference
633 (url "https://github.com/l04m33/clx-truetype")
634 (commit commit)))
635 (file-name (git-file-name name version))
636 (sha256
637 (base32
638 "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37"))
639 (modules '((guix build utils)))
640 (snippet
641 '(begin
642 (substitute* "package.lisp"
643 ((":export") ":export\n :+font-cache-filename+"))
644 #t))))
645 (build-system asdf-build-system/sbcl)
646 (inputs
647 `(("clx" ,sbcl-clx)
648 ("zpb-ttf" ,sbcl-zpb-ttf)
649 ("cl-vectors" ,sbcl-cl-vectors)
650 ("cl-paths-ttf" ,sbcl-cl-paths-ttf)
651 ("cl-fad" ,sbcl-cl-fad)
652 ("cl-store" ,sbcl-cl-store)
653 ("trivial-features" ,sbcl-trivial-features)))
654 (home-page "https://github.com/l04m33/clx-truetype")
655 (synopsis "Antialiased TrueType font rendering using CLX and XRender")
656 (description "CLX-TrueType is pure common lisp solution for
657antialiased TrueType font rendering using CLX and XRender extension.")
658 (license license:expat))))
659
88f06fd0
PN
660(define-public sbcl-cl-ppcre-unicode
661 (package (inherit sbcl-cl-ppcre)
662 (name "sbcl-cl-ppcre-unicode")
663 (arguments
664 `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found"
665 #:asd-file "cl-ppcre-unicode.asd"))
666 (inputs
667 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
668 ("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
669
54dc3ba2
GLV
670(define-public ecl-cl-ppcre-unicode
671 (sbcl-package->ecl-package sbcl-cl-ppcre-unicode))
672
88f06fd0
PN
673;; The slynk that users expect to install includes all of slynk's contrib
674;; modules. Therefore, we build the base module and all contribs first; then
675;; we expose the union of these as `sbcl-slynk'. The following variable
676;; describes the base module.
677(define sbcl-slynk-boot0
678 (let ((revision "2")
679 (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
680 (package
681 (name "sbcl-slynk-boot0")
682 (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
683 (source
684 (origin
685 (method git-fetch)
686 (uri
687 (git-reference
688 (url "https://github.com/joaotavora/sly.git")
689 (commit commit)))
690 (sha256
691 (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
692 (file-name (string-append "slynk-" version "-checkout"))
693 (modules '((guix build utils)
694 (ice-9 ftw)))
695 (snippet
696 '(begin
697 ;; Move the contribs into the main source directory for easier
698 ;; access
699 (substitute* "slynk/slynk.asd"
700 (("\\.\\./contrib")
701 "contrib")
702 (("\\(defsystem :slynk/util")
703 "(defsystem :slynk/util :depends-on (:slynk)")
704 ((":depends-on \\(:slynk :slynk/util\\)")
705 ":depends-on (:slynk :slynk-util)"))
706 (substitute* "contrib/slynk-trace-dialog.lisp"
707 (("\\(slynk::reset-inspector\\)") ; Causes problems on load
708 "nil"))
709 (substitute* "contrib/slynk-profiler.lisp"
710 (("slynk:to-line")
711 "slynk-pprint-to-line"))
712 (substitute* "contrib/slynk-fancy-inspector.lisp"
713 (("slynk/util") "slynk-util")
714 ((":compile-toplevel :load-toplevel") ""))
715 (rename-file "contrib" "slynk/contrib")
716 ;; Move slynk's contents into the base directory for easier
717 ;; access
718 (for-each (lambda (file)
719 (unless (string-prefix? "." file)
720 (rename-file (string-append "slynk/" file)
721 (string-append "./" (basename file)))))
722 (scandir "slynk"))
723 #t))))
724 (build-system asdf-build-system/sbcl)
725 (arguments
726 `(#:tests? #f ; No test suite
727 #:asd-system-name "slynk"))
728 (synopsis "Common Lisp IDE for Emacs")
729 (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
730It also features a completely redesigned REPL based on Emacs's own
731full-featured comint.el, live code annotations, and a consistent interactive
732button interface. Everything can be copied to the REPL. One can create
733multiple inspectors with independent history.")
734 (home-page "https://github.com/joaotavora/sly")
735 (license license:public-domain)
736 (properties `((cl-source-variant . ,(delay cl-slynk)))))))
737
738(define-public cl-slynk
739 (package
740 (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
741 (name "cl-slynk")))
742
743(define ecl-slynk-boot0
744 (sbcl-package->ecl-package sbcl-slynk-boot0))
745
746(define sbcl-slynk-arglists
747 (package
748 (inherit sbcl-slynk-boot0)
749 (name "sbcl-slynk-arglists")
750 (inputs `(("slynk" ,sbcl-slynk-boot0)))
751 (arguments
752 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
753 ((#:asd-file _ "") "slynk.asd")
754 ((#:asd-system-name _ #f) "slynk/arglists")))))
755
756(define ecl-slynk-arglists
757 (sbcl-package->ecl-package sbcl-slynk-arglists))
758
759(define sbcl-slynk-util
760 (package
761 (inherit sbcl-slynk-boot0)
762 (name "sbcl-slynk-util")
763 (inputs `(("slynk" ,sbcl-slynk-boot0)))
764 (arguments
765 (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
766 ((#:asd-file _ "") "slynk.asd")
767 ((#:asd-system-name _ #f) "slynk/util")))))
768
769(define ecl-slynk-util
770 (sbcl-package->ecl-package sbcl-slynk-util))
771
772(define sbcl-slynk-fancy-inspector
773 (package
774 (inherit sbcl-slynk-arglists)
775 (name "sbcl-slynk-fancy-inspector")
776 (inputs `(("slynk-util" ,sbcl-slynk-util)
777 ,@(package-inputs sbcl-slynk-arglists)))
778 (arguments
779 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
780 ((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
781
782(define ecl-slynk-fancy-inspector
783 (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
784
785(define sbcl-slynk-package-fu
786 (package
787 (inherit sbcl-slynk-arglists)
788 (name "sbcl-slynk-package-fu")
789 (arguments
790 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
791 ((#:asd-system-name _ #f) "slynk/package-fu")))))
792
793(define ecl-slynk-package-fu
794 (sbcl-package->ecl-package sbcl-slynk-package-fu))
795
796(define sbcl-slynk-mrepl
797 (package
798 (inherit sbcl-slynk-fancy-inspector)
799 (name "sbcl-slynk-mrepl")
800 (arguments
801 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
802 ((#:asd-system-name _ #f) "slynk/mrepl")))))
803
804(define ecl-slynk-mrepl
805 (sbcl-package->ecl-package sbcl-slynk-mrepl))
806
807(define sbcl-slynk-trace-dialog
808 (package
809 (inherit sbcl-slynk-arglists)
810 (name "sbcl-slynk-trace-dialog")
811 (arguments
812 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
813 ((#:asd-system-name _ #f) "slynk/trace-dialog")))))
814
815(define ecl-slynk-trace-dialog
816 (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
817
818(define sbcl-slynk-profiler
819 (package
820 (inherit sbcl-slynk-arglists)
821 (name "sbcl-slynk-profiler")
822 (arguments
823 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
824 ((#:asd-system-name _ #f) "slynk/profiler")))))
825
826(define ecl-slynk-profiler
827 (sbcl-package->ecl-package sbcl-slynk-profiler))
828
829(define sbcl-slynk-stickers
830 (package
831 (inherit sbcl-slynk-arglists)
832 (name "sbcl-slynk-stickers")
833 (arguments
834 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
835 ((#:asd-system-name _ #f) "slynk/stickers")))))
836
837(define ecl-slynk-stickers
838 (sbcl-package->ecl-package sbcl-slynk-stickers))
839
840(define sbcl-slynk-indentation
841 (package
842 (inherit sbcl-slynk-arglists)
843 (name "sbcl-slynk-indentation")
844 (arguments
845 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
846 ((#:asd-system-name _ #f) "slynk/indentation")))))
847
848(define ecl-slynk-indentation
849 (sbcl-package->ecl-package sbcl-slynk-indentation))
850
851(define sbcl-slynk-retro
852 (package
853 (inherit sbcl-slynk-arglists)
854 (name "sbcl-slynk-retro")
855 (arguments
856 (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
857 ((#:asd-system-name _ #f) "slynk/retro")))))
858
859(define ecl-slynk-retro
860 (sbcl-package->ecl-package sbcl-slynk-retro))
861
862(define slynk-systems
863 '("slynk"
864 "slynk-util"
865 "slynk-arglists"
866 "slynk-fancy-inspector"
867 "slynk-package-fu"
868 "slynk-mrepl"
869 "slynk-profiler"
870 "slynk-trace-dialog"
871 "slynk-stickers"
872 "slynk-indentation"
873 "slynk-retro"))
874
875(define-public sbcl-slynk
876 (package
877 (inherit sbcl-slynk-boot0)
878 (name "sbcl-slynk")
879 (inputs
880 `(("slynk" ,sbcl-slynk-boot0)
881 ("slynk-util" ,sbcl-slynk-util)
882 ("slynk-arglists" ,sbcl-slynk-arglists)
883 ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector)
884 ("slynk-package-fu" ,sbcl-slynk-package-fu)
885 ("slynk-mrepl" ,sbcl-slynk-mrepl)
886 ("slynk-profiler" ,sbcl-slynk-profiler)
887 ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog)
888 ("slynk-stickers" ,sbcl-slynk-stickers)
889 ("slynk-indentation" ,sbcl-slynk-indentation)
890 ("slynk-retro" ,sbcl-slynk-retro)))
891 (native-inputs `(("sbcl" ,sbcl)))
892 (build-system trivial-build-system)
893 (source #f)
894 (outputs '("out" "image"))
895 (arguments
896 `(#:modules ((guix build union)
897 (guix build utils)
898 (guix build lisp-utils))
899 #:builder
900 (begin
901 (use-modules (ice-9 match)
902 (srfi srfi-1)
903 (guix build union)
904 (guix build lisp-utils))
905
906 (union-build
907 (assoc-ref %outputs "out")
908 (filter-map
909 (match-lambda
910 ((name . path)
911 (if (string-prefix? "slynk" name) path #f)))
912 %build-inputs))
913
914 (prepend-to-source-registry
915 (string-append (assoc-ref %outputs "out") "//"))
916
917 (parameterize ((%lisp-type "sbcl")
918 (%lisp (string-append (assoc-ref %build-inputs "sbcl")
919 "/bin/sbcl")))
920 (build-image (string-append
921 (assoc-ref %outputs "image")
922 "/bin/slynk")
923 %outputs
924 #:dependencies ',slynk-systems))
925 #t)))))
926
927(define-public ecl-slynk
928 (package
929 (inherit sbcl-slynk)
930 (name "ecl-slynk")
931 (inputs
932 (map (match-lambda
933 ((name pkg . _)
934 (list name (sbcl-package->ecl-package pkg))))
935 (package-inputs sbcl-slynk)))
936 (native-inputs '())
937 (outputs '("out"))
938 (arguments
939 '(#:modules ((guix build union))
940 #:builder
941 (begin
942 (use-modules (ice-9 match)
943 (guix build union))
944 (match %build-inputs
945 (((names . paths) ...)
946 (union-build (assoc-ref %outputs "out")
947 paths)
948 #t)))))))
949
950(define-public sbcl-parse-js
951 (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
952 (revision "1"))
953 (package
954 (name "sbcl-parse-js")
955 (version (string-append "0.0.0-" revision "." (string-take commit 9)))
956 (source
957 (origin
958 (method git-fetch)
959 (uri (git-reference
960 (url "http://marijn.haverbeke.nl/git/parse-js")
961 (commit commit)))
962 (file-name (string-append name "-" commit "-checkout"))
963 (sha256
964 (base32
965 "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39"))))
966 (build-system asdf-build-system/sbcl)
9ca4c654 967 (home-page "https://marijnhaverbeke.nl/parse-js/")
88f06fd0
PN
968 (synopsis "Parse JavaScript")
969 (description "Parse-js is a Common Lisp package for parsing
970JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.")
971 (license license:zlib))))
972
973(define-public cl-parse-js
974 (sbcl-package->cl-source-package sbcl-parse-js))
975
976(define-public sbcl-parse-number
977 (package
978 (name "sbcl-parse-number")
979 (version "1.7")
980 (source
981 (origin
982 (method git-fetch)
983 (uri (git-reference
984 (url "https://github.com/sharplispers/parse-number/")
985 (commit (string-append "v" version))))
986 (file-name (git-file-name name version))
987 (sha256
988 (base32
989 "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7"))))
990 (build-system asdf-build-system/sbcl)
fed4ff33 991 (home-page "https://www.cliki.net/PARSE-NUMBER")
88f06fd0
PN
992 (synopsis "Parse numbers")
993 (description "@code{parse-number} is a library of functions for parsing
994strings into one of the standard Common Lisp number types without using the
995reader. @code{parse-number} accepts an arbitrary string and attempts to parse
996the string into one of the standard Common Lisp number types, if possible, or
997else @code{parse-number} signals an error of type @code{invalid-number}.")
998 (license license:bsd-3)))
999
1000(define-public cl-parse-number
1001 (sbcl-package->cl-source-package sbcl-parse-number))
1002
1003(define-public sbcl-iterate
1004 (package
1005 (name "sbcl-iterate")
f36ec871 1006 (version "1.5")
88f06fd0
PN
1007 (source
1008 (origin
1009 (method url-fetch)
f36ec871
GLV
1010 (uri (string-append "https://common-lisp.net/project/iterate/releases/"
1011 "iterate-" version ".tar.gz"))
88f06fd0
PN
1012 (sha256
1013 (base32
f36ec871 1014 "1lqsbhrkfl0yif46aymvb7l3nb9wdcmj4jyw485blj32jb4famzn"))))
88f06fd0
PN
1015 (build-system asdf-build-system/sbcl)
1016 (native-inputs
1017 `(("rt" ,sbcl-rt)))
1018 (home-page "https://common-lisp.net/project/iterate/")
1019 (synopsis "Iteration construct for Common Lisp")
1020 (description "@code{iterate} is an iteration construct for Common Lisp.
1021It is similar to the @code{CL:LOOP} macro, with these distinguishing marks:
1022
1023@itemize
1024@item it is extensible,
1025@item it helps editors like Emacs indent iterate forms by having a more
1026 lisp-like syntax, and
1027@item it isn't part of the ANSI standard for Common Lisp.
1028@end itemize\n")
1029 (license license:expat)))
1030
1031(define-public cl-iterate
1032 (sbcl-package->cl-source-package sbcl-iterate))
1033
1034(define-public ecl-iterate
1035 (sbcl-package->ecl-package sbcl-iterate))
1036
1037(define-public sbcl-cl-uglify-js
1038 ;; There have been many bug fixes since the 2010 release.
1039 (let ((commit "429c5e1d844e2f96b44db8fccc92d6e8e28afdd5")
1040 (revision "1"))
1041 (package
1042 (name "sbcl-cl-uglify-js")
1043 (version (string-append "0.1-" revision "." (string-take commit 9)))
1044 (source
1045 (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://github.com/mishoo/cl-uglify-js.git")
1049 (commit commit)))
1050 (file-name (git-file-name name version))
1051 (sha256
1052 (base32
1053 "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a"))))
1054 (build-system asdf-build-system/sbcl)
1055 (inputs
1056 `(("sbcl-parse-js" ,sbcl-parse-js)
1057 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
1058 ("sbcl-cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
1059 ("sbcl-parse-number" ,sbcl-parse-number)
1060 ("sbcl-iterate" ,sbcl-iterate)))
1061 (home-page "https://github.com/mishoo/cl-uglify-js")
1062 (synopsis "JavaScript compressor library for Common Lisp")
1063 (description "This is a Common Lisp version of UglifyJS, a JavaScript
1064compressor. It works on data produced by @code{parse-js} to generate a
1065@dfn{minified} version of the code. Currently it can:
1066
1067@itemize
1068@item reduce variable names (usually to single letters)
1069@item join consecutive @code{var} statements
1070@item resolve simple binary expressions
1071@item group most consecutive statements using the @code{sequence} operator (comma)
1072@item remove unnecessary blocks
1073@item convert @code{IF} expressions in various ways that result in smaller code
1074@item remove some unreachable code
1075@end itemize\n")
1076 (license license:zlib))))
1077
1078(define-public cl-uglify-js
1079 (sbcl-package->cl-source-package sbcl-cl-uglify-js))
1080
ba42da24
PN
1081(define-public uglify-js
1082 (package
1083 (inherit sbcl-cl-uglify-js)
1084 (name "uglify-js")
1085 (build-system trivial-build-system)
1086 (arguments
1087 `(#:modules ((guix build utils))
1088 #:builder
1089 (let* ((bin (string-append (assoc-ref %outputs "out") "/bin/"))
1090 (script (string-append bin "uglify-js")))
1091 (use-modules (guix build utils))
1092 (mkdir-p bin)
1093 (with-output-to-file script
1094 (lambda _
1095 (format #t "#!~a/bin/sbcl --script
1096 (require :asdf)
1097 (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)"
1098 (assoc-ref %build-inputs "sbcl")
1099 (assoc-ref %build-inputs "sbcl-cl-uglify-js"))
1100 ;; FIXME: cannot use progn here because otherwise it fails to
1101 ;; find cl-uglify-js.
1102 (for-each
1103 write
1104 '(;; Quiet, please!
1105 (let ((*standard-output* (make-broadcast-stream))
1106 (*error-output* (make-broadcast-stream)))
1107 (asdf:load-system :cl-uglify-js))
1108 (let ((file (cadr *posix-argv*)))
1109 (if file
1110 (format t "~a"
1111 (cl-uglify-js:ast-gen-code
1112 (cl-uglify-js:ast-mangle
1113 (cl-uglify-js:ast-squeeze
1114 (with-open-file (in file)
1115 (parse-js:parse-js in))))
1116 :beautify nil))
1117 (progn
1118 (format *error-output*
1119 "Please provide a JavaScript file.~%")
1120 (sb-ext:exit :code 1))))))))
1121 (chmod script #o755)
1122 #t)))
1123 (inputs
1124 `(("sbcl" ,sbcl)
1125 ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
1126 (synopsis "JavaScript compressor")))
1127
88f06fd0
PN
1128(define-public sbcl-cl-strings
1129 (let ((revision "1")
1130 (commit "c5c5cbafbf3e6181d03c354d66e41a4f063f00ae"))
1131 (package
1132 (name "sbcl-cl-strings")
1133 (version (git-version "0.0.0" revision commit))
1134 (source
1135 (origin
1136 (method git-fetch)
1137 (uri (git-reference
1138 (url "https://github.com/diogoalexandrefranco/cl-strings")
1139 (commit commit)))
1140 (sha256
1141 (base32
1142 "00754mfaqallj480lwd346nkfb6ra8pa8xcxcylf4baqn604zlmv"))
1143 (file-name (string-append "cl-strings-" version "-checkout"))))
1144 (build-system asdf-build-system/sbcl)
1145 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
1146 (description
1147 "@command{cl-strings} is a small, portable, dependency-free set of
1148utilities that make it even easier to manipulate text in Common Lisp. It has
1149100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")
1150 (home-page "https://github.com/diogoalexandrefranco/cl-strings")
1151 (license license:expat))))
1152
1153(define-public cl-strings
1154 (sbcl-package->cl-source-package sbcl-cl-strings))
1155
1156(define-public ecl-cl-strings
1157 (sbcl-package->ecl-package sbcl-cl-strings))
1158
1159(define-public sbcl-trivial-features
1160 (package
1161 (name "sbcl-trivial-features")
1162 (version "0.8")
1163 (source
1164 (origin
1165 (method git-fetch)
1166 (uri (git-reference
1167 (url "https://github.com/trivial-features/trivial-features.git")
1168 (commit (string-append "v" version))))
1169 (file-name (git-file-name "trivial-features" version))
1170 (sha256
1171 (base32 "0ccv7dqyrk55xga78i5vzlic7mdwp28in3g1a8fqhlk6626scsq9"))))
1172 (build-system asdf-build-system/sbcl)
1173 (arguments '(#:tests? #f))
aec92d0b 1174 (home-page "https://cliki.net/trivial-features")
88f06fd0
PN
1175 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1176 (description "Trivial-features ensures that @code{*FEATURES*} is
1177consistent across multiple Common Lisp implementations.")
1178 (license license:expat)))
1179
1180(define-public cl-trivial-features
1181 (sbcl-package->cl-source-package sbcl-trivial-features))
1182
1183(define-public ecl-trivial-features
1184 (sbcl-package->ecl-package sbcl-trivial-features))
1185
1186(define-public sbcl-hu.dwim.asdf
1187 (package
1188 (name "sbcl-hu.dwim.asdf")
1189 (version "20190521")
1190 (source
1191 (origin
1192 (method url-fetch)
1193 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1194 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1195 (sha256
1196 (base32
1197 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1198 (build-system asdf-build-system/sbcl)
1199 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1200 (synopsis "Extensions to ASDF")
1201 (description "Various ASDF extensions such as attached test and
1202documentation system, explicit development support, etc.")
1203 (license license:public-domain)))
1204
1205(define-public cl-hu.dwim.asdf
1206 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1207
1208(define-public ecl-hu.dwim.asdf
1209 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1210
1211(define-public sbcl-hu.dwim.stefil
1212 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1213 (package
1214 (name "sbcl-hu.dwim.stefil")
1215 (version (git-version "0.0.0" "1" commit))
1216 (source
1217 (origin
1218 (method git-fetch)
1219 (uri
1220 (git-reference
1221 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1222 (commit commit)))
1223 (sha256
1224 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1225 (file-name (git-file-name "hu.dwim.stefil" version))))
1226 (build-system asdf-build-system/sbcl)
1227 (native-inputs
1228 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1229 (inputs
1230 `(("sbcl-alexandria" ,sbcl-alexandria)))
1231 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1232 (synopsis "Simple test framework")
1233 (description "Stefil is a simple test framework for Common Lisp,
1234with a focus on interactive development.")
1235 (license license:public-domain))))
1236
1237(define-public cl-hu.dwim.stefil
1238 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1239
1240(define-public ecl-hu.dwim.stefil
1241 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1242
1243(define-public sbcl-babel
1244 (package
1245 (name "sbcl-babel")
1246 (version "0.5.0")
1247 (source
1248 (origin
1249 (method git-fetch)
1250 (uri (git-reference
1251 (url "https://github.com/cl-babel/babel.git")
1252 (commit (string-append "v" version))))
1253 (file-name (git-file-name "babel" version))
1254 (sha256
1255 (base32 "139a8rn2gnhj082n8jg01gc8fyr63hkj57hgrnmb3d1r327yc77f"))))
1256 (build-system asdf-build-system/sbcl)
1257 (native-inputs
1258 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1259 (inputs
1260 `(("sbcl-alexandria" ,sbcl-alexandria)
1261 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1262 (home-page "https://common-lisp.net/project/babel/")
1263 (synopsis "Charset encoding and decoding library")
1264 (description "Babel is a charset encoding and decoding library, not unlike
1265GNU libiconv, but completely written in Common Lisp.")
1266 (license license:expat)))
1267
1268(define-public cl-babel
1269 (sbcl-package->cl-source-package sbcl-babel))
1270
1271(define-public ecl-babel
1272 (sbcl-package->ecl-package sbcl-babel))
1273
1274(define-public sbcl-cl-yacc
1275 (package
1276 (name "sbcl-cl-yacc")
1277 (version "0.3")
1278 (source
1279 (origin
1280 (method git-fetch)
1281 (uri (git-reference
1282 (url "https://github.com/jech/cl-yacc")
1283 (commit (string-append "cl-yacc-" version))))
1284 (sha256
1285 (base32
1286 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1287 (file-name (string-append "cl-yacc-" version "-checkout"))))
1288 (build-system asdf-build-system/sbcl)
1289 (arguments
1290 `(#:asd-file "yacc.asd"
1291 #:asd-system-name "yacc"))
1292 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1293 (description
1294 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1295to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1296
1297CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1298by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1299to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1300 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1301 (license license:expat)))
1302
1303(define-public cl-yacc
1304 (sbcl-package->cl-source-package sbcl-cl-yacc))
1305
1306(define-public ecl-cl-yacc
1307 (sbcl-package->ecl-package sbcl-cl-yacc))
1308
1309(define-public sbcl-jpl-util
1310 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1311 (package
1312 (name "sbcl-jpl-util")
1313 (version "20151005")
1314 (source
1315 (origin
1316 (method git-fetch)
1317 (uri (git-reference
1318 ;; Quicklisp uses this fork.
1319 (url "https://github.com/hawkir/cl-jpl-util")
1320 (commit commit)))
1321 (file-name
1322 (git-file-name "jpl-util" version))
1323 (sha256
1324 (base32
1325 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1326 (build-system asdf-build-system/sbcl)
1327 (synopsis "Collection of Common Lisp utility functions and macros")
1328 (description
1329 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1330and macros, primarily for software projects written in CL by the author.")
1331 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1332 (license license:isc))))
1333
1334(define-public cl-jpl-util
1335 (sbcl-package->cl-source-package sbcl-jpl-util))
1336
1337(define-public ecl-jpl-util
1338 (sbcl-package->ecl-package sbcl-jpl-util))
1339
1340(define-public sbcl-jpl-queues
1341 (package
1342 (name "sbcl-jpl-queues")
1343 (version "0.1")
1344 (source
1345 (origin
1346 (method url-fetch)
1347 (uri (string-append
1348 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1349 version
1350 ".tar.gz"))
1351 (sha256
1352 (base32
1353 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1354 (build-system asdf-build-system/sbcl)
1355 (inputs
1356 `(("jpl-util" ,sbcl-jpl-util)
1357 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1358 (arguments
1359 ;; Tests seem to be broken.
1360 `(#:tests? #f))
1361 (synopsis "Common Lisp library implementing a few different kinds of queues")
1362 (description
1363 "A Common Lisp library implementing a few different kinds of queues:
1364
1365@itemize
1366@item Bounded and unbounded FIFO queues.
1367@item Lossy bounded FIFO queues that drop elements when full.
1368@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1369@end itemize
1370
1371Additionally, a synchronization wrapper is provided to make any queue
1372conforming to the @command{jpl-queues} API thread-safe for lightweight
1373multithreading applications. (See Calispel for a more sophisticated CL
1374multithreaded message-passing library with timeouts and alternation among
1375several blockable channels.)")
1376 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1377 (license license:isc)))
1378
1379(define-public cl-jpl-queues
1380 (sbcl-package->cl-source-package sbcl-jpl-queues))
1381
1382(define-public ecl-jpl-queues
1383 (sbcl-package->ecl-package sbcl-jpl-queues))
1384
1385(define-public sbcl-eos
1386 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1387 (package
1388 (name "sbcl-eos")
1389 (version (git-version "0.0.0" "1" commit))
1390 (source
1391 (origin
1392 (method git-fetch)
1393 (uri (git-reference
1394 (url "https://github.com/adlai/Eos")
1395 (commit commit)))
1396 (sha256
1397 (base32
1398 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1399 (file-name (git-file-name "eos" version))))
1400 (build-system asdf-build-system/sbcl)
1401 (synopsis "Unit Testing for Common Lisp")
1402 (description
1403 "Eos was a unit testing library for Common Lisp.
1404It began as a fork of FiveAM; however, FiveAM development has continued, while
1405that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1406 (home-page "https://github.com/adlai/Eos")
1407 (license license:expat))))
1408
1409(define-public cl-eos
1410 (sbcl-package->cl-source-package sbcl-eos))
1411
1412(define-public ecl-eos
1413 (sbcl-package->ecl-package sbcl-eos))
1414
1415(define-public sbcl-esrap
1416 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1417 (package
1418 (name "sbcl-esrap")
1419 (version (git-version "0.0.0" "1" commit))
1420 (source
1421 (origin
1422 (method git-fetch)
1423 (uri (git-reference
1424 (url "https://github.com/nikodemus/esrap")
1425 (commit commit)))
1426 (sha256
1427 (base32
1428 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1429 (file-name (git-file-name "esrap" version))))
1430 (build-system asdf-build-system/sbcl)
1431 (native-inputs
1432 `(("eos" ,sbcl-eos))) ;For testing only.
1433 (inputs
1434 `(("alexandria" ,sbcl-alexandria)))
1435 (synopsis "Common Lisp packrat parser")
1436 (description
1437 "A packrat parser for Common Lisp.
1438In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1439
1440@itemize
1441@item dynamic redefinition of nonterminals
1442@item inline grammars
1443@item semantic predicates
1444@item introspective facilities (describing grammars, tracing, setting breaks)
1445@end itemize\n")
1446 (home-page "https://nikodemus.github.io/esrap/")
1447 (license license:expat))))
1448
1449(define-public cl-esrap
1450 (sbcl-package->cl-source-package sbcl-esrap))
1451
1452(define-public ecl-esrap
1453 (sbcl-package->ecl-package sbcl-esrap))
1454
1455(define-public sbcl-split-sequence
1456 (package
1457 (name "sbcl-split-sequence")
92da0588 1458 (version "2.0.0")
88f06fd0
PN
1459 (source
1460 (origin
1461 (method git-fetch)
1462 (uri (git-reference
1463 (url "https://github.com/sharplispers/split-sequence")
1464 (commit (string-append "v" version))))
1465 (sha256
1466 (base32
92da0588 1467 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1468 (file-name (git-file-name "split-sequence" version))))
1469 (build-system asdf-build-system/sbcl)
92da0588
GLV
1470 (native-inputs
1471 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1472 (synopsis "Member of the Common Lisp Utilities family of programs")
1473 (description
1474 "Splits sequence into a list of subsequences delimited by objects
1475satisfying the test.")
1476 (home-page "https://cliki.net/split-sequence")
1477 (license license:expat)))
1478
1479(define-public cl-split-sequence
1480 (sbcl-package->cl-source-package sbcl-split-sequence))
1481
1482(define-public ecl-split-sequence
1483 (sbcl-package->ecl-package sbcl-split-sequence))
1484
1485(define-public sbcl-html-encode
1486 (package
1487 (name "sbcl-html-encode")
1488 (version "1.2")
1489 (source
1490 (origin
1491 (method url-fetch)
1492 (uri (string-append
1493 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1494 version ".tgz"))
1495 (sha256
1496 (base32
1497 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1498 (file-name (string-append "colorize" version "-checkout"))))
1499 (build-system asdf-build-system/sbcl)
1500 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1501 (description
1502 "A library for encoding text in various web-savvy encodings.")
1503 (home-page "http://quickdocs.org/html-encode/")
1504 (license license:expat)))
1505
1506(define-public cl-html-encode
1507 (sbcl-package->cl-source-package sbcl-html-encode))
1508
1509(define-public ecl-html-encode
1510 (sbcl-package->ecl-package sbcl-html-encode))
1511
1512(define-public sbcl-colorize
1513 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1514 (package
1515 (name "sbcl-colorize")
1516 (version (git-version "0.0.0" "1" commit))
1517 (source
1518 (origin
1519 (method git-fetch)
1520 (uri (git-reference
1521 (url "https://github.com/kingcons/colorize")
1522 (commit commit)))
1523 (sha256
1524 (base32
1525 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1526 (file-name (git-file-name "colorize" version))))
1527 (build-system asdf-build-system/sbcl)
1528 (inputs
1529 `(("alexandria" ,sbcl-alexandria)
1530 ("split-sequence" ,sbcl-split-sequence)
1531 ("html-encode" ,sbcl-html-encode)))
1532 (synopsis "Common Lisp for syntax highlighting")
1533 (description
1534 "@command{colorize} is a Lisp library for syntax highlighting
1535supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1536C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1537 (home-page "https://github.com/kingcons/colorize")
1538 ;; TODO: Missing license?
1539 (license license:expat))))
1540
1541(define-public cl-colorize
1542 (sbcl-package->cl-source-package sbcl-colorize))
1543
1544(define-public ecl-colorize
1545 (sbcl-package->ecl-package sbcl-colorize))
1546
1547(define-public sbcl-3bmd
1548 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1549 (package
1550 (name "sbcl-3bmd")
1551 (version (git-version "0.0.0" "1" commit))
1552 (source
1553 (origin
1554 (method git-fetch)
1555 (uri (git-reference
1556 (url "https://github.com/3b/3bmd")
1557 (commit commit)))
1558 (sha256
1559 (base32
1560 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1561 (file-name (git-file-name "3bmd" version))))
1562 (build-system asdf-build-system/sbcl)
1563 (arguments
1564 ;; FIXME: We need to specify the name because the build-system thinks
1565 ;; "3" is a version marker.
1566 `(#:asd-system-name "3bmd"))
1567 (inputs
1568 `(("esrap" ,sbcl-esrap)
1569 ("split-sequence" ,sbcl-split-sequence)))
1570 (synopsis "Markdown processor in Command Lisp using esrap parser")
1571 (description
1572 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1573parsing, and grammar based on @command{peg-markdown}.")
1574 (home-page "https://github.com/3b/3bmd")
1575 (license license:expat))))
1576
1577(define-public cl-3bmd
1578 (sbcl-package->cl-source-package sbcl-3bmd))
1579
1580(define-public ecl-3bmd
1581 (sbcl-package->ecl-package sbcl-3bmd))
1582
1583(define-public sbcl-3bmd-ext-code-blocks
1584 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1585 (package
1586 (inherit sbcl-3bmd)
1587 (name "sbcl-3bmd-ext-code-blocks")
1588 (arguments
1589 `(#:asd-system-name "3bmd-ext-code-blocks"
1590 #:asd-file "3bmd-ext-code-blocks.asd"))
1591 (inputs
1592 `(("3bmd" ,sbcl-3bmd)
1593 ("colorize" ,sbcl-colorize)))
1594 (synopsis "3bmd extension which adds support for GitHub-style fenced
1595code blocks")
1596 (description
1597 "3bmd extension which adds support for GitHub-style fenced code blocks,
1598with @command{colorize} support."))))
1599
1600(define-public cl-3bmd-ext-code-blocks
1601 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1602
1603(define-public ecl-3bmd-ext-code-blocks
1604 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1605
1606(define-public sbcl-cl-fad
1607 (package
1608 (name "sbcl-cl-fad")
f0d9eaca 1609 (version "0.7.6")
88f06fd0
PN
1610 (source
1611 (origin
1612 (method git-fetch)
1613 (uri (git-reference
1614 (url "https://github.com/edicl/cl-fad/")
1615 (commit (string-append "v" version))))
1616 (sha256
1617 (base32
f0d9eaca 1618 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1619 (file-name (string-append "cl-fad" version "-checkout"))))
1620 (build-system asdf-build-system/sbcl)
1621 (inputs
1622 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1623 (synopsis "Portable pathname library for Common Lisp")
1624 (description
1625 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1626Lisp's standard pathname functions. It is intended to provide some
1627unification between current CL implementations on Windows, OS X, Linux, and
1628Unix. Most of the code was written by Peter Seibel for his book Practical
1629Common Lisp.")
1630 (home-page "https://edicl.github.io/cl-fad/")
1631 (license license:bsd-2)))
1632
1633(define-public cl-fad
1634 (sbcl-package->cl-source-package sbcl-cl-fad))
1635
1636(define-public ecl-cl-fad
1637 (sbcl-package->ecl-package sbcl-cl-fad))
1638
1639(define-public sbcl-rt
e81b0719
GLV
1640 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1641 (revision "1"))
1642 (package
1643 (name "sbcl-rt")
1644 (version (git-version "1990.12.19" revision commit))
1645 (source
1646 (origin
1647 (method git-fetch)
1648 (uri (git-reference
1649 (url "http://git.kpe.io/rt.git")
1650 (commit commit)))
1651 (file-name (git-file-name name version))
1652 (sha256
1653 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1654 (build-system asdf-build-system/sbcl)
1655 (synopsis "MIT Regression Tester")
1656 (description
1657 "RT provides a framework for writing regression test suites.")
1658 (home-page "https://www.cliki.net/rt")
1659 (license license:expat))))
88f06fd0
PN
1660
1661(define-public cl-rt
1662 (sbcl-package->cl-source-package sbcl-rt))
1663
1664(define-public ecl-rt
1665 (sbcl-package->ecl-package sbcl-rt))
1666
1667(define-public sbcl-nibbles
1668 (package
1669 (name "sbcl-nibbles")
1670 (version "0.14")
1671 (source
1672 (origin
1673 (method git-fetch)
1674 (uri (git-reference
1675 (url "https://github.com/sharplispers/nibbles/")
1676 (commit (string-append "v" version))))
1677 (sha256
1678 (base32
1679 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1680 (file-name (git-file-name "nibbles" version))))
1681 (build-system asdf-build-system/sbcl)
1682 (native-inputs
1683 ;; Tests only.
1684 `(("rt" ,sbcl-rt)))
1685 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1686 (description
1687 "When dealing with network protocols and file formats, it's common to
1688have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1689flavors. Common Lisp sort of supports this by specifying :element-type for
1690streams, but that facility is underspecified and there's nothing similar for
1691read/write from octet vectors. What most people wind up doing is rolling their
1692own small facility for their particular needs and calling it a day.
1693
1694This library attempts to be comprehensive and centralize such
1695facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1696vectors in signed or unsigned flavors are provided; these functions are also
1697SETFable. Since it's sometimes desirable to read/write directly from streams,
1698functions for doing so are also provided. On some implementations,
1699reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1700also be supported.")
1701 (home-page "https://github.com/sharplispers/nibbles")
1702 (license license:bsd-3)))
1703
1704(define-public cl-nibbles
1705 (sbcl-package->cl-source-package sbcl-nibbles))
1706
1707(define-public ecl-nibbles
1708 (sbcl-package->ecl-package sbcl-nibbles))
1709
1710(define-public sbcl-ironclad
1711 (package
1712 (name "sbcl-ironclad")
d589f0d2 1713 (version "0.48")
88f06fd0
PN
1714 (source
1715 (origin
1716 (method git-fetch)
1717 (uri (git-reference
1718 (url "https://github.com/sharplispers/ironclad/")
1719 (commit (string-append "v" version))))
1720 (sha256
1721 (base32
d589f0d2 1722 "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam"))
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)
d589f0d2 1730 ("flexi-streams" ,sbcl-flexi-streams)))
88f06fd0
PN
1731 (synopsis "Cryptographic toolkit written in Common Lisp")
1732 (description
1733 "Ironclad is a cryptography library written entirely in Common Lisp.
1734It includes support for several popular ciphers, digests, MACs and public key
1735cryptography algorithms. For several implementations that support Gray
1736streams, support is included for convenient stream wrappers.")
1737 (home-page "https://github.com/sharplispers/ironclad")
1738 (license license:bsd-3)))
1739
1740(define-public cl-ironclad
1741 (sbcl-package->cl-source-package sbcl-ironclad))
1742
1743(define-public ecl-ironclad
1744 (sbcl-package->ecl-package sbcl-ironclad))
1745
1746(define-public sbcl-named-readtables
1747 (let ((commit "4dfb89fa1af6b305b6492b8af042f5190c11e9fc")
1748 (revision "1"))
1749 (package
1750 (name "sbcl-named-readtables")
1751 (version (string-append "0.9-" revision "." (string-take commit 7)))
1752 (source
1753 (origin
1754 (method git-fetch)
1755 (uri (git-reference
1756 (url "https://github.com/melisgl/named-readtables.git")
1757 (commit commit)))
1758 (sha256
1759 (base32 "083kgh5462iqbb4px6kq8s7sggvpvkm36hx4qi9rnaw53b6ilqkk"))
1760 (file-name (git-file-name "named-readtables" version))))
1761 (build-system asdf-build-system/sbcl)
1762 (arguments
1763 ;; Tests seem to be broken.
1764 `(#:tests? #f))
1765 (home-page "https://github.com/melisgl/named-readtables/")
1766 (synopsis "Library that creates a namespace for named readtables")
1767 (description "Named readtables is a library that creates a namespace for
1768named readtables, which is akin to package namespacing in Common Lisp.")
1769 (license license:bsd-3))))
1770
1771(define-public cl-named-readtables
1772 (sbcl-package->cl-source-package sbcl-named-readtables))
1773
1774(define-public ecl-named-readtables
1775 (sbcl-package->ecl-package sbcl-named-readtables))
1776
1777(define-public sbcl-pythonic-string-reader
1778 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1779 (package
1780 (name "sbcl-pythonic-string-reader")
1781 (version (git-version "0.0.0" "1" commit))
1782 (source
1783 (origin
1784 (method git-fetch)
1785 (uri (git-reference
1786 (url "https://github.com/smithzvk/pythonic-string-reader/")
1787 (commit commit)))
1788 (sha256
1789 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1790 (file-name (git-file-name "pythonic-string-reader" version))))
1791 (build-system asdf-build-system/sbcl)
1792 (inputs
1793 `(("named-readtables" ,sbcl-named-readtables)))
1794 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1795 (synopsis "Read table modification inspired by Python's three quote strings")
1796 (description "This piece of code sets up some reader macros that make it
1797simpler to input string literals which contain backslashes and double quotes
1798This is very useful for writing complicated docstrings and, as it turns out,
1799writing code that contains string literals that contain code themselves.")
1800 (license license:bsd-3))))
1801
1802(define-public cl-pythonic-string-reader
1803 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1804
1805(define-public ecl-pythonic-string-reader
1806 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1807
1808;; SLIME does not have a ASDF system definition to build all of Swank. As a
1809;; result, the asdf-build-system/sbcl will produce an almost empty package.
1810;; Some work was done to fix this at
1811;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1812;; and is now lagging behind. Building SBCL fasls might not be worth the
1813;; hassle, so let's just ship the source then.
1814(define-public cl-slime-swank
1815 (package
1816 (name "cl-slime-swank")
1817 (version "2.24")
1818 (source
1819 (origin
1820 (file-name (string-append name "-" version ".tar.gz"))
1821 (method git-fetch)
1822 (uri (git-reference
1823 (url "https://github.com/slime/slime/")
1824 (commit (string-append "v" version))))
1825 (sha256
1826 (base32
1827 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1828 (build-system asdf-build-system/source)
1829 (home-page "https://github.com/slime/slime")
1830 (synopsis "Common Lisp Swank server")
1831 (description
1832 "This is only useful if you want to start a Swank server in a Lisp
1833processes that doesn't run under Emacs. Lisp processes created by
1834@command{M-x slime} automatically start the server.")
1835 (license (list license:gpl2+ license:public-domain))))
1836
1837(define-public sbcl-slime-swank
1838 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1839
1840(define-public sbcl-mgl-pax
1841 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1842 (package
1843 (name "sbcl-mgl-pax")
1844 (version (git-version "0.0.0" "1" commit))
1845 (source
1846 (origin
1847 (method git-fetch)
1848 (uri (git-reference
1849 (url "https://github.com/melisgl/mgl-pax")
1850 (commit commit)))
1851 (sha256
1852 (base32
1853 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1854 (file-name (git-file-name "mgl-pax" version))))
1855 (build-system asdf-build-system/sbcl)
1856 (inputs
1857 `(("3bmd" ,sbcl-3bmd)
1858 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1859 ("babel" ,sbcl-babel)
1860 ("cl-fad" ,sbcl-cl-fad)
1861 ("ironclad" ,sbcl-ironclad)
1862 ("named-readtables" ,sbcl-named-readtables)
7e23dcc7
GLV
1863 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1864 (propagated-inputs
1865 ;; Packages having mgl-pax as input complain that it can't find
1866 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1867 `(("swank" ,cl-slime-swank)))
88f06fd0
PN
1868 (synopsis "Exploratory programming environment and documentation generator")
1869 (description
1870 "PAX provides an extremely poor man's Explorable Programming
1871environment. Narrative primarily lives in so called sections that mix markdown
1872docstrings with references to functions, variables, etc, all of which should
1873probably have their own docstrings.
1874
1875The primary focus is on making code easily explorable by using SLIME's
1876@command{M-.} (@command{slime-edit-definition}). See how to enable some
1877fanciness in Emacs Integration. Generating documentation from sections and all
1878the referenced items in Markdown or HTML format is also implemented.
1879
1880With the simplistic tools provided, one may accomplish similar effects as with
1881Literate Programming, but documentation is generated from code, not vice versa
1882and there is no support for chunking yet. Code is first, code must look
1883pretty, documentation is code.")
1884 (home-page "http://quotenil.com/")
1885 (license license:expat))))
1886
1887(define-public cl-mgl-pax
1888 (sbcl-package->cl-source-package sbcl-mgl-pax))
1889
1890(define-public ecl-mgl-pax
1891 (sbcl-package->ecl-package sbcl-mgl-pax))
1892
1893(define-public sbcl-lisp-unit
1894 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1895 (package
1896 (name "sbcl-lisp-unit")
1897 (version (git-version "0.0.0" "1" commit))
1898 (source
1899 (origin
1900 (method git-fetch)
1901 (uri (git-reference
1902 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1903 (commit commit)))
1904 (sha256
1905 (base32
1906 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1907 (file-name (git-file-name "lisp-unit" version))))
1908 (build-system asdf-build-system/sbcl)
1909 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1910 (description
1911 "@command{lisp-unit} is a Common Lisp library that supports unit
1912testing. It is an extension of the library written by Chris Riesbeck.")
1913 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1914 (license license:expat))))
1915
1916(define-public cl-lisp-unit
1917 (sbcl-package->cl-source-package sbcl-lisp-unit))
1918
1919(define-public ecl-lisp-unit
1920 (sbcl-package->ecl-package sbcl-lisp-unit))
1921
1922(define-public sbcl-anaphora
1923 (package
1924 (name "sbcl-anaphora")
1925 (version "0.9.6")
1926 (source
1927 (origin
1928 (method git-fetch)
1929 (uri (git-reference
1930 (url "https://github.com/tokenrove/anaphora")
1931 (commit version)))
1932 (sha256
1933 (base32
1934 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1935 (file-name (git-file-name "anaphora" version))))
1936 (build-system asdf-build-system/sbcl)
1937 (native-inputs
1938 `(("rt" ,sbcl-rt)))
1939 (synopsis "The anaphoric macro collection from Hell")
1940 (description
1941 "Anaphora is the anaphoric macro collection from Hell: it includes many
1942new fiends in addition to old friends like @command{aif} and
1943@command{awhen}.")
1944 (home-page "https://github.com/tokenrove/anaphora")
1945 (license license:public-domain)))
1946
1947(define-public cl-anaphora
1948 (sbcl-package->cl-source-package sbcl-anaphora))
1949
1950(define-public ecl-anaphora
1951 (sbcl-package->ecl-package sbcl-anaphora))
1952
1953(define-public sbcl-lift
1954 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1955 (package
1956 (name "sbcl-lift")
1957 (version (git-version "1.7.1" "1" commit))
1958 (source
1959 (origin
1960 (method git-fetch)
1961 (uri (git-reference
1962 (url "https://github.com/gwkkwg/lift")
1963 (commit commit)))
1964 (sha256
1965 (base32
1966 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1967 (file-name (git-file-name "lift" version))
1968 (modules '((guix build utils)))
1969 (snippet
1970 ;; Don't keep the bundled website
1971 `(begin
1972 (delete-file-recursively "website")
1973 #t))))
1974 (build-system asdf-build-system/sbcl)
1975 (arguments
1976 ;; The tests require a debugger, but we run with the debugger disabled.
1977 '(#:tests? #f))
1978 (synopsis "LIsp Framework for Testing")
1979 (description
1980 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1981Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1982testcases are organized into hierarchical testsuites each of which can have
1983its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1984supports randomized testing, benchmarking, profiling, and reporting.")
1985 (home-page "https://github.com/gwkkwg/lift")
1986 (license license:expat))))
1987
1988(define-public cl-lift
1989 (sbcl-package->cl-source-package sbcl-lift))
1990
1991(define-public ecl-lift
1992 (sbcl-package->ecl-package sbcl-lift))
1993
1994(define-public sbcl-let-plus
1995 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
1996 (package
1997 (name "sbcl-let-plus")
1998 (version (git-version "0.0.0" "1" commit))
1999 (source
2000 (origin
2001 (method git-fetch)
2002 (uri (git-reference
2003 (url "https://github.com/sharplispers/let-plus")
2004 (commit commit)))
2005 (sha256
2006 (base32
2007 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2008 (file-name (git-file-name "let-plus" version))))
2009 (build-system asdf-build-system/sbcl)
2010 (inputs
2011 `(("alexandria" ,sbcl-alexandria)
2012 ("anaphora" ,sbcl-anaphora)))
2013 (native-inputs
2014 `(("lift" ,sbcl-lift)))
2015 (synopsis "Destructuring extension of let*")
2016 (description
2017 "This library implements the let+ macro, which is a dectructuring
2018extension of let*. It features:
2019
2020@itemize
2021@item Clean, consistent syntax and small implementation (less than 300 LOC,
2022not counting tests)
2023@item Placeholder macros allow editor hints and syntax highlighting
2024@item @command{&ign} for ignored values (in forms where that makes sense)
2025@item Very easy to extend
2026@end itemize\n")
2027 (home-page "https://github.com/sharplispers/let-plus")
2028 (license license:boost1.0))))
2029
2030(define-public cl-let-plus
2031 (sbcl-package->cl-source-package sbcl-let-plus))
2032
2033(define-public ecl-let-plus
2034 (sbcl-package->ecl-package sbcl-let-plus))
2035
2036(define-public sbcl-cl-colors
2037 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2038 (package
2039 (name "sbcl-cl-colors")
2040 (version (git-version "0.0.0" "1" commit))
2041 (source
2042 (origin
2043 (method git-fetch)
2044 (uri (git-reference
2045 (url "https://github.com/tpapp/cl-colors")
2046 (commit commit)))
2047 (sha256
2048 (base32
2049 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2050 (file-name (git-file-name "cl-colors" version))))
2051 (build-system asdf-build-system/sbcl)
2052 (inputs
2053 `(("alexandria" ,sbcl-alexandria)
2054 ("let-plus" ,sbcl-let-plus)))
2055 (synopsis "Simple color library for Common Lisp")
2056 (description
2057 "This is a very simple color library for Common Lisp, providing
2058
2059@itemize
2060@item Types for representing colors in HSV and RGB spaces.
2061@item Simple conversion functions between the above types (and also
2062hexadecimal representation for RGB).
2063@item Some predefined colors (currently X11 color names – of course the
2064library does not depend on X11).Because color in your terminal is nice.
2065@end itemize
2066
2067This library is no longer supported by its author.")
2068 (home-page "https://github.com/tpapp/cl-colors")
2069 (license license:boost1.0))))
2070
2071(define-public cl-colors
2072 (sbcl-package->cl-source-package sbcl-cl-colors))
2073
2074(define-public ecl-cl-colors
2075 (sbcl-package->ecl-package sbcl-cl-colors))
2076
2077(define-public sbcl-cl-ansi-text
2078 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2079 (package
2080 (name "sbcl-cl-ansi-text")
2081 (version (git-version "1.0.0" "1" commit))
2082 (source
2083 (origin
2084 (method git-fetch)
2085 (uri (git-reference
2086 (url "https://github.com/pnathan/cl-ansi-text")
2087 (commit commit)))
2088 (sha256
2089 (base32
2090 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2091 (file-name (git-file-name "cl-ansi-text" version))))
2092 (build-system asdf-build-system/sbcl)
2093 (inputs
2094 `(("alexandria" ,sbcl-alexandria)
2095 ("cl-colors" ,sbcl-cl-colors)))
2096 (native-inputs
2097 `(("fiveam" ,sbcl-fiveam)))
2098 (synopsis "ANSI terminal color implementation for Common Lisp")
2099 (description
2100 "@command{cl-ansi-text} provides utilities which enable printing to an
2101ANSI terminal with colored text. It provides the macro @command{with-color}
2102which causes everything printed in the body to be displayed with the provided
2103color. It further provides functions which will print the argument with the
2104named color.")
2105 (home-page "https://github.com/pnathan/cl-ansi-text")
2106 (license license:llgpl))))
2107
2108(define-public cl-ansi-text
2109 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2110
2111(define-public ecl-cl-ansi-text
2112 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2113
2114(define-public sbcl-prove-asdf
2115 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2116 (package
2117 (name "sbcl-prove-asdf")
2118 (version (git-version "1.0.0" "1" commit))
2119 (source
2120 (origin
2121 (method git-fetch)
2122 (uri (git-reference
2123 (url "https://github.com/fukamachi/prove")
2124 (commit commit)))
2125 (sha256
2126 (base32
2127 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2128 (file-name (git-file-name "prove" version))))
2129 (build-system asdf-build-system/sbcl)
2130 (arguments
2131 `(#:asd-file "prove-asdf.asd"))
2132 (synopsis "Test requirement for the Common Lisp 'prove' library")
2133 (description
2134 "Test requirement for the Common Lisp @command{prove} library.")
2135 (home-page "https://github.com/fukamachi/prove")
2136 (license license:expat))))
2137
2138(define-public cl-prove-asdf
2139 (sbcl-package->cl-source-package sbcl-prove-asdf))
2140
2141(define-public ecl-prove-asdf
2142 (sbcl-package->ecl-package sbcl-prove-asdf))
2143
2144(define-public sbcl-prove
2145 (package
2146 (inherit sbcl-prove-asdf)
2147 (name "sbcl-prove")
2148 (inputs
2149 `(("alexandria" ,sbcl-alexandria)
2150 ("cl-ppcre" ,sbcl-cl-ppcre)
2151 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2152 (native-inputs
2153 `(("prove-asdf" ,sbcl-prove-asdf)))
2154 (arguments
2155 `(#:asd-file "prove.asd"))
2156 (synopsis "Yet another unit testing framework for Common Lisp")
2157 (description
2158 "This project was originally called @command{cl-test-more}.
2159@command{prove} is yet another unit testing framework for Common Lisp. The
2160advantages of @command{prove} are:
2161
2162@itemize
2163@item Various simple functions for testing and informative error messages
2164@item ASDF integration
2165@item Extensible test reporters
2166@item Colorizes the report if it's available (note for SLIME)
2167@item Reports test durations
2168@end itemize\n")))
2169
2170(define-public cl-prove
2171 (sbcl-package->cl-source-package sbcl-prove))
2172
2173(define-public ecl-prove
2174 (sbcl-package->ecl-package sbcl-prove))
2175
2176(define-public sbcl-proc-parse
2177 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2178 (package
2179 (name "sbcl-proc-parse")
2180 (version (git-version "0.0.0" "1" commit))
2181 (source
2182 (origin
2183 (method git-fetch)
2184 (uri (git-reference
2185 (url "https://github.com/fukamachi/proc-parse")
2186 (commit commit)))
2187 (sha256
2188 (base32
2189 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2190 (file-name (git-file-name "proc-parse" version))))
2191 (build-system asdf-build-system/sbcl)
2192 (inputs
2193 `(("alexandria" ,sbcl-alexandria)
2194 ("babel" ,sbcl-babel)))
2195 (native-inputs
2196 `(("prove" ,sbcl-prove)
2197 ("prove-asdf" ,sbcl-prove-asdf)))
2198 (arguments
2199 ;; TODO: Tests don't find "proc-parse-test", why?
2200 `(#:tests? #f))
2201 (synopsis "Procedural vector parser")
2202 (description
2203 "This is a string/octets parser library for Common Lisp with speed and
2204readability in mind. Unlike other libraries, the code is not a
2205pattern-matching-like, but a char-by-char procedural parser.")
2206 (home-page "https://github.com/fukamachi/proc-parse")
2207 (license license:bsd-2))))
2208
2209(define-public cl-proc-parse
2210 (sbcl-package->cl-source-package sbcl-proc-parse))
2211
2212(define-public ecl-proc-parse
2213 (sbcl-package->ecl-package sbcl-proc-parse))
2214
2215(define-public sbcl-parse-float
2216 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2217 (package
2218 (name "sbcl-parse-float")
2219 (version (git-version "0.0.0" "1" commit))
2220 (source
2221 (origin
2222 (method git-fetch)
2223 (uri (git-reference
2224 (url "https://github.com/soemraws/parse-float")
2225 (commit commit)))
2226 (sha256
2227 (base32
2228 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2229 (file-name (git-file-name "proc-parse" version))))
2230 (build-system asdf-build-system/sbcl)
2231 (inputs
2232 `(("alexandria" ,sbcl-alexandria)
2233 ("babel" ,sbcl-babel)))
2234 (native-inputs
2235 `(("prove" ,sbcl-prove)
2236 ("prove-asdf" ,sbcl-prove-asdf)))
2237 (arguments
2238 ;; TODO: Tests don't find "proc-parse-test", why?
2239 `(#:tests? #f))
2240 (synopsis "Parse a floating point value from a string in Common Lisp")
2241 (description
2242 "This package exports the following function to parse floating-point
2243values from a string in Common Lisp.")
2244 (home-page "https://github.com/soemraws/parse-float")
2245 (license license:public-domain))))
2246
2247(define-public cl-parse-float
2248 (sbcl-package->cl-source-package sbcl-parse-float))
2249
2250(define-public ecl-parse-float
2251 (sbcl-package->ecl-package sbcl-parse-float))
2252
2253(define-public sbcl-ascii-strings
2254 (let ((revision "1")
2255 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2256 (package
2257 (name "sbcl-ascii-strings")
2258 (version (string-append "0-" revision "." (string-take changeset 7)))
2259 (source
2260 (origin
2261 (method hg-fetch)
2262 (uri (hg-reference
2263 (url "https://bitbucket.org/vityok/cl-string-match/")
2264 (changeset changeset)))
2265 (sha256
2266 (base32
2267 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2268 (file-name (git-file-name "cl-string-match" version))))
2269 (build-system asdf-build-system/sbcl)
2270 (inputs
2271 `(("alexandria" ,sbcl-alexandria)
2272 ("babel" ,sbcl-babel)))
2273 (arguments
2274 `(#:asd-file "ascii-strings.asd"))
2275 (synopsis "Operations on ASCII strings")
2276 (description
2277 "Operations on ASCII strings. Essentially this can be any kind of
2278single-byte encoded strings.")
2279 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2280 (license license:bsd-3))))
2281
2282(define-public cl-ascii-strings
2283 (sbcl-package->cl-source-package sbcl-ascii-strings))
2284
2285(define-public ecl-ascii-strings
2286 (sbcl-package->ecl-package sbcl-ascii-strings))
2287
2288(define-public sbcl-simple-scanf
2289 (package
2290 (inherit sbcl-ascii-strings)
2291 (name "sbcl-simple-scanf")
2292 (inputs
2293 `(("alexandria" ,sbcl-alexandria)
2294 ("iterate" ,sbcl-iterate)
2295 ("proc-parse" ,sbcl-proc-parse)
2296 ("parse-float" ,sbcl-parse-float)))
2297 (arguments
2298 `(#:asd-file "simple-scanf.asd"))
2299 (synopsis "Simple scanf-like functionality implementation")
2300 (description
2301 "A simple scanf-like functionality implementation.")))
2302
2303(define-public cl-simple-scanf
2304 (sbcl-package->cl-source-package sbcl-simple-scanf))
2305
2306(define-public ecl-simple-scanf
2307 (sbcl-package->ecl-package sbcl-simple-scanf))
2308
2309(define-public sbcl-cl-string-match
2310 (package
2311 (inherit sbcl-ascii-strings)
2312 (name "sbcl-cl-string-match")
2313 (inputs
2314 `(("alexandria" ,sbcl-alexandria)
2315 ("ascii-strings" ,sbcl-ascii-strings)
2316 ("yacc" ,sbcl-cl-yacc)
2317 ("jpl-util" ,sbcl-jpl-util)
2318 ("jpl-queues" ,sbcl-jpl-queues)
2319 ("mgl-pax" ,sbcl-mgl-pax)
2320 ("iterate" ,sbcl-iterate)))
2321 ;; TODO: Tests are not evaluated properly.
2322 (native-inputs
2323 ;; For testing:
2324 `(("lisp-unit" ,sbcl-lisp-unit)
2325 ("simple-scanf" ,sbcl-simple-scanf)))
2326 (arguments
2327 `(#:tests? #f
2328 #:asd-file "cl-string-match.asd"))
2329 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2330 (description
2331 "@command{cl-strings} is a small, portable, dependency-free set of
2332utilities that make it even easier to manipulate text in Common Lisp. It has
2333100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2334
2335(define-public cl-string-match
2336 (sbcl-package->cl-source-package sbcl-cl-string-match))
2337
2338(define-public ecl-cl-string-match
2339 (sbcl-package->ecl-package sbcl-cl-string-match))
2340
2341(define-public sbcl-ptester
d9d8e3c2
GLV
2342 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2343 (revision "1"))
2344 (package
2345 (name "sbcl-ptester")
2346 (version (git-version "2.1.3" revision commit))
2347 (source
2348 (origin
2349 (method git-fetch)
2350 (uri (git-reference
2351 (url "http://git.kpe.io/ptester.git")
2352 (commit commit)))
2353 (file-name (git-file-name name version))
2354 (sha256
2355 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2356 (build-system asdf-build-system/sbcl)
2357 (home-page "http://quickdocs.org/ptester/")
2358 (synopsis "Portable test harness package")
2359 (description
2360 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2361tester module.")
d9d8e3c2 2362 (license license:llgpl))))
88f06fd0
PN
2363
2364(define-public cl-ptester
2365 (sbcl-package->cl-source-package sbcl-ptester))
2366
2367(define-public ecl-ptester
2368 (sbcl-package->ecl-package sbcl-ptester))
2369
2370(define-public sbcl-puri
ff6cf9fa
GLV
2371 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2372 (revision "1"))
2373 (package
2374 (name "sbcl-puri")
2375 (version (git-version "1.5.7" revision commit))
2376 (source
2377 (origin
2378 (method git-fetch)
2379 (uri (git-reference
2380 (url "http://git.kpe.io/puri.git")
2381 (commit commit)))
2382 (file-name (git-file-name name version))
2383 (sha256
2384 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2385 (build-system asdf-build-system/sbcl)
2386 (native-inputs
2387 `(("ptester" ,sbcl-ptester)))
2388 (home-page "http://quickdocs.org/puri/")
2389 (synopsis "Portable URI Library")
2390 (description
2391 "This is a portable Universal Resource Identifier library for Common
2392Lisp programs. It parses URI according to the RFC 2396 specification.")
2393 (license license:llgpl))))
88f06fd0
PN
2394
2395(define-public cl-puri
2396 (sbcl-package->cl-source-package sbcl-puri))
2397
2398(define-public ecl-puri
2399 (sbcl-package->ecl-package sbcl-puri))
2400
2401(define-public sbcl-queues
2402 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2403 (package
2404 (name "sbcl-queues")
2405 (version (git-version "0.0.0" "1" commit))
2406 (source
2407 (origin
2408 (method git-fetch)
2409 (uri (git-reference
2410 (url "https://github.com/oconnore/queues")
2411 (commit commit)))
2412 (file-name (git-file-name "queues" version))
2413 (sha256
2414 (base32
2415 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2416 (build-system asdf-build-system/sbcl)
2417 (home-page "https://github.com/oconnore/queues")
2418 (synopsis "Common Lisp queue library")
2419 (description
2420 "This is a simple queue library for Common Lisp with features such as
2421non-consing thread safe queues and fibonacci priority queues.")
2422 (license license:expat))))
2423
2424(define-public cl-queues
2425 (sbcl-package->cl-source-package sbcl-queues))
2426
2427(define-public ecl-queues
2428 (sbcl-package->ecl-package sbcl-queues))
2429
2430(define-public sbcl-queues.simple-queue
2431 (package
2432 (inherit sbcl-queues)
2433 (name "sbcl-queues.simple-queue")
2434 (inputs
2435 `(("sbcl-queues" ,sbcl-queues)))
2436 (arguments
2437 `(#:asd-file "queues.simple-queue.asd"))
2438 (synopsis "Simple queue implementation")
2439 (description
2440 "This is a simple queue library for Common Lisp with features such as
2441non-consing thread safe queues and fibonacci priority queues.")
2442 (license license:expat)))
2443
2444(define-public cl-queues.simple-queue
2445 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2446
2447(define-public ecl-queues.simple-queue
2448 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2449
2450(define-public sbcl-queues.simple-cqueue
2451 (package
2452 (inherit sbcl-queues)
2453 (name "sbcl-queues.simple-cqueue")
2454 (inputs
2455 `(("sbcl-queues" ,sbcl-queues)
2456 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2457 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2458 (arguments
2459 `(#:asd-file "queues.simple-cqueue.asd"))
2460 (synopsis "Thread safe queue implementation")
2461 (description
2462 "This is a simple queue library for Common Lisp with features such as
2463non-consing thread safe queues and fibonacci priority queues.")
2464 (license license:expat)))
2465
2466(define-public cl-queues.simple-cqueue
2467 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2468
2469(define-public ecl-queues.simple-cqueue
2470 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2471
2472(define-public sbcl-queues.priority-queue
2473 (package
2474 (inherit sbcl-queues)
2475 (name "sbcl-queues.priority-queue")
2476 (inputs
2477 `(("sbcl-queues" ,sbcl-queues)))
2478 (arguments
2479 `(#:asd-file "queues.priority-queue.asd"))
2480 (synopsis "Priority queue (Fibonacci) implementation")
2481 (description
2482 "This is a simple queue library for Common Lisp with features such as
2483non-consing thread safe queues and fibonacci priority queues.")
2484 (license license:expat)))
2485
2486(define-public cl-queues.priority-queue
2487 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2488
2489(define-public ecl-queues.priority-queue
2490 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2491
2492(define-public sbcl-queues.priority-cqueue
2493 (package
2494 (inherit sbcl-queues)
2495 (name "sbcl-queues.priority-cqueue")
2496 (inputs
2497 `(("sbcl-queues" ,sbcl-queues)
2498 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2499 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2500 (arguments
2501 `(#:asd-file "queues.priority-cqueue.asd"))
2502 (synopsis "Thread safe fibonacci priority queue implementation")
2503 (description
2504 "This is a simple queue library for Common Lisp with features such as
2505non-consing thread safe queues and fibonacci priority queues.")
2506 (license license:expat)))
2507
2508(define-public cl-queues.priority-cqueue
2509 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2510
2511(define-public ecl-queues.priority-cqueue
2512 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2513
2514(define sbcl-cffi-bootstrap
2515 (package
2516 (name "sbcl-cffi-bootstrap")
237d58c3 2517 (version "0.21.0")
88f06fd0
PN
2518 (source
2519 (origin
2520 (method git-fetch)
2521 (uri (git-reference
2522 (url "https://github.com/cffi/cffi.git")
2523 (commit (string-append "v" version))))
2524 (file-name (git-file-name "cffi-bootstrap" version))
2525 (sha256
237d58c3 2526 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
88f06fd0
PN
2527 (build-system asdf-build-system/sbcl)
2528 (inputs
2529 `(("libffi" ,libffi)
2530 ("alexandria" ,sbcl-alexandria)
2531 ("babel" ,sbcl-babel)
2532 ("trivial-features" ,sbcl-trivial-features)))
2533 (native-inputs
2534 `(("pkg-config" ,pkg-config)))
2535 (arguments
2536 '(#:phases
2537 (modify-phases %standard-phases
2538 (add-after 'unpack 'fix-paths
2539 (lambda* (#:key inputs #:allow-other-keys)
2540 (substitute* "libffi/libffi.lisp"
25a2f2ef 2541 (("libffi.so.7" all) (string-append
88f06fd0
PN
2542 (assoc-ref inputs "libffi")
2543 "/lib/" all)))
2544 (substitute* "toolchain/c-toolchain.lisp"
2545 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2546 #:asd-system-name "cffi"
2547 #:tests? #f))
2548 (home-page "https://common-lisp.net/project/cffi/")
2549 (synopsis "Common Foreign Function Interface for Common Lisp")
2550 (description "The Common Foreign Function Interface (CFFI)
2551purports to be a portable foreign function interface for Common Lisp.
2552The CFFI library is composed of a Lisp-implementation-specific backend
2553in the CFFI-SYS package, and a portable frontend in the CFFI
2554package.")
2555 (license license:expat)))
2556
2557(define-public sbcl-cffi-toolchain
2558 (package
2559 (inherit sbcl-cffi-bootstrap)
2560 (name "sbcl-cffi-toolchain")
2561 (inputs
2562 `(("libffi" ,libffi)
2563 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2564 (arguments
2565 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2566 ((#:asd-system-name _) #f)
2567 ((#:tests? _) #t)))))
2568
2569(define-public sbcl-cffi-libffi
2570 (package
2571 (inherit sbcl-cffi-toolchain)
2572 (name "sbcl-cffi-libffi")
2573 (inputs
2574 `(("cffi" ,sbcl-cffi-bootstrap)
2575 ("cffi-grovel" ,sbcl-cffi-grovel)
2576 ("trivial-features" ,sbcl-trivial-features)
2577 ("libffi" ,libffi)))))
2578
2579(define-public sbcl-cffi-grovel
2580 (package
2581 (inherit sbcl-cffi-toolchain)
2582 (name "sbcl-cffi-grovel")
2583 (inputs
2584 `(("libffi" ,libffi)
2585 ("cffi" ,sbcl-cffi-bootstrap)
2586 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2587 ("alexandria" ,sbcl-alexandria)))
2588 (arguments
2589 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2590 ((#:phases phases)
2591 `(modify-phases ,phases
2592 (add-after 'build 'install-headers
2593 (lambda* (#:key outputs #:allow-other-keys)
2594 (install-file "grovel/common.h"
2595 (string-append
2596 (assoc-ref outputs "out")
2597 "/include/grovel"))))))))))
2598
2599(define-public sbcl-cffi
2600 (package
2601 (inherit sbcl-cffi-toolchain)
2602 (name "sbcl-cffi")
2603 (inputs (package-inputs sbcl-cffi-bootstrap))
2604 (native-inputs
2605 `(("cffi-grovel" ,sbcl-cffi-grovel)
2606 ("cffi-libffi" ,sbcl-cffi-libffi)
2607 ("rt" ,sbcl-rt)
2608 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2609 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2610
2611(define-public cl-cffi
2612 (sbcl-package->cl-source-package sbcl-cffi))
2613
25cefc87
GLV
2614(define-public sbcl-cffi-uffi-compat
2615 (package
2616 (inherit sbcl-cffi-toolchain)
2617 (name "sbcl-cffi-uffi-compat")
2618 (native-inputs
2619 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2620 (inputs
2621 `(("cffi" ,sbcl-cffi)))
2622 (synopsis "UFFI Compatibility Layer for CFFI")))
2623
2624(define-public cl-cffi-uffi-compat
2625 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2626
88f06fd0
PN
2627(define-public sbcl-cl-sqlite
2628 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2629 (package
2630 (name "sbcl-cl-sqlite")
2631 (version (git-version "0.2" "1" commit))
2632 (source
2633 (origin
2634 (method git-fetch)
2635 (uri (git-reference
2636 (url "https://github.com/dmitryvk/cl-sqlite")
2637 (commit commit)))
2638 (file-name (git-file-name "cl-sqlite" version))
2639 (sha256
2640 (base32
2641 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2642 (build-system asdf-build-system/sbcl)
2643 (inputs
2644 `(("iterate" ,sbcl-iterate)
2645 ("cffi" ,sbcl-cffi)
2646 ("sqlite" ,sqlite)))
2647 (native-inputs
2648 `(("fiveam" ,sbcl-fiveam)
2649 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2650 (arguments
2651 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2652 #:asd-file "sqlite.asd"
2653 #:asd-system-name "sqlite"
2654 #:phases
2655 (modify-phases %standard-phases
2656 (add-after 'unpack 'fix-paths
2657 (lambda* (#:key inputs #:allow-other-keys)
2658 (substitute* "sqlite-ffi.lisp"
2659 (("libsqlite3" all) (string-append
2660 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2661 (home-page "https://common-lisp.net/project/cl-sqlite/")
2662 (synopsis "Common Lisp binding for SQLite")
2663 (description
2664 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2665relational database engine.")
2666 (license license:public-domain))))
2667
2668(define-public cl-sqlite
2669 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2670
2671(define-public sbcl-parenscript
2672 (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8"))
2673 (package
2674 (name "sbcl-parenscript")
2675 (version (git-version "2.6" "1" commit))
2676 (source
2677 (origin
2678 (method git-fetch)
2679 (uri (git-reference
2680 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2681 (commit commit)))
2682 (file-name (git-file-name "parenscript" version))
2683 (sha256
2684 (base32
2685 "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k"))))
2686 (build-system asdf-build-system/sbcl)
2687 (inputs
2688 `(("cl-ppcre" ,sbcl-cl-ppcre)
2689 ("anaphora" ,sbcl-anaphora)
2690 ("named-readtables" ,sbcl-named-readtables)))
2691 (home-page "https://common-lisp.net/project/parenscript/")
2692 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2693 (description
2694 "Parenscript is a translator from an extended subset of Common Lisp to
2695JavaScript. Parenscript code can run almost identically on both the
2696browser (as JavaScript) and server (as Common Lisp).
2697
2698Parenscript code is treated the same way as Common Lisp code, making the full
2699power of Lisp macros available for JavaScript. This provides a web
2700development environment that is unmatched in its ability to reduce code
2701duplication and provide advanced meta-programming facilities to web
2702developers.
2703
2704At the same time, Parenscript is different from almost all other \"language
2705X\" to JavaScript translators in that it imposes almost no overhead:
2706
2707@itemize
2708@item No run-time dependencies: Any piece of Parenscript code is runnable
2709as-is. There are no JavaScript files to include.
2710@item Native types: Parenscript works entirely with native JavaScript data
2711types. There are no new types introduced, and object prototypes are not
2712touched.
2713@item Native calling convention: Any JavaScript code can be called without the
2714need for bindings. Likewise, Parenscript can be used to make efficient,
2715self-contained JavaScript libraries.
2716@item Readable code: Parenscript generates concise, formatted, idiomatic
2717JavaScript code. Identifier names are preserved. This enables seamless
2718debugging in tools like Firebug.
2719@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2720Lisp features. The generated code is almost as fast as hand-written
2721JavaScript.
2722@end itemize\n")
2723 (license license:bsd-3))))
2724
2725(define-public cl-parenscript
2726 (sbcl-package->cl-source-package sbcl-parenscript))
2727
2728(define-public ecl-parenscript
2729 (sbcl-package->ecl-package sbcl-parenscript))
2730
2731(define-public sbcl-cl-json
2732 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2733 (package
2734 (name "sbcl-cl-json")
2735 (version (git-version "0.5" "1" commit))
2736 (source
2737 (origin
2738 (method git-fetch)
2739 (uri (git-reference
2740 (url "https://github.com/hankhero/cl-json")
2741 (commit commit)))
2742 (file-name (git-file-name "cl-json" version))
2743 (sha256
2744 (base32
2745 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2746 (build-system asdf-build-system/sbcl)
2747 (native-inputs
2748 `(("fiveam" ,sbcl-fiveam)))
2749 (home-page "https://github.com/hankhero/cl-json")
2750 (synopsis "JSON encoder and decoder for Common-Lisp")
2751 (description
2752 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2753and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2754and the decoder are highly customizable; at the same time, the default
2755settings ensure a very simple mode of operation, similar to that provided by
2756@command{yason} or @command{st-json}.")
2757 (license license:expat))))
2758
2759(define-public cl-json
2760 (sbcl-package->cl-source-package sbcl-cl-json))
2761
2762(define-public ecl-cl-json
2763 (sbcl-package->ecl-package sbcl-cl-json))
2764
2765(define-public sbcl-unix-opts
2766 (package
2767 (name "sbcl-unix-opts")
2768 (version "0.1.7")
2769 (source
2770 (origin
2771 (method git-fetch)
2772 (uri (git-reference
2773 (url "https://github.com/libre-man/unix-opts")
2774 (commit version)))
2775 (file-name (git-file-name "unix-opts" version))
2776 (sha256
2777 (base32
2778 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2779 (build-system asdf-build-system/sbcl)
2780 (home-page "https://github.com/hankhero/cl-json")
2781 (synopsis "Unix-style command line options parser")
2782 (description
2783 "This is a minimalistic parser of command line options. The main
2784advantage of the library is the ability to concisely define command line
2785options once and then use this definition for parsing and extraction of
2786command line arguments, as well as printing description of command line
2787options (you get --help for free). This way you don't need to repeat
2788yourself. Also, @command{unix-opts} doesn't depend on anything and allows to
2789precisely control behavior of the parser via Common Lisp restarts.")
2790 (license license:expat)))
2791
2792(define-public cl-unix-opts
2793 (sbcl-package->cl-source-package sbcl-unix-opts))
2794
2795(define-public ecl-unix-opts
2796 (sbcl-package->ecl-package sbcl-unix-opts))
2797
2798(define-public sbcl-trivial-garbage
2799 (package
2800 (name "sbcl-trivial-garbage")
2801 (version "0.21")
2802 (source
2803 (origin
2804 (method git-fetch)
2805 (uri (git-reference
2806 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2807 (commit (string-append "v" version))))
2808 (file-name (git-file-name "trivial-garbage" version))
2809 (sha256
2810 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2811 (build-system asdf-build-system/sbcl)
2812 (native-inputs
2813 `(("rt" ,sbcl-rt)))
2814 (home-page "https://common-lisp.net/project/trivial-garbage/")
2815 (synopsis "Portable GC-related APIs for Common Lisp")
2816 (description "@command{trivial-garbage} provides a portable API to
2817finalizers, weak hash-tables and weak pointers on all major implementations of
2818the Common Lisp programming language.")
2819 (license license:public-domain)))
2820
2821(define-public cl-trivial-garbage
2822 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2823
2824(define-public ecl-trivial-garbage
2825 (sbcl-package->ecl-package sbcl-trivial-garbage))
2826
2827(define-public sbcl-closer-mop
2828 (let ((commit "fac29ce90e3a46e1fc6cf182190e193526fa9dbc"))
2829 (package
2830 (name "sbcl-closer-mop")
2831 (version (git-version "1.0.0" "1" commit))
2832 (source
2833 (origin
2834 (method git-fetch)
2835 (uri (git-reference
2836 (url "https://github.com/pcostanza/closer-mop")
2837 (commit commit)))
2838 (sha256
2839 (base32 "0hvh77y869h8fg9di5snyg85fxq6fdh9gj1igmx1g6j6j5x915dl"))
2840 (file-name (git-file-name "closer-mop" version ))))
2841 (build-system asdf-build-system/sbcl)
2842 (home-page "https://github.com/pcostanza/closer-mop")
2843 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2844 (description "Closer to MOP is a compatibility layer that rectifies many
2845of the absent or incorrect CLOS MOP features across a broad range of Common
2846Lisp implementations.")
2847 (license license:expat))))
2848
2849(define-public cl-closer-mop
2850 (sbcl-package->cl-source-package sbcl-closer-mop))
2851
2852(define-public ecl-closer-mop
2853 (sbcl-package->ecl-package sbcl-closer-mop))
2854
2855(define sbcl-cl-cffi-gtk-boot0
2856 (let ((commit "29443c5aaca975709df8025c4649366d882033cb"))
2857 (package
2858 (name "sbcl-cl-cffi-gtk-boot0")
2859 (version (git-version "0.11.2" "1" commit))
2860 (source
2861 (origin
2862 (method git-fetch)
2863 (uri (git-reference
2864 (url "https://github.com/Ferada/cl-cffi-gtk/")
2865 (commit commit)))
2866 (file-name (git-file-name "cl-cffi-gtk" version))
2867 (sha256
2868 (base32
2869 "0f6s92sf8xyzh1yksqx8bsy1sv0zmy0c13j3b8bavaba5hlxpxah"))))
2870 (build-system asdf-build-system/sbcl)
2871 (inputs
2872 `(("iterate" ,sbcl-iterate)
2873 ("cffi" ,sbcl-cffi)
2874 ("trivial-features" ,sbcl-trivial-features)))
2875 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2876 (synopsis "Common Lisp binding for GTK+3")
2877 (description
2878 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2879is a library for creating graphical user interfaces.")
2880 (license license:lgpl3))))
2881
2882(define-public sbcl-cl-cffi-gtk-glib
2883 (package
2884 (inherit sbcl-cl-cffi-gtk-boot0)
2885 (name "sbcl-cl-cffi-gtk-glib")
2886 (inputs
2887 `(("glib" ,glib)
2888 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2889 (arguments
2890 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2891 #:phases
2892 (modify-phases %standard-phases
2893 (add-after 'unpack 'fix-paths
2894 (lambda* (#:key inputs #:allow-other-keys)
2895 (substitute* "glib/glib.init.lisp"
2896 (("libglib|libgthread" all) (string-append
2897 (assoc-ref inputs "glib") "/lib/" all))))))))))
2898
2899(define-public sbcl-cl-cffi-gtk-gobject
2900 (package
2901 (inherit sbcl-cl-cffi-gtk-boot0)
2902 (name "sbcl-cl-cffi-gtk-gobject")
2903 (inputs
2904 `(("glib" ,glib)
2905 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2906 ("trivial-garbage" ,sbcl-trivial-garbage)
2907 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2908 ("closer-mop" ,sbcl-closer-mop)
2909 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2910 (arguments
2911 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2912 #:phases
2913 (modify-phases %standard-phases
2914 (add-after 'unpack 'fix-paths
2915 (lambda* (#:key inputs #:allow-other-keys)
2916 (substitute* "gobject/gobject.init.lisp"
2917 (("libgobject" all) (string-append
2918 (assoc-ref inputs "glib") "/lib/" all))))))))))
2919
2920(define-public sbcl-cl-cffi-gtk-gio
2921 (package
2922 (inherit sbcl-cl-cffi-gtk-boot0)
2923 (name "sbcl-cl-cffi-gtk-gio")
2924 (inputs
2925 `(("glib" ,glib)
2926 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2927 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2928 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2929 (arguments
2930 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2931 #:phases
2932 (modify-phases %standard-phases
2933 (add-after 'unpack 'fix-paths
2934 (lambda* (#:key inputs #:allow-other-keys)
2935 (substitute* "gio/gio.init.lisp"
2936 (("libgio" all)
2937 (string-append
2938 (assoc-ref inputs "glib") "/lib/" all))))))))))
2939
2940(define-public sbcl-cl-cffi-gtk-cairo
2941 (package
2942 (inherit sbcl-cl-cffi-gtk-boot0)
2943 (name "sbcl-cl-cffi-gtk-cairo")
2944 (inputs
2945 `(("cairo" ,cairo)
2946 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2947 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2948 (arguments
2949 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2950 #:phases
2951 (modify-phases %standard-phases
2952 (add-after 'unpack 'fix-paths
2953 (lambda* (#:key inputs #:allow-other-keys)
2954 (substitute* "cairo/cairo.init.lisp"
2955 (("libcairo" all)
2956 (string-append
2957 (assoc-ref inputs "cairo") "/lib/" all))))))))))
2958
2959(define-public sbcl-cl-cffi-gtk-pango
2960 (package
2961 (inherit sbcl-cl-cffi-gtk-boot0)
2962 (name "sbcl-cl-cffi-gtk-pango")
2963 (inputs
2964 `(("pango" ,pango)
2965 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2966 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2967 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
2968 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2969 (arguments
2970 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
2971 #:phases
2972 (modify-phases %standard-phases
2973 (add-after 'unpack 'fix-paths
2974 (lambda* (#:key inputs #:allow-other-keys)
2975 (substitute* "pango/pango.init.lisp"
2976 (("libpango" all)
2977 (string-append
2978 (assoc-ref inputs "pango") "/lib/" all))))))))))
2979
2980(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
2981 (package
2982 (inherit sbcl-cl-cffi-gtk-boot0)
2983 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
2984 (inputs
2985 `(("gdk-pixbuf" ,gdk-pixbuf)
2986 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2987 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2988 (arguments
2989 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
2990 #:phases
2991 (modify-phases %standard-phases
2992 (add-after 'unpack 'fix-paths
2993 (lambda* (#:key inputs #:allow-other-keys)
2994 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
2995 (("libgdk_pixbuf" all)
2996 (string-append
2997 (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))))))))
2998
2999(define-public sbcl-cl-cffi-gtk-gdk
3000 (package
3001 (inherit sbcl-cl-cffi-gtk-boot0)
3002 (name "sbcl-cl-cffi-gtk-gdk")
3003 (inputs
3004 `(("gtk" ,gtk+)
3005 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3006 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3007 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3008 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3009 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3010 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3011 (arguments
3012 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
3013 #:phases
3014 (modify-phases %standard-phases
3015 (add-after 'unpack 'fix-paths
3016 (lambda* (#:key inputs #:allow-other-keys)
3017 (substitute* "gdk/gdk.init.lisp"
3018 (("libgdk" all)
3019 (string-append
3020 (assoc-ref inputs "gtk") "/lib/" all)))
3021 (substitute* "gdk/gdk.package.lisp"
3022 (("libgtk" all)
3023 (string-append
3024 (assoc-ref inputs "gtk") "/lib/" all))))))))))
3025
3026(define-public sbcl-cl-cffi-gtk
3027 (package
3028 (inherit sbcl-cl-cffi-gtk-boot0)
3029 (name "sbcl-cl-cffi-gtk")
3030 (inputs
3031 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3032 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3033 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3034 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3035 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3036 (native-inputs
3037 `(("fiveam" ,sbcl-fiveam)))
3038 (arguments
3039 `(#:asd-file "gtk/cl-cffi-gtk.asd"
3040 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3041 ;; TODO: Tests fail with memory fault.
3042 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
3043 #:tests? #f))))
3044
3045(define-public cl-cffi-gtk
3046 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3047
3048(define-public sbcl-cl-webkit
78cb0f3c 3049 (let ((commit "4832c99c31e0eb1fcce3779d119343ae8a423952"))
88f06fd0
PN
3050 (package
3051 (name "sbcl-cl-webkit")
3052 (version (git-version "2.4" "1" commit))
3053 (source
3054 (origin
3055 (method git-fetch)
3056 (uri (git-reference
94aab844 3057 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3058 (commit commit)))
3059 (file-name (git-file-name "cl-webkit" version))
3060 (sha256
3061 (base32
78cb0f3c 3062 "0sn7m181wfg1q49q45dlsry8c38x7pziqcs0frnymk6yvgndybxd"))))
88f06fd0
PN
3063 (build-system asdf-build-system/sbcl)
3064 (inputs
3065 `(("cffi" ,sbcl-cffi)
3066 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3067 ("webkitgtk" ,webkitgtk)))
3068 (arguments
3069 `(#:asd-file "webkit2/cl-webkit2.asd"
3070 #:asd-system-name "cl-webkit2"
3071 #:phases
3072 (modify-phases %standard-phases
3073 (add-after 'unpack 'fix-paths
3074 (lambda* (#:key inputs #:allow-other-keys)
3075 (substitute* "webkit2/webkit2.init.lisp"
3076 (("libwebkit2gtk" all)
3077 (string-append
3078 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3079 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3080 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3081 (description
3082 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3083currently targeting WebKit version 2. The WebKitGTK+ library adds web
3084browsing capabilities to an application, leveraging the full power of the
3085WebKit browsing engine.")
3086 (license license:expat))))
3087
3088(define-public cl-webkit
3089 (sbcl-package->cl-source-package sbcl-cl-webkit))
3090
3091(define-public sbcl-lparallel
3092 (package
3093 (name "sbcl-lparallel")
3094 (version "2.8.4")
3095 (source
3096 (origin
3097 (method git-fetch)
3098 (uri (git-reference
3099 (url "https://github.com/lmj/lparallel/")
3100 (commit (string-append "lparallel-" version))))
3101 (file-name (git-file-name "lparallel" version))
3102 (sha256
3103 (base32
3104 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3105 (build-system asdf-build-system/sbcl)
3106 (inputs
3107 `(("alexandria" ,sbcl-alexandria)
3108 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3109 ("trivial-garbage" ,sbcl-trivial-garbage)))
3110 (home-page "https://lparallel.org/")
3111 (synopsis "Parallelism for Common Lisp")
3112 (description
3113 "@command{lparallel} is a library for parallel programming in Common
3114Lisp, featuring:
3115
3116@itemize
3117@item a simple model of task submission with receiving queue,
3118@item constructs for expressing fine-grained parallelism,
3119@item asynchronous condition handling across thread boundaries,
3120@item parallel versions of map, reduce, sort, remove, and many others,
3121@item promises, futures, and delayed evaluation constructs,
3122@item computation trees for parallelizing interconnected tasks,
3123@item bounded and unbounded FIFO queues,
3124@item high and low priority tasks,
3125@item task killing by category,
3126@item integrated timeouts.
3127@end itemize\n")
3128 (license license:expat)))
3129
3130(define-public cl-lparallel
3131 (sbcl-package->cl-source-package sbcl-lparallel))
3132
3133(define-public ecl-lparallel
3134 (sbcl-package->ecl-package sbcl-lparallel))
3135
3136(define-public sbcl-cl-markup
3137 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3138 (package
3139 (name "sbcl-cl-markup")
3140 (version (git-version "0.1" "1" commit))
3141 (source
3142 (origin
3143 (method git-fetch)
3144 (uri (git-reference
3145 (url "https://github.com/arielnetworks/cl-markup/")
3146 (commit commit)))
3147 (file-name (git-file-name "cl-markup" version))
3148 (sha256
3149 (base32
3150 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3151 (build-system asdf-build-system/sbcl)
3152 (home-page "https://github.com/arielnetworks/cl-markup/")
3153 (synopsis "Markup generation library for Common Lisp")
3154 (description
3155 "A modern markup generation library for Common Lisp that features:
3156
3157@itemize
3158@item Fast (even faster through compiling the code)
3159@item Safety
3160@item Support for multiple document types (markup, xml, html, html5, xhtml)
3161@item Output with doctype
3162@item Direct output to stream
3163@end itemize\n")
3164 (license license:lgpl3+))))
3165
3166(define-public cl-markup
3167 (sbcl-package->cl-source-package sbcl-cl-markup))
3168
3169(define-public ecl-cl-markup
3170 (sbcl-package->ecl-package sbcl-cl-markup))
3171
3172(define-public sbcl-cl-css
3173 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3174 (package
3175 (name "sbcl-cl-css")
3176 (version (git-version "0.1" "1" commit))
3177 (source
3178 (origin
3179 (method git-fetch)
3180 (uri (git-reference
3181 (url "https://github.com/inaimathi/cl-css/")
3182 (commit commit)))
3183 (file-name (git-file-name "cl-css" version))
3184 (sha256
3185 (base32
3186 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3187 (build-system asdf-build-system/sbcl)
3188 (home-page "https://github.com/inaimathi/cl-css/")
3189 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3190 (description
3191 "This is a dead-simple, non validating, inline CSS generator for Common
3192Lisp. Its goals are axiomatic syntax, simple implementation to support
3193portability, and boilerplate reduction in CSS.")
3194 (license license:expat))))
3195
3196(define-public cl-css
3197 (sbcl-package->cl-source-package sbcl-cl-css))
3198
3199(define-public ecl-cl-css
3200 (sbcl-package->ecl-package sbcl-cl-css))
3201
3202(define-public sbcl-portable-threads
3203 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3204 (package
3205 (name "sbcl-portable-threads")
3206 (version (git-version "2.3" "1" commit))
3207 (source
3208 (origin
3209 (method git-fetch)
3210 (uri (git-reference
3211 (url "https://github.com/binghe/portable-threads/")
3212 (commit commit)))
3213 (file-name (git-file-name "portable-threads" version))
3214 (sha256
3215 (base32
3216 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3217 (build-system asdf-build-system/sbcl)
3218 (arguments
3219 `(;; Tests seem broken.
3220 #:tests? #f))
3221 (home-page "https://github.com/binghe/portable-threads")
3222 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3223 (description
3224 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3225Lisp (from GBBopen project).")
3226 (license license:asl2.0))))
3227
3228(define-public cl-portable-threads
3229 (sbcl-package->cl-source-package sbcl-portable-threads))
3230
3231(define-public ecl-portable-threada
3232 (sbcl-package->ecl-package sbcl-portable-threads))
3233
b23e6f5d 3234(define sbcl-usocket-boot0
88f06fd0
PN
3235 ;; usocket's test rely on usocket-server which depends on usocket itself.
3236 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3237 (package
3238 (name "sbcl-usocket-boot0")
3239 (version "0.8.3")
3240 (source
3241 (origin
3242 (method git-fetch)
3243 (uri (git-reference
3244 (url "https://github.com/usocket/usocket/")
3245 (commit (string-append "v" version))))
3246 (file-name (git-file-name "usocket" version))
3247 (sha256
3248 (base32
3249 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3250 (build-system asdf-build-system/sbcl)
3251 (inputs
3252 `(("split-sequence" ,sbcl-split-sequence)))
3253 (arguments
3254 `(#:tests? #f
3255 #:asd-system-name "usocket"))
3256 (home-page "https://common-lisp.net/project/usocket/")
3257 (synopsis "Universal socket library for Common Lisp (server side)")
3258 (description
3259 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3260interface for as many Common Lisp implementations as possible, while keeping
3261the abstraction and portability layer as thin as possible.")
b23e6f5d 3262 (license license:expat)))
88f06fd0
PN
3263
3264(define-public sbcl-usocket-server
3265 (package
3266 (inherit sbcl-usocket-boot0)
3267 (name "sbcl-usocket-server")
3268 (inputs
b23e6f5d
GLV
3269 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3270 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3271 (arguments
3272 '(#:asd-system-name "usocket-server"))
3273 (synopsis "Universal socket library for Common Lisp (server side)")))
3274
3275(define-public cl-usocket-server
3276 (sbcl-package->cl-source-package sbcl-usocket-server))
3277
3278(define-public ecl-socket-server
3279 (sbcl-package->ecl-package sbcl-usocket-server))
3280
3281(define-public sbcl-usocket
3282 (package
3283 (inherit sbcl-usocket-boot0)
3284 (name "sbcl-usocket")
3285 (arguments
3286 ;; FIXME: Tests need network access?
3287 `(#:tests? #f))
3288 (native-inputs
3289 ;; Testing only.
3290 `(("usocket-server" ,sbcl-usocket-server)
3291 ("rt" ,sbcl-rt)))))
3292
3293(define-public cl-usocket
3294 (sbcl-package->cl-source-package sbcl-usocket))
3295
b23e6f5d 3296(define-public ecl-usocket
88f06fd0
PN
3297 (sbcl-package->ecl-package sbcl-usocket))
3298
3299(define-public sbcl-s-xml
3300 (package
3301 (name "sbcl-s-xml")
3302 (version "3")
3303 (source
3304 (origin
3305 (method url-fetch)
3306 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3307 (sha256
3308 (base32
3309 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3310 (build-system asdf-build-system/sbcl)
3311 (home-page "https://common-lisp.net/project/s-xml/")
3312 (synopsis "Simple XML parser implemented in Common Lisp")
3313 (description
3314 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3315parser implementation has the following features:
3316
3317@itemize
3318@item It works (handling many common XML usages).
3319@item It is very small (the core is about 700 lines of code, including
3320comments and whitespace).
3321@item It has a core API that is simple, efficient and pure functional, much
3322like that from SSAX (see also http://ssax.sourceforge.net).
3323@item It supports different DOM models: an XSML-based one, an LXML-based one
3324and a classic xml-element struct based one.
3325@item It is reasonably time and space efficient (internally avoiding garbage
3326generatation as much as possible).
3327@item It does support CDATA.
3328@item It should support the same character sets as your Common Lisp
3329implementation.
3330@item It does support XML name spaces.
3331@end itemize
3332
3333This XML parser implementation has the following limitations:
3334
3335@itemize
3336@item It does not support any special tags (like processing instructions).
3337@item It is not validating, even skips DTD's all together.
3338@end itemize\n")
3339 (license license:lgpl3+)))
3340
3341(define-public cl-s-xml
3342 (sbcl-package->cl-source-package sbcl-s-xml))
3343
3344(define-public ecl-s-xml
3345 (sbcl-package->ecl-package sbcl-s-xml))
3346
3347(define-public sbcl-s-xml-rpc
3348 (package
3349 (name "sbcl-s-xml-rpc")
3350 (version "7")
3351 (source
3352 (origin
3353 (method url-fetch)
3354 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3355 (sha256
3356 (base32
3357 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3358 (build-system asdf-build-system/sbcl)
3359 (inputs
3360 `(("s-xml" ,sbcl-s-xml)))
3361 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3362 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3363 (description
3364 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3365client and server.")
3366 (license license:lgpl3+)))
3367
3368(define-public cl-s-xml-rpc
3369 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3370
3371(define-public ecl-s-xml-rpc
3372 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3373
3374(define-public sbcl-trivial-clipboard
3375 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3376 (package
3377 (name "sbcl-trivial-clipboard")
3378 (version (git-version "0.0.0.0" "2" commit))
3379 (source
3380 (origin
3381 (method git-fetch)
3382 (uri (git-reference
3383 (url "https://github.com/snmsts/trivial-clipboard")
3384 (commit commit)))
3385 (file-name (git-file-name "trivial-clipboard" version))
3386 (sha256
3387 (base32
3388 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3389 (build-system asdf-build-system/sbcl)
3390 (inputs
3391 `(("xclip" ,xclip)))
3392 (native-inputs
3393 `(("fiveam" ,sbcl-fiveam)))
3394 (arguments
3395 `(#:phases
3396 (modify-phases %standard-phases
3397 (add-after 'unpack 'fix-paths
3398 (lambda* (#:key inputs #:allow-other-keys)
3399 (substitute* "src/text.lisp"
3400 (("\\(executable-find \"xclip\"\\)")
3401 (string-append "(executable-find \""
3402 (assoc-ref inputs "xclip")
3403 "/bin/xclip\")"))))))))
3404 (home-page "https://github.com/snmsts/trivial-clipboard")
3405 (synopsis "Access system clipboard in Common Lisp")
3406 (description
3407 "@command{trivial-clipboard} gives access to the system clipboard.")
3408 (license license:expat))))
3409
3410(define-public cl-trivial-clipboard
3411 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3412
3413(define-public ecl-trivial-clipboard
3414 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3415
3416(define-public sbcl-trivial-backtrace
3417 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3418 (revision "1"))
3419 (package
3420 (name "sbcl-trivial-backtrace")
3421 (version (git-version "0.0.0" revision commit))
3422 (source
3423 (origin
3424 (method git-fetch)
3425 (uri (git-reference
3426 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3427 (commit commit)))
3428 (file-name (git-file-name "trivial-backtrace" version))
3429 (sha256
3430 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3431 (build-system asdf-build-system/sbcl)
3432 (inputs
3433 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3434 (arguments
3435 `(#:phases
3436 (modify-phases %standard-phases
3437 (add-after 'check 'delete-test-results
3438 (lambda* (#:key outputs #:allow-other-keys)
3439 (let ((test-results (string-append (assoc-ref outputs "out")
3440 "/share/common-lisp/"
3441 (%lisp-type) "-source"
3442 "/trivial-backtrace"
3443 "/test-results")))
3444 (when (file-exists? test-results)
3445 (delete-file-recursively test-results)))
3446 #t)))))
88f06fd0
PN
3447 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3448 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3449 (description
3450 "On of the many things that didn't quite get into the Common Lisp
3451standard was how to get a Lisp to output its call stack when something has
3452gone wrong. As such, each Lisp has developed its own notion of what to
3453display, how to display it, and what sort of arguments can be used to
3454customize it. @code{trivial-backtrace} is a simple solution to generating a
3455backtrace portably.")
3456 (license license:expat))))
3457
3458(define-public cl-trivial-backtrace
3459 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3460
3461(define-public sbcl-rfc2388
3462 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3463 (revision "1"))
3464 (package
3465 (name "sbcl-rfc2388")
3466 (version (git-version "0.0.0" revision commit))
3467 (source
3468 (origin
3469 (method git-fetch)
3470 (uri (git-reference
3471 (url "https://github.com/jdz/rfc2388.git")
3472 (commit commit)))
3473 (file-name (git-file-name "rfc2388" version))
3474 (sha256
3475 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3476 (build-system asdf-build-system/sbcl)
3477 (home-page "https://github.com/jdz/rfc2388/")
3478 (synopsis "An implementation of RFC 2388 in Common Lisp")
3479 (description
3480 "This package contains an implementation of RFC 2388, which is used to
3481process form data posted with HTTP POST method using enctype
3482\"multipart/form-data\".")
3483 (license license:bsd-2))))
3484
3485(define-public cl-rfc2388
3486 (sbcl-package->cl-source-package sbcl-rfc2388))
3487
3488(define-public sbcl-md5
3489 (package
3490 (name "sbcl-md5")
3491 (version "2.0.4")
3492 (source
3493 (origin
3494 (method url-fetch)
3495 (uri (string-append
3496 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3497 (sha256
3498 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3499 (build-system asdf-build-system/sbcl)
3500 (home-page "https://github.com/pmai/md5")
3501 (synopsis
3502 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3503 (description
3504 "This package implements The MD5 Message-Digest Algorithm, as defined in
3505RFC 1321 by R. Rivest, published April 1992.")
3506 (license license:public-domain)))
3507
3508(define-public cl-md5
3509 (sbcl-package->cl-source-package sbcl-md5))
3510
3511(define-public sbcl-cl+ssl
3512 (let ((commit "141ae91416bc40f1618dc07e48429b84388aa599")
3513 (revision "1"))
3514 (package
3515 (name "sbcl-cl+ssl")
3516 (version (git-version "0.0.0" revision commit))
3517 (source
3518 (origin
3519 (method git-fetch)
3520 (uri (git-reference
3521 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3522 (commit commit)))
3523 (file-name (git-file-name "cl+ssl" version))
3524 (sha256
3525 (base32 "1s0hg1h9sf8q89v0yrxmzg5f5sng29rgx3n21r9h9yql8351myan"))))
3526 (build-system asdf-build-system/sbcl)
3527 (arguments
3528 '(#:phases
3529 (modify-phases %standard-phases
3530 (add-after 'unpack 'fix-paths
3531 (lambda* (#:key inputs #:allow-other-keys)
3532 (substitute* "src/reload.lisp"
3533 (("libssl.so" all)
3534 (string-append
3535 (assoc-ref inputs "openssl") "/lib/" all))))))))
3536 (inputs
3537 `(("openssl" ,openssl)
3538 ("sbcl-cffi" ,sbcl-cffi)
3539 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3540 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3541 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3542 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3543 ("sbcl-alexandria" ,sbcl-alexandria)
3544 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3545 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3546 (synopsis "Common Lisp bindings to OpenSSL")
3547 (description
3548 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3549code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3550Development into CL+SSL was done by David Lichteblau.")
3551 (license license:expat))))
3552
3553(define-public cl-cl+ssl
3554 (sbcl-package->cl-source-package sbcl-cl+ssl))
3555
3556(define-public sbcl-kmrcl
3557 (let ((version "1.109.0")
3558 (commit "5260068b2eb735af6796740c2db4955afac21636")
3559 (revision "1"))
3560 (package
3561 (name "sbcl-kmrcl")
3562 (version (git-version version revision commit))
3563 (source
3564 (origin
3565 (method git-fetch)
3566 (uri (git-reference
3567 (url "http://git.kpe.io/kmrcl.git/")
3568 (commit commit)))
3569 (file-name (git-file-name name version))
3570 (sha256
3571 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3572 (build-system asdf-build-system/sbcl)
3573 (arguments
3574 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3575 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3576 '(#:tests? #f))
3577 (inputs
3578 `(("sbcl-rt" ,sbcl-rt)))
3579 (home-page "http://files.kpe.io/kmrcl/")
3580 (synopsis "General utilities for Common Lisp programs")
3581 (description
3582 "KMRCL is a collection of utilities used by a number of Kevin
3583Rosenberg's CL packages.")
3584 (license license:llgpl))))
3585
3586(define-public cl-kmrcl
3587 (sbcl-package->cl-source-package sbcl-kmrcl))
3588
3589(define-public sbcl-cl-base64
3590 (let ((version "3.3.3"))
3591 (package
3592 (name "sbcl-cl-base64")
3593 (version version)
3594 (source
3595 (origin
3596 (method git-fetch)
3597 (uri (git-reference
3598 (url "http://git.kpe.io/cl-base64.git")
3599 (commit (string-append "v" version))))
3600 (file-name (git-file-name "cl-base64" version))
3601 (sha256
3602 (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
3603 (build-system asdf-build-system/sbcl)
3604 (arguments
3605 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3606 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3607 ;; to toplevel
3608 '(#:tests? #f))
3609 (inputs
3610 `(("sbcl-ptester" ,sbcl-ptester)
3611 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3612 (home-page "http://files.kpe.io/cl-base64/")
3613 (synopsis
3614 "Common Lisp package to encode and decode base64 with URI support")
3615 (description
3616 "This package provides highly optimized base64 encoding and decoding.
3617Besides conversion to and from strings, integer conversions are supported.
3618Encoding with Uniform Resource Identifiers is supported by using a modified
3619encoding table that uses only URI-compatible characters.")
3620 (license license:bsd-3))))
3621
3622(define-public cl-base64
3623 (sbcl-package->cl-source-package sbcl-cl-base64))
3624
3625(define-public sbcl-chunga
3626 (package
3627 (name "sbcl-chunga")
3628 (version "1.1.7")
3629 (source
3630 (origin
3631 (method git-fetch)
3632 (uri (git-reference
3633 (url "https://github.com/edicl/chunga.git")
3634 (commit (string-append "v" version))))
3635 (file-name (git-file-name name version))
3636 (sha256
3637 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3638 (build-system asdf-build-system/sbcl)
3639 (inputs
3640 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3641 (home-page "https://edicl.github.io/chunga/")
3642 (synopsis "Portable chunked streams for Common Lisp")
3643 (description
3644 "Chunga implements streams capable of chunked encoding on demand as
3645defined in RFC 2616.")
3646 (license license:bsd-2)))
3647
3648(define-public cl-chunga
3649 (sbcl-package->cl-source-package sbcl-chunga))
3650
3651(define-public sbcl-cl-who
3652 (let ((version "1.1.4")
3653 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3654 (revision "1"))
3655 (package
3656 (name "sbcl-cl-who")
3657 (version (git-version version revision commit))
3658 (source
3659 (origin
3660 (method git-fetch)
3661 (uri (git-reference
3662 (url "https://github.com/edicl/cl-who.git")
3663 (commit commit)))
3664 (file-name (git-file-name name version))
3665 (sha256
3666 (base32
3667 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3668 (build-system asdf-build-system/sbcl)
3669 (native-inputs
3670 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3671 (home-page "https://edicl.github.io/cl-who/")
3672 (synopsis "Yet another Lisp markup language")
3673 (description
3674 "There are plenty of Lisp Markup Languages out there - every Lisp
3675programmer seems to write at least one during his career - and CL-WHO (where
3676WHO means \"with-html-output\" for want of a better acronym) is probably just
3677as good or bad as the next one.")
3678 (license license:bsd-2))))
3679
3680(define-public cl-cl-who
3681 (sbcl-package->cl-source-package sbcl-cl-who))
3682
3683(define-public sbcl-chipz
3684 (let ((version "0.8")
3685 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3686 (revision "1"))
3687 (package
3688 (name "sbcl-chipz")
3689 (version (git-version version revision commit))
3690 (source
3691 (origin
3692 (method git-fetch)
3693 (uri (git-reference
3694 (url "https://github.com/froydnj/chipz.git")
3695 (commit commit)))
3696 (file-name (git-file-name name version))
3697 (sha256
3698 (base32
3699 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3700 (build-system asdf-build-system/sbcl)
3701 (native-inputs
3702 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3703 (home-page "http://method-combination.net/lisp/chipz/")
3704 (synopsis
3705 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3706data")
3707 (description
3708 "DEFLATE data, defined in RFC1951, forms the core of popular
3709compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3710Chipz also provides for decompressing data in those formats as well. BZIP2 is
3711the format used by the popular compression tool bzip2.")
3712 ;; The author describes it as "MIT-like"
3713 (license license:expat))))
3714
3715(define-public cl-chipz
3716 (sbcl-package->cl-source-package sbcl-chipz))
3717
3718(define-public sbcl-drakma
a2b6b973
GLV
3719 (package
3720 (name "sbcl-drakma")
3721 (version "2.0.7")
3722 (source
3723 (origin
3724 (method git-fetch)
3725 (uri (git-reference
3726 (url "https://github.com/edicl/drakma.git")
3727 (commit (string-append "v" version))))
3728 (file-name (git-file-name name version))
3729 (sha256
3730 (base32
3731 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3732 (build-system asdf-build-system/sbcl)
3733 (inputs
3734 `(("sbcl-puri" ,sbcl-puri)
3735 ("sbcl-cl-base64" ,sbcl-cl-base64)
3736 ("sbcl-chunga" ,sbcl-chunga)
3737 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3738 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3739 ("sbcl-chipz" ,sbcl-chipz)
3740 ("sbcl-usocket" ,sbcl-usocket)
3741 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3742 (native-inputs
3743 `(("sbcl-fiveam" ,sbcl-fiveam)))
3744 (home-page "https://edicl.github.io/drakma/")
3745 (synopsis "HTTP client written in Common Lisp")
3746 (description
3747 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3748knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3749sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3750 (license license:bsd-2)))
88f06fd0
PN
3751
3752(define-public cl-drakma
3753 (sbcl-package->cl-source-package sbcl-drakma))
3754
10ac723b
GLV
3755(define-public ecl-drakma
3756 (sbcl-package->ecl-package sbcl-drakma))
3757
88f06fd0
PN
3758(define-public sbcl-hunchentoot
3759 (package
3760 (name "sbcl-hunchentoot")
3761 (version "1.2.38")
3762 (source
3763 (origin
3764 (method git-fetch)
3765 (uri (git-reference
3766 (url "https://github.com/edicl/hunchentoot.git")
3767 (commit (string-append "v" version))))
3768 (file-name (git-file-name "hunchentoot" version))
3769 (sha256
3770 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3771 (build-system asdf-build-system/sbcl)
3772 (native-inputs
3773 `(("sbcl-cl-who" ,sbcl-cl-who)
3774 ("sbcl-drakma" ,sbcl-drakma)))
3775 (inputs
3776 `(("sbcl-chunga" ,sbcl-chunga)
3777 ("sbcl-cl-base64" ,sbcl-cl-base64)
3778 ("sbcl-cl-fad" ,sbcl-cl-fad)
3779 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3780 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3781 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3782 ("sbcl-md5" ,sbcl-md5)
3783 ("sbcl-rfc2388" ,sbcl-rfc2388)
3784 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3785 ("sbcl-usocket" ,sbcl-usocket)))
3786 (home-page "https://edicl.github.io/hunchentoot/")
3787 (synopsis "Web server written in Common Lisp")
3788 (description
3789 "Hunchentoot is a web server written in Common Lisp and at the same
3790time a toolkit for building dynamic websites. As a stand-alone web server,
3791Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3792connections (keep-alive), and SSL.")
3793 (license license:bsd-2)))
3794
3795(define-public cl-hunchentoot
3796 (sbcl-package->cl-source-package sbcl-hunchentoot))
3797
3798(define-public sbcl-trivial-types
3799 (package
3800 (name "sbcl-trivial-types")
3801 (version "0.0.1")
3802 (source
3803 (origin
3804 (method git-fetch)
3805 (uri (git-reference
3806 (url "https://github.com/m2ym/trivial-types.git")
3807 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3808 (file-name (git-file-name name version))
3809 (sha256
3810 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3811 (build-system asdf-build-system/sbcl)
3812 (home-page "https://github.com/m2ym/trivial-types")
3813 (synopsis "Trivial type definitions for Common Lisp")
3814 (description
3815 "TRIVIAL-TYPES provides missing but important type definitions such as
3816PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3817 (license license:llgpl)))
3818
3819(define-public cl-trivial-types
3820 (sbcl-package->cl-source-package sbcl-trivial-types))
3821
3822(define-public sbcl-cl-syntax
3823 (package
3824 (name "sbcl-cl-syntax")
3825 (version "0.0.3")
3826 (source
3827 (origin
3828 (method git-fetch)
3829 (uri (git-reference
3830 (url "https://github.com/m2ym/cl-syntax.git")
3831 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3832 (file-name (git-file-name "cl-syntax" version))
3833 (sha256
3834 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3835 (build-system asdf-build-system/sbcl)
3836 (arguments
3837 '(#:asd-file "cl-syntax.asd"
3838 #:asd-system-name "cl-syntax"))
3839 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3840 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3841 (home-page "https://github.com/m2ym/cl-syntax")
3842 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3843 (description
3844 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3845 (license license:llgpl)))
3846
3847(define-public cl-syntax
3848 (sbcl-package->cl-source-package sbcl-cl-syntax))
3849
3850(define-public sbcl-cl-annot
3851 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3852 (revision "1"))
3853 (package
3854 (name "sbcl-cl-annot")
3855 (version (git-version "0.0.0" revision commit))
3856 (source
3857 (origin
3858 (method git-fetch)
3859 (uri (git-reference
3860 (url "https://github.com/m2ym/cl-annot.git")
3861 (commit commit)))
3862 (file-name (git-file-name name version))
3863 (sha256
3864 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3865 (build-system asdf-build-system/sbcl)
3866 (arguments
3867 '(#:asd-file "cl-annot.asd"
3868 #:asd-system-name "cl-annot"))
3869 (inputs
3870 `(("sbcl-alexandria" ,sbcl-alexandria)))
3871 (home-page "https://github.com/m2ym/cl-annot")
3872 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3873 (description
3874 "@code{cl-annot} is an general annotation library for Common Lisp.")
3875 (license license:llgpl))))
3876
3877(define-public cl-annot
3878 (sbcl-package->cl-source-package sbcl-cl-annot))
3879
3880(define-public sbcl-cl-syntax-annot
3881 (package
3882 (name "sbcl-cl-syntax-annot")
3883 (version "0.0.3")
3884 (source
3885 (origin
3886 (method git-fetch)
3887 (uri (git-reference
3888 (url "https://github.com/m2ym/cl-syntax.git")
3889 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3890 (file-name (git-file-name name version))
3891 (sha256
3892 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3893 (build-system asdf-build-system/sbcl)
3894 (arguments
3895 '(#:asd-file "cl-syntax-annot.asd"
3896 #:asd-system-name "cl-syntax-annot"))
3897 (inputs
3898 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3899 ("sbcl-cl-annot" ,sbcl-cl-annot)))
3900 (home-page "https://github.com/m2ym/cl-syntax")
3901 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3902 (description
3903 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
3904SLIME.")
3905 (license license:llgpl)))
3906
3907(define-public cl-syntax-annot
3908 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3909
3910(define-public sbcl-cl-utilities
3911 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
3912 (revision "1"))
3913 (package
3914 (name "sbcl-cl-utilities")
3915 (version (git-version "0.0.0" revision commit))
3916 (source
3917 (origin
3918 (method url-fetch)
3919 (uri
3920 (string-append
3921 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
3922 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
3923 (sha256
3924 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
3925 (build-system asdf-build-system/sbcl)
3926 (arguments
3927 '(#:asd-file "cl-utilities.asd"
3928 #:asd-system-name "cl-utilities"
3929 #:phases
3930 (modify-phases %standard-phases
3931 (add-after 'unpack 'fix-paths
3932 (lambda* (#:key inputs #:allow-other-keys)
3933 (substitute* "rotate-byte.lisp"
3934 (("in-package :cl-utilities)" all)
3935 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
3936 (home-page "http://common-lisp.net/project/cl-utilities")
3937 (synopsis "A collection of semi-standard utilities")
3938 (description
3939 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
3940is a collection of Common Lisp Utilities, things that everybody writes since
3941they're not part of the official standard. There are some very useful things
3942there; the only problems are that they aren't implemented as well as you'd
3943like (some aren't implemented at all) and they aren't conveniently packaged
3944and maintained. It takes quite a bit of work to carefully implement utilities
3945for common use, commented and documented, with error checking placed
3946everywhere some dumb user might make a mistake.")
3947 (license license:public-domain))))
3948
3949(define-public cl-utilities
3950 (sbcl-package->cl-source-package sbcl-cl-utilities))
3951
3952(define-public sbcl-map-set
3953 (let ((commit "7b4b545b68b8")
3954 (revision "1"))
3955 (package
3956 (name "sbcl-map-set")
3957 (version (git-version "0.0.0" revision commit))
3958 (source
3959 (origin
3960 (method url-fetch)
3961 (uri (string-append
3962 "https://bitbucket.org/tarballs_are_good/map-set/get/"
3963 commit ".tar.gz"))
3964 (sha256
3965 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
3966 (build-system asdf-build-system/sbcl)
3967 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
3968 (synopsis "Set-like data structure")
3969 (description
3970 "Implementation of a set-like data structure with constant time
3971addition, removal, and random selection.")
3972 (license license:bsd-3))))
3973
3974(define-public cl-map-set
3975 (sbcl-package->cl-source-package sbcl-map-set))
3976
3977(define-public sbcl-quri
3978 (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
3979 (revision "1"))
3980 (package
3981 (name "sbcl-quri")
3982 (version (git-version "0.1.0" revision commit))
3983 (source
3984 (origin
3985 (method git-fetch)
3986 (uri (git-reference
3987 (url "https://github.com/fukamachi/quri.git")
3988 (commit commit)))
3989 (file-name (git-file-name name version))
3990 (sha256
3991 (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
3992 (build-system asdf-build-system/sbcl)
3993 (arguments
3994 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
3995 ;; required by #<SYSTEM "quri">. Why?
3996 '(#:tests? #f))
3997 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
3998 ("sbcl-prove" ,sbcl-prove)))
3999 (inputs `(("sbcl-babel" ,sbcl-babel)
4000 ("sbcl-split-sequence" ,sbcl-split-sequence)
4001 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4002 ("sbcl-alexandria" ,sbcl-alexandria)))
4003 (home-page "https://github.com/fukamachi/quri")
4004 (synopsis "Yet another URI library for Common Lisp")
4005 (description
4006 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4007Lisp. It is intended to be a replacement of PURI.")
4008 (license license:bsd-3))))
4009
4010(define-public cl-quri
4011 (sbcl-package->cl-source-package sbcl-quri))
4012
4013(define-public sbcl-myway
4014 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4015 (revision "1"))
4016 (package
4017 (name "sbcl-myway")
4018 (version (git-version "0.1.0" revision commit))
4019 (source
4020 (origin
4021 (method git-fetch)
4022 (uri (git-reference
4023 (url "https://github.com/fukamachi/myway.git")
4024 (commit commit)))
4025 (file-name (git-file-name "myway" version))
4026 (sha256
4027 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4028 (build-system asdf-build-system/sbcl)
4029 (arguments
4030 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4031 ;; by #<SYSTEM "myway">. Why?
4032 '(#:tests? #f))
4033 (native-inputs
4034 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4035 ("sbcl-prove" ,sbcl-prove)))
4036 (inputs
4037 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4038 ("sbcl-quri" ,sbcl-quri)
4039 ("sbcl-map-set" ,sbcl-map-set)))
4040 (home-page "https://github.com/fukamachi/myway")
4041 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4042 (description "My Way is a Sinatra-compatible URL routing library.")
4043 (license license:llgpl))))
4044
4045(define-public cl-myway
4046 (sbcl-package->cl-source-package sbcl-myway))
4047
4048(define-public sbcl-xsubseq
4049 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4050 (revision "1"))
4051 (package
4052 (name "sbcl-xsubseq")
4053 (version (git-version "0.0.1" revision commit))
4054 (source
4055 (origin
4056 (method git-fetch)
4057 (uri (git-reference
4058 (url "https://github.com/fukamachi/xsubseq")
4059 (commit commit)))
4060 (file-name (git-file-name name version))
4061 (sha256
4062 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4063 (build-system asdf-build-system/sbcl)
4064 (arguments
4065 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4066 ;; required by #<SYSTEM "xsubseq">. Why?
4067 '(#:tests? #f))
4068 (native-inputs
4069 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4070 ("sbcl-prove" ,sbcl-prove)))
4071 (home-page "https://github.com/fukamachi/xsubseq")
4072 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4073 (description
4074 "XSubseq provides functions to be able to handle \"subseq\"s more
4075effieiently.")
4076 (license license:bsd-2))))
4077
4078(define-public cl-xsubseq
4079 (sbcl-package->cl-source-package sbcl-xsubseq))
4080
4081(define-public sbcl-smart-buffer
4082 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4083 (revision "1"))
4084 (package
4085 (name "sbcl-smart-buffer")
4086 (version (git-version "0.0.1" revision commit))
4087 (source
4088 (origin
4089 (method git-fetch)
4090 (uri (git-reference
4091 (url "https://github.com/fukamachi/smart-buffer")
4092 (commit commit)))
4093 (file-name (git-file-name name version))
4094 (sha256
4095 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4096 (build-system asdf-build-system/sbcl)
4097 (arguments
4098 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4099 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4100 `(#:tests? #f))
4101 (native-inputs
4102 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4103 ("sbcl-prove" ,sbcl-prove)))
4104 (inputs
4105 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4106 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4107 (home-page "https://github.com/fukamachi/smart-buffer")
4108 (synopsis "Smart octets buffer")
4109 (description
4110 "Smart-buffer provides an output buffer which changes the destination
4111depending on content size.")
4112 (license license:bsd-3))))
4113
4114(define-public cl-smart-buffer
4115 (sbcl-package->cl-source-package sbcl-smart-buffer))
4116
4117(define-public sbcl-fast-http
4118 (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
4119 (revision "1"))
4120 (package
4121 (name "sbcl-fast-http")
4122 (version (git-version "0.2.0" revision commit))
4123 (source
4124 (origin
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/fukamachi/fast-http")
4128 (commit commit)))
4129 (file-name (git-file-name name version))
4130 (sha256
4131 (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
4132 (build-system asdf-build-system/sbcl)
4133 (arguments
4134 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4135 ;; required by #<SYSTEM "fast-http">. Why?
4136 `(#:tests? #f))
4137 (native-inputs
4138 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4139 ("sbcl-prove" ,sbcl-prove)))
4140 (inputs
4141 `(("sbcl-alexandria" ,sbcl-alexandria)
4142 ("sbcl-proc-parse" ,sbcl-proc-parse)
4143 ("sbcl-xsubseq" ,sbcl-xsubseq)
4144 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4145 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4146 (home-page "https://github.com/fukamachi/fast-http")
4147 (synopsis "HTTP request/response parser for Common Lisp")
4148 (description
4149 "@code{fast-http} is a HTTP request/response protocol parser for Common
4150Lisp.")
4151 ;; Author specified the MIT license
4152 (license license:expat))))
4153
4154(define-public cl-fast-http
4155 (sbcl-package->cl-source-package sbcl-fast-http))
4156
4157(define-public sbcl-static-vectors
ba55cbda
GLV
4158 (package
4159 (name "sbcl-static-vectors")
4160 (version "1.8.4")
4161 (source
4162 (origin
88f06fd0
PN
4163 (method git-fetch)
4164 (uri (git-reference
4165 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4166 (commit (string-append "v" version))))
88f06fd0
PN
4167 (file-name (git-file-name name version))
4168 (sha256
ba55cbda
GLV
4169 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4170 (native-inputs
4171 `(("sbcl-fiveam" ,sbcl-fiveam)))
4172 (inputs
4173 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4174 ("sbcl-cffi" ,sbcl-cffi)))
4175 (build-system asdf-build-system/sbcl)
6b40dbff 4176 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4177 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4178 (description
4179 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4180memory.")
ba55cbda 4181 (license license:expat)))
88f06fd0
PN
4182
4183(define-public cl-static-vectors
4184 (sbcl-package->cl-source-package sbcl-static-vectors))
4185
f6a6f085
GLV
4186(define-public ecl-static-vectors
4187 (sbcl-package->ecl-package sbcl-static-vectors))
4188
88f06fd0
PN
4189(define-public sbcl-marshal
4190 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4191 (revision "1"))
4192 (package
4193 (name "sbcl-marshal")
4194 (version (git-version "1.3.0" revision commit))
4195 (source
4196 (origin
4197 (method git-fetch)
4198 (uri (git-reference
4199 (url "https://github.com/wlbr/cl-marshal.git")
4200 (commit commit)))
4201 (file-name (git-file-name name version))
4202 (sha256
4203 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4204 (build-system asdf-build-system/sbcl)
4205 (home-page "https://github.com/wlbr/cl-marshal")
4206 (synopsis "Simple (de)serialization of Lisp datastructures")
4207 (description
4208 "Simple and fast marshalling of Lisp datastructures. Convert any object
4209into a string representation, put it on a stream an revive it from there.
4210Only minimal changes required to make your CLOS objects serializable.")
4211 (license license:expat))))
4212
4213(define-public cl-marshal
4214 (sbcl-package->cl-source-package sbcl-marshal))
4215
4216(define-public sbcl-checkl
4217 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4218 (revision "1"))
4219 (package
4220 (name "sbcl-checkl")
4221 (version (git-version "0.0.0" revision commit))
4222 (source
4223 (origin
4224 (method git-fetch)
4225 (uri (git-reference
4226 (url "https://github.com/rpav/CheckL.git")
4227 (commit commit)))
4228 (file-name (git-file-name name version))
4229 (sha256
4230 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4231 (build-system asdf-build-system/sbcl)
4232 (arguments
4233 ;; Error while trying to load definition for system checkl-test from
4234 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4235 ;; is undefined.
4236 '(#:tests? #f))
4237 (native-inputs
4238 `(("sbcl-fiveam" ,sbcl-fiveam)))
4239 (inputs
4240 `(("sbcl-marshal" ,sbcl-marshal)))
4241 (home-page "https://github.com/rpav/CheckL/")
4242 (synopsis "Dynamic testing for Common Lisp")
4243 (description
4244 "CheckL lets you write tests dynamically, it checks resulting values
4245against the last run.")
4246 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4247 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4248 ;; stronger of the two and so I think only listing this should suffice.
4249 (license license:llgpl))))
4250
4251(define-public cl-checkl
4252 (sbcl-package->cl-source-package sbcl-checkl))
4253
4254(define-public sbcl-fast-io
4255 (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
4256 (revision "1"))
4257 (package
4258 (name "sbcl-fast-io")
4259 (version (git-version "1.0.0" revision commit))
4260 (source
4261 (origin
4262 (method git-fetch)
4263 (uri (git-reference
4264 (url "https://github.com/rpav/fast-io.git")
4265 (commit commit)))
4266 (file-name (git-file-name name version))
4267 (sha256
4268 (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
4269 (build-system asdf-build-system/sbcl)
4270 (arguments
4271 ;; Error while trying to load definition for system fast-io-test from
4272 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4273 ;; is undefined.
4274 '(#:tests? #f))
4275 (native-inputs
4276 `(("sbcl-fiveam" ,sbcl-fiveam)
4277 ("sbcl-checkl" ,sbcl-checkl)))
4278 (inputs
4279 `(("sbcl-alexandria" ,sbcl-alexandria)
4280 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4281 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4282 (home-page "https://github.com/rpav/fast-io")
4283 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4284 (description
4285 "Fast-io is about improving performance to octet-vectors and octet
4286streams (though primarily the former, while wrapping the latter).")
4287 ;; Author specifies this as NewBSD which is an alias
4288 (license license:bsd-3))))
4289
4290(define-public cl-fast-io
4291 (sbcl-package->cl-source-package sbcl-fast-io))
4292
4293(define-public sbcl-jonathan
4294 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4295 (revision "1"))
4296 (package
4297 (name "sbcl-jonathan")
4298 (version (git-version "0.1.0" revision commit))
4299 (source
4300 (origin
4301 (method git-fetch)
4302 (uri (git-reference
4303 (url "https://github.com/Rudolph-Miller/jonathan.git")
4304 (commit commit)))
4305 (file-name (git-file-name name version))
4306 (sha256
4307 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4308 (build-system asdf-build-system/sbcl)
4309 (arguments
4310 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4311 ;; required by #<SYSTEM "jonathan">. Why?
4312 `(#:tests? #f))
4313 (native-inputs
4314 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4315 ("sbcl-prove" ,sbcl-prove)))
4316 (inputs
4317 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4318 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4319 ("sbcl-fast-io" ,sbcl-fast-io)
4320 ("sbcl-proc-parse" ,sbcl-proc-parse)
4321 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4322 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4323 (synopsis "JSON encoder and decoder")
4324 (description
4325 "High performance JSON encoder and decoder. Currently support: SBCL,
4326CCL.")
4327 ;; Author specifies the MIT license
4328 (license license:expat))))
4329
4330(define-public cl-jonathan
4331 (sbcl-package->cl-source-package sbcl-jonathan))
4332
4333(define-public sbcl-http-body
4334 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4335 (revision "1"))
4336 (package
4337 (name "sbcl-http-body")
4338 (version (git-version "0.1.0" revision commit))
4339 (source
4340 (origin
4341 (method git-fetch)
4342 (uri (git-reference
4343 (url "https://github.com/fukamachi/http-body")
4344 (commit commit)))
4345 (file-name (git-file-name name version))
4346 (sha256
4347 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4348 (build-system asdf-build-system/sbcl)
4349 (arguments
4350 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4351 ;; found, required by #<SYSTEM "http-body">. Why?
4352 `(#:tests? #f))
4353 (native-inputs
4354 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4355 ("sbcl-prove" ,sbcl-prove)))
4356 (inputs
4357 `(("sbcl-fast-http" ,sbcl-fast-http)
4358 ("sbcl-jonathan" ,sbcl-jonathan)
4359 ("sbcl-quri" ,sbcl-quri)))
4360 (home-page "https://github.com/fukamachi/http-body")
4361 (synopsis "HTTP POST data parser")
4362 (description
4363 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4364supports application/x-www-form-urlencoded, application/json, and
4365multipart/form-data.")
4366 (license license:bsd-2))))
4367
4368(define-public cl-http-body
4369 (sbcl-package->cl-source-package sbcl-http-body))
4370
4371(define-public sbcl-circular-streams
4372 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4373 (revision "1"))
4374 (package
4375 (name "sbcl-circular-streams")
4376 (version (git-version "0.1.0" revision commit))
4377 (source
4378 (origin
4379 (method git-fetch)
4380 (uri (git-reference
4381 (url "https://github.com/fukamachi/circular-streams")
4382 (commit commit)))
4383 (file-name (git-file-name name version))
4384 (sha256
4385 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4386 (build-system asdf-build-system/sbcl)
4387 (arguments
4388 ;; The tests depend on cl-test-more which is now prove. Prove
4389 ;; tests aren't working for some reason.
4390 `(#:tests? #f))
4391 (inputs
4392 `(("sbcl-fast-io" ,sbcl-fast-io)
4393 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4394 (home-page "https://github.com/fukamachi/circular-streams")
4395 (synopsis "Circularly readable streams for Common Lisp")
4396 (description
4397 "Circular-Streams allows you to read streams circularly by wrapping real
4398streams. Once you reach end-of-file of a stream, it's file position will be
4399reset to 0 and you're able to read it again.")
4400 (license license:llgpl))))
4401
4402(define-public cl-circular-streams
4403 (sbcl-package->cl-source-package sbcl-circular-streams))
4404
4405(define-public sbcl-lack-request
4406 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4407 (revision "1"))
4408 (package
4409 (name "sbcl-lack-request")
4410 (version (git-version "0.1.0" revision commit))
4411 (source
4412 (origin
4413 (method git-fetch)
4414 (uri (git-reference
4415 (url "https://github.com/fukamachi/lack.git")
4416 (commit commit)))
4417 (file-name (git-file-name "lack-request" version))
4418 (sha256
4419 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4420 (build-system asdf-build-system/sbcl)
4421 (arguments
4422 '(#:asd-file "lack-request.asd"
4423 #:asd-system-name "lack-request"
4424 #:test-asd-file "t-lack-request.asd"
4425 ;; XXX: Component :CLACK-TEST not found
4426 #:tests? #f))
4427 (native-inputs
4428 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4429 ("sbcl-prove" ,sbcl-prove)))
4430 (inputs
4431 `(("sbcl-quri" ,sbcl-quri)
4432 ("sbcl-http-body" ,sbcl-http-body)
4433 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4434 (home-page "https://github.com/fukamachi/lack")
4435 (synopsis "Lack, the core of Clack")
4436 (description
4437 "Lack is a Common Lisp library which allows web applications to be
4438constructed of modular components. It was originally a part of Clack, however
4439it's going to be rewritten as an individual project since Clack v2 with
4440performance and simplicity in mind.")
4441 (license license:llgpl))))
4442
4443(define-public cl-lack-request
4444 (sbcl-package->cl-source-package sbcl-lack-request))
4445
4446(define-public sbcl-local-time
4447 (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
4448 (revision "1"))
4449 (package
4450 (name "sbcl-local-time")
4451 (version (git-version "1.0.6" revision commit))
4452 (source
4453 (origin
4454 (method git-fetch)
4455 (uri (git-reference
4456 (url "https://github.com/dlowe-net/local-time.git")
4457 (commit commit)))
4458 (file-name (git-file-name name version))
4459 (sha256
4460 (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
4461 (build-system asdf-build-system/sbcl)
4462 (arguments
4463 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4464 ;; "local-time/test">
4465 '(#:tests? #f))
4466 (native-inputs
4467 `(("stefil" ,sbcl-hu.dwim.stefil)))
4468 (inputs
4469 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4470 (home-page "https://common-lisp.net/project/local-time/")
4471 (synopsis "Time manipulation library for Common Lisp")
4472 (description
4473 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4474dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4475Long Painful History of Time\".")
4476 (license license:expat))))
4477
4478(define-public cl-local-time
4479 (sbcl-package->cl-source-package sbcl-local-time))
4480
4481(define-public sbcl-lack-response
4482 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4483 (revision "1"))
4484 (package
4485 (name "sbcl-lack-response")
4486 (version (git-version "0.1.0" revision commit))
4487 (source
4488 (origin
4489 (method git-fetch)
4490 (uri (git-reference
4491 (url "https://github.com/fukamachi/lack.git")
4492 (commit commit)))
4493 (file-name (git-file-name name version))
4494 (sha256
4495 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4496 (build-system asdf-build-system/sbcl)
4497 (arguments
4498 '(#:asd-file "lack-response.asd"
4499 #:asd-system-name "lack-response"
4500 ;; XXX: no tests for lack-response.
4501 #:tests? #f))
4502 (native-inputs
4503 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4504 ("sbcl-prove" ,sbcl-prove)))
4505 (inputs
4506 `(("sbcl-quri" ,sbcl-quri)
4507 ("sbcl-http-body" ,sbcl-http-body)
4508 ("sbcl-circular-streams" ,sbcl-circular-streams)
4509 ("sbcl-local-time" ,sbcl-local-time)))
4510 (home-page "https://github.com/fukamachi/lack")
4511 (synopsis "Lack, the core of Clack")
4512 (description
4513 "Lack is a Common Lisp library which allows web applications to be
4514constructed of modular components. It was originally a part of Clack, however
4515it's going to be rewritten as an individual project since Clack v2 with
4516performance and simplicity in mind.")
4517 (license license:llgpl))))
4518
4519(define-public cl-lack-response
4520 (sbcl-package->cl-source-package sbcl-lack-response))
4521
4522(define-public sbcl-lack-component
4523 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4524 (revision "1"))
4525 (package
4526 (name "sbcl-lack-component")
4527 (version (git-version "0.0.0" revision commit))
4528 (source
4529 (origin
4530 (method git-fetch)
4531 (uri (git-reference
4532 (url "https://github.com/fukamachi/lack.git")
4533 (commit commit)))
4534 (file-name (git-file-name "lack-component" version))
4535 (sha256
4536 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4537 (build-system asdf-build-system/sbcl)
4538 (arguments
4539 '(#:asd-file "lack-component.asd"
4540 #:asd-system-name "lack-component"
4541 #:test-asd-file "t-lack-component.asd"
4542 ;; XXX: Component :LACK-TEST not found
4543 #:tests? #f))
4544 (native-inputs
4545 `(("prove-asdf" ,sbcl-prove-asdf)))
4546 (home-page "https://github.com/fukamachi/lack")
4547 (synopsis "Lack, the core of Clack")
4548 (description
4549 "Lack is a Common Lisp library which allows web applications to be
4550constructed of modular components. It was originally a part of Clack, however
4551it's going to be rewritten as an individual project since Clack v2 with
4552performance and simplicity in mind.")
4553 (license license:llgpl))))
4554
4555(define-public cl-lack-component
4556 (sbcl-package->cl-source-package sbcl-lack-component))
4557
4558(define-public sbcl-lack-util
4559 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4560 (revision "1"))
4561 (package
4562 (name "sbcl-lack-util")
4563 (version (git-version "0.1.0" revision commit))
4564 (source
4565 (origin
4566 (method git-fetch)
4567 (uri (git-reference
4568 (url "https://github.com/fukamachi/lack.git")
4569 (commit commit)))
4570 (file-name (git-file-name "lack-util" version))
4571 (sha256
4572 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4573 (build-system asdf-build-system/sbcl)
4574 (arguments
4575 '(#:asd-file "lack-util.asd"
4576 #:asd-system-name "lack-util"
4577 #:test-asd-file "t-lack-util.asd"
4578 ;; XXX: Component :LACK-TEST not found
4579 #:tests? #f))
4580 (native-inputs
4581 `(("prove-asdf" ,sbcl-prove-asdf)))
4582 (inputs
4583 `(("sbcl-ironclad" ,sbcl-ironclad)))
4584 (home-page "https://github.com/fukamachi/lack")
4585 (synopsis "Lack, the core of Clack")
4586 (description
4587 "Lack is a Common Lisp library which allows web applications to be
4588constructed of modular components. It was originally a part of Clack, however
4589it's going to be rewritten as an individual project since Clack v2 with
4590performance and simplicity in mind.")
4591 (license license:llgpl))))
4592
4593(define-public cl-lack-util
4594 (sbcl-package->cl-source-package sbcl-lack-util))
4595
4596(define-public sbcl-lack-middleware-backtrace
4597 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4598 (revision "1"))
4599 (package
4600 (name "sbcl-lack-middleware-backtrace")
4601 (version (git-version "0.1.0" revision commit))
4602 (source
4603 (origin
4604 (method git-fetch)
4605 (uri (git-reference
4606 (url "https://github.com/fukamachi/lack.git")
4607 (commit commit)))
4608 (file-name (git-file-name "lack-middleware-backtrace" version))
4609 (sha256
4610 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4611 (build-system asdf-build-system/sbcl)
4612 (arguments
4613 '(#:asd-file "lack-middleware-backtrace.asd"
4614 #:asd-system-name "lack-middleware-backtrace"
4615 #:test-asd-file "t-lack-middleware-backtrace.asd"
4616 ;; XXX: Component :LACK not found
4617 #:tests? #f))
4618 (native-inputs
4619 `(("prove-asdf" ,sbcl-prove-asdf)))
4620 (home-page "https://github.com/fukamachi/lack")
4621 (synopsis "Lack, the core of Clack")
4622 (description
4623 "Lack is a Common Lisp library which allows web applications to be
4624constructed of modular components. It was originally a part of Clack, however
4625it's going to be rewritten as an individual project since Clack v2 with
4626performance and simplicity in mind.")
4627 (license license:llgpl))))
4628
4629(define-public cl-lack-middleware-backtrace
4630 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4631
4632(define-public sbcl-trivial-mimes
4633 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4634 (revision "1"))
4635 (package
4636 (name "sbcl-trivial-mimes")
4637 (version (git-version "1.1.0" revision commit))
4638 (source
4639 (origin
4640 (method git-fetch)
4641 (uri (git-reference
4642 (url "https://github.com/Shinmera/trivial-mimes.git")
4643 (commit commit)))
4644 (file-name (git-file-name name version))
4645 (sha256
4646 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4647 (build-system asdf-build-system/sbcl)
4648 (arguments
4649 '(#:phases
4650 (modify-phases %standard-phases
4651 (add-after
4652 'unpack 'fix-paths
4653 (lambda* (#:key inputs #:allow-other-keys)
4654 (let ((anchor "#p\"/etc/mime.types\""))
4655 (substitute* "mime-types.lisp"
4656 ((anchor all)
4657 (string-append
4658 anchor "\n"
4659 "(asdf:system-relative-pathname :trivial-mimes "
4660 "\"../../share/common-lisp/" (%lisp-type)
4661 "-source/trivial-mimes/mime.types\")")))))))))
4662 (native-inputs
4663 `(("stefil" ,sbcl-hu.dwim.stefil)))
4664 (inputs
4665 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4666 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4667 (synopsis "Tiny Common Lisp library to detect mime types in files")
4668 (description
4669 "This is a teensy library that provides some functions to determine the
4670mime-type of a file.")
4671 (license license:artistic2.0))))
4672
4673(define-public cl-trivial-mimes
4674 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4675
4676(define-public ecl-trivial-mimes
4677 (sbcl-package->ecl-package sbcl-trivial-mimes))
4678
4679(define-public sbcl-lack-middleware-static
4680 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4681 (revision "1"))
4682 (package
4683 (name "sbcl-lack-middleware-static")
4684 (version (git-version "0.1.0" revision commit))
4685 (source
4686 (origin
4687 (method git-fetch)
4688 (uri (git-reference
4689 (url "https://github.com/fukamachi/lack.git")
4690 (commit commit)))
4691 (file-name (git-file-name "lack-middleware-static" version))
4692 (sha256
4693 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4694 (build-system asdf-build-system/sbcl)
4695 (arguments
4696 '(#:asd-file "lack-middleware-static.asd"
4697 #:asd-system-name "lack-middleware-static"
4698 #:test-asd-file "t-lack-middleware-static.asd"
4699 ;; XXX: Component :LACK not found
4700 #:tests? #f))
4701 (native-inputs
4702 `(("prove-asdf" ,sbcl-prove-asdf)))
4703 (inputs
4704 `(("sbcl-ironclad" ,sbcl-ironclad)
4705 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4706 ("sbcl-local-time" ,sbcl-local-time)))
4707 (home-page "https://github.com/fukamachi/lack")
4708 (synopsis "Lack, the core of Clack")
4709 (description
4710 "Lack is a Common Lisp library which allows web applications to be
4711constructed of modular components. It was originally a part of Clack, however
4712it's going to be rewritten as an individual project since Clack v2 with
4713performance and simplicity in mind.")
4714 (license license:llgpl))))
4715
4716(define-public cl-lack-middleware-static
4717 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4718
4719(define-public sbcl-lack
4720 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4721 (revision "1"))
4722 (package
4723 (name "sbcl-lack")
4724 (version (git-version "0.1.0" revision commit))
4725 (source
4726 (origin
4727 (method git-fetch)
4728 (uri (git-reference
4729 (url "https://github.com/fukamachi/lack.git")
4730 (commit commit)))
4731 (file-name (git-file-name "lack" version))
4732 (sha256
4733 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4734 (build-system asdf-build-system/sbcl)
4735 (arguments
4736 '(#:test-asd-file "t-lack.asd"
4737 ;; XXX: Component :CLACK not found
4738 #:tests? #f))
4739 (native-inputs
4740 `(("prove-asdf" ,sbcl-prove-asdf)))
4741 (inputs
4742 `(("sbcl-lack-component" ,sbcl-lack-component)
4743 ("sbcl-lack-util" ,sbcl-lack-util)))
4744 (home-page "https://github.com/fukamachi/lack")
4745 (synopsis "Lack, the core of Clack")
4746 (description
4747 "Lack is a Common Lisp library which allows web applications to be
4748constructed of modular components. It was originally a part of Clack, however
4749it's going to be rewritten as an individual project since Clack v2 with
4750performance and simplicity in mind.")
4751 (license license:llgpl))))
4752
4753(define-public cl-lack
4754 (sbcl-package->cl-source-package sbcl-lack))
4755
4756(define-public sbcl-ningle
4757 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4758 (revision "1"))
4759 (package
4760 (name "sbcl-ningle")
4761 (version (git-version "0.3.0" revision commit))
4762 (source
4763 (origin
4764 (method git-fetch)
4765 (uri (git-reference
4766 (url "https://github.com/fukamachi/ningle.git")
4767 (commit commit)))
4768 (file-name (git-file-name name version))
4769 (sha256
4770 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4771 (build-system asdf-build-system/sbcl)
4772 (arguments
4773 ;; TODO: pull in clack-test
4774 '(#:tests? #f
4775 #:phases
4776 (modify-phases %standard-phases
4777 (delete 'cleanup-files)
4778 (delete 'cleanup)
4779 (add-before 'cleanup 'combine-fasls
4780 (lambda* (#:key outputs #:allow-other-keys)
4781 (let* ((out (assoc-ref outputs "out"))
4782 (lib (string-append out "/lib/sbcl"))
4783 (ningle-path (string-append lib "/ningle"))
4784 (fasl-files (find-files out "\\.fasl$")))
4785 (mkdir-p ningle-path)
4786 (let ((fasl-path (lambda (name)
4787 (string-append ningle-path
4788 "/"
4789 (basename name)
4790 "--system.fasl"))))
4791 (for-each (lambda (file)
4792 (rename-file file
4793 (fasl-path
4794 (basename file ".fasl"))))
4795 fasl-files))
4796 fasl-files)
4797 #t)))))
4798 (native-inputs
4799 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4800 ("sbcl-prove" ,sbcl-prove)))
4801 (inputs
4802 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4803 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4804 ("sbcl-myway" ,sbcl-myway)
4805 ("sbcl-lack-request" ,sbcl-lack-request)
4806 ("sbcl-lack-response" ,sbcl-lack-response)
4807 ("sbcl-lack-component" ,sbcl-lack-component)
4808 ("sbcl-alexandria" ,sbcl-alexandria)
4809 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4810 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4811 (synopsis "Super micro framework for Common Lisp")
4812 (description
4813 "Ningle is a lightweight web application framework for Common Lisp.")
4814 (license license:llgpl))))
4815
4816(define-public cl-ningle
4817 (sbcl-package->cl-source-package sbcl-ningle))
4818
4819(define-public sbcl-clack
4820 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4821 (revision "1"))
4822 (package
4823 (name "sbcl-clack")
4824 (version (git-version "2.0.0" revision commit))
4825 (source
4826 (origin
4827 (method git-fetch)
4828 (uri (git-reference
4829 (url "https://github.com/fukamachi/clack.git")
4830 (commit commit)))
4831 (file-name (git-file-name name version))
4832 (sha256
4833 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4834 (build-system asdf-build-system/sbcl)
4835 (inputs
4836 `(("sbcl-lack" ,sbcl-lack)
4837 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4838 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4839 (home-page "https://github.com/fukamachi/clack")
4840 (synopsis "Web Application Environment for Common Lisp")
4841 (description
4842 "Clack is a web application environment for Common Lisp inspired by
4843Python's WSGI and Ruby's Rack.")
4844 (license license:llgpl))))
4845
4846(define-public cl-clack
4847 (sbcl-package->cl-source-package sbcl-clack))
4848
4849(define-public sbcl-log4cl
4850 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4851 (revision "1"))
4852 (package
4853 (name "sbcl-log4cl")
4854 (build-system asdf-build-system/sbcl)
4855 (version "1.1.2")
4856 (source
4857 (origin
4858 (method git-fetch)
4859 (uri (git-reference
4860 (url "https://github.com/sharplispers/log4cl")
4861 (commit commit)))
4862 (file-name (git-file-name name version))
4863 (sha256
4864 (base32
4865 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4866 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4867 (arguments
4868 `(#:tests? #f))
4869 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4870 (synopsis "Common Lisp logging framework, modeled after Log4J")
4871 (home-page "https://github.com/7max/log4cl")
4872 (description "This is a Common Lisp logging framework that can log at
4873various levels and mix text with expressions.")
4874 (license license:asl2.0))))
4875
4876(define-public cl-log4cl
4877 (sbcl-package->cl-source-package sbcl-log4cl))
4878
4879(define-public ecl-log4cl
4880 (sbcl-package->ecl-package sbcl-log4cl))
4881
4882(define-public sbcl-find-port
4883 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4884 (revision "1"))
4885 (package
4886 (name "sbcl-find-port")
4887 (build-system asdf-build-system/sbcl)
4888 (version "0.1")
4889 (home-page "https://github.com/eudoxia0/find-port")
4890 (source
4891 (origin
4892 (method git-fetch)
4893 (uri (git-reference
4894 (url home-page)
4895 (commit commit)))
4896 (file-name (git-file-name name version))
4897 (sha256
4898 (base32
4899 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
4900 (native-inputs
4901 `(("fiveam" ,sbcl-fiveam)))
4902 (inputs
4903 `(("sbcl-usocket" ,sbcl-usocket)))
4904 (synopsis "Find open ports programmatically in Common Lisp")
4905 (description "This is a small Common Lisp library that finds an open
4906port within a range.")
4907 (license license:expat))))
4908
4909(define-public cl-find-port
4910 (sbcl-package->cl-source-package sbcl-find-port))
4911
4912(define-public ecl-find-port
4913 (sbcl-package->ecl-package sbcl-find-port))
4914
4915(define-public sbcl-clunit
4916 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
4917 (revision "1"))
4918 (package
4919 (name "sbcl-clunit")
4920 (version (git-version "0.2.3" revision commit))
4921 (source
4922 (origin
4923 (method git-fetch)
4924 (uri (git-reference
4925 (url "https://github.com/tgutu/clunit.git")
4926 (commit commit)))
4927 (file-name (git-file-name name version))
4928 (sha256
4929 (base32
4930 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
4931 (build-system asdf-build-system/sbcl)
4932 (synopsis "CLUnit is a Common Lisp unit testing framework")
4933 (description
4934 "CLUnit is a Common Lisp unit testing framework. It is designed
4935to be easy to use so that you can quickly start testing. CLUnit
4936provides a rich set of features aimed at improving your unit testing
4937experience.")
b4034d1b 4938 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
4939 ;; MIT License
4940 (license license:expat))))
4941
4942(define-public cl-clunit
4943 (sbcl-package->cl-source-package sbcl-clunit))
4944
4945(define-public ecl-clunit
4946 (sbcl-package->ecl-package sbcl-clunit))
4947
4948(define-public sbcl-py4cl
4949 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
4950 (revision "1"))
4951 (package
4952 (name "sbcl-py4cl")
4953 (version (git-version "0.0.0" revision commit))
4954 (source
4955 (origin
4956 (method git-fetch)
4957 (uri (git-reference
4958 (url "https://github.com/bendudson/py4cl.git")
4959 (commit commit)))
4960 (file-name (git-file-name name version))
4961 (sha256
4962 (base32
4963 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
4964 (modules '((guix build utils)))))
4965 (build-system asdf-build-system/sbcl)
4966 (native-inputs
4967 `(("sbcl-clunit" ,sbcl-clunit)))
4968 (inputs
4969 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
4970 (propagated-inputs
4971 ;; This package doesn't do anything without python available
4972 `(("python" ,python)
4973 ;; For multi-dimensional array support
4974 ("python-numpy" ,python-numpy)))
4975 (arguments
4976 '(#:phases
4977 (modify-phases %standard-phases
4978 (add-after 'unpack 'replace-*base-directory*-var
4979 (lambda* (#:key outputs #:allow-other-keys)
4980 ;; In the ASD, the author makes an attempt to
4981 ;; programatically determine the location of the
4982 ;; source-code so lisp can call into "py4cl.py". We can
4983 ;; hard-code this since we know where this file will
4984 ;; reside.
4985 (substitute* "src/callpython.lisp"
4986 (("py4cl/config:\\*base-directory\\*")
4987 (string-append
4988 "\""
4989 (assoc-ref outputs "out")
4990 "/share/common-lisp/sbcl-source/py4cl/"
4991 "\""))))))))
4992 (synopsis "Call python from Common Lisp")
4993 (description
4994 "Py4CL is a bridge between Common Lisp and Python, which enables Common
4995Lisp to interact with Python code. It uses streams to communicate with a
4996separate python process, the approach taken by cl4py. This is different to
4997the CFFI approach used by burgled-batteries, but has the same goal.")
4998 (home-page "https://github.com/bendudson/py4cl")
4999 ;; MIT License
5000 (license license:expat))))
5001
5002(define-public cl-py4cl
5003 (sbcl-package->cl-source-package sbcl-py4cl))
5004
5005(define-public ecl-py4cl
5006 (sbcl-package->ecl-package sbcl-py4cl))
5007
5008(define-public sbcl-parse-declarations
1fce78c4
GLV
5009 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5010 (revision "1"))
5011 (package
5012 (name "sbcl-parse-declarations")
5013 (version (git-version "1.0.0" revision commit))
5014 (source
5015 (origin
5016 (method git-fetch)
5017 (uri (git-reference
5018 (url (string-append
5019 "https://gitlab.common-lisp.net/parse-declarations/"
5020 "parse-declarations.git"))
5021 (commit commit)))
5022 (file-name (git-file-name name version))
5023 (sha256
5024 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5025 (build-system asdf-build-system/sbcl)
5026 (arguments
5027 `(#:asd-file "parse-declarations-1.0.asd"
5028 #:asd-system-name "parse-declarations-1.0"))
5029 (home-page "https://common-lisp.net/project/parse-declarations/")
5030 (synopsis "Parse, filter, and build declarations")
5031 (description
5032 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5033macros which establish bindings. To be semantically correct, such
5034macros must take user declarations into account, as these may affect
5035the bindings they establish. Yet the ANSI standard of Common Lisp does
5036not provide any operators to work with declarations in a convenient,
5037high-level way. This library provides such operators.")
1fce78c4
GLV
5038 ;; MIT License
5039 (license license:expat))))
88f06fd0
PN
5040
5041(define-public cl-parse-declarations
5042 (sbcl-package->cl-source-package sbcl-parse-declarations))
5043
5044(define-public ecl-parse-declarations
5045 (sbcl-package->ecl-package sbcl-parse-declarations))
5046
5047(define-public sbcl-cl-quickcheck
5048 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5049 (revision "1"))
5050 (package
5051 (name "sbcl-cl-quickcheck")
5052 (version (git-version "0.0.4" revision commit))
5053 (source
5054 (origin
5055 (method git-fetch)
5056 (uri (git-reference
5057 (url "https://github.com/mcandre/cl-quickcheck.git")
5058 (commit commit)))
5059 (file-name (git-file-name name version))
5060 (sha256
5061 (base32
5062 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5063 (build-system asdf-build-system/sbcl)
5064 (synopsis
5065 "Common Lisp port of the QuickCheck unit test framework")
5066 (description
5067 "Common Lisp port of the QuickCheck unit test framework")
5068 (home-page "https://github.com/mcandre/cl-quickcheck")
5069 ;; MIT
5070 (license license:expat))))
5071
5072(define-public cl-cl-quickcheck
5073 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5074
5075(define-public ecl-cl-quickcheck
5076 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5077
5078(define-public sbcl-burgled-batteries3
5079 (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
5080 (revision "1"))
5081 (package
5082 (name "sbcl-burgled-batteries3")
5083 (version (git-version "0.0.0" revision commit))
5084 (source
5085 (origin
5086 (method git-fetch)
5087 (uri (git-reference
5088 (url "https://github.com/snmsts/burgled-batteries3.git")
5089 (commit commit)))
5090 (file-name (git-file-name name version))
5091 (sha256
5092 (base32
5093 "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
5094 (build-system asdf-build-system/sbcl)
5095 (arguments
5096 '(#:tests? #f
5097 #:phases
5098 (modify-phases %standard-phases
5099 (add-after 'unpack 'set-*cpython-include-dir*-var
5100 (lambda* (#:key inputs #:allow-other-keys)
5101 (substitute* "grovel-include-dir.lisp"
5102 (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
5103 (string-append
5104 "(defparameter *cpython-include-dir* \""
5105 (assoc-ref inputs "python")
5106 "/include/python3.7m"
5107 "\")")))
5108 (substitute* "ffi-interface.lisp"
5109 (("\\*cpython-lib\\*")
5110 (format #f "'(\"~a/lib/libpython3.so\")"
5111 (assoc-ref inputs "python"))))
5112 #t)))))
5113 (native-inputs
5114 `(("python" ,python)
5115 ("sbcl-cl-fad" ,sbcl-cl-fad)
5116 ("sbcl-lift" ,sbcl-lift)
5117 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5118 (inputs
5119 `(("sbcl-cffi" ,sbcl-cffi)
5120 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5121 ("sbcl-alexandria" , sbcl-alexandria)
5122 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5123 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5124 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5125 (description
5126 "This package provides a shim between Python3 (specifically, the
5127CPython implementation of Python) and Common Lisp.")
5128 (home-page "https://github.com/snmsts/burgled-batteries3")
5129 ;; MIT
5130 (license license:expat))))
5131
5132(define-public cl-burgled-batteries3
5133 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5134
5135(define-public ecl-burgled-batteries3
5136 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5137
5138(define-public sbcl-metabang-bind
5139 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5140 (revision "1"))
5141 (package
5142 (name "sbcl-metabang-bind")
5143 (version (git-version "0.8.0" revision commit))
5144 (source
5145 (origin
5146 (method git-fetch)
5147 (uri (git-reference
5148 (url "https://github.com/gwkkwg/metabang-bind.git")
5149 (commit commit)))
5150 (file-name (git-file-name name version))
5151 (sha256
5152 (base32
5153 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5154 (build-system asdf-build-system/sbcl)
5155 (native-inputs
5156 `(("sbcl-lift" ,sbcl-lift)))
5157 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5158 (description
5159 "Bind extends the idea of of let and destructing to provide a uniform
5160syntax for all your accessor needs. It combines @code{let},
5161@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5162editing, property or association-lists, and @code{multiple-value-bind} and a
5163whole lot more into a single form.")
5164 (home-page "https://common-lisp.net/project/metabang-bind/")
5165 ;; MIT License
5166 (license license:expat))))
5167
5168(define-public cl-metabang-bind
5169 (sbcl-package->cl-source-package sbcl-metabang-bind))
5170
5171(define-public ecl-metabang-bind
5172 (sbcl-package->ecl-package sbcl-metabang-bind))
5173
5174(define-public sbcl-fare-utils
5175 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5176 (revision "1"))
5177 (package
5178 (name "sbcl-fare-utils")
5179 (version (git-version "1.0.0.5" revision commit))
5180 (source
5181 (origin
5182 (method git-fetch)
5183 (uri
5184 (git-reference
5185 (url
5186 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5187 (commit commit)))
5188 (file-name (git-file-name name version))
5189 (sha256
5190 (base32
5191 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5192 (build-system asdf-build-system/sbcl)
5193 (arguments
5194 `(#:test-asd-file "test/fare-utils-test.asd"))
5195 (native-inputs
5196 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5197 (synopsis "Collection of utilities and data structures")
5198 (description
5199 "fare-utils is a small collection of utilities. It contains a lot of
5200basic everyday functions and macros.")
5201 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5202 ;; MIT License
5203 (license license:expat))))
5204
5205(define-public cl-fare-utils
5206 (sbcl-package->cl-source-package sbcl-fare-utils))
5207
5208(define-public ecl-fare-utils
5209 (sbcl-package->ecl-package sbcl-fare-utils))
5210
5211(define-public sbcl-trivial-utf-8
5212 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5213 (revision "1"))
5214 (package
5215 (name "sbcl-trivial-utf-8")
5216 (version (git-version "0.0.0" revision commit))
5217 (source
5218 (origin
5219 (method git-fetch)
5220 (uri
5221 (git-reference
5222 (url (string-append "https://gitlab.common-lisp.net/"
5223 "trivial-utf-8/trivial-utf-8.git"))
5224 (commit commit)))
5225 (file-name (git-file-name name version))
5226 (sha256
5227 (base32
5228 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5229 (arguments
5230 ;; Guix incorrectly assumes the "8" is part of the version
5231 ;; number and lobs it off.
5232 `(#:asd-file "trivial-utf-8.asd"
5233 #:asd-system-name "trivial-utf-8"))
5234 (build-system asdf-build-system/sbcl)
5235 (synopsis "UTF-8 input/output library")
5236 (description
5237 "The Babel library solves a similar problem while understanding more
5238encodings. Trivial UTF-8 was written before Babel existed, but for new
5239projects you might be better off going with Babel. The one plus that Trivial
5240UTF-8 has is that it doesn't depend on any other libraries.")
5241 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5242 (license license:bsd-3))))
5243
5244(define-public cl-trivial-utf-8
5245 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5246
5247(define-public ecl-trivial-utf-8
5248 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5249
5250(define-public sbcl-idna
5251 (package
5252 (name "sbcl-idna")
5253 (build-system asdf-build-system/sbcl)
5254 (version "0.2.2")
5255 (home-page "https://github.com/antifuchs/idna")
5256 (source
5257 (origin
5258 (method git-fetch)
5259 (uri (git-reference
5260 (url home-page)
5261 (commit version)))
5262 (file-name (git-file-name name version))
5263 (sha256
5264 (base32
5265 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5266 (inputs
5267 `(("split-sequence" ,sbcl-split-sequence)))
5268 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5269 (description "This Common Lisp library provides string encoding and
5270decoding routines for IDNA, the International Domain Names in Applications.")
5271 (license license:expat)))
5272
5273(define-public cl-idna
5274 (sbcl-package->cl-source-package sbcl-idna))
5275
5276(define-public ecl-idna
5277 (sbcl-package->ecl-package sbcl-idna))
5278
5279(define-public sbcl-swap-bytes
5280 (package
5281 (name "sbcl-swap-bytes")
5282 (build-system asdf-build-system/sbcl)
dbf6de58 5283 (version "1.2")
88f06fd0
PN
5284 (home-page "https://github.com/sionescu/swap-bytes")
5285 (source
5286 (origin
5287 (method git-fetch)
5288 (uri (git-reference
5289 (url home-page)
5290 (commit (string-append "v" version))))
5291 (file-name (git-file-name name version))
5292 (sha256
5293 (base32
dbf6de58 5294 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5295 (inputs
5296 `(("trivial-features" ,sbcl-trivial-features)))
5297 (native-inputs
5298 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5299 (synopsis "Efficient endianness conversion for Common Lisp")
5300 (description "This Common Lisp library provides optimized byte-swapping
5301primitives. The library can change endianness of unsigned integers of length
53021/2/4/8. Very useful in implementing various network protocols and file
5303formats.")
5304 (license license:expat)))
5305
5306(define-public cl-swap-bytes
5307 (sbcl-package->cl-source-package sbcl-swap-bytes))
5308
5309(define-public ecl-swap-bytes
5310 (sbcl-package->ecl-package sbcl-swap-bytes))
5311
5312(define-public sbcl-iolib.asdf
5313 ;; Latest release is from June 2017.
5314 (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
5315 (revision "1"))
5316 (package
5317 (name "sbcl-iolib.asdf")
5318 (build-system asdf-build-system/sbcl)
5319 (version "0.8.3")
5320 (home-page "https://github.com/sionescu/iolib")
5321 (source
5322 (origin
5323 (method git-fetch)
5324 (uri (git-reference
5325 (url home-page)
5326 (commit commit)))
5327 (file-name (git-file-name name version))
5328 (sha256
5329 (base32
5330 "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
5331 (inputs
5332 `(("alexandria" ,sbcl-alexandria)))
5333 (arguments
5334 '(#:asd-file "iolib.asdf.asd"))
5335 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5336 (description "IOlib is to be a better and more modern I/O library than
5337the standard Common Lisp library. It contains a socket library, a DNS
5338resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5339and @code{kqueue(2)}), a pathname library and file-system utilities.")
5340 (license license:expat))))
5341
5342(define-public sbcl-iolib.conf
5343 (package
5344 (inherit sbcl-iolib.asdf)
5345 (name "sbcl-iolib.conf")
5346 (inputs
5347 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5348 (arguments
5349 '(#:asd-file "iolib.conf.asd"))
5350 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5351
5352(define-public sbcl-iolib.common-lisp
5353 (package
5354 (inherit sbcl-iolib.asdf)
5355 (name "sbcl-iolib.common-lisp")
5356 (inputs
5357 `(("iolib.asdf" ,sbcl-iolib.asdf)
5358 ("iolib.conf" ,sbcl-iolib.conf)))
5359 (arguments
5360 '(#:asd-file "iolib.common-lisp.asd"))
5361 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5362
5363(define-public sbcl-iolib.base
5364 (package
5365 (inherit sbcl-iolib.asdf)
5366 (name "sbcl-iolib.base")
5367 (inputs
5368 `(("iolib.asdf" ,sbcl-iolib.asdf)
5369 ("iolib.conf" ,sbcl-iolib.conf)
5370 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5371 ("split-sequence" ,sbcl-split-sequence)))
5372 (arguments
5373 '(#:asd-file "iolib.base.asd"))
5374 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5375
5376(define-public sbcl-iolib.grovel
5377 (package
5378 (inherit sbcl-iolib.asdf)
5379 (name "sbcl-iolib.grovel")
5380 (inputs
5381 `(("iolib.asdf" ,sbcl-iolib.asdf)
5382 ("iolib.conf" ,sbcl-iolib.conf)
5383 ("iolib.base", sbcl-iolib.base)
5384 ("cffi", sbcl-cffi)))
5385 (arguments
5386 '(#:asd-file "iolib.grovel.asd"
5387 #:phases
5388 (modify-phases %standard-phases
5389 (add-after 'install 'install-header
5390 (lambda* (#:key outputs #:allow-other-keys)
5391 ;; This header is required by sbcl-iolib.
5392 (install-file "src/grovel/grovel-common.h"
5393 (string-append (assoc-ref outputs "out")
5394 "/lib/sbcl"))
5395 #t)))))
5396 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5397
af5c4eff 5398(define sbcl-iolib+syscalls
88f06fd0
PN
5399 (package
5400 (inherit sbcl-iolib.asdf)
af5c4eff 5401 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5402 (inputs
5403 `(("iolib.asdf" ,sbcl-iolib.asdf)
5404 ("iolib.conf" ,sbcl-iolib.conf)
5405 ("iolib.grovel" ,sbcl-iolib.grovel)
5406 ("iolib.base" ,sbcl-iolib.base)
5407 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5408 ("idna" ,sbcl-idna)
5409 ("swap-bytes" ,sbcl-swap-bytes)
5410 ("libfixposix" ,libfixposix)
5411 ("cffi" ,sbcl-cffi)))
5412 (native-inputs
5413 `(("fiveam" ,sbcl-fiveam)))
5414 (arguments
5415 '(#:asd-file "iolib.asd"
af5c4eff 5416 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5417 #:test-asd-file "iolib.tests.asd"
5418 #:phases
5419 (modify-phases %standard-phases
5420 (add-after 'unpack 'fix-paths
5421 (lambda* (#:key inputs #:allow-other-keys)
5422 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5423 (("\\(:default \"libfixposix\"\\)")
5424 (string-append
5425 "(:default \""
5426 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5427 ;; Socket tests need Internet access, disable them.
5428 (substitute* "iolib.tests.asd"
5429 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5430 "")))))))
5431 (synopsis "Common Lisp I/O library")))
5432
88f06fd0
PN
5433(define sbcl-iolib+multiplex
5434 (package
af5c4eff 5435 (inherit sbcl-iolib+syscalls)
88f06fd0 5436 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5437 (inputs
5438 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5439 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5440 (arguments
af5c4eff 5441 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5442 ((#:asd-system-name _) "iolib/multiplex")))))
5443
af5c4eff 5444
88f06fd0
PN
5445
5446(define sbcl-iolib+streams
5447 (package
af5c4eff 5448 (inherit sbcl-iolib+syscalls)
88f06fd0 5449 (name "sbcl-iolib+streams")
af5c4eff
PN
5450 (inputs
5451 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5452 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5453 (arguments
af5c4eff 5454 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5455 ((#:asd-system-name _) "iolib/streams")))))
5456
5457(define sbcl-iolib+sockets
5458 (package
af5c4eff 5459 (inherit sbcl-iolib+syscalls)
88f06fd0 5460 (name "sbcl-iolib+sockets")
af5c4eff
PN
5461 (inputs
5462 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5463 ("iolib+streams" ,sbcl-iolib+streams)
5464 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5465 (arguments
af5c4eff 5466 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5467 ((#:asd-system-name _) "iolib/sockets")))))
5468
af5c4eff
PN
5469(define-public sbcl-iolib
5470 (package
5471 (inherit sbcl-iolib+syscalls)
5472 (name "sbcl-iolib")
5473 (inputs
5474 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5475 ("iolib+streams" ,sbcl-iolib+streams)
5476 ("iolib+sockets" ,sbcl-iolib+sockets)
5477 ,@(package-inputs sbcl-iolib+syscalls)))
5478 (arguments
5479 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5480 ((#:asd-system-name _) "iolib")))))
5481
5482(define-public cl-iolib
5483 (sbcl-package->cl-source-package sbcl-iolib))
5484
88f06fd0
PN
5485(define-public sbcl-ieee-floats
5486 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5487 (revision "1"))
5488 (package
5489 (name "sbcl-ieee-floats")
5490 (build-system asdf-build-system/sbcl)
5491 (version (git-version "20170924" revision commit))
5492 (home-page "https://github.com/marijnh/ieee-floats/")
5493 (source
5494 (origin
5495 (method git-fetch)
5496 (uri (git-reference
5497 (url home-page)
5498 (commit commit)))
5499 (file-name (git-file-name name version))
5500 (sha256
5501 (base32
5502 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5503 (native-inputs
5504 `(("fiveam" ,sbcl-fiveam)))
5505 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
5506 (description "This is a Common Lisp library that allows to convert
5507floating point values to IEEE 754 binary representation.")
5508 (license license:bsd-3))))
5509
5510(define-public cl-ieee-floats
5511 (sbcl-package->cl-source-package sbcl-ieee-floats))
5512
5513(define sbcl-closure-common
5514 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5515 (revision "1"))
5516 (package
5517 (name "sbcl-closure-common")
5518 (build-system asdf-build-system/sbcl)
5519 (version (git-version "20101006" revision commit))
5520 (home-page "https://common-lisp.net/project/cxml/")
5521 (source
5522 (origin
5523 (method git-fetch)
5524 (uri (git-reference
5525 (url "https://github.com/sharplispers/closure-common")
5526 (commit commit)))
5527 (file-name (git-file-name name version))
5528 (sha256
5529 (base32
5530 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5531 (inputs
5532 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5533 ("babel" ,sbcl-babel)))
5534 (synopsis "Support Common Lisp library for CXML")
5535 (description "Closure-common is an internal helper library. The name
5536Closure is a reference to the web browser it was originally written for.")
5537 ;; TODO: License?
5538 (license #f))))
5539
5540(define-public sbcl-cxml+xml
5541 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5542 (revision "1"))
5543 (package
5544 (name "sbcl-cxml+xml")
5545 (build-system asdf-build-system/sbcl)
5546 (version (git-version "0.0.0" revision commit))
5547 (home-page "https://common-lisp.net/project/cxml/")
5548 (source
5549 (origin
5550 (method git-fetch)
5551 (uri (git-reference
5552 (url "https://github.com/sharplispers/cxml")
5553 (commit commit)))
5554 (file-name (git-file-name name version))
5555 (sha256
5556 (base32
5557 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5558 (inputs
5559 `(("closure-common" ,sbcl-closure-common)
5560 ("puri" ,sbcl-puri)
5561 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5562 (arguments
5563 `(#:asd-file "cxml.asd"
5564 #:asd-system-name "cxml/xml"))
5565 (synopsis "Common Lisp XML parser")
5566 (description "CXML implements a namespace-aware, validating XML 1.0
5567parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5568offered, one SAX-like, the other similar to StAX.")
5569 (license license:llgpl))))
5570
5571(define sbcl-cxml+dom
5572 (package
5573 (inherit sbcl-cxml+xml)
5574 (name "sbcl-cxml+dom")
5575 (inputs
5576 `(("closure-common" ,sbcl-closure-common)
5577 ("puri" ,sbcl-puri)
5578 ("cxml+xml" ,sbcl-cxml+xml)))
5579 (arguments
5580 `(#:asd-file "cxml.asd"
5581 #:asd-system-name "cxml/dom"))))
5582
5583(define sbcl-cxml+klacks
5584 (package
5585 (inherit sbcl-cxml+xml)
5586 (name "sbcl-cxml+klacks")
5587 (inputs
5588 `(("closure-common" ,sbcl-closure-common)
5589 ("puri" ,sbcl-puri)
5590 ("cxml+xml" ,sbcl-cxml+xml)))
5591 (arguments
5592 `(#:asd-file "cxml.asd"
5593 #:asd-system-name "cxml/klacks"))))
5594
5595(define sbcl-cxml+test
5596 (package
5597 (inherit sbcl-cxml+xml)
5598 (name "sbcl-cxml+test")
5599 (inputs
5600 `(("closure-common" ,sbcl-closure-common)
5601 ("puri" ,sbcl-puri)
5602 ("cxml+xml" ,sbcl-cxml+xml)))
5603 (arguments
5604 `(#:asd-file "cxml.asd"
5605 #:asd-system-name "cxml/test"))))
5606
5607(define-public sbcl-cxml
5608 (package
5609 (inherit sbcl-cxml+xml)
5610 (name "sbcl-cxml")
5611 (inputs
5612 `(("closure-common" ,sbcl-closure-common)
5613 ("puri" ,sbcl-puri)
5614 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5615 ("cxml+dom" ,sbcl-cxml+dom)
5616 ("cxml+klacks" ,sbcl-cxml+klacks)
5617 ("cxml+test" ,sbcl-cxml+test)))
5618 (arguments
5619 `(#:asd-file "cxml.asd"
5620 #:asd-system-name "cxml"
5621 #:phases
5622 (modify-phases %standard-phases
5623 (add-after 'build 'install-dtd
5624 (lambda* (#:key outputs #:allow-other-keys)
5625 (install-file "catalog.dtd"
5626 (string-append
5627 (assoc-ref outputs "out")
5628 "/lib/" (%lisp-type)))))
5629 (add-after 'create-asd 'remove-component
5630 ;; XXX: The original .asd has no components, but our build system
5631 ;; creates an entry nonetheless. We need to remove it for the
5632 ;; generated .asd to load properly. See trivia.trivial for a
5633 ;; similar problem.
5634 (lambda* (#:key outputs #:allow-other-keys)
5635 (let* ((out (assoc-ref outputs "out"))
5636 (asd (string-append out "/lib/sbcl/cxml.asd")))
5637 (substitute* asd
5638 ((" :components
5639")
5640 ""))
5641 (substitute* asd
5642 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5643 ""))))))))))
5644
5645(define-public cl-cxml
5646 (sbcl-package->cl-source-package sbcl-cxml))
5647
5648(define-public sbcl-cl-reexport
5649 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5650 (revision "1"))
5651 (package
5652 (name "sbcl-cl-reexport")
5653 (build-system asdf-build-system/sbcl)
5654 (version (git-version "0.1" revision commit))
5655 (home-page "https://github.com/takagi/cl-reexport")
5656 (source
5657 (origin
5658 (method git-fetch)
5659 (uri (git-reference
5660 (url home-page)
5661 (commit commit)))
5662 (file-name (git-file-name name version))
5663 (sha256
5664 (base32
5665 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5666 (inputs
5667 `(("alexandria" ,sbcl-alexandria)))
5668 (arguments
5669 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5670 `(#:tests? #f))
5671 (synopsis "HTTP cookie manager for Common Lisp")
5672 (description "cl-cookie is a Common Lisp library featuring parsing of
5673cookie headers, cookie creation, cookie jar creation and more.")
5674 (license license:llgpl))))
5675
5676(define-public cl-reexport
5677 (sbcl-package->cl-source-package sbcl-cl-reexport))
5678
5679(define-public sbcl-cl-cookie
5680 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5681 (revision "1"))
5682 (package
5683 (name "sbcl-cl-cookie")
5684 (build-system asdf-build-system/sbcl)
5685 (version (git-version "0.9.10" revision commit))
5686 (home-page "https://github.com/fukamachi/cl-cookie")
5687 (source
5688 (origin
5689 (method git-fetch)
5690 (uri (git-reference
5691 (url home-page)
5692 (commit commit)))
5693 (file-name (git-file-name name version))
5694 (sha256
5695 (base32
5696 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5697 (inputs
5698 `(("proc-parse" ,sbcl-proc-parse)
5699 ("alexandria" ,sbcl-alexandria)
5700 ("quri" ,sbcl-quri)
5701 ("cl-ppcre" ,sbcl-cl-ppcre)
5702 ("local-time" ,sbcl-local-time)))
5703 (native-inputs
5704 `(("prove-asdf" ,sbcl-prove-asdf)
5705 ("prove" ,sbcl-prove)))
5706 (arguments
5707 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5708 `(#:tests? #f))
5709 (synopsis "HTTP cookie manager for Common Lisp")
5710 (description "cl-cookie is a Common Lisp library featuring parsing of
5711cookie headers, cookie creation, cookie jar creation and more.")
5712 (license license:bsd-2))))
5713
5714(define-public cl-cookie
5715 (sbcl-package->cl-source-package sbcl-cl-cookie))
5716
5717(define-public sbcl-dexador
5718 (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378")
5719 (revision "1"))
5720 (package
5721 (name "sbcl-dexador")
5722 (build-system asdf-build-system/sbcl)
5723 (version (git-version "0.9.10" revision commit))
5724 (home-page "https://github.com/fukamachi/dexador")
5725 (source
5726 (origin
5727 (method git-fetch)
5728 (uri (git-reference
5729 (url home-page)
5730 (commit commit)))
5731 (file-name (git-file-name name version))
5732 (sha256
5733 (base32
5734 "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79"))))
5735 (inputs
5736 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5737 ("babel" ,sbcl-babel)
5738 ("usocket" ,sbcl-usocket)
5739 ("fast-http" ,sbcl-fast-http)
5740 ("quri" ,sbcl-quri)
5741 ("fast-io" ,sbcl-fast-io)
5742 ("chunga" ,sbcl-chunga)
5743 ("cl-ppcre" ,sbcl-cl-ppcre)
5744 ("cl-cookie" ,sbcl-cl-cookie)
5745 ("trivial-mimes" ,sbcl-trivial-mimes)
5746 ("chipz" ,sbcl-chipz)
5747 ("cl-base64" ,sbcl-cl-base64)
5748 ("cl-reexport" ,sbcl-cl-reexport)
5749 ("cl+ssl" ,sbcl-cl+ssl)
5750 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5751 ("alexandria" ,sbcl-alexandria)))
5752 (native-inputs
5753 `(("prove" ,sbcl-prove)
5754 ("prove-asdf" ,sbcl-prove-asdf)
5755 ("lack-request" ,sbcl-lack-request)
5756 ("clack" ,sbcl-clack)
5757 ("babel" ,sbcl-babel)
5758 ("alexandria" ,sbcl-alexandria)
5759 ("cl-ppcre" ,sbcl-cl-ppcre)
5760 ("local-time" ,sbcl-local-time)))
5761 (arguments
5762 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5763 `(#:tests? #f
5764 #:phases
5765 (modify-phases %standard-phases
5766 (add-after 'unpack 'fix-permissions
5767 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5768 (synopsis "Yet another HTTP client for Common Lisp")
5769 (description "Dexador is yet another HTTP client for Common Lisp with
5770neat APIs and connection-pooling. It is meant to supersede Drakma.")
5771 (license license:expat))))
5772
5773(define-public cl-dexador
5774 (package
5775 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5776 (arguments
5777 `(#:phases
5778 ;; asdf-build-system/source has its own phases and does not inherit
5779 ;; from asdf-build-system/sbcl phases.
5780 (modify-phases %standard-phases/source
5781 (add-after 'unpack 'fix-permissions
5782 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5783
5784(define-public ecl-dexador
5785 (sbcl-package->ecl-package sbcl-dexador))
5786
5787(define-public sbcl-lisp-namespace
5788 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5789 (revision "1"))
5790 (package
5791 (name "sbcl-lisp-namespace")
5792 (build-system asdf-build-system/sbcl)
5793 (version (git-version "0.1" revision commit))
5794 (home-page "https://github.com/guicho271828/lisp-namespace")
5795 (source
5796 (origin
5797 (method git-fetch)
5798 (uri (git-reference
5799 (url home-page)
5800 (commit commit)))
5801 (file-name (git-file-name name version))
5802 (sha256
5803 (base32
5804 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5805 (inputs
5806 `(("alexandria" ,sbcl-alexandria)))
5807 (native-inputs
5808 `(("fiveam" ,sbcl-fiveam)))
5809 (arguments
5810 `(#:test-asd-file "lisp-namespace.test.asd"
5811 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5812 #:tests? #f))
5813 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5814 (description "Common Lisp already has major 2 namespaces, function
5815namespace and value namespace (or variable namespace), but there are actually
5816more — e.g., class namespace.
5817This library offers macros to deal with symbols from any namespace.")
5818 (license license:llgpl))))
5819
5820(define-public cl-lisp-namespace
5821 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5822
5823(define-public sbcl-trivial-cltl2
5824 (let ((commit "8eec8407df833e8f27df8a388bc10913f16d9e83")
5825 (revision "1"))
5826 (package
5827 (name "sbcl-trivial-cltl2")
5828 (build-system asdf-build-system/sbcl)
5829 (version (git-version "0.1.1" revision commit))
5830 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5831 (source
5832 (origin
5833 (method git-fetch)
5834 (uri (git-reference
5835 (url home-page)
5836 (commit commit)))
5837 (file-name (git-file-name name version))
5838 (sha256
5839 (base32
5840 "1dyyxz17vqv8hlfwq287gl8xxbvcnq798ajb7p5jdjz91wqf4bgk"))))
5841 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5842 (description "This library is a portable compatibility layer around
5843\"Common Lisp the Language, 2nd
5844Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5845and it exports symbols from implementation-specific packages.")
5846 (license license:llgpl))))
5847
5848(define-public cl-trivial-cltl2
5849 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5850
5851(define-public sbcl-introspect-environment
5852 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5853 (revision "1"))
5854 (package
5855 (name "sbcl-introspect-environment")
5856 (build-system asdf-build-system/sbcl)
5857 (version (git-version "0.1" revision commit))
5858 (home-page "https://github.com/Bike/introspect-environment")
5859 (source
5860 (origin
5861 (method git-fetch)
5862 (uri (git-reference
5863 (url home-page)
5864 (commit commit)))
5865 (file-name (git-file-name name version))
5866 (sha256
5867 (base32
5868 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5869 (native-inputs
5870 `(("fiveam" ,sbcl-fiveam)))
5871 (synopsis "Common Lisp environment introspection portability layer")
5872 (description "This library is a small interface to portable but
5873nonstandard introspection of Common Lisp environments. It is intended to
5874allow a bit more compile-time introspection of environments in Common Lisp.
5875
5876Quite a bit of information is available at the time a macro or compiler-macro
5877runs; inlining info, type declarations, that sort of thing. This information
5878is all standard - any Common Lisp program can @code{(declare (integer x))} and
5879such.
5880
5881This info ought to be accessible through the standard @code{&environment}
5882parameters, but it is not. Several implementations keep the information for
5883their own purposes but do not make it available to user programs, because
5884there is no standard mechanism to do so.
5885
5886This library uses implementation-specific hooks to make information available
5887to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5888implementations have implementations of the functions that do as much as they
5889can and/or provide reasonable defaults.")
5890 (license license:wtfpl2))))
5891
5892(define-public cl-introspect-environment
5893 (sbcl-package->cl-source-package sbcl-introspect-environment))
5894
5895(define-public sbcl-type-i
5896 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5897 (revision "1"))
5898 (package
5899 (name "sbcl-type-i")
5900 (build-system asdf-build-system/sbcl)
5901 (version (git-version "0.1" revision commit))
5902 (home-page "https://github.com/guicho271828/type-i")
5903 (source
5904 (origin
5905 (method git-fetch)
5906 (uri (git-reference
5907 (url home-page)
5908 (commit commit)))
5909 (file-name (git-file-name name version))
5910 (sha256
5911 (base32
5912 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
5913 (inputs
5914 `(("alexandria" ,sbcl-alexandria)
5915 ("introspect-environment" ,sbcl-introspect-environment)
5916 ("trivia.trivial" ,sbcl-trivia.trivial)))
5917 (native-inputs
5918 `(("fiveam" ,sbcl-fiveam)))
5919 (arguments
5920 `(#:test-asd-file "type-i.test.asd"))
5921 (synopsis "Type inference utility on unary predicates for Common Lisp")
5922 (description "This library tries to provide a way to detect what kind of
5923type the given predicate is trying to check. This is different from inferring
5924the return type of a function.")
5925 (license license:llgpl))))
5926
5927(define-public cl-type-i
5928 (sbcl-package->cl-source-package sbcl-type-i))
5929
5930(define-public sbcl-optima
5931 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
5932 (revision "1"))
5933 (package
5934 (name "sbcl-optima")
5935 (build-system asdf-build-system/sbcl)
5936 (version (git-version "1.0" revision commit))
5937 (home-page "https://github.com/m2ym/optima")
5938 (source
5939 (origin
5940 (method git-fetch)
5941 (uri (git-reference
5942 (url home-page)
5943 (commit commit)))
5944 (file-name (git-file-name name version))
5945 (sha256
5946 (base32
5947 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
5948 (inputs
5949 `(("alexandria" ,sbcl-alexandria)
5950 ("closer-mop" ,sbcl-closer-mop)))
5951 (native-inputs
5952 `(("eos" ,sbcl-eos)))
5953 (arguments
5954 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
5955 `(#:tests? #f
5956 #:test-asd-file "optima.test.asd"))
5957 (synopsis "Optimized pattern matching library for Common Lisp")
5958 (description "Optima is a fast pattern matching library which uses
5959optimizing techniques widely used in the functional programming world.")
5960 (license license:expat))))
5961
5962(define-public cl-optima
5963 (sbcl-package->cl-source-package sbcl-optima))
5964
5965(define-public sbcl-fare-quasiquote
639b47e6
GLV
5966 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
5967 (revision "1"))
5968 (package
5969 (name "sbcl-fare-quasiquote")
5970 (build-system asdf-build-system/sbcl)
5971 (version (git-version "1.0.1" revision commit))
5972 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
5973 (source
5974 (origin
5975 (method git-fetch)
5976 (uri (git-reference
5977 (url (string-append "https://gitlab.common-lisp.net/frideau/"
5978 "fare-quasiquote.git"))
5979 (commit commit)))
5980 (file-name (git-file-name name version))
5981 (sha256
5982 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
5983 (inputs
5984 `(("fare-utils" ,sbcl-fare-utils)))
5985 (arguments
5986 ;; XXX: Circular dependencies: Tests depend on subsystems,
5987 ;; which depend on the main systems.
5988 `(#:tests? #f
5989 #:phases
5990 (modify-phases %standard-phases
5991 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
5992 ;; commits after 1.0.0.5, but ASDF fails to read the
5993 ;; "-REVISION-COMMIT" part generated by Guix.
5994 (add-after 'unpack 'patch-requirement
5995 (lambda _
5996 (substitute* "fare-quasiquote.asd"
5997 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
5998 "\"fare-utils\"")))))))
5999 (synopsis "Pattern-matching friendly implementation of quasiquote")
6000 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6001quasiquote is enable matching of quasiquoted patterns, using Optima or
6002Trivia.")
639b47e6 6003 (license license:expat))))
88f06fd0
PN
6004
6005(define-public cl-fare-quasiquote
6006 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6007
6008(define-public sbcl-fare-quasiquote-optima
6009 (package
6010 (inherit sbcl-fare-quasiquote)
6011 (name "sbcl-fare-quasiquote-optima")
6012 (inputs
6013 `(("optima" ,sbcl-optima)
6014 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6015 (arguments
6016 '(#:phases
6017 (modify-phases %standard-phases
6018 (add-after 'unpack 'patch-requirement
6019 (lambda _
6020 (substitute* "fare-quasiquote-optima.asd"
6021 (("\\(:version \"optima\" \"1\\.0\"\\)")
6022 "\"optima\""))
6023 #t)))))))
6024
6025(define-public cl-fare-quasiquote-optima
6026 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6027
6028(define-public sbcl-fare-quasiquote-readtable
6029 (package
6030 (inherit sbcl-fare-quasiquote)
6031 (name "sbcl-fare-quasiquote-readtable")
6032 (inputs
6033 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6034 ("named-readtables" ,sbcl-named-readtables)))
6035 (description "The main purpose of this n+2nd reimplementation of
6036quasiquote is enable matching of quasiquoted patterns, using Optima or
6037Trivia.
6038
6039This package uses fare-quasiquote with named-readtable.")))
6040
6041(define-public cl-fare-quasiquote-readtable
6042 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6043
6044;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
6045(define-public sbcl-fare-quasiquote-extras
6046 (package
6047 (inherit sbcl-fare-quasiquote)
6048 (name "sbcl-fare-quasiquote-extras")
6049 (build-system asdf-build-system/sbcl)
6050 (inputs
6051 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6052 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6053 (arguments
6054 `(#:phases
6055 (modify-phases %standard-phases
6056 (replace 'build
6057 (lambda* (#:key outputs #:allow-other-keys)
6058 (let* ((out (assoc-ref outputs "out"))
6059 (lib (string-append out "/lib/" (%lisp-type))))
6060 (mkdir-p lib)
6061 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6062 (make-file-writable
6063 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
6064 #t)))
6065 (add-after 'create-asd-file 'fix-asd-file
6066 (lambda* (#:key outputs #:allow-other-keys)
6067 (let* ((out (assoc-ref outputs "out"))
6068 (lib (string-append out "/lib/" (%lisp-type)))
6069 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6070 (substitute* asd
6071 ((":class")
6072 "")
6073 (("asdf/bundle:prebuilt-system")
6074 "")
6075 ((":components")
6076 "")
6077 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6078 "")))
6079 #t)))))
6080 (description "This library combines @code{fare-quasiquote-readtable} and
6081@code{fare-quasiquote-optima}.")))
6082
88f06fd0
PN
6083(define-public cl-fare-quasiquote-extras
6084 (package
6085 (inherit cl-fare-quasiquote)
6086 (name "cl-fare-quasiquote-extras")
6087 (build-system asdf-build-system/source)
6088 (propagated-inputs
6089 `(("fare-quasiquote" ,cl-fare-quasiquote)
6090 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6091 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6092 (description "This library combines @code{fare-quasiquote-readtable} and
6093@code{fare-quasiquote-optima}.")))
6094
6095(define-public sbcl-trivia.level0
463fb58f 6096 (let ((commit "574901ac376ae54c9d37169fd5efab9b3b8fcc63")
88f06fd0
PN
6097 (revision "1"))
6098 (package
6099 (name "sbcl-trivia.level0")
6100 (build-system asdf-build-system/sbcl)
6101 (version (git-version "0.0.0" revision commit))
6102 (home-page "https://github.com/guicho271828/trivia")
6103 (source
6104 (origin
6105 (method git-fetch)
6106 (uri (git-reference
6107 (url home-page)
6108 (commit commit)))
6109 (file-name (git-file-name name version))
6110 (sha256
6111 (base32
463fb58f 6112 "0hf53n71xzr9sjwrxis5fivx3drclf4s39h5ck8vh21ndqj9zvdk"))))
88f06fd0
PN
6113 (inputs
6114 `(("alexandria" ,sbcl-alexandria)))
6115 (synopsis "Pattern matching in Common Lisp")
6116 (description "Trivia is a pattern matching compiler that is compatible
6117with Optima, another pattern matching library for Common Lisp. It is meant to
6118be faster and more extensible than Optima.")
6119 (license license:llgpl))))
6120
6121(define-public sbcl-trivia.level1
6122 (package
6123 (inherit sbcl-trivia.level0)
6124 (name "sbcl-trivia.level1")
6125 (inputs
6126 `(("trivia.level0" ,sbcl-trivia.level0)))
6127 (description "Trivia is a pattern matching compiler that is compatible
6128with Optima, another pattern matching library for Common Lisp. It is meant to
6129be faster and more extensible than Optima.
6130
6131This system contains the core patterns of Trivia.")))
6132
6133(define-public sbcl-trivia.level2
6134 (package
6135 (inherit sbcl-trivia.level0)
6136 (name "sbcl-trivia.level2")
6137 (inputs
6138 `(("trivia.level1" ,sbcl-trivia.level1)
6139 ("lisp-namespace" ,sbcl-lisp-namespace)
6140 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6141 ("closer-mop" ,sbcl-closer-mop)))
6142 (description "Trivia is a pattern matching compiler that is compatible
6143with Optima, another pattern matching library for Common Lisp. It is meant to
6144be faster and more extensible than Optima.
6145
6146This system contains a non-optimized pattern matcher compatible with Optima,
6147with extensible optimizer interface.")))
6148
6149(define-public sbcl-trivia.trivial
6150 (package
6151 (inherit sbcl-trivia.level0)
6152 (name "sbcl-trivia.trivial")
6153 (inputs
6154 `(("trivia.level2" ,sbcl-trivia.level2)))
6155 (arguments
6156 `(#:phases
6157 (modify-phases %standard-phases
6158 (replace 'create-asd-file
6159 (lambda* (#:key outputs inputs #:allow-other-keys)
6160 (let* ((out (assoc-ref outputs "out"))
6161 (lib (string-append out "/lib/" (%lisp-type)))
6162 (level2 (assoc-ref inputs "trivia.level2")))
6163 (mkdir-p lib)
6164 (install-file "trivia.trivial.asd" lib)
6165 ;; XXX: This .asd does not have any component and the build
6166 ;; system fails to work in this case. We should update the
6167 ;; build system to handle component-less .asd.
6168 ;; TODO: How do we append to file in Guile? It seems that
6169 ;; (open-file ... "a") gets a "Permission denied".
6170 (substitute* (string-append lib "/trivia.trivial.asd")
6171 (("\"\\)")
6172 (string-append "\")
6173
6174(progn (asdf/source-registry:ensure-source-registry)
6175 (setf (gethash
6176 \"trivia.level2\"
6177 asdf/source-registry:*source-registry*)
6178 #p\""
6179 level2
6180 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6181 (description "Trivia is a pattern matching compiler that is compatible
6182with Optima, another pattern matching library for Common Lisp. It is meant to
6183be faster and more extensible than Optima.
6184
6185This system contains the base level system of Trivia with a trivial optimizer.")))
6186
6187(define-public sbcl-trivia.balland2006
6188 (package
6189 (inherit sbcl-trivia.level0)
6190 (name "sbcl-trivia.balland2006")
6191 (inputs
6192 `(("trivia.trivial" ,sbcl-trivia.trivial)
6193 ("iterate" ,sbcl-iterate)
6194 ("type-i" ,sbcl-type-i)
6195 ("alexandria" ,sbcl-alexandria)))
6196 (arguments
6197 ;; Tests are done in trivia itself.
6198 `(#:tests? #f))
6199 (description "Trivia is a pattern matching compiler that is compatible
6200with Optima, another pattern matching library for Common Lisp. It is meant to
6201be faster and more extensible than Optima.
6202
6203This system contains the base level system of Trivia with a trivial optimizer.")))
6204
6205(define-public sbcl-trivia.ppcre
6206 (package
6207 (inherit sbcl-trivia.level0)
6208 (name "sbcl-trivia.ppcre")
6209 (inputs
6210 `(("trivia.trivial" ,sbcl-trivia.trivial)
6211 ("cl-ppcre" ,sbcl-cl-ppcre)))
6212 (description "Trivia is a pattern matching compiler that is compatible
6213with Optima, another pattern matching library for Common Lisp. It is meant to
6214be faster and more extensible than Optima.
6215
6216This system contains the PPCRE extension.")))
6217
6218(define-public sbcl-trivia.quasiquote
6219 (package
6220 (inherit sbcl-trivia.level0)
6221 (name "sbcl-trivia.quasiquote")
6222 (inputs
6223 `(("trivia.trivial" ,sbcl-trivia.trivial)
6224 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6225 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6226 (description "Trivia is a pattern matching compiler that is compatible
6227with Optima, another pattern matching library for Common Lisp. It is meant to
6228be faster and more extensible than Optima.
6229
6230This system contains the fare-quasiquote extension.")))
6231
6232(define-public sbcl-trivia.cffi
6233 (package
6234 (inherit sbcl-trivia.level0)
6235 (name "sbcl-trivia.cffi")
6236 (inputs
6237 `(("cffi" ,sbcl-cffi)
6238 ("trivia.trivial" ,sbcl-trivia.trivial)))
6239 (description "Trivia is a pattern matching compiler that is compatible
6240with Optima, another pattern matching library for Common Lisp. It is meant to
6241be faster and more extensible than Optima.
6242
6243This system contains the CFFI foreign slot access extension.")))
6244
6245(define-public sbcl-trivia
6246 (package
6247 (inherit sbcl-trivia.level0)
6248 (name "sbcl-trivia")
6249 (inputs
6250 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6251 (native-inputs
6252 `(("fiveam" ,sbcl-fiveam)
6253 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6254 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6255 ("trivia.cffi" ,sbcl-trivia.cffi)
6256 ("optima" ,sbcl-optima)))
6257 (arguments
6258 `(#:test-asd-file "trivia.test.asd"
6259 #:phases
6260 (modify-phases %standard-phases
6261 (add-after 'create-asd 'remove-component
6262 ;; XXX: The original .asd has no components, but our build system
6263 ;; creates an entry nonetheless. We need to remove it for the
6264 ;; generated .asd to load properly. See trivia.trivial for a
6265 ;; similar problem.
6266 (lambda* (#:key outputs #:allow-other-keys)
6267 (let* ((out (assoc-ref outputs "out"))
6268 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6269 (substitute* asd
6270 ((" :components
6271")
6272 ""))
6273 (substitute* asd
6274 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6275 ""))))))))
6276 (description "Trivia is a pattern matching compiler that is compatible
6277with Optima, another pattern matching library for Common Lisp. It is meant to
6278be faster and more extensible than Optima.")))
6279
6280(define-public cl-trivia
6281 (sbcl-package->cl-source-package sbcl-trivia))
6282
6283(define-public sbcl-mk-string-metrics
6284 (package
6285 (name "sbcl-mk-string-metrics")
6286 (version "0.1.2")
6287 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6288 (source (origin
6289 (method git-fetch)
6290 (uri (git-reference
6291 (url home-page)
6292 (commit version)))
6293 (sha256
6294 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6295 (file-name (git-file-name name version))))
6296 (build-system asdf-build-system/sbcl)
6297 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6298 (description "This library implements efficient algorithms that calculate
6299various string metrics in Common Lisp:
6300
6301@itemize
6302@item Damerau-Levenshtein distance
6303@item Hamming distance
6304@item Jaccard similarity coefficient
6305@item Jaro distance
6306@item Jaro-Winkler distance
6307@item Levenshtein distance
6308@item Normalized Damerau-Levenshtein distance
6309@item Normalized Levenshtein distance
6310@item Overlap coefficient
6311@end itemize\n")
6312 (license license:x11)))
6313
6314(define-public cl-mk-string-metrics
6315 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6316
6317(define-public sbcl-cl-str
6318 (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5"))
6319 (package
6320 (name "sbcl-cl-str")
6321 (version (git-version "0.8" "1" commit))
6322 (home-page "https://github.com/vindarel/cl-str")
6323 (source (origin
6324 (method git-fetch)
6325 (uri (git-reference
6326 (url home-page)
6327 (commit commit)))
6328 (sha256
6329 (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga"))
6330 (file-name (git-file-name name version))))
6331 (build-system asdf-build-system/sbcl)
6332 (inputs
6333 `(("cl-ppcre" ,sbcl-cl-ppcre)
6334 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
6335 (native-inputs
6336 `(("prove" ,sbcl-prove)
6337 ("prove-asdf" ,sbcl-prove-asdf)))
6338 (arguments
6339 `(#:asd-file "str.asd"
6340 #:asd-system-name "str"
6341 #:test-asd-file "str.test.asd"))
6342 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6343 (description "A modern and consistent Common Lisp string manipulation
6344library that focuses on modernity, simplicity and discoverability:
6345@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6346@code{str:concat strings} instead of an unusual format construct; one
6347discoverable library instead of many; consistency and composability, where
6348@code{s} is always the last argument, which makes it easier to feed pipes and
6349arrows.")
6350 (license license:expat))))
6351
6352(define-public cl-str
6353 (sbcl-package->cl-source-package sbcl-cl-str))
6354
6355(define-public sbcl-cl-xmlspam
6356 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6357 (package
6358 (name "sbcl-cl-xmlspam")
6359 (build-system asdf-build-system/sbcl)
6360 (version (git-version "0.0.0" "1" commit))
6361 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6362 (source
6363 (origin
6364 (method git-fetch)
6365 (uri (git-reference
6366 (url home-page)
6367 (commit commit)))
6368 (file-name (string-append name "-" version))
6369 (sha256
6370 (base32
6371 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6372 (inputs
6373 `(("cxml" ,sbcl-cxml)
6374 ("cl-ppcre" ,sbcl-cl-ppcre)))
6375 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6376 (description "CXML does an excellent job at parsing XML elements, but what
6377do you do when you have a XML file that's larger than you want to fit in
6378memory, and you want to extract some information from it? Writing code to deal
6379with SAX events, or even using Klacks, quickly becomes tedious.
6380@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6381to write code that mirrors the structure of the XML that it's parsing. It
6382also makes it easy to shift paradigms when necessary - the usual Lisp control
6383constructs can be used interchangeably with pattern matching, and the full
6384power of CXML is available when necessary.")
6385 (license license:bsd-3))))
6386
6387;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6388;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6389;; asdf-build-system/sbcl.
6390(define-public cl-dbus
6391 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6392 (revision "1"))
6393 (package
6394 (name "cl-dbus")
6395 (build-system asdf-build-system/source)
6396 (version (git-version "20190408" revision commit))
6397 (home-page "https://github.com/death/dbus")
6398 (source
6399 (origin
6400 (method git-fetch)
6401 (uri (git-reference
6402 (url home-page)
6403 (commit commit)))
6404 (file-name (git-file-name name version))
6405 (sha256
6406 (base32
6407 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6408 ;; Inputs must be propagated or else packages depending on this won't
6409 ;; have the necessary packages.
88f06fd0
PN
6410 (propagated-inputs
6411 `(("alexandria" ,sbcl-alexandria)
6412 ("trivial-garbage" ,sbcl-trivial-garbage)
6413 ("babel" ,sbcl-babel)
6414 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6415 ("ieee-floats" ,sbcl-ieee-floats)
6416 ("flexi-streams" ,sbcl-flexi-streams)
6417 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6418 ("ironclad" ,sbcl-ironclad)))
6419 (synopsis "D-Bus client library for Common Lisp")
6420 (description "This is a Common Lisp library that allows to publish D-Bus
6421objects as well as send and notify other objects connected to a bus.")
6422 (license license:bsd-2))))
6423
6424(define-public sbcl-cl-hooks
6425 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6426 (revision "1"))
6427 (package
6428 (name "sbcl-cl-hooks")
6429 (build-system asdf-build-system/sbcl)
6430 (version (git-version "0.2.1" revision commit))
6431 (home-page "https://github.com/scymtym/architecture.hooks")
6432 (source
6433 (origin
6434 (method git-fetch)
6435 (uri (git-reference
6436 (url home-page)
6437 (commit commit)))
6438 (file-name (git-file-name name version))
6439 (sha256
6440 (base32
6441 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6442 (inputs
6443 `(("alexandria" ,sbcl-alexandria)
6444 ("let-plus" ,sbcl-let-plus)
6445 ("trivial-garbage" ,sbcl-trivial-garbage)
6446 ("closer-mop" ,sbcl-closer-mop)))
6447 (native-inputs
6448 `(("fiveam" ,sbcl-fiveam)))
6449 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6450 (description "A hook, in the present context, is a certain kind of
6451extension point in a program that allows interleaving the execution of
6452arbitrary code with the execution of a the program without introducing any
6453coupling between the two. Hooks are used extensively in the extensible editor
6454Emacs.
6455
6456In the Common LISP Object System (CLOS), a similar kind of extensibility is
6457possible using the flexible multi-method dispatch mechanism. It may even seem
6458that the concept of hooks does not provide any benefits over the possibilities
6459of CLOS. However, there are some differences:
6460
6461@itemize
6462
6463@item There can be only one method for each combination of specializers and
6464qualifiers. As a result this kind of extension point cannot be used by
6465multiple extensions independently.
6466@item Removing code previously attached via a @code{:before}, @code{:after} or
6467@code{:around} method can be cumbersome.
6468@item There could be other or even multiple extension points besides @code{:before}
6469and @code{:after} in a single method.
6470@item Attaching codes to individual objects using eql specializers can be
6471cumbersome.
6472@item Introspection of code attached a particular extension point is
6473cumbersome since this requires enumerating and inspecting the methods of a
6474generic function.
6475@end itemize
6476
6477This library tries to complement some of these weaknesses of method-based
6478extension-points via the concept of hooks.")
6479 (license license:llgpl))))
6480
6481(define-public cl-hooks
6482 (sbcl-package->cl-source-package sbcl-cl-hooks))
6483
6484(define-public ecl-cl-hooks
6485 (sbcl-package->ecl-package sbcl-cl-hooks))
6486
6487(define-public sbcl-s-sysdeps
6488 (let ((commit "d28246b5dffef9e73a0e0e6cfbc4e878006fe34d")
6489 (revision "1"))
6490 (package
6491 (name "sbcl-s-sysdeps")
6492 (build-system asdf-build-system/sbcl)
6493 (version (git-version "1" revision commit))
6494 (home-page "https://github.com/svenvc/s-sysdeps")
6495 (source
6496 (origin
6497 (method git-fetch)
6498 (uri (git-reference
6499 (url home-page)
6500 (commit commit)))
6501 (file-name (git-file-name name version))
6502 (sha256
6503 (base32
6504 "14b69b81yrxmjlvmm3lfxk04x5v7hqz4fql121334wh72czznfh9"))))
6505 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6506 (description "@code{s-sysdeps} is an abstraction layer over platform
6507dependent functionality. This simple package is used as a building block in a
6508number of other open source projects.
6509
6510@code{s-sysdeps} abstracts:
6511
6512@itemize
6513@item managing processes,
6514@item implementing a standard TCP/IP server,
6515@item opening a client TCP/IP socket stream,
6516@item working with process locks.
6517@end itemize\n")
6518 (license license:llgpl))))
6519
6520(define-public cl-s-sysdeps
6521 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6522
6523(define-public ecl-s-sysdeps
6524 (sbcl-package->ecl-package sbcl-s-sysdeps))
6525
6526(define-public sbcl-cl-prevalence
6527 (let ((commit "c163c227ed85d430b82cb1e3502f72d4f88e3cfa")
6528 (revision "1"))
6529 (package
6530 (name "sbcl-cl-prevalence")
6531 (build-system asdf-build-system/sbcl)
6532 (version (git-version "5" revision commit))
6533 (home-page "https://github.com/40ants/cl-prevalence")
6534 (source
6535 (origin
6536 (method git-fetch)
6537 (uri (git-reference
6538 (url home-page)
6539 (commit commit)))
6540 (file-name (git-file-name name version))
6541 (sha256
6542 (base32
6543 "1i9zj1q2ahgwch56an21yzbgkynz0kab9fyxkq9mg8p3xrv38jjn"))))
6544 (inputs
6545 `(("s-sysdeps" ,sbcl-s-sysdeps)
6546 ("s-xml" ,sbcl-s-xml)))
6547 (synopsis "Implementation of object prevalence for Common Lisp")
6548 (description "This Common Lisp library implements object prevalence (see
6549@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6550for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6551classes and cyclic data structures are supported.")
6552 (license license:llgpl))))
6553
6554(define-public cl-prevalence
6555 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6556
6557(define-public ecl-cl-prevalence
6558 (sbcl-package->ecl-package sbcl-cl-prevalence))
6559
6560(define-public sbcl-series
6561 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6562 (revision "1"))
6563 (package
6564 (name "sbcl-series")
6565 (version (git-version "2.2.11" revision commit))
6566 (source
6567 (origin
6568 (method git-fetch)
6569 (uri (git-reference
6570 (url "git://git.code.sf.net/p/series/series")
6571 (commit commit)))
6572 (file-name (git-file-name name version))
6573 (sha256
6574 (base32
6575 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6576 (build-system asdf-build-system/sbcl)
6577 (arguments
6578 ;; Disable the tests, they are apparently buggy and I didn't find
6579 ;; a simple way to make them run and pass.
6580 '(#:tests? #f))
6581 (synopsis "Series data structure for Common Lisp")
6582 (description
6583 "This Common Lisp library provides a series data structure much like
6584a sequence, with similar kinds of operations. The difference is that in many
6585situations, operations on series may be composed functionally and yet execute
6586iteratively, without the need to construct intermediate series values
6587explicitly. In this manner, series provide both the clarity of a functional
6588programming style and the efficiency of an iterative programming style.")
6589 (home-page "http://series.sourceforge.net/")
6590 (license license:expat))))
6591
6592(define-public cl-series
6593 (sbcl-package->cl-source-package sbcl-series))
6594
6595(define-public ecl-series
6596 (sbcl-package->ecl-package sbcl-series))
6597
6598(define-public sbcl-periods
6599 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6600 (revision "1"))
6601 (package
6602 (name "sbcl-periods")
6603 (version (git-version "0.0.2" revision commit))
6604 (source
6605 (origin
6606 (method git-fetch)
6607 (uri (git-reference
6608 (url "https://github.com/jwiegley/periods.git")
6609 (commit commit)))
6610 (file-name (git-file-name name version))
6611 (sha256
6612 (base32
6613 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6614 (build-system asdf-build-system/sbcl)
6615 (inputs
6616 `(("local-time" ,sbcl-local-time)))
6617 (synopsis "Common Lisp library for manipulating date/time objects")
6618 (description
6619 "Periods is a Common Lisp library providing a set of utilities for
6620manipulating times, distances between times, and both contiguous and
6621discontiguous ranges of time.")
6622 (home-page "https://github.com/jwiegley/periods")
6623 (license license:bsd-3))))
6624
6625(define-public cl-periods
6626 (sbcl-package->cl-source-package sbcl-periods))
6627
6628(define-public ecl-periods
6629 (sbcl-package->ecl-package sbcl-periods))
6630
6631(define-public sbcl-periods-series
6632 (package
6633 (inherit sbcl-periods)
6634 (name "sbcl-periods-series")
6635 (inputs
6636 `(("periods" ,sbcl-periods)
6637 ("series" ,sbcl-series)))
6638 (arguments
6639 '(#:asd-file "periods-series.asd"
6640 #:asd-system-name "periods-series"))
6641 (description
6642 "Periods-series is an extension of the periods Common Lisp library
6643providing functions compatible with the series Common Lisp library.")))
6644
6645(define-public cl-periods-series
6646 (sbcl-package->cl-source-package sbcl-periods-series))
6647
6648(define-public ecl-periods-series
6649 (sbcl-package->ecl-package sbcl-periods-series))
6650
6651(define-public sbcl-metatilities-base
6652 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6653 (revision "1"))
6654 (package
6655 (name "sbcl-metatilities-base")
6656 (version (git-version "0.6.6" revision commit))
6657 (source
6658 (origin
6659 (method git-fetch)
6660 (uri (git-reference
6661 (url "https://github.com/gwkkwg/metatilities-base.git")
6662 (commit commit)))
6663 (file-name (git-file-name name version))
6664 (sha256
6665 (base32
6666 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6667 (build-system asdf-build-system/sbcl)
6668 (native-inputs
6669 `(("lift" ,sbcl-lift)))
6670 (synopsis "Core of the metatilities Common Lisp library")
6671 (description
6672 "Metatilities-base is the core of the metatilities Common Lisp library
6673which implements a set of utilities.")
6674 (home-page "https://common-lisp.net/project/metatilities-base/")
6675 (license license:expat))))
6676
6677(define-public cl-metatilities-base
6678 (sbcl-package->cl-source-package sbcl-metatilities-base))
6679
6680(define-public ecl-metatilities-base
6681 (sbcl-package->ecl-package sbcl-metatilities-base))
6682
6683(define-public sbcl-cl-containers
0ad6ecb8
PN
6684 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6685 (revision "3"))
88f06fd0
PN
6686 (package
6687 (name "sbcl-cl-containers")
6688 (version (git-version "0.12.1" revision commit))
6689 (source
6690 (origin
6691 (method git-fetch)
6692 (uri (git-reference
6693 (url "https://github.com/gwkkwg/cl-containers.git")
6694 (commit commit)))
6695 (file-name (git-file-name name version))
6696 (sha256
6697 (base32
0ad6ecb8 6698 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6699 (build-system asdf-build-system/sbcl)
6700 (native-inputs
6701 `(("lift" ,sbcl-lift)))
6702 (inputs
6703 `(("metatilities-base" ,sbcl-metatilities-base)))
6704 (arguments
6705 '(#:phases
6706 (modify-phases %standard-phases
6707 (add-after 'unpack 'relax-version-checks
6708 (lambda _
6709 (substitute* "cl-containers.asd"
6710 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6711 "\"metatilities-base\""))
6712 (substitute* "cl-containers-test.asd"
6713 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6714 "\"lift\""))
6715 #t)))))
6716 (synopsis "Container library for Common Lisp")
6717 (description
6718 "Common Lisp ships with a set of powerful built in data structures
6719including the venerable list, full featured arrays, and hash-tables.
6720CL-containers enhances and builds on these structures by adding containers
6721that are not available in native Lisp (for example: binary search trees,
6722red-black trees, sparse arrays and so on), and by providing a standard
6723interface so that they are simpler to use and so that changing design
6724decisions becomes significantly easier.")
6725 (home-page "https://common-lisp.net/project/cl-containers/")
6726 (license license:expat))))
6727
6728(define-public cl-containers
6729 (sbcl-package->cl-source-package sbcl-cl-containers))
6730
6731(define-public ecl-cl-containers
6732 (sbcl-package->ecl-package sbcl-cl-containers))
6733
6734(define-public sbcl-xlunit
6735 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6736 (revision "1"))
6737 (package
6738 (name "sbcl-xlunit")
6739 (version (git-version "0.6.3" revision commit))
6740 (source
6741 (origin
6742 (method git-fetch)
6743 (uri (git-reference
6744 (url "http://git.kpe.io/xlunit.git")
6745 (commit commit)))
6746 (file-name (git-file-name name version))
6747 (sha256
6748 (base32
6749 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6750 (build-system asdf-build-system/sbcl)
6751 (arguments
6752 '(#:phases
6753 (modify-phases %standard-phases
6754 (add-after 'unpack 'fix-tests
6755 (lambda _
6756 (substitute* "xlunit.asd"
6757 ((" :force t") ""))
6758 #t)))))
6759 (synopsis "Unit testing package for Common Lisp")
6760 (description
6761 "The XLUnit package is a toolkit for building test suites. It is based
6762on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6763 (home-page "http://quickdocs.org/xlunit/")
6764 (license license:bsd-3))))
6765
6766(define-public cl-xlunit
6767 (sbcl-package->cl-source-package sbcl-xlunit))
6768
6769(define-public ecl-xlunit
6770 (sbcl-package->ecl-package sbcl-xlunit))
6771
6772(define-public sbcl-fprog
6773 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6774 (revision "1"))
6775 (package
6776 (name "sbcl-fprog")
6777 (version (git-version "1.0.0" revision commit))
6778 (source
6779 (origin
6780 (method git-fetch)
6781 (uri (git-reference
6782 (url "https://github.com/jwiegley/cambl.git")
6783 (commit commit)))
6784 (file-name (git-file-name name version))
6785 (sha256
6786 (base32
6787 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6788 (build-system asdf-build-system/sbcl)
6789 (synopsis "Functional programming utilities for Common Lisp")
6790 (description
6791 "@code{fprog} is a Common Lisp library allowing iteration over
6792immutable lists sharing identical sublists.")
6793 (home-page "https://github.com/jwiegley/cambl")
6794 (license license:bsd-3))))
6795
6796(define-public cl-fprog
6797 (sbcl-package->cl-source-package sbcl-fprog))
6798
6799(define-public ecl-fprog
6800 (sbcl-package->ecl-package sbcl-fprog))
6801
6802(define-public sbcl-cambl
6803 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6804 (revision "1"))
6805 (package
6806 (inherit sbcl-fprog)
6807 (name "sbcl-cambl")
6808 (version (git-version "4.0.0" revision commit))
6809 (native-inputs
6810 `(("xlunit" ,sbcl-xlunit)))
6811 (inputs
6812 `(("alexandria" ,sbcl-alexandria)
6813 ("cl-containers" ,sbcl-cl-containers)
6814 ("local-time" ,sbcl-local-time)
6815 ("periods" ,sbcl-periods)
6816 ("fprog" ,sbcl-fprog)))
6817 (synopsis "Commoditized amounts and balances for Common Lisp")
6818 (description
6819 "CAMBL is a Common Lisp library providing a convenient facility for
6820working with commoditized values. It does not allow compound units (and so is
6821not suited for scientific operations) but does work rather nicely for the
6822purpose of financial calculations."))))
6823
6824(define-public cl-cambl
6825 (sbcl-package->cl-source-package sbcl-cambl))
6826
6827(define-public ecl-cambl
6828 (sbcl-package->ecl-package sbcl-cambl))
6829
6830(define-public sbcl-cl-ledger
6831 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6832 (revision "1"))
6833 (package
6834 (name "sbcl-cl-ledger")
6835 (version (git-version "4.0.0" revision commit))
6836 (source
6837 (origin
6838 (method git-fetch)
6839 (uri (git-reference
6840 (url "https://github.com/ledger/cl-ledger.git")
6841 (commit commit)))
6842 (file-name (git-file-name name version))
6843 (sha256
6844 (base32
6845 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6846 (build-system asdf-build-system/sbcl)
6847 (inputs
6848 `(("cambl" ,sbcl-cambl)
6849 ("cl-ppcre" ,sbcl-cl-ppcre)
6850 ("local-time" ,sbcl-local-time)
6851 ("periods-series" ,sbcl-periods-series)))
6852 (arguments
6853 '(#:phases
6854 (modify-phases %standard-phases
6855 (add-after 'unpack 'fix-system-definition
6856 (lambda _
6857 (substitute* "cl-ledger.asd"
6858 ((" :build-operation program-op") "")
6859 ((" :build-pathname \"cl-ledger\"") "")
6860 ((" :entry-point \"ledger::main\"") ""))
6861 #t)))))
6862 (synopsis "Common Lisp port of the Ledger accounting system")
6863 (description
6864 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6865system.")
6866 (home-page "https://github.com/ledger/cl-ledger")
6867 (license license:bsd-3))))
6868
6869(define-public cl-ledger
6870 (sbcl-package->cl-source-package sbcl-cl-ledger))
6871
6872(define-public ecl-cl-ledger
6873 (sbcl-package->ecl-package sbcl-cl-ledger))
6874
6875(define-public sbcl-bst
6876 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6877 (revision "1"))
6878 (package
6879 (name "sbcl-bst")
6880 (version (git-version "1.1" revision commit))
6881 (source
6882 (origin
6883 (method git-fetch)
6884 (uri (git-reference
6885 (url "https://github.com/glv2/bst.git")
6886 (commit commit)))
6887 (file-name (git-file-name name version))
6888 (sha256
6889 (base32
6890 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6891 (build-system asdf-build-system/sbcl)
6892 (native-inputs
6893 `(("alexandria" ,sbcl-alexandria)
6894 ("fiveam" ,sbcl-fiveam)))
6895 (synopsis "Binary search tree for Common Lisp")
6896 (description
6897 "BST is a Common Lisp library for working with binary search trees that
6898can contain any kind of values.")
6899 (home-page "https://github.com/glv2/bst")
6900 (license license:gpl3))))
6901
6902(define-public cl-bst
6903 (sbcl-package->cl-source-package sbcl-bst))
6904
6905(define-public ecl-bst
6906 (sbcl-package->ecl-package sbcl-bst))
6907
6908(define-public sbcl-cl-octet-streams
6909 (package
6910 (name "sbcl-cl-octet-streams")
6911 (version "1.0")
6912 (source
6913 (origin
6914 (method git-fetch)
6915 (uri (git-reference
6916 (url "https://github.com/glv2/cl-octet-streams.git")
6917 (commit (string-append "v" version))))
6918 (file-name (git-file-name name version))
6919 (sha256
6920 (base32
6921 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
6922 (build-system asdf-build-system/sbcl)
6923 (native-inputs
6924 `(("fiveam" ,sbcl-fiveam)))
6925 (inputs
6926 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
6927 (synopsis "In-memory octet streams for Common Lisp")
6928 (description
6929 "CL-octet-streams is a library implementing in-memory octet
6930streams for Common Lisp. It was inspired by the trivial-octet-streams and
6931cl-plumbing libraries.")
6932 (home-page "https://github.com/glv2/cl-octet-streams")
6933 (license license:gpl3+)))
6934
6935(define-public cl-octet-streams
6936 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
6937
6938(define-public ecl-cl-octet-streams
6939 (sbcl-package->ecl-package sbcl-cl-octet-streams))
6940
6941(define-public sbcl-lzlib
6942 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
6943 (revision "1"))
6944 (package
6945 (name "sbcl-lzlib")
6946 (version (git-version "1.0" revision commit))
6947 (source
6948 (origin
6949 (method git-fetch)
6950 (uri (git-reference
6951 (url "https://github.com/glv2/cl-lzlib.git")
6952 (commit commit)))
6953 (file-name (git-file-name name version))
6954 (sha256
6955 (base32
6956 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
6957 (build-system asdf-build-system/sbcl)
6958 (native-inputs
6959 `(("fiveam" ,sbcl-fiveam)))
6960 (inputs
6961 `(("cffi" ,sbcl-cffi)
6962 ("cl-octet-streams" ,sbcl-cl-octet-streams)
6963 ("lzlib" ,lzlib)))
6964 (arguments
6965 '(#:phases
6966 (modify-phases %standard-phases
6967 (add-after 'unpack 'fix-paths
6968 (lambda* (#:key inputs #:allow-other-keys)
6969 (substitute* "src/lzlib.lisp"
6970 (("liblz\\.so")
6971 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
6972 #t)))))
6973 (synopsis "Common Lisp library for lzip (de)compression")
6974 (description
6975 "This Common Lisp library provides functions for lzip (LZMA)
6976compression/decompression using bindings to the lzlib C library.")
6977 (home-page "https://github.com/glv2/cl-lzlib")
6978 (license license:gpl3+))))
6979
6980(define-public cl-lzlib
6981 (sbcl-package->cl-source-package sbcl-lzlib))
6982
6983(define-public ecl-lzlib
6984 (sbcl-package->ecl-package sbcl-lzlib))
6985
6986(define-public sbcl-chanl
00a9a936
GLV
6987 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
6988 (revision "1"))
88f06fd0
PN
6989 (package
6990 (name "sbcl-chanl")
6991 (version (git-version "0.4.1" revision commit))
6992 (source
6993 (origin
6994 (method git-fetch)
6995 (uri (git-reference
6996 (url "https://github.com/zkat/chanl.git")
6997 (commit commit)))
6998 (file-name (git-file-name name version))
6999 (sha256
7000 (base32
00a9a936 7001 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7002 (build-system asdf-build-system/sbcl)
7003 (native-inputs
7004 `(("fiveam" ,sbcl-fiveam)))
7005 (inputs
7006 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7007 (synopsis "Portable channel-based concurrency for Common Lisp")
7008 (description "Common Lisp library for channel-based concurrency. In
7009a nutshell, you create various threads sequentially executing tasks you need
7010done, and use channel objects to communicate and synchronize the state of these
7011threads.")
7012 (home-page "https://github.com/zkat/chanl")
7013 (license (list license:expat license:bsd-3)))))
7014
7015(define-public cl-chanl
7016 (sbcl-package->cl-source-package sbcl-chanl))
7017
7018(define-public ecl-chanl
00a9a936 7019 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7020
7021(define-public sbcl-cl-store
1896256d
BG
7022 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7023 (revision "1"))
88f06fd0
PN
7024 (package
7025 (name "sbcl-cl-store")
7026 (version (git-version "0.8.11" revision commit))
7027 (source
7028 (origin
7029 (method git-fetch)
7030 (uri (git-reference
7031 (url "https://github.com/skypher/cl-store.git")
7032 (commit commit)))
7033 (file-name (git-file-name name version))
7034 (sha256
7035 (base32
1896256d 7036 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7037 (build-system asdf-build-system/sbcl)
7038 (native-inputs
7039 `(("rt" ,sbcl-rt)))
7040 (synopsis "Common Lisp library to serialize data")
7041 (description
7042 "CL-STORE is a portable serialization package which should give you the
7043ability to store all Common Lisp data types into streams.")
630a4b77 7044 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7045 (license license:expat))))
7046
7047(define-public cl-store
7048 (sbcl-package->cl-source-package sbcl-cl-store))
7049
7050(define-public ecl-cl-store
7051 (sbcl-package->ecl-package sbcl-cl-store))
7052
7053(define-public sbcl-cl-gobject-introspection
7054 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7055 (revision "0"))
7056 (package
7057 (name "sbcl-cl-gobject-introspection")
7058 (version (git-version "0.3" revision commit))
7059 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7060 (source
7061 (origin
7062 (method git-fetch)
7063 (uri (git-reference
7064 (url home-page)
7065 (commit commit)))
7066 (file-name (git-file-name name version))
7067 (sha256
7068 (base32
7069 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7070 (build-system asdf-build-system/sbcl)
7071 (inputs
7072 `(("alexandria" ,sbcl-alexandria)
7073 ("cffi" ,sbcl-cffi)
7074 ("iterate" ,sbcl-iterate)
7075 ("trivial-garbage" ,sbcl-trivial-garbage)
7076 ("glib" ,glib)
7077 ("gobject-introspection" ,gobject-introspection)))
7078 (native-inputs
7079 `(("fiveam" ,sbcl-fiveam)))
7080 (arguments
7081 ;; TODO: Tests fail, see
7082 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7083 '(#:tests? #f
7084 #:phases
7085 (modify-phases %standard-phases
7086 (add-after (quote unpack) (quote fix-paths)
7087 (lambda* (#:key inputs #:allow-other-keys)
7088 (substitute* "src/init.lisp"
7089 (("libgobject-2\\.0\\.so")
7090 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7091 (("libgirepository-1\\.0\\.so")
7092 (string-append (assoc-ref inputs "gobject-introspection")
7093 "/lib/libgirepository-1.0.so")))
7094 #t)))))
7095 (synopsis "Common Lisp bindings to GObject Introspection")
7096 (description
7097 "This library is a bridge between Common Lisp and GObject
7098Introspection, which enables Common Lisp programs to access the full interface
7099of C+GObject libraries without the need of writing dedicated bindings.")
7100 (license (list license:bsd-3
7101 ;; Tests are under a different license.
7102 license:llgpl)))))
7103
7104(define-public cl-gobject-introspection
7105 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7106
7107(define-public sbcl-string-case
7108 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7109 (revision "0"))
7110 (package
7111 (name "sbcl-string-case")
7112 (version (git-version "0.0.2" revision commit))
7113 (home-page "https://github.com/pkhuong/string-case")
7114 (source
7115 (origin
7116 (method git-fetch)
7117 (uri (git-reference
7118 (url home-page)
7119 (commit commit)))
7120 (file-name (git-file-name name version))
7121 (sha256
7122 (base32
7123 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7124 (build-system asdf-build-system/sbcl)
7125 (synopsis "Efficient string= case in Common Lisp")
7126 (description
7127 "@code{string-case} is a Common Lisp macro that generates specialised decision
7128trees to dispatch on string equality.")
7129 (license license:bsd-3))))
7130
7131(define-public cl-string-case
7132 (sbcl-package->cl-source-package sbcl-string-case))
7133
7134(define-public ecl-string-case
7135 (sbcl-package->ecl-package sbcl-string-case))
7136
7137(define-public sbcl-global-vars
7138 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7139 (revision "0"))
7140 (package
7141 (name "sbcl-global-vars")
7142 (version (git-version "1.0.0" revision commit))
7143 (home-page "https://github.com/lmj/global-vars")
7144 (source
7145 (origin
7146 (method git-fetch)
7147 (uri (git-reference
7148 (url home-page)
7149 (commit commit)))
7150 (file-name (git-file-name name version))
7151 (sha256
7152 (base32
7153 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7154 (build-system asdf-build-system/sbcl)
7155 (synopsis "Efficient global variables in Common Lisp")
7156 (description
7157 "In Common Lisp, a special variable that is never dynamically bound
7158typically serves as a stand-in for a global variable. The @code{global-vars}
7159library provides true global variables that are implemented by some compilers.
7160An attempt to rebind a global variable properly results in a compiler error.
7161That is, a global variable cannot be dynamically bound.
7162
7163Global variables therefore allow us to communicate an intended usage that
7164differs from special variables. Global variables are also more efficient than
7165special variables, especially in the presence of threads.")
7166 (license license:expat))))
7167
7168(define-public cl-global-vars
7169 (sbcl-package->cl-source-package sbcl-global-vars))
7170
7171(define-public ecl-global-vars
7172 (sbcl-package->ecl-package sbcl-global-vars))
7173
7174(define-public sbcl-trivial-file-size
7175 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7176 (revision "0"))
7177 (package
7178 (name "sbcl-trivial-file-size")
7179 (version (git-version "0.0.0" revision commit))
7180 (home-page "https://github.com/ruricolist/trivial-file-size")
7181 (source
7182 (origin
7183 (method git-fetch)
7184 (uri (git-reference
7185 (url home-page)
7186 (commit commit)))
7187 (file-name (git-file-name name version))
7188 (sha256
7189 (base32
7190 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7191 (build-system asdf-build-system/sbcl)
7192 (native-inputs
7193 `(("fiveam" ,sbcl-fiveam)))
7194 (synopsis "Size of a file in bytes in Common Lisp")
7195 (description
7196 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7197is to open the file with an element type of (unsigned-byte 8) and then
7198calculate the length of the stream. This is less than ideal. In most cases
7199it is better to get the size of the file from its metadata, using a system
7200call.
7201
7202This library exports a single function, file-size-in-octets. It returns the
7203size of a file in bytes, using system calls when possible.")
7204 (license license:expat))))
7205
7206(define-public cl-trivial-file-size
7207 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7208
7209(define-public ecl-trivial-file-size
7210 (sbcl-package->ecl-package sbcl-trivial-file-size))
7211
7212(define-public sbcl-trivial-macroexpand-all
7213 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7214 (revision "0"))
7215 (package
7216 (name "sbcl-trivial-macroexpand-all")
7217 (version (git-version "0.0.0" revision commit))
7218 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7219 (source
7220 (origin
7221 (method git-fetch)
7222 (uri (git-reference
7223 (url home-page)
7224 (commit commit)))
7225 (file-name (git-file-name name version))
7226 (sha256
7227 (base32
7228 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7229 (build-system asdf-build-system/sbcl)
7230 (native-inputs
7231 `(("fiveam" ,sbcl-fiveam)))
7232 (synopsis "Portable macroexpand-all for Common Lisp")
7233 (description
7234 "This library provides a macroexpand-all function that calls the
7235implementation specific equivalent.")
7236 (license license:unlicense))))
7237
7238(define-public cl-trivial-macroexpand-all
7239 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7240
7241(define-public ecl-trivial-macroexpand-all
7242 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7243
7244(define-public sbcl-serapeum
f96aa123
PN
7245 (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
7246 (revision "1"))
88f06fd0
PN
7247 (package
7248 (name "sbcl-serapeum")
7249 (version (git-version "0.0.0" revision commit))
7250 (home-page "https://github.com/ruricolist/serapeum")
7251 (source
7252 (origin
7253 (method git-fetch)
7254 (uri (git-reference
7255 (url home-page)
7256 (commit commit)))
7257 (file-name (git-file-name name version))
7258 (sha256
7259 (base32
f96aa123 7260 "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
88f06fd0
PN
7261 (build-system asdf-build-system/sbcl)
7262 (inputs
7263 `(("alexandria" ,sbcl-alexandria)
7264 ("trivia" ,sbcl-trivia)
7265 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7266 ("split-sequence" ,sbcl-split-sequence)
7267 ("string-case" ,sbcl-string-case)
7268 ("parse-number" ,sbcl-parse-number)
7269 ("trivial-garbage" ,sbcl-trivial-garbage)
7270 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7271 ("named-readtables" ,sbcl-named-readtables)
8137983a 7272 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7273 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7274 ("global-vars" ,sbcl-global-vars)
7275 ("trivial-file-size" ,sbcl-trivial-file-size)
7276 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7277 (native-inputs
7278 `(("fiveam" ,sbcl-fiveam)
7279 ("local-time" ,sbcl-local-time)))
7280 (arguments
7281 '(#:phases
7282 (modify-phases %standard-phases
7283 (add-after 'unpack 'disable-failing-tests
7284 (lambda* (#:key inputs #:allow-other-keys)
7285 (substitute* "serapeum.asd"
7286 ;; Guix does not have Quicklisp, and probably never will.
7287 (("\\(:file \"quicklisp\"\\)") ""))
7288 #t)))))
7289 (synopsis "Common Lisp utility library beyond Alexandria")
7290 (description
7291 "Serapeum is a conservative library of Common Lisp utilities. It is a
7292supplement, not a competitor, to Alexandria.")
7293 (license license:expat))))
7294
7295(define-public cl-serapeum
7296 (sbcl-package->cl-source-package sbcl-serapeum))
7297
7298(define-public sbcl-arrows
7299 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7300 (revision "0"))
7301 (package
7302 (name "sbcl-arrows")
7303 (version (git-version "0.2.0" revision commit))
7304 (source
7305 (origin
7306 (method git-fetch)
7307 (uri (git-reference
7308 (url "https://gitlab.com/Harleqin/arrows.git")
7309 (commit commit)))
7310 (file-name (git-file-name name version))
7311 (sha256
7312 (base32
7313 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7314 (build-system asdf-build-system/sbcl)
7315 (native-inputs
7316 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7317 (synopsis "Clojure-like arrow macros for Common Lisp")
7318 (description
7319 "This library implements the @code{->} and @code{->>} macros from
7320Clojure, as well as several expansions on the idea.")
7321 (home-page "https://gitlab.com/Harleqin/arrows")
7322 (license license:public-domain))))
7323
7324(define-public cl-arrows
7325 (sbcl-package->cl-source-package sbcl-arrows))
7326
7327(define-public ecl-arrows
7328 (sbcl-package->ecl-package sbcl-arrows))
7329
7330(define-public sbcl-simple-parallel-tasks
7331 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7332 (revision "0"))
7333 (package
7334 (name "sbcl-simple-parallel-tasks")
7335 (version (git-version "1.0" revision commit))
7336 (source
7337 (origin
7338 (method git-fetch)
7339 (uri (git-reference
7340 (url "https://github.com/glv2/simple-parallel-tasks.git")
7341 (commit commit)))
7342 (file-name (git-file-name name version))
7343 (sha256
7344 (base32
7345 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7346 (build-system asdf-build-system/sbcl)
7347 (native-inputs
7348 `(("fiveam" ,sbcl-fiveam)))
7349 (inputs
7350 `(("chanl" ,sbcl-chanl)))
7351 (synopsis "Common Lisp library to evaluate some forms in parallel")
7352 (description "This is a simple Common Lisp library to evaluate some
7353forms in parallel.")
7354 (home-page "https://github.com/glv2/simple-parallel-tasks")
7355 (license license:gpl3))))
7356
7357(define-public cl-simple-parallel-tasks
7358 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7359
7360(define-public ecl-simple-parallel-tasks
7361 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7362
7363(define-public sbcl-cl-heap
7364 (package
7365 (name "sbcl-cl-heap")
7366 (version "0.1.6")
7367 (source
7368 (origin
7369 (method url-fetch)
7370 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7371 "cl-heap_" version ".tar.gz"))
7372 (sha256
7373 (base32
7374 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7375 (build-system asdf-build-system/sbcl)
7376 (native-inputs
7377 `(("xlunit" ,sbcl-xlunit)))
7378 (arguments
7379 `(#:test-asd-file "cl-heap-tests.asd"))
7380 (synopsis "Heap and priority queue data structures for Common Lisp")
7381 (description
7382 "CL-HEAP provides various implementations of heap data structures (a
7383binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7384 (home-page "https://common-lisp.net/project/cl-heap/")
7385 (license license:gpl3+)))
7386
7387(define-public cl-heap
7388 (sbcl-package->cl-source-package sbcl-cl-heap))
7389
7390(define-public ecl-cl-heap
7391 (sbcl-package->ecl-package sbcl-cl-heap))
7392
7393(define-public sbcl-curry-compose-reader-macros
7394 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7395 (revision "0"))
7396 (package
7397 (name "sbcl-curry-compose-reader-macros")
7398 (version (git-version "1.0.0" revision commit))
7399 (source
7400 (origin
7401 (method git-fetch)
7402 (uri
7403 (git-reference
7404 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7405 (commit commit)))
7406 (file-name (git-file-name name version))
7407 (sha256
7408 (base32
7409 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7410 (build-system asdf-build-system/sbcl)
7411 (inputs
7412 `(("alexandria" ,sbcl-alexandria)
7413 ("named-readtables" ,sbcl-named-readtables)))
7414 (synopsis "Reader macros for partial application and composition")
7415 (description
7416 "This Common Lisp library provides reader macros for concise expression
7417of function partial application and composition.")
7418 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7419 (license license:public-domain))))
7420
7421(define-public cl-curry-compose-reader-macros
7422 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7423
7424(define-public ecl-curry-compose-reader-macros
7425 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7426
7427(define-public sbcl-yason
7428 (package
7429 (name "sbcl-yason")
7430 (version "0.7.7")
7431 (source
7432 (origin
7433 (method git-fetch)
7434 (uri (git-reference
7435 (url "https://github.com/phmarek/yason.git")
7436 (commit (string-append "v" version))))
7437 (file-name (git-file-name name version))
7438 (sha256
7439 (base32
7440 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7441 (build-system asdf-build-system/sbcl)
7442 (inputs
7443 `(("alexandria" ,sbcl-alexandria)
7444 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7445 (synopsis "Common Lisp JSON parser/encoder")
7446 (description
7447 "YASON is a Common Lisp library for encoding and decoding data in the
7448JSON interchange format.")
7449 (home-page "https://github.com/phmarek/yason")
7450 (license license:bsd-3)))
7451
7452(define-public cl-yason
7453 (sbcl-package->cl-source-package sbcl-yason))
7454
7455(define-public ecl-yason
7456 (sbcl-package->ecl-package sbcl-yason))
7457
7458(define-public sbcl-stefil
7459 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7460 (revision "0"))
7461 (package
7462 (name "sbcl-stefil")
7463 (version (git-version "0.1" revision commit))
7464 (source
7465 (origin
7466 (method git-fetch)
7467 (uri (git-reference
7468 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7469 (commit commit)))
7470 (file-name (git-file-name name version))
7471 (sha256
7472 (base32
7473 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7474 (build-system asdf-build-system/sbcl)
7475 (inputs
7476 `(("alexandria" ,sbcl-alexandria)
7477 ("iterate" ,sbcl-iterate)
7478 ("metabang-bind" ,sbcl-metabang-bind)))
7479 (propagated-inputs
7480 ;; Swank doesn't have a pre-compiled package, therefore we must
7481 ;; propagate its sources.
7482 `(("swank" ,cl-slime-swank)))
7483 (arguments
7484 '(#:phases
7485 (modify-phases %standard-phases
7486 (add-after 'unpack 'drop-unnecessary-dependency
7487 (lambda _
7488 (substitute* "package.lisp"
7489 ((":stefil-system") ""))
7490 #t)))))
7491 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7492 (synopsis "Simple test framework")
7493 (description
7494 "Stefil is a simple test framework for Common Lisp, with a focus on
7495interactive development.")
7496 (license license:public-domain))))
7497
7498(define-public cl-stefil
7499 (sbcl-package->cl-source-package sbcl-stefil))
7500
7501(define-public sbcl-graph
7502 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7503 (revision "0"))
7504 (package
7505 (name "sbcl-graph")
7506 (version (git-version "0.0.0" revision commit))
7507 (source
7508 (origin
7509 (method git-fetch)
7510 (uri
7511 (git-reference
7512 (url "https://github.com/eschulte/graph.git")
7513 (commit commit)))
7514 (file-name (git-file-name name version))
7515 (sha256
7516 (base32
7517 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7518 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7519 (build-system asdf-build-system/sbcl)
7520 (native-inputs
7521 `(("stefil" ,sbcl-stefil)))
7522 (inputs
7523 `(("alexandria" ,sbcl-alexandria)
7524 ("cl-heap" ,sbcl-cl-heap)
7525 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7526 ("metabang-bind" ,sbcl-metabang-bind)
7527 ("named-readtables" ,sbcl-named-readtables)))
7528 (arguments
17c015c9 7529 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7530 (synopsis "Graph data structure and algorithms for Common Lisp")
7531 (description
7532 "The GRAPH Common Lisp library provides a data structures to represent
7533graphs, as well as some graph manipulation and analysis algorithms (shortest
7534path, maximum flow, minimum spanning tree, etc.).")
7535 (home-page "https://eschulte.github.io/graph/")
7536 (license license:gpl3+))))
7537
7538(define-public cl-graph
7539 (sbcl-package->cl-source-package sbcl-graph))
7540
7541(define-public sbcl-graph-dot
7542 (package
7543 (inherit sbcl-graph)
7544 (name "sbcl-graph-dot")
7545 (inputs
7546 `(("alexandria" ,sbcl-alexandria)
7547 ("cl-ppcre" ,sbcl-cl-ppcre)
7548 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7549 ("graph" ,sbcl-graph)
7550 ("metabang-bind" ,sbcl-metabang-bind)
7551 ("named-readtables" ,sbcl-named-readtables)))
7552 (arguments
7553 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7554 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7555 ((#:asd-system-name _ #f) "graph-dot")))
7556 (synopsis "Serialize graphs to and from DOT format")))
7557
7558(define-public sbcl-graph-json
7559 (package
7560 (inherit sbcl-graph)
7561 (name "sbcl-graph-json")
7562 (inputs
7563 `(("alexandria" ,sbcl-alexandria)
7564 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7565 ("graph" ,sbcl-graph)
7566 ("metabang-bind" ,sbcl-metabang-bind)
7567 ("named-readtables" ,sbcl-named-readtables)
7568 ("yason" ,sbcl-yason)))
7569 (arguments
7570 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7571 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7572 ((#:asd-system-name _ #f) "graph-json")))
7573 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7574
7575(define-public sbcl-trivial-indent
7576 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7577 (revision "0"))
7578 (package
7579 (name "sbcl-trivial-indent")
7580 (version (git-version "1.0.0" revision commit))
7581 (source
7582 (origin
7583 (method git-fetch)
7584 (uri
7585 (git-reference
7586 (url "https://github.com/Shinmera/trivial-indent")
7587 (commit commit)))
7588 (file-name (git-file-name name version))
7589 (sha256
7590 (base32
7591 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7592 (build-system asdf-build-system/sbcl)
7593 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7594 (description
7595 "This library allows you to define custom indentation hints for your
7596macros if the one recognised by SLIME automatically produces unwanted
7597results.")
7598 (home-page "https://shinmera.github.io/trivial-indent/")
7599 (license license:zlib))))
7600
7601(define-public cl-trivial-indent
7602 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7603
7604(define-public sbcl-documentation-utils
7605 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7606 (revision "0"))
7607 (package
7608 (name "sbcl-documentation-utils")
7609 (version (git-version "1.2.0" revision commit))
7610 (source
7611 (origin
7612 (method git-fetch)
7613 (uri
7614 (git-reference
7615 (url "https://github.com/Shinmera/documentation-utils.git")
7616 (commit commit)))
7617 (file-name (git-file-name name version))
7618 (sha256
7619 (base32
7620 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7621 (build-system asdf-build-system/sbcl)
7622 (inputs
7623 `(("trivial-indent" ,sbcl-trivial-indent)))
7624 (synopsis "Few simple tools to document Common Lisp libraries")
7625 (description
7626 "This is a small library to help you with managing the Common Lisp
7627docstrings for your library.")
7628 (home-page "https://shinmera.github.io/documentation-utils/")
7629 (license license:zlib))))
7630
7631(define-public cl-documentation-utils
7632 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7633
281537f4
GLV
7634(define-public ecl-documentation-utils
7635 (sbcl-package->ecl-package sbcl-documentation-utils))
7636
aa47c9e7
PN
7637(define-public sbcl-form-fiddle
7638 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7639 (revision "0"))
7640 (package
7641 (name "sbcl-form-fiddle")
7642 (version (git-version "1.1.0" revision commit))
7643 (source
7644 (origin
7645 (method git-fetch)
7646 (uri
7647 (git-reference
7648 (url "https://github.com/Shinmera/form-fiddle")
7649 (commit commit)))
7650 (file-name (git-file-name name version))
7651 (sha256
7652 (base32
7653 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7654 (build-system asdf-build-system/sbcl)
7655 (inputs
7656 `(("documentation-utils" ,sbcl-documentation-utils)))
7657 (synopsis "Utilities to destructure Common Lisp lambda forms")
7658 (description
7659 "Often times we need to destructure a form definition in a Common Lisp
7660macro. This library provides a set of simple utilities to help with that.")
7661 (home-page "https://shinmera.github.io/form-fiddle/")
7662 (license license:zlib))))
7663
7664(define-public cl-form-fiddle
7665 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7666
7667(define-public sbcl-parachute
7668 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7669 (revision "0"))
7670 (package
7671 (name "sbcl-parachute")
7672 (version (git-version "1.1.1" revision commit))
7673 (source
7674 (origin
7675 (method git-fetch)
7676 (uri
7677 (git-reference
7678 (url "https://github.com/Shinmera/parachute")
7679 (commit commit)))
7680 (file-name (git-file-name name version))
7681 (sha256
7682 (base32
7683 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7684 (build-system asdf-build-system/sbcl)
7685 (inputs
7686 `(("documentation-utils" ,sbcl-documentation-utils)
7687 ("form-fiddle" ,sbcl-form-fiddle)))
7688 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7689 (description
7690 "Parachute is a simple-to-use and extensible testing framework.
7691In Parachute, things are organised as a bunch of named tests within a package.
7692Each test can contain a bunch of test forms that make up its body.")
7693 (home-page "https://shinmera.github.io/parachute/")
7694 (license license:zlib))))
7695
7696(define-public cl-parachute
7697 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7698
7699(define-public sbcl-array-utils
7700 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7701 (revision "0"))
7702 (package
7703 (name "sbcl-array-utils")
7704 (version (git-version "1.1.1" revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri
7709 (git-reference
7710 (url "https://github.com/Shinmera/array-utils")
7711 (commit commit)))
7712 (file-name (git-file-name name version))
7713 (sha256
7714 (base32
7715 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7716 (build-system asdf-build-system/sbcl)
7717 (native-inputs
7718 `(("parachute" ,sbcl-parachute)))
7719 (inputs
7720 `(("documentation-utils" ,sbcl-documentation-utils)))
7721 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7722 (description
7723 "A miniature toolkit that contains some useful shifting/popping/pushing
7724functions for arrays and vectors. Originally from Plump.")
7725 (home-page "https://shinmera.github.io/array-utils/")
7726 (license license:zlib))))
7727
7728(define-public cl-array-utils
7729 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7730
7731(define-public sbcl-plump
7732 (let ((commit "16f1231bf706cfbc54d9e55a853ca945e4452a08")
7733 (revision "0"))
7734 (package
7735 (name "sbcl-plump")
7736 (version (git-version "2.0.0" revision commit))
7737 (source
7738 (origin
7739 (method git-fetch)
7740 (uri
7741 (git-reference
7742 (url "https://github.com/Shinmera/plump")
7743 (commit commit)))
7744 (file-name (git-file-name name version))
7745 (sha256
7746 (base32
7747 "0705k8pbip51v74rccgwscwph439f2pma9f915qf1h4bhjx999ip"))))
7748 (build-system asdf-build-system/sbcl)
7749 (inputs
7750 `(("array-utils" ,sbcl-array-utils)
7751 ("documentation-utils" ,sbcl-documentation-utils)))
7752 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7753 (description
7754 "Plump is a parser for HTML/XML-like documents, focusing on being
7755lenient towards invalid markup. It can handle things like invalid attributes,
7756bad closing tag order, unencoded entities, inexistent tag types, self-closing
7757tags and so on. It parses documents to a class representation and offers a
7758small set of DOM functions to manipulate it. It can be extended to parse to
7759your own classes.")
7760 (home-page "https://shinmera.github.io/plump/")
7761 (license license:zlib))))
7762
7763(define-public cl-plump
7764 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7765
7766(define-public sbcl-antik-base
7767 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7768 (revision "1"))
7769 (package
7770 (name "sbcl-antik-base")
7771 (version (git-version "0.0.0" revision commit))
7772 (source
7773 (origin
7774 (method git-fetch)
7775 (uri (git-reference
7776 (url "https://gitlab.common-lisp.net/antik/antik.git")
7777 (commit commit)))
7778 (file-name (git-file-name name version))
7779 (sha256
7780 (base32
7781 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7782 (build-system asdf-build-system/sbcl)
7783 (inputs
7784 `(("alexandria" ,sbcl-alexandria)
7785 ("cl-ppcre" ,sbcl-cl-ppcre)
7786 ("iterate" ,sbcl-iterate)
7787 ("metabang-bind" ,sbcl-metabang-bind)
7788 ("named-readtables" ,sbcl-named-readtables)
7789 ("split-sequence" ,sbcl-split-sequence)))
7790 (native-inputs
7791 `(("lisp-unit" ,sbcl-lisp-unit)))
7792 (synopsis "Scientific and engineering computation in Common Lisp")
7793 (description
7794 "Antik provides a foundation for scientific and engineering
7795computation in Common Lisp. It is designed not only to facilitate
7796numerical computations, but to permit the use of numerical computation
7797libraries and the interchange of data and procedures, whether
7798foreign (non-Lisp) or Lisp libraries. It is named after the
7799Antikythera mechanism, one of the oldest examples of a scientific
7800computer known.")
7801 (home-page "https://common-lisp.net/project/antik/")
7802 (license license:gpl3))))
7803
7804(define-public cl-antik-base
7805 (sbcl-package->cl-source-package sbcl-antik-base))
7806
7807(define-public ecl-antik-base
7808 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7809
7810(define-public sbcl-foreign-array
7811 (package
7812 (inherit sbcl-antik-base)
7813 (name "sbcl-foreign-array")
7814 (arguments
7815 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7816 ((#:asd-file _ "") "foreign-array.asd")
7817 ((#:asd-system-name _ #f) "foreign-array")))
7818 (inputs
7819 `(("antik-base" ,sbcl-antik-base)
7820 ("cffi" ,sbcl-cffi)
7821 ("trivial-garbage" ,sbcl-trivial-garbage)
7822 ("static-vectors" ,sbcl-static-vectors)))
7823 (synopsis "Common Lisp library providing access to foreign arrays")))
7824
7825(define-public cl-foreign-array
7826 (sbcl-package->cl-source-package sbcl-foreign-array))
7827
7828(define-public ecl-foreign-array
7829 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7830
7831(define-public sbcl-physical-dimension
7832 (package
7833 (inherit sbcl-antik-base)
7834 (name "sbcl-physical-dimension")
7835 (inputs
7836 `(("fare-utils" ,sbcl-fare-utils)
7837 ("foreign-array" ,sbcl-foreign-array)
7838 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7839 (arguments
7840 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7841 ((#:asd-file _ "") "physical-dimension.asd")
7842 ((#:asd-system-name _ #f) "physical-dimension")))
7843 (synopsis
7844 "Common Lisp library providing computations with physical units")))
7845
7846(define-public cl-physical-dimension
7847 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7848
7849(define-public sbcl-science-data
7850 (package
7851 (inherit sbcl-antik-base)
7852 (name "sbcl-science-data")
7853 (inputs
7854 `(("physical-dimension" ,sbcl-physical-dimension)
7855 ("drakma" ,sbcl-drakma)))
7856 (arguments
7857 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7858 ((#:asd-file _ "") "science-data.asd")
7859 ((#:asd-system-name _ #f) "science-data")))
7860 (synopsis
7861 "Common Lisp library for scientific and engineering numerical data")))
7862
7863(define-public cl-science-data
7864 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7865
7866(define-public sbcl-gsll
7867 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7868 (revision "1"))
7869 (package
7870 (name "sbcl-gsll")
7871 (version (git-version "0.0.0" revision commit))
7872 (source
7873 (origin
7874 (method git-fetch)
7875 (uri (git-reference
7876 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7877 (commit commit)))
7878 (file-name (git-file-name name version))
7879 (sha256
7880 (base32
7881 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7882 (build-system asdf-build-system/sbcl)
7883 (native-inputs
7884 `(("lisp-unit" ,sbcl-lisp-unit)))
7885 (inputs
7886 `(("alexandria" ,sbcl-alexandria)
7887 ("cffi-grovel" ,sbcl-cffi-grovel)
7888 ("cffi-libffi" ,sbcl-cffi-libffi)
7889 ("foreign-array" ,sbcl-foreign-array)
7890 ("gsl" ,gsl)
7891 ("metabang-bind" ,sbcl-metabang-bind)
7892 ("trivial-features" ,sbcl-trivial-features)
7893 ("trivial-garbage" ,sbcl-trivial-garbage)))
7894 (arguments
7895 `(#:tests? #f
7896 #:phases
7897 (modify-phases %standard-phases
7898 (add-after 'unpack 'fix-cffi-paths
7899 (lambda* (#:key inputs #:allow-other-keys)
7900 (substitute* "gsll.asd"
7901 ((":depends-on \\(#:foreign-array")
7902 ":depends-on (#:foreign-array #:cffi-libffi"))
7903 (substitute* "init/init.lisp"
7904 (("libgslcblas.so" all)
7905 (string-append
7906 (assoc-ref inputs "gsl") "/lib/" all)))
7907 (substitute* "init/init.lisp"
7908 (("libgsl.so" all)
7909 (string-append
7910 (assoc-ref inputs "gsl") "/lib/" all))))))))
7911 (synopsis "GNU Scientific Library for Lisp")
7912 (description
7913 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
7914GNU Scientific Library (GSL) from Common Lisp. This library provides a
7915full range of common mathematical operations useful to scientific and
7916engineering applications. The design of the GSLL interface is such
7917that access to most of the GSL library is possible in a Lisp-natural
7918way; the intent is that the user not be hampered by the restrictions
7919of the C language in which GSL has been written. GSLL thus provides
7920interactive use of GSL for getting quick answers, even for someone not
7921intending to program in Lisp.")
7922 (home-page "https://common-lisp.net/project/gsll/")
7923 (license license:gpl3))))
7924
7925(define-public cl-gsll
7926 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
7927
7928(define-public sbcl-antik
7929 (package
7930 (inherit sbcl-antik-base)
7931 (name "sbcl-antik")
7932 (inputs
7933 `(("gsll" ,sbcl-gsll)
7934 ("physical-dimension" ,sbcl-physical-dimension)))
7935 (arguments
7936 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7937 ((#:asd-file _ "") "antik.asd")
7938 ((#:asd-system-name _ #f) "antik")))))
7939
7940(define-public cl-antik
7941 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
7942
7943(define-public sbcl-cl-interpol
7944 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
7945 (revision "1"))
7946 (package
7947 (name "sbcl-cl-interpol")
7948 (version (git-version "0.2.6" revision commit))
7949 (source
7950 (origin
7951 (method git-fetch)
7952 (uri (git-reference
7953 (url "https://github.com/edicl/cl-interpol.git")
7954 (commit commit)))
7955 (file-name (git-file-name name version))
7956 (sha256
7957 (base32
7958 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
7959 (build-system asdf-build-system/sbcl)
7960 (inputs
7961 `(("cl-unicode" ,sbcl-cl-unicode)
7962 ("named-readtables" ,sbcl-named-readtables)))
7963 (native-inputs
7964 `(("flexi-streams" ,sbcl-flexi-streams)))
7965 (synopsis "String interpolation for Common Lisp")
7966 (description
7967 "CL-INTERPOL is a library for Common Lisp which modifies the
7968reader so that you can have interpolation within strings similar to
7969Perl or Unix Shell scripts. It also provides various ways to insert
7970arbitrary characters into literal strings even if your editor/IDE
7971doesn't support them.")
7972 (home-page "https://edicl.github.io/cl-interpol/")
7973 (license license:bsd-3))))
7974
7975(define-public cl-interpol
7976 (sbcl-package->cl-source-package sbcl-cl-interpol))
7977
7978(define-public ecl-cl-interpol
7979 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
7980
7981(define sbcl-symbol-munger-boot0
7982 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
7983 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
7984 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
7985 (revision "1"))
7986 (package
7987 (name "sbcl-symbol-munger-boot0")
7988 (version (git-version "0.0.1" revision commit))
7989 (source
7990 (origin
7991 (method git-fetch)
7992 (uri (git-reference
7993 (url "https://github.com/AccelerationNet/symbol-munger.git")
7994 (commit commit)))
7995 (file-name (git-file-name name version))
7996 (sha256
7997 (base32
7998 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
7999 (build-system asdf-build-system/sbcl)
8000 (arguments
8001 `(#:asd-file "symbol-munger.asd"
8002 #:asd-system-name "symbol-munger"))
8003 (inputs
8004 `(("iterate" ,sbcl-iterate)
8005 ("alexandria" ,sbcl-alexandria)))
8006 (native-inputs
8007 `(("lisp-unit" ,sbcl-lisp-unit)))
8008 (synopsis
8009 "Capitalization and spacing conversion functions for Common Lisp")
8010 (description
8011 "This is a Common Lisp library to change the capitalization and spacing
8012of a string or a symbol. It can convert to and from Lisp, english, underscore
8013and camel-case rules.")
8014 (home-page "https://github.com/AccelerationNet/symbol-munger")
8015 ;; The package declares a BSD license, but all of the license
8016 ;; text is MIT.
8017 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8018 (license license:expat))))
8019
8020(define sbcl-lisp-unit2-boot0
8021 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8022 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8023 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8024 (revision "1"))
8025 (package
8026 (name "sbcl-lisp-unit2-boot0")
8027 (version (git-version "0.2.0" revision commit))
8028 (source
8029 (origin
8030 (method git-fetch)
8031 (uri (git-reference
8032 (url "https://github.com/AccelerationNet/lisp-unit2.git")
8033 (commit commit)))
8034 (file-name (git-file-name name version))
8035 (sha256
8036 (base32
8037 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8038 (build-system asdf-build-system/sbcl)
8039 (arguments
8040 `(#:asd-file "lisp-unit2.asd"
8041 #:asd-system-name "lisp-unit2"))
8042 (inputs
8043 `(("alexandria" ,sbcl-alexandria)
8044 ("cl-interpol" ,sbcl-cl-interpol)
8045 ("iterate" ,sbcl-iterate)
8046 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8047 (synopsis "Test Framework for Common Lisp")
8048 (description
8049 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8050style of JUnit for Java. It is a new version of the lisp-unit library written
8051by Chris Riesbeck.")
8052 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8053 (license license:expat))))
edfa2261
KCB
8054
8055(define-public sbcl-symbol-munger
8056 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8057 (revision "1"))
8058 (package
8059 (name "sbcl-symbol-munger")
8060 (version (git-version "0.0.1" revision commit))
8061 (source
8062 (origin
8063 (method git-fetch)
8064 (uri (git-reference
8065 (url "https://github.com/AccelerationNet/symbol-munger.git")
8066 (commit commit)))
8067 (file-name (git-file-name name version))
8068 (sha256
8069 (base32
8070 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8071 (build-system asdf-build-system/sbcl)
8072 (inputs
8073 `(("alexandria" ,sbcl-alexandria)
8074 ("iterate" ,sbcl-iterate)))
8075 (native-inputs
8076 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8077 (synopsis
8078 "Capitalization and spacing conversion functions for Common Lisp")
8079 (description
8080 "This is a Common Lisp library to change the capitalization and spacing
8081of a string or a symbol. It can convert to and from Lisp, english, underscore
8082and camel-case rules.")
8083 (home-page "https://github.com/AccelerationNet/symbol-munger")
8084 ;; The package declares a BSD license, but all of the license
8085 ;; text is MIT.
8086 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8087 (license license:expat))))
8088
8089(define-public cl-symbol-munger
8090 (sbcl-package->cl-source-package sbcl-symbol-munger))
8091
8092(define-public ecl-symbol-munger
8093 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8094
8095(define-public sbcl-lisp-unit2
8096 (package
8097 (inherit sbcl-lisp-unit2-boot0)
8098 (name "sbcl-lisp-unit2")
8099 (inputs
8100 `(("alexandria" ,sbcl-alexandria)
8101 ("cl-interpol" ,sbcl-cl-interpol)
8102 ("iterate" ,sbcl-iterate)
8103 ("symbol-munger" ,sbcl-symbol-munger)))))
8104
8105(define-public cl-lisp-unit2
8106 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8107
8108(define-public ecl-lisp-unit2
8109 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8110
8111(define-public sbcl-cl-csv
8112 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8113 (revision "1"))
8114 (package
8115 (name "sbcl-cl-csv")
8116 (version (git-version "1.0.6" revision commit))
8117 (source
8118 (origin
8119 (method git-fetch)
8120 (uri (git-reference
8121 (url "https://github.com/AccelerationNet/cl-csv.git")
8122 (commit commit)))
8123 (file-name (git-file-name name version))
8124 (sha256
8125 (base32
8126 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8127 (build-system asdf-build-system/sbcl)
8128 (arguments
8129 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8130 `(#:tests? #f))
8131 (inputs
8132 `(("alexandria" ,sbcl-alexandria)
8133 ("cl-interpol" ,sbcl-cl-interpol)
8134 ("iterate" ,sbcl-iterate)))
8135 (native-inputs
8136 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8137 (synopsis "Common lisp library for comma-separated values")
8138 (description
8139 "This is a Common Lisp library providing functions to read/write CSV
8140from/to strings, streams and files.")
8141 (home-page "https://github.com/AccelerationNet/cl-csv")
8142 (license license:bsd-3))))
8143
8144(define-public cl-csv
8145 (sbcl-package->cl-source-package sbcl-cl-csv))
8146
8147(define-public ecl-cl-csv
8148 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8149
8150(define-public sbcl-external-program
8151 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8152 (revision "1"))
8153 (package
8154 (name "sbcl-external-program")
8155 (version (git-version "0.0.6" revision commit))
8156 (source
8157 (origin
8158 (method git-fetch)
8159 (uri (git-reference
8160 (url "https://github.com/sellout/external-program.git")
8161 (commit commit)))
8162 (file-name (git-file-name name version))
8163 (sha256
8164 (base32
8165 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8166 (build-system asdf-build-system/sbcl)
8167 (inputs
8168 `(("trivial-features" ,sbcl-trivial-features)))
8169 (native-inputs
8170 `(("fiveam" ,sbcl-fiveam)))
8171 (synopsis "Common Lisp library for running external programs")
8172 (description
8173 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8174process. It is an attempt to make the RUN-PROGRAM functionality in
8175implementations like SBCL and CCL as portable as possible without
8176sacrificing much in the way of power.")
8177 (home-page "https://github.com/sellout/external-program")
8178 (license license:llgpl))))
8179
8180(define-public cl-external-program
8181 (sbcl-package->cl-source-package sbcl-external-program))
8182
8183(define-public ecl-external-program
8184 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8185
8186(define sbcl-cl-ana-boot0
8187 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8188 (revision "1"))
8189 (package
8190 (name "sbcl-cl-ana-boot0")
8191 (version (git-version "0.0.0" revision commit))
8192 (source
8193 (origin
8194 (method git-fetch)
8195 (uri (git-reference
8196 (url "https://github.com/ghollisjr/cl-ana.git")
8197 (commit commit)))
8198 (file-name (git-file-name name version))
8199 (sha256
8200 (base32
8201 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8202 (build-system asdf-build-system/sbcl)
8203 (synopsis "Common Lisp data analysis library")
8204 (description
8205 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8206binned data analysis along with nonlinear least squares fitting and
8207visualization.")
8208 (home-page "https://github.com/ghollisjr/cl-ana")
8209 (license license:gpl3))))
8210
8211(define-public sbcl-cl-ana.pathname-utils
8212 (package
8213 (inherit sbcl-cl-ana-boot0)
8214 (name "sbcl-cl-ana.pathname-utils")
8215 (arguments
8216 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8217 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8218 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8219
8220(define-public cl-ana.pathname-utils
8221 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8222
8223(define-public ecl-cl-ana.pathname-utils
8224 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8225
8226(define-public sbcl-cl-ana.package-utils
8227 (package
8228 (inherit sbcl-cl-ana-boot0)
8229 (name "sbcl-cl-ana.package-utils")
8230 (inputs
8231 `(("alexandria" ,sbcl-alexandria)))
8232 (arguments
8233 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8234 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8235 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8236
8237(define-public cl-ana.package-utils
8238 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8239
8240(define-public ecl-cl-ana.package-utils
8241 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8242
8243(define-public sbcl-cl-ana.string-utils
8244 (package
8245 (inherit sbcl-cl-ana-boot0)
8246 (name "sbcl-cl-ana.string-utils")
8247 (inputs
8248 `(("split-sequence" ,sbcl-split-sequence)))
8249 (arguments
8250 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8251 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8252 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8253
8254(define-public cl-ana.string-utils
8255 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8256
8257(define-public ecl-cl-ana.string-utils
8258 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8259
8260(define-public sbcl-cl-ana.functional-utils
8261 (package
8262 (inherit sbcl-cl-ana-boot0)
8263 (name "sbcl-cl-ana.functional-utils")
8264 (arguments
8265 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8266 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8267 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8268
8269(define-public cl-ana.functional-utils
8270 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8271
8272(define-public ecl-cl-ana.functional-utils
8273 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8274
8275(define-public sbcl-cl-ana.list-utils
8276 (package
8277 (inherit sbcl-cl-ana-boot0)
8278 (name "sbcl-cl-ana.list-utils")
8279 (inputs
8280 `(("alexandria" ,sbcl-alexandria)
8281 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8282 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8283 (arguments
8284 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8285 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8286 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8287
8288(define-public cl-ana.list-utils
8289 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8290
8291(define-public ecl-cl-ana.list-utils
8292 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8293
8294(define-public sbcl-cl-ana.generic-math
8295 (package
8296 (inherit sbcl-cl-ana-boot0)
8297 (name "sbcl-cl-ana.generic-math")
8298 (inputs
8299 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8300 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8301 (arguments
8302 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8303 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8304 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8305
8306(define-public cl-ana.generic-math
8307 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8308
8309(define-public ecl-cl-ana.generic-math
8310 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8311
8312(define-public sbcl-cl-ana.math-functions
8313 (package
8314 (inherit sbcl-cl-ana-boot0)
8315 (name "sbcl-cl-ana.math-functions")
8316 (inputs
8317 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8318 ("gsll" ,sbcl-gsll)))
8319 (arguments
8320 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8321 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8322 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8323
8324(define-public cl-ana.math-functions
8325 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8326
8327(define-public sbcl-cl-ana.calculus
8328 (package
8329 (inherit sbcl-cl-ana-boot0)
8330 (name "sbcl-cl-ana.calculus")
8331 (inputs
8332 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8333 (arguments
8334 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8335 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8336 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8337
8338(define-public cl-ana.calculus
8339 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8340
8341(define-public ecl-cl-ana.calculus
8342 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8343
8344(define-public sbcl-cl-ana.symbol-utils
8345 (package
8346 (inherit sbcl-cl-ana-boot0)
8347 (name "sbcl-cl-ana.symbol-utils")
8348 (inputs
8349 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8350 (arguments
8351 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8352 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8353 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8354
8355(define-public cl-ana.symbol-utils
8356 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8357
8358(define-public ecl-cl-ana.symbol-utils
8359 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8360
8361(define-public sbcl-cl-ana.macro-utils
8362 (package
8363 (inherit sbcl-cl-ana-boot0)
8364 (name "sbcl-cl-ana.macro-utils")
8365 (inputs
8366 `(("alexandria" ,sbcl-alexandria)
8367 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8368 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8369 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8370 ("split-sequence" ,sbcl-split-sequence)))
8371 (arguments
8372 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8373 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8374 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8375
8376(define-public cl-ana.macro-utils
8377 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8378
8379(define-public ecl-cl-ana.macro-utils
8380 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8381
8382(define-public sbcl-cl-ana.binary-tree
8383 (package
8384 (inherit sbcl-cl-ana-boot0)
8385 (name "sbcl-cl-ana.binary-tree")
8386 (inputs
8387 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8388 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8389 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8390 (arguments
8391 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8392 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8393 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8394
8395(define-public cl-ana.binary-tree
8396 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8397
8398(define-public ecl-cl-ana.binary-tree
8399 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8400
8401(define-public sbcl-cl-ana.tensor
8402 (package
8403 (inherit sbcl-cl-ana-boot0)
8404 (name "sbcl-cl-ana.tensor")
8405 (inputs
8406 `(("alexandria" ,sbcl-alexandria)
8407 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8408 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8409 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8410 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8411 (arguments
8412 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8413 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8414 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8415
8416(define-public cl-ana.tensor
8417 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8418
8419(define-public ecl-cl-ana.tensor
8420 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8421
8422(define-public sbcl-cl-ana.error-propogation
8423 (package
8424 (inherit sbcl-cl-ana-boot0)
8425 (name "sbcl-cl-ana.error-propogation")
8426 (inputs
8427 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8428 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8429 (arguments
8430 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8431 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8432 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8433
8434(define-public cl-ana.error-propogation
8435 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8436
8437(define-public sbcl-cl-ana.quantity
8438 (package
8439 (inherit sbcl-cl-ana-boot0)
8440 (name "sbcl-cl-ana.quantity")
8441 (inputs
8442 `(("alexandria" ,sbcl-alexandria)
8443 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8444 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8445 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8446 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8447 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8448 (arguments
8449 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8450 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8451 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8452
8453(define-public cl-ana.quantity
8454 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8455
8456(define-public sbcl-cl-ana.table
8457 (package
8458 (inherit sbcl-cl-ana-boot0)
8459 (name "sbcl-cl-ana.table")
8460 (inputs
8461 `(("alexandria" ,sbcl-alexandria)
8462 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8463 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8464 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8465 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8466 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8467 (arguments
8468 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8469 ((#:asd-file _ "") "table/cl-ana.table.asd")
8470 ((#:asd-system-name _ #f) "cl-ana.table")))))
8471
8472(define-public cl-ana.table
8473 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8474
8475(define-public ecl-cl-ana.table
8476 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8477
8478(define-public sbcl-cl-ana.table-utils
8479 (package
8480 (inherit sbcl-cl-ana-boot0)
8481 (name "sbcl-cl-ana.table-utils")
8482 (inputs
8483 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8484 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8485 ("cl-ana.table" ,sbcl-cl-ana.table)))
8486 (arguments
8487 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8488 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8489 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8490
8491(define-public cl-ana.table-utils
8492 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8493
8494(define-public ecl-cl-ana.table-utils
8495 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8496
8497(define-public sbcl-cl-ana.hdf-cffi
8498 (package
8499 (inherit sbcl-cl-ana-boot0)
8500 (name "sbcl-cl-ana.hdf-cffi")
8501 (inputs
8502 `(("cffi" ,sbcl-cffi)
8503 ("hdf5" ,hdf5-parallel-openmpi)))
8504 (arguments
8505 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8506 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8507 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8508 ((#:phases phases '%standard-phases)
8509 `(modify-phases ,phases
8510 (add-after 'unpack 'fix-paths
8511 (lambda* (#:key inputs #:allow-other-keys)
8512 (substitute* "hdf-cffi/hdf-cffi.lisp"
8513 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8514 (string-append
8515 (assoc-ref inputs "hdf5")
8516 "/lib/libhdf5.so")))))))))))
8517
8518(define-public cl-ana.hdf-cffi
8519 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8520
8521(define-public ecl-cl-ana.hdf-cffi
8522 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8523
8524(define-public sbcl-cl-ana.int-char
8525 (package
8526 (inherit sbcl-cl-ana-boot0)
8527 (name "sbcl-cl-ana.int-char")
8528 (arguments
8529 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8530 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8531 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8532
8533(define-public cl-ana.int-char
8534 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8535
8536(define-public ecl-cl-ana.int-char
8537 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8538
8539(define-public sbcl-cl-ana.memoization
8540 (package
8541 (inherit sbcl-cl-ana-boot0)
8542 (name "sbcl-cl-ana.memoization")
8543 (inputs
8544 `(("alexandria" ,sbcl-alexandria)))
8545 (arguments
8546 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8547 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8548 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8549
8550(define-public cl-ana.memoization
8551 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8552
8553(define-public ecl-cl-ana.memoization
8554 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8555
8556(define-public sbcl-cl-ana.typespec
8557 (package
8558 (inherit sbcl-cl-ana-boot0)
8559 (name "sbcl-cl-ana.typespec")
8560 (inputs
8561 `(("alexandria" ,sbcl-alexandria)
8562 ("cffi" ,sbcl-cffi)
8563 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8564 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8565 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8566 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8567 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8568 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8569 (arguments
8570 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8571 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8572 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8573
8574(define-public cl-ana.typespec
8575 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8576
8577(define-public ecl-cl-ana.typespec
8578 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8579
8580(define-public sbcl-cl-ana.hdf-typespec
8581 (package
8582 (inherit sbcl-cl-ana-boot0)
8583 (name "sbcl-cl-ana.hdf-typespec")
8584 (inputs
8585 `(("alexandria" ,sbcl-alexandria)
8586 ("cffi" ,sbcl-cffi)
8587 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8588 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8589 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8590 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8591 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8592 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8593 (arguments
8594 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8595 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8596 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8597
8598(define-public cl-ana.hdf-typespec
8599 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8600
8601(define-public ecl-cl-ana.hdf-typespec
8602 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8603
8604(define-public sbcl-cl-ana.hdf-utils
8605 (package
8606 (inherit sbcl-cl-ana-boot0)
8607 (name "sbcl-cl-ana.hdf-utils")
8608 (inputs
8609 `(("alexandria" ,sbcl-alexandria)
8610 ("cffi" ,sbcl-cffi)
8611 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8612 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8613 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8614 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8615 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8616 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8617 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8618 (arguments
8619 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8620 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8621 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8622
8623(define-public cl-ana.hdf-utils
8624 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8625
8626(define-public ecl-cl-ana.hdf-utils
8627 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8628
8629(define-public sbcl-cl-ana.typed-table
8630 (package
8631 (inherit sbcl-cl-ana-boot0)
8632 (name "sbcl-cl-ana.typed-table")
8633 (inputs
8634 `(("alexandria" ,sbcl-alexandria)
8635 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8636 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8637 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8638 ("cl-ana.table" ,sbcl-cl-ana.table)
8639 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8640 (arguments
8641 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8642 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8643 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8644
8645(define-public cl-ana.typed-table
8646 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8647
8648(define-public ecl-cl-ana.typed-table
8649 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8650
8651(define-public sbcl-cl-ana.hdf-table
8652 (package
8653 (inherit sbcl-cl-ana-boot0)
8654 (name "sbcl-cl-ana.hdf-table")
8655 (inputs
8656 `(("alexandria" ,sbcl-alexandria)
8657 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8658 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8659 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8660 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8661 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8662 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8663 ("cl-ana.table" ,sbcl-cl-ana.table)
8664 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8665 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8666 (arguments
8667 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8668 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8669 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8670
8671(define-public cl-ana.hdf-table
8672 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8673
8674(define-public ecl-cl-ana.hdf-table
8675 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8676
8677(define-public sbcl-cl-ana.gsl-cffi
8678 (package
8679 (inherit sbcl-cl-ana-boot0)
8680 (name "sbcl-cl-ana.gsl-cffi")
8681 (inputs
8682 `(("cffi" ,sbcl-cffi)
8683 ("gsl" ,gsl)))
8684 (arguments
8685 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8686 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8687 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8688 ((#:phases phases '%standard-phases)
8689 `(modify-phases ,phases
8690 (add-after 'unpack 'fix-paths
8691 (lambda* (#:key inputs #:allow-other-keys)
8692 (substitute* "gsl-cffi/gsl-cffi.lisp"
8693 (("define-foreign-library gsl-cffi" all)
8694 (string-append all " (:unix "
8695 (assoc-ref inputs "gsl")
8696 "/lib/libgsl.so)")))))))))))
8697
8698(define-public cl-ana.gsl-cffi
8699 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8700
8701(define-public ecl-cl-ana.gsl-cffi
8702 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8703
8704(define-public sbcl-cl-ana.ntuple-table
8705 (package
8706 (inherit sbcl-cl-ana-boot0)
8707 (name "sbcl-cl-ana.ntuple-table")
8708 (inputs
8709 `(("alexandria" ,sbcl-alexandria)
8710 ("cffi" ,sbcl-cffi)
8711 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8712 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8713 ("cl-ana.table" ,sbcl-cl-ana.table)
8714 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8715 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8716 ("gsll" ,sbcl-gsll)))
8717 (arguments
8718 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8719 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8720 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8721
8722(define-public cl-ana.ntuple-table
8723 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8724
8725(define-public sbcl-cl-ana.csv-table
8726 (package
8727 (inherit sbcl-cl-ana-boot0)
8728 (name "sbcl-cl-ana.csv-table")
8729 (inputs
8730 `(("alexandria" ,sbcl-alexandria)
8731 ("antik" ,sbcl-antik)
8732 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8733 ("cl-ana.table" ,sbcl-cl-ana.table)
8734 ("cl-csv" ,sbcl-cl-csv)
8735 ("iterate" ,sbcl-iterate)))
8736 (arguments
8737 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8738 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8739 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8740
8741(define-public cl-ana.csv-table
8742 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8743
8744(define-public sbcl-cl-ana.reusable-table
8745 (package
8746 (inherit sbcl-cl-ana-boot0)
8747 (name "sbcl-cl-ana.reusable-table")
8748 (inputs
8749 `(("alexandria" ,sbcl-alexandria)
8750 ("cl-ana.table" ,sbcl-cl-ana.table)))
8751 (arguments
8752 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8753 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8754 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8755
8756(define-public cl-ana.reusable-table
8757 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8758
8759(define-public ecl-cl-ana.reusable-table
8760 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8761
8762(define-public sbcl-cl-ana.linear-algebra
8763 (package
8764 (inherit sbcl-cl-ana-boot0)
8765 (name "sbcl-cl-ana.linear-algebra")
8766 (inputs
8767 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8768 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8769 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8770 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8771 ("gsll" ,sbcl-gsll)))
8772 (arguments
8773 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8774 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8775 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8776
8777(define-public cl-ana.linear-algebra
8778 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8779
8780(define-public sbcl-cl-ana.lorentz
8781 (package
8782 (inherit sbcl-cl-ana-boot0)
8783 (name "sbcl-cl-ana.lorentz")
8784 (inputs
8785 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8786 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8787 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8788 ("iterate" ,sbcl-iterate)))
8789 (arguments
8790 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8791 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8792 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8793
8794(define-public cl-ana.lorentz
8795 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8796
8797(define-public sbcl-cl-ana.clos-utils
8798 (package
8799 (inherit sbcl-cl-ana-boot0)
8800 (name "sbcl-cl-ana.clos-utils")
8801 (inputs
8802 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8803 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8804 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8805 ("closer-mop" ,sbcl-closer-mop)))
8806 (arguments
8807 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8808 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8809 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8810
8811(define-public cl-ana.clos-utils
8812 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8813
8814(define-public ecl-cl-ana.clos-utils
8815 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8816
8817(define-public sbcl-cl-ana.hash-table-utils
8818 (package
8819 (inherit sbcl-cl-ana-boot0)
8820 (name "sbcl-cl-ana.hash-table-utils")
8821 (arguments
8822 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8823 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8824 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8825
8826(define-public cl-ana.hash-table-utils
8827 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8828
8829(define-public ecl-cl-ana.hash-table-utils
8830 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8831
8832(define-public sbcl-cl-ana.map
8833 (package
8834 (inherit sbcl-cl-ana-boot0)
8835 (name "sbcl-cl-ana.map")
8836 (inputs
8837 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8838 (arguments
8839 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8840 ((#:asd-file _ "") "map/cl-ana.map.asd")
8841 ((#:asd-system-name _ #f) "cl-ana.map")))))
8842
8843(define-public cl-ana.map
8844 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8845
8846(define-public ecl-cl-ana.map
8847 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8848
8849(define-public sbcl-cl-ana.fitting
8850 (package
8851 (inherit sbcl-cl-ana-boot0)
8852 (name "sbcl-cl-ana.fitting")
8853 (inputs
8854 `(("alexandria" ,sbcl-alexandria)
8855 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8856 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8857 ("cl-ana.map" ,sbcl-cl-ana.map)
8858 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8859 ("gsll" ,sbcl-gsll)))
8860 (arguments
8861 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8862 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8863 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8864
8865(define-public cl-ana.fitting
8866 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8867
8868(define-public sbcl-cl-ana.histogram
8869 (package
8870 (inherit sbcl-cl-ana-boot0)
8871 (name "sbcl-cl-ana.histogram")
8872 (inputs
8873 `(("alexandria" ,sbcl-alexandria)
8874 ("iterate" ,sbcl-iterate)
8875 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8876 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8877 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8878 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8879 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8880 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8881 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8882 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8883 ("cl-ana.map" ,sbcl-cl-ana.map)
8884 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8885 (arguments
8886 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8887 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8888 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8889
8890(define-public cl-ana.histogram
8891 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8892
8893(define-public sbcl-cl-ana.file-utils
8894 (package
8895 (inherit sbcl-cl-ana-boot0)
8896 (name "sbcl-cl-ana.file-utils")
8897 (inputs
8898 `(("external-program" ,sbcl-external-program)
8899 ("split-sequence" ,sbcl-split-sequence)))
8900 (arguments
8901 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8902 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8903 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8904
8905(define-public cl-ana.file-utils
8906 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
8907
8908(define-public ecl-cl-ana.file-utils
8909 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
8910
8911(define-public sbcl-cl-ana.statistics
8912 (package
8913 (inherit sbcl-cl-ana-boot0)
8914 (name "sbcl-cl-ana.statistics")
8915 (inputs
8916 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8917 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8918 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8919 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8920 ("cl-ana.map" ,sbcl-cl-ana.map)))
8921 (arguments
8922 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8923 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
8924 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
8925
8926(define-public cl-ana.statistics
8927 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
8928
8929(define-public sbcl-cl-ana.gnuplot-interface
8930 (package
8931 (inherit sbcl-cl-ana-boot0)
8932 (name "sbcl-cl-ana.gnuplot-interface")
8933 (inputs
8934 `(("external-program" ,sbcl-external-program)))
8935 (arguments
8936 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8937 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
8938 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
8939
8940(define-public cl-ana.gnuplot-interface
8941 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
8942
8943(define-public ecl-cl-ana.gnuplot-interface
8944 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
8945
8946(define-public sbcl-cl-ana.plotting
8947 (package
8948 (inherit sbcl-cl-ana-boot0)
8949 (name "sbcl-cl-ana.plotting")
8950 (inputs
8951 `(("alexandria" ,sbcl-alexandria)
8952 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8953 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8954 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8955 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
8956 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8957 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8958 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8959 ("cl-ana.map" ,sbcl-cl-ana.map)
8960 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8961 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8962 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8963 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8964 ("external-program" ,sbcl-external-program)
8965 ("split-sequence" ,sbcl-split-sequence)))
8966 (arguments
8967 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8968 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
8969 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
8970
8971(define-public cl-ana.plotting
8972 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
8973
8974(define-public sbcl-cl-ana.table-viewing
8975 (package
8976 (inherit sbcl-cl-ana-boot0)
8977 (name "sbcl-cl-ana.table-viewing")
8978 (inputs
8979 `(("alexandria" ,sbcl-alexandria)
8980 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8981 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
8982 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8983 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
8984 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8985 ("cl-ana.table" ,sbcl-cl-ana.table)))
8986 (arguments
8987 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8988 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
8989 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
8990
8991(define-public cl-ana.table-viewing
8992 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
8993
8994(define-public sbcl-cl-ana.serialization
8995 (package
8996 (inherit sbcl-cl-ana-boot0)
8997 (name "sbcl-cl-ana.serialization")
8998 (inputs
8999 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9000 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9001 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9002 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9003 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9004 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9005 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9006 (arguments
9007 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9008 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9009 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9010
9011(define-public cl-ana.serialization
9012 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9013
9014(define-public sbcl-cl-ana.makeres
9015 (package
9016 (inherit sbcl-cl-ana-boot0)
9017 (name "sbcl-cl-ana.makeres")
9018 (inputs
9019 `(("alexandria" ,sbcl-alexandria)
9020 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9021 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9022 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9023 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9024 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9025 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9026 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9027 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9028 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9029 ("cl-ana.map" ,sbcl-cl-ana.map)
9030 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9031 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9032 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9033 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9034 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9035 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9036 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9037 ("cl-ana.table" ,sbcl-cl-ana.table)
9038 ("external-program" ,sbcl-external-program)))
9039 (native-inputs
9040 `(("cl-fad" ,sbcl-cl-fad)))
9041 (arguments
9042 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9043 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9044 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9045
9046(define-public cl-ana.makeres
9047 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9048
9049(define-public sbcl-cl-ana.makeres-macro
9050 (package
9051 (inherit sbcl-cl-ana-boot0)
9052 (name "sbcl-cl-ana.makeres-macro")
9053 (inputs
9054 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9055 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9056 (arguments
9057 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9058 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9059 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9060
9061(define-public cl-ana.makeres-macro
9062 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9063
9064(define-public sbcl-cl-ana.makeres-block
9065 (package
9066 (inherit sbcl-cl-ana-boot0)
9067 (name "sbcl-cl-ana.makeres-block")
9068 (inputs
9069 `(("alexandria" ,sbcl-alexandria)
9070 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9071 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9072 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9073 (arguments
9074 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9075 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9076 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9077
9078(define-public cl-ana.makeres-block
9079 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9080
9081(define-public sbcl-cl-ana.makeres-progress
9082 (package
9083 (inherit sbcl-cl-ana-boot0)
9084 (name "sbcl-cl-ana.makeres-progress")
9085 (inputs
9086 `(("alexandria" ,sbcl-alexandria)
9087 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9088 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9089 (arguments
9090 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9091 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9092 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9093
9094(define-public cl-ana.makeres-progress
9095 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9096
9097(define-public sbcl-cl-ana.makeres-table
9098 (package
9099 (inherit sbcl-cl-ana-boot0)
9100 (name "sbcl-cl-ana.makeres-table")
9101 (inputs
9102 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9103 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9104 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9105 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9106 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9107 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9108 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9109 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9110 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9111 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9112 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9113 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9114 ("cl-ana.table" ,sbcl-cl-ana.table)))
9115 (native-inputs
9116 `(("cl-fad" ,sbcl-cl-fad)))
9117 (arguments
9118 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9119 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9120 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9121
9122(define-public cl-ana.makeres-table
9123 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9124
9125(define-public sbcl-cl-ana.makeres-graphviz
9126 (package
9127 (inherit sbcl-cl-ana-boot0)
9128 (name "sbcl-cl-ana.makeres-graphviz")
9129 (inputs
9130 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9131 ("external-program" ,sbcl-external-program)))
9132 (arguments
9133 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9134 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9135 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9136
9137(define-public cl-ana.makeres-graphviz
9138 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9139
9140(define-public sbcl-cl-ana.makeres-branch
9141 (package
9142 (inherit sbcl-cl-ana-boot0)
9143 (name "sbcl-cl-ana.makeres-branch")
9144 (inputs
9145 `(("alexandria" ,sbcl-alexandria)
9146 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9147 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9148 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9149 ("cl-ana.map" ,sbcl-cl-ana.map)
9150 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9151 (arguments
9152 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9153 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9154 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9155
9156(define-public cl-ana.makeres-branch
9157 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9158
9159(define-public sbcl-cl-ana.makeres-utils
9160 (package
9161 (inherit sbcl-cl-ana-boot0)
9162 (name "sbcl-cl-ana.makeres-utils")
9163 (inputs
9164 `(("alexandria" ,sbcl-alexandria)
9165 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9166 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9167 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9168 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9169 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9170 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9171 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9172 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9173 ("cl-ana.map" ,sbcl-cl-ana.map)
9174 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9175 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9176 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9177 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9178 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9179 ("cl-ana.table" ,sbcl-cl-ana.table)))
9180 (native-inputs
9181 `(("cl-fad" ,sbcl-cl-fad)))
9182 (arguments
9183 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9184 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9185 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9186
9187(define-public cl-ana.makeres-utils
9188 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9189
9190(define-public sbcl-cl-ana.statistical-learning
9191 (package
9192 (inherit sbcl-cl-ana-boot0)
9193 (name "sbcl-cl-ana.statistical-learning")
9194 (inputs
9195 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9196 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9197 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9198 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9199 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9200 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9201 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9202 ("cl-ana.map" ,sbcl-cl-ana.map)
9203 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9204 (native-inputs
9205 `(("cl-fad" ,sbcl-cl-fad)))
9206 (arguments
9207 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9208 ((#:asd-file _ "")
9209 "statistical-learning/cl-ana.statistical-learning.asd")
9210 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9211
9212(define-public cl-ana.statistical-learning
9213 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9214
9215(define-public sbcl-cl-ana
9216 (package
9217 (inherit sbcl-cl-ana-boot0)
9218 (name "sbcl-cl-ana")
9219 (inputs
9220 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9221 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9222 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9223 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9224 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9225 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9226 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9227 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9228 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9229 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9230 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9231 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9232 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9233 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9234 ("cl-ana.map" ,sbcl-cl-ana.map)
9235 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9236 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9237 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9238 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9239 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9240 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9241 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9242 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9243 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9244 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9245 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9246 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9247 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9248 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9249 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9250 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9251 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9252 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9253 ("cl-ana.table" ,sbcl-cl-ana.table)
9254 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9255 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9256 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9257 ("libffi" ,libffi)))
9258 (native-inputs
9259 `(("cl-fad" ,sbcl-cl-fad)))
9260 (arguments
9261 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9262 ((#:asd-file _ "") "cl-ana.asd")
9263 ((#:asd-system-name _ #f) "cl-ana")))))
9264
9265(define-public cl-ana
9266 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9267
9268(define-public sbcl-archive
9269 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9270 (revision "1"))
9271 (package
9272 (name "sbcl-archive")
9273 (version (git-version "0.9" revision commit))
9274 (source (origin
9275 (method git-fetch)
9276 (uri (git-reference
9277 (url "https://github.com/sharplispers/archive.git")
9278 (commit commit)))
9279 (file-name (git-file-name name version))
9280 (sha256
9281 (base32
9282 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9283 (build-system asdf-build-system/sbcl)
9284 (inputs
9285 `(("cl-fad" ,sbcl-cl-fad)
9286 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9287 (synopsis "Common Lisp library for tar and cpio archives")
9288 (description
9289 "This is a Common Lisp library to read and write disk-based file
9290archives such as those generated by the tar and cpio programs on Unix.")
9291 (home-page "https://github.com/sharplispers/archive")
9292 (license license:bsd-3))))
9293
9294(define-public cl-archive
9295 (sbcl-package->cl-source-package sbcl-archive))
9296
9297(define-public ecl-archive
9298 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9299
9300(define-public sbcl-misc-extensions
9301 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9302 (revision "1"))
9303 (package
9304 (name "sbcl-misc-extensions")
9305 (version (git-version "3.3" revision commit))
9306 (source
9307 (origin
9308 (method git-fetch)
9309 (uri (git-reference
9310 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9311 (commit commit)))
9312 (file-name (git-file-name name version))
9313 (sha256
9314 (base32
9315 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9316 (build-system asdf-build-system/sbcl)
9317 (synopsis "Collection of small macros and extensions for Common Lisp")
9318 (description
9319 "This project is intended as a catchall for small, general-purpose
9320extensions to Common Lisp. It contains:
9321
9322@itemize
9323@item @code{new-let}, a macro that combines and generalizes @code{let},
9324@code{let*} and @code{multiple-value-bind},
9325@item @code{gmap}, an iteration macro that generalizes @code{map}.
9326@end itemize\n")
9327 (home-page "https://common-lisp.net/project/misc-extensions/")
9328 (license license:public-domain))))
9329
9330(define-public cl-misc-extensions
9331 (sbcl-package->cl-source-package sbcl-misc-extensions))
9332
9333(define-public ecl-misc-extensions
9334 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9335
9336(define-public sbcl-mt19937
9337 (package
9338 (name "sbcl-mt19937")
9339 (version "1.1")
9340 (source
9341 (origin
9342 (method url-fetch)
9343 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9344 "mt19937-latest.tar.gz"))
9345 (sha256
9346 (base32
9347 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9348 (build-system asdf-build-system/sbcl)
9349 (synopsis "Mersenne Twister pseudo-random number generator")
9350 (description
9351 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9352for Common Lisp.")
9353 (home-page "https://www.cliki.net/mt19937")
9354 (license license:public-domain)))
9355
9356(define-public cl-mt19937
9357 (sbcl-package->cl-source-package sbcl-mt19937))
9358
9359(define-public ecl-mt19937
9360 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9361
9362(define-public sbcl-fset
9363 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9364 (revision "1"))
9365 (package
9366 (name "sbcl-fset")
9367 (version (git-version "1.3.2" revision commit))
9368 (source
9369 (origin
9370 (method git-fetch)
9371 (uri (git-reference
9372 (url "https://github.com/slburson/fset")
9373 (commit commit)))
9374 (file-name (git-file-name name version))
9375 (sha256
9376 (base32
9377 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9378 (snippet '(begin
9379 ;; Remove obsolete copy of system definition.
9380 (delete-file "Code/fset.asd")
9381 #t))))
9382 (build-system asdf-build-system/sbcl)
9383 (inputs
9384 `(("misc-extensions" ,sbcl-misc-extensions)
9385 ("mt19937" ,sbcl-mt19937)
9386 ("named-readtables" ,sbcl-named-readtables)))
9387 (synopsis "Functional set-theoretic collections library")
9388 (description
9389 "FSet is a functional set-theoretic collections library for Common Lisp.
9390Functional means that all update operations return a new collection rather than
9391modifying an existing one in place. Set-theoretic means that collections may
9392be nested arbitrarily with no additional programmer effort; for instance, sets
9393may contain sets, maps may be keyed by sets, etc.")
9394 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9395 (license license:llgpl))))
9396
9397(define-public cl-fset
9398 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9399
9400(define-public sbcl-cl-cont
9401 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9402 (revision "1"))
9403 (package
9404 (name "sbcl-cl-cont")
9405 (version (git-version "0.3.8" revision commit))
9406 (source
9407 (origin
9408 (method git-fetch)
9409 (uri (git-reference
9410 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9411 (commit commit)))
9412 (file-name (git-file-name name version))
9413 (sha256
9414 (base32
9415 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9416 (build-system asdf-build-system/sbcl)
9417 (inputs
9418 `(("alexandria" ,sbcl-alexandria)
9419 ("closer-mop" ,sbcl-closer-mop)))
9420 (native-inputs
9421 `(("rt" ,sbcl-rt)))
9422 (synopsis "Delimited continuations for Common Lisp")
9423 (description
9424 "This is a library that implements delimited continuations by
9425transforming Common Lisp code to continuation passing style.")
9426 (home-page "https://common-lisp.net/project/cl-cont/")
9427 (license license:llgpl))))
9428
9429(define-public cl-cont
9430 (sbcl-package->cl-source-package sbcl-cl-cont))
9431
9432(define-public ecl-cl-cont
9433 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9434
9435(define-public sbcl-cl-coroutine
9436 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9437 (revision "1"))
9438 (package
9439 (name "sbcl-cl-coroutine")
9440 (version (git-version "0.1" revision commit))
9441 (source
9442 (origin
9443 (method git-fetch)
9444 (uri (git-reference
9445 (url "https://github.com/takagi/cl-coroutine.git")
9446 (commit commit)))
9447 (file-name (git-file-name name version))
9448 (sha256
9449 (base32
9450 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9451 (build-system asdf-build-system/sbcl)
9452 (inputs
9453 `(("alexandria" ,sbcl-alexandria)
9454 ("cl-cont" ,sbcl-cl-cont)))
9455 (native-inputs
9456 `(("prove" ,sbcl-prove)))
9457 (arguments
9458 `(;; TODO: Fix the tests. They fail with:
9459 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9460 #:tests? #f
9461 #:phases
9462 (modify-phases %standard-phases
9463 (add-after 'unpack 'fix-tests
9464 (lambda _
9465 (substitute* "cl-coroutine-test.asd"
9466 (("cl-test-more")
9467 "prove"))
9468 #t)))))
9469 (synopsis "Coroutine library for Common Lisp")
9470 (description
9471 "This is a coroutine library for Common Lisp implemented using the
9472continuations of the @code{cl-cont} library.")
9473 (home-page "https://github.com/takagi/cl-coroutine")
9474 (license license:llgpl))))
9475
9476(define-public cl-coroutine
9477 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9478
9479(define-public ecl-cl-coroutine
9480 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9481
9482(define-public sbcl-vom
9483 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9484 (revision "1"))
9485 (package
9486 (name "sbcl-vom")
9487 (version (git-version "0.1.4" revision commit))
9488 (source
9489 (origin
9490 (method git-fetch)
9491 (uri (git-reference
9492 (url "https://github.com/orthecreedence/vom.git")
9493 (commit commit)))
9494 (file-name (git-file-name name version))
9495 (sha256
9496 (base32
9497 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9498 (build-system asdf-build-system/sbcl)
9499 (synopsis "Tiny logging utility for Common Lisp")
9500 (description
9501 "Vom is a logging library for Common Lisp. It's goal is to be useful
9502and small. It does not provide a lot of features as other loggers do, but
9503has a small codebase that's easy to understand and use.")
9504 (home-page "https://github.com/orthecreedence/vom")
9505 (license license:expat))))
9506
9507(define-public cl-vom
9508 (sbcl-package->cl-source-package sbcl-vom))
9509
9510(define-public ecl-vom
9511 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9512
9513(define-public sbcl-cl-libuv
9514 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9515 (revision "1"))
9516 (package
9517 (name "sbcl-cl-libuv")
9518 (version (git-version "0.1.6" revision commit))
9519 (source
9520 (origin
9521 (method git-fetch)
9522 (uri (git-reference
9523 (url "https://github.com/orthecreedence/cl-libuv.git")
9524 (commit commit)))
9525 (file-name (git-file-name name version))
9526 (sha256
9527 (base32
9528 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9529 (build-system asdf-build-system/sbcl)
9530 (inputs
9531 `(("alexandria" ,sbcl-alexandria)
9532 ("cffi" ,sbcl-cffi)
9533 ("cffi-grovel" ,sbcl-cffi-grovel)
9534 ("libuv" ,libuv)))
9535 (arguments
9536 `(#:phases
9537 (modify-phases %standard-phases
9538 (add-after 'unpack 'fix-paths
9539 (lambda* (#:key inputs #:allow-other-keys)
9540 (substitute* "lib.lisp"
9541 (("/usr/lib/libuv.so")
9542 (string-append (assoc-ref inputs "libuv")
9543 "/lib/libuv.so")))
9544 #t))
9545 (add-after 'fix-paths 'fix-system-definition
9546 (lambda _
9547 (substitute* "cl-libuv.asd"
9548 (("#:cffi #:alexandria")
9549 "#:cffi #:cffi-grovel #:alexandria"))
9550 #t)))))
9551 (synopsis "Common Lisp bindings to libuv")
9552 (description
9553 "This library provides low-level libuv bindings for Common Lisp.")
9554 (home-page "https://github.com/orthecreedence/cl-libuv")
9555 (license license:expat))))
9556
9557(define-public cl-libuv
9558 (sbcl-package->cl-source-package sbcl-cl-libuv))
9559
9560(define-public ecl-cl-libuv
9561 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9562
9563(define-public sbcl-cl-async-base
9564 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9565 (revision "1"))
9566 (package
9567 (name "sbcl-cl-async-base")
9568 (version (git-version "0.6.1" revision commit))
9569 (source
9570 (origin
9571 (method git-fetch)
9572 (uri (git-reference
9573 (url "https://github.com/orthecreedence/cl-async.git")
9574 (commit commit)))
9575 (file-name (git-file-name name version))
9576 (sha256
9577 (base32
9578 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9579 (build-system asdf-build-system/sbcl)
9580 (inputs
9581 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9582 ("cffi" ,sbcl-cffi)
9583 ("cl-libuv" ,sbcl-cl-libuv)))
9584 (arguments
9585 `(#:asd-file "cl-async.asd"))
9586 (synopsis "Base system for cl-async")
9587 (description
9588 "Cl-async is a library for general purpose, non-blocking programming in
9589Common Lisp. It uses the libuv library as backend.")
9590 (home-page "https://orthecreedence.github.io/cl-async/")
9591 (license license:expat))))
9592
9593(define-public cl-async-base
9594 (sbcl-package->cl-source-package sbcl-cl-async-base))
9595
9596(define-public ecl-cl-async-base
9597 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9598
9599(define-public sbcl-cl-async-util
9600 (package
9601 (inherit sbcl-cl-async-base)
9602 (name "sbcl-cl-async-util")
9603 (inputs
24de1f5a
GLV
9604 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9605 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9606 ("cl-async-base" ,sbcl-cl-async-base)
9607 ("cl-libuv" ,sbcl-cl-libuv)
9608 ("cl-ppcre" ,sbcl-cl-ppcre)
9609 ("fast-io" ,sbcl-fast-io)
9610 ("vom" ,sbcl-vom)))
9611 (synopsis "Internal utilities for cl-async")))
9612
9613(define-public cl-async-util
9614 (sbcl-package->cl-source-package sbcl-cl-async-util))
9615
9616(define-public ecl-cl-async-util
9617 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9618
9619(define-public sbcl-cl-async
9620 (package
9621 (inherit sbcl-cl-async-base)
9622 (name "sbcl-cl-async")
9623 (inputs
9624 `(("babel" ,sbcl-babel)
9625 ("cffi" ,sbcl-cffi)
9626 ("cl-async-base" ,sbcl-cl-async-base)
9627 ("cl-async-util" ,sbcl-cl-async-util)
9628 ("cl-libuv" ,sbcl-cl-libuv)
9629 ("cl-ppcre" ,sbcl-cl-ppcre)
9630 ("static-vectors" ,sbcl-static-vectors)
9631 ("trivial-features" ,sbcl-trivial-features)
9632 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9633 (synopsis "Asynchronous operations for Common Lisp")))
9634
9635(define-public cl-async
9636 (sbcl-package->cl-source-package sbcl-cl-async))
9637
9638(define-public ecl-cl-async
9639 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9640
9641(define-public sbcl-cl-async-repl
9642 (package
9643 (inherit sbcl-cl-async-base)
9644 (name "sbcl-cl-async-repl")
9645 (inputs
9646 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9647 ("cl-async" ,sbcl-cl-async)))
9648 (arguments
9649 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9650 ((#:asd-file _ "") "cl-async-repl.asd")))
9651 (synopsis "REPL integration for cl-async")))
9652
9653(define-public cl-async-repl
9654 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9655
9656(define-public ecl-cl-async-repl
9657 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9658
9659(define-public sbcl-cl-async-ssl
9660 (package
9661 (inherit sbcl-cl-async-base)
9662 (name "sbcl-cl-async-ssl")
9663 (inputs
9664 `(("cffi" ,sbcl-cffi)
9665 ("cl-async" ,sbcl-cl-async)
9666 ("openssl" ,openssl)
9667 ("vom" ,sbcl-vom)))
9668 (arguments
9669 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9670 ((#:asd-file _ "") "cl-async-ssl.asd")
9671 ((#:phases phases '%standard-phases)
9672 `(modify-phases ,phases
9673 (add-after 'unpack 'fix-paths
9674 (lambda* (#:key inputs #:allow-other-keys)
9675 (substitute* "src/ssl/package.lisp"
9676 (("libcrypto\\.so")
9677 (string-append (assoc-ref inputs "openssl")
9678 "/lib/libcrypto.so"))
9679 (("libssl\\.so")
9680 (string-append (assoc-ref inputs "openssl")
9681 "/lib/libssl.so")))
9682 #t))))))
9683 (synopsis "SSL wrapper around cl-async socket implementation")))
9684
9685(define-public cl-async-ssl
9686 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9687
9688(define-public ecl-cl-async-ssl
9689 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9690
9691(define-public sbcl-blackbird
9692 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9693 (revision "1"))
9694 (package
9695 (name "sbcl-blackbird")
9696 (version (git-version "0.5.2" revision commit))
9697 (source
9698 (origin
9699 (method git-fetch)
9700 (uri (git-reference
9701 (url "https://github.com/orthecreedence/blackbird.git")
9702 (commit commit)))
9703 (file-name (git-file-name name version))
9704 (sha256
9705 (base32
9706 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9707 (build-system asdf-build-system/sbcl)
9708 (inputs
9709 `(("vom" ,sbcl-vom)))
9710 (native-inputs
9711 `(("cl-async" ,sbcl-cl-async)
9712 ("fiveam" ,sbcl-fiveam)))
9713 (synopsis "Promise implementation for Common Lisp")
9714 (description
9715 "This is a standalone promise implementation for Common Lisp. It is
9716the successor to the now-deprecated cl-async-future project.")
e0318062 9717 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9718 (license license:expat))))
9719
9720(define-public cl-blackbird
9721 (sbcl-package->cl-source-package sbcl-blackbird))
9722
9723(define-public ecl-blackbird
9724 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9725
9726(define-public sbcl-cl-async-future
9727 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9728 (revision "1"))
9729 (package
9730 (name "sbcl-cl-async-future")
9731 (version (git-version "0.4.4.1" revision commit))
9732 (source
9733 (origin
9734 (method git-fetch)
9735 (uri (git-reference
9736 (url "https://github.com/orthecreedence/cl-async-future.git")
9737 (commit commit)))
9738 (file-name (git-file-name name version))
9739 (sha256
9740 (base32
9741 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9742 (build-system asdf-build-system/sbcl)
9743 (inputs
9744 `(("blackbird" ,sbcl-blackbird)))
9745 (native-inputs
9746 `(("cl-async" ,sbcl-cl-async)
9747 ("eos" ,sbcl-eos)))
9748 (synopsis "Futures implementation for Common Lisp")
9749 (description
9750 "This is futures implementation for Common Lisp. It plugs in nicely
9751to cl-async.")
e0318062 9752 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9753 (license license:expat))))
9754
9755(define-public cl-async-future
9756 (sbcl-package->cl-source-package sbcl-cl-async-future))
9757
9758(define-public ecl-cl-async-future
9759 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9760
9761(define-public sbcl-green-threads
9762 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9763 (revision "1"))
9764 (package
9765 (name "sbcl-green-threads")
9766 (version (git-version "0.3" revision commit))
9767 (source
9768 (origin
9769 (method git-fetch)
9770 (uri (git-reference
9771 (url "https://github.com/thezerobit/green-threads.git")
9772 (commit commit)))
9773 (file-name (git-file-name name version))
9774 (sha256
9775 (base32
9776 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9777 (build-system asdf-build-system/sbcl)
9778 (inputs
9779 `(("cl-async-future" ,sbcl-cl-async-future)
9780 ("cl-cont" ,sbcl-cl-cont)))
9781 (native-inputs
9782 `(("prove" ,sbcl-prove)))
9783 (arguments
9784 `(;; TODO: Fix the tests. They fail with:
9785 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9786 #:tests? #f
9787 #:phases
9788 (modify-phases %standard-phases
9789 (add-after 'unpack 'fix-tests
9790 (lambda _
9791 (substitute* "green-threads-test.asd"
9792 (("cl-test-more")
9793 "prove"))
9794 #t)))))
9795 (synopsis "Cooperative multitasking library for Common Lisp")
9796 (description
9797 "This library allows for cooperative multitasking with help of cl-cont
9798for continuations. It tries to mimic the API of bordeaux-threads as much as
9799possible.")
9800 (home-page "https://github.com/thezerobit/green-threads")
9801 (license license:bsd-3))))
9802
9803(define-public cl-green-threads
9804 (sbcl-package->cl-source-package sbcl-green-threads))
9805
9806(define-public ecl-green-threads
9807 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9808
9809(define-public sbcl-cl-base32
9810 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9811 (revision "1"))
9812 (package
9813 (name "sbcl-cl-base32")
9814 (version (git-version "0.1" revision commit))
9815 (source
9816 (origin
9817 (method git-fetch)
9818 (uri (git-reference
9819 (url "https://github.com/hargettp/cl-base32.git")
9820 (commit commit)))
9821 (file-name (git-file-name name version))
9822 (sha256
9823 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9824 (build-system asdf-build-system/sbcl)
9825 (native-inputs
9826 `(("lisp-unit" ,sbcl-lisp-unit)))
9827 (synopsis "Common Lisp library for base32 encoding and decoding")
9828 (description
9829 "This package provides functions for base32 encoding and decoding as
9830defined in RFC4648.")
9831 (home-page "https://github.com/hargettp/cl-base32")
9832 (license license:expat))))
9833
9834(define-public cl-base32
9835 (sbcl-package->cl-source-package sbcl-cl-base32))
9836
9837(define-public ecl-cl-base32
9838 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9839
9840(define-public sbcl-cl-z85
9841 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9842 (revision "1"))
9843 (package
9844 (name "sbcl-cl-z85")
9845 (version (git-version "1.0" revision commit))
9846 (source
9847 (origin
9848 (method git-fetch)
9849 (uri (git-reference
9850 (url "https://github.com/glv2/cl-z85.git")
9851 (commit commit)))
9852 (file-name (git-file-name name version))
9853 (sha256
9854 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9855 (build-system asdf-build-system/sbcl)
9856 (native-inputs
9857 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9858 ("fiveam" ,sbcl-fiveam)))
9859 (synopsis "Common Lisp library for Z85 encoding and decoding")
9860 (description
9861 "This package provides functions to encode or decode byte vectors or
9862byte streams using the Z85 format, which is a base-85 encoding used by
9863ZeroMQ.")
9864 (home-page "https://github.com/glv2/cl-z85")
9865 (license license:gpl3+))))
9866
9867(define-public cl-z85
9868 (sbcl-package->cl-source-package sbcl-cl-z85))
9869
9870(define-public ecl-cl-z85
9871 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9872
9873(define-public sbcl-ltk
9874 (package
9875 (name "sbcl-ltk")
9876 (version "0.992")
9877 (source
9878 (origin
9879 (method git-fetch)
9880 (uri (git-reference
9881 (url "https://github.com/herth/ltk.git")
9882 (commit version)))
9883 (file-name (git-file-name name version))
9884 (sha256
9885 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9886 (build-system asdf-build-system/sbcl)
9887 (inputs
9888 `(("imagemagick" ,imagemagick)
9889 ("tk" ,tk)))
9890 (arguments
9891 `(#:asd-file "ltk/ltk.asd"
9892 #:tests? #f
9893 #:phases (modify-phases %standard-phases
9894 (add-after 'unpack 'fix-paths
9895 (lambda* (#:key inputs #:allow-other-keys)
9896 (substitute* "ltk/ltk.lisp"
9897 (("#-freebsd \"wish\"")
9898 (string-append "#-freebsd \""
9899 (assoc-ref inputs "tk")
9900 "/bin/wish\""))
9901 (("do-execute \"convert\"")
9902 (string-append "do-execute \""
9903 (assoc-ref inputs "imagemagick")
9904 "/bin/convert\"")))
9905 #t)))))
9906 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
9907 (description
9908 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
9909in pure Common Lisp and does not require any Tk knowledge for its usage.")
9910 (home-page "http://www.peter-herth.de/ltk/")
9911 (license license:llgpl)))
9912
9913(define-public cl-ltk
9914 (sbcl-package->cl-source-package sbcl-ltk))
9915
9916(define-public ecl-ltk
9917 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
9918
9919(define-public sbcl-ltk-mw
9920 (package
9921 (inherit sbcl-ltk)
9922 (name "sbcl-ltk-mw")
9923 (inputs
9924 `(("ltk" ,sbcl-ltk)))
9925 (arguments
9926 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9927 ((#:asd-file _) "ltk/ltk-mw.asd")
9928 ((#:phases _) '%standard-phases)))
9929 (synopsis "Extra widgets for LTK")
9930 (description
9931 "This is a collection of higher-level widgets built on top of LTK.")))
9932
9933(define-public cl-ltk-mw
9934 (sbcl-package->cl-source-package sbcl-ltk-mw))
9935
9936(define-public ecl-ltk-mw
9937 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
9938
9939(define-public sbcl-ltk-remote
9940 (package
9941 (inherit sbcl-ltk)
9942 (name "sbcl-ltk-remote")
9943 (inputs
9944 `(("ltk" ,sbcl-ltk)))
9945 (arguments
9946 (substitute-keyword-arguments (package-arguments sbcl-ltk)
9947 ((#:asd-file _) "ltk/ltk-remote.asd")
9948 ((#:phases _) '%standard-phases)))
9949 (synopsis "Remote GUI support for LTK")
9950 (description
9951 "This LTK extension allows the GUI to be displayed on a computer different
9952from the one running the Lisp program by using a TCP connection.")))
9953
9954(define-public cl-ltk-remote
9955 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
9956
9957(define-public sbcl-cl-lex
9958 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
9959 (revision "1"))
9960 (package
9961 (name "sbcl-cl-lex")
9962 (version (git-version "1.1.3" revision commit))
9963 (source
9964 (origin
9965 (method git-fetch)
9966 (uri (git-reference
9967 (url "https://github.com/djr7C4/cl-lex.git")
9968 (commit commit)))
9969 (file-name (git-file-name name version))
9970 (sha256
9971 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
9972 (build-system asdf-build-system/sbcl)
9973 (inputs
9974 `(("cl-ppcre" ,sbcl-cl-ppcre)))
9975 (synopsis "Common Lisp macros for generating lexical analyzers")
9976 (description
9977 "This is a Common Lisp library providing a set of macros for generating
9978lexical analyzers automatically. The lexers generated using @code{cl-lex} can
9979be used with @code{cl-yacc}.")
9980 (home-page "https://github.com/djr7C4/cl-lex")
9981 (license license:gpl3))))
9982
9983(define-public cl-lex
9984 (sbcl-package->cl-source-package sbcl-cl-lex))
9985
9986(define-public ecl-cl-lex
9987 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
9988
9989(define-public sbcl-clunit2
9990 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
9991 (revision "1"))
9992 (package
9993 (name "sbcl-clunit2")
9994 (version (git-version "0.2.4" revision commit))
9995 (source
9996 (origin
9997 (method git-fetch)
9998 (uri (git-reference
9999 (url "https://notabug.org/cage/clunit2.git")
10000 (commit commit)))
10001 (file-name (git-file-name name version))
10002 (sha256
10003 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10004 (build-system asdf-build-system/sbcl)
10005 (synopsis "Unit testing framework for Common Lisp")
10006 (description
10007 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10008easy to use so that you can quickly start testing.")
10009 (home-page "https://notabug.org/cage/clunit2")
10010 (license license:expat))))
10011
10012(define-public cl-clunit2
10013 (sbcl-package->cl-source-package sbcl-clunit2))
10014
10015(define-public ecl-clunit2
10016 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10017
10018(define-public sbcl-cl-colors2
10019 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10020 (revision "1"))
10021 (package
10022 (name "sbcl-cl-colors2")
10023 (version (git-version "0.2.1" revision commit))
10024 (source
10025 (origin
10026 (method git-fetch)
10027 (uri (git-reference
10028 (url "https://notabug.org/cage/cl-colors2.git")
10029 (commit commit)))
10030 (file-name (git-file-name name version))
10031 (sha256
10032 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10033 (build-system asdf-build-system/sbcl)
10034 (native-inputs
10035 `(("clunit2" ,sbcl-clunit2)))
10036 (inputs
10037 `(("alexandria" ,sbcl-alexandria)
10038 ("cl-ppcre" ,sbcl-cl-ppcre)))
10039 (synopsis "Color library for Common Lisp")
10040 (description
10041 "This is a very simple color library for Common Lisp, providing:
10042
10043@itemize
10044@item Types for representing colors in HSV and RGB spaces.
10045@item Simple conversion functions between the above types (and also
10046hexadecimal representation for RGB).
10047@item Some predefined colors (currently X11 color names -- of course
10048the library does not depend on X11).
10049@end itemize\n")
10050 (home-page "https://notabug.org/cage/cl-colors2")
10051 (license license:boost1.0))))
10052
10053(define-public cl-colors2
10054 (sbcl-package->cl-source-package sbcl-cl-colors2))
10055
10056(define-public ecl-cl-colors2
10057 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10058
10059(define-public sbcl-cl-jpeg
10060 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10061 (revision "1"))
10062 (package
10063 (name "sbcl-cl-jpeg")
10064 (version (git-version "2.8" revision commit))
10065 (source
10066 (origin
10067 (method git-fetch)
10068 (uri (git-reference
10069 (url "https://github.com/sharplispers/cl-jpeg.git")
10070 (commit commit)))
10071 (file-name (git-file-name name version))
10072 (sha256
10073 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10074 (build-system asdf-build-system/sbcl)
10075 (synopsis "JPEG image library for Common Lisp")
10076 (description
10077 "This is a baseline JPEG codec written in Common Lisp. It can be used
10078for reading and writing JPEG image files.")
10079 (home-page "https://github.com/sharplispers/cl-jpeg")
10080 (license license:bsd-3))))
10081
10082(define-public cl-jpeg
10083 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10084
10085(define-public ecl-cl-jpeg
10086 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10087
10088(define-public sbcl-nodgui
10089 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10090 (revision "1"))
10091 (package
10092 (name "sbcl-nodgui")
10093 (version (git-version "0.0.5" revision commit))
10094 (source
10095 (origin
10096 (method git-fetch)
10097 (uri (git-reference
10098 (url "https://notabug.org/cage/nodgui.git")
10099 (commit commit)))
10100 (file-name (git-file-name name version))
10101 (sha256
10102 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10103 (build-system asdf-build-system/sbcl)
10104 (inputs
10105 `(("alexandria" ,sbcl-alexandria)
10106 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10107 ("cl-colors2" ,sbcl-cl-colors2)
10108 ("cl-jpeg" ,sbcl-cl-jpeg)
10109 ("cl-lex" ,sbcl-cl-lex)
10110 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10111 ("cl-unicode" ,sbcl-cl-unicode)
10112 ("cl-yacc" ,sbcl-cl-yacc)
10113 ("clunit2" ,sbcl-clunit2)
10114 ("named-readtables" ,sbcl-named-readtables)
10115 ("parse-number" ,sbcl-parse-number)
10116 ("tk" ,tk)))
10117 (arguments
10118 `(#:phases (modify-phases %standard-phases
10119 (add-after 'unpack 'fix-paths
10120 (lambda* (#:key inputs #:allow-other-keys)
10121 (substitute* "src/wish-communication.lisp"
10122 (("#-freebsd \"wish\"")
10123 (string-append "#-freebsd \""
10124 (assoc-ref inputs "tk")
10125 "/bin/wish\"")))
10126 #t)))))
10127 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10128 (description
10129 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10130toolkit. It also provides a few additional widgets more than the standard Tk
10131ones.")
10132 (home-page "https://www.autistici.org/interzona/nodgui.html")
10133 (license license:llgpl))))
10134
10135(define-public cl-nodgui
10136 (sbcl-package->cl-source-package sbcl-nodgui))
10137
10138(define-public ecl-nodgui
10139 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10140
10141(define-public sbcl-salza2
10142 (package
10143 (name "sbcl-salza2")
10144 (version "2.0.9")
10145 (source
10146 (origin
10147 (method git-fetch)
10148 (uri (git-reference
10149 (url "https://github.com/xach/salza2.git")
10150 (commit (string-append "release-" version))))
10151 (file-name (git-file-name name version))
10152 (sha256
10153 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10154 (build-system asdf-build-system/sbcl)
10155 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10156 (description
10157 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10158deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10159respectively.")
10160 (home-page "https://www.xach.com/lisp/salza2/")
10161 (license license:bsd-2)))
10162
10163(define-public cl-salza2
10164 (sbcl-package->cl-source-package sbcl-salza2))
10165
10166(define-public ecl-salza2
10167 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10168
10169(define-public sbcl-png-read
10170 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10171 (revision "1"))
10172 (package
10173 (name "sbcl-png-read")
10174 (version (git-version "0.3.1" revision commit))
10175 (source
10176 (origin
10177 (method git-fetch)
10178 (uri (git-reference
10179 (url "https://github.com/Ramarren/png-read.git")
10180 (commit commit)))
10181 (file-name (git-file-name name version))
10182 (sha256
10183 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10184 (build-system asdf-build-system/sbcl)
10185 (inputs
10186 `(("babel" ,sbcl-babel)
10187 ("chipz" ,sbcl-chipz)
10188 ("iterate" ,sbcl-iterate)))
10189 (synopsis "PNG decoder for Common Lisp")
10190 (description "This is a Common Lisp library for reading PNG images.")
10191 (home-page "https://github.com/Ramarren/png-read")
10192 (license license:bsd-3))))
10193
10194(define-public cl-png-read
10195 (sbcl-package->cl-source-package sbcl-png-read))
10196
10197(define-public ecl-png-read
10198 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10199
10200(define-public sbcl-zpng
10201 (package
10202 (name "sbcl-zpng")
10203 (version "1.2.2")
10204 (source
10205 (origin
10206 (method git-fetch)
10207 (uri (git-reference
10208 (url "https://github.com/xach/zpng.git")
10209 (commit (string-append "release-" version))))
10210 (file-name (git-file-name name version))
10211 (sha256
10212 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10213 (build-system asdf-build-system/sbcl)
10214 (inputs
10215 `(("salza2" ,sbcl-salza2)))
10216 (synopsis "PNG encoder for Common Lisp")
10217 (description "This is a Common Lisp library for creating PNG images.")
10218 (home-page "https://www.xach.com/lisp/zpng/")
10219 (license license:bsd-2)))
10220
10221(define-public cl-zpng
10222 (sbcl-package->cl-source-package sbcl-zpng))
10223
10224(define-public ecl-zpng
10225 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10226
10227(define-public sbcl-cl-qrencode
10228 (package
10229 (name "sbcl-cl-qrencode")
10230 (version "0.1.2")
10231 (source
10232 (origin
10233 (method git-fetch)
10234 (uri (git-reference
10235 (url "https://github.com/jnjcc/cl-qrencode.git")
10236 (commit (string-append "v" version))))
10237 (file-name (git-file-name name version))
10238 (sha256
10239 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10240 (build-system asdf-build-system/sbcl)
10241 (native-inputs
10242 `(("lisp-unit" ,sbcl-lisp-unit)))
10243 (inputs
10244 `(("zpng" ,sbcl-zpng)))
10245 (synopsis "QR code encoder for Common Lisp")
10246 (description
10247 "This Common Lisp library provides function to make QR codes and to save
10248them as PNG files.")
10249 (home-page "https://github.com/jnjcc/cl-qrencode")
10250 (license license:gpl2+)))
10251
10252(define-public cl-qrencode
10253 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10254
10255(define-public ecl-cl-qrencode
10256 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10257
10258(define-public sbcl-hdf5-cffi
10259 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10260 (revision "1"))
10261 (package
10262 (name "sbcl-hdf5-cffi")
10263 (version (git-version "1.8.18" revision commit))
10264 (source
10265 (origin
10266 (method git-fetch)
10267 (uri (git-reference
10268 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10269 (commit commit)))
10270 (file-name (git-file-name name version))
10271 (sha256
10272 (base32
10273 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10274 (build-system asdf-build-system/sbcl)
10275 (synopsis "Common Lisp bindings for the HDF5 library")
10276 (description
10277 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10278 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10279 (license (license:non-copyleft
10280 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10281 commit
10282 "/LICENSE")))
10283 (inputs
10284 `(("cffi" ,sbcl-cffi)
10285 ("cffi-grovel" ,sbcl-cffi-grovel)
10286 ("hdf5" ,hdf5-1.10)))
10287 (native-inputs
10288 `(("fiveam" ,sbcl-fiveam)))
10289 (arguments
10290 `(#:asd-system-name "hdf5-cffi"
10291 #:asd-file "hdf5-cffi.asd"
10292 #:test-asd-file "hdf5-cffi.test.asd"
10293 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10294 ;; I don't know if there is a way to tell asdf-build-system to load
10295 ;; an additional system first, so tests are disabled.
10296 #:tests? #f
10297 #:phases
10298 (modify-phases %standard-phases
10299 (add-after 'unpack 'fix-paths
10300 (lambda* (#:key inputs #:allow-other-keys)
10301 (substitute* "src/library.lisp"
10302 (("libhdf5.so")
10303 (string-append
10304 (assoc-ref inputs "hdf5")
10305 "/lib/libhdf5.so")))))
10306 (add-after 'unpack 'fix-dependencies
10307 (lambda* (#:key inputs #:allow-other-keys)
10308 (substitute* "hdf5-cffi.asd"
10309 ((":depends-on \\(:cffi\\)")
10310 ":depends-on (:cffi :cffi-grovel)"))
10311 (substitute* "hdf5-cffi.test.asd"
10312 ((":depends-on \\(:cffi :hdf5-cffi")
10313 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10314
10315(define-public cl-hdf5-cffi
10316 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10317
10318(define-public ecl-hdf5-cffi
10319 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10320
10321(define-public sbcl-cl-randist
10322 (package
10323 (name "sbcl-cl-randist")
10324 (version "0.4.2")
10325 (source
10326 (origin
10327 (method git-fetch)
10328 (uri (git-reference
10329 (url "https://github.com/lvaruzza/cl-randist.git")
10330 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10331 (file-name (git-file-name name version))
10332 (sha256
10333 (base32
10334 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10335 (build-system asdf-build-system/sbcl)
10336 (synopsis "Random distributions for Common Lisp")
10337 (description
10338 "Manual translation from C to Common Lisp of some random number
10339generation functions from the GSL library.")
10340 (home-page "https://github.com/lvaruzza/cl-randist")
10341 (license license:bsd-2)
10342 (arguments
10343 `(#:asd-system-name "cl-randist"
10344 #:asd-file "cl-randist.asd"
10345 #:tests? #f))))
10346
10347(define-public cl-randist
10348 (sbcl-package->cl-source-package sbcl-cl-randist))
10349
10350(define-public ecl-cl-randist
10351 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10352
10353(define-public sbcl-float-features
10354 (package
10355 (name "sbcl-float-features")
10356 (version "1.0.0")
10357 (source
10358 (origin
10359 (method git-fetch)
10360 (uri (git-reference
10361 (url "https://github.com/Shinmera/float-features.git")
10362 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10363 (file-name (git-file-name name version))
10364 (sha256
10365 (base32
10366 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10367 (build-system asdf-build-system/sbcl)
10368 (synopsis "Common Lisp IEEE float portability library")
10369 (description
10370 "Portability library for IEEE float features that are not
10371covered by the Common Lisp standard.")
10372 (home-page "https://github.com/Shinmera/float-features")
10373 (license license:zlib)
10374 (inputs
10375 `(("documentation-utils" ,sbcl-documentation-utils)))
10376 (arguments
10377 `(#:asd-system-name "float-features"
10378 #:asd-file "float-features.asd"
10379 #:tests? #f))))
10380
10381(define-public cl-float-features
10382 (sbcl-package->cl-source-package sbcl-float-features))
10383
10384(define-public ecl-float-features
10385 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10386
10387(define-public sbcl-function-cache
10388 (package
10389 (name "sbcl-function-cache")
10390 (version "1.0.3")
10391 (source
10392 (origin
10393 (method git-fetch)
10394 (uri (git-reference
10395 (url "https://github.com/AccelerationNet/function-cache.git")
10396 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10397 (file-name (git-file-name name version))
10398 (sha256
10399 (base32
10400 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10401 (build-system asdf-build-system/sbcl)
10402 (synopsis "Function caching / memoization library for Common Lisp")
10403 (description
10404 "A common lisp library that provides extensible function result
10405caching based on arguments (an expanded form of memoization).")
10406 (home-page "https://github.com/AccelerationNet/function-cache")
10407 (license
10408 (license:non-copyleft
10409 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10410 (inputs
10411 `(("alexandria" ,sbcl-alexandria)
10412 ("cl-interpol" ,sbcl-cl-interpol)
10413 ("iterate" ,sbcl-iterate)
10414 ("symbol-munger" ,sbcl-symbol-munger)
10415 ("closer-mop" ,sbcl-closer-mop)))
10416 (arguments
10417 `(#:asd-system-name "function-cache"
10418 #:asd-file "function-cache.asd"
10419 #:tests? #f))))
10420
10421(define-public cl-function-cache
10422 (sbcl-package->cl-source-package sbcl-function-cache))
10423
10424(define-public ecl-function-cache
10425 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10426
10427(define-public sbcl-type-r
10428 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10429 (revision "1"))
10430 (package
10431 (name "sbcl-type-r")
10432 (version (git-version "0.0.0" revision commit))
10433 (source
10434 (origin
10435 (method git-fetch)
10436 (uri (git-reference
10437 (url "https://github.com/guicho271828/type-r.git")
10438 (commit commit)))
10439 (file-name (git-file-name name version))
10440 (sha256
10441 (base32
10442 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10443 (build-system asdf-build-system/sbcl)
10444 (synopsis "Parser interface for Common Lisp built-in compound types")
10445 (description
10446 "Collections of accessor functions and patterns to access
10447the elements in compound type specifier, e.g. @code{dimensions} in
10448@code{(array element-type dimensions)}")
10449 (home-page "https://github.com/guicho271828/type-r")
10450 (license license:lgpl3+)
10451 (inputs
10452 `(("trivia" ,sbcl-trivia)
10453 ("alexandria" ,sbcl-alexandria)))
10454 (native-inputs
10455 `(("fiveam" ,sbcl-fiveam)))
10456 (arguments
10457 `(#:asd-system-name "type-r"
10458 #:asd-file "type-r.asd"
10459 #:test-asd-file "type-r.test.asd")))))
10460
10461(define-public cl-type-r
10462 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10463
10464(define-public sbcl-trivialib-type-unify
10465 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10466 (revision "1"))
10467 (package
10468 (name "sbcl-trivialib-type-unify")
10469 (version (git-version "0.1" revision commit))
10470 (source
10471 (origin
10472 (method git-fetch)
10473 (uri (git-reference
10474 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10475 (commit commit)))
10476 (file-name (git-file-name name version))
10477 (sha256
10478 (base32
10479 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10480 (build-system asdf-build-system/sbcl)
10481 (synopsis "Common Lisp type unification")
10482 (description
10483 "Unifies a parametrized type specifier against an actual type specifier.
10484Importantly, it handles complicated array-subtypes and number-related types
10485correctly.")
10486 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10487 (license license:lgpl3+)
10488 (inputs
10489 `(("alexandria" ,sbcl-alexandria)
10490 ("trivia" ,sbcl-trivia)
10491 ("introspect-environment" ,sbcl-introspect-environment)
10492 ("type-r" ,sbcl-type-r)))
10493 (native-inputs
10494 `(("fiveam" ,sbcl-fiveam)))
10495 (arguments
10496 `(#:asd-system-name "trivialib.type-unify"
10497 #:asd-file "trivialib.type-unify.asd"
10498 #:test-asd-file "trivialib.type-unify.test.asd")))))
10499
10500(define-public cl-trivialib-type-unify
10501 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10502
10503(define-public sbcl-specialized-function
10504 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10505 (revision "1"))
10506 (package
10507 (name "sbcl-specialized-function")
10508 (version (git-version "0.0.0" revision commit))
10509 (source
10510 (origin
10511 (method git-fetch)
10512 (uri (git-reference
10513 (url "https://github.com/numcl/specialized-function.git")
10514 (commit commit)))
10515 (file-name (git-file-name name version))
10516 (sha256
10517 (base32
10518 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10519 (build-system asdf-build-system/sbcl)
10520 (synopsis "Julia-like dispatch for Common Lisp")
10521 (description
10522 "This library is part of NUMCL. It provides a macro
10523@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10524lazily compiling a type-specific version of the function from the same
10525code. The main target of this macro is speed.")
10526 (home-page "https://github.com/numcl/specialized-function")
10527 (license license:lgpl3+)
10528 (inputs
10529 `(("trivia" ,sbcl-trivia)
10530 ("alexandria" ,sbcl-alexandria)
10531 ("iterate" ,sbcl-iterate)
10532 ("lisp-namespace" ,sbcl-lisp-namespace)
10533 ("type-r" ,sbcl-type-r)
10534 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10535 (native-inputs
10536 `(("fiveam" ,sbcl-fiveam)))
10537 (arguments
10538 `(#:asd-system-name "specialized-function"
10539 #:asd-file "specialized-function.asd"
10540 #:test-asd-file "specialized-function.test.asd")))))
10541
10542(define-public cl-specialized-function
10543 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10544
10545(define-public sbcl-constantfold
10546 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10547 (revision "1"))
10548 (package
10549 (name "sbcl-constantfold")
10550 (version (git-version "0.1" revision commit))
10551 (source
10552 (origin
10553 (method git-fetch)
10554 (uri (git-reference
10555 (url "https://github.com/numcl/constantfold.git")
10556 (commit commit)))
10557 (file-name (git-file-name name version))
10558 (sha256
10559 (base32
10560 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10561 (build-system asdf-build-system/sbcl)
10562 (synopsis "Support library for numcl")
10563 (description
10564 "Support library for numcl. Registers a function as an
10565additional form that is considered as a candidate for a constant.")
10566 (home-page "https://github.com/numcl/constantfold")
10567 (license license:lgpl3+)
10568 (inputs
10569 `(("trivia" ,sbcl-trivia)
10570 ("alexandria" ,sbcl-alexandria)
10571 ("iterate" ,sbcl-iterate)
10572 ("lisp-namespace" ,sbcl-lisp-namespace)))
10573 (native-inputs
10574 `(("fiveam" ,sbcl-fiveam)))
10575 (arguments
10576 `(#:asd-system-name "constantfold"
10577 #:asd-file "constantfold.asd"
10578 #:test-asd-file "constantfold.test.asd")))))
10579
10580(define-public cl-constantfold
10581 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10582
10583(define-public sbcl-gtype
10584 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10585 (revision "1"))
10586 (package
10587 (name "sbcl-gtype")
10588 (version (git-version "0.1" revision commit))
10589 (source
10590 (origin
10591 (method git-fetch)
10592 (uri (git-reference
10593 (url "https://github.com/numcl/gtype.git")
10594 (commit commit)))
10595 (file-name (git-file-name name version))
10596 (sha256
10597 (base32
10598 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10599 (build-system asdf-build-system/sbcl)
10600 (synopsis "C++/Julia-like parametric types in Common Lisp")
10601 (description
10602 "Support library for numcl that provides Julia-like runtime parametric
10603type correctness in Common Lisp. It is based on CLtL2 extensions.")
10604 (home-page "https://github.com/numcl/gtype")
10605 (license license:lgpl3+)
10606 (inputs
10607 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10608 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10609 ("trivia" ,sbcl-trivia)
10610 ("alexandria" ,sbcl-alexandria)
10611 ("iterate" ,sbcl-iterate)
10612 ("type-r" ,sbcl-type-r)))
10613 (native-inputs
10614 `(("fiveam" ,sbcl-fiveam)))
10615 (arguments
10616 `(#:asd-system-name "gtype"
10617 #:asd-file "gtype.asd"
10618 #:test-asd-file "gtype.test.asd")))))
10619
10620(define-public cl-gtype
10621 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10622
10623(define-public sbcl-numcl
10624 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10625 (revision "1"))
10626 (package
10627 (name "sbcl-numcl")
10628 (version (git-version "0.1.0" revision commit))
10629 (source
10630 (origin
10631 (method git-fetch)
10632 (uri (git-reference
10633 (url "https://github.com/numcl/numcl.git")
10634 (commit commit)))
10635 (file-name (git-file-name name version))
10636 (sha256
10637 (base32
10638 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10639 (build-system asdf-build-system/sbcl)
10640 (synopsis "Numpy clone in Common Lisp")
10641 (description
10642 "This is a Numpy clone in Common Lisp. At the moment the
10643library is written in pure Common Lisp, focusing more on correctness
10644and usefulness, not speed. Track the progress at
10645@url{https://github.com/numcl/numcl/projects/1}.")
10646 (home-page "https://github.com/numcl/numcl")
10647 (license license:lgpl3+)
10648 (inputs
10649 `(("trivia" ,sbcl-trivia)
10650 ("alexandria" ,sbcl-alexandria)
10651 ("iterate" ,sbcl-iterate)
10652 ("lisp-namespace" ,sbcl-lisp-namespace)
10653 ("type-r" ,sbcl-type-r)
10654 ("constantfold" ,sbcl-constantfold)
10655 ("cl-randist" ,sbcl-cl-randist)
10656 ("float-features" ,sbcl-float-features)
10657 ("function-cache" ,sbcl-function-cache)
10658 ("specialized-function" ,sbcl-specialized-function)
10659 ("gtype" ,sbcl-gtype)))
10660 (native-inputs
10661 `(("fiveam" ,sbcl-fiveam)))
10662 (arguments
10663 `(#:asd-system-name "numcl"
10664 #:asd-file "numcl.asd"
10665 #:test-asd-file "numcl.test.asd")))))
10666
10667(define-public cl-numcl
10668 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10669
10670(define-public sbcl-pzmq
10671 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10672 (revision "1"))
10673 (package
10674 (name "sbcl-pzmq")
10675 (version (git-version "0.0.0" revision commit))
10676 (source
10677 (origin
10678 (method git-fetch)
10679 (uri (git-reference
10680 (url "https://github.com/orivej/pzmq.git")
10681 (commit commit)))
10682 (file-name (git-file-name name version))
10683 (sha256
10684 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10685 (build-system asdf-build-system/sbcl)
10686 (native-inputs
10687 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10688 ("fiveam" ,sbcl-fiveam)
10689 ("let-plus" ,sbcl-let-plus)))
10690 (inputs
10691 `(("cffi" ,sbcl-cffi)
10692 ("cffi-grovel" ,sbcl-cffi-grovel)
10693 ("zeromq" ,zeromq)))
10694 (arguments
10695 `(#:phases (modify-phases %standard-phases
10696 (add-after 'unpack 'fix-paths
10697 (lambda* (#:key inputs #:allow-other-keys)
10698 (substitute* "c-api.lisp"
10699 (("\"libzmq")
10700 (string-append "\""
10701 (assoc-ref inputs "zeromq")
10702 "/lib/libzmq")))
10703 #t)))))
10704 (synopsis "Common Lisp bindings for the ZeroMQ library")
10705 (description "This Common Lisp library provides bindings for the ZeroMQ
10706lightweight messaging kernel.")
10707 (home-page "https://github.com/orivej/pzmq")
10708 (license license:unlicense))))
10709
10710(define-public cl-pzmq
10711 (sbcl-package->cl-source-package sbcl-pzmq))
10712
10713(define-public ecl-pzmq
10714 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10715
10716(define-public sbcl-clss
10717 (let ((revision "1")
10718 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10719 (package
10720 (name "sbcl-clss")
10721 (version (git-version "0.3.1" revision commit))
10722 (source
10723 (origin
10724 (method git-fetch)
10725 (uri
10726 (git-reference
10727 (url "https://github.com/Shinmera/clss.git")
10728 (commit commit)))
10729 (sha256
10730 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10731 (file-name (git-file-name name version))))
10732 (inputs
10733 `(("array-utils" ,sbcl-array-utils)
10734 ("plump" ,sbcl-plump)))
10735 (build-system asdf-build-system/sbcl)
10736 (synopsis "DOM tree searching engine based on CSS selectors")
10737 (description "CLSS is a DOM traversal engine based on CSS
10738selectors. It makes use of the Plump-DOM and is used by lQuery.")
10739 (home-page "https://github.com/Shinmera/clss")
10740 (license license:zlib))))
10741
10742(define-public cl-clss
10743 (sbcl-package->cl-source-package sbcl-clss))
10744
10745(define-public ecl-clss
10746 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10747
10748(define-public sbcl-lquery
10749 (let ((revision "1")
10750 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10751 (package
10752 (name "sbcl-lquery")
10753 (version (git-version "3.2.1" revision commit))
10754 (source
10755 (origin
10756 (method git-fetch)
10757 (uri
10758 (git-reference
10759 (url "https://github.com/Shinmera/lquery.git")
10760 (commit commit)))
10761 (sha256
10762 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10763 (file-name (git-file-name name version))))
10764 (native-inputs
10765 `(("fiveam" ,sbcl-fiveam)))
10766 (inputs
10767 `(("array-utils" ,sbcl-array-utils)
10768 ("form-fiddle" ,sbcl-form-fiddle)
10769 ("plump" ,sbcl-plump)
10770 ("clss" ,sbcl-clss)))
10771 (build-system asdf-build-system/sbcl)
10772 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10773 (description "@code{lQuery} is a DOM manipulation library written in
10774Common Lisp, inspired by and based on the jQuery syntax and
10775functions. It uses Plump and CLSS as DOM and selector engines. The
10776main idea behind lQuery is to provide a simple interface for crawling
10777and modifying HTML sites, as well as to allow for an alternative
10778approach to templating.")
10779 (home-page "https://github.com/Shinmera/lquery")
10780 (license license:zlib))))
10781
10782(define-public cl-lquery
10783 (sbcl-package->cl-source-package sbcl-lquery))
10784
10785(define-public ecl-lquery
10786 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10787
10788(define-public sbcl-cl-mysql
10789 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10790 (revision "1"))
10791 (package
10792 (name "sbcl-cl-mysql")
10793 (version (git-version "0.1" revision commit))
10794 (source
10795 (origin
10796 (method git-fetch)
10797 (uri (git-reference
10798 (url "https://github.com/hackinghat/cl-mysql.git")
10799 (commit commit)))
10800 (file-name (git-file-name name version))
10801 (sha256
10802 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10803 (build-system asdf-build-system/sbcl)
10804 (native-inputs
10805 `(("stefil" ,sbcl-stefil)))
10806 (inputs
10807 `(("cffi" ,sbcl-cffi)
10808 ("mariadb-lib" ,mariadb "lib")))
10809 (arguments
10810 `(#:tests? #f ; TODO: Tests require a running server
10811 #:phases
10812 (modify-phases %standard-phases
10813 (add-after 'unpack 'fix-paths
10814 (lambda* (#:key inputs #:allow-other-keys)
10815 (substitute* "system.lisp"
10816 (("libmysqlclient_r" all)
10817 (string-append (assoc-ref inputs "mariadb-lib")
10818 "/lib/"
10819 all)))
10820 #t)))))
10821 (synopsis "Common Lisp wrapper for MySQL")
10822 (description
10823 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10824 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10825 (license license:expat))))
10826
10827(define-public cl-mysql
10828 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10829
10830(define-public sbcl-simple-date
10831 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10832 (revision "1"))
10833 (package
10834 (name "sbcl-simple-date")
10835 (version (git-version "1.19" revision commit))
10836 (source
10837 (origin
10838 (method git-fetch)
10839 (uri (git-reference
10840 (url "https://github.com/marijnh/Postmodern.git")
10841 (commit commit)))
10842 (file-name (git-file-name name version))
10843 (sha256
10844 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10845 (build-system asdf-build-system/sbcl)
10846 (native-inputs
10847 `(("fiveam" ,sbcl-fiveam)))
10848 (synopsis "Basic date and time objects for Common Lisp")
10849 (description
10850 "@code{simple-date} is a very basic implementation of date and time
10851objects, used to support storing and retrieving time-related SQL types.")
10852 (home-page "https://marijnhaverbeke.nl/postmodern/")
10853 (license license:zlib))))
10854
10855(define-public cl-simple-date
10856 (sbcl-package->cl-source-package sbcl-simple-date))
10857
10858(define-public ecl-simple-date
10859 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10860
10861(define-public sbcl-cl-postgres
10862 (package
10863 (inherit sbcl-simple-date)
10864 (name "sbcl-cl-postgres")
10865 (native-inputs
10866 `(("fiveam" ,sbcl-fiveam)
10867 ("simple-date" ,sbcl-simple-date)))
10868 (inputs
10869 `(("md5" ,sbcl-md5)
10870 ("split-sequence" ,sbcl-split-sequence)
10871 ("usocket" ,sbcl-usocket)))
10872 (arguments
10873 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10874 (synopsis "Common Lisp interface for PostgreSQL")
10875 (description
10876 "@code{cl-postgres} is a low-level library used for interfacing with
10877a PostgreSQL server over a socket.")))
10878
10879(define-public cl-postgres
10880 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10881
10882(define-public sbcl-simple-date-postgres-glue
10883 (package
10884 (inherit sbcl-simple-date)
10885 (name "sbcl-simple-date-postgres-glue")
10886 (inputs
10887 `(("cl-postgres" ,sbcl-cl-postgres)
10888 ("simple-date" ,sbcl-simple-date)))
10889 (arguments
10890 `(#:asd-file "simple-date.asd"
10891 #:asd-system-name "simple-date/postgres-glue"))))
10892
10893(define-public cl-simple-date-postgres-glue
10894 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10895
10896(define-public sbcl-s-sql
10897 (package
10898 (inherit sbcl-simple-date)
10899 (name "sbcl-s-sql")
10900 (inputs
10901 `(("alexandria" ,sbcl-alexandria)
10902 ("cl-postgres" ,sbcl-cl-postgres)))
10903 (arguments
10904 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
10905 (synopsis "Lispy DSL for SQL")
10906 (description
10907 "@code{s-sql} is a Common Lisp library that can be used to compile
10908s-expressions to strings of SQL code, escaping any Lisp values inside, and
10909doing as much as possible of the work at compile time.")))
10910
10911(define-public cl-s-sql
10912 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
10913
10914(define-public sbcl-postmodern
10915 (package
10916 (inherit sbcl-simple-date)
10917 (name "sbcl-postmodern")
10918 (native-inputs
10919 `(("fiveam" ,sbcl-fiveam)
10920 ("simple-date" ,sbcl-simple-date)
10921 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
10922 (inputs
10923 `(("alexandria" ,sbcl-alexandria)
10924 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10925 ("cl-postgres" ,sbcl-cl-postgres)
10926 ("closer-mop" ,sbcl-closer-mop)
10927 ("global-vars" ,sbcl-global-vars)
10928 ("s-sql" ,sbcl-s-sql)
10929 ("split-sequence" ,sbcl-split-sequence)))
10930 (arguments
10931 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
10932 ;; cl-postgres/tests and s-sql/tests.
10933 `(#:tests? #f))
10934 (synopsis "Common Lisp library for interacting with PostgreSQL")
10935 (description
10936 "@code{postmodern} is a Common Lisp library for interacting with
10937PostgreSQL databases. It provides the following features:
10938
10939@itemize
10940@item Efficient communication with the database server without need for
10941foreign libraries.
10942@item Support for UTF-8 on Unicode-aware Lisp implementations.
10943@item A syntax for mixing SQL and Lisp code.
10944@item Convenient support for prepared statements and stored procedures.
10945@item A metaclass for simple database-access objects.
10946@end itemize\n")))
10947
10948(define-public cl-postmodern
10949 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
10950
10951(define-public sbcl-dbi
10952 (package
10953 (name "sbcl-dbi")
10954 (version "0.9.4")
10955 (source
10956 (origin
10957 (method git-fetch)
10958 (uri (git-reference
10959 (url "https://github.com/fukamachi/cl-dbi.git")
10960 (commit version)))
10961 (file-name (git-file-name name version))
10962 (sha256
10963 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
10964 (build-system asdf-build-system/sbcl)
10965 (inputs
10966 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10967 ("closer-mop" ,sbcl-closer-mop)
10968 ("split-sequence" ,sbcl-split-sequence)))
10969 (arguments
10970 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
10971 (synopsis "Database independent interface for Common Lisp")
10972 (description
10973 "@code{dbi} is a Common Lisp library providing a database independent
10974interface for MySQL, PostgreSQL and SQLite.")
10975 (home-page "https://github.com/fukamachi/cl-dbi")
10976 (license license:llgpl)))
10977
10978(define-public cl-dbi
10979 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
10980
10981(define-public sbcl-dbd-mysql
10982 (package
10983 (inherit sbcl-dbi)
10984 (name "sbcl-dbd-mysql")
10985 (inputs
10986 `(("cl-mysql" ,sbcl-cl-mysql)
10987 ("dbi" ,sbcl-dbi)))
10988 (synopsis "Database driver for MySQL")))
10989
10990(define-public cl-dbd-mysql
10991 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
10992
10993(define-public sbcl-dbd-postgres
10994 (package
10995 (inherit sbcl-dbi)
10996 (name "sbcl-dbd-postgres")
10997 (inputs
10998 `(("cl-postgres" ,sbcl-cl-postgres)
10999 ("dbi" ,sbcl-dbi)
11000 ("trivial-garbage" ,sbcl-trivial-garbage)))
11001 (synopsis "Database driver for PostgreSQL")))
11002
11003(define-public cl-dbd-postgres
11004 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11005
11006(define-public sbcl-dbd-sqlite3
11007 (package
11008 (inherit sbcl-dbi)
11009 (name "sbcl-dbd-sqlite3")
11010 (inputs
11011 `(("cl-sqlite" ,sbcl-cl-sqlite)
11012 ("dbi" ,sbcl-dbi)
11013 ("trivial-garbage" ,sbcl-trivial-garbage)))
11014 (synopsis "Database driver for SQLite3")))
11015
11016(define-public cl-dbd-sqlite3
11017 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11018
11019(define-public sbcl-uffi
11020 (package
11021 (name "sbcl-uffi")
11022 (version "2.1.2")
11023 (source
11024 (origin
11025 (method git-fetch)
11026 (uri (git-reference
11027 (url "http://git.kpe.io/uffi.git")
11028 (commit (string-append "v" version))))
11029 (file-name (git-file-name name version))
11030 (sha256
11031 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11032 (build-system asdf-build-system/sbcl)
11033 (arguments
11034 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11035 #:phases
11036 (modify-phases %standard-phases
11037 (add-after 'unpack 'fix-permissions
11038 (lambda _
11039 (make-file-writable "doc/html.tar.gz")
11040 #t)))))
11041 (synopsis "Universal foreign function library for Common Lisp")
11042 (description
11043 "UFFI provides a universal foreign function interface (FFI)
11044 for Common Lisp.")
11045 (home-page "http://quickdocs.org/uffi/")
11046 (license license:llgpl)))
11047
11048(define-public cl-uffi
11049 (package
11050 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11051 (arguments
11052 `(#:phases
11053 ;; asdf-build-system/source has its own phases and does not inherit
11054 ;; from asdf-build-system/sbcl phases.
11055 (modify-phases %standard-phases/source
11056 (add-after 'unpack 'fix-permissions
11057 (lambda _
11058 (make-file-writable "doc/html.tar.gz")
11059 #t)))))))
5ae56f68
GLV
11060
11061(define-public sbcl-clsql
11062 (package
11063 (name "sbcl-clsql")
11064 (version "6.7.0")
11065 (source
11066 (origin
11067 (method git-fetch)
11068 (uri (git-reference
11069 (url "http://git.kpe.io/clsql.git")
11070 (commit (string-append "v" version))))
11071 (file-name (git-file-name name version))
11072 (sha256
11073 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11074 (snippet
11075 '(begin
11076 ;; Remove precompiled libraries.
11077 (delete-file "db-mysql/clsql_mysql.dll")
11078 (delete-file "uffi/clsql_uffi.dll")
11079 (delete-file "uffi/clsql_uffi.lib")
11080 #t))))
11081 (build-system asdf-build-system/sbcl)
11082 (native-inputs
11083 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11084 ("rt" ,sbcl-rt)
11085 ("uffi" ,sbcl-uffi)))
11086 (arguments
11087 `(#:phases
11088 (modify-phases %standard-phases
11089 (add-after 'unpack 'fix-permissions
11090 (lambda _
11091 (make-file-writable "doc/html.tar.gz")
11092 #t))
11093 (add-after 'unpack 'fix-tests
11094 (lambda _
11095 (substitute* "clsql.asd"
11096 (("clsql-tests :force t")
11097 "clsql-tests"))
11098 #t)))))
11099 (synopsis "Common Lisp SQL Interface library")
11100 (description
11101 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11102Xanalys CommonSQL interface for Lispworks. It provides low-level database
11103interfaces as well as a functional and an object oriented interface.")
11104 (home-page "http://clsql.kpe.io/")
11105 (license license:llgpl)))
11106
11107(define-public cl-clsql
11108 (package
11109 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11110 (native-inputs
11111 `(("rt" ,cl-rt)))
11112 (inputs
11113 `(("mysql" ,mysql)
11114 ("postgresql" ,postgresql)
11115 ("sqlite" ,sqlite)
11116 ("zlib" ,zlib)))
11117 (propagated-inputs
11118 `(("cl-postgres" ,cl-postgres)
11119 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11120 ("md5" ,cl-md5)
11121 ("uffi" ,cl-uffi)))
11122 (arguments
11123 `(#:phases
11124 ;; asdf-build-system/source has its own phases and does not inherit
11125 ;; from asdf-build-system/sbcl phases.
11126 (modify-phases %standard-phases/source
11127 (add-after 'unpack 'fix-permissions
11128 (lambda _
11129 (make-file-writable "doc/html.tar.gz")
11130 #t)))))))
a5f44287
GLV
11131
11132(define-public sbcl-clsql-uffi
11133 (package
11134 (inherit sbcl-clsql)
11135 (name "sbcl-clsql-uffi")
11136 (inputs
11137 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11138 ("clsql" ,sbcl-clsql)
11139 ("uffi" ,sbcl-uffi)))
11140 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11141
11142(define-public sbcl-clsql-sqlite3
11143 (package
11144 (inherit sbcl-clsql)
11145 (name "sbcl-clsql-sqlite3")
11146 (inputs
11147 `(("clsql" ,sbcl-clsql)
11148 ("clsql-uffi" ,sbcl-clsql-uffi)
11149 ("sqlite" ,sqlite)))
11150 (arguments
11151 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11152 ((#:phases phases '%standard-phases)
11153 `(modify-phases ,phases
11154 (add-after 'unpack 'fix-paths
11155 (lambda* (#:key inputs #:allow-other-keys)
11156 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11157 (("libsqlite3")
11158 (string-append (assoc-ref inputs "sqlite")
11159 "/lib/libsqlite3")))
11160 #t))))))
11161 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11162
11163(define-public sbcl-clsql-postgresql
11164 (package
11165 (inherit sbcl-clsql)
11166 (name "sbcl-clsql-postgresql")
11167 (inputs
11168 `(("clsql" ,sbcl-clsql)
11169 ("clsql-uffi" ,sbcl-clsql-uffi)
11170 ("postgresql" ,postgresql)))
11171 (arguments
11172 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11173 ((#:phases phases '%standard-phases)
11174 `(modify-phases ,phases
11175 (add-after 'unpack 'fix-paths
11176 (lambda* (#:key inputs #:allow-other-keys)
11177 (substitute* "db-postgresql/postgresql-loader.lisp"
11178 (("libpq")
11179 (string-append (assoc-ref inputs "postgresql")
11180 "/lib/libpq")))
11181 #t))))))
11182 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11183
11184(define-public sbcl-clsql-postgresql-socket3
11185 (package
11186 (inherit sbcl-clsql)
11187 (name "sbcl-clsql-postgresql-socket3")
11188 (inputs
11189 `(("cl-postgres" ,sbcl-cl-postgres)
11190 ("clsql" ,sbcl-clsql)
11191 ("md5" ,sbcl-md5)))
11192 (arguments
11193 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11194 ((#:phases phases '%standard-phases)
11195 `(modify-phases ,phases
11196 (add-after 'create-asd-file 'fix-asd-file
11197 (lambda* (#:key outputs #:allow-other-keys)
11198 (let* ((out (assoc-ref outputs "out"))
11199 (lib (string-append out "/lib/" (%lisp-type)))
11200 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11201 (substitute* asd
11202 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11203 "")))
11204 #t))))))
11205 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11206
11207(define-public sbcl-clsql-mysql
11208 (package
11209 (inherit sbcl-clsql)
11210 (name "sbcl-clsql-mysql")
11211 (inputs
11212 `(("mysql" ,mysql)
11213 ("sbcl-clsql" ,sbcl-clsql)
11214 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11215 ("zlib" ,zlib)))
11216 (arguments
11217 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11218 ((#:phases phases '%standard-phases)
11219 `(modify-phases ,phases
11220 (add-after 'unpack 'fix-paths
11221 (lambda* (#:key inputs outputs #:allow-other-keys)
11222 (let ((lib (string-append "#p\""
11223 (assoc-ref outputs "out")
11224 "/lib/\"")))
11225 (substitute* "clsql-mysql.asd"
11226 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11227 lib))
11228 (substitute* "db-mysql/mysql-loader.lisp"
11229 (("libmysqlclient" all)
11230 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11231 (("clsql-mysql-system::\\*library-file-dir\\*")
11232 lib)))
11233 #t))
11234 (add-before 'build 'build-helper-library
11235 (lambda* (#:key inputs outputs #:allow-other-keys)
11236 (let* ((mysql (assoc-ref inputs "mysql"))
11237 (inc-dir (string-append mysql "/include/mysql"))
11238 (lib-dir (string-append mysql "/lib"))
11239 (shared-lib-dir (string-append (assoc-ref outputs "out")
11240 "/lib"))
11241 (shared-lib (string-append shared-lib-dir
11242 "/clsql_mysql.so")))
11243 (mkdir-p shared-lib-dir)
11244 (invoke "gcc" "-fPIC" "-shared"
11245 "-I" inc-dir
11246 "db-mysql/clsql_mysql.c"
11247 "-Wl,-soname=clsql_mysql"
11248 "-L" lib-dir "-lmysqlclient" "-lz"
11249 "-o" shared-lib)
11250 #t)))))))
11251 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11252
11253(define-public sbcl-sycamore
11254 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11255 (package
11256 (name "sbcl-sycamore")
11257 (version "0.0.20120604")
11258 (source
11259 (origin
11260 (method git-fetch)
11261 (uri (git-reference
11262 (url "https://github.com/ndantam/sycamore/")
11263 (commit commit)))
11264 (file-name (git-file-name name version))
11265 (sha256
11266 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11267 (build-system asdf-build-system/sbcl)
11268 (arguments
11269 `(#:asd-file "src/sycamore.asd"))
11270 (inputs
11271 `(("alexandria" ,sbcl-alexandria)
11272 ("cl-ppcre" ,sbcl-cl-ppcre)))
11273 (synopsis "Purely functional data structure library in Common Lisp")
11274 (description
11275 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11276If features:
11277
11278@itemize
11279@item Fast, purely functional weight-balanced binary trees.
11280@item Leaf nodes are simple-vectors, greatly reducing tree height.
11281@item Interfaces for tree Sets and Maps (dictionaries).
11282@item Ropes.
11283@item Purely functional pairing heaps.
11284@item Purely functional amortized queue.
11285@end itemize\n")
11286 (home-page "http://ndantam.github.io/sycamore/")
11287 (license license:bsd-3))))
11288
11289(define-public cl-sycamore
11290 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11291
11292(define-public sbcl-trivial-package-local-nicknames
11293 (package
11294 (name "sbcl-trivial-package-local-nicknames")
11295 (version "0.2")
11296 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11297 (source
11298 (origin
11299 (method git-fetch)
11300 (uri (git-reference
11301 (url home-page)
11302 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11303 (file-name (git-file-name name version))
11304 (sha256
11305 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11306 (build-system asdf-build-system/sbcl)
11307 (synopsis "Common Lisp compatibility library for package local nicknames")
11308 (description
11309 "This library is a portable compatibility layer around package local nicknames (PLN).
11310This was done so there is a portability library for the PLN API not included
11311in DEFPACKAGE.")
11312 (license license:unlicense)))
11313
11314(define-public cl-trivial-package-local-nicknames
11315 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))