gnu: sbcl-trivial-features: Update to 20200403.
[jackhill/guix/guix.git] / gnu / packages / lisp-xyz.scm
CommitLineData
88f06fd0
PN
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
4;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
5;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
6;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
7;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
92afa57b 8;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
88f06fd0
PN
9;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
10;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
12;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
2fa04968 13;;; Copyright © 2018, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
88f06fd0 14;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
20972e4e 15;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
88f06fd0 16;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
20972e4e 17;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
7ae8c34b 18;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
c6397e3e 19;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
cfc9004e 20;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
1fbd1b4c 21;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
88f06fd0
PN
22;;;
23;;; This file is part of GNU Guix.
24;;;
25;;; GNU Guix is free software; you can redistribute it and/or modify it
26;;; under the terms of the GNU General Public License as published by
27;;; the Free Software Foundation; either version 3 of the License, or (at
28;;; your option) any later version.
29;;;
30;;; GNU Guix is distributed in the hope that it will be useful, but
31;;; WITHOUT ANY WARRANTY; without even the implied warranty of
32;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33;;; GNU General Public License for more details.
34;;;
35;;; You should have received a copy of the GNU General Public License
36;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
37
38;;; This file only contains Common Lisp libraries.
39;;; Common Lisp compilers and tooling go to lisp.scm.
40;;; Common Lisp applications should go to the most appropriate file,
41;;; e.g. StumpWM is in wm.scm.
42
43(define-module (gnu packages lisp-xyz)
44 #:use-module (gnu packages)
45 #:use-module ((guix licenses) #:prefix license:)
46 #:use-module (guix packages)
47 #:use-module (guix download)
48 #:use-module (guix git-download)
49 #:use-module (guix hg-download)
50 #:use-module (guix utils)
51 #:use-module (guix build-system asdf)
52 #:use-module (guix build-system trivial)
53 #:use-module (gnu packages c)
54 #:use-module (gnu packages compression)
8a6c0f55 55 #:use-module (gnu packages databases)
2fa04968 56 #:use-module (gnu packages enchant)
88f06fd0
PN
57 #:use-module (gnu packages glib)
58 #:use-module (gnu packages gtk)
d3a2df68 59 #:use-module (gnu packages imagemagick)
37b48dc1 60 #:use-module (gnu packages libevent)
88f06fd0
PN
61 #:use-module (gnu packages libffi)
62 #:use-module (gnu packages lisp)
064dbb71 63 #:use-module (gnu packages maths)
a3f6c410 64 #:use-module (gnu packages networking)
88f06fd0
PN
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages python)
67 #:use-module (gnu packages python-xyz)
68 #:use-module (gnu packages sqlite)
d3a2df68 69 #:use-module (gnu packages tcl)
88f06fd0
PN
70 #:use-module (gnu packages tls)
71 #:use-module (gnu packages webkit)
72 #:use-module (gnu packages xdisorg)
73 #:use-module (ice-9 match)
74 #:use-module (srfi srfi-19))
75
76(define-public sbcl-alexandria
34e0f90a 77 (let ((commit "5e5c7d83090cc0fbf32c4628362ac3ce2c50dc59"))
88f06fd0
PN
78 (package
79 (name "sbcl-alexandria")
34e0f90a 80 (version "1.0.1")
88f06fd0
PN
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
34e0f90a 89 "010w8829dq28jf8ajfzas9nfvpxa5bal04mg299xq6y9spihc2iz"))
88f06fd0
PN
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")
f15cc738 204 (commit "ebd59b1afed03b9dc8544320f8f432fdf92ab010"))
88f06fd0
PN
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
f15cc738 216 (base32 "0b1pxlccmnagk9cbh4cy8s5k66g3x0gwib5shjwr24xvrji6lp94"))
88f06fd0
PN
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
c75e3494
PN
1160 ;; No release since 2014.
1161 (let ((commit "870d03de0ed44067963350936856e17ee725153e"))
1162 (package
1163 (name "sbcl-trivial-features")
1164 (version (git-version "0.8" "1" commit))
1165 (source
1166 (origin
1167 (method git-fetch)
1168 (uri (git-reference
1169 (url "https://github.com/trivial-features/trivial-features.git")
1170 (commit commit)))
1171 (file-name (git-file-name "trivial-features" version))
1172 (sha256
1173 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j"))))
1174 (build-system asdf-build-system/sbcl)
1175 (arguments '(#:tests? #f))
1176 (home-page "https://cliki.net/trivial-features")
1177 (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp")
1178 (description "Trivial-features ensures that @code{*FEATURES*} is
88f06fd0 1179consistent across multiple Common Lisp implementations.")
c75e3494 1180 (license license:expat))))
88f06fd0
PN
1181
1182(define-public cl-trivial-features
1183 (sbcl-package->cl-source-package sbcl-trivial-features))
1184
1185(define-public ecl-trivial-features
1186 (sbcl-package->ecl-package sbcl-trivial-features))
1187
1188(define-public sbcl-hu.dwim.asdf
1189 (package
1190 (name "sbcl-hu.dwim.asdf")
1191 (version "20190521")
1192 (source
1193 (origin
1194 (method url-fetch)
1195 (uri (string-append "http://beta.quicklisp.org/archive/hu.dwim.asdf/"
1196 "2019-05-21/hu.dwim.asdf-" version "-darcs.tgz"))
1197 (sha256
1198 (base32
1199 "0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn"))))
1200 (build-system asdf-build-system/sbcl)
1201 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.asdf")
1202 (synopsis "Extensions to ASDF")
1203 (description "Various ASDF extensions such as attached test and
1204documentation system, explicit development support, etc.")
1205 (license license:public-domain)))
1206
1207(define-public cl-hu.dwim.asdf
1208 (sbcl-package->cl-source-package sbcl-hu.dwim.asdf))
1209
1210(define-public ecl-hu.dwim.asdf
1211 (sbcl-package->ecl-package sbcl-hu.dwim.asdf))
1212
1213(define-public sbcl-hu.dwim.stefil
1214 (let ((commit "ab6d1aa8995878a1b66d745dfd0ba021090bbcf9"))
1215 (package
1216 (name "sbcl-hu.dwim.stefil")
1217 (version (git-version "0.0.0" "1" commit))
1218 (source
1219 (origin
1220 (method git-fetch)
1221 (uri
1222 (git-reference
1223 (url "https://gitlab.common-lisp.net/xcvb/hu.dwim.stefil.git")
1224 (commit commit)))
1225 (sha256
1226 (base32 "1d8yccw65zj3zh46cbi3x6nmn1dwdb76s9d0av035077mvyirqqp"))
1227 (file-name (git-file-name "hu.dwim.stefil" version))))
1228 (build-system asdf-build-system/sbcl)
1229 (native-inputs
1230 `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
1231 (inputs
1232 `(("sbcl-alexandria" ,sbcl-alexandria)))
1233 (home-page "https://hub.darcs.net/hu.dwim/hu.dwim.stefil")
1234 (synopsis "Simple test framework")
1235 (description "Stefil is a simple test framework for Common Lisp,
1236with a focus on interactive development.")
1237 (license license:public-domain))))
1238
1239(define-public cl-hu.dwim.stefil
1240 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
1241
1242(define-public ecl-hu.dwim.stefil
1243 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
1244
1245(define-public sbcl-babel
8e596809
PN
1246 ;; No release since 2014.
1247 (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea"))
1248 (package
1249 (name "sbcl-babel")
1250 (version (git-version "0.5.0" "1" commit))
1251 (source
1252 (origin
1253 (method git-fetch)
1254 (uri (git-reference
1255 (url "https://github.com/cl-babel/babel.git")
1256 (commit commit)))
1257 (file-name (git-file-name "babel" version))
1258 (sha256
1259 (base32 "0lkvv4xdpv4cv1y2bqillmabx8sdb2y4l6pbinq6mjh33w2brpvb"))))
1260 (build-system asdf-build-system/sbcl)
1261 (native-inputs
1262 `(("tests:cl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
1263 (inputs
1264 `(("sbcl-alexandria" ,sbcl-alexandria)
1265 ("sbcl-trivial-features" ,sbcl-trivial-features)))
1266 (home-page "https://common-lisp.net/project/babel/")
1267 (synopsis "Charset encoding and decoding library")
1268 (description "Babel is a charset encoding and decoding library, not unlike
88f06fd0 1269GNU libiconv, but completely written in Common Lisp.")
8e596809 1270 (license license:expat))))
88f06fd0
PN
1271
1272(define-public cl-babel
1273 (sbcl-package->cl-source-package sbcl-babel))
1274
1275(define-public ecl-babel
1276 (sbcl-package->ecl-package sbcl-babel))
1277
1278(define-public sbcl-cl-yacc
1279 (package
1280 (name "sbcl-cl-yacc")
1281 (version "0.3")
1282 (source
1283 (origin
1284 (method git-fetch)
1285 (uri (git-reference
1286 (url "https://github.com/jech/cl-yacc")
1287 (commit (string-append "cl-yacc-" version))))
1288 (sha256
1289 (base32
1290 "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib"))
1291 (file-name (string-append "cl-yacc-" version "-checkout"))))
1292 (build-system asdf-build-system/sbcl)
1293 (arguments
1294 `(#:asd-file "yacc.asd"
1295 #:asd-system-name "yacc"))
1296 (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc")
1297 (description
1298 "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit
1299to AT&T Yacc, Berkeley Yacc, GNU Bison, Zebu, lalr.cl or lalr.scm.
1300
1301CL-Yacc uses the algorithm due to Aho and Ullman, which is the one also used
1302by AT&T Yacc, Berkeley Yacc and Zebu. It does not use the faster algorithm due
1303to DeRemer and Pennello, which is used by Bison and lalr.scm (not lalr.cl).")
1304 (home-page "https://www.irif.fr/~jch//software/cl-yacc/")
1305 (license license:expat)))
1306
1307(define-public cl-yacc
1308 (sbcl-package->cl-source-package sbcl-cl-yacc))
1309
1310(define-public ecl-cl-yacc
1311 (sbcl-package->ecl-package sbcl-cl-yacc))
1312
1313(define-public sbcl-jpl-util
1314 (let ((commit "0311ed374e19a49d43318064d729fe3abd9a3b62"))
1315 (package
1316 (name "sbcl-jpl-util")
1317 (version "20151005")
1318 (source
1319 (origin
1320 (method git-fetch)
1321 (uri (git-reference
1322 ;; Quicklisp uses this fork.
1323 (url "https://github.com/hawkir/cl-jpl-util")
1324 (commit commit)))
1325 (file-name
1326 (git-file-name "jpl-util" version))
1327 (sha256
1328 (base32
1329 "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz"))))
1330 (build-system asdf-build-system/sbcl)
1331 (synopsis "Collection of Common Lisp utility functions and macros")
1332 (description
1333 "@command{cl-jpl-util} is a collection of Common Lisp utility functions
1334and macros, primarily for software projects written in CL by the author.")
1335 (home-page "https://www.thoughtcrime.us/software/cl-jpl-util/")
1336 (license license:isc))))
1337
1338(define-public cl-jpl-util
1339 (sbcl-package->cl-source-package sbcl-jpl-util))
1340
1341(define-public ecl-jpl-util
1342 (sbcl-package->ecl-package sbcl-jpl-util))
1343
1344(define-public sbcl-jpl-queues
1345 (package
1346 (name "sbcl-jpl-queues")
1347 (version "0.1")
1348 (source
1349 (origin
1350 (method url-fetch)
1351 (uri (string-append
1352 "http://www.thoughtcrime.us/software/jpl-queues/jpl-queues-"
1353 version
1354 ".tar.gz"))
1355 (sha256
1356 (base32
1357 "1wvvv7j117h9a42qaj1g4fh4mji28xqs7s60rn6d11gk9jl76h96"))))
1358 (build-system asdf-build-system/sbcl)
1359 (inputs
1360 `(("jpl-util" ,sbcl-jpl-util)
1361 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
1362 (arguments
1363 ;; Tests seem to be broken.
1364 `(#:tests? #f))
1365 (synopsis "Common Lisp library implementing a few different kinds of queues")
1366 (description
1367 "A Common Lisp library implementing a few different kinds of queues:
1368
1369@itemize
1370@item Bounded and unbounded FIFO queues.
1371@item Lossy bounded FIFO queues that drop elements when full.
1372@item Unbounded random-order queues that use less memory than unbounded FIFO queues.
1373@end itemize
1374
1375Additionally, a synchronization wrapper is provided to make any queue
1376conforming to the @command{jpl-queues} API thread-safe for lightweight
1377multithreading applications. (See Calispel for a more sophisticated CL
1378multithreaded message-passing library with timeouts and alternation among
1379several blockable channels.)")
1380 (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
1381 (license license:isc)))
1382
1383(define-public cl-jpl-queues
1384 (sbcl-package->cl-source-package sbcl-jpl-queues))
1385
1386(define-public ecl-jpl-queues
1387 (sbcl-package->ecl-package sbcl-jpl-queues))
1388
1389(define-public sbcl-eos
1390 (let ((commit "b0faca83781ead9a588661e37bd47f90362ccd94"))
1391 (package
1392 (name "sbcl-eos")
1393 (version (git-version "0.0.0" "1" commit))
1394 (source
1395 (origin
1396 (method git-fetch)
1397 (uri (git-reference
1398 (url "https://github.com/adlai/Eos")
1399 (commit commit)))
1400 (sha256
1401 (base32
1402 "1bq8cfg087iyxmxi1mwgx5cfgy3b8ydrf81xljcis8qbgb2vszph"))
1403 (file-name (git-file-name "eos" version))))
1404 (build-system asdf-build-system/sbcl)
1405 (synopsis "Unit Testing for Common Lisp")
1406 (description
1407 "Eos was a unit testing library for Common Lisp.
1408It began as a fork of FiveAM; however, FiveAM development has continued, while
1409that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.")
1410 (home-page "https://github.com/adlai/Eos")
1411 (license license:expat))))
1412
1413(define-public cl-eos
1414 (sbcl-package->cl-source-package sbcl-eos))
1415
1416(define-public ecl-eos
1417 (sbcl-package->ecl-package sbcl-eos))
1418
1419(define-public sbcl-esrap
1420 (let ((commit "133be8b05c2aae48696fe5b739eea2fa573fa48d"))
1421 (package
1422 (name "sbcl-esrap")
1423 (version (git-version "0.0.0" "1" commit))
1424 (source
1425 (origin
1426 (method git-fetch)
1427 (uri (git-reference
1428 (url "https://github.com/nikodemus/esrap")
1429 (commit commit)))
1430 (sha256
1431 (base32
1432 "02d5clihsdryhf7pix8c5di2571fdsffh75d40fkzhws90r5mksl"))
1433 (file-name (git-file-name "esrap" version))))
1434 (build-system asdf-build-system/sbcl)
1435 (native-inputs
1436 `(("eos" ,sbcl-eos))) ;For testing only.
1437 (inputs
1438 `(("alexandria" ,sbcl-alexandria)))
1439 (synopsis "Common Lisp packrat parser")
1440 (description
1441 "A packrat parser for Common Lisp.
1442In addition to regular Packrat / Parsing Grammar / TDPL features ESRAP supports:
1443
1444@itemize
1445@item dynamic redefinition of nonterminals
1446@item inline grammars
1447@item semantic predicates
1448@item introspective facilities (describing grammars, tracing, setting breaks)
1449@end itemize\n")
1450 (home-page "https://nikodemus.github.io/esrap/")
1451 (license license:expat))))
1452
1453(define-public cl-esrap
1454 (sbcl-package->cl-source-package sbcl-esrap))
1455
1456(define-public ecl-esrap
1457 (sbcl-package->ecl-package sbcl-esrap))
1458
1459(define-public sbcl-split-sequence
1460 (package
1461 (name "sbcl-split-sequence")
92da0588 1462 (version "2.0.0")
88f06fd0
PN
1463 (source
1464 (origin
1465 (method git-fetch)
1466 (uri (git-reference
1467 (url "https://github.com/sharplispers/split-sequence")
1468 (commit (string-append "v" version))))
1469 (sha256
1470 (base32
92da0588 1471 "0jcpnx21hkfwqj5fvp7kc6pn1qcz9hk7g2s5x8h0349x1j2irln0"))
88f06fd0
PN
1472 (file-name (git-file-name "split-sequence" version))))
1473 (build-system asdf-build-system/sbcl)
92da0588
GLV
1474 (native-inputs
1475 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
1476 (synopsis "Member of the Common Lisp Utilities family of programs")
1477 (description
1478 "Splits sequence into a list of subsequences delimited by objects
1479satisfying the test.")
1480 (home-page "https://cliki.net/split-sequence")
1481 (license license:expat)))
1482
1483(define-public cl-split-sequence
1484 (sbcl-package->cl-source-package sbcl-split-sequence))
1485
1486(define-public ecl-split-sequence
1487 (sbcl-package->ecl-package sbcl-split-sequence))
1488
1489(define-public sbcl-html-encode
1490 (package
1491 (name "sbcl-html-encode")
1492 (version "1.2")
1493 (source
1494 (origin
1495 (method url-fetch)
1496 (uri (string-append
1497 "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-"
1498 version ".tgz"))
1499 (sha256
1500 (base32
1501 "06mf8wn95yf5swhmzk4vp0xr4ylfl33dgfknkabbkd8n6jns8gcf"))
1502 (file-name (string-append "colorize" version "-checkout"))))
1503 (build-system asdf-build-system/sbcl)
1504 (synopsis "Common Lisp library for encoding text in various web-savvy encodings")
1505 (description
1506 "A library for encoding text in various web-savvy encodings.")
1507 (home-page "http://quickdocs.org/html-encode/")
1508 (license license:expat)))
1509
1510(define-public cl-html-encode
1511 (sbcl-package->cl-source-package sbcl-html-encode))
1512
1513(define-public ecl-html-encode
1514 (sbcl-package->ecl-package sbcl-html-encode))
1515
1516(define-public sbcl-colorize
1517 (let ((commit "ea676b584e0899cec82f21a9e6871172fe3c0eb5"))
1518 (package
1519 (name "sbcl-colorize")
1520 (version (git-version "0.0.0" "1" commit))
1521 (source
1522 (origin
1523 (method git-fetch)
1524 (uri (git-reference
1525 (url "https://github.com/kingcons/colorize")
1526 (commit commit)))
1527 (sha256
1528 (base32
1529 "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9"))
1530 (file-name (git-file-name "colorize" version))))
1531 (build-system asdf-build-system/sbcl)
1532 (inputs
1533 `(("alexandria" ,sbcl-alexandria)
1534 ("split-sequence" ,sbcl-split-sequence)
1535 ("html-encode" ,sbcl-html-encode)))
1536 (synopsis "Common Lisp for syntax highlighting")
1537 (description
1538 "@command{colorize} is a Lisp library for syntax highlighting
1539supporting the following languages: Common Lisp, Emacs Lisp, Scheme, Clojure,
1540C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
1541 (home-page "https://github.com/kingcons/colorize")
1542 ;; TODO: Missing license?
1543 (license license:expat))))
1544
1545(define-public cl-colorize
1546 (sbcl-package->cl-source-package sbcl-colorize))
1547
1548(define-public ecl-colorize
1549 (sbcl-package->ecl-package sbcl-colorize))
1550
1551(define-public sbcl-3bmd
1552 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1553 (package
1554 (name "sbcl-3bmd")
1555 (version (git-version "0.0.0" "1" commit))
1556 (source
1557 (origin
1558 (method git-fetch)
1559 (uri (git-reference
1560 (url "https://github.com/3b/3bmd")
1561 (commit commit)))
1562 (sha256
1563 (base32
1564 "1rgv3gi7wf963ikmmpk132wgn0icddf226gq3bmcnk1fr3v9gf2f"))
1565 (file-name (git-file-name "3bmd" version))))
1566 (build-system asdf-build-system/sbcl)
1567 (arguments
1568 ;; FIXME: We need to specify the name because the build-system thinks
1569 ;; "3" is a version marker.
1570 `(#:asd-system-name "3bmd"))
1571 (inputs
1572 `(("esrap" ,sbcl-esrap)
1573 ("split-sequence" ,sbcl-split-sequence)))
1574 (synopsis "Markdown processor in Command Lisp using esrap parser")
1575 (description
1576 "Common Lisp Markdown -> HTML converter, using @command{esrap} for
1577parsing, and grammar based on @command{peg-markdown}.")
1578 (home-page "https://github.com/3b/3bmd")
1579 (license license:expat))))
1580
1581(define-public cl-3bmd
1582 (sbcl-package->cl-source-package sbcl-3bmd))
1583
1584(define-public ecl-3bmd
1585 (sbcl-package->ecl-package sbcl-3bmd))
1586
1587(define-public sbcl-3bmd-ext-code-blocks
1588 (let ((commit "192ea13435b605a96ef607df51317056914cabbd"))
1589 (package
1590 (inherit sbcl-3bmd)
1591 (name "sbcl-3bmd-ext-code-blocks")
1592 (arguments
1593 `(#:asd-system-name "3bmd-ext-code-blocks"
1594 #:asd-file "3bmd-ext-code-blocks.asd"))
1595 (inputs
1596 `(("3bmd" ,sbcl-3bmd)
1597 ("colorize" ,sbcl-colorize)))
1598 (synopsis "3bmd extension which adds support for GitHub-style fenced
1599code blocks")
1600 (description
1601 "3bmd extension which adds support for GitHub-style fenced code blocks,
1602with @command{colorize} support."))))
1603
1604(define-public cl-3bmd-ext-code-blocks
1605 (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks))
1606
1607(define-public ecl-3bmd-ext-code-blocks
1608 (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks))
1609
1610(define-public sbcl-cl-fad
1611 (package
1612 (name "sbcl-cl-fad")
f0d9eaca 1613 (version "0.7.6")
88f06fd0
PN
1614 (source
1615 (origin
1616 (method git-fetch)
1617 (uri (git-reference
1618 (url "https://github.com/edicl/cl-fad/")
1619 (commit (string-append "v" version))))
1620 (sha256
1621 (base32
f0d9eaca 1622 "1gc8i82v6gks7g0lnm54r4prk2mklidv2flm5fvbr0a7rsys0vpa"))
88f06fd0
PN
1623 (file-name (string-append "cl-fad" version "-checkout"))))
1624 (build-system asdf-build-system/sbcl)
1625 (inputs
1626 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
1627 (synopsis "Portable pathname library for Common Lisp")
1628 (description
1629 "CL-FAD (for \"Files and Directories\") is a thin layer atop Common
1630Lisp's standard pathname functions. It is intended to provide some
1631unification between current CL implementations on Windows, OS X, Linux, and
1632Unix. Most of the code was written by Peter Seibel for his book Practical
1633Common Lisp.")
1634 (home-page "https://edicl.github.io/cl-fad/")
1635 (license license:bsd-2)))
1636
1637(define-public cl-fad
1638 (sbcl-package->cl-source-package sbcl-cl-fad))
1639
1640(define-public ecl-cl-fad
1641 (sbcl-package->ecl-package sbcl-cl-fad))
1642
1643(define-public sbcl-rt
e81b0719
GLV
1644 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
1645 (revision "1"))
1646 (package
1647 (name "sbcl-rt")
1648 (version (git-version "1990.12.19" revision commit))
1649 (source
1650 (origin
1651 (method git-fetch)
1652 (uri (git-reference
1653 (url "http://git.kpe.io/rt.git")
1654 (commit commit)))
1655 (file-name (git-file-name name version))
1656 (sha256
1657 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
1658 (build-system asdf-build-system/sbcl)
1659 (synopsis "MIT Regression Tester")
1660 (description
1661 "RT provides a framework for writing regression test suites.")
1662 (home-page "https://www.cliki.net/rt")
1663 (license license:expat))))
88f06fd0
PN
1664
1665(define-public cl-rt
1666 (sbcl-package->cl-source-package sbcl-rt))
1667
1668(define-public ecl-rt
1669 (sbcl-package->ecl-package sbcl-rt))
1670
1671(define-public sbcl-nibbles
1672 (package
1673 (name "sbcl-nibbles")
1674 (version "0.14")
1675 (source
1676 (origin
1677 (method git-fetch)
1678 (uri (git-reference
1679 (url "https://github.com/sharplispers/nibbles/")
1680 (commit (string-append "v" version))))
1681 (sha256
1682 (base32
1683 "1v7qfgpvdr6nz7v63dj69d26dis0kff3rd8xamr1llfdvza2pm8f"))
1684 (file-name (git-file-name "nibbles" version))))
1685 (build-system asdf-build-system/sbcl)
1686 (native-inputs
1687 ;; Tests only.
1688 `(("rt" ,sbcl-rt)))
1689 (synopsis "Common Lisp library for accessing octet-addressed blocks of data")
1690 (description
1691 "When dealing with network protocols and file formats, it's common to
1692have to read or write 16-, 32-, or 64-bit datatypes in signed or unsigned
1693flavors. Common Lisp sort of supports this by specifying :element-type for
1694streams, but that facility is underspecified and there's nothing similar for
1695read/write from octet vectors. What most people wind up doing is rolling their
1696own small facility for their particular needs and calling it a day.
1697
1698This library attempts to be comprehensive and centralize such
1699facilities. Functions to read 16-, 32-, and 64-bit quantities from octet
1700vectors in signed or unsigned flavors are provided; these functions are also
1701SETFable. Since it's sometimes desirable to read/write directly from streams,
1702functions for doing so are also provided. On some implementations,
1703reading/writing IEEE singles/doubles (i.e. single-float and double-float) will
1704also be supported.")
1705 (home-page "https://github.com/sharplispers/nibbles")
1706 (license license:bsd-3)))
1707
1708(define-public cl-nibbles
1709 (sbcl-package->cl-source-package sbcl-nibbles))
1710
1711(define-public ecl-nibbles
1712 (sbcl-package->ecl-package sbcl-nibbles))
1713
1714(define-public sbcl-ironclad
1715 (package
1716 (name "sbcl-ironclad")
acaeaa0a 1717 (version "0.49")
88f06fd0
PN
1718 (source
1719 (origin
1720 (method git-fetch)
1721 (uri (git-reference
1722 (url "https://github.com/sharplispers/ironclad/")
1723 (commit (string-append "v" version))))
1724 (sha256
acaeaa0a 1725 (base32 "0kbzqg2aasrhjwy3nrzy2ddy809n1j045w4qkyc3r2syqd203d4q"))
88f06fd0
PN
1726 (file-name (git-file-name name version))))
1727 (build-system asdf-build-system/sbcl)
1728 (native-inputs
1729 ;; Tests only.
1730 `(("rt" ,sbcl-rt)))
1731 (inputs
1732 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
acaeaa0a
GLV
1733 ("flexi-streams" ,sbcl-flexi-streams)
1734 ("trivial-garbage" ,sbcl-trivial-garbage)))
88f06fd0
PN
1735 (synopsis "Cryptographic toolkit written in Common Lisp")
1736 (description
1737 "Ironclad is a cryptography library written entirely in Common Lisp.
1738It includes support for several popular ciphers, digests, MACs and public key
1739cryptography algorithms. For several implementations that support Gray
1740streams, support is included for convenient stream wrappers.")
1741 (home-page "https://github.com/sharplispers/ironclad")
1742 (license license:bsd-3)))
1743
1744(define-public cl-ironclad
1745 (sbcl-package->cl-source-package sbcl-ironclad))
1746
1747(define-public ecl-ironclad
1748 (sbcl-package->ecl-package sbcl-ironclad))
1749
1750(define-public sbcl-named-readtables
438d8113
PN
1751 (let ((commit "64bd53f37a1694cfde48fc38b8f03901f6f0c05b")
1752 (revision "2"))
88f06fd0
PN
1753 (package
1754 (name "sbcl-named-readtables")
438d8113 1755 (version (git-version "0.9" revision commit))
88f06fd0
PN
1756 (source
1757 (origin
1758 (method git-fetch)
1759 (uri (git-reference
1760 (url "https://github.com/melisgl/named-readtables.git")
1761 (commit commit)))
1762 (sha256
438d8113 1763 (base32 "01l4831m7k84qvhzyx0qgdl50isr4zmp40qf6dfq2iqcaj8y4h3n"))
88f06fd0
PN
1764 (file-name (git-file-name "named-readtables" version))))
1765 (build-system asdf-build-system/sbcl)
1766 (arguments
1767 ;; Tests seem to be broken.
1768 `(#:tests? #f))
1769 (home-page "https://github.com/melisgl/named-readtables/")
1770 (synopsis "Library that creates a namespace for named readtables")
1771 (description "Named readtables is a library that creates a namespace for
1772named readtables, which is akin to package namespacing in Common Lisp.")
1773 (license license:bsd-3))))
1774
1775(define-public cl-named-readtables
1776 (sbcl-package->cl-source-package sbcl-named-readtables))
1777
1778(define-public ecl-named-readtables
1779 (sbcl-package->ecl-package sbcl-named-readtables))
1780
1781(define-public sbcl-pythonic-string-reader
1782 (let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
1783 (package
1784 (name "sbcl-pythonic-string-reader")
1785 (version (git-version "0.0.0" "1" commit))
1786 (source
1787 (origin
1788 (method git-fetch)
1789 (uri (git-reference
1790 (url "https://github.com/smithzvk/pythonic-string-reader/")
1791 (commit commit)))
1792 (sha256
1793 (base32 "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j"))
1794 (file-name (git-file-name "pythonic-string-reader" version))))
1795 (build-system asdf-build-system/sbcl)
1796 (inputs
1797 `(("named-readtables" ,sbcl-named-readtables)))
1798 (home-page "https://github.com/smithzvk/pythonic-string-reader")
1799 (synopsis "Read table modification inspired by Python's three quote strings")
1800 (description "This piece of code sets up some reader macros that make it
1801simpler to input string literals which contain backslashes and double quotes
1802This is very useful for writing complicated docstrings and, as it turns out,
1803writing code that contains string literals that contain code themselves.")
1804 (license license:bsd-3))))
1805
1806(define-public cl-pythonic-string-reader
1807 (sbcl-package->cl-source-package sbcl-pythonic-string-reader))
1808
1809(define-public ecl-pythonic-string-reader
1810 (sbcl-package->ecl-package sbcl-pythonic-string-reader))
1811
1812;; SLIME does not have a ASDF system definition to build all of Swank. As a
1813;; result, the asdf-build-system/sbcl will produce an almost empty package.
1814;; Some work was done to fix this at
1815;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged
1816;; and is now lagging behind. Building SBCL fasls might not be worth the
1817;; hassle, so let's just ship the source then.
1818(define-public cl-slime-swank
1819 (package
1820 (name "cl-slime-swank")
1821 (version "2.24")
1822 (source
1823 (origin
1824 (file-name (string-append name "-" version ".tar.gz"))
1825 (method git-fetch)
1826 (uri (git-reference
1827 (url "https://github.com/slime/slime/")
1828 (commit (string-append "v" version))))
1829 (sha256
1830 (base32
1831 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
1832 (build-system asdf-build-system/source)
1833 (home-page "https://github.com/slime/slime")
1834 (synopsis "Common Lisp Swank server")
1835 (description
1836 "This is only useful if you want to start a Swank server in a Lisp
1837processes that doesn't run under Emacs. Lisp processes created by
1838@command{M-x slime} automatically start the server.")
1839 (license (list license:gpl2+ license:public-domain))))
1840
1841(define-public sbcl-slime-swank
1842 (deprecated-package "sbcl-slime-swank" cl-slime-swank))
1843
1844(define-public sbcl-mgl-pax
1845 (let ((commit "818448418d6b9de74620f606f5b23033c6082769"))
1846 (package
1847 (name "sbcl-mgl-pax")
1848 (version (git-version "0.0.0" "1" commit))
1849 (source
1850 (origin
1851 (method git-fetch)
1852 (uri (git-reference
1853 (url "https://github.com/melisgl/mgl-pax")
1854 (commit commit)))
1855 (sha256
1856 (base32
1857 "1p97zfkh130bdxqqxwaw2j9psv58751wakx7czbfpq410lg7dd7i"))
1858 (file-name (git-file-name "mgl-pax" version))))
1859 (build-system asdf-build-system/sbcl)
1860 (inputs
1861 `(("3bmd" ,sbcl-3bmd)
1862 ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks)
1863 ("babel" ,sbcl-babel)
1864 ("cl-fad" ,sbcl-cl-fad)
1865 ("ironclad" ,sbcl-ironclad)
1866 ("named-readtables" ,sbcl-named-readtables)
7e23dcc7
GLV
1867 ("pythonic-string-reader" ,sbcl-pythonic-string-reader)))
1868 (propagated-inputs
1869 ;; Packages having mgl-pax as input complain that it can't find
1870 ;; swank if we put it in inputs, so let's put it in propageted-inputs.
1871 `(("swank" ,cl-slime-swank)))
88f06fd0
PN
1872 (synopsis "Exploratory programming environment and documentation generator")
1873 (description
1874 "PAX provides an extremely poor man's Explorable Programming
1875environment. Narrative primarily lives in so called sections that mix markdown
1876docstrings with references to functions, variables, etc, all of which should
1877probably have their own docstrings.
1878
1879The primary focus is on making code easily explorable by using SLIME's
1880@command{M-.} (@command{slime-edit-definition}). See how to enable some
1881fanciness in Emacs Integration. Generating documentation from sections and all
1882the referenced items in Markdown or HTML format is also implemented.
1883
1884With the simplistic tools provided, one may accomplish similar effects as with
1885Literate Programming, but documentation is generated from code, not vice versa
1886and there is no support for chunking yet. Code is first, code must look
1887pretty, documentation is code.")
1888 (home-page "http://quotenil.com/")
1889 (license license:expat))))
1890
1891(define-public cl-mgl-pax
1892 (sbcl-package->cl-source-package sbcl-mgl-pax))
1893
1894(define-public ecl-mgl-pax
1895 (sbcl-package->ecl-package sbcl-mgl-pax))
1896
1897(define-public sbcl-lisp-unit
1898 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
1899 (package
1900 (name "sbcl-lisp-unit")
1901 (version (git-version "0.0.0" "1" commit))
1902 (source
1903 (origin
1904 (method git-fetch)
1905 (uri (git-reference
1906 (url "https://github.com/OdonataResearchLLC/lisp-unit")
1907 (commit commit)))
1908 (sha256
1909 (base32
1910 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
1911 (file-name (git-file-name "lisp-unit" version))))
1912 (build-system asdf-build-system/sbcl)
1913 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
1914 (description
1915 "@command{lisp-unit} is a Common Lisp library that supports unit
1916testing. It is an extension of the library written by Chris Riesbeck.")
1917 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
1918 (license license:expat))))
1919
1920(define-public cl-lisp-unit
1921 (sbcl-package->cl-source-package sbcl-lisp-unit))
1922
1923(define-public ecl-lisp-unit
1924 (sbcl-package->ecl-package sbcl-lisp-unit))
1925
1926(define-public sbcl-anaphora
1927 (package
1928 (name "sbcl-anaphora")
1929 (version "0.9.6")
1930 (source
1931 (origin
1932 (method git-fetch)
1933 (uri (git-reference
1934 (url "https://github.com/tokenrove/anaphora")
1935 (commit version)))
1936 (sha256
1937 (base32
1938 "19wfrk3asimznkli0x2rfy637hwpdgqyvwj3vhq9x7vjvyf5vv6x"))
1939 (file-name (git-file-name "anaphora" version))))
1940 (build-system asdf-build-system/sbcl)
1941 (native-inputs
1942 `(("rt" ,sbcl-rt)))
1943 (synopsis "The anaphoric macro collection from Hell")
1944 (description
1945 "Anaphora is the anaphoric macro collection from Hell: it includes many
1946new fiends in addition to old friends like @command{aif} and
1947@command{awhen}.")
1948 (home-page "https://github.com/tokenrove/anaphora")
1949 (license license:public-domain)))
1950
1951(define-public cl-anaphora
1952 (sbcl-package->cl-source-package sbcl-anaphora))
1953
1954(define-public ecl-anaphora
1955 (sbcl-package->ecl-package sbcl-anaphora))
1956
1957(define-public sbcl-lift
1958 (let ((commit "7d49a66c62759535624037826891152223d4206c"))
1959 (package
1960 (name "sbcl-lift")
1961 (version (git-version "1.7.1" "1" commit))
1962 (source
1963 (origin
1964 (method git-fetch)
1965 (uri (git-reference
1966 (url "https://github.com/gwkkwg/lift")
1967 (commit commit)))
1968 (sha256
1969 (base32
1970 "127v5avpz1i4m0lkaxqrq8hrl69rdazqaxf6s8awf0nd7wj2g4dp"))
1971 (file-name (git-file-name "lift" version))
1972 (modules '((guix build utils)))
1973 (snippet
1974 ;; Don't keep the bundled website
1975 `(begin
1976 (delete-file-recursively "website")
1977 #t))))
1978 (build-system asdf-build-system/sbcl)
1979 (arguments
1980 ;; The tests require a debugger, but we run with the debugger disabled.
1981 '(#:tests? #f))
1982 (synopsis "LIsp Framework for Testing")
1983 (description
1984 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
1985Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
1986testcases are organized into hierarchical testsuites each of which can have
1987its own fixture. When run, a testcase can succeed, fail, or error. LIFT
1988supports randomized testing, benchmarking, profiling, and reporting.")
1989 (home-page "https://github.com/gwkkwg/lift")
1990 (license license:expat))))
1991
1992(define-public cl-lift
1993 (sbcl-package->cl-source-package sbcl-lift))
1994
1995(define-public ecl-lift
1996 (sbcl-package->ecl-package sbcl-lift))
1997
1998(define-public sbcl-let-plus
1999 (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb"))
2000 (package
2001 (name "sbcl-let-plus")
2002 (version (git-version "0.0.0" "1" commit))
2003 (source
2004 (origin
2005 (method git-fetch)
2006 (uri (git-reference
2007 (url "https://github.com/sharplispers/let-plus")
2008 (commit commit)))
2009 (sha256
2010 (base32
2011 "0i050ca2iys9f5mb7dgqgqdxfnc3b0rnjdwv95sqd490vkiwrsaj"))
2012 (file-name (git-file-name "let-plus" version))))
2013 (build-system asdf-build-system/sbcl)
2014 (inputs
2015 `(("alexandria" ,sbcl-alexandria)
2016 ("anaphora" ,sbcl-anaphora)))
2017 (native-inputs
2018 `(("lift" ,sbcl-lift)))
2019 (synopsis "Destructuring extension of let*")
2020 (description
2021 "This library implements the let+ macro, which is a dectructuring
2022extension of let*. It features:
2023
2024@itemize
2025@item Clean, consistent syntax and small implementation (less than 300 LOC,
2026not counting tests)
2027@item Placeholder macros allow editor hints and syntax highlighting
2028@item @command{&ign} for ignored values (in forms where that makes sense)
2029@item Very easy to extend
2030@end itemize\n")
2031 (home-page "https://github.com/sharplispers/let-plus")
2032 (license license:boost1.0))))
2033
2034(define-public cl-let-plus
2035 (sbcl-package->cl-source-package sbcl-let-plus))
2036
2037(define-public ecl-let-plus
2038 (sbcl-package->ecl-package sbcl-let-plus))
2039
2040(define-public sbcl-cl-colors
2041 (let ((commit "827410584553f5c717eec6182343b7605f707f75"))
2042 (package
2043 (name "sbcl-cl-colors")
2044 (version (git-version "0.0.0" "1" commit))
2045 (source
2046 (origin
2047 (method git-fetch)
2048 (uri (git-reference
2049 (url "https://github.com/tpapp/cl-colors")
2050 (commit commit)))
2051 (sha256
2052 (base32
2053 "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a"))
2054 (file-name (git-file-name "cl-colors" version))))
2055 (build-system asdf-build-system/sbcl)
2056 (inputs
2057 `(("alexandria" ,sbcl-alexandria)
2058 ("let-plus" ,sbcl-let-plus)))
2059 (synopsis "Simple color library for Common Lisp")
2060 (description
2061 "This is a very simple color library for Common Lisp, providing
2062
2063@itemize
2064@item Types for representing colors in HSV and RGB spaces.
2065@item Simple conversion functions between the above types (and also
2066hexadecimal representation for RGB).
2067@item Some predefined colors (currently X11 color names – of course the
2068library does not depend on X11).Because color in your terminal is nice.
2069@end itemize
2070
2071This library is no longer supported by its author.")
2072 (home-page "https://github.com/tpapp/cl-colors")
2073 (license license:boost1.0))))
2074
2075(define-public cl-colors
2076 (sbcl-package->cl-source-package sbcl-cl-colors))
2077
2078(define-public ecl-cl-colors
2079 (sbcl-package->ecl-package sbcl-cl-colors))
2080
2081(define-public sbcl-cl-ansi-text
2082 (let ((commit "53badf7878f27f22f2d4a2a43e6df458e43acbe9"))
2083 (package
2084 (name "sbcl-cl-ansi-text")
2085 (version (git-version "1.0.0" "1" commit))
2086 (source
2087 (origin
2088 (method git-fetch)
2089 (uri (git-reference
2090 (url "https://github.com/pnathan/cl-ansi-text")
2091 (commit commit)))
2092 (sha256
2093 (base32
2094 "11i27n0dbz5lmygiw65zzr8lx0rac6b6yysqranphn31wls6ja3v"))
2095 (file-name (git-file-name "cl-ansi-text" version))))
2096 (build-system asdf-build-system/sbcl)
2097 (inputs
2098 `(("alexandria" ,sbcl-alexandria)
2099 ("cl-colors" ,sbcl-cl-colors)))
2100 (native-inputs
2101 `(("fiveam" ,sbcl-fiveam)))
2102 (synopsis "ANSI terminal color implementation for Common Lisp")
2103 (description
2104 "@command{cl-ansi-text} provides utilities which enable printing to an
2105ANSI terminal with colored text. It provides the macro @command{with-color}
2106which causes everything printed in the body to be displayed with the provided
2107color. It further provides functions which will print the argument with the
2108named color.")
2109 (home-page "https://github.com/pnathan/cl-ansi-text")
2110 (license license:llgpl))))
2111
2112(define-public cl-ansi-text
2113 (sbcl-package->cl-source-package sbcl-cl-ansi-text))
2114
2115(define-public ecl-cl-ansi-text
2116 (sbcl-package->ecl-package sbcl-cl-ansi-text))
2117
2118(define-public sbcl-prove-asdf
2119 (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0"))
2120 (package
2121 (name "sbcl-prove-asdf")
2122 (version (git-version "1.0.0" "1" commit))
2123 (source
2124 (origin
2125 (method git-fetch)
2126 (uri (git-reference
2127 (url "https://github.com/fukamachi/prove")
2128 (commit commit)))
2129 (sha256
2130 (base32
2131 "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc"))
2132 (file-name (git-file-name "prove" version))))
2133 (build-system asdf-build-system/sbcl)
2134 (arguments
2135 `(#:asd-file "prove-asdf.asd"))
2136 (synopsis "Test requirement for the Common Lisp 'prove' library")
2137 (description
2138 "Test requirement for the Common Lisp @command{prove} library.")
2139 (home-page "https://github.com/fukamachi/prove")
2140 (license license:expat))))
2141
2142(define-public cl-prove-asdf
2143 (sbcl-package->cl-source-package sbcl-prove-asdf))
2144
2145(define-public ecl-prove-asdf
2146 (sbcl-package->ecl-package sbcl-prove-asdf))
2147
2148(define-public sbcl-prove
2149 (package
2150 (inherit sbcl-prove-asdf)
2151 (name "sbcl-prove")
2152 (inputs
2153 `(("alexandria" ,sbcl-alexandria)
2154 ("cl-ppcre" ,sbcl-cl-ppcre)
2155 ("cl-ansi-text" ,sbcl-cl-ansi-text)))
2156 (native-inputs
2157 `(("prove-asdf" ,sbcl-prove-asdf)))
2158 (arguments
2159 `(#:asd-file "prove.asd"))
2160 (synopsis "Yet another unit testing framework for Common Lisp")
2161 (description
2162 "This project was originally called @command{cl-test-more}.
2163@command{prove} is yet another unit testing framework for Common Lisp. The
2164advantages of @command{prove} are:
2165
2166@itemize
2167@item Various simple functions for testing and informative error messages
2168@item ASDF integration
2169@item Extensible test reporters
2170@item Colorizes the report if it's available (note for SLIME)
2171@item Reports test durations
2172@end itemize\n")))
2173
2174(define-public cl-prove
2175 (sbcl-package->cl-source-package sbcl-prove))
2176
2177(define-public ecl-prove
2178 (sbcl-package->ecl-package sbcl-prove))
2179
2180(define-public sbcl-proc-parse
2181 (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd"))
2182 (package
2183 (name "sbcl-proc-parse")
2184 (version (git-version "0.0.0" "1" commit))
2185 (source
2186 (origin
2187 (method git-fetch)
2188 (uri (git-reference
2189 (url "https://github.com/fukamachi/proc-parse")
2190 (commit commit)))
2191 (sha256
2192 (base32
2193 "06rnl0h4cx6xv2wj3jczmmcxqn2703inmmvg1s4npbghmijsybfh"))
2194 (file-name (git-file-name "proc-parse" version))))
2195 (build-system asdf-build-system/sbcl)
2196 (inputs
2197 `(("alexandria" ,sbcl-alexandria)
2198 ("babel" ,sbcl-babel)))
2199 (native-inputs
2200 `(("prove" ,sbcl-prove)
2201 ("prove-asdf" ,sbcl-prove-asdf)))
2202 (arguments
2203 ;; TODO: Tests don't find "proc-parse-test", why?
2204 `(#:tests? #f))
2205 (synopsis "Procedural vector parser")
2206 (description
2207 "This is a string/octets parser library for Common Lisp with speed and
2208readability in mind. Unlike other libraries, the code is not a
2209pattern-matching-like, but a char-by-char procedural parser.")
2210 (home-page "https://github.com/fukamachi/proc-parse")
2211 (license license:bsd-2))))
2212
2213(define-public cl-proc-parse
2214 (sbcl-package->cl-source-package sbcl-proc-parse))
2215
2216(define-public ecl-proc-parse
2217 (sbcl-package->ecl-package sbcl-proc-parse))
2218
2219(define-public sbcl-parse-float
2220 (let ((commit "2aae569f2a4b2eb3bfb5401a959425dcf151b09c"))
2221 (package
2222 (name "sbcl-parse-float")
2223 (version (git-version "0.0.0" "1" commit))
2224 (source
2225 (origin
2226 (method git-fetch)
2227 (uri (git-reference
2228 (url "https://github.com/soemraws/parse-float")
2229 (commit commit)))
2230 (sha256
2231 (base32
2232 "08xw8cchhmqcc0byng69m3f5a2izc9y2290jzz2k0qrbibp1fdk7"))
2233 (file-name (git-file-name "proc-parse" version))))
2234 (build-system asdf-build-system/sbcl)
2235 (inputs
2236 `(("alexandria" ,sbcl-alexandria)
2237 ("babel" ,sbcl-babel)))
2238 (native-inputs
2239 `(("prove" ,sbcl-prove)
2240 ("prove-asdf" ,sbcl-prove-asdf)))
2241 (arguments
2242 ;; TODO: Tests don't find "proc-parse-test", why?
2243 `(#:tests? #f))
2244 (synopsis "Parse a floating point value from a string in Common Lisp")
2245 (description
2246 "This package exports the following function to parse floating-point
2247values from a string in Common Lisp.")
2248 (home-page "https://github.com/soemraws/parse-float")
2249 (license license:public-domain))))
2250
2251(define-public cl-parse-float
2252 (sbcl-package->cl-source-package sbcl-parse-float))
2253
2254(define-public ecl-parse-float
2255 (sbcl-package->ecl-package sbcl-parse-float))
2256
2257(define-public sbcl-ascii-strings
2258 (let ((revision "1")
2259 (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97"))
2260 (package
2261 (name "sbcl-ascii-strings")
2262 (version (string-append "0-" revision "." (string-take changeset 7)))
2263 (source
2264 (origin
2265 (method hg-fetch)
2266 (uri (hg-reference
2267 (url "https://bitbucket.org/vityok/cl-string-match/")
2268 (changeset changeset)))
2269 (sha256
2270 (base32
2271 "01wn5qx562w43ssy92xlfgv79w7p0nv0wbl76mpmba131n9ziq2y"))
2272 (file-name (git-file-name "cl-string-match" version))))
2273 (build-system asdf-build-system/sbcl)
2274 (inputs
2275 `(("alexandria" ,sbcl-alexandria)
2276 ("babel" ,sbcl-babel)))
2277 (arguments
2278 `(#:asd-file "ascii-strings.asd"))
2279 (synopsis "Operations on ASCII strings")
2280 (description
2281 "Operations on ASCII strings. Essentially this can be any kind of
2282single-byte encoded strings.")
2283 (home-page "https://bitbucket.org/vityok/cl-string-match/")
2284 (license license:bsd-3))))
2285
2286(define-public cl-ascii-strings
2287 (sbcl-package->cl-source-package sbcl-ascii-strings))
2288
2289(define-public ecl-ascii-strings
2290 (sbcl-package->ecl-package sbcl-ascii-strings))
2291
2292(define-public sbcl-simple-scanf
2293 (package
2294 (inherit sbcl-ascii-strings)
2295 (name "sbcl-simple-scanf")
2296 (inputs
2297 `(("alexandria" ,sbcl-alexandria)
2298 ("iterate" ,sbcl-iterate)
2299 ("proc-parse" ,sbcl-proc-parse)
2300 ("parse-float" ,sbcl-parse-float)))
2301 (arguments
2302 `(#:asd-file "simple-scanf.asd"))
2303 (synopsis "Simple scanf-like functionality implementation")
2304 (description
2305 "A simple scanf-like functionality implementation.")))
2306
2307(define-public cl-simple-scanf
2308 (sbcl-package->cl-source-package sbcl-simple-scanf))
2309
2310(define-public ecl-simple-scanf
2311 (sbcl-package->ecl-package sbcl-simple-scanf))
2312
2313(define-public sbcl-cl-string-match
2314 (package
2315 (inherit sbcl-ascii-strings)
2316 (name "sbcl-cl-string-match")
2317 (inputs
2318 `(("alexandria" ,sbcl-alexandria)
2319 ("ascii-strings" ,sbcl-ascii-strings)
2320 ("yacc" ,sbcl-cl-yacc)
2321 ("jpl-util" ,sbcl-jpl-util)
2322 ("jpl-queues" ,sbcl-jpl-queues)
2323 ("mgl-pax" ,sbcl-mgl-pax)
2324 ("iterate" ,sbcl-iterate)))
2325 ;; TODO: Tests are not evaluated properly.
2326 (native-inputs
2327 ;; For testing:
2328 `(("lisp-unit" ,sbcl-lisp-unit)
2329 ("simple-scanf" ,sbcl-simple-scanf)))
2330 (arguments
2331 `(#:tests? #f
2332 #:asd-file "cl-string-match.asd"))
2333 (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp")
2334 (description
2335 "@command{cl-strings} is a small, portable, dependency-free set of
2336utilities that make it even easier to manipulate text in Common Lisp. It has
2337100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.")))
2338
2339(define-public cl-string-match
2340 (sbcl-package->cl-source-package sbcl-cl-string-match))
2341
2342(define-public ecl-cl-string-match
2343 (sbcl-package->ecl-package sbcl-cl-string-match))
2344
2345(define-public sbcl-ptester
d9d8e3c2
GLV
2346 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
2347 (revision "1"))
2348 (package
2349 (name "sbcl-ptester")
2350 (version (git-version "2.1.3" revision commit))
2351 (source
2352 (origin
2353 (method git-fetch)
2354 (uri (git-reference
2355 (url "http://git.kpe.io/ptester.git")
2356 (commit commit)))
2357 (file-name (git-file-name name version))
2358 (sha256
2359 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
2360 (build-system asdf-build-system/sbcl)
2361 (home-page "http://quickdocs.org/ptester/")
2362 (synopsis "Portable test harness package")
2363 (description
2364 "@command{ptester} is a portable testing framework based on Franz's
88f06fd0 2365tester module.")
d9d8e3c2 2366 (license license:llgpl))))
88f06fd0
PN
2367
2368(define-public cl-ptester
2369 (sbcl-package->cl-source-package sbcl-ptester))
2370
2371(define-public ecl-ptester
2372 (sbcl-package->ecl-package sbcl-ptester))
2373
2374(define-public sbcl-puri
ff6cf9fa
GLV
2375 (let ((commit "ef5afb9e5286c8e952d4344f019c1a636a717b97")
2376 (revision "1"))
2377 (package
2378 (name "sbcl-puri")
2379 (version (git-version "1.5.7" revision commit))
2380 (source
2381 (origin
2382 (method git-fetch)
2383 (uri (git-reference
2384 (url "http://git.kpe.io/puri.git")
2385 (commit commit)))
2386 (file-name (git-file-name name version))
2387 (sha256
2388 (base32 "1vm25pdl92laj72p5vyd538kf3cjy2655z6bdc99h20ana2p231s"))))
2389 (build-system asdf-build-system/sbcl)
2390 (native-inputs
2391 `(("ptester" ,sbcl-ptester)))
2392 (home-page "http://quickdocs.org/puri/")
2393 (synopsis "Portable URI Library")
2394 (description
2395 "This is a portable Universal Resource Identifier library for Common
2396Lisp programs. It parses URI according to the RFC 2396 specification.")
2397 (license license:llgpl))))
88f06fd0
PN
2398
2399(define-public cl-puri
2400 (sbcl-package->cl-source-package sbcl-puri))
2401
2402(define-public ecl-puri
2403 (sbcl-package->ecl-package sbcl-puri))
2404
2405(define-public sbcl-queues
2406 (let ((commit "47d4da65e9ea20953b74aeeab7e89a831b66bc94"))
2407 (package
2408 (name "sbcl-queues")
2409 (version (git-version "0.0.0" "1" commit))
2410 (source
2411 (origin
2412 (method git-fetch)
2413 (uri (git-reference
2414 (url "https://github.com/oconnore/queues")
2415 (commit commit)))
2416 (file-name (git-file-name "queues" version))
2417 (sha256
2418 (base32
2419 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv"))))
2420 (build-system asdf-build-system/sbcl)
2421 (home-page "https://github.com/oconnore/queues")
2422 (synopsis "Common Lisp queue library")
2423 (description
2424 "This is a simple queue library for Common Lisp with features such as
2425non-consing thread safe queues and fibonacci priority queues.")
2426 (license license:expat))))
2427
2428(define-public cl-queues
2429 (sbcl-package->cl-source-package sbcl-queues))
2430
2431(define-public ecl-queues
2432 (sbcl-package->ecl-package sbcl-queues))
2433
2434(define-public sbcl-queues.simple-queue
2435 (package
2436 (inherit sbcl-queues)
2437 (name "sbcl-queues.simple-queue")
2438 (inputs
2439 `(("sbcl-queues" ,sbcl-queues)))
2440 (arguments
2441 `(#:asd-file "queues.simple-queue.asd"))
2442 (synopsis "Simple queue implementation")
2443 (description
2444 "This is a simple queue library for Common Lisp with features such as
2445non-consing thread safe queues and fibonacci priority queues.")
2446 (license license:expat)))
2447
2448(define-public cl-queues.simple-queue
2449 (sbcl-package->cl-source-package sbcl-queues.simple-queue))
2450
2451(define-public ecl-queues.simple-queue
2452 (sbcl-package->ecl-package sbcl-queues.simple-queue))
2453
2454(define-public sbcl-queues.simple-cqueue
2455 (package
2456 (inherit sbcl-queues)
2457 (name "sbcl-queues.simple-cqueue")
2458 (inputs
2459 `(("sbcl-queues" ,sbcl-queues)
2460 ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue)
2461 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2462 (arguments
2463 `(#:asd-file "queues.simple-cqueue.asd"))
2464 (synopsis "Thread safe queue implementation")
2465 (description
2466 "This is a simple queue library for Common Lisp with features such as
2467non-consing thread safe queues and fibonacci priority queues.")
2468 (license license:expat)))
2469
2470(define-public cl-queues.simple-cqueue
2471 (sbcl-package->cl-source-package sbcl-queues.simple-cqueue))
2472
2473(define-public ecl-queues.simple-cqueue
2474 (sbcl-package->ecl-package sbcl-queues.simple-cqueue))
2475
2476(define-public sbcl-queues.priority-queue
2477 (package
2478 (inherit sbcl-queues)
2479 (name "sbcl-queues.priority-queue")
2480 (inputs
2481 `(("sbcl-queues" ,sbcl-queues)))
2482 (arguments
2483 `(#:asd-file "queues.priority-queue.asd"))
2484 (synopsis "Priority queue (Fibonacci) implementation")
2485 (description
2486 "This is a simple queue library for Common Lisp with features such as
2487non-consing thread safe queues and fibonacci priority queues.")
2488 (license license:expat)))
2489
2490(define-public cl-queues.priority-queue
2491 (sbcl-package->cl-source-package sbcl-queues.priority-queue))
2492
2493(define-public ecl-queues.priority-queue
2494 (sbcl-package->ecl-package sbcl-queues.priority-queue))
2495
2496(define-public sbcl-queues.priority-cqueue
2497 (package
2498 (inherit sbcl-queues)
2499 (name "sbcl-queues.priority-cqueue")
2500 (inputs
2501 `(("sbcl-queues" ,sbcl-queues)
2502 ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue)
2503 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2504 (arguments
2505 `(#:asd-file "queues.priority-cqueue.asd"))
2506 (synopsis "Thread safe fibonacci priority queue implementation")
2507 (description
2508 "This is a simple queue library for Common Lisp with features such as
2509non-consing thread safe queues and fibonacci priority queues.")
2510 (license license:expat)))
2511
2512(define-public cl-queues.priority-cqueue
2513 (sbcl-package->cl-source-package sbcl-queues.priority-cqueue))
2514
2515(define-public ecl-queues.priority-cqueue
2516 (sbcl-package->ecl-package sbcl-queues.priority-cqueue))
2517
2518(define sbcl-cffi-bootstrap
2519 (package
2520 (name "sbcl-cffi-bootstrap")
237d58c3 2521 (version "0.21.0")
88f06fd0
PN
2522 (source
2523 (origin
2524 (method git-fetch)
2525 (uri (git-reference
2526 (url "https://github.com/cffi/cffi.git")
2527 (commit (string-append "v" version))))
2528 (file-name (git-file-name "cffi-bootstrap" version))
2529 (sha256
237d58c3 2530 (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk"))))
88f06fd0
PN
2531 (build-system asdf-build-system/sbcl)
2532 (inputs
2533 `(("libffi" ,libffi)
2534 ("alexandria" ,sbcl-alexandria)
2535 ("babel" ,sbcl-babel)
2536 ("trivial-features" ,sbcl-trivial-features)))
2537 (native-inputs
2538 `(("pkg-config" ,pkg-config)))
2539 (arguments
2540 '(#:phases
2541 (modify-phases %standard-phases
2542 (add-after 'unpack 'fix-paths
2543 (lambda* (#:key inputs #:allow-other-keys)
2544 (substitute* "libffi/libffi.lisp"
2545 (("libffi.so.6" all) (string-append
2546 (assoc-ref inputs "libffi")
2547 "/lib/" all)))
2548 (substitute* "toolchain/c-toolchain.lisp"
2549 (("\"cc\"") (format #f "~S" (which "gcc")))))))
2550 #:asd-system-name "cffi"
2551 #:tests? #f))
2552 (home-page "https://common-lisp.net/project/cffi/")
2553 (synopsis "Common Foreign Function Interface for Common Lisp")
2554 (description "The Common Foreign Function Interface (CFFI)
2555purports to be a portable foreign function interface for Common Lisp.
2556The CFFI library is composed of a Lisp-implementation-specific backend
2557in the CFFI-SYS package, and a portable frontend in the CFFI
2558package.")
2559 (license license:expat)))
2560
2561(define-public sbcl-cffi-toolchain
2562 (package
2563 (inherit sbcl-cffi-bootstrap)
2564 (name "sbcl-cffi-toolchain")
2565 (inputs
2566 `(("libffi" ,libffi)
2567 ("sbcl-cffi" ,sbcl-cffi-bootstrap)))
2568 (arguments
2569 (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap)
2570 ((#:asd-system-name _) #f)
2571 ((#:tests? _) #t)))))
2572
2573(define-public sbcl-cffi-libffi
2574 (package
2575 (inherit sbcl-cffi-toolchain)
2576 (name "sbcl-cffi-libffi")
2577 (inputs
2578 `(("cffi" ,sbcl-cffi-bootstrap)
2579 ("cffi-grovel" ,sbcl-cffi-grovel)
2580 ("trivial-features" ,sbcl-trivial-features)
2581 ("libffi" ,libffi)))))
2582
2583(define-public sbcl-cffi-grovel
2584 (package
2585 (inherit sbcl-cffi-toolchain)
2586 (name "sbcl-cffi-grovel")
2587 (inputs
2588 `(("libffi" ,libffi)
2589 ("cffi" ,sbcl-cffi-bootstrap)
2590 ("cffi-toolchain" ,sbcl-cffi-toolchain)
2591 ("alexandria" ,sbcl-alexandria)))
2592 (arguments
2593 (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain)
2594 ((#:phases phases)
2595 `(modify-phases ,phases
2596 (add-after 'build 'install-headers
2597 (lambda* (#:key outputs #:allow-other-keys)
2598 (install-file "grovel/common.h"
2599 (string-append
2600 (assoc-ref outputs "out")
2601 "/include/grovel"))))))))))
2602
2603(define-public sbcl-cffi
2604 (package
2605 (inherit sbcl-cffi-toolchain)
2606 (name "sbcl-cffi")
2607 (inputs (package-inputs sbcl-cffi-bootstrap))
2608 (native-inputs
2609 `(("cffi-grovel" ,sbcl-cffi-grovel)
2610 ("cffi-libffi" ,sbcl-cffi-libffi)
2611 ("rt" ,sbcl-rt)
2612 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2613 ,@(package-native-inputs sbcl-cffi-bootstrap)))))
2614
2615(define-public cl-cffi
2616 (sbcl-package->cl-source-package sbcl-cffi))
2617
25cefc87
GLV
2618(define-public sbcl-cffi-uffi-compat
2619 (package
2620 (inherit sbcl-cffi-toolchain)
2621 (name "sbcl-cffi-uffi-compat")
2622 (native-inputs
2623 `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase
2624 (inputs
2625 `(("cffi" ,sbcl-cffi)))
2626 (synopsis "UFFI Compatibility Layer for CFFI")))
2627
2628(define-public cl-cffi-uffi-compat
2629 (sbcl-package->cl-source-package sbcl-cffi-uffi-compat))
2630
88f06fd0
PN
2631(define-public sbcl-cl-sqlite
2632 (let ((commit "c738e66d4266ef63a1debc4ef4a1b871a068c112"))
2633 (package
2634 (name "sbcl-cl-sqlite")
2635 (version (git-version "0.2" "1" commit))
2636 (source
2637 (origin
2638 (method git-fetch)
2639 (uri (git-reference
2640 (url "https://github.com/dmitryvk/cl-sqlite")
2641 (commit commit)))
2642 (file-name (git-file-name "cl-sqlite" version))
2643 (sha256
2644 (base32
2645 "1ng45k1hdb84sqjryrfx93g66bsbybmpy301wd0fdybnc5jzr36q"))))
2646 (build-system asdf-build-system/sbcl)
2647 (inputs
2648 `(("iterate" ,sbcl-iterate)
2649 ("cffi" ,sbcl-cffi)
2650 ("sqlite" ,sqlite)))
2651 (native-inputs
2652 `(("fiveam" ,sbcl-fiveam)
2653 ("bordeaux-threads" ,sbcl-bordeaux-threads)))
2654 (arguments
2655 `(#:tests? #f ; Upstream seems to have issues with tests: https://github.com/dmitryvk/cl-sqlite/issues/7
2656 #:asd-file "sqlite.asd"
2657 #:asd-system-name "sqlite"
2658 #:phases
2659 (modify-phases %standard-phases
2660 (add-after 'unpack 'fix-paths
2661 (lambda* (#:key inputs #:allow-other-keys)
2662 (substitute* "sqlite-ffi.lisp"
2663 (("libsqlite3" all) (string-append
2664 (assoc-ref inputs "sqlite")"/lib/" all))))))))
2665 (home-page "https://common-lisp.net/project/cl-sqlite/")
2666 (synopsis "Common Lisp binding for SQLite")
2667 (description
2668 "The @command{cl-sqlite} package is an interface to the SQLite embedded
2669relational database engine.")
2670 (license license:public-domain))))
2671
2672(define-public cl-sqlite
2673 (sbcl-package->cl-source-package sbcl-cl-sqlite))
2674
2675(define-public sbcl-parenscript
a84b7a4a
PN
2676 ;; Source archives are overwritten on every release, we use the Git repo instead.
2677 (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766"))
88f06fd0
PN
2678 (package
2679 (name "sbcl-parenscript")
a84b7a4a 2680 (version (git-version "2.7.1" "1" commit))
88f06fd0
PN
2681 (source
2682 (origin
2683 (method git-fetch)
2684 (uri (git-reference
2685 (url "https://gitlab.common-lisp.net/parenscript/parenscript")
2686 (commit commit)))
2687 (file-name (git-file-name "parenscript" version))
2688 (sha256
2689 (base32
a84b7a4a 2690 "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf"))))
88f06fd0
PN
2691 (build-system asdf-build-system/sbcl)
2692 (inputs
2693 `(("cl-ppcre" ,sbcl-cl-ppcre)
2694 ("anaphora" ,sbcl-anaphora)
2695 ("named-readtables" ,sbcl-named-readtables)))
2696 (home-page "https://common-lisp.net/project/parenscript/")
2697 (synopsis "Translator from a subset of Common Lisp to JavaScript")
2698 (description
2699 "Parenscript is a translator from an extended subset of Common Lisp to
2700JavaScript. Parenscript code can run almost identically on both the
2701browser (as JavaScript) and server (as Common Lisp).
2702
2703Parenscript code is treated the same way as Common Lisp code, making the full
2704power of Lisp macros available for JavaScript. This provides a web
2705development environment that is unmatched in its ability to reduce code
2706duplication and provide advanced meta-programming facilities to web
2707developers.
2708
2709At the same time, Parenscript is different from almost all other \"language
2710X\" to JavaScript translators in that it imposes almost no overhead:
2711
2712@itemize
2713@item No run-time dependencies: Any piece of Parenscript code is runnable
2714as-is. There are no JavaScript files to include.
2715@item Native types: Parenscript works entirely with native JavaScript data
2716types. There are no new types introduced, and object prototypes are not
2717touched.
2718@item Native calling convention: Any JavaScript code can be called without the
2719need for bindings. Likewise, Parenscript can be used to make efficient,
2720self-contained JavaScript libraries.
2721@item Readable code: Parenscript generates concise, formatted, idiomatic
2722JavaScript code. Identifier names are preserved. This enables seamless
2723debugging in tools like Firebug.
2724@item Efficiency: Parenscript introduces minimal overhead for advanced Common
2725Lisp features. The generated code is almost as fast as hand-written
2726JavaScript.
2727@end itemize\n")
2728 (license license:bsd-3))))
2729
2730(define-public cl-parenscript
2731 (sbcl-package->cl-source-package sbcl-parenscript))
2732
2733(define-public ecl-parenscript
2734 (sbcl-package->ecl-package sbcl-parenscript))
2735
2736(define-public sbcl-cl-json
2737 (let ((commit "6dfebb9540bfc3cc33582d0c03c9ec27cb913e79"))
2738 (package
2739 (name "sbcl-cl-json")
2740 (version (git-version "0.5" "1" commit))
2741 (source
2742 (origin
2743 (method git-fetch)
2744 (uri (git-reference
2745 (url "https://github.com/hankhero/cl-json")
2746 (commit commit)))
2747 (file-name (git-file-name "cl-json" version))
2748 (sha256
2749 (base32
2750 "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh"))))
2751 (build-system asdf-build-system/sbcl)
2752 (native-inputs
2753 `(("fiveam" ,sbcl-fiveam)))
2754 (home-page "https://github.com/hankhero/cl-json")
2755 (synopsis "JSON encoder and decoder for Common-Lisp")
2756 (description
2757 "@command{cl-json} provides an encoder of Lisp objects to JSON format
2758and a corresponding decoder of JSON data to Lisp objects. Both the encoder
2759and the decoder are highly customizable; at the same time, the default
2760settings ensure a very simple mode of operation, similar to that provided by
2761@command{yason} or @command{st-json}.")
2762 (license license:expat))))
2763
2764(define-public cl-json
2765 (sbcl-package->cl-source-package sbcl-cl-json))
2766
2767(define-public ecl-cl-json
2768 (sbcl-package->ecl-package sbcl-cl-json))
2769
2770(define-public sbcl-unix-opts
2771 (package
2772 (name "sbcl-unix-opts")
2773 (version "0.1.7")
2774 (source
2775 (origin
2776 (method git-fetch)
2777 (uri (git-reference
2778 (url "https://github.com/libre-man/unix-opts")
2779 (commit version)))
2780 (file-name (git-file-name "unix-opts" version))
2781 (sha256
2782 (base32
2783 "08djdi1ard09fijb7w9bdmhmwd98b1hzmcnjw9fqjiqa0g3b44rr"))))
2784 (build-system asdf-build-system/sbcl)
2785 (home-page "https://github.com/hankhero/cl-json")
2786 (synopsis "Unix-style command line options parser")
2787 (description
2788 "This is a minimalistic parser of command line options. The main
2789advantage of the library is the ability to concisely define command line
2790options once and then use this definition for parsing and extraction of
2791command line arguments, as well as printing description of command line
2792options (you get --help for free). This way you don't need to repeat
102fc7bc
VC
2793yourself. Also, @command{unix-opts} doesn't depend on anything and
2794precisely controls the behavior of the parser via Common Lisp restarts.")
88f06fd0
PN
2795 (license license:expat)))
2796
2797(define-public cl-unix-opts
2798 (sbcl-package->cl-source-package sbcl-unix-opts))
2799
2800(define-public ecl-unix-opts
2801 (sbcl-package->ecl-package sbcl-unix-opts))
2802
2803(define-public sbcl-trivial-garbage
2804 (package
2805 (name "sbcl-trivial-garbage")
2806 (version "0.21")
2807 (source
2808 (origin
2809 (method git-fetch)
2810 (uri (git-reference
2811 (url "https://github.com/trivial-garbage/trivial-garbage.git")
2812 (commit (string-append "v" version))))
2813 (file-name (git-file-name "trivial-garbage" version))
2814 (sha256
2815 (base32 "0122jicfg7pca1wxw8zak1n92h5friqy60988ns0ysksj3fphw9n"))))
2816 (build-system asdf-build-system/sbcl)
2817 (native-inputs
2818 `(("rt" ,sbcl-rt)))
2819 (home-page "https://common-lisp.net/project/trivial-garbage/")
2820 (synopsis "Portable GC-related APIs for Common Lisp")
2821 (description "@command{trivial-garbage} provides a portable API to
2822finalizers, weak hash-tables and weak pointers on all major implementations of
2823the Common Lisp programming language.")
2824 (license license:public-domain)))
2825
2826(define-public cl-trivial-garbage
2827 (sbcl-package->cl-source-package sbcl-trivial-garbage))
2828
2829(define-public ecl-trivial-garbage
2830 (sbcl-package->ecl-package sbcl-trivial-garbage))
2831
2832(define-public sbcl-closer-mop
d4c04565 2833 (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6"))
88f06fd0
PN
2834 (package
2835 (name "sbcl-closer-mop")
d4c04565 2836 (version (git-version "1.0.0" "2" commit))
88f06fd0
PN
2837 (source
2838 (origin
2839 (method git-fetch)
2840 (uri (git-reference
2841 (url "https://github.com/pcostanza/closer-mop")
2842 (commit commit)))
2843 (sha256
d4c04565 2844 (base32 "1w3x087wvlwkd6swfdgbvjfs6kazf0la8ax4pjfzikwjch4snn2c"))
88f06fd0
PN
2845 (file-name (git-file-name "closer-mop" version ))))
2846 (build-system asdf-build-system/sbcl)
2847 (home-page "https://github.com/pcostanza/closer-mop")
2848 (synopsis "Rectifies absent or incorrect CLOS MOP features")
2849 (description "Closer to MOP is a compatibility layer that rectifies many
2850of the absent or incorrect CLOS MOP features across a broad range of Common
2851Lisp implementations.")
2852 (license license:expat))))
2853
2854(define-public cl-closer-mop
2855 (sbcl-package->cl-source-package sbcl-closer-mop))
2856
2857(define-public ecl-closer-mop
2858 (sbcl-package->ecl-package sbcl-closer-mop))
2859
2860(define sbcl-cl-cffi-gtk-boot0
1addc201 2861 (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4"))
88f06fd0
PN
2862 (package
2863 (name "sbcl-cl-cffi-gtk-boot0")
2864 (version (git-version "0.11.2" "1" commit))
2865 (source
2866 (origin
2867 (method git-fetch)
2868 (uri (git-reference
2869 (url "https://github.com/Ferada/cl-cffi-gtk/")
2870 (commit commit)))
2871 (file-name (git-file-name "cl-cffi-gtk" version))
2872 (sha256
2873 (base32
1addc201 2874 "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn"))))
88f06fd0
PN
2875 (build-system asdf-build-system/sbcl)
2876 (inputs
2877 `(("iterate" ,sbcl-iterate)
2878 ("cffi" ,sbcl-cffi)
2879 ("trivial-features" ,sbcl-trivial-features)))
2880 (home-page "https://github.com/Ferada/cl-cffi-gtk/")
2881 (synopsis "Common Lisp binding for GTK+3")
2882 (description
2883 "@command{cl-cffi-gtk} is a Lisp binding to GTK+ 3 (GIMP Toolkit) which
2884is a library for creating graphical user interfaces.")
2885 (license license:lgpl3))))
2886
2887(define-public sbcl-cl-cffi-gtk-glib
2888 (package
2889 (inherit sbcl-cl-cffi-gtk-boot0)
2890 (name "sbcl-cl-cffi-gtk-glib")
2891 (inputs
2892 `(("glib" ,glib)
1addc201 2893 ("bordeaux-threads" ,sbcl-bordeaux-threads)
88f06fd0
PN
2894 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2895 (arguments
2896 `(#:asd-file "glib/cl-cffi-gtk-glib.asd"
2897 #:phases
2898 (modify-phases %standard-phases
2899 (add-after 'unpack 'fix-paths
2900 (lambda* (#:key inputs #:allow-other-keys)
2901 (substitute* "glib/glib.init.lisp"
1addc201
PN
2902 (("libglib|libgthread" all)
2903 (string-append (assoc-ref inputs "glib") "/lib/" all))))))))))
88f06fd0
PN
2904
2905(define-public sbcl-cl-cffi-gtk-gobject
2906 (package
2907 (inherit sbcl-cl-cffi-gtk-boot0)
2908 (name "sbcl-cl-cffi-gtk-gobject")
2909 (inputs
2910 `(("glib" ,glib)
2911 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2912 ("trivial-garbage" ,sbcl-trivial-garbage)
2913 ("bordeaux-threads" ,sbcl-bordeaux-threads)
2914 ("closer-mop" ,sbcl-closer-mop)
2915 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2916 (arguments
2917 `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd"
2918 #:phases
2919 (modify-phases %standard-phases
2920 (add-after 'unpack 'fix-paths
2921 (lambda* (#:key inputs #:allow-other-keys)
2922 (substitute* "gobject/gobject.init.lisp"
2923 (("libgobject" all) (string-append
eac71f54
PN
2924 (assoc-ref inputs "glib") "/lib/" all)))))
2925 (add-after 'install 'link-source
2926 ;; Since source is particularly heavy (16MiB+), let's reuse it
2927 ;; across the different components of cl-ffi-gtk.
2928 (lambda* (#:key inputs outputs #:allow-other-keys)
2929 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2930 "/share/common-lisp/sbcl-source/"
2931 "cl-cffi-gtk-glib"))
2932 (out-source (string-append (assoc-ref outputs "out")
2933 "/share/common-lisp/sbcl-source/"
2934 "cl-cffi-gtk-gobject")))
2935 (delete-file-recursively out-source)
2936 (symlink glib-source out-source)
2937 #t))))))))
88f06fd0
PN
2938
2939(define-public sbcl-cl-cffi-gtk-gio
2940 (package
2941 (inherit sbcl-cl-cffi-gtk-boot0)
2942 (name "sbcl-cl-cffi-gtk-gio")
2943 (inputs
2944 `(("glib" ,glib)
2945 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2946 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2947 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2948 (arguments
2949 `(#:asd-file "gio/cl-cffi-gtk-gio.asd"
2950 #:phases
2951 (modify-phases %standard-phases
2952 (add-after 'unpack 'fix-paths
2953 (lambda* (#:key inputs #:allow-other-keys)
2954 (substitute* "gio/gio.init.lisp"
2955 (("libgio" all)
2956 (string-append
6a7f3668
PN
2957 (assoc-ref inputs "glib") "/lib/" all)))))
2958 (add-after 'install 'link-source
2959 ;; Since source is particularly heavy (16MiB+), let's reuse it
2960 ;; across the different components of cl-ffi-gtk.
2961 (lambda* (#:key inputs outputs #:allow-other-keys)
2962 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2963 "/share/common-lisp/sbcl-source/"
2964 "cl-cffi-gtk-glib"))
2965 (out-source (string-append (assoc-ref outputs "out")
2966 "/share/common-lisp/sbcl-source/"
2967 "cl-cffi-gtk-gio")))
2968 (delete-file-recursively out-source)
2969 (symlink glib-source out-source)
2970 #t))))))))
88f06fd0
PN
2971
2972(define-public sbcl-cl-cffi-gtk-cairo
2973 (package
2974 (inherit sbcl-cl-cffi-gtk-boot0)
2975 (name "sbcl-cl-cffi-gtk-cairo")
2976 (inputs
2977 `(("cairo" ,cairo)
2978 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
2979 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
2980 (arguments
2981 `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd"
2982 #:phases
2983 (modify-phases %standard-phases
2984 (add-after 'unpack 'fix-paths
2985 (lambda* (#:key inputs #:allow-other-keys)
2986 (substitute* "cairo/cairo.init.lisp"
2987 (("libcairo" all)
2988 (string-append
8f46a9d6
PN
2989 (assoc-ref inputs "cairo") "/lib/" all)))))
2990 (add-after 'install 'link-source
2991 ;; Since source is particularly heavy (16MiB+), let's reuse it
2992 ;; across the different components of cl-ffi-gtk.
2993 (lambda* (#:key inputs outputs #:allow-other-keys)
2994 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
2995 "/share/common-lisp/sbcl-source/"
2996 "cl-cffi-gtk-glib"))
2997 (out-source (string-append (assoc-ref outputs "out")
2998 "/share/common-lisp/sbcl-source/"
2999 "cl-cffi-gtk-cairo")))
3000 (delete-file-recursively out-source)
3001 (symlink glib-source out-source)
3002 #t))))))))
88f06fd0
PN
3003
3004(define-public sbcl-cl-cffi-gtk-pango
3005 (package
3006 (inherit sbcl-cl-cffi-gtk-boot0)
3007 (name "sbcl-cl-cffi-gtk-pango")
3008 (inputs
3009 `(("pango" ,pango)
3010 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3011 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3012 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3013 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3014 (arguments
3015 `(#:asd-file "pango/cl-cffi-gtk-pango.asd"
3016 #:phases
3017 (modify-phases %standard-phases
3018 (add-after 'unpack 'fix-paths
3019 (lambda* (#:key inputs #:allow-other-keys)
3020 (substitute* "pango/pango.init.lisp"
3021 (("libpango" all)
3022 (string-append
d27f033f
PN
3023 (assoc-ref inputs "pango") "/lib/" all)))))
3024 (add-after 'install 'link-source
3025 ;; Since source is particularly heavy (16MiB+), let's reuse it
3026 ;; across the different components of cl-ffi-gtk.
3027 (lambda* (#:key inputs outputs #:allow-other-keys)
3028 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3029 "/share/common-lisp/sbcl-source/"
3030 "cl-cffi-gtk-glib"))
3031 (out-source (string-append (assoc-ref outputs "out")
3032 "/share/common-lisp/sbcl-source/"
3033 "cl-cffi-gtk-pango")))
3034 (delete-file-recursively out-source)
3035 (symlink glib-source out-source)
3036 #t))))))))
88f06fd0
PN
3037
3038(define-public sbcl-cl-cffi-gtk-gdk-pixbuf
3039 (package
3040 (inherit sbcl-cl-cffi-gtk-boot0)
3041 (name "sbcl-cl-cffi-gtk-gdk-pixbuf")
3042 (inputs
3043 `(("gdk-pixbuf" ,gdk-pixbuf)
3044 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
2666a336 3045 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3046 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3047 (arguments
3048 `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd"
3049 #:phases
3050 (modify-phases %standard-phases
3051 (add-after 'unpack 'fix-paths
3052 (lambda* (#:key inputs #:allow-other-keys)
3053 (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp"
3054 (("libgdk_pixbuf" all)
3055 (string-append
2666a336
PN
3056 (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))))
3057 (add-after 'install 'link-source
3058 ;; Since source is particularly heavy (16MiB+), let's reuse it
3059 ;; across the different components of cl-ffi-gtk.
3060 (lambda* (#:key inputs outputs #:allow-other-keys)
3061 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3062 "/share/common-lisp/sbcl-source/"
3063 "cl-cffi-gtk-glib"))
3064 (out-source (string-append (assoc-ref outputs "out")
3065 "/share/common-lisp/sbcl-source/"
3066 "cl-cffi-gtk-gdk-pixbuf")))
3067 (delete-file-recursively out-source)
3068 (symlink glib-source out-source)
3069 #t))))))))
88f06fd0
PN
3070
3071(define-public sbcl-cl-cffi-gtk-gdk
3072 (package
3073 (inherit sbcl-cl-cffi-gtk-boot0)
3074 (name "sbcl-cl-cffi-gtk-gdk")
3075 (inputs
3076 `(("gtk" ,gtk+)
80d8c00c 3077 ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
88f06fd0
PN
3078 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3079 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3080 ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf)
3081 ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo)
3082 ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango)
3083 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3084 (arguments
3085 `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd"
3086 #:phases
3087 (modify-phases %standard-phases
3088 (add-after 'unpack 'fix-paths
3089 (lambda* (#:key inputs #:allow-other-keys)
3090 (substitute* "gdk/gdk.init.lisp"
3091 (("libgdk" all)
3092 (string-append
3093 (assoc-ref inputs "gtk") "/lib/" all)))
3094 (substitute* "gdk/gdk.package.lisp"
3095 (("libgtk" all)
3096 (string-append
80d8c00c
PN
3097 (assoc-ref inputs "gtk") "/lib/" all)))))
3098 (add-after 'install 'link-source
3099 ;; Since source is particularly heavy (16MiB+), let's reuse it
3100 ;; across the different components of cl-ffi-gtk.
3101 (lambda* (#:key inputs outputs #:allow-other-keys)
3102 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3103 "/share/common-lisp/sbcl-source/"
3104 "cl-cffi-gtk-glib"))
3105 (out-source (string-append (assoc-ref outputs "out")
3106 "/share/common-lisp/sbcl-source/"
3107 "cl-cffi-gtk-gdk")))
3108 (delete-file-recursively out-source)
3109 (symlink glib-source out-source)
3110 #t))))))))
88f06fd0
PN
3111
3112(define-public sbcl-cl-cffi-gtk
3113 (package
3114 (inherit sbcl-cl-cffi-gtk-boot0)
3115 (name "sbcl-cl-cffi-gtk")
3116 (inputs
3117 `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib)
3118 ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject)
3119 ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio)
3120 ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk)
3121 ,@(package-inputs sbcl-cl-cffi-gtk-boot0)))
3122 (native-inputs
3123 `(("fiveam" ,sbcl-fiveam)))
3124 (arguments
3125 `(#:asd-file "gtk/cl-cffi-gtk.asd"
3126 #:test-asd-file "test/cl-cffi-gtk-test.asd"
3127 ;; TODO: Tests fail with memory fault.
3128 ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24.
143eaa82
PN
3129 #:tests? #f
3130 #:phases
3131 (modify-phases %standard-phases
3132 (add-after 'install 'link-source
3133 ;; Since source is particularly heavy (16MiB+), let's reuse it
3134 ;; across the different components of cl-ffi-gtk.
3135 (lambda* (#:key inputs outputs #:allow-other-keys)
3136 (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib")
3137 "/share/common-lisp/sbcl-source/"
3138 "cl-cffi-gtk-glib"))
3139 (out-source (string-append (assoc-ref outputs "out")
3140 "/share/common-lisp/sbcl-source/"
3141 "cl-cffi-gtk")))
3142 (delete-file-recursively out-source)
3143 (symlink glib-source out-source)
3144 #t))))))))
88f06fd0
PN
3145
3146(define-public cl-cffi-gtk
3147 (sbcl-package->cl-source-package sbcl-cl-cffi-gtk))
3148
3149(define-public sbcl-cl-webkit
ec5c22c2 3150 (let ((commit "f93cb9697e8813068795fe4dc39ac950d814102d"))
88f06fd0
PN
3151 (package
3152 (name "sbcl-cl-webkit")
ec5c22c2 3153 (version (git-version "2.4" "3" commit))
88f06fd0
PN
3154 (source
3155 (origin
3156 (method git-fetch)
3157 (uri (git-reference
94aab844 3158 (url "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3159 (commit commit)))
3160 (file-name (git-file-name "cl-webkit" version))
3161 (sha256
3162 (base32
ec5c22c2 3163 "1sjcw08kjpd5h83sms7zcq2nymddjygk9hm2rpgzrl524an9ziwc"))))
88f06fd0
PN
3164 (build-system asdf-build-system/sbcl)
3165 (inputs
3166 `(("cffi" ,sbcl-cffi)
3167 ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
3168 ("webkitgtk" ,webkitgtk)))
3169 (arguments
3170 `(#:asd-file "webkit2/cl-webkit2.asd"
3171 #:asd-system-name "cl-webkit2"
3172 #:phases
3173 (modify-phases %standard-phases
3174 (add-after 'unpack 'fix-paths
3175 (lambda* (#:key inputs #:allow-other-keys)
3176 (substitute* "webkit2/webkit2.init.lisp"
3177 (("libwebkit2gtk" all)
3178 (string-append
3179 (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
94aab844 3180 (home-page "https://github.com/joachifm/cl-webkit")
88f06fd0
PN
3181 (synopsis "Binding to WebKitGTK+ for Common Lisp")
3182 (description
3183 "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
3184currently targeting WebKit version 2. The WebKitGTK+ library adds web
3185browsing capabilities to an application, leveraging the full power of the
3186WebKit browsing engine.")
3187 (license license:expat))))
3188
3189(define-public cl-webkit
3190 (sbcl-package->cl-source-package sbcl-cl-webkit))
3191
3192(define-public sbcl-lparallel
3193 (package
3194 (name "sbcl-lparallel")
3195 (version "2.8.4")
3196 (source
3197 (origin
3198 (method git-fetch)
3199 (uri (git-reference
3200 (url "https://github.com/lmj/lparallel/")
3201 (commit (string-append "lparallel-" version))))
3202 (file-name (git-file-name "lparallel" version))
3203 (sha256
3204 (base32
3205 "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9"))))
3206 (build-system asdf-build-system/sbcl)
3207 (inputs
3208 `(("alexandria" ,sbcl-alexandria)
3209 ("bordeaux-threads" ,sbcl-bordeaux-threads)
3210 ("trivial-garbage" ,sbcl-trivial-garbage)))
3211 (home-page "https://lparallel.org/")
3212 (synopsis "Parallelism for Common Lisp")
3213 (description
3214 "@command{lparallel} is a library for parallel programming in Common
3215Lisp, featuring:
3216
3217@itemize
3218@item a simple model of task submission with receiving queue,
3219@item constructs for expressing fine-grained parallelism,
3220@item asynchronous condition handling across thread boundaries,
3221@item parallel versions of map, reduce, sort, remove, and many others,
3222@item promises, futures, and delayed evaluation constructs,
3223@item computation trees for parallelizing interconnected tasks,
3224@item bounded and unbounded FIFO queues,
3225@item high and low priority tasks,
3226@item task killing by category,
3227@item integrated timeouts.
3228@end itemize\n")
3229 (license license:expat)))
3230
3231(define-public cl-lparallel
3232 (sbcl-package->cl-source-package sbcl-lparallel))
3233
3234(define-public ecl-lparallel
3235 (sbcl-package->ecl-package sbcl-lparallel))
3236
3237(define-public sbcl-cl-markup
3238 (let ((commit "e0eb7debf4bdff98d1f49d0f811321a6a637b390"))
3239 (package
3240 (name "sbcl-cl-markup")
3241 (version (git-version "0.1" "1" commit))
3242 (source
3243 (origin
3244 (method git-fetch)
3245 (uri (git-reference
3246 (url "https://github.com/arielnetworks/cl-markup/")
3247 (commit commit)))
3248 (file-name (git-file-name "cl-markup" version))
3249 (sha256
3250 (base32
3251 "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7"))))
3252 (build-system asdf-build-system/sbcl)
3253 (home-page "https://github.com/arielnetworks/cl-markup/")
3254 (synopsis "Markup generation library for Common Lisp")
3255 (description
3256 "A modern markup generation library for Common Lisp that features:
3257
3258@itemize
3259@item Fast (even faster through compiling the code)
3260@item Safety
3261@item Support for multiple document types (markup, xml, html, html5, xhtml)
3262@item Output with doctype
3263@item Direct output to stream
3264@end itemize\n")
3265 (license license:lgpl3+))))
3266
3267(define-public cl-markup
3268 (sbcl-package->cl-source-package sbcl-cl-markup))
3269
3270(define-public ecl-cl-markup
3271 (sbcl-package->ecl-package sbcl-cl-markup))
3272
3273(define-public sbcl-cl-css
3274 (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f"))
3275 (package
3276 (name "sbcl-cl-css")
3277 (version (git-version "0.1" "1" commit))
3278 (source
3279 (origin
3280 (method git-fetch)
3281 (uri (git-reference
3282 (url "https://github.com/inaimathi/cl-css/")
3283 (commit commit)))
3284 (file-name (git-file-name "cl-css" version))
3285 (sha256
3286 (base32
3287 "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd"))))
3288 (build-system asdf-build-system/sbcl)
3289 (home-page "https://github.com/inaimathi/cl-css/")
3290 (synopsis "Non-validating, inline CSS generator for Common Lisp")
3291 (description
3292 "This is a dead-simple, non validating, inline CSS generator for Common
3293Lisp. Its goals are axiomatic syntax, simple implementation to support
3294portability, and boilerplate reduction in CSS.")
3295 (license license:expat))))
3296
3297(define-public cl-css
3298 (sbcl-package->cl-source-package sbcl-cl-css))
3299
3300(define-public ecl-cl-css
3301 (sbcl-package->ecl-package sbcl-cl-css))
3302
3303(define-public sbcl-portable-threads
3304 (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920"))
3305 (package
3306 (name "sbcl-portable-threads")
3307 (version (git-version "2.3" "1" commit))
3308 (source
3309 (origin
3310 (method git-fetch)
3311 (uri (git-reference
3312 (url "https://github.com/binghe/portable-threads/")
3313 (commit commit)))
3314 (file-name (git-file-name "portable-threads" version))
3315 (sha256
3316 (base32
3317 "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq"))))
3318 (build-system asdf-build-system/sbcl)
3319 (arguments
3320 `(;; Tests seem broken.
3321 #:tests? #f))
3322 (home-page "https://github.com/binghe/portable-threads")
3323 (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp")
3324 (description
3325 "Portable Threads (and Scheduled and Periodic Functions) API for Common
3326Lisp (from GBBopen project).")
3327 (license license:asl2.0))))
3328
3329(define-public cl-portable-threads
3330 (sbcl-package->cl-source-package sbcl-portable-threads))
3331
3332(define-public ecl-portable-threada
3333 (sbcl-package->ecl-package sbcl-portable-threads))
3334
b23e6f5d 3335(define sbcl-usocket-boot0
88f06fd0
PN
3336 ;; usocket's test rely on usocket-server which depends on usocket itself.
3337 ;; We break this cyclic dependency with -boot0 that packages usocket.
b23e6f5d
GLV
3338 (package
3339 (name "sbcl-usocket-boot0")
3340 (version "0.8.3")
3341 (source
3342 (origin
3343 (method git-fetch)
3344 (uri (git-reference
3345 (url "https://github.com/usocket/usocket/")
3346 (commit (string-append "v" version))))
3347 (file-name (git-file-name "usocket" version))
3348 (sha256
3349 (base32
3350 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826"))))
3351 (build-system asdf-build-system/sbcl)
3352 (inputs
3353 `(("split-sequence" ,sbcl-split-sequence)))
3354 (arguments
3355 `(#:tests? #f
3356 #:asd-system-name "usocket"))
3357 (home-page "https://common-lisp.net/project/usocket/")
3358 (synopsis "Universal socket library for Common Lisp (server side)")
3359 (description
3360 "This library strives to provide a portable TCP/IP and UDP/IP socket
88f06fd0
PN
3361interface for as many Common Lisp implementations as possible, while keeping
3362the abstraction and portability layer as thin as possible.")
b23e6f5d 3363 (license license:expat)))
88f06fd0
PN
3364
3365(define-public sbcl-usocket-server
3366 (package
3367 (inherit sbcl-usocket-boot0)
3368 (name "sbcl-usocket-server")
3369 (inputs
b23e6f5d
GLV
3370 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
3371 ("usocket" ,sbcl-usocket-boot0)))
88f06fd0
PN
3372 (arguments
3373 '(#:asd-system-name "usocket-server"))
3374 (synopsis "Universal socket library for Common Lisp (server side)")))
3375
3376(define-public cl-usocket-server
3377 (sbcl-package->cl-source-package sbcl-usocket-server))
3378
3379(define-public ecl-socket-server
3380 (sbcl-package->ecl-package sbcl-usocket-server))
3381
3382(define-public sbcl-usocket
3383 (package
3384 (inherit sbcl-usocket-boot0)
3385 (name "sbcl-usocket")
3386 (arguments
3387 ;; FIXME: Tests need network access?
3388 `(#:tests? #f))
3389 (native-inputs
3390 ;; Testing only.
3391 `(("usocket-server" ,sbcl-usocket-server)
3392 ("rt" ,sbcl-rt)))))
3393
3394(define-public cl-usocket
3395 (sbcl-package->cl-source-package sbcl-usocket))
3396
b23e6f5d 3397(define-public ecl-usocket
88f06fd0
PN
3398 (sbcl-package->ecl-package sbcl-usocket))
3399
3400(define-public sbcl-s-xml
3401 (package
3402 (name "sbcl-s-xml")
3403 (version "3")
3404 (source
3405 (origin
3406 (method url-fetch)
3407 (uri "https://common-lisp.net/project/s-xml/s-xml.tgz")
3408 (sha256
3409 (base32
3410 "061qcr0dzshsa38s5ma4ay924cwak2nq9gy59dw6v9p0qb58nzjf"))))
3411 (build-system asdf-build-system/sbcl)
3412 (home-page "https://common-lisp.net/project/s-xml/")
3413 (synopsis "Simple XML parser implemented in Common Lisp")
3414 (description
3415 "S-XML is a simple XML parser implemented in Common Lisp. This XML
3416parser implementation has the following features:
3417
3418@itemize
3419@item It works (handling many common XML usages).
3420@item It is very small (the core is about 700 lines of code, including
3421comments and whitespace).
3422@item It has a core API that is simple, efficient and pure functional, much
3423like that from SSAX (see also http://ssax.sourceforge.net).
3424@item It supports different DOM models: an XSML-based one, an LXML-based one
3425and a classic xml-element struct based one.
3426@item It is reasonably time and space efficient (internally avoiding garbage
3427generatation as much as possible).
3428@item It does support CDATA.
3429@item It should support the same character sets as your Common Lisp
3430implementation.
3431@item It does support XML name spaces.
3432@end itemize
3433
3434This XML parser implementation has the following limitations:
3435
3436@itemize
3437@item It does not support any special tags (like processing instructions).
3438@item It is not validating, even skips DTD's all together.
3439@end itemize\n")
3440 (license license:lgpl3+)))
3441
3442(define-public cl-s-xml
3443 (sbcl-package->cl-source-package sbcl-s-xml))
3444
3445(define-public ecl-s-xml
3446 (sbcl-package->ecl-package sbcl-s-xml))
3447
3448(define-public sbcl-s-xml-rpc
3449 (package
3450 (name "sbcl-s-xml-rpc")
3451 (version "7")
3452 (source
3453 (origin
3454 (method url-fetch)
3455 (uri "https://common-lisp.net/project/s-xml-rpc/s-xml-rpc.tgz")
3456 (sha256
3457 (base32
3458 "02z7k163d51v0pzk8mn1xb6h5s6x64gjqkslhwm3a5x26k2gfs11"))))
3459 (build-system asdf-build-system/sbcl)
3460 (inputs
3461 `(("s-xml" ,sbcl-s-xml)))
3462 (home-page "https://common-lisp.net/project/s-xml-rpc/")
3463 (synopsis "Implementation of XML-RPC in Common Lisp for both client and server")
3464 (description
3465 "S-XML-RPC is an implementation of XML-RPC in Common Lisp for both
3466client and server.")
3467 (license license:lgpl3+)))
3468
3469(define-public cl-s-xml-rpc
3470 (sbcl-package->cl-source-package sbcl-s-xml-rpc))
3471
3472(define-public ecl-s-xml-rpc
3473 (sbcl-package->ecl-package sbcl-s-xml-rpc))
3474
3475(define-public sbcl-trivial-clipboard
3476 (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796"))
3477 (package
3478 (name "sbcl-trivial-clipboard")
3479 (version (git-version "0.0.0.0" "2" commit))
3480 (source
3481 (origin
3482 (method git-fetch)
3483 (uri (git-reference
3484 (url "https://github.com/snmsts/trivial-clipboard")
3485 (commit commit)))
3486 (file-name (git-file-name "trivial-clipboard" version))
3487 (sha256
3488 (base32
3489 "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9"))))
3490 (build-system asdf-build-system/sbcl)
3491 (inputs
3492 `(("xclip" ,xclip)))
3493 (native-inputs
3494 `(("fiveam" ,sbcl-fiveam)))
3495 (arguments
3496 `(#:phases
3497 (modify-phases %standard-phases
3498 (add-after 'unpack 'fix-paths
3499 (lambda* (#:key inputs #:allow-other-keys)
3500 (substitute* "src/text.lisp"
3501 (("\\(executable-find \"xclip\"\\)")
3502 (string-append "(executable-find \""
3503 (assoc-ref inputs "xclip")
3504 "/bin/xclip\")"))))))))
3505 (home-page "https://github.com/snmsts/trivial-clipboard")
3506 (synopsis "Access system clipboard in Common Lisp")
3507 (description
3508 "@command{trivial-clipboard} gives access to the system clipboard.")
3509 (license license:expat))))
3510
3511(define-public cl-trivial-clipboard
3512 (sbcl-package->cl-source-package sbcl-trivial-clipboard))
3513
3514(define-public ecl-trivial-clipboard
3515 (sbcl-package->ecl-package sbcl-trivial-clipboard))
3516
3517(define-public sbcl-trivial-backtrace
3518 (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
3519 (revision "1"))
3520 (package
3521 (name "sbcl-trivial-backtrace")
3522 (version (git-version "0.0.0" revision commit))
3523 (source
3524 (origin
3525 (method git-fetch)
3526 (uri (git-reference
3527 (url "https://github.com/gwkkwg/trivial-backtrace.git")
3528 (commit commit)))
3529 (file-name (git-file-name "trivial-backtrace" version))
3530 (sha256
3531 (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
3532 (build-system asdf-build-system/sbcl)
3533 (inputs
3534 `(("sbcl-lift" ,sbcl-lift)))
8dc2af3b
GLV
3535 (arguments
3536 `(#:phases
3537 (modify-phases %standard-phases
3538 (add-after 'check 'delete-test-results
3539 (lambda* (#:key outputs #:allow-other-keys)
3540 (let ((test-results (string-append (assoc-ref outputs "out")
3541 "/share/common-lisp/"
3542 (%lisp-type) "-source"
3543 "/trivial-backtrace"
3544 "/test-results")))
3545 (when (file-exists? test-results)
3546 (delete-file-recursively test-results)))
3547 #t)))))
88f06fd0
PN
3548 (home-page "https://common-lisp.net/project/trivial-backtrace/")
3549 (synopsis "Portable simple API to work with backtraces in Common Lisp")
3550 (description
3551 "On of the many things that didn't quite get into the Common Lisp
3552standard was how to get a Lisp to output its call stack when something has
3553gone wrong. As such, each Lisp has developed its own notion of what to
3554display, how to display it, and what sort of arguments can be used to
3555customize it. @code{trivial-backtrace} is a simple solution to generating a
3556backtrace portably.")
3557 (license license:expat))))
3558
3559(define-public cl-trivial-backtrace
3560 (sbcl-package->cl-source-package sbcl-trivial-backtrace))
3561
3562(define-public sbcl-rfc2388
3563 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
3564 (revision "1"))
3565 (package
3566 (name "sbcl-rfc2388")
3567 (version (git-version "0.0.0" revision commit))
3568 (source
3569 (origin
3570 (method git-fetch)
3571 (uri (git-reference
3572 (url "https://github.com/jdz/rfc2388.git")
3573 (commit commit)))
3574 (file-name (git-file-name "rfc2388" version))
3575 (sha256
3576 (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
3577 (build-system asdf-build-system/sbcl)
3578 (home-page "https://github.com/jdz/rfc2388/")
3579 (synopsis "An implementation of RFC 2388 in Common Lisp")
3580 (description
3581 "This package contains an implementation of RFC 2388, which is used to
3582process form data posted with HTTP POST method using enctype
3583\"multipart/form-data\".")
3584 (license license:bsd-2))))
3585
3586(define-public cl-rfc2388
3587 (sbcl-package->cl-source-package sbcl-rfc2388))
3588
3589(define-public sbcl-md5
3590 (package
3591 (name "sbcl-md5")
3592 (version "2.0.4")
3593 (source
3594 (origin
3595 (method url-fetch)
3596 (uri (string-append
3597 "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
3598 (sha256
3599 (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
3600 (build-system asdf-build-system/sbcl)
3601 (home-page "https://github.com/pmai/md5")
3602 (synopsis
3603 "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
3604 (description
3605 "This package implements The MD5 Message-Digest Algorithm, as defined in
3606RFC 1321 by R. Rivest, published April 1992.")
3607 (license license:public-domain)))
3608
3609(define-public cl-md5
3610 (sbcl-package->cl-source-package sbcl-md5))
3611
3612(define-public sbcl-cl+ssl
14620ce7 3613 (let ((commit "701e645081e6533a3f0f0b3ac86389d6f506c4b5")
88f06fd0
PN
3614 (revision "1"))
3615 (package
3616 (name "sbcl-cl+ssl")
3617 (version (git-version "0.0.0" revision commit))
3618 (source
3619 (origin
3620 (method git-fetch)
3621 (uri (git-reference
3622 (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
3623 (commit commit)))
3624 (file-name (git-file-name "cl+ssl" version))
3625 (sha256
14620ce7 3626 (base32 "0nfl275nwhff3m25872y388cydz14kqb6zbwywa6nj85r9k8bgs0"))))
88f06fd0
PN
3627 (build-system asdf-build-system/sbcl)
3628 (arguments
3629 '(#:phases
3630 (modify-phases %standard-phases
3631 (add-after 'unpack 'fix-paths
3632 (lambda* (#:key inputs #:allow-other-keys)
3633 (substitute* "src/reload.lisp"
3634 (("libssl.so" all)
3635 (string-append
3636 (assoc-ref inputs "openssl") "/lib/" all))))))))
3637 (inputs
3638 `(("openssl" ,openssl)
3639 ("sbcl-cffi" ,sbcl-cffi)
3640 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
3641 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3642 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
3643 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)
3644 ("sbcl-alexandria" ,sbcl-alexandria)
3645 ("sbcl-trivial-features" ,sbcl-trivial-features)))
113c9b97 3646 (home-page "https://common-lisp.net/project/cl-plus-ssl/")
88f06fd0
PN
3647 (synopsis "Common Lisp bindings to OpenSSL")
3648 (description
3649 "This library is a fork of SSL-CMUCL. The original SSL-CMUCL source
3650code was written by Eric Marsden and includes contributions by Jochen Schmidt.
3651Development into CL+SSL was done by David Lichteblau.")
3652 (license license:expat))))
3653
3654(define-public cl-cl+ssl
3655 (sbcl-package->cl-source-package sbcl-cl+ssl))
3656
3657(define-public sbcl-kmrcl
3658 (let ((version "1.109.0")
3659 (commit "5260068b2eb735af6796740c2db4955afac21636")
3660 (revision "1"))
3661 (package
3662 (name "sbcl-kmrcl")
3663 (version (git-version version revision commit))
3664 (source
3665 (origin
3666 (method git-fetch)
3667 (uri (git-reference
3668 (url "http://git.kpe.io/kmrcl.git/")
3669 (commit commit)))
3670 (file-name (git-file-name name version))
3671 (sha256
3672 (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
3673 (build-system asdf-build-system/sbcl)
3674 (arguments
3675 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
3676 ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
3677 '(#:tests? #f))
3678 (inputs
3679 `(("sbcl-rt" ,sbcl-rt)))
3680 (home-page "http://files.kpe.io/kmrcl/")
3681 (synopsis "General utilities for Common Lisp programs")
3682 (description
3683 "KMRCL is a collection of utilities used by a number of Kevin
3684Rosenberg's CL packages.")
3685 (license license:llgpl))))
3686
3687(define-public cl-kmrcl
3688 (sbcl-package->cl-source-package sbcl-kmrcl))
3689
3690(define-public sbcl-cl-base64
d7043fd9
PN
3691 (package
3692 (name "sbcl-cl-base64")
3693 (version "3.3.4")
3694 (source
3695 (origin
3696 (method url-fetch)
3697 (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-"
3698 version ".tar.gz"))
3699 (sha256
3700 (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2"))))
3701 (build-system asdf-build-system/sbcl)
3702 (arguments
3703 ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
3704 ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
3705 ;; to toplevel
3706 '(#:tests? #f))
3707 (inputs
3708 `(("sbcl-ptester" ,sbcl-ptester)
3709 ("sbcl-kmrcl" ,sbcl-kmrcl)))
3710 (home-page "http://files.kpe.io/cl-base64/")
3711 (synopsis
3712 "Common Lisp package to encode and decode base64 with URI support")
3713 (description
3714 "This package provides highly optimized base64 encoding and decoding.
88f06fd0
PN
3715Besides conversion to and from strings, integer conversions are supported.
3716Encoding with Uniform Resource Identifiers is supported by using a modified
3717encoding table that uses only URI-compatible characters.")
d7043fd9 3718 (license license:bsd-3)))
88f06fd0
PN
3719
3720(define-public cl-base64
3721 (sbcl-package->cl-source-package sbcl-cl-base64))
3722
3723(define-public sbcl-chunga
3724 (package
3725 (name "sbcl-chunga")
3726 (version "1.1.7")
3727 (source
3728 (origin
3729 (method git-fetch)
3730 (uri (git-reference
3731 (url "https://github.com/edicl/chunga.git")
3732 (commit (string-append "v" version))))
3733 (file-name (git-file-name name version))
3734 (sha256
3735 (base32 "0jzn3nyb3f22gm983rfk99smqs3mhb9ivjmasvhq9qla5cl9pyhd"))))
3736 (build-system asdf-build-system/sbcl)
3737 (inputs
3738 `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
3739 (home-page "https://edicl.github.io/chunga/")
3740 (synopsis "Portable chunked streams for Common Lisp")
3741 (description
3742 "Chunga implements streams capable of chunked encoding on demand as
3743defined in RFC 2616.")
3744 (license license:bsd-2)))
3745
3746(define-public cl-chunga
3747 (sbcl-package->cl-source-package sbcl-chunga))
3748
3749(define-public sbcl-cl-who
3750 (let ((version "1.1.4")
3751 (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
3752 (revision "1"))
3753 (package
3754 (name "sbcl-cl-who")
3755 (version (git-version version revision commit))
3756 (source
3757 (origin
3758 (method git-fetch)
3759 (uri (git-reference
3760 (url "https://github.com/edicl/cl-who.git")
3761 (commit commit)))
3762 (file-name (git-file-name name version))
3763 (sha256
3764 (base32
3765 "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
3766 (build-system asdf-build-system/sbcl)
3767 (native-inputs
3768 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3769 (home-page "https://edicl.github.io/cl-who/")
3770 (synopsis "Yet another Lisp markup language")
3771 (description
3772 "There are plenty of Lisp Markup Languages out there - every Lisp
3773programmer seems to write at least one during his career - and CL-WHO (where
3774WHO means \"with-html-output\" for want of a better acronym) is probably just
3775as good or bad as the next one.")
3776 (license license:bsd-2))))
3777
3778(define-public cl-cl-who
3779 (sbcl-package->cl-source-package sbcl-cl-who))
3780
3781(define-public sbcl-chipz
3782 (let ((version "0.8")
3783 (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
3784 (revision "1"))
3785 (package
3786 (name "sbcl-chipz")
3787 (version (git-version version revision commit))
3788 (source
3789 (origin
3790 (method git-fetch)
3791 (uri (git-reference
3792 (url "https://github.com/froydnj/chipz.git")
3793 (commit commit)))
3794 (file-name (git-file-name name version))
3795 (sha256
3796 (base32
3797 "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
3798 (build-system asdf-build-system/sbcl)
3799 (native-inputs
3800 `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
3801 (home-page "http://method-combination.net/lisp/chipz/")
3802 (synopsis
3803 "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
3804data")
3805 (description
3806 "DEFLATE data, defined in RFC1951, forms the core of popular
3807compression formats such as zlib (RFC 1950) and gzip (RFC 1952). As such,
3808Chipz also provides for decompressing data in those formats as well. BZIP2 is
3809the format used by the popular compression tool bzip2.")
3810 ;; The author describes it as "MIT-like"
3811 (license license:expat))))
3812
3813(define-public cl-chipz
3814 (sbcl-package->cl-source-package sbcl-chipz))
3815
3816(define-public sbcl-drakma
a2b6b973
GLV
3817 (package
3818 (name "sbcl-drakma")
3819 (version "2.0.7")
3820 (source
3821 (origin
3822 (method git-fetch)
3823 (uri (git-reference
3824 (url "https://github.com/edicl/drakma.git")
3825 (commit (string-append "v" version))))
3826 (file-name (git-file-name name version))
3827 (sha256
3828 (base32
3829 "1441idnyif9xzx3ln1p3fg36k2v9h4wasjqrzc8y52j61420qpci"))))
3830 (build-system asdf-build-system/sbcl)
3831 (inputs
3832 `(("sbcl-puri" ,sbcl-puri)
3833 ("sbcl-cl-base64" ,sbcl-cl-base64)
3834 ("sbcl-chunga" ,sbcl-chunga)
3835 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3836 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3837 ("sbcl-chipz" ,sbcl-chipz)
3838 ("sbcl-usocket" ,sbcl-usocket)
3839 ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
3840 (native-inputs
3841 `(("sbcl-fiveam" ,sbcl-fiveam)))
3842 (home-page "https://edicl.github.io/drakma/")
3843 (synopsis "HTTP client written in Common Lisp")
3844 (description
3845 "Drakma is a full-featured HTTP client implemented in Common Lisp. It
88f06fd0
PN
3846knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
3847sockets, SSL, continuable uploads, file uploads, cookies, and more.")
a2b6b973 3848 (license license:bsd-2)))
88f06fd0
PN
3849
3850(define-public cl-drakma
3851 (sbcl-package->cl-source-package sbcl-drakma))
3852
10ac723b
GLV
3853(define-public ecl-drakma
3854 (sbcl-package->ecl-package sbcl-drakma))
3855
88f06fd0
PN
3856(define-public sbcl-hunchentoot
3857 (package
3858 (name "sbcl-hunchentoot")
3859 (version "1.2.38")
3860 (source
3861 (origin
3862 (method git-fetch)
3863 (uri (git-reference
3864 (url "https://github.com/edicl/hunchentoot.git")
3865 (commit (string-append "v" version))))
3866 (file-name (git-file-name "hunchentoot" version))
3867 (sha256
3868 (base32 "1anpcad7w045m4rsjs1f3xdhjwx5cppq1h0vlb3q7dz81fi3i6yq"))))
3869 (build-system asdf-build-system/sbcl)
3870 (native-inputs
3871 `(("sbcl-cl-who" ,sbcl-cl-who)
3872 ("sbcl-drakma" ,sbcl-drakma)))
3873 (inputs
3874 `(("sbcl-chunga" ,sbcl-chunga)
3875 ("sbcl-cl-base64" ,sbcl-cl-base64)
3876 ("sbcl-cl-fad" ,sbcl-cl-fad)
3877 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
3878 ("sbcl-flexi-streams" ,sbcl-flexi-streams)
3879 ("sbcl-cl+ssl" ,sbcl-cl+ssl)
3880 ("sbcl-md5" ,sbcl-md5)
3881 ("sbcl-rfc2388" ,sbcl-rfc2388)
3882 ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
3883 ("sbcl-usocket" ,sbcl-usocket)))
3884 (home-page "https://edicl.github.io/hunchentoot/")
3885 (synopsis "Web server written in Common Lisp")
3886 (description
3887 "Hunchentoot is a web server written in Common Lisp and at the same
3888time a toolkit for building dynamic websites. As a stand-alone web server,
3889Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
3890connections (keep-alive), and SSL.")
3891 (license license:bsd-2)))
3892
3893(define-public cl-hunchentoot
3894 (sbcl-package->cl-source-package sbcl-hunchentoot))
3895
3896(define-public sbcl-trivial-types
3897 (package
3898 (name "sbcl-trivial-types")
3899 (version "0.0.1")
3900 (source
3901 (origin
3902 (method git-fetch)
3903 (uri (git-reference
3904 (url "https://github.com/m2ym/trivial-types.git")
3905 (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
3906 (file-name (git-file-name name version))
3907 (sha256
3908 (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
3909 (build-system asdf-build-system/sbcl)
3910 (home-page "https://github.com/m2ym/trivial-types")
3911 (synopsis "Trivial type definitions for Common Lisp")
3912 (description
3913 "TRIVIAL-TYPES provides missing but important type definitions such as
3914PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
3915 (license license:llgpl)))
3916
3917(define-public cl-trivial-types
3918 (sbcl-package->cl-source-package sbcl-trivial-types))
3919
3920(define-public sbcl-cl-syntax
3921 (package
3922 (name "sbcl-cl-syntax")
3923 (version "0.0.3")
3924 (source
3925 (origin
3926 (method git-fetch)
3927 (uri (git-reference
3928 (url "https://github.com/m2ym/cl-syntax.git")
3929 (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
3930 (file-name (git-file-name "cl-syntax" version))
3931 (sha256
3932 (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
3933 (build-system asdf-build-system/sbcl)
3934 (arguments
3935 '(#:asd-file "cl-syntax.asd"
3936 #:asd-system-name "cl-syntax"))
3937 (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
3938 ("sbcl-named-readtables" ,sbcl-named-readtables)))
3939 (home-page "https://github.com/m2ym/cl-syntax")
3940 (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
3941 (description
3942 "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
3943 (license license:llgpl)))
3944
3945(define-public cl-syntax
3946 (sbcl-package->cl-source-package sbcl-cl-syntax))
3947
3948(define-public sbcl-cl-annot
3949 (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
3950 (revision "1"))
3951 (package
3952 (name "sbcl-cl-annot")
3953 (version (git-version "0.0.0" revision commit))
3954 (source
3955 (origin
3956 (method git-fetch)
3957 (uri (git-reference
3958 (url "https://github.com/m2ym/cl-annot.git")
3959 (commit commit)))
3960 (file-name (git-file-name name version))
3961 (sha256
3962 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
3963 (build-system asdf-build-system/sbcl)
3964 (arguments
3965 '(#:asd-file "cl-annot.asd"
3966 #:asd-system-name "cl-annot"))
3967 (inputs
3968 `(("sbcl-alexandria" ,sbcl-alexandria)))
3969 (home-page "https://github.com/m2ym/cl-annot")
3970 (synopsis "Python-like Annotation Syntax for Common Lisp.")
3971 (description
3972 "@code{cl-annot} is an general annotation library for Common Lisp.")
3973 (license license:llgpl))))
3974
3975(define-public cl-annot
3976 (sbcl-package->cl-source-package sbcl-cl-annot))
3977
3978(define-public sbcl-cl-syntax-annot
3979 (package
0627ad30 3980 (inherit sbcl-cl-syntax)
88f06fd0 3981 (name "sbcl-cl-syntax-annot")
88f06fd0
PN
3982 (arguments
3983 '(#:asd-file "cl-syntax-annot.asd"
3984 #:asd-system-name "cl-syntax-annot"))
3985 (inputs
3986 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
3987 ("sbcl-cl-annot" ,sbcl-cl-annot)))
0627ad30 3988 (synopsis "Common Lisp reader Syntax for cl-annot")
88f06fd0 3989 (description
0627ad30
PN
3990 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
3991@code{cl-annot}.")))
88f06fd0
PN
3992
3993(define-public cl-syntax-annot
3994 (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
3995
5b22df94
PN
3996(define-public sbcl-cl-syntax-interpol
3997 (package
3998 (inherit sbcl-cl-syntax)
3999 (name "sbcl-cl-syntax-interpol")
4000 (arguments
4001 '(#:asd-file "cl-syntax-interpol.asd"
4002 #:asd-system-name "cl-syntax-interpol"))
4003 (inputs
4004 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4005 ("sbcl-cl-interpol" ,sbcl-cl-interpol)))
4006 (synopsis "Common Lisp reader Syntax for cl-interpol")
4007 (description
4008 "CL-SYNTAX provides reader syntax coventions for Common Lisp and
4009@code{cl-interpol}.")))
4010
4011(define-public cl-syntax-interpol
4012 (sbcl-package->cl-source-package sbcl-cl-syntax-interpol))
4013
88f06fd0
PN
4014(define-public sbcl-cl-utilities
4015 (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
4016 (revision "1"))
4017 (package
4018 (name "sbcl-cl-utilities")
4019 (version (git-version "0.0.0" revision commit))
4020 (source
4021 (origin
4022 (method url-fetch)
4023 (uri
4024 (string-append
4025 "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
4026 "archive/" commit "/cl-utilities-" commit ".tar.gz"))
4027 (sha256
4028 (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
4029 (build-system asdf-build-system/sbcl)
4030 (arguments
4031 '(#:asd-file "cl-utilities.asd"
4032 #:asd-system-name "cl-utilities"
4033 #:phases
4034 (modify-phases %standard-phases
4035 (add-after 'unpack 'fix-paths
4036 (lambda* (#:key inputs #:allow-other-keys)
4037 (substitute* "rotate-byte.lisp"
4038 (("in-package :cl-utilities)" all)
4039 "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
4040 (home-page "http://common-lisp.net/project/cl-utilities")
4041 (synopsis "A collection of semi-standard utilities")
4042 (description
4043 "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
4044is a collection of Common Lisp Utilities, things that everybody writes since
4045they're not part of the official standard. There are some very useful things
4046there; the only problems are that they aren't implemented as well as you'd
4047like (some aren't implemented at all) and they aren't conveniently packaged
4048and maintained. It takes quite a bit of work to carefully implement utilities
4049for common use, commented and documented, with error checking placed
4050everywhere some dumb user might make a mistake.")
4051 (license license:public-domain))))
4052
4053(define-public cl-utilities
4054 (sbcl-package->cl-source-package sbcl-cl-utilities))
4055
4056(define-public sbcl-map-set
4057 (let ((commit "7b4b545b68b8")
4058 (revision "1"))
4059 (package
4060 (name "sbcl-map-set")
4061 (version (git-version "0.0.0" revision commit))
4062 (source
4063 (origin
4064 (method url-fetch)
4065 (uri (string-append
4066 "https://bitbucket.org/tarballs_are_good/map-set/get/"
4067 commit ".tar.gz"))
4068 (sha256
4069 (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
4070 (build-system asdf-build-system/sbcl)
4071 (home-page "https://bitbucket.org/tarballs_are_good/map-set")
4072 (synopsis "Set-like data structure")
4073 (description
4074 "Implementation of a set-like data structure with constant time
4075addition, removal, and random selection.")
4076 (license license:bsd-3))))
4077
4078(define-public cl-map-set
4079 (sbcl-package->cl-source-package sbcl-map-set))
4080
4081(define-public sbcl-quri
27c7df29
PN
4082 (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a")
4083 (revision "2"))
88f06fd0
PN
4084 (package
4085 (name "sbcl-quri")
4086 (version (git-version "0.1.0" revision commit))
4087 (source
4088 (origin
4089 (method git-fetch)
4090 (uri (git-reference
4091 (url "https://github.com/fukamachi/quri.git")
4092 (commit commit)))
4093 (file-name (git-file-name name version))
4094 (sha256
27c7df29 4095 (base32 "0cansr63m690ymvhway419178mq2sqnmxm4rdxclbsrnjwwbi36m"))))
88f06fd0
PN
4096 (build-system asdf-build-system/sbcl)
4097 (arguments
4098 ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
4099 ;; required by #<SYSTEM "quri">. Why?
4100 '(#:tests? #f))
4101 (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4102 ("sbcl-prove" ,sbcl-prove)))
4103 (inputs `(("sbcl-babel" ,sbcl-babel)
4104 ("sbcl-split-sequence" ,sbcl-split-sequence)
4105 ("sbcl-cl-utilities" ,sbcl-cl-utilities)
4106 ("sbcl-alexandria" ,sbcl-alexandria)))
4107 (home-page "https://github.com/fukamachi/quri")
4108 (synopsis "Yet another URI library for Common Lisp")
4109 (description
4110 "QURI (pronounced \"Q-ree\") is yet another URI library for Common
4111Lisp. It is intended to be a replacement of PURI.")
4112 (license license:bsd-3))))
4113
4114(define-public cl-quri
4115 (sbcl-package->cl-source-package sbcl-quri))
4116
4117(define-public sbcl-myway
4118 (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
4119 (revision "1"))
4120 (package
4121 (name "sbcl-myway")
4122 (version (git-version "0.1.0" revision commit))
4123 (source
4124 (origin
4125 (method git-fetch)
4126 (uri (git-reference
4127 (url "https://github.com/fukamachi/myway.git")
4128 (commit commit)))
4129 (file-name (git-file-name "myway" version))
4130 (sha256
4131 (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
4132 (build-system asdf-build-system/sbcl)
4133 (arguments
4134 ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
4135 ;; by #<SYSTEM "myway">. Why?
4136 '(#:tests? #f))
4137 (native-inputs
4138 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4139 ("sbcl-prove" ,sbcl-prove)))
4140 (inputs
4141 `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
4142 ("sbcl-quri" ,sbcl-quri)
4143 ("sbcl-map-set" ,sbcl-map-set)))
4144 (home-page "https://github.com/fukamachi/myway")
4145 (synopsis "Sinatra-compatible URL routing library for Common Lisp")
4146 (description "My Way is a Sinatra-compatible URL routing library.")
4147 (license license:llgpl))))
4148
4149(define-public cl-myway
4150 (sbcl-package->cl-source-package sbcl-myway))
4151
4152(define-public sbcl-xsubseq
4153 (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
4154 (revision "1"))
4155 (package
4156 (name "sbcl-xsubseq")
4157 (version (git-version "0.0.1" revision commit))
4158 (source
4159 (origin
4160 (method git-fetch)
4161 (uri (git-reference
4162 (url "https://github.com/fukamachi/xsubseq")
4163 (commit commit)))
4164 (file-name (git-file-name name version))
4165 (sha256
4166 (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
4167 (build-system asdf-build-system/sbcl)
4168 (arguments
4169 ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
4170 ;; required by #<SYSTEM "xsubseq">. Why?
4171 '(#:tests? #f))
4172 (native-inputs
4173 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4174 ("sbcl-prove" ,sbcl-prove)))
4175 (home-page "https://github.com/fukamachi/xsubseq")
4176 (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
4177 (description
4178 "XSubseq provides functions to be able to handle \"subseq\"s more
4179effieiently.")
4180 (license license:bsd-2))))
4181
4182(define-public cl-xsubseq
4183 (sbcl-package->cl-source-package sbcl-xsubseq))
4184
4185(define-public sbcl-smart-buffer
4186 (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
4187 (revision "1"))
4188 (package
4189 (name "sbcl-smart-buffer")
4190 (version (git-version "0.0.1" revision commit))
4191 (source
4192 (origin
4193 (method git-fetch)
4194 (uri (git-reference
4195 (url "https://github.com/fukamachi/smart-buffer")
4196 (commit commit)))
4197 (file-name (git-file-name name version))
4198 (sha256
4199 (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
4200 (build-system asdf-build-system/sbcl)
4201 (arguments
4202 ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
4203 ;; found, required by #<SYSTEM "smart-buffer">. Why?
4204 `(#:tests? #f))
4205 (native-inputs
4206 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4207 ("sbcl-prove" ,sbcl-prove)))
4208 (inputs
4209 `(("sbcl-xsubseq" ,sbcl-xsubseq)
4210 ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
4211 (home-page "https://github.com/fukamachi/smart-buffer")
4212 (synopsis "Smart octets buffer")
4213 (description
4214 "Smart-buffer provides an output buffer which changes the destination
4215depending on content size.")
4216 (license license:bsd-3))))
4217
4218(define-public cl-smart-buffer
4219 (sbcl-package->cl-source-package sbcl-smart-buffer))
4220
4221(define-public sbcl-fast-http
47e73008
PN
4222 (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a")
4223 (revision "2"))
88f06fd0
PN
4224 (package
4225 (name "sbcl-fast-http")
4226 (version (git-version "0.2.0" revision commit))
4227 (source
4228 (origin
4229 (method git-fetch)
4230 (uri (git-reference
4231 (url "https://github.com/fukamachi/fast-http")
4232 (commit commit)))
4233 (file-name (git-file-name name version))
4234 (sha256
47e73008 4235 (base32 "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi"))))
88f06fd0
PN
4236 (build-system asdf-build-system/sbcl)
4237 (arguments
4238 ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
4239 ;; required by #<SYSTEM "fast-http">. Why?
4240 `(#:tests? #f))
4241 (native-inputs
4242 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
47e73008
PN
4243 ("sbcl-prove" ,sbcl-prove)
4244 ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol)))
88f06fd0
PN
4245 (inputs
4246 `(("sbcl-alexandria" ,sbcl-alexandria)
4247 ("sbcl-proc-parse" ,sbcl-proc-parse)
4248 ("sbcl-xsubseq" ,sbcl-xsubseq)
4249 ("sbcl-smart-buffer" ,sbcl-smart-buffer)
4250 ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
4251 (home-page "https://github.com/fukamachi/fast-http")
4252 (synopsis "HTTP request/response parser for Common Lisp")
4253 (description
4254 "@code{fast-http} is a HTTP request/response protocol parser for Common
4255Lisp.")
4256 ;; Author specified the MIT license
4257 (license license:expat))))
4258
4259(define-public cl-fast-http
4260 (sbcl-package->cl-source-package sbcl-fast-http))
4261
4262(define-public sbcl-static-vectors
ba55cbda
GLV
4263 (package
4264 (name "sbcl-static-vectors")
4265 (version "1.8.4")
4266 (source
4267 (origin
88f06fd0
PN
4268 (method git-fetch)
4269 (uri (git-reference
4270 (url "https://github.com/sionescu/static-vectors.git")
ba55cbda 4271 (commit (string-append "v" version))))
88f06fd0
PN
4272 (file-name (git-file-name name version))
4273 (sha256
ba55cbda
GLV
4274 (base32 "0qvf9z6bhwhm8n45fjwkm7j8dcb58szfvndky65cyn4lpdval7m1"))))
4275 (native-inputs
4276 `(("sbcl-fiveam" ,sbcl-fiveam)))
4277 (inputs
4278 `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
4279 ("sbcl-cffi" ,sbcl-cffi)))
4280 (build-system asdf-build-system/sbcl)
6b40dbff 4281 (home-page "https://github.com/sionescu/static-vectors")
ba55cbda
GLV
4282 (synopsis "Allocate SIMPLE-ARRAYs in static memory")
4283 (description
4284 "With @code{static-vectors}, you can create vectors allocated in static
88f06fd0 4285memory.")
ba55cbda 4286 (license license:expat)))
88f06fd0
PN
4287
4288(define-public cl-static-vectors
4289 (sbcl-package->cl-source-package sbcl-static-vectors))
4290
f6a6f085
GLV
4291(define-public ecl-static-vectors
4292 (sbcl-package->ecl-package sbcl-static-vectors))
4293
88f06fd0
PN
4294(define-public sbcl-marshal
4295 (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
4296 (revision "1"))
4297 (package
4298 (name "sbcl-marshal")
4299 (version (git-version "1.3.0" revision commit))
4300 (source
4301 (origin
4302 (method git-fetch)
4303 (uri (git-reference
4304 (url "https://github.com/wlbr/cl-marshal.git")
4305 (commit commit)))
4306 (file-name (git-file-name name version))
4307 (sha256
4308 (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
4309 (build-system asdf-build-system/sbcl)
4310 (home-page "https://github.com/wlbr/cl-marshal")
4311 (synopsis "Simple (de)serialization of Lisp datastructures")
4312 (description
4313 "Simple and fast marshalling of Lisp datastructures. Convert any object
4314into a string representation, put it on a stream an revive it from there.
4315Only minimal changes required to make your CLOS objects serializable.")
4316 (license license:expat))))
4317
4318(define-public cl-marshal
4319 (sbcl-package->cl-source-package sbcl-marshal))
4320
4321(define-public sbcl-checkl
4322 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
4323 (revision "1"))
4324 (package
4325 (name "sbcl-checkl")
4326 (version (git-version "0.0.0" revision commit))
4327 (source
4328 (origin
4329 (method git-fetch)
4330 (uri (git-reference
4331 (url "https://github.com/rpav/CheckL.git")
4332 (commit commit)))
4333 (file-name (git-file-name name version))
4334 (sha256
4335 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
4336 (build-system asdf-build-system/sbcl)
4337 (arguments
4338 ;; Error while trying to load definition for system checkl-test from
4339 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
4340 ;; is undefined.
4341 '(#:tests? #f))
4342 (native-inputs
4343 `(("sbcl-fiveam" ,sbcl-fiveam)))
4344 (inputs
4345 `(("sbcl-marshal" ,sbcl-marshal)))
4346 (home-page "https://github.com/rpav/CheckL/")
4347 (synopsis "Dynamic testing for Common Lisp")
4348 (description
4349 "CheckL lets you write tests dynamically, it checks resulting values
4350against the last run.")
4351 ;; The author specifies both LLGPL and "BSD", but the "BSD" license
4352 ;; isn't specified anywhere, so I don't know which kind. LLGPL is the
4353 ;; stronger of the two and so I think only listing this should suffice.
4354 (license license:llgpl))))
4355
4356(define-public cl-checkl
4357 (sbcl-package->cl-source-package sbcl-checkl))
4358
4359(define-public sbcl-fast-io
481f41e3
PN
4360 (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b")
4361 (revision "2"))
88f06fd0
PN
4362 (package
4363 (name "sbcl-fast-io")
4364 (version (git-version "1.0.0" revision commit))
4365 (source
4366 (origin
4367 (method git-fetch)
4368 (uri (git-reference
4369 (url "https://github.com/rpav/fast-io.git")
4370 (commit commit)))
4371 (file-name (git-file-name name version))
4372 (sha256
481f41e3 4373 (base32 "00agvc0xx4w715i6ach05p995zpcpghn04xc06zyci06q677vw3n"))))
88f06fd0
PN
4374 (build-system asdf-build-system/sbcl)
4375 (arguments
4376 ;; Error while trying to load definition for system fast-io-test from
4377 ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
4378 ;; is undefined.
4379 '(#:tests? #f))
4380 (native-inputs
4381 `(("sbcl-fiveam" ,sbcl-fiveam)
4382 ("sbcl-checkl" ,sbcl-checkl)))
4383 (inputs
4384 `(("sbcl-alexandria" ,sbcl-alexandria)
4385 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
4386 ("sbcl-static-vectors" ,sbcl-static-vectors)))
4387 (home-page "https://github.com/rpav/fast-io")
4388 (synopsis "Fast octet-vector/stream I/O for Common Lisp")
4389 (description
4390 "Fast-io is about improving performance to octet-vectors and octet
4391streams (though primarily the former, while wrapping the latter).")
4392 ;; Author specifies this as NewBSD which is an alias
4393 (license license:bsd-3))))
4394
4395(define-public cl-fast-io
4396 (sbcl-package->cl-source-package sbcl-fast-io))
4397
4398(define-public sbcl-jonathan
4399 (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
4400 (revision "1"))
4401 (package
4402 (name "sbcl-jonathan")
4403 (version (git-version "0.1.0" revision commit))
4404 (source
4405 (origin
4406 (method git-fetch)
4407 (uri (git-reference
4408 (url "https://github.com/Rudolph-Miller/jonathan.git")
4409 (commit commit)))
4410 (file-name (git-file-name name version))
4411 (sha256
4412 (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
4413 (build-system asdf-build-system/sbcl)
4414 (arguments
4415 ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
4416 ;; required by #<SYSTEM "jonathan">. Why?
4417 `(#:tests? #f))
4418 (native-inputs
4419 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4420 ("sbcl-prove" ,sbcl-prove)))
4421 (inputs
4422 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4423 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4424 ("sbcl-fast-io" ,sbcl-fast-io)
4425 ("sbcl-proc-parse" ,sbcl-proc-parse)
4426 ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
46a5d07e 4427 (home-page "https://rudolph-miller.github.io/jonathan/overview.html")
88f06fd0
PN
4428 (synopsis "JSON encoder and decoder")
4429 (description
4430 "High performance JSON encoder and decoder. Currently support: SBCL,
4431CCL.")
4432 ;; Author specifies the MIT license
4433 (license license:expat))))
4434
4435(define-public cl-jonathan
4436 (sbcl-package->cl-source-package sbcl-jonathan))
4437
4438(define-public sbcl-http-body
4439 (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
4440 (revision "1"))
4441 (package
4442 (name "sbcl-http-body")
4443 (version (git-version "0.1.0" revision commit))
4444 (source
4445 (origin
4446 (method git-fetch)
4447 (uri (git-reference
4448 (url "https://github.com/fukamachi/http-body")
4449 (commit commit)))
4450 (file-name (git-file-name name version))
4451 (sha256
4452 (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
4453 (build-system asdf-build-system/sbcl)
4454 (arguments
4455 ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
4456 ;; found, required by #<SYSTEM "http-body">. Why?
4457 `(#:tests? #f))
4458 (native-inputs
4459 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4460 ("sbcl-prove" ,sbcl-prove)))
4461 (inputs
4462 `(("sbcl-fast-http" ,sbcl-fast-http)
4463 ("sbcl-jonathan" ,sbcl-jonathan)
4464 ("sbcl-quri" ,sbcl-quri)))
4465 (home-page "https://github.com/fukamachi/http-body")
4466 (synopsis "HTTP POST data parser")
4467 (description
4468 "HTTP-Body parses HTTP POST data and returns POST parameters. It
4469supports application/x-www-form-urlencoded, application/json, and
4470multipart/form-data.")
4471 (license license:bsd-2))))
4472
4473(define-public cl-http-body
4474 (sbcl-package->cl-source-package sbcl-http-body))
4475
4476(define-public sbcl-circular-streams
4477 (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
4478 (revision "1"))
4479 (package
4480 (name "sbcl-circular-streams")
4481 (version (git-version "0.1.0" revision commit))
4482 (source
4483 (origin
4484 (method git-fetch)
4485 (uri (git-reference
4486 (url "https://github.com/fukamachi/circular-streams")
4487 (commit commit)))
4488 (file-name (git-file-name name version))
4489 (sha256
4490 (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
4491 (build-system asdf-build-system/sbcl)
4492 (arguments
4493 ;; The tests depend on cl-test-more which is now prove. Prove
4494 ;; tests aren't working for some reason.
4495 `(#:tests? #f))
4496 (inputs
4497 `(("sbcl-fast-io" ,sbcl-fast-io)
4498 ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
4499 (home-page "https://github.com/fukamachi/circular-streams")
4500 (synopsis "Circularly readable streams for Common Lisp")
4501 (description
4502 "Circular-Streams allows you to read streams circularly by wrapping real
4503streams. Once you reach end-of-file of a stream, it's file position will be
4504reset to 0 and you're able to read it again.")
4505 (license license:llgpl))))
4506
4507(define-public cl-circular-streams
4508 (sbcl-package->cl-source-package sbcl-circular-streams))
4509
4510(define-public sbcl-lack-request
4511 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4512 (revision "1"))
4513 (package
4514 (name "sbcl-lack-request")
4515 (version (git-version "0.1.0" revision commit))
4516 (source
4517 (origin
4518 (method git-fetch)
4519 (uri (git-reference
4520 (url "https://github.com/fukamachi/lack.git")
4521 (commit commit)))
4522 (file-name (git-file-name "lack-request" version))
4523 (sha256
4524 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4525 (build-system asdf-build-system/sbcl)
4526 (arguments
4527 '(#:asd-file "lack-request.asd"
4528 #:asd-system-name "lack-request"
4529 #:test-asd-file "t-lack-request.asd"
4530 ;; XXX: Component :CLACK-TEST not found
4531 #:tests? #f))
4532 (native-inputs
4533 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4534 ("sbcl-prove" ,sbcl-prove)))
4535 (inputs
4536 `(("sbcl-quri" ,sbcl-quri)
4537 ("sbcl-http-body" ,sbcl-http-body)
4538 ("sbcl-circular-streams" ,sbcl-circular-streams)))
4539 (home-page "https://github.com/fukamachi/lack")
4540 (synopsis "Lack, the core of Clack")
4541 (description
4542 "Lack is a Common Lisp library which allows web applications to be
4543constructed of modular components. It was originally a part of Clack, however
4544it's going to be rewritten as an individual project since Clack v2 with
4545performance and simplicity in mind.")
4546 (license license:llgpl))))
4547
4548(define-public cl-lack-request
4549 (sbcl-package->cl-source-package sbcl-lack-request))
4550
4551(define-public sbcl-local-time
c9d9795f 4552 (let ((commit "62792705245168d3fc2e04164b9a143477284142")
88f06fd0
PN
4553 (revision "1"))
4554 (package
4555 (name "sbcl-local-time")
4556 (version (git-version "1.0.6" revision commit))
4557 (source
4558 (origin
4559 (method git-fetch)
4560 (uri (git-reference
4561 (url "https://github.com/dlowe-net/local-time.git")
4562 (commit commit)))
4563 (file-name (git-file-name name version))
4564 (sha256
c9d9795f 4565 (base32 "1r5zq4l1lrgprdr2pw7wwry194yknnllyjf6lx7snypb3k4r3yir"))))
88f06fd0
PN
4566 (build-system asdf-build-system/sbcl)
4567 (arguments
4568 ;; TODO: Component :STEFIL not found, required by #<SYSTEM
4569 ;; "local-time/test">
4570 '(#:tests? #f))
4571 (native-inputs
4572 `(("stefil" ,sbcl-hu.dwim.stefil)))
4573 (inputs
4574 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
4575 (home-page "https://common-lisp.net/project/local-time/")
4576 (synopsis "Time manipulation library for Common Lisp")
4577 (description
4578 "The LOCAL-TIME library is a Common Lisp library for the manipulation of
4579dates and times. It is based almost entirely upon Erik Naggum's paper \"The
4580Long Painful History of Time\".")
4581 (license license:expat))))
4582
4583(define-public cl-local-time
4584 (sbcl-package->cl-source-package sbcl-local-time))
4585
4586(define-public sbcl-lack-response
4587 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4588 (revision "1"))
4589 (package
4590 (name "sbcl-lack-response")
4591 (version (git-version "0.1.0" revision commit))
4592 (source
4593 (origin
4594 (method git-fetch)
4595 (uri (git-reference
4596 (url "https://github.com/fukamachi/lack.git")
4597 (commit commit)))
4598 (file-name (git-file-name name version))
4599 (sha256
4600 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4601 (build-system asdf-build-system/sbcl)
4602 (arguments
4603 '(#:asd-file "lack-response.asd"
4604 #:asd-system-name "lack-response"
4605 ;; XXX: no tests for lack-response.
4606 #:tests? #f))
4607 (native-inputs
4608 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4609 ("sbcl-prove" ,sbcl-prove)))
4610 (inputs
4611 `(("sbcl-quri" ,sbcl-quri)
4612 ("sbcl-http-body" ,sbcl-http-body)
4613 ("sbcl-circular-streams" ,sbcl-circular-streams)
4614 ("sbcl-local-time" ,sbcl-local-time)))
4615 (home-page "https://github.com/fukamachi/lack")
4616 (synopsis "Lack, the core of Clack")
4617 (description
4618 "Lack is a Common Lisp library which allows web applications to be
4619constructed of modular components. It was originally a part of Clack, however
4620it's going to be rewritten as an individual project since Clack v2 with
4621performance and simplicity in mind.")
4622 (license license:llgpl))))
4623
4624(define-public cl-lack-response
4625 (sbcl-package->cl-source-package sbcl-lack-response))
4626
4627(define-public sbcl-lack-component
4628 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4629 (revision "1"))
4630 (package
4631 (name "sbcl-lack-component")
4632 (version (git-version "0.0.0" revision commit))
4633 (source
4634 (origin
4635 (method git-fetch)
4636 (uri (git-reference
4637 (url "https://github.com/fukamachi/lack.git")
4638 (commit commit)))
4639 (file-name (git-file-name "lack-component" version))
4640 (sha256
4641 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4642 (build-system asdf-build-system/sbcl)
4643 (arguments
4644 '(#:asd-file "lack-component.asd"
4645 #:asd-system-name "lack-component"
4646 #:test-asd-file "t-lack-component.asd"
4647 ;; XXX: Component :LACK-TEST not found
4648 #:tests? #f))
4649 (native-inputs
4650 `(("prove-asdf" ,sbcl-prove-asdf)))
4651 (home-page "https://github.com/fukamachi/lack")
4652 (synopsis "Lack, the core of Clack")
4653 (description
4654 "Lack is a Common Lisp library which allows web applications to be
4655constructed of modular components. It was originally a part of Clack, however
4656it's going to be rewritten as an individual project since Clack v2 with
4657performance and simplicity in mind.")
4658 (license license:llgpl))))
4659
4660(define-public cl-lack-component
4661 (sbcl-package->cl-source-package sbcl-lack-component))
4662
4663(define-public sbcl-lack-util
4664 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4665 (revision "1"))
4666 (package
4667 (name "sbcl-lack-util")
4668 (version (git-version "0.1.0" revision commit))
4669 (source
4670 (origin
4671 (method git-fetch)
4672 (uri (git-reference
4673 (url "https://github.com/fukamachi/lack.git")
4674 (commit commit)))
4675 (file-name (git-file-name "lack-util" version))
4676 (sha256
4677 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4678 (build-system asdf-build-system/sbcl)
4679 (arguments
4680 '(#:asd-file "lack-util.asd"
4681 #:asd-system-name "lack-util"
4682 #:test-asd-file "t-lack-util.asd"
4683 ;; XXX: Component :LACK-TEST not found
4684 #:tests? #f))
4685 (native-inputs
4686 `(("prove-asdf" ,sbcl-prove-asdf)))
4687 (inputs
4688 `(("sbcl-ironclad" ,sbcl-ironclad)))
4689 (home-page "https://github.com/fukamachi/lack")
4690 (synopsis "Lack, the core of Clack")
4691 (description
4692 "Lack is a Common Lisp library which allows web applications to be
4693constructed of modular components. It was originally a part of Clack, however
4694it's going to be rewritten as an individual project since Clack v2 with
4695performance and simplicity in mind.")
4696 (license license:llgpl))))
4697
4698(define-public cl-lack-util
4699 (sbcl-package->cl-source-package sbcl-lack-util))
4700
4701(define-public sbcl-lack-middleware-backtrace
4702 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4703 (revision "1"))
4704 (package
4705 (name "sbcl-lack-middleware-backtrace")
4706 (version (git-version "0.1.0" revision commit))
4707 (source
4708 (origin
4709 (method git-fetch)
4710 (uri (git-reference
4711 (url "https://github.com/fukamachi/lack.git")
4712 (commit commit)))
4713 (file-name (git-file-name "lack-middleware-backtrace" version))
4714 (sha256
4715 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4716 (build-system asdf-build-system/sbcl)
4717 (arguments
4718 '(#:asd-file "lack-middleware-backtrace.asd"
4719 #:asd-system-name "lack-middleware-backtrace"
4720 #:test-asd-file "t-lack-middleware-backtrace.asd"
4721 ;; XXX: Component :LACK not found
4722 #:tests? #f))
4723 (native-inputs
4724 `(("prove-asdf" ,sbcl-prove-asdf)))
4725 (home-page "https://github.com/fukamachi/lack")
4726 (synopsis "Lack, the core of Clack")
4727 (description
4728 "Lack is a Common Lisp library which allows web applications to be
4729constructed of modular components. It was originally a part of Clack, however
4730it's going to be rewritten as an individual project since Clack v2 with
4731performance and simplicity in mind.")
4732 (license license:llgpl))))
4733
4734(define-public cl-lack-middleware-backtrace
4735 (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
4736
4737(define-public sbcl-trivial-mimes
4738 (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
4739 (revision "1"))
4740 (package
4741 (name "sbcl-trivial-mimes")
4742 (version (git-version "1.1.0" revision commit))
4743 (source
4744 (origin
4745 (method git-fetch)
4746 (uri (git-reference
4747 (url "https://github.com/Shinmera/trivial-mimes.git")
4748 (commit commit)))
4749 (file-name (git-file-name name version))
4750 (sha256
4751 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
4752 (build-system asdf-build-system/sbcl)
4753 (arguments
4754 '(#:phases
4755 (modify-phases %standard-phases
4756 (add-after
4757 'unpack 'fix-paths
4758 (lambda* (#:key inputs #:allow-other-keys)
4759 (let ((anchor "#p\"/etc/mime.types\""))
4760 (substitute* "mime-types.lisp"
4761 ((anchor all)
4762 (string-append
4763 anchor "\n"
4764 "(asdf:system-relative-pathname :trivial-mimes "
4765 "\"../../share/common-lisp/" (%lisp-type)
4766 "-source/trivial-mimes/mime.types\")")))))))))
4767 (native-inputs
4768 `(("stefil" ,sbcl-hu.dwim.stefil)))
4769 (inputs
4770 `(("sbcl-cl-fad" ,sbcl-cl-fad)))
917c28d2 4771 (home-page "https://shinmera.github.io/trivial-mimes/")
88f06fd0
PN
4772 (synopsis "Tiny Common Lisp library to detect mime types in files")
4773 (description
4774 "This is a teensy library that provides some functions to determine the
4775mime-type of a file.")
4776 (license license:artistic2.0))))
4777
4778(define-public cl-trivial-mimes
4779 (sbcl-package->cl-source-package sbcl-trivial-mimes))
4780
4781(define-public ecl-trivial-mimes
4782 (sbcl-package->ecl-package sbcl-trivial-mimes))
4783
4784(define-public sbcl-lack-middleware-static
4785 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4786 (revision "1"))
4787 (package
4788 (name "sbcl-lack-middleware-static")
4789 (version (git-version "0.1.0" revision commit))
4790 (source
4791 (origin
4792 (method git-fetch)
4793 (uri (git-reference
4794 (url "https://github.com/fukamachi/lack.git")
4795 (commit commit)))
4796 (file-name (git-file-name "lack-middleware-static" version))
4797 (sha256
4798 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4799 (build-system asdf-build-system/sbcl)
4800 (arguments
4801 '(#:asd-file "lack-middleware-static.asd"
4802 #:asd-system-name "lack-middleware-static"
4803 #:test-asd-file "t-lack-middleware-static.asd"
4804 ;; XXX: Component :LACK not found
4805 #:tests? #f))
4806 (native-inputs
4807 `(("prove-asdf" ,sbcl-prove-asdf)))
4808 (inputs
4809 `(("sbcl-ironclad" ,sbcl-ironclad)
4810 ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
4811 ("sbcl-local-time" ,sbcl-local-time)))
4812 (home-page "https://github.com/fukamachi/lack")
4813 (synopsis "Lack, the core of Clack")
4814 (description
4815 "Lack is a Common Lisp library which allows web applications to be
4816constructed of modular components. It was originally a part of Clack, however
4817it's going to be rewritten as an individual project since Clack v2 with
4818performance and simplicity in mind.")
4819 (license license:llgpl))))
4820
4821(define-public cl-lack-middleware-static
4822 (sbcl-package->cl-source-package sbcl-lack-middleware-static))
4823
4824(define-public sbcl-lack
4825 (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
4826 (revision "1"))
4827 (package
4828 (name "sbcl-lack")
4829 (version (git-version "0.1.0" revision commit))
4830 (source
4831 (origin
4832 (method git-fetch)
4833 (uri (git-reference
4834 (url "https://github.com/fukamachi/lack.git")
4835 (commit commit)))
4836 (file-name (git-file-name "lack" version))
4837 (sha256
4838 (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
4839 (build-system asdf-build-system/sbcl)
4840 (arguments
4841 '(#:test-asd-file "t-lack.asd"
4842 ;; XXX: Component :CLACK not found
4843 #:tests? #f))
4844 (native-inputs
4845 `(("prove-asdf" ,sbcl-prove-asdf)))
4846 (inputs
4847 `(("sbcl-lack-component" ,sbcl-lack-component)
4848 ("sbcl-lack-util" ,sbcl-lack-util)))
4849 (home-page "https://github.com/fukamachi/lack")
4850 (synopsis "Lack, the core of Clack")
4851 (description
4852 "Lack is a Common Lisp library which allows web applications to be
4853constructed of modular components. It was originally a part of Clack, however
4854it's going to be rewritten as an individual project since Clack v2 with
4855performance and simplicity in mind.")
4856 (license license:llgpl))))
4857
4858(define-public cl-lack
4859 (sbcl-package->cl-source-package sbcl-lack))
4860
4861(define-public sbcl-ningle
4862 (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
4863 (revision "1"))
4864 (package
4865 (name "sbcl-ningle")
4866 (version (git-version "0.3.0" revision commit))
4867 (source
4868 (origin
4869 (method git-fetch)
4870 (uri (git-reference
4871 (url "https://github.com/fukamachi/ningle.git")
4872 (commit commit)))
4873 (file-name (git-file-name name version))
4874 (sha256
4875 (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
4876 (build-system asdf-build-system/sbcl)
4877 (arguments
4878 ;; TODO: pull in clack-test
4879 '(#:tests? #f
4880 #:phases
4881 (modify-phases %standard-phases
4882 (delete 'cleanup-files)
4883 (delete 'cleanup)
4884 (add-before 'cleanup 'combine-fasls
4885 (lambda* (#:key outputs #:allow-other-keys)
4886 (let* ((out (assoc-ref outputs "out"))
4887 (lib (string-append out "/lib/sbcl"))
4888 (ningle-path (string-append lib "/ningle"))
4889 (fasl-files (find-files out "\\.fasl$")))
4890 (mkdir-p ningle-path)
4891 (let ((fasl-path (lambda (name)
4892 (string-append ningle-path
4893 "/"
4894 (basename name)
4895 "--system.fasl"))))
4896 (for-each (lambda (file)
4897 (rename-file file
4898 (fasl-path
4899 (basename file ".fasl"))))
4900 fasl-files))
4901 fasl-files)
4902 #t)))))
4903 (native-inputs
4904 `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
4905 ("sbcl-prove" ,sbcl-prove)))
4906 (inputs
4907 `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
4908 ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
4909 ("sbcl-myway" ,sbcl-myway)
4910 ("sbcl-lack-request" ,sbcl-lack-request)
4911 ("sbcl-lack-response" ,sbcl-lack-response)
4912 ("sbcl-lack-component" ,sbcl-lack-component)
4913 ("sbcl-alexandria" ,sbcl-alexandria)
4914 ("sbcl-babel" ,sbcl-babel)))
f13695ec 4915 (home-page "https://8arrow.org/ningle/")
88f06fd0
PN
4916 (synopsis "Super micro framework for Common Lisp")
4917 (description
4918 "Ningle is a lightweight web application framework for Common Lisp.")
4919 (license license:llgpl))))
4920
4921(define-public cl-ningle
4922 (sbcl-package->cl-source-package sbcl-ningle))
4923
4924(define-public sbcl-clack
4925 (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
4926 (revision "1"))
4927 (package
4928 (name "sbcl-clack")
4929 (version (git-version "2.0.0" revision commit))
4930 (source
4931 (origin
4932 (method git-fetch)
4933 (uri (git-reference
4934 (url "https://github.com/fukamachi/clack.git")
4935 (commit commit)))
4936 (file-name (git-file-name name version))
4937 (sha256
4938 (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
4939 (build-system asdf-build-system/sbcl)
4940 (inputs
4941 `(("sbcl-lack" ,sbcl-lack)
4942 ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
4943 ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
4944 (home-page "https://github.com/fukamachi/clack")
4945 (synopsis "Web Application Environment for Common Lisp")
4946 (description
4947 "Clack is a web application environment for Common Lisp inspired by
4948Python's WSGI and Ruby's Rack.")
4949 (license license:llgpl))))
4950
4951(define-public cl-clack
4952 (sbcl-package->cl-source-package sbcl-clack))
4953
4954(define-public sbcl-log4cl
4955 (let ((commit "611e094458504b938d49de904eab141285328c7c")
4956 (revision "1"))
4957 (package
4958 (name "sbcl-log4cl")
4959 (build-system asdf-build-system/sbcl)
4960 (version "1.1.2")
4961 (source
4962 (origin
4963 (method git-fetch)
4964 (uri (git-reference
4965 (url "https://github.com/sharplispers/log4cl")
4966 (commit commit)))
4967 (file-name (git-file-name name version))
4968 (sha256
4969 (base32
4970 "08jly0s0g26b56hhpfizxsb4j0yvbh946sd205gr42dkzv8l7dsc"))))
4971 ;; FIXME: tests require stefil, sbcl-hu.dwim.stefil wont work
4972 (arguments
4973 `(#:tests? #f))
4974 (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
4975 (synopsis "Common Lisp logging framework, modeled after Log4J")
4976 (home-page "https://github.com/7max/log4cl")
4977 (description "This is a Common Lisp logging framework that can log at
4978various levels and mix text with expressions.")
4979 (license license:asl2.0))))
4980
4981(define-public cl-log4cl
4982 (sbcl-package->cl-source-package sbcl-log4cl))
4983
4984(define-public ecl-log4cl
4985 (sbcl-package->ecl-package sbcl-log4cl))
4986
4987(define-public sbcl-find-port
4988 (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
4989 (revision "1"))
4990 (package
4991 (name "sbcl-find-port")
4992 (build-system asdf-build-system/sbcl)
4993 (version "0.1")
4994 (home-page "https://github.com/eudoxia0/find-port")
4995 (source
4996 (origin
4997 (method git-fetch)
4998 (uri (git-reference
4999 (url home-page)
5000 (commit commit)))
5001 (file-name (git-file-name name version))
5002 (sha256
5003 (base32
5004 "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
5005 (native-inputs
5006 `(("fiveam" ,sbcl-fiveam)))
5007 (inputs
5008 `(("sbcl-usocket" ,sbcl-usocket)))
5009 (synopsis "Find open ports programmatically in Common Lisp")
5010 (description "This is a small Common Lisp library that finds an open
5011port within a range.")
5012 (license license:expat))))
5013
5014(define-public cl-find-port
5015 (sbcl-package->cl-source-package sbcl-find-port))
5016
5017(define-public ecl-find-port
5018 (sbcl-package->ecl-package sbcl-find-port))
5019
5020(define-public sbcl-clunit
5021 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
5022 (revision "1"))
5023 (package
5024 (name "sbcl-clunit")
5025 (version (git-version "0.2.3" revision commit))
5026 (source
5027 (origin
5028 (method git-fetch)
5029 (uri (git-reference
5030 (url "https://github.com/tgutu/clunit.git")
5031 (commit commit)))
5032 (file-name (git-file-name name version))
5033 (sha256
5034 (base32
5035 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
5036 (build-system asdf-build-system/sbcl)
5037 (synopsis "CLUnit is a Common Lisp unit testing framework")
5038 (description
5039 "CLUnit is a Common Lisp unit testing framework. It is designed
5040to be easy to use so that you can quickly start testing. CLUnit
5041provides a rich set of features aimed at improving your unit testing
5042experience.")
b4034d1b 5043 (home-page "https://tgutu.github.io/clunit/")
88f06fd0
PN
5044 ;; MIT License
5045 (license license:expat))))
5046
5047(define-public cl-clunit
5048 (sbcl-package->cl-source-package sbcl-clunit))
5049
5050(define-public ecl-clunit
5051 (sbcl-package->ecl-package sbcl-clunit))
5052
5053(define-public sbcl-py4cl
5054 (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
5055 (revision "1"))
5056 (package
5057 (name "sbcl-py4cl")
5058 (version (git-version "0.0.0" revision commit))
5059 (source
5060 (origin
5061 (method git-fetch)
5062 (uri (git-reference
5063 (url "https://github.com/bendudson/py4cl.git")
5064 (commit commit)))
5065 (file-name (git-file-name name version))
5066 (sha256
5067 (base32
5068 "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
5069 (modules '((guix build utils)))))
5070 (build-system asdf-build-system/sbcl)
5071 (native-inputs
5072 `(("sbcl-clunit" ,sbcl-clunit)))
5073 (inputs
5074 `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5075 (propagated-inputs
5076 ;; This package doesn't do anything without python available
5077 `(("python" ,python)
5078 ;; For multi-dimensional array support
5079 ("python-numpy" ,python-numpy)))
5080 (arguments
5081 '(#:phases
5082 (modify-phases %standard-phases
5083 (add-after 'unpack 'replace-*base-directory*-var
5084 (lambda* (#:key outputs #:allow-other-keys)
5085 ;; In the ASD, the author makes an attempt to
5086 ;; programatically determine the location of the
5087 ;; source-code so lisp can call into "py4cl.py". We can
5088 ;; hard-code this since we know where this file will
5089 ;; reside.
5090 (substitute* "src/callpython.lisp"
5091 (("py4cl/config:\\*base-directory\\*")
5092 (string-append
5093 "\""
5094 (assoc-ref outputs "out")
5095 "/share/common-lisp/sbcl-source/py4cl/"
5096 "\""))))))))
5097 (synopsis "Call python from Common Lisp")
5098 (description
5099 "Py4CL is a bridge between Common Lisp and Python, which enables Common
5100Lisp to interact with Python code. It uses streams to communicate with a
5101separate python process, the approach taken by cl4py. This is different to
5102the CFFI approach used by burgled-batteries, but has the same goal.")
5103 (home-page "https://github.com/bendudson/py4cl")
5104 ;; MIT License
5105 (license license:expat))))
5106
5107(define-public cl-py4cl
5108 (sbcl-package->cl-source-package sbcl-py4cl))
5109
5110(define-public ecl-py4cl
5111 (sbcl-package->ecl-package sbcl-py4cl))
5112
5113(define-public sbcl-parse-declarations
1fce78c4
GLV
5114 (let ((commit "549aebbfb9403a7fe948654126b9c814f443f4f2")
5115 (revision "1"))
5116 (package
5117 (name "sbcl-parse-declarations")
5118 (version (git-version "1.0.0" revision commit))
5119 (source
5120 (origin
5121 (method git-fetch)
5122 (uri (git-reference
5123 (url (string-append
5124 "https://gitlab.common-lisp.net/parse-declarations/"
5125 "parse-declarations.git"))
5126 (commit commit)))
5127 (file-name (git-file-name name version))
5128 (sha256
5129 (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd"))))
5130 (build-system asdf-build-system/sbcl)
5131 (arguments
5132 `(#:asd-file "parse-declarations-1.0.asd"
5133 #:asd-system-name "parse-declarations-1.0"))
5134 (home-page "https://common-lisp.net/project/parse-declarations/")
5135 (synopsis "Parse, filter, and build declarations")
5136 (description
5137 "Parse-Declarations is a Common Lisp library to help writing
88f06fd0
PN
5138macros which establish bindings. To be semantically correct, such
5139macros must take user declarations into account, as these may affect
5140the bindings they establish. Yet the ANSI standard of Common Lisp does
5141not provide any operators to work with declarations in a convenient,
5142high-level way. This library provides such operators.")
1fce78c4
GLV
5143 ;; MIT License
5144 (license license:expat))))
88f06fd0
PN
5145
5146(define-public cl-parse-declarations
5147 (sbcl-package->cl-source-package sbcl-parse-declarations))
5148
5149(define-public ecl-parse-declarations
5150 (sbcl-package->ecl-package sbcl-parse-declarations))
5151
5152(define-public sbcl-cl-quickcheck
5153 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
5154 (revision "1"))
5155 (package
5156 (name "sbcl-cl-quickcheck")
5157 (version (git-version "0.0.4" revision commit))
5158 (source
5159 (origin
5160 (method git-fetch)
5161 (uri (git-reference
5162 (url "https://github.com/mcandre/cl-quickcheck.git")
5163 (commit commit)))
5164 (file-name (git-file-name name version))
5165 (sha256
5166 (base32
5167 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
5168 (build-system asdf-build-system/sbcl)
5169 (synopsis
5170 "Common Lisp port of the QuickCheck unit test framework")
5171 (description
5172 "Common Lisp port of the QuickCheck unit test framework")
5173 (home-page "https://github.com/mcandre/cl-quickcheck")
5174 ;; MIT
5175 (license license:expat))))
5176
5177(define-public cl-cl-quickcheck
5178 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
5179
5180(define-public ecl-cl-quickcheck
5181 (sbcl-package->ecl-package sbcl-cl-quickcheck))
5182
5183(define-public sbcl-burgled-batteries3
839fa4cd
MB
5184 (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760")
5185 (revision "2"))
88f06fd0
PN
5186 (package
5187 (name "sbcl-burgled-batteries3")
5188 (version (git-version "0.0.0" revision commit))
5189 (source
5190 (origin
5191 (method git-fetch)
5192 (uri (git-reference
5193 (url "https://github.com/snmsts/burgled-batteries3.git")
5194 (commit commit)))
5195 (file-name (git-file-name name version))
5196 (sha256
5197 (base32
839fa4cd 5198 "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))))
88f06fd0
PN
5199 (build-system asdf-build-system/sbcl)
5200 (arguments
839fa4cd
MB
5201 `(#:tests? #f
5202 #:modules (((guix build python-build-system) #:select (python-version))
5203 ,@%asdf-build-system-modules)
5204 #:imported-modules ((guix build python-build-system)
5205 ,@%asdf-build-system-modules)
88f06fd0 5206 #:phases
839fa4cd 5207 (modify-phases (@ (guix build asdf-build-system) %standard-phases)
88f06fd0
PN
5208 (add-after 'unpack 'set-*cpython-include-dir*-var
5209 (lambda* (#:key inputs #:allow-other-keys)
839fa4cd
MB
5210 (let ((python (assoc-ref inputs "python")))
5211 (setenv "BB_PYTHON3_INCLUDE_DIR"
5212 (string-append python "/include/python"
5213 (python-version python)
5214 "m"))
5215 (setenv "BB_PYTHON3_DYLIB"
5216 (string-append python "/lib/libpython3.so"))
5217 #t))))))
88f06fd0 5218 (native-inputs
3d280dae 5219 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5220 ("sbcl-lift" ,sbcl-lift)
5221 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5222 (inputs
3d280dae
MB
5223 `(("python" ,python)
5224 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5225 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5226 ("sbcl-alexandria" , sbcl-alexandria)
5227 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5228 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5229 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5230 (description
5231 "This package provides a shim between Python3 (specifically, the
5232CPython implementation of Python) and Common Lisp.")
5233 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5234 (license license:expat))))
5235
5236(define-public cl-burgled-batteries3
5237 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5238
5239(define-public ecl-burgled-batteries3
5240 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5241
5242(define-public sbcl-metabang-bind
5243 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5244 (revision "1"))
5245 (package
5246 (name "sbcl-metabang-bind")
5247 (version (git-version "0.8.0" revision commit))
5248 (source
5249 (origin
5250 (method git-fetch)
5251 (uri (git-reference
5252 (url "https://github.com/gwkkwg/metabang-bind.git")
5253 (commit commit)))
5254 (file-name (git-file-name name version))
5255 (sha256
5256 (base32
5257 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5258 (build-system asdf-build-system/sbcl)
5259 (native-inputs
5260 `(("sbcl-lift" ,sbcl-lift)))
5261 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5262 (description
5263 "Bind extends the idea of of let and destructing to provide a uniform
5264syntax for all your accessor needs. It combines @code{let},
5265@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5266editing, property or association-lists, and @code{multiple-value-bind} and a
5267whole lot more into a single form.")
5268 (home-page "https://common-lisp.net/project/metabang-bind/")
5269 ;; MIT License
5270 (license license:expat))))
5271
5272(define-public cl-metabang-bind
5273 (sbcl-package->cl-source-package sbcl-metabang-bind))
5274
5275(define-public ecl-metabang-bind
5276 (sbcl-package->ecl-package sbcl-metabang-bind))
5277
5278(define-public sbcl-fare-utils
5279 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5280 (revision "1"))
5281 (package
5282 (name "sbcl-fare-utils")
5283 (version (git-version "1.0.0.5" revision commit))
5284 (source
5285 (origin
5286 (method git-fetch)
5287 (uri
5288 (git-reference
5289 (url
5290 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5291 (commit commit)))
5292 (file-name (git-file-name name version))
5293 (sha256
5294 (base32
5295 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5296 (build-system asdf-build-system/sbcl)
5297 (arguments
5298 `(#:test-asd-file "test/fare-utils-test.asd"))
5299 (native-inputs
5300 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5301 (synopsis "Collection of utilities and data structures")
5302 (description
5303 "fare-utils is a small collection of utilities. It contains a lot of
5304basic everyday functions and macros.")
5305 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5306 ;; MIT License
5307 (license license:expat))))
5308
5309(define-public cl-fare-utils
5310 (sbcl-package->cl-source-package sbcl-fare-utils))
5311
5312(define-public ecl-fare-utils
5313 (sbcl-package->ecl-package sbcl-fare-utils))
5314
5315(define-public sbcl-trivial-utf-8
5316 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5317 (revision "1"))
5318 (package
5319 (name "sbcl-trivial-utf-8")
5320 (version (git-version "0.0.0" revision commit))
5321 (source
5322 (origin
5323 (method git-fetch)
5324 (uri
5325 (git-reference
5326 (url (string-append "https://gitlab.common-lisp.net/"
5327 "trivial-utf-8/trivial-utf-8.git"))
5328 (commit commit)))
5329 (file-name (git-file-name name version))
5330 (sha256
5331 (base32
5332 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5333 (arguments
5334 ;; Guix incorrectly assumes the "8" is part of the version
5335 ;; number and lobs it off.
5336 `(#:asd-file "trivial-utf-8.asd"
5337 #:asd-system-name "trivial-utf-8"))
5338 (build-system asdf-build-system/sbcl)
5339 (synopsis "UTF-8 input/output library")
5340 (description
5341 "The Babel library solves a similar problem while understanding more
5342encodings. Trivial UTF-8 was written before Babel existed, but for new
5343projects you might be better off going with Babel. The one plus that Trivial
5344UTF-8 has is that it doesn't depend on any other libraries.")
5345 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5346 (license license:bsd-3))))
5347
5348(define-public cl-trivial-utf-8
5349 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5350
5351(define-public ecl-trivial-utf-8
5352 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5353
5354(define-public sbcl-idna
5355 (package
5356 (name "sbcl-idna")
5357 (build-system asdf-build-system/sbcl)
5358 (version "0.2.2")
5359 (home-page "https://github.com/antifuchs/idna")
5360 (source
5361 (origin
5362 (method git-fetch)
5363 (uri (git-reference
5364 (url home-page)
5365 (commit version)))
5366 (file-name (git-file-name name version))
5367 (sha256
5368 (base32
5369 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5370 (inputs
5371 `(("split-sequence" ,sbcl-split-sequence)))
5372 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5373 (description "This Common Lisp library provides string encoding and
5374decoding routines for IDNA, the International Domain Names in Applications.")
5375 (license license:expat)))
5376
5377(define-public cl-idna
5378 (sbcl-package->cl-source-package sbcl-idna))
5379
5380(define-public ecl-idna
5381 (sbcl-package->ecl-package sbcl-idna))
5382
5383(define-public sbcl-swap-bytes
5384 (package
5385 (name "sbcl-swap-bytes")
5386 (build-system asdf-build-system/sbcl)
dbf6de58 5387 (version "1.2")
88f06fd0
PN
5388 (home-page "https://github.com/sionescu/swap-bytes")
5389 (source
5390 (origin
5391 (method git-fetch)
5392 (uri (git-reference
5393 (url home-page)
5394 (commit (string-append "v" version))))
5395 (file-name (git-file-name name version))
5396 (sha256
5397 (base32
dbf6de58 5398 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5399 (inputs
5400 `(("trivial-features" ,sbcl-trivial-features)))
5401 (native-inputs
5402 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5403 (synopsis "Efficient endianness conversion for Common Lisp")
5404 (description "This Common Lisp library provides optimized byte-swapping
5405primitives. The library can change endianness of unsigned integers of length
54061/2/4/8. Very useful in implementing various network protocols and file
5407formats.")
5408 (license license:expat)))
5409
5410(define-public cl-swap-bytes
5411 (sbcl-package->cl-source-package sbcl-swap-bytes))
5412
5413(define-public ecl-swap-bytes
5414 (sbcl-package->ecl-package sbcl-swap-bytes))
5415
5416(define-public sbcl-iolib.asdf
5417 ;; Latest release is from June 2017.
53c4a0da
PN
5418 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5419 (revision "2"))
88f06fd0
PN
5420 (package
5421 (name "sbcl-iolib.asdf")
5422 (build-system asdf-build-system/sbcl)
53c4a0da 5423 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5424 (home-page "https://github.com/sionescu/iolib")
5425 (source
5426 (origin
5427 (method git-fetch)
5428 (uri (git-reference
5429 (url home-page)
5430 (commit commit)))
5431 (file-name (git-file-name name version))
5432 (sha256
5433 (base32
53c4a0da 5434 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
88f06fd0
PN
5435 (inputs
5436 `(("alexandria" ,sbcl-alexandria)))
5437 (arguments
5438 '(#:asd-file "iolib.asdf.asd"))
5439 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5440 (description "IOlib is to be a better and more modern I/O library than
5441the standard Common Lisp library. It contains a socket library, a DNS
5442resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5443and @code{kqueue(2)}), a pathname library and file-system utilities.")
5444 (license license:expat))))
5445
5446(define-public sbcl-iolib.conf
5447 (package
5448 (inherit sbcl-iolib.asdf)
5449 (name "sbcl-iolib.conf")
5450 (inputs
5451 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5452 (arguments
5453 '(#:asd-file "iolib.conf.asd"))
5454 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5455
5456(define-public sbcl-iolib.common-lisp
5457 (package
5458 (inherit sbcl-iolib.asdf)
5459 (name "sbcl-iolib.common-lisp")
5460 (inputs
5461 `(("iolib.asdf" ,sbcl-iolib.asdf)
5462 ("iolib.conf" ,sbcl-iolib.conf)))
5463 (arguments
5464 '(#:asd-file "iolib.common-lisp.asd"))
5465 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5466
5467(define-public sbcl-iolib.base
5468 (package
5469 (inherit sbcl-iolib.asdf)
5470 (name "sbcl-iolib.base")
5471 (inputs
5472 `(("iolib.asdf" ,sbcl-iolib.asdf)
5473 ("iolib.conf" ,sbcl-iolib.conf)
5474 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5475 ("split-sequence" ,sbcl-split-sequence)))
5476 (arguments
5477 '(#:asd-file "iolib.base.asd"))
5478 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5479
5480(define-public sbcl-iolib.grovel
5481 (package
5482 (inherit sbcl-iolib.asdf)
5483 (name "sbcl-iolib.grovel")
5484 (inputs
5485 `(("iolib.asdf" ,sbcl-iolib.asdf)
5486 ("iolib.conf" ,sbcl-iolib.conf)
5487 ("iolib.base", sbcl-iolib.base)
5488 ("cffi", sbcl-cffi)))
5489 (arguments
5490 '(#:asd-file "iolib.grovel.asd"
5491 #:phases
5492 (modify-phases %standard-phases
5493 (add-after 'install 'install-header
5494 (lambda* (#:key outputs #:allow-other-keys)
5495 ;; This header is required by sbcl-iolib.
5496 (install-file "src/grovel/grovel-common.h"
5497 (string-append (assoc-ref outputs "out")
5498 "/lib/sbcl"))
5499 #t)))))
5500 (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
5501
af5c4eff 5502(define sbcl-iolib+syscalls
88f06fd0
PN
5503 (package
5504 (inherit sbcl-iolib.asdf)
af5c4eff 5505 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5506 (inputs
5507 `(("iolib.asdf" ,sbcl-iolib.asdf)
5508 ("iolib.conf" ,sbcl-iolib.conf)
53c4a0da 5509 ("cffi-grovel" ,sbcl-cffi-grovel)
88f06fd0
PN
5510 ("iolib.base" ,sbcl-iolib.base)
5511 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5512 ("idna" ,sbcl-idna)
5513 ("swap-bytes" ,sbcl-swap-bytes)
5514 ("libfixposix" ,libfixposix)
5515 ("cffi" ,sbcl-cffi)))
5516 (native-inputs
5517 `(("fiveam" ,sbcl-fiveam)))
5518 (arguments
5519 '(#:asd-file "iolib.asd"
af5c4eff 5520 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5521 #:phases
5522 (modify-phases %standard-phases
5523 (add-after 'unpack 'fix-paths
5524 (lambda* (#:key inputs #:allow-other-keys)
5525 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5526 (("\\(:default \"libfixposix\"\\)")
5527 (string-append
5528 "(:default \""
5529 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5530 ;; Socket tests need Internet access, disable them.
53c4a0da 5531 (substitute* "iolib.asd"
88f06fd0
PN
5532 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5533 "")))))))
5534 (synopsis "Common Lisp I/O library")))
5535
88f06fd0
PN
5536(define sbcl-iolib+multiplex
5537 (package
af5c4eff 5538 (inherit sbcl-iolib+syscalls)
88f06fd0 5539 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5540 (inputs
5541 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5542 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5543 (arguments
af5c4eff 5544 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5545 ((#:asd-system-name _) "iolib/multiplex")))))
5546
88f06fd0
PN
5547(define sbcl-iolib+streams
5548 (package
af5c4eff 5549 (inherit sbcl-iolib+syscalls)
88f06fd0 5550 (name "sbcl-iolib+streams")
af5c4eff
PN
5551 (inputs
5552 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5553 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5554 (arguments
af5c4eff 5555 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5556 ((#:asd-system-name _) "iolib/streams")))))
5557
5558(define sbcl-iolib+sockets
5559 (package
af5c4eff 5560 (inherit sbcl-iolib+syscalls)
88f06fd0 5561 (name "sbcl-iolib+sockets")
af5c4eff
PN
5562 (inputs
5563 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5564 ("iolib+streams" ,sbcl-iolib+streams)
5565 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5566 (arguments
af5c4eff 5567 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5568 ((#:asd-system-name _) "iolib/sockets")))))
5569
af5c4eff
PN
5570(define-public sbcl-iolib
5571 (package
5572 (inherit sbcl-iolib+syscalls)
5573 (name "sbcl-iolib")
5574 (inputs
5575 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5576 ("iolib+streams" ,sbcl-iolib+streams)
5577 ("iolib+sockets" ,sbcl-iolib+sockets)
5578 ,@(package-inputs sbcl-iolib+syscalls)))
5579 (arguments
5580 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5581 ((#:asd-system-name _) "iolib")))))
5582
5583(define-public cl-iolib
5584 (sbcl-package->cl-source-package sbcl-iolib))
5585
88f06fd0
PN
5586(define-public sbcl-ieee-floats
5587 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5588 (revision "1"))
5589 (package
5590 (name "sbcl-ieee-floats")
5591 (build-system asdf-build-system/sbcl)
5592 (version (git-version "20170924" revision commit))
5593 (home-page "https://github.com/marijnh/ieee-floats/")
5594 (source
5595 (origin
5596 (method git-fetch)
5597 (uri (git-reference
5598 (url home-page)
5599 (commit commit)))
5600 (file-name (git-file-name name version))
5601 (sha256
5602 (base32
5603 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5604 (native-inputs
5605 `(("fiveam" ,sbcl-fiveam)))
5606 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5607 (description "This is a Common Lisp library that converts
88f06fd0
PN
5608floating point values to IEEE 754 binary representation.")
5609 (license license:bsd-3))))
5610
5611(define-public cl-ieee-floats
5612 (sbcl-package->cl-source-package sbcl-ieee-floats))
5613
5614(define sbcl-closure-common
5615 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5616 (revision "1"))
5617 (package
5618 (name "sbcl-closure-common")
5619 (build-system asdf-build-system/sbcl)
5620 (version (git-version "20101006" revision commit))
5621 (home-page "https://common-lisp.net/project/cxml/")
5622 (source
5623 (origin
5624 (method git-fetch)
5625 (uri (git-reference
5626 (url "https://github.com/sharplispers/closure-common")
5627 (commit commit)))
5628 (file-name (git-file-name name version))
5629 (sha256
5630 (base32
5631 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5632 (inputs
5633 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5634 ("babel" ,sbcl-babel)))
5635 (synopsis "Support Common Lisp library for CXML")
5636 (description "Closure-common is an internal helper library. The name
5637Closure is a reference to the web browser it was originally written for.")
5638 ;; TODO: License?
5639 (license #f))))
5640
5641(define-public sbcl-cxml+xml
5642 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5643 (revision "1"))
5644 (package
5645 (name "sbcl-cxml+xml")
5646 (build-system asdf-build-system/sbcl)
5647 (version (git-version "0.0.0" revision commit))
5648 (home-page "https://common-lisp.net/project/cxml/")
5649 (source
5650 (origin
5651 (method git-fetch)
5652 (uri (git-reference
5653 (url "https://github.com/sharplispers/cxml")
5654 (commit commit)))
5655 (file-name (git-file-name name version))
5656 (sha256
5657 (base32
5658 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5659 (inputs
5660 `(("closure-common" ,sbcl-closure-common)
5661 ("puri" ,sbcl-puri)
5662 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5663 (arguments
5664 `(#:asd-file "cxml.asd"
5665 #:asd-system-name "cxml/xml"))
5666 (synopsis "Common Lisp XML parser")
5667 (description "CXML implements a namespace-aware, validating XML 1.0
5668parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5669offered, one SAX-like, the other similar to StAX.")
5670 (license license:llgpl))))
5671
5672(define sbcl-cxml+dom
5673 (package
5674 (inherit sbcl-cxml+xml)
5675 (name "sbcl-cxml+dom")
5676 (inputs
5677 `(("closure-common" ,sbcl-closure-common)
5678 ("puri" ,sbcl-puri)
5679 ("cxml+xml" ,sbcl-cxml+xml)))
5680 (arguments
5681 `(#:asd-file "cxml.asd"
5682 #:asd-system-name "cxml/dom"))))
5683
5684(define sbcl-cxml+klacks
5685 (package
5686 (inherit sbcl-cxml+xml)
5687 (name "sbcl-cxml+klacks")
5688 (inputs
5689 `(("closure-common" ,sbcl-closure-common)
5690 ("puri" ,sbcl-puri)
5691 ("cxml+xml" ,sbcl-cxml+xml)))
5692 (arguments
5693 `(#:asd-file "cxml.asd"
5694 #:asd-system-name "cxml/klacks"))))
5695
5696(define sbcl-cxml+test
5697 (package
5698 (inherit sbcl-cxml+xml)
5699 (name "sbcl-cxml+test")
5700 (inputs
5701 `(("closure-common" ,sbcl-closure-common)
5702 ("puri" ,sbcl-puri)
5703 ("cxml+xml" ,sbcl-cxml+xml)))
5704 (arguments
5705 `(#:asd-file "cxml.asd"
5706 #:asd-system-name "cxml/test"))))
5707
5708(define-public sbcl-cxml
5709 (package
5710 (inherit sbcl-cxml+xml)
5711 (name "sbcl-cxml")
5712 (inputs
5713 `(("closure-common" ,sbcl-closure-common)
5714 ("puri" ,sbcl-puri)
5715 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5716 ("cxml+dom" ,sbcl-cxml+dom)
5717 ("cxml+klacks" ,sbcl-cxml+klacks)
5718 ("cxml+test" ,sbcl-cxml+test)))
5719 (arguments
5720 `(#:asd-file "cxml.asd"
5721 #:asd-system-name "cxml"
5722 #:phases
5723 (modify-phases %standard-phases
5724 (add-after 'build 'install-dtd
5725 (lambda* (#:key outputs #:allow-other-keys)
5726 (install-file "catalog.dtd"
5727 (string-append
5728 (assoc-ref outputs "out")
5729 "/lib/" (%lisp-type)))))
5730 (add-after 'create-asd 'remove-component
5731 ;; XXX: The original .asd has no components, but our build system
5732 ;; creates an entry nonetheless. We need to remove it for the
5733 ;; generated .asd to load properly. See trivia.trivial for a
5734 ;; similar problem.
5735 (lambda* (#:key outputs #:allow-other-keys)
5736 (let* ((out (assoc-ref outputs "out"))
5737 (asd (string-append out "/lib/sbcl/cxml.asd")))
5738 (substitute* asd
5739 ((" :components
5740")
5741 ""))
5742 (substitute* asd
5743 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5744 ""))))))))))
5745
5746(define-public cl-cxml
5747 (sbcl-package->cl-source-package sbcl-cxml))
5748
5749(define-public sbcl-cl-reexport
5750 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5751 (revision "1"))
5752 (package
5753 (name "sbcl-cl-reexport")
5754 (build-system asdf-build-system/sbcl)
5755 (version (git-version "0.1" revision commit))
5756 (home-page "https://github.com/takagi/cl-reexport")
5757 (source
5758 (origin
5759 (method git-fetch)
5760 (uri (git-reference
5761 (url home-page)
5762 (commit commit)))
5763 (file-name (git-file-name name version))
5764 (sha256
5765 (base32
5766 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5767 (inputs
5768 `(("alexandria" ,sbcl-alexandria)))
5769 (arguments
5770 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5771 `(#:tests? #f))
5772 (synopsis "HTTP cookie manager for Common Lisp")
5773 (description "cl-cookie is a Common Lisp library featuring parsing of
5774cookie headers, cookie creation, cookie jar creation and more.")
5775 (license license:llgpl))))
5776
5777(define-public cl-reexport
5778 (sbcl-package->cl-source-package sbcl-cl-reexport))
5779
5780(define-public sbcl-cl-cookie
5781 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5782 (revision "1"))
5783 (package
5784 (name "sbcl-cl-cookie")
5785 (build-system asdf-build-system/sbcl)
5786 (version (git-version "0.9.10" revision commit))
5787 (home-page "https://github.com/fukamachi/cl-cookie")
5788 (source
5789 (origin
5790 (method git-fetch)
5791 (uri (git-reference
5792 (url home-page)
5793 (commit commit)))
5794 (file-name (git-file-name name version))
5795 (sha256
5796 (base32
5797 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5798 (inputs
5799 `(("proc-parse" ,sbcl-proc-parse)
5800 ("alexandria" ,sbcl-alexandria)
5801 ("quri" ,sbcl-quri)
5802 ("cl-ppcre" ,sbcl-cl-ppcre)
5803 ("local-time" ,sbcl-local-time)))
5804 (native-inputs
5805 `(("prove-asdf" ,sbcl-prove-asdf)
5806 ("prove" ,sbcl-prove)))
5807 (arguments
5808 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5809 `(#:tests? #f))
5810 (synopsis "HTTP cookie manager for Common Lisp")
5811 (description "cl-cookie is a Common Lisp library featuring parsing of
5812cookie headers, cookie creation, cookie jar creation and more.")
5813 (license license:bsd-2))))
5814
5815(define-public cl-cookie
5816 (sbcl-package->cl-source-package sbcl-cl-cookie))
5817
5818(define-public sbcl-dexador
e067ef95 5819 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5820 (revision "1"))
5821 (package
5822 (name "sbcl-dexador")
5823 (build-system asdf-build-system/sbcl)
e067ef95 5824 (version "0.9.14" )
88f06fd0
PN
5825 (home-page "https://github.com/fukamachi/dexador")
5826 (source
5827 (origin
5828 (method git-fetch)
5829 (uri (git-reference
5830 (url home-page)
5831 (commit commit)))
5832 (file-name (git-file-name name version))
5833 (sha256
5834 (base32
e067ef95 5835 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5836 (inputs
5837 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5838 ("babel" ,sbcl-babel)
5839 ("usocket" ,sbcl-usocket)
5840 ("fast-http" ,sbcl-fast-http)
5841 ("quri" ,sbcl-quri)
5842 ("fast-io" ,sbcl-fast-io)
5843 ("chunga" ,sbcl-chunga)
5844 ("cl-ppcre" ,sbcl-cl-ppcre)
5845 ("cl-cookie" ,sbcl-cl-cookie)
5846 ("trivial-mimes" ,sbcl-trivial-mimes)
5847 ("chipz" ,sbcl-chipz)
5848 ("cl-base64" ,sbcl-cl-base64)
5849 ("cl-reexport" ,sbcl-cl-reexport)
5850 ("cl+ssl" ,sbcl-cl+ssl)
5851 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5852 ("alexandria" ,sbcl-alexandria)))
5853 (native-inputs
5854 `(("prove" ,sbcl-prove)
5855 ("prove-asdf" ,sbcl-prove-asdf)
5856 ("lack-request" ,sbcl-lack-request)
5857 ("clack" ,sbcl-clack)
5858 ("babel" ,sbcl-babel)
5859 ("alexandria" ,sbcl-alexandria)
5860 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5861 ("local-time" ,sbcl-local-time)
5862 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5863 (arguments
5864 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5865 `(#:tests? #f
5866 #:phases
5867 (modify-phases %standard-phases
5868 (add-after 'unpack 'fix-permissions
5869 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5870 (synopsis "Yet another HTTP client for Common Lisp")
5871 (description "Dexador is yet another HTTP client for Common Lisp with
5872neat APIs and connection-pooling. It is meant to supersede Drakma.")
5873 (license license:expat))))
5874
5875(define-public cl-dexador
5876 (package
5877 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5878 (arguments
5879 `(#:phases
5880 ;; asdf-build-system/source has its own phases and does not inherit
5881 ;; from asdf-build-system/sbcl phases.
5882 (modify-phases %standard-phases/source
5883 (add-after 'unpack 'fix-permissions
5884 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5885
5886(define-public ecl-dexador
5887 (sbcl-package->ecl-package sbcl-dexador))
5888
5889(define-public sbcl-lisp-namespace
5890 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5891 (revision "1"))
5892 (package
5893 (name "sbcl-lisp-namespace")
5894 (build-system asdf-build-system/sbcl)
5895 (version (git-version "0.1" revision commit))
5896 (home-page "https://github.com/guicho271828/lisp-namespace")
5897 (source
5898 (origin
5899 (method git-fetch)
5900 (uri (git-reference
5901 (url home-page)
5902 (commit commit)))
5903 (file-name (git-file-name name version))
5904 (sha256
5905 (base32
5906 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5907 (inputs
5908 `(("alexandria" ,sbcl-alexandria)))
5909 (native-inputs
5910 `(("fiveam" ,sbcl-fiveam)))
5911 (arguments
5912 `(#:test-asd-file "lisp-namespace.test.asd"
5913 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5914 #:tests? #f))
5915 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5916 (description "Common Lisp already has major 2 namespaces, function
5917namespace and value namespace (or variable namespace), but there are actually
5918more — e.g., class namespace.
5919This library offers macros to deal with symbols from any namespace.")
5920 (license license:llgpl))))
5921
5922(define-public cl-lisp-namespace
5923 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5924
5925(define-public sbcl-trivial-cltl2
36ceab7d
PN
5926 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5927 (revision "2"))
88f06fd0
PN
5928 (package
5929 (name "sbcl-trivial-cltl2")
5930 (build-system asdf-build-system/sbcl)
5931 (version (git-version "0.1.1" revision commit))
5932 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5933 (source
5934 (origin
5935 (method git-fetch)
5936 (uri (git-reference
5937 (url home-page)
5938 (commit commit)))
5939 (file-name (git-file-name name version))
5940 (sha256
5941 (base32
36ceab7d 5942 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5943 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5944 (description "This library is a portable compatibility layer around
5945\"Common Lisp the Language, 2nd
5946Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5947and it exports symbols from implementation-specific packages.")
5948 (license license:llgpl))))
5949
5950(define-public cl-trivial-cltl2
5951 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5952
5953(define-public sbcl-introspect-environment
5954 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5955 (revision "1"))
5956 (package
5957 (name "sbcl-introspect-environment")
5958 (build-system asdf-build-system/sbcl)
5959 (version (git-version "0.1" revision commit))
5960 (home-page "https://github.com/Bike/introspect-environment")
5961 (source
5962 (origin
5963 (method git-fetch)
5964 (uri (git-reference
5965 (url home-page)
5966 (commit commit)))
5967 (file-name (git-file-name name version))
5968 (sha256
5969 (base32
5970 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5971 (native-inputs
5972 `(("fiveam" ,sbcl-fiveam)))
5973 (synopsis "Common Lisp environment introspection portability layer")
5974 (description "This library is a small interface to portable but
5975nonstandard introspection of Common Lisp environments. It is intended to
5976allow a bit more compile-time introspection of environments in Common Lisp.
5977
5978Quite a bit of information is available at the time a macro or compiler-macro
5979runs; inlining info, type declarations, that sort of thing. This information
5980is all standard - any Common Lisp program can @code{(declare (integer x))} and
5981such.
5982
5983This info ought to be accessible through the standard @code{&environment}
5984parameters, but it is not. Several implementations keep the information for
5985their own purposes but do not make it available to user programs, because
5986there is no standard mechanism to do so.
5987
5988This library uses implementation-specific hooks to make information available
5989to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5990implementations have implementations of the functions that do as much as they
5991can and/or provide reasonable defaults.")
5992 (license license:wtfpl2))))
5993
5994(define-public cl-introspect-environment
5995 (sbcl-package->cl-source-package sbcl-introspect-environment))
5996
5997(define-public sbcl-type-i
5998 (let ((commit "dea233f45f94064105ec09f0767de338f67dcbe2")
5999 (revision "1"))
6000 (package
6001 (name "sbcl-type-i")
6002 (build-system asdf-build-system/sbcl)
6003 (version (git-version "0.1" revision commit))
6004 (home-page "https://github.com/guicho271828/type-i")
6005 (source
6006 (origin
6007 (method git-fetch)
6008 (uri (git-reference
6009 (url home-page)
6010 (commit commit)))
6011 (file-name (git-file-name name version))
6012 (sha256
6013 (base32
6014 "039g5pbrhh65s0bhr9314gmd2nwc2y5lp2377c5qrc2lxky89qs3"))))
6015 (inputs
6016 `(("alexandria" ,sbcl-alexandria)
6017 ("introspect-environment" ,sbcl-introspect-environment)
6018 ("trivia.trivial" ,sbcl-trivia.trivial)))
6019 (native-inputs
6020 `(("fiveam" ,sbcl-fiveam)))
6021 (arguments
6022 `(#:test-asd-file "type-i.test.asd"))
6023 (synopsis "Type inference utility on unary predicates for Common Lisp")
6024 (description "This library tries to provide a way to detect what kind of
6025type the given predicate is trying to check. This is different from inferring
6026the return type of a function.")
6027 (license license:llgpl))))
6028
6029(define-public cl-type-i
6030 (sbcl-package->cl-source-package sbcl-type-i))
6031
6032(define-public sbcl-optima
6033 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6034 (revision "1"))
6035 (package
6036 (name "sbcl-optima")
6037 (build-system asdf-build-system/sbcl)
6038 (version (git-version "1.0" revision commit))
6039 (home-page "https://github.com/m2ym/optima")
6040 (source
6041 (origin
6042 (method git-fetch)
6043 (uri (git-reference
6044 (url home-page)
6045 (commit commit)))
6046 (file-name (git-file-name name version))
6047 (sha256
6048 (base32
6049 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6050 (inputs
6051 `(("alexandria" ,sbcl-alexandria)
6052 ("closer-mop" ,sbcl-closer-mop)))
6053 (native-inputs
6054 `(("eos" ,sbcl-eos)))
6055 (arguments
6056 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6057 `(#:tests? #f
6058 #:test-asd-file "optima.test.asd"))
6059 (synopsis "Optimized pattern matching library for Common Lisp")
6060 (description "Optima is a fast pattern matching library which uses
6061optimizing techniques widely used in the functional programming world.")
6062 (license license:expat))))
6063
6064(define-public cl-optima
6065 (sbcl-package->cl-source-package sbcl-optima))
6066
6067(define-public sbcl-fare-quasiquote
639b47e6
GLV
6068 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6069 (revision "1"))
6070 (package
6071 (name "sbcl-fare-quasiquote")
6072 (build-system asdf-build-system/sbcl)
6073 (version (git-version "1.0.1" revision commit))
6074 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6075 (source
6076 (origin
6077 (method git-fetch)
6078 (uri (git-reference
6079 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6080 "fare-quasiquote.git"))
6081 (commit commit)))
6082 (file-name (git-file-name name version))
6083 (sha256
6084 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6085 (inputs
6086 `(("fare-utils" ,sbcl-fare-utils)))
6087 (arguments
6088 ;; XXX: Circular dependencies: Tests depend on subsystems,
6089 ;; which depend on the main systems.
6090 `(#:tests? #f
6091 #:phases
6092 (modify-phases %standard-phases
6093 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6094 ;; commits after 1.0.0.5, but ASDF fails to read the
6095 ;; "-REVISION-COMMIT" part generated by Guix.
6096 (add-after 'unpack 'patch-requirement
6097 (lambda _
6098 (substitute* "fare-quasiquote.asd"
6099 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6100 "\"fare-utils\"")))))))
6101 (synopsis "Pattern-matching friendly implementation of quasiquote")
6102 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6103quasiquote is enable matching of quasiquoted patterns, using Optima or
6104Trivia.")
639b47e6 6105 (license license:expat))))
88f06fd0
PN
6106
6107(define-public cl-fare-quasiquote
6108 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6109
6110(define-public sbcl-fare-quasiquote-optima
6111 (package
6112 (inherit sbcl-fare-quasiquote)
6113 (name "sbcl-fare-quasiquote-optima")
6114 (inputs
6115 `(("optima" ,sbcl-optima)
6116 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6117 (arguments
6118 '(#:phases
6119 (modify-phases %standard-phases
6120 (add-after 'unpack 'patch-requirement
6121 (lambda _
6122 (substitute* "fare-quasiquote-optima.asd"
6123 (("\\(:version \"optima\" \"1\\.0\"\\)")
6124 "\"optima\""))
6125 #t)))))))
6126
6127(define-public cl-fare-quasiquote-optima
6128 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6129
6130(define-public sbcl-fare-quasiquote-readtable
6131 (package
6132 (inherit sbcl-fare-quasiquote)
6133 (name "sbcl-fare-quasiquote-readtable")
6134 (inputs
6135 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6136 ("named-readtables" ,sbcl-named-readtables)))
6137 (description "The main purpose of this n+2nd reimplementation of
6138quasiquote is enable matching of quasiquoted patterns, using Optima or
6139Trivia.
6140
6141This package uses fare-quasiquote with named-readtable.")))
6142
6143(define-public cl-fare-quasiquote-readtable
6144 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6145
6146;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
6147(define-public sbcl-fare-quasiquote-extras
6148 (package
6149 (inherit sbcl-fare-quasiquote)
6150 (name "sbcl-fare-quasiquote-extras")
6151 (build-system asdf-build-system/sbcl)
6152 (inputs
6153 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6154 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6155 (arguments
6156 `(#:phases
6157 (modify-phases %standard-phases
6158 (replace 'build
6159 (lambda* (#:key outputs #:allow-other-keys)
6160 (let* ((out (assoc-ref outputs "out"))
6161 (lib (string-append out "/lib/" (%lisp-type))))
6162 (mkdir-p lib)
6163 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6164 (make-file-writable
6165 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
6166 #t)))
6167 (add-after 'create-asd-file 'fix-asd-file
6168 (lambda* (#:key outputs #:allow-other-keys)
6169 (let* ((out (assoc-ref outputs "out"))
6170 (lib (string-append out "/lib/" (%lisp-type)))
6171 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6172 (substitute* asd
6173 ((":class")
6174 "")
6175 (("asdf/bundle:prebuilt-system")
6176 "")
6177 ((":components")
6178 "")
6179 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6180 "")))
6181 #t)))))
6182 (description "This library combines @code{fare-quasiquote-readtable} and
6183@code{fare-quasiquote-optima}.")))
6184
88f06fd0
PN
6185(define-public cl-fare-quasiquote-extras
6186 (package
6187 (inherit cl-fare-quasiquote)
6188 (name "cl-fare-quasiquote-extras")
6189 (build-system asdf-build-system/source)
6190 (propagated-inputs
6191 `(("fare-quasiquote" ,cl-fare-quasiquote)
6192 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6193 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6194 (description "This library combines @code{fare-quasiquote-readtable} and
6195@code{fare-quasiquote-optima}.")))
6196
6197(define-public sbcl-trivia.level0
ba69e6e6
PN
6198 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6199 (revision "2"))
88f06fd0
PN
6200 (package
6201 (name "sbcl-trivia.level0")
6202 (build-system asdf-build-system/sbcl)
6203 (version (git-version "0.0.0" revision commit))
6204 (home-page "https://github.com/guicho271828/trivia")
6205 (source
6206 (origin
6207 (method git-fetch)
6208 (uri (git-reference
6209 (url home-page)
6210 (commit commit)))
6211 (file-name (git-file-name name version))
6212 (sha256
6213 (base32
ba69e6e6 6214 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
88f06fd0
PN
6215 (inputs
6216 `(("alexandria" ,sbcl-alexandria)))
6217 (synopsis "Pattern matching in Common Lisp")
6218 (description "Trivia is a pattern matching compiler that is compatible
6219with Optima, another pattern matching library for Common Lisp. It is meant to
6220be faster and more extensible than Optima.")
6221 (license license:llgpl))))
6222
6223(define-public sbcl-trivia.level1
6224 (package
6225 (inherit sbcl-trivia.level0)
6226 (name "sbcl-trivia.level1")
6227 (inputs
6228 `(("trivia.level0" ,sbcl-trivia.level0)))
6229 (description "Trivia is a pattern matching compiler that is compatible
6230with Optima, another pattern matching library for Common Lisp. It is meant to
6231be faster and more extensible than Optima.
6232
6233This system contains the core patterns of Trivia.")))
6234
6235(define-public sbcl-trivia.level2
6236 (package
6237 (inherit sbcl-trivia.level0)
6238 (name "sbcl-trivia.level2")
6239 (inputs
6240 `(("trivia.level1" ,sbcl-trivia.level1)
6241 ("lisp-namespace" ,sbcl-lisp-namespace)
6242 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6243 ("closer-mop" ,sbcl-closer-mop)))
6244 (description "Trivia is a pattern matching compiler that is compatible
6245with Optima, another pattern matching library for Common Lisp. It is meant to
6246be faster and more extensible than Optima.
6247
6248This system contains a non-optimized pattern matcher compatible with Optima,
6249with extensible optimizer interface.")))
6250
6251(define-public sbcl-trivia.trivial
6252 (package
6253 (inherit sbcl-trivia.level0)
6254 (name "sbcl-trivia.trivial")
6255 (inputs
6256 `(("trivia.level2" ,sbcl-trivia.level2)))
6257 (arguments
6258 `(#:phases
6259 (modify-phases %standard-phases
6260 (replace 'create-asd-file
6261 (lambda* (#:key outputs inputs #:allow-other-keys)
6262 (let* ((out (assoc-ref outputs "out"))
6263 (lib (string-append out "/lib/" (%lisp-type)))
6264 (level2 (assoc-ref inputs "trivia.level2")))
6265 (mkdir-p lib)
6266 (install-file "trivia.trivial.asd" lib)
6267 ;; XXX: This .asd does not have any component and the build
6268 ;; system fails to work in this case. We should update the
6269 ;; build system to handle component-less .asd.
6270 ;; TODO: How do we append to file in Guile? It seems that
6271 ;; (open-file ... "a") gets a "Permission denied".
6272 (substitute* (string-append lib "/trivia.trivial.asd")
6273 (("\"\\)")
6274 (string-append "\")
6275
6276(progn (asdf/source-registry:ensure-source-registry)
6277 (setf (gethash
6278 \"trivia.level2\"
6279 asdf/source-registry:*source-registry*)
6280 #p\""
6281 level2
6282 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6283 (description "Trivia is a pattern matching compiler that is compatible
6284with Optima, another pattern matching library for Common Lisp. It is meant to
6285be faster and more extensible than Optima.
6286
6287This system contains the base level system of Trivia with a trivial optimizer.")))
6288
6289(define-public sbcl-trivia.balland2006
6290 (package
6291 (inherit sbcl-trivia.level0)
6292 (name "sbcl-trivia.balland2006")
6293 (inputs
6294 `(("trivia.trivial" ,sbcl-trivia.trivial)
6295 ("iterate" ,sbcl-iterate)
6296 ("type-i" ,sbcl-type-i)
6297 ("alexandria" ,sbcl-alexandria)))
6298 (arguments
6299 ;; Tests are done in trivia itself.
6300 `(#:tests? #f))
6301 (description "Trivia is a pattern matching compiler that is compatible
6302with Optima, another pattern matching library for Common Lisp. It is meant to
6303be faster and more extensible than Optima.
6304
6305This system contains the base level system of Trivia with a trivial optimizer.")))
6306
6307(define-public sbcl-trivia.ppcre
6308 (package
6309 (inherit sbcl-trivia.level0)
6310 (name "sbcl-trivia.ppcre")
6311 (inputs
6312 `(("trivia.trivial" ,sbcl-trivia.trivial)
6313 ("cl-ppcre" ,sbcl-cl-ppcre)))
6314 (description "Trivia is a pattern matching compiler that is compatible
6315with Optima, another pattern matching library for Common Lisp. It is meant to
6316be faster and more extensible than Optima.
6317
6318This system contains the PPCRE extension.")))
6319
6320(define-public sbcl-trivia.quasiquote
6321 (package
6322 (inherit sbcl-trivia.level0)
6323 (name "sbcl-trivia.quasiquote")
6324 (inputs
6325 `(("trivia.trivial" ,sbcl-trivia.trivial)
6326 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6327 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6328 (description "Trivia is a pattern matching compiler that is compatible
6329with Optima, another pattern matching library for Common Lisp. It is meant to
6330be faster and more extensible than Optima.
6331
6332This system contains the fare-quasiquote extension.")))
6333
6334(define-public sbcl-trivia.cffi
6335 (package
6336 (inherit sbcl-trivia.level0)
6337 (name "sbcl-trivia.cffi")
6338 (inputs
6339 `(("cffi" ,sbcl-cffi)
6340 ("trivia.trivial" ,sbcl-trivia.trivial)))
6341 (description "Trivia is a pattern matching compiler that is compatible
6342with Optima, another pattern matching library for Common Lisp. It is meant to
6343be faster and more extensible than Optima.
6344
6345This system contains the CFFI foreign slot access extension.")))
6346
6347(define-public sbcl-trivia
6348 (package
6349 (inherit sbcl-trivia.level0)
6350 (name "sbcl-trivia")
6351 (inputs
6352 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6353 (native-inputs
6354 `(("fiveam" ,sbcl-fiveam)
6355 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6356 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6357 ("trivia.cffi" ,sbcl-trivia.cffi)
6358 ("optima" ,sbcl-optima)))
6359 (arguments
6360 `(#:test-asd-file "trivia.test.asd"
6361 #:phases
6362 (modify-phases %standard-phases
6363 (add-after 'create-asd 'remove-component
6364 ;; XXX: The original .asd has no components, but our build system
6365 ;; creates an entry nonetheless. We need to remove it for the
6366 ;; generated .asd to load properly. See trivia.trivial for a
6367 ;; similar problem.
6368 (lambda* (#:key outputs #:allow-other-keys)
6369 (let* ((out (assoc-ref outputs "out"))
6370 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6371 (substitute* asd
6372 ((" :components
6373")
6374 ""))
6375 (substitute* asd
6376 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6377 ""))))))))
6378 (description "Trivia is a pattern matching compiler that is compatible
6379with Optima, another pattern matching library for Common Lisp. It is meant to
6380be faster and more extensible than Optima.")))
6381
6382(define-public cl-trivia
6383 (sbcl-package->cl-source-package sbcl-trivia))
6384
6385(define-public sbcl-mk-string-metrics
6386 (package
6387 (name "sbcl-mk-string-metrics")
6388 (version "0.1.2")
6389 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6390 (source (origin
6391 (method git-fetch)
6392 (uri (git-reference
6393 (url home-page)
6394 (commit version)))
6395 (sha256
6396 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6397 (file-name (git-file-name name version))))
6398 (build-system asdf-build-system/sbcl)
6399 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6400 (description "This library implements efficient algorithms that calculate
6401various string metrics in Common Lisp:
6402
6403@itemize
6404@item Damerau-Levenshtein distance
6405@item Hamming distance
6406@item Jaccard similarity coefficient
6407@item Jaro distance
6408@item Jaro-Winkler distance
6409@item Levenshtein distance
6410@item Normalized Damerau-Levenshtein distance
6411@item Normalized Levenshtein distance
6412@item Overlap coefficient
6413@end itemize\n")
6414 (license license:x11)))
6415
6416(define-public cl-mk-string-metrics
6417 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6418
6419(define-public sbcl-cl-str
7cb4c521 6420 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6421 (package
6422 (name "sbcl-cl-str")
7cb4c521 6423 (version (git-version "0.17" "1" commit))
88f06fd0
PN
6424 (home-page "https://github.com/vindarel/cl-str")
6425 (source (origin
6426 (method git-fetch)
6427 (uri (git-reference
6428 (url home-page)
6429 (commit commit)))
6430 (sha256
7cb4c521 6431 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6432 (file-name (git-file-name name version))))
6433 (build-system asdf-build-system/sbcl)
6434 (inputs
6435 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6436 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6437 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6438 (native-inputs
6439 `(("prove" ,sbcl-prove)
6440 ("prove-asdf" ,sbcl-prove-asdf)))
6441 (arguments
6442 `(#:asd-file "str.asd"
6443 #:asd-system-name "str"
6444 #:test-asd-file "str.test.asd"))
6445 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6446 (description "A modern and consistent Common Lisp string manipulation
6447library that focuses on modernity, simplicity and discoverability:
6448@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6449@code{str:concat strings} instead of an unusual format construct; one
6450discoverable library instead of many; consistency and composability, where
6451@code{s} is always the last argument, which makes it easier to feed pipes and
6452arrows.")
6453 (license license:expat))))
6454
6455(define-public cl-str
6456 (sbcl-package->cl-source-package sbcl-cl-str))
6457
6458(define-public sbcl-cl-xmlspam
6459 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6460 (package
6461 (name "sbcl-cl-xmlspam")
6462 (build-system asdf-build-system/sbcl)
6463 (version (git-version "0.0.0" "1" commit))
6464 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6465 (source
6466 (origin
6467 (method git-fetch)
6468 (uri (git-reference
6469 (url home-page)
6470 (commit commit)))
6471 (file-name (string-append name "-" version))
6472 (sha256
6473 (base32
6474 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6475 (inputs
6476 `(("cxml" ,sbcl-cxml)
6477 ("cl-ppcre" ,sbcl-cl-ppcre)))
6478 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6479 (description "CXML does an excellent job at parsing XML elements, but what
6480do you do when you have a XML file that's larger than you want to fit in
6481memory, and you want to extract some information from it? Writing code to deal
6482with SAX events, or even using Klacks, quickly becomes tedious.
6483@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6484to write code that mirrors the structure of the XML that it's parsing. It
6485also makes it easy to shift paradigms when necessary - the usual Lisp control
6486constructs can be used interchangeably with pattern matching, and the full
6487power of CXML is available when necessary.")
6488 (license license:bsd-3))))
6489
6490;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6491;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6492;; asdf-build-system/sbcl.
6493(define-public cl-dbus
6494 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6495 (revision "1"))
6496 (package
6497 (name "cl-dbus")
6498 (build-system asdf-build-system/source)
6499 (version (git-version "20190408" revision commit))
6500 (home-page "https://github.com/death/dbus")
6501 (source
6502 (origin
6503 (method git-fetch)
6504 (uri (git-reference
6505 (url home-page)
6506 (commit commit)))
6507 (file-name (git-file-name name version))
6508 (sha256
6509 (base32
6510 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6511 ;; Inputs must be propagated or else packages depending on this won't
6512 ;; have the necessary packages.
88f06fd0
PN
6513 (propagated-inputs
6514 `(("alexandria" ,sbcl-alexandria)
6515 ("trivial-garbage" ,sbcl-trivial-garbage)
6516 ("babel" ,sbcl-babel)
6517 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6518 ("ieee-floats" ,sbcl-ieee-floats)
6519 ("flexi-streams" ,sbcl-flexi-streams)
6520 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6521 ("ironclad" ,sbcl-ironclad)))
6522 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6523 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6524objects as well as send and notify other objects connected to a bus.")
6525 (license license:bsd-2))))
6526
6527(define-public sbcl-cl-hooks
6528 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6529 (revision "1"))
6530 (package
6531 (name "sbcl-cl-hooks")
6532 (build-system asdf-build-system/sbcl)
6533 (version (git-version "0.2.1" revision commit))
6534 (home-page "https://github.com/scymtym/architecture.hooks")
6535 (source
6536 (origin
6537 (method git-fetch)
6538 (uri (git-reference
6539 (url home-page)
6540 (commit commit)))
6541 (file-name (git-file-name name version))
6542 (sha256
6543 (base32
6544 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6545 (inputs
6546 `(("alexandria" ,sbcl-alexandria)
6547 ("let-plus" ,sbcl-let-plus)
6548 ("trivial-garbage" ,sbcl-trivial-garbage)
6549 ("closer-mop" ,sbcl-closer-mop)))
6550 (native-inputs
6551 `(("fiveam" ,sbcl-fiveam)))
6552 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6553 (description "A hook, in the present context, is a certain kind of
6554extension point in a program that allows interleaving the execution of
6555arbitrary code with the execution of a the program without introducing any
6556coupling between the two. Hooks are used extensively in the extensible editor
6557Emacs.
6558
6559In the Common LISP Object System (CLOS), a similar kind of extensibility is
6560possible using the flexible multi-method dispatch mechanism. It may even seem
6561that the concept of hooks does not provide any benefits over the possibilities
6562of CLOS. However, there are some differences:
6563
6564@itemize
6565
6566@item There can be only one method for each combination of specializers and
6567qualifiers. As a result this kind of extension point cannot be used by
6568multiple extensions independently.
6569@item Removing code previously attached via a @code{:before}, @code{:after} or
6570@code{:around} method can be cumbersome.
6571@item There could be other or even multiple extension points besides @code{:before}
6572and @code{:after} in a single method.
6573@item Attaching codes to individual objects using eql specializers can be
6574cumbersome.
6575@item Introspection of code attached a particular extension point is
6576cumbersome since this requires enumerating and inspecting the methods of a
6577generic function.
6578@end itemize
6579
6580This library tries to complement some of these weaknesses of method-based
6581extension-points via the concept of hooks.")
6582 (license license:llgpl))))
6583
6584(define-public cl-hooks
6585 (sbcl-package->cl-source-package sbcl-cl-hooks))
6586
6587(define-public ecl-cl-hooks
6588 (sbcl-package->ecl-package sbcl-cl-hooks))
6589
6590(define-public sbcl-s-sysdeps
bdfd1d18
PN
6591 ;; No release since 2013.
6592 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6593 (revision "2"))
88f06fd0
PN
6594 (package
6595 (name "sbcl-s-sysdeps")
6596 (build-system asdf-build-system/sbcl)
6597 (version (git-version "1" revision commit))
6598 (home-page "https://github.com/svenvc/s-sysdeps")
6599 (source
6600 (origin
6601 (method git-fetch)
6602 (uri (git-reference
6603 (url home-page)
6604 (commit commit)))
6605 (file-name (git-file-name name version))
6606 (sha256
6607 (base32
bdfd1d18
PN
6608 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6609 (inputs
6610 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6611 ("usocket" ,sbcl-usocket)
6612 ("usocket-server" ,sbcl-usocket-server)))
88f06fd0
PN
6613 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6614 (description "@code{s-sysdeps} is an abstraction layer over platform
6615dependent functionality. This simple package is used as a building block in a
6616number of other open source projects.
6617
6618@code{s-sysdeps} abstracts:
6619
6620@itemize
6621@item managing processes,
6622@item implementing a standard TCP/IP server,
6623@item opening a client TCP/IP socket stream,
6624@item working with process locks.
6625@end itemize\n")
6626 (license license:llgpl))))
6627
6628(define-public cl-s-sysdeps
6629 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6630
6631(define-public ecl-s-sysdeps
6632 (sbcl-package->ecl-package sbcl-s-sysdeps))
6633
6634(define-public sbcl-cl-prevalence
6dd4931a
PN
6635 (let ((commit "da3ed6c4594b1c2fca90c178c1993973c4bf16c9")
6636 (revision "2"))
88f06fd0
PN
6637 (package
6638 (name "sbcl-cl-prevalence")
6639 (build-system asdf-build-system/sbcl)
6640 (version (git-version "5" revision commit))
6641 (home-page "https://github.com/40ants/cl-prevalence")
6642 (source
6643 (origin
6644 (method git-fetch)
6645 (uri (git-reference
6646 (url home-page)
6647 (commit commit)))
6648 (file-name (git-file-name name version))
6649 (sha256
6650 (base32
6dd4931a 6651 "0bq905hv1626dl6b7s0zn4lbdh608g1pxaljl1fda6pwp9hmj95a"))))
88f06fd0
PN
6652 (inputs
6653 `(("s-sysdeps" ,sbcl-s-sysdeps)
6654 ("s-xml" ,sbcl-s-xml)))
6655 (synopsis "Implementation of object prevalence for Common Lisp")
6656 (description "This Common Lisp library implements object prevalence (see
6657@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6658for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6659classes and cyclic data structures are supported.")
6660 (license license:llgpl))))
6661
6662(define-public cl-prevalence
6663 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6664
6665(define-public ecl-cl-prevalence
6666 (sbcl-package->ecl-package sbcl-cl-prevalence))
6667
6668(define-public sbcl-series
6669 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6670 (revision "1"))
6671 (package
6672 (name "sbcl-series")
6673 (version (git-version "2.2.11" revision commit))
6674 (source
6675 (origin
6676 (method git-fetch)
6677 (uri (git-reference
6678 (url "git://git.code.sf.net/p/series/series")
6679 (commit commit)))
6680 (file-name (git-file-name name version))
6681 (sha256
6682 (base32
6683 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6684 (build-system asdf-build-system/sbcl)
6685 (arguments
6686 ;; Disable the tests, they are apparently buggy and I didn't find
6687 ;; a simple way to make them run and pass.
6688 '(#:tests? #f))
6689 (synopsis "Series data structure for Common Lisp")
6690 (description
6691 "This Common Lisp library provides a series data structure much like
6692a sequence, with similar kinds of operations. The difference is that in many
6693situations, operations on series may be composed functionally and yet execute
6694iteratively, without the need to construct intermediate series values
6695explicitly. In this manner, series provide both the clarity of a functional
6696programming style and the efficiency of an iterative programming style.")
6697 (home-page "http://series.sourceforge.net/")
6698 (license license:expat))))
6699
6700(define-public cl-series
6701 (sbcl-package->cl-source-package sbcl-series))
6702
6703(define-public ecl-series
6704 (sbcl-package->ecl-package sbcl-series))
6705
6706(define-public sbcl-periods
6707 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6708 (revision "1"))
6709 (package
6710 (name "sbcl-periods")
6711 (version (git-version "0.0.2" revision commit))
6712 (source
6713 (origin
6714 (method git-fetch)
6715 (uri (git-reference
6716 (url "https://github.com/jwiegley/periods.git")
6717 (commit commit)))
6718 (file-name (git-file-name name version))
6719 (sha256
6720 (base32
6721 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6722 (build-system asdf-build-system/sbcl)
6723 (inputs
6724 `(("local-time" ,sbcl-local-time)))
6725 (synopsis "Common Lisp library for manipulating date/time objects")
6726 (description
6727 "Periods is a Common Lisp library providing a set of utilities for
6728manipulating times, distances between times, and both contiguous and
6729discontiguous ranges of time.")
6730 (home-page "https://github.com/jwiegley/periods")
6731 (license license:bsd-3))))
6732
6733(define-public cl-periods
6734 (sbcl-package->cl-source-package sbcl-periods))
6735
6736(define-public ecl-periods
6737 (sbcl-package->ecl-package sbcl-periods))
6738
6739(define-public sbcl-periods-series
6740 (package
6741 (inherit sbcl-periods)
6742 (name "sbcl-periods-series")
6743 (inputs
6744 `(("periods" ,sbcl-periods)
6745 ("series" ,sbcl-series)))
6746 (arguments
6747 '(#:asd-file "periods-series.asd"
6748 #:asd-system-name "periods-series"))
6749 (description
6750 "Periods-series is an extension of the periods Common Lisp library
6751providing functions compatible with the series Common Lisp library.")))
6752
6753(define-public cl-periods-series
6754 (sbcl-package->cl-source-package sbcl-periods-series))
6755
6756(define-public ecl-periods-series
6757 (sbcl-package->ecl-package sbcl-periods-series))
6758
6759(define-public sbcl-metatilities-base
6760 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6761 (revision "1"))
6762 (package
6763 (name "sbcl-metatilities-base")
6764 (version (git-version "0.6.6" revision commit))
6765 (source
6766 (origin
6767 (method git-fetch)
6768 (uri (git-reference
6769 (url "https://github.com/gwkkwg/metatilities-base.git")
6770 (commit commit)))
6771 (file-name (git-file-name name version))
6772 (sha256
6773 (base32
6774 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6775 (build-system asdf-build-system/sbcl)
6776 (native-inputs
6777 `(("lift" ,sbcl-lift)))
6778 (synopsis "Core of the metatilities Common Lisp library")
6779 (description
6780 "Metatilities-base is the core of the metatilities Common Lisp library
6781which implements a set of utilities.")
6782 (home-page "https://common-lisp.net/project/metatilities-base/")
6783 (license license:expat))))
6784
6785(define-public cl-metatilities-base
6786 (sbcl-package->cl-source-package sbcl-metatilities-base))
6787
6788(define-public ecl-metatilities-base
6789 (sbcl-package->ecl-package sbcl-metatilities-base))
6790
6791(define-public sbcl-cl-containers
0ad6ecb8
PN
6792 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6793 (revision "3"))
88f06fd0
PN
6794 (package
6795 (name "sbcl-cl-containers")
6796 (version (git-version "0.12.1" revision commit))
6797 (source
6798 (origin
6799 (method git-fetch)
6800 (uri (git-reference
6801 (url "https://github.com/gwkkwg/cl-containers.git")
6802 (commit commit)))
6803 (file-name (git-file-name name version))
6804 (sha256
6805 (base32
0ad6ecb8 6806 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6807 (build-system asdf-build-system/sbcl)
6808 (native-inputs
6809 `(("lift" ,sbcl-lift)))
6810 (inputs
6811 `(("metatilities-base" ,sbcl-metatilities-base)))
6812 (arguments
6813 '(#:phases
6814 (modify-phases %standard-phases
6815 (add-after 'unpack 'relax-version-checks
6816 (lambda _
6817 (substitute* "cl-containers.asd"
6818 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6819 "\"metatilities-base\""))
6820 (substitute* "cl-containers-test.asd"
6821 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6822 "\"lift\""))
6823 #t)))))
6824 (synopsis "Container library for Common Lisp")
6825 (description
6826 "Common Lisp ships with a set of powerful built in data structures
6827including the venerable list, full featured arrays, and hash-tables.
6828CL-containers enhances and builds on these structures by adding containers
6829that are not available in native Lisp (for example: binary search trees,
6830red-black trees, sparse arrays and so on), and by providing a standard
6831interface so that they are simpler to use and so that changing design
6832decisions becomes significantly easier.")
6833 (home-page "https://common-lisp.net/project/cl-containers/")
6834 (license license:expat))))
6835
6836(define-public cl-containers
6837 (sbcl-package->cl-source-package sbcl-cl-containers))
6838
6839(define-public ecl-cl-containers
6840 (sbcl-package->ecl-package sbcl-cl-containers))
6841
6842(define-public sbcl-xlunit
6843 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6844 (revision "1"))
6845 (package
6846 (name "sbcl-xlunit")
6847 (version (git-version "0.6.3" revision commit))
6848 (source
6849 (origin
6850 (method git-fetch)
6851 (uri (git-reference
6852 (url "http://git.kpe.io/xlunit.git")
6853 (commit commit)))
6854 (file-name (git-file-name name version))
6855 (sha256
6856 (base32
6857 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6858 (build-system asdf-build-system/sbcl)
6859 (arguments
6860 '(#:phases
6861 (modify-phases %standard-phases
6862 (add-after 'unpack 'fix-tests
6863 (lambda _
6864 (substitute* "xlunit.asd"
6865 ((" :force t") ""))
6866 #t)))))
6867 (synopsis "Unit testing package for Common Lisp")
6868 (description
6869 "The XLUnit package is a toolkit for building test suites. It is based
6870on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6871 (home-page "http://quickdocs.org/xlunit/")
6872 (license license:bsd-3))))
6873
6874(define-public cl-xlunit
6875 (sbcl-package->cl-source-package sbcl-xlunit))
6876
6877(define-public ecl-xlunit
6878 (sbcl-package->ecl-package sbcl-xlunit))
6879
6880(define-public sbcl-fprog
6881 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6882 (revision "1"))
6883 (package
6884 (name "sbcl-fprog")
6885 (version (git-version "1.0.0" revision commit))
6886 (source
6887 (origin
6888 (method git-fetch)
6889 (uri (git-reference
6890 (url "https://github.com/jwiegley/cambl.git")
6891 (commit commit)))
6892 (file-name (git-file-name name version))
6893 (sha256
6894 (base32
6895 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6896 (build-system asdf-build-system/sbcl)
6897 (synopsis "Functional programming utilities for Common Lisp")
6898 (description
6899 "@code{fprog} is a Common Lisp library allowing iteration over
6900immutable lists sharing identical sublists.")
6901 (home-page "https://github.com/jwiegley/cambl")
6902 (license license:bsd-3))))
6903
6904(define-public cl-fprog
6905 (sbcl-package->cl-source-package sbcl-fprog))
6906
6907(define-public ecl-fprog
6908 (sbcl-package->ecl-package sbcl-fprog))
6909
6910(define-public sbcl-cambl
6911 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6912 (revision "1"))
6913 (package
6914 (inherit sbcl-fprog)
6915 (name "sbcl-cambl")
6916 (version (git-version "4.0.0" revision commit))
6917 (native-inputs
6918 `(("xlunit" ,sbcl-xlunit)))
6919 (inputs
6920 `(("alexandria" ,sbcl-alexandria)
6921 ("cl-containers" ,sbcl-cl-containers)
6922 ("local-time" ,sbcl-local-time)
6923 ("periods" ,sbcl-periods)
6924 ("fprog" ,sbcl-fprog)))
6925 (synopsis "Commoditized amounts and balances for Common Lisp")
6926 (description
6927 "CAMBL is a Common Lisp library providing a convenient facility for
6928working with commoditized values. It does not allow compound units (and so is
6929not suited for scientific operations) but does work rather nicely for the
6930purpose of financial calculations."))))
6931
6932(define-public cl-cambl
6933 (sbcl-package->cl-source-package sbcl-cambl))
6934
6935(define-public ecl-cambl
6936 (sbcl-package->ecl-package sbcl-cambl))
6937
6938(define-public sbcl-cl-ledger
6939 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6940 (revision "1"))
6941 (package
6942 (name "sbcl-cl-ledger")
6943 (version (git-version "4.0.0" revision commit))
6944 (source
6945 (origin
6946 (method git-fetch)
6947 (uri (git-reference
6948 (url "https://github.com/ledger/cl-ledger.git")
6949 (commit commit)))
6950 (file-name (git-file-name name version))
6951 (sha256
6952 (base32
6953 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6954 (build-system asdf-build-system/sbcl)
6955 (inputs
6956 `(("cambl" ,sbcl-cambl)
6957 ("cl-ppcre" ,sbcl-cl-ppcre)
6958 ("local-time" ,sbcl-local-time)
6959 ("periods-series" ,sbcl-periods-series)))
6960 (arguments
6961 '(#:phases
6962 (modify-phases %standard-phases
6963 (add-after 'unpack 'fix-system-definition
6964 (lambda _
6965 (substitute* "cl-ledger.asd"
6966 ((" :build-operation program-op") "")
6967 ((" :build-pathname \"cl-ledger\"") "")
6968 ((" :entry-point \"ledger::main\"") ""))
6969 #t)))))
6970 (synopsis "Common Lisp port of the Ledger accounting system")
6971 (description
6972 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6973system.")
6974 (home-page "https://github.com/ledger/cl-ledger")
6975 (license license:bsd-3))))
6976
6977(define-public cl-ledger
6978 (sbcl-package->cl-source-package sbcl-cl-ledger))
6979
6980(define-public ecl-cl-ledger
6981 (sbcl-package->ecl-package sbcl-cl-ledger))
6982
6983(define-public sbcl-bst
6984 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6985 (revision "1"))
6986 (package
6987 (name "sbcl-bst")
6988 (version (git-version "1.1" revision commit))
6989 (source
6990 (origin
6991 (method git-fetch)
6992 (uri (git-reference
6993 (url "https://github.com/glv2/bst.git")
6994 (commit commit)))
6995 (file-name (git-file-name name version))
6996 (sha256
6997 (base32
6998 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6999 (build-system asdf-build-system/sbcl)
7000 (native-inputs
7001 `(("alexandria" ,sbcl-alexandria)
7002 ("fiveam" ,sbcl-fiveam)))
7003 (synopsis "Binary search tree for Common Lisp")
7004 (description
7005 "BST is a Common Lisp library for working with binary search trees that
7006can contain any kind of values.")
7007 (home-page "https://github.com/glv2/bst")
7008 (license license:gpl3))))
7009
7010(define-public cl-bst
7011 (sbcl-package->cl-source-package sbcl-bst))
7012
7013(define-public ecl-bst
7014 (sbcl-package->ecl-package sbcl-bst))
7015
7016(define-public sbcl-cl-octet-streams
7017 (package
7018 (name "sbcl-cl-octet-streams")
7019 (version "1.0")
7020 (source
7021 (origin
7022 (method git-fetch)
7023 (uri (git-reference
7024 (url "https://github.com/glv2/cl-octet-streams.git")
7025 (commit (string-append "v" version))))
7026 (file-name (git-file-name name version))
7027 (sha256
7028 (base32
7029 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
7030 (build-system asdf-build-system/sbcl)
7031 (native-inputs
7032 `(("fiveam" ,sbcl-fiveam)))
7033 (inputs
7034 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7035 (synopsis "In-memory octet streams for Common Lisp")
7036 (description
7037 "CL-octet-streams is a library implementing in-memory octet
7038streams for Common Lisp. It was inspired by the trivial-octet-streams and
7039cl-plumbing libraries.")
7040 (home-page "https://github.com/glv2/cl-octet-streams")
7041 (license license:gpl3+)))
7042
7043(define-public cl-octet-streams
7044 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7045
7046(define-public ecl-cl-octet-streams
7047 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7048
7049(define-public sbcl-lzlib
7050 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
7051 (revision "1"))
7052 (package
7053 (name "sbcl-lzlib")
7054 (version (git-version "1.0" revision commit))
7055 (source
7056 (origin
7057 (method git-fetch)
7058 (uri (git-reference
7059 (url "https://github.com/glv2/cl-lzlib.git")
7060 (commit commit)))
7061 (file-name (git-file-name name version))
7062 (sha256
7063 (base32
7064 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
7065 (build-system asdf-build-system/sbcl)
7066 (native-inputs
7067 `(("fiveam" ,sbcl-fiveam)))
7068 (inputs
7069 `(("cffi" ,sbcl-cffi)
7070 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7071 ("lzlib" ,lzlib)))
7072 (arguments
7073 '(#:phases
7074 (modify-phases %standard-phases
7075 (add-after 'unpack 'fix-paths
7076 (lambda* (#:key inputs #:allow-other-keys)
7077 (substitute* "src/lzlib.lisp"
7078 (("liblz\\.so")
7079 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7080 #t)))))
7081 (synopsis "Common Lisp library for lzip (de)compression")
7082 (description
7083 "This Common Lisp library provides functions for lzip (LZMA)
7084compression/decompression using bindings to the lzlib C library.")
7085 (home-page "https://github.com/glv2/cl-lzlib")
7086 (license license:gpl3+))))
7087
7088(define-public cl-lzlib
7089 (sbcl-package->cl-source-package sbcl-lzlib))
7090
7091(define-public ecl-lzlib
7092 (sbcl-package->ecl-package sbcl-lzlib))
7093
7094(define-public sbcl-chanl
00a9a936
GLV
7095 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7096 (revision "1"))
88f06fd0
PN
7097 (package
7098 (name "sbcl-chanl")
7099 (version (git-version "0.4.1" revision commit))
7100 (source
7101 (origin
7102 (method git-fetch)
7103 (uri (git-reference
7104 (url "https://github.com/zkat/chanl.git")
7105 (commit commit)))
7106 (file-name (git-file-name name version))
7107 (sha256
7108 (base32
00a9a936 7109 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7110 (build-system asdf-build-system/sbcl)
7111 (native-inputs
7112 `(("fiveam" ,sbcl-fiveam)))
7113 (inputs
7114 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7115 (synopsis "Portable channel-based concurrency for Common Lisp")
7116 (description "Common Lisp library for channel-based concurrency. In
7117a nutshell, you create various threads sequentially executing tasks you need
7118done, and use channel objects to communicate and synchronize the state of these
7119threads.")
7120 (home-page "https://github.com/zkat/chanl")
7121 (license (list license:expat license:bsd-3)))))
7122
7123(define-public cl-chanl
7124 (sbcl-package->cl-source-package sbcl-chanl))
7125
7126(define-public ecl-chanl
00a9a936 7127 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7128
7129(define-public sbcl-cl-store
1896256d
BG
7130 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7131 (revision "1"))
88f06fd0
PN
7132 (package
7133 (name "sbcl-cl-store")
7134 (version (git-version "0.8.11" revision commit))
7135 (source
7136 (origin
7137 (method git-fetch)
7138 (uri (git-reference
7139 (url "https://github.com/skypher/cl-store.git")
7140 (commit commit)))
7141 (file-name (git-file-name name version))
7142 (sha256
7143 (base32
1896256d 7144 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7145 (build-system asdf-build-system/sbcl)
7146 (native-inputs
7147 `(("rt" ,sbcl-rt)))
7148 (synopsis "Common Lisp library to serialize data")
7149 (description
7150 "CL-STORE is a portable serialization package which should give you the
7151ability to store all Common Lisp data types into streams.")
630a4b77 7152 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7153 (license license:expat))))
7154
7155(define-public cl-store
7156 (sbcl-package->cl-source-package sbcl-cl-store))
7157
7158(define-public ecl-cl-store
7159 (sbcl-package->ecl-package sbcl-cl-store))
7160
7161(define-public sbcl-cl-gobject-introspection
7162 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7163 (revision "0"))
7164 (package
7165 (name "sbcl-cl-gobject-introspection")
7166 (version (git-version "0.3" revision commit))
7167 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7168 (source
7169 (origin
7170 (method git-fetch)
7171 (uri (git-reference
7172 (url home-page)
7173 (commit commit)))
7174 (file-name (git-file-name name version))
7175 (sha256
7176 (base32
7177 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7178 (build-system asdf-build-system/sbcl)
7179 (inputs
7180 `(("alexandria" ,sbcl-alexandria)
7181 ("cffi" ,sbcl-cffi)
7182 ("iterate" ,sbcl-iterate)
7183 ("trivial-garbage" ,sbcl-trivial-garbage)
7184 ("glib" ,glib)
7185 ("gobject-introspection" ,gobject-introspection)))
7186 (native-inputs
7187 `(("fiveam" ,sbcl-fiveam)))
7188 (arguments
7189 ;; TODO: Tests fail, see
7190 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7191 '(#:tests? #f
7192 #:phases
7193 (modify-phases %standard-phases
7194 (add-after (quote unpack) (quote fix-paths)
7195 (lambda* (#:key inputs #:allow-other-keys)
7196 (substitute* "src/init.lisp"
7197 (("libgobject-2\\.0\\.so")
7198 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7199 (("libgirepository-1\\.0\\.so")
7200 (string-append (assoc-ref inputs "gobject-introspection")
7201 "/lib/libgirepository-1.0.so")))
7202 #t)))))
7203 (synopsis "Common Lisp bindings to GObject Introspection")
7204 (description
7205 "This library is a bridge between Common Lisp and GObject
7206Introspection, which enables Common Lisp programs to access the full interface
7207of C+GObject libraries without the need of writing dedicated bindings.")
7208 (license (list license:bsd-3
7209 ;; Tests are under a different license.
7210 license:llgpl)))))
7211
7212(define-public cl-gobject-introspection
7213 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7214
7215(define-public sbcl-string-case
7216 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7217 (revision "0"))
7218 (package
7219 (name "sbcl-string-case")
7220 (version (git-version "0.0.2" revision commit))
7221 (home-page "https://github.com/pkhuong/string-case")
7222 (source
7223 (origin
7224 (method git-fetch)
7225 (uri (git-reference
7226 (url home-page)
7227 (commit commit)))
7228 (file-name (git-file-name name version))
7229 (sha256
7230 (base32
7231 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7232 (build-system asdf-build-system/sbcl)
7233 (synopsis "Efficient string= case in Common Lisp")
7234 (description
7235 "@code{string-case} is a Common Lisp macro that generates specialised decision
7236trees to dispatch on string equality.")
7237 (license license:bsd-3))))
7238
7239(define-public cl-string-case
7240 (sbcl-package->cl-source-package sbcl-string-case))
7241
7242(define-public ecl-string-case
7243 (sbcl-package->ecl-package sbcl-string-case))
7244
7245(define-public sbcl-global-vars
7246 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7247 (revision "0"))
7248 (package
7249 (name "sbcl-global-vars")
7250 (version (git-version "1.0.0" revision commit))
7251 (home-page "https://github.com/lmj/global-vars")
7252 (source
7253 (origin
7254 (method git-fetch)
7255 (uri (git-reference
7256 (url home-page)
7257 (commit commit)))
7258 (file-name (git-file-name name version))
7259 (sha256
7260 (base32
7261 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7262 (build-system asdf-build-system/sbcl)
7263 (synopsis "Efficient global variables in Common Lisp")
7264 (description
7265 "In Common Lisp, a special variable that is never dynamically bound
7266typically serves as a stand-in for a global variable. The @code{global-vars}
7267library provides true global variables that are implemented by some compilers.
7268An attempt to rebind a global variable properly results in a compiler error.
7269That is, a global variable cannot be dynamically bound.
7270
7271Global variables therefore allow us to communicate an intended usage that
7272differs from special variables. Global variables are also more efficient than
7273special variables, especially in the presence of threads.")
7274 (license license:expat))))
7275
7276(define-public cl-global-vars
7277 (sbcl-package->cl-source-package sbcl-global-vars))
7278
7279(define-public ecl-global-vars
7280 (sbcl-package->ecl-package sbcl-global-vars))
7281
7282(define-public sbcl-trivial-file-size
7283 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7284 (revision "0"))
7285 (package
7286 (name "sbcl-trivial-file-size")
7287 (version (git-version "0.0.0" revision commit))
7288 (home-page "https://github.com/ruricolist/trivial-file-size")
7289 (source
7290 (origin
7291 (method git-fetch)
7292 (uri (git-reference
7293 (url home-page)
7294 (commit commit)))
7295 (file-name (git-file-name name version))
7296 (sha256
7297 (base32
7298 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7299 (build-system asdf-build-system/sbcl)
7300 (native-inputs
7301 `(("fiveam" ,sbcl-fiveam)))
7302 (synopsis "Size of a file in bytes in Common Lisp")
7303 (description
7304 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7305is to open the file with an element type of (unsigned-byte 8) and then
7306calculate the length of the stream. This is less than ideal. In most cases
7307it is better to get the size of the file from its metadata, using a system
7308call.
7309
7310This library exports a single function, file-size-in-octets. It returns the
7311size of a file in bytes, using system calls when possible.")
7312 (license license:expat))))
7313
7314(define-public cl-trivial-file-size
7315 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7316
7317(define-public ecl-trivial-file-size
7318 (sbcl-package->ecl-package sbcl-trivial-file-size))
7319
7320(define-public sbcl-trivial-macroexpand-all
7321 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7322 (revision "0"))
7323 (package
7324 (name "sbcl-trivial-macroexpand-all")
7325 (version (git-version "0.0.0" revision commit))
7326 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7327 (source
7328 (origin
7329 (method git-fetch)
7330 (uri (git-reference
7331 (url home-page)
7332 (commit commit)))
7333 (file-name (git-file-name name version))
7334 (sha256
7335 (base32
7336 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7337 (build-system asdf-build-system/sbcl)
7338 (native-inputs
7339 `(("fiveam" ,sbcl-fiveam)))
7340 (synopsis "Portable macroexpand-all for Common Lisp")
7341 (description
7342 "This library provides a macroexpand-all function that calls the
7343implementation specific equivalent.")
7344 (license license:unlicense))))
7345
7346(define-public cl-trivial-macroexpand-all
7347 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7348
7349(define-public ecl-trivial-macroexpand-all
7350 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7351
7352(define-public sbcl-serapeum
f96aa123
PN
7353 (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
7354 (revision "1"))
88f06fd0
PN
7355 (package
7356 (name "sbcl-serapeum")
7357 (version (git-version "0.0.0" revision commit))
7358 (home-page "https://github.com/ruricolist/serapeum")
7359 (source
7360 (origin
7361 (method git-fetch)
7362 (uri (git-reference
7363 (url home-page)
7364 (commit commit)))
7365 (file-name (git-file-name name version))
7366 (sha256
7367 (base32
f96aa123 7368 "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
88f06fd0
PN
7369 (build-system asdf-build-system/sbcl)
7370 (inputs
7371 `(("alexandria" ,sbcl-alexandria)
7372 ("trivia" ,sbcl-trivia)
7373 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7374 ("split-sequence" ,sbcl-split-sequence)
7375 ("string-case" ,sbcl-string-case)
7376 ("parse-number" ,sbcl-parse-number)
7377 ("trivial-garbage" ,sbcl-trivial-garbage)
7378 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7379 ("named-readtables" ,sbcl-named-readtables)
8137983a 7380 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7381 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7382 ("global-vars" ,sbcl-global-vars)
7383 ("trivial-file-size" ,sbcl-trivial-file-size)
7384 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7385 (native-inputs
7386 `(("fiveam" ,sbcl-fiveam)
7387 ("local-time" ,sbcl-local-time)))
7388 (arguments
7389 '(#:phases
7390 (modify-phases %standard-phases
7391 (add-after 'unpack 'disable-failing-tests
7392 (lambda* (#:key inputs #:allow-other-keys)
7393 (substitute* "serapeum.asd"
7394 ;; Guix does not have Quicklisp, and probably never will.
7395 (("\\(:file \"quicklisp\"\\)") ""))
7396 #t)))))
7397 (synopsis "Common Lisp utility library beyond Alexandria")
7398 (description
7399 "Serapeum is a conservative library of Common Lisp utilities. It is a
7400supplement, not a competitor, to Alexandria.")
7401 (license license:expat))))
7402
7403(define-public cl-serapeum
7404 (sbcl-package->cl-source-package sbcl-serapeum))
7405
7406(define-public sbcl-arrows
7407 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7408 (revision "0"))
7409 (package
7410 (name "sbcl-arrows")
7411 (version (git-version "0.2.0" revision commit))
7412 (source
7413 (origin
7414 (method git-fetch)
7415 (uri (git-reference
7416 (url "https://gitlab.com/Harleqin/arrows.git")
7417 (commit commit)))
7418 (file-name (git-file-name name version))
7419 (sha256
7420 (base32
7421 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7422 (build-system asdf-build-system/sbcl)
7423 (native-inputs
7424 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7425 (synopsis "Clojure-like arrow macros for Common Lisp")
7426 (description
7427 "This library implements the @code{->} and @code{->>} macros from
7428Clojure, as well as several expansions on the idea.")
7429 (home-page "https://gitlab.com/Harleqin/arrows")
7430 (license license:public-domain))))
7431
7432(define-public cl-arrows
7433 (sbcl-package->cl-source-package sbcl-arrows))
7434
7435(define-public ecl-arrows
7436 (sbcl-package->ecl-package sbcl-arrows))
7437
7438(define-public sbcl-simple-parallel-tasks
7439 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7440 (revision "0"))
7441 (package
7442 (name "sbcl-simple-parallel-tasks")
7443 (version (git-version "1.0" revision commit))
7444 (source
7445 (origin
7446 (method git-fetch)
7447 (uri (git-reference
7448 (url "https://github.com/glv2/simple-parallel-tasks.git")
7449 (commit commit)))
7450 (file-name (git-file-name name version))
7451 (sha256
7452 (base32
7453 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7454 (build-system asdf-build-system/sbcl)
7455 (native-inputs
7456 `(("fiveam" ,sbcl-fiveam)))
7457 (inputs
7458 `(("chanl" ,sbcl-chanl)))
7459 (synopsis "Common Lisp library to evaluate some forms in parallel")
7460 (description "This is a simple Common Lisp library to evaluate some
7461forms in parallel.")
7462 (home-page "https://github.com/glv2/simple-parallel-tasks")
7463 (license license:gpl3))))
7464
7465(define-public cl-simple-parallel-tasks
7466 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7467
7468(define-public ecl-simple-parallel-tasks
7469 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7470
7471(define-public sbcl-cl-heap
7472 (package
7473 (name "sbcl-cl-heap")
7474 (version "0.1.6")
7475 (source
7476 (origin
7477 (method url-fetch)
7478 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7479 "cl-heap_" version ".tar.gz"))
7480 (sha256
7481 (base32
7482 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7483 (build-system asdf-build-system/sbcl)
7484 (native-inputs
7485 `(("xlunit" ,sbcl-xlunit)))
7486 (arguments
7487 `(#:test-asd-file "cl-heap-tests.asd"))
7488 (synopsis "Heap and priority queue data structures for Common Lisp")
7489 (description
7490 "CL-HEAP provides various implementations of heap data structures (a
7491binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7492 (home-page "https://common-lisp.net/project/cl-heap/")
7493 (license license:gpl3+)))
7494
7495(define-public cl-heap
7496 (sbcl-package->cl-source-package sbcl-cl-heap))
7497
7498(define-public ecl-cl-heap
7499 (sbcl-package->ecl-package sbcl-cl-heap))
7500
7501(define-public sbcl-curry-compose-reader-macros
7502 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7503 (revision "0"))
7504 (package
7505 (name "sbcl-curry-compose-reader-macros")
7506 (version (git-version "1.0.0" revision commit))
7507 (source
7508 (origin
7509 (method git-fetch)
7510 (uri
7511 (git-reference
7512 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7513 (commit commit)))
7514 (file-name (git-file-name name version))
7515 (sha256
7516 (base32
7517 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7518 (build-system asdf-build-system/sbcl)
7519 (inputs
7520 `(("alexandria" ,sbcl-alexandria)
7521 ("named-readtables" ,sbcl-named-readtables)))
7522 (synopsis "Reader macros for partial application and composition")
7523 (description
7524 "This Common Lisp library provides reader macros for concise expression
7525of function partial application and composition.")
7526 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7527 (license license:public-domain))))
7528
7529(define-public cl-curry-compose-reader-macros
7530 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7531
7532(define-public ecl-curry-compose-reader-macros
7533 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7534
7535(define-public sbcl-yason
7536 (package
7537 (name "sbcl-yason")
7538 (version "0.7.7")
7539 (source
7540 (origin
7541 (method git-fetch)
7542 (uri (git-reference
7543 (url "https://github.com/phmarek/yason.git")
7544 (commit (string-append "v" version))))
7545 (file-name (git-file-name name version))
7546 (sha256
7547 (base32
7548 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7549 (build-system asdf-build-system/sbcl)
7550 (inputs
7551 `(("alexandria" ,sbcl-alexandria)
7552 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7553 (synopsis "Common Lisp JSON parser/encoder")
7554 (description
7555 "YASON is a Common Lisp library for encoding and decoding data in the
7556JSON interchange format.")
7557 (home-page "https://github.com/phmarek/yason")
7558 (license license:bsd-3)))
7559
7560(define-public cl-yason
7561 (sbcl-package->cl-source-package sbcl-yason))
7562
7563(define-public ecl-yason
7564 (sbcl-package->ecl-package sbcl-yason))
7565
7566(define-public sbcl-stefil
7567 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7568 (revision "0"))
7569 (package
7570 (name "sbcl-stefil")
7571 (version (git-version "0.1" revision commit))
7572 (source
7573 (origin
7574 (method git-fetch)
7575 (uri (git-reference
7576 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7577 (commit commit)))
7578 (file-name (git-file-name name version))
7579 (sha256
7580 (base32
7581 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7582 (build-system asdf-build-system/sbcl)
7583 (inputs
7584 `(("alexandria" ,sbcl-alexandria)
7585 ("iterate" ,sbcl-iterate)
7586 ("metabang-bind" ,sbcl-metabang-bind)))
7587 (propagated-inputs
7588 ;; Swank doesn't have a pre-compiled package, therefore we must
7589 ;; propagate its sources.
7590 `(("swank" ,cl-slime-swank)))
7591 (arguments
7592 '(#:phases
7593 (modify-phases %standard-phases
7594 (add-after 'unpack 'drop-unnecessary-dependency
7595 (lambda _
7596 (substitute* "package.lisp"
7597 ((":stefil-system") ""))
7598 #t)))))
7599 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7600 (synopsis "Simple test framework")
7601 (description
7602 "Stefil is a simple test framework for Common Lisp, with a focus on
7603interactive development.")
7604 (license license:public-domain))))
7605
7606(define-public cl-stefil
7607 (sbcl-package->cl-source-package sbcl-stefil))
7608
7609(define-public sbcl-graph
7610 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7611 (revision "0"))
7612 (package
7613 (name "sbcl-graph")
7614 (version (git-version "0.0.0" revision commit))
7615 (source
7616 (origin
7617 (method git-fetch)
7618 (uri
7619 (git-reference
7620 (url "https://github.com/eschulte/graph.git")
7621 (commit commit)))
7622 (file-name (git-file-name name version))
7623 (sha256
7624 (base32
7625 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7626 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7627 (build-system asdf-build-system/sbcl)
7628 (native-inputs
7629 `(("stefil" ,sbcl-stefil)))
7630 (inputs
7631 `(("alexandria" ,sbcl-alexandria)
7632 ("cl-heap" ,sbcl-cl-heap)
7633 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7634 ("metabang-bind" ,sbcl-metabang-bind)
7635 ("named-readtables" ,sbcl-named-readtables)))
7636 (arguments
17c015c9 7637 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7638 (synopsis "Graph data structure and algorithms for Common Lisp")
7639 (description
7640 "The GRAPH Common Lisp library provides a data structures to represent
7641graphs, as well as some graph manipulation and analysis algorithms (shortest
7642path, maximum flow, minimum spanning tree, etc.).")
7643 (home-page "https://eschulte.github.io/graph/")
7644 (license license:gpl3+))))
7645
7646(define-public cl-graph
7647 (sbcl-package->cl-source-package sbcl-graph))
7648
7649(define-public sbcl-graph-dot
7650 (package
7651 (inherit sbcl-graph)
7652 (name "sbcl-graph-dot")
7653 (inputs
7654 `(("alexandria" ,sbcl-alexandria)
7655 ("cl-ppcre" ,sbcl-cl-ppcre)
7656 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7657 ("graph" ,sbcl-graph)
7658 ("metabang-bind" ,sbcl-metabang-bind)
7659 ("named-readtables" ,sbcl-named-readtables)))
7660 (arguments
7661 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7662 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7663 ((#:asd-system-name _ #f) "graph-dot")))
7664 (synopsis "Serialize graphs to and from DOT format")))
7665
7666(define-public sbcl-graph-json
7667 (package
7668 (inherit sbcl-graph)
7669 (name "sbcl-graph-json")
7670 (inputs
7671 `(("alexandria" ,sbcl-alexandria)
7672 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7673 ("graph" ,sbcl-graph)
7674 ("metabang-bind" ,sbcl-metabang-bind)
7675 ("named-readtables" ,sbcl-named-readtables)
7676 ("yason" ,sbcl-yason)))
7677 (arguments
7678 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7679 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7680 ((#:asd-system-name _ #f) "graph-json")))
7681 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7682
7683(define-public sbcl-trivial-indent
7684 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7685 (revision "0"))
7686 (package
7687 (name "sbcl-trivial-indent")
7688 (version (git-version "1.0.0" revision commit))
7689 (source
7690 (origin
7691 (method git-fetch)
7692 (uri
7693 (git-reference
7694 (url "https://github.com/Shinmera/trivial-indent")
7695 (commit commit)))
7696 (file-name (git-file-name name version))
7697 (sha256
7698 (base32
7699 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7700 (build-system asdf-build-system/sbcl)
7701 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7702 (description
7703 "This library allows you to define custom indentation hints for your
7704macros if the one recognised by SLIME automatically produces unwanted
7705results.")
7706 (home-page "https://shinmera.github.io/trivial-indent/")
7707 (license license:zlib))))
7708
7709(define-public cl-trivial-indent
7710 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7711
7712(define-public sbcl-documentation-utils
7713 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7714 (revision "0"))
7715 (package
7716 (name "sbcl-documentation-utils")
7717 (version (git-version "1.2.0" revision commit))
7718 (source
7719 (origin
7720 (method git-fetch)
7721 (uri
7722 (git-reference
7723 (url "https://github.com/Shinmera/documentation-utils.git")
7724 (commit commit)))
7725 (file-name (git-file-name name version))
7726 (sha256
7727 (base32
7728 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7729 (build-system asdf-build-system/sbcl)
7730 (inputs
7731 `(("trivial-indent" ,sbcl-trivial-indent)))
7732 (synopsis "Few simple tools to document Common Lisp libraries")
7733 (description
7734 "This is a small library to help you with managing the Common Lisp
7735docstrings for your library.")
7736 (home-page "https://shinmera.github.io/documentation-utils/")
7737 (license license:zlib))))
7738
7739(define-public cl-documentation-utils
7740 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7741
281537f4
GLV
7742(define-public ecl-documentation-utils
7743 (sbcl-package->ecl-package sbcl-documentation-utils))
7744
aa47c9e7
PN
7745(define-public sbcl-form-fiddle
7746 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7747 (revision "0"))
7748 (package
7749 (name "sbcl-form-fiddle")
7750 (version (git-version "1.1.0" revision commit))
7751 (source
7752 (origin
7753 (method git-fetch)
7754 (uri
7755 (git-reference
7756 (url "https://github.com/Shinmera/form-fiddle")
7757 (commit commit)))
7758 (file-name (git-file-name name version))
7759 (sha256
7760 (base32
7761 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7762 (build-system asdf-build-system/sbcl)
7763 (inputs
7764 `(("documentation-utils" ,sbcl-documentation-utils)))
7765 (synopsis "Utilities to destructure Common Lisp lambda forms")
7766 (description
7767 "Often times we need to destructure a form definition in a Common Lisp
7768macro. This library provides a set of simple utilities to help with that.")
7769 (home-page "https://shinmera.github.io/form-fiddle/")
7770 (license license:zlib))))
7771
7772(define-public cl-form-fiddle
7773 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7774
7775(define-public sbcl-parachute
7776 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7777 (revision "0"))
7778 (package
7779 (name "sbcl-parachute")
7780 (version (git-version "1.1.1" revision commit))
7781 (source
7782 (origin
7783 (method git-fetch)
7784 (uri
7785 (git-reference
7786 (url "https://github.com/Shinmera/parachute")
7787 (commit commit)))
7788 (file-name (git-file-name name version))
7789 (sha256
7790 (base32
7791 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7792 (build-system asdf-build-system/sbcl)
7793 (inputs
7794 `(("documentation-utils" ,sbcl-documentation-utils)
7795 ("form-fiddle" ,sbcl-form-fiddle)))
7796 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7797 (description
7798 "Parachute is a simple-to-use and extensible testing framework.
7799In Parachute, things are organised as a bunch of named tests within a package.
7800Each test can contain a bunch of test forms that make up its body.")
7801 (home-page "https://shinmera.github.io/parachute/")
7802 (license license:zlib))))
7803
7804(define-public cl-parachute
7805 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7806
7807(define-public sbcl-array-utils
7808 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7809 (revision "0"))
7810 (package
7811 (name "sbcl-array-utils")
7812 (version (git-version "1.1.1" revision commit))
7813 (source
7814 (origin
7815 (method git-fetch)
7816 (uri
7817 (git-reference
7818 (url "https://github.com/Shinmera/array-utils")
7819 (commit commit)))
7820 (file-name (git-file-name name version))
7821 (sha256
7822 (base32
7823 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7824 (build-system asdf-build-system/sbcl)
7825 (native-inputs
7826 `(("parachute" ,sbcl-parachute)))
7827 (inputs
7828 `(("documentation-utils" ,sbcl-documentation-utils)))
7829 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7830 (description
7831 "A miniature toolkit that contains some useful shifting/popping/pushing
7832functions for arrays and vectors. Originally from Plump.")
7833 (home-page "https://shinmera.github.io/array-utils/")
7834 (license license:zlib))))
7835
7836(define-public cl-array-utils
7837 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7838
7839(define-public sbcl-plump
ef4a5a85
PN
7840 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7841 (revision "1"))
cbda07d4
PN
7842 (package
7843 (name "sbcl-plump")
7844 (version (git-version "2.0.0" revision commit))
7845 (source
7846 (origin
7847 (method git-fetch)
7848 (uri
7849 (git-reference
7850 (url "https://github.com/Shinmera/plump")
7851 (commit commit)))
7852 (file-name (git-file-name name version))
7853 (sha256
7854 (base32
ef4a5a85 7855 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7856 (build-system asdf-build-system/sbcl)
7857 (inputs
7858 `(("array-utils" ,sbcl-array-utils)
7859 ("documentation-utils" ,sbcl-documentation-utils)))
7860 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7861 (description
7862 "Plump is a parser for HTML/XML-like documents, focusing on being
7863lenient towards invalid markup. It can handle things like invalid attributes,
7864bad closing tag order, unencoded entities, inexistent tag types, self-closing
7865tags and so on. It parses documents to a class representation and offers a
7866small set of DOM functions to manipulate it. It can be extended to parse to
7867your own classes.")
7868 (home-page "https://shinmera.github.io/plump/")
7869 (license license:zlib))))
7870
7871(define-public cl-plump
7872 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7873
7874(define-public sbcl-antik-base
7875 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7876 (revision "1"))
7877 (package
7878 (name "sbcl-antik-base")
7879 (version (git-version "0.0.0" revision commit))
7880 (source
7881 (origin
7882 (method git-fetch)
7883 (uri (git-reference
7884 (url "https://gitlab.common-lisp.net/antik/antik.git")
7885 (commit commit)))
7886 (file-name (git-file-name name version))
7887 (sha256
7888 (base32
7889 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7890 (build-system asdf-build-system/sbcl)
7891 (inputs
7892 `(("alexandria" ,sbcl-alexandria)
7893 ("cl-ppcre" ,sbcl-cl-ppcre)
7894 ("iterate" ,sbcl-iterate)
7895 ("metabang-bind" ,sbcl-metabang-bind)
7896 ("named-readtables" ,sbcl-named-readtables)
7897 ("split-sequence" ,sbcl-split-sequence)))
7898 (native-inputs
7899 `(("lisp-unit" ,sbcl-lisp-unit)))
7900 (synopsis "Scientific and engineering computation in Common Lisp")
7901 (description
7902 "Antik provides a foundation for scientific and engineering
7903computation in Common Lisp. It is designed not only to facilitate
7904numerical computations, but to permit the use of numerical computation
7905libraries and the interchange of data and procedures, whether
7906foreign (non-Lisp) or Lisp libraries. It is named after the
7907Antikythera mechanism, one of the oldest examples of a scientific
7908computer known.")
7909 (home-page "https://common-lisp.net/project/antik/")
7910 (license license:gpl3))))
7911
7912(define-public cl-antik-base
7913 (sbcl-package->cl-source-package sbcl-antik-base))
7914
7915(define-public ecl-antik-base
7916 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7917
7918(define-public sbcl-foreign-array
7919 (package
7920 (inherit sbcl-antik-base)
7921 (name "sbcl-foreign-array")
7922 (arguments
7923 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7924 ((#:asd-file _ "") "foreign-array.asd")
7925 ((#:asd-system-name _ #f) "foreign-array")))
7926 (inputs
7927 `(("antik-base" ,sbcl-antik-base)
7928 ("cffi" ,sbcl-cffi)
7929 ("trivial-garbage" ,sbcl-trivial-garbage)
7930 ("static-vectors" ,sbcl-static-vectors)))
7931 (synopsis "Common Lisp library providing access to foreign arrays")))
7932
7933(define-public cl-foreign-array
7934 (sbcl-package->cl-source-package sbcl-foreign-array))
7935
7936(define-public ecl-foreign-array
7937 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7938
7939(define-public sbcl-physical-dimension
7940 (package
7941 (inherit sbcl-antik-base)
7942 (name "sbcl-physical-dimension")
7943 (inputs
7944 `(("fare-utils" ,sbcl-fare-utils)
7945 ("foreign-array" ,sbcl-foreign-array)
7946 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7947 (arguments
7948 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7949 ((#:asd-file _ "") "physical-dimension.asd")
7950 ((#:asd-system-name _ #f) "physical-dimension")))
7951 (synopsis
7952 "Common Lisp library providing computations with physical units")))
7953
7954(define-public cl-physical-dimension
7955 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7956
7957(define-public sbcl-science-data
7958 (package
7959 (inherit sbcl-antik-base)
7960 (name "sbcl-science-data")
7961 (inputs
7962 `(("physical-dimension" ,sbcl-physical-dimension)
7963 ("drakma" ,sbcl-drakma)))
7964 (arguments
7965 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7966 ((#:asd-file _ "") "science-data.asd")
7967 ((#:asd-system-name _ #f) "science-data")))
7968 (synopsis
7969 "Common Lisp library for scientific and engineering numerical data")))
7970
7971(define-public cl-science-data
7972 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7973
7974(define-public sbcl-gsll
7975 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7976 (revision "1"))
7977 (package
7978 (name "sbcl-gsll")
7979 (version (git-version "0.0.0" revision commit))
7980 (source
7981 (origin
7982 (method git-fetch)
7983 (uri (git-reference
7984 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7985 (commit commit)))
7986 (file-name (git-file-name name version))
7987 (sha256
7988 (base32
7989 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7990 (build-system asdf-build-system/sbcl)
7991 (native-inputs
7992 `(("lisp-unit" ,sbcl-lisp-unit)))
7993 (inputs
7994 `(("alexandria" ,sbcl-alexandria)
7995 ("cffi-grovel" ,sbcl-cffi-grovel)
7996 ("cffi-libffi" ,sbcl-cffi-libffi)
7997 ("foreign-array" ,sbcl-foreign-array)
7998 ("gsl" ,gsl)
7999 ("metabang-bind" ,sbcl-metabang-bind)
8000 ("trivial-features" ,sbcl-trivial-features)
8001 ("trivial-garbage" ,sbcl-trivial-garbage)))
8002 (arguments
8003 `(#:tests? #f
8004 #:phases
8005 (modify-phases %standard-phases
8006 (add-after 'unpack 'fix-cffi-paths
8007 (lambda* (#:key inputs #:allow-other-keys)
8008 (substitute* "gsll.asd"
8009 ((":depends-on \\(#:foreign-array")
8010 ":depends-on (#:foreign-array #:cffi-libffi"))
8011 (substitute* "init/init.lisp"
8012 (("libgslcblas.so" all)
8013 (string-append
8014 (assoc-ref inputs "gsl") "/lib/" all)))
8015 (substitute* "init/init.lisp"
8016 (("libgsl.so" all)
8017 (string-append
8018 (assoc-ref inputs "gsl") "/lib/" all))))))))
8019 (synopsis "GNU Scientific Library for Lisp")
8020 (description
8021 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8022GNU Scientific Library (GSL) from Common Lisp. This library provides a
8023full range of common mathematical operations useful to scientific and
8024engineering applications. The design of the GSLL interface is such
8025that access to most of the GSL library is possible in a Lisp-natural
8026way; the intent is that the user not be hampered by the restrictions
8027of the C language in which GSL has been written. GSLL thus provides
8028interactive use of GSL for getting quick answers, even for someone not
8029intending to program in Lisp.")
8030 (home-page "https://common-lisp.net/project/gsll/")
8031 (license license:gpl3))))
8032
8033(define-public cl-gsll
8034 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
8035
8036(define-public sbcl-antik
8037 (package
8038 (inherit sbcl-antik-base)
8039 (name "sbcl-antik")
8040 (inputs
8041 `(("gsll" ,sbcl-gsll)
8042 ("physical-dimension" ,sbcl-physical-dimension)))
8043 (arguments
8044 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
8045 ((#:asd-file _ "") "antik.asd")
8046 ((#:asd-system-name _ #f) "antik")))))
8047
8048(define-public cl-antik
8049 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
8050
8051(define-public sbcl-cl-interpol
8052 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
8053 (revision "1"))
8054 (package
8055 (name "sbcl-cl-interpol")
8056 (version (git-version "0.2.6" revision commit))
8057 (source
8058 (origin
8059 (method git-fetch)
8060 (uri (git-reference
8061 (url "https://github.com/edicl/cl-interpol.git")
8062 (commit commit)))
8063 (file-name (git-file-name name version))
8064 (sha256
8065 (base32
8066 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8067 (build-system asdf-build-system/sbcl)
8068 (inputs
8069 `(("cl-unicode" ,sbcl-cl-unicode)
8070 ("named-readtables" ,sbcl-named-readtables)))
8071 (native-inputs
8072 `(("flexi-streams" ,sbcl-flexi-streams)))
8073 (synopsis "String interpolation for Common Lisp")
8074 (description
8075 "CL-INTERPOL is a library for Common Lisp which modifies the
8076reader so that you can have interpolation within strings similar to
8077Perl or Unix Shell scripts. It also provides various ways to insert
8078arbitrary characters into literal strings even if your editor/IDE
8079doesn't support them.")
8080 (home-page "https://edicl.github.io/cl-interpol/")
8081 (license license:bsd-3))))
8082
8083(define-public cl-interpol
8084 (sbcl-package->cl-source-package sbcl-cl-interpol))
8085
8086(define-public ecl-cl-interpol
8087 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
8088
8089(define sbcl-symbol-munger-boot0
8090 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8091 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8092 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8093 (revision "1"))
8094 (package
8095 (name "sbcl-symbol-munger-boot0")
8096 (version (git-version "0.0.1" revision commit))
8097 (source
8098 (origin
8099 (method git-fetch)
8100 (uri (git-reference
8101 (url "https://github.com/AccelerationNet/symbol-munger.git")
8102 (commit commit)))
8103 (file-name (git-file-name name version))
8104 (sha256
8105 (base32
8106 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8107 (build-system asdf-build-system/sbcl)
8108 (arguments
8109 `(#:asd-file "symbol-munger.asd"
8110 #:asd-system-name "symbol-munger"))
8111 (inputs
8112 `(("iterate" ,sbcl-iterate)
8113 ("alexandria" ,sbcl-alexandria)))
8114 (native-inputs
8115 `(("lisp-unit" ,sbcl-lisp-unit)))
8116 (synopsis
8117 "Capitalization and spacing conversion functions for Common Lisp")
8118 (description
8119 "This is a Common Lisp library to change the capitalization and spacing
8120of a string or a symbol. It can convert to and from Lisp, english, underscore
8121and camel-case rules.")
8122 (home-page "https://github.com/AccelerationNet/symbol-munger")
8123 ;; The package declares a BSD license, but all of the license
8124 ;; text is MIT.
8125 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8126 (license license:expat))))
8127
8128(define sbcl-lisp-unit2-boot0
8129 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8130 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8131 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8132 (revision "1"))
8133 (package
8134 (name "sbcl-lisp-unit2-boot0")
8135 (version (git-version "0.2.0" revision commit))
8136 (source
8137 (origin
8138 (method git-fetch)
8139 (uri (git-reference
8140 (url "https://github.com/AccelerationNet/lisp-unit2.git")
8141 (commit commit)))
8142 (file-name (git-file-name name version))
8143 (sha256
8144 (base32
8145 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8146 (build-system asdf-build-system/sbcl)
8147 (arguments
8148 `(#:asd-file "lisp-unit2.asd"
8149 #:asd-system-name "lisp-unit2"))
8150 (inputs
8151 `(("alexandria" ,sbcl-alexandria)
8152 ("cl-interpol" ,sbcl-cl-interpol)
8153 ("iterate" ,sbcl-iterate)
8154 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8155 (synopsis "Test Framework for Common Lisp")
8156 (description
8157 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8158style of JUnit for Java. It is a new version of the lisp-unit library written
8159by Chris Riesbeck.")
8160 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8161 (license license:expat))))
edfa2261
KCB
8162
8163(define-public sbcl-symbol-munger
8164 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8165 (revision "1"))
8166 (package
8167 (name "sbcl-symbol-munger")
8168 (version (git-version "0.0.1" revision commit))
8169 (source
8170 (origin
8171 (method git-fetch)
8172 (uri (git-reference
8173 (url "https://github.com/AccelerationNet/symbol-munger.git")
8174 (commit commit)))
8175 (file-name (git-file-name name version))
8176 (sha256
8177 (base32
8178 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8179 (build-system asdf-build-system/sbcl)
8180 (inputs
8181 `(("alexandria" ,sbcl-alexandria)
8182 ("iterate" ,sbcl-iterate)))
8183 (native-inputs
8184 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8185 (synopsis
8186 "Capitalization and spacing conversion functions for Common Lisp")
8187 (description
8188 "This is a Common Lisp library to change the capitalization and spacing
8189of a string or a symbol. It can convert to and from Lisp, english, underscore
8190and camel-case rules.")
8191 (home-page "https://github.com/AccelerationNet/symbol-munger")
8192 ;; The package declares a BSD license, but all of the license
8193 ;; text is MIT.
8194 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8195 (license license:expat))))
8196
8197(define-public cl-symbol-munger
8198 (sbcl-package->cl-source-package sbcl-symbol-munger))
8199
8200(define-public ecl-symbol-munger
8201 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8202
8203(define-public sbcl-lisp-unit2
8204 (package
8205 (inherit sbcl-lisp-unit2-boot0)
8206 (name "sbcl-lisp-unit2")
8207 (inputs
8208 `(("alexandria" ,sbcl-alexandria)
8209 ("cl-interpol" ,sbcl-cl-interpol)
8210 ("iterate" ,sbcl-iterate)
8211 ("symbol-munger" ,sbcl-symbol-munger)))))
8212
8213(define-public cl-lisp-unit2
8214 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8215
8216(define-public ecl-lisp-unit2
8217 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8218
8219(define-public sbcl-cl-csv
8220 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8221 (revision "1"))
8222 (package
8223 (name "sbcl-cl-csv")
8224 (version (git-version "1.0.6" revision commit))
8225 (source
8226 (origin
8227 (method git-fetch)
8228 (uri (git-reference
8229 (url "https://github.com/AccelerationNet/cl-csv.git")
8230 (commit commit)))
8231 (file-name (git-file-name name version))
8232 (sha256
8233 (base32
8234 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8235 (build-system asdf-build-system/sbcl)
8236 (arguments
8237 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8238 `(#:tests? #f))
8239 (inputs
8240 `(("alexandria" ,sbcl-alexandria)
8241 ("cl-interpol" ,sbcl-cl-interpol)
8242 ("iterate" ,sbcl-iterate)))
8243 (native-inputs
8244 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8245 (synopsis "Common lisp library for comma-separated values")
8246 (description
8247 "This is a Common Lisp library providing functions to read/write CSV
8248from/to strings, streams and files.")
8249 (home-page "https://github.com/AccelerationNet/cl-csv")
8250 (license license:bsd-3))))
8251
8252(define-public cl-csv
8253 (sbcl-package->cl-source-package sbcl-cl-csv))
8254
8255(define-public ecl-cl-csv
8256 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8257
8258(define-public sbcl-external-program
8259 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8260 (revision "1"))
8261 (package
8262 (name "sbcl-external-program")
8263 (version (git-version "0.0.6" revision commit))
8264 (source
8265 (origin
8266 (method git-fetch)
8267 (uri (git-reference
8268 (url "https://github.com/sellout/external-program.git")
8269 (commit commit)))
8270 (file-name (git-file-name name version))
8271 (sha256
8272 (base32
8273 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8274 (build-system asdf-build-system/sbcl)
8275 (inputs
8276 `(("trivial-features" ,sbcl-trivial-features)))
8277 (native-inputs
8278 `(("fiveam" ,sbcl-fiveam)))
8279 (synopsis "Common Lisp library for running external programs")
8280 (description
8281 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8282process. It is an attempt to make the RUN-PROGRAM functionality in
8283implementations like SBCL and CCL as portable as possible without
8284sacrificing much in the way of power.")
8285 (home-page "https://github.com/sellout/external-program")
8286 (license license:llgpl))))
8287
8288(define-public cl-external-program
8289 (sbcl-package->cl-source-package sbcl-external-program))
8290
8291(define-public ecl-external-program
8292 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8293
8294(define sbcl-cl-ana-boot0
8295 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8296 (revision "1"))
8297 (package
8298 (name "sbcl-cl-ana-boot0")
8299 (version (git-version "0.0.0" revision commit))
8300 (source
8301 (origin
8302 (method git-fetch)
8303 (uri (git-reference
8304 (url "https://github.com/ghollisjr/cl-ana.git")
8305 (commit commit)))
8306 (file-name (git-file-name name version))
8307 (sha256
8308 (base32
8309 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8310 (build-system asdf-build-system/sbcl)
8311 (synopsis "Common Lisp data analysis library")
8312 (description
8313 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8314binned data analysis along with nonlinear least squares fitting and
8315visualization.")
8316 (home-page "https://github.com/ghollisjr/cl-ana")
8317 (license license:gpl3))))
8318
8319(define-public sbcl-cl-ana.pathname-utils
8320 (package
8321 (inherit sbcl-cl-ana-boot0)
8322 (name "sbcl-cl-ana.pathname-utils")
8323 (arguments
8324 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8325 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8326 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8327
8328(define-public cl-ana.pathname-utils
8329 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8330
8331(define-public ecl-cl-ana.pathname-utils
8332 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8333
8334(define-public sbcl-cl-ana.package-utils
8335 (package
8336 (inherit sbcl-cl-ana-boot0)
8337 (name "sbcl-cl-ana.package-utils")
8338 (inputs
8339 `(("alexandria" ,sbcl-alexandria)))
8340 (arguments
8341 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8342 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8343 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8344
8345(define-public cl-ana.package-utils
8346 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8347
8348(define-public ecl-cl-ana.package-utils
8349 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8350
8351(define-public sbcl-cl-ana.string-utils
8352 (package
8353 (inherit sbcl-cl-ana-boot0)
8354 (name "sbcl-cl-ana.string-utils")
8355 (inputs
8356 `(("split-sequence" ,sbcl-split-sequence)))
8357 (arguments
8358 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8359 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8360 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8361
8362(define-public cl-ana.string-utils
8363 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8364
8365(define-public ecl-cl-ana.string-utils
8366 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8367
8368(define-public sbcl-cl-ana.functional-utils
8369 (package
8370 (inherit sbcl-cl-ana-boot0)
8371 (name "sbcl-cl-ana.functional-utils")
8372 (arguments
8373 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8374 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8375 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8376
8377(define-public cl-ana.functional-utils
8378 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8379
8380(define-public ecl-cl-ana.functional-utils
8381 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8382
8383(define-public sbcl-cl-ana.list-utils
8384 (package
8385 (inherit sbcl-cl-ana-boot0)
8386 (name "sbcl-cl-ana.list-utils")
8387 (inputs
8388 `(("alexandria" ,sbcl-alexandria)
8389 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8390 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8391 (arguments
8392 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8393 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8394 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8395
8396(define-public cl-ana.list-utils
8397 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8398
8399(define-public ecl-cl-ana.list-utils
8400 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8401
8402(define-public sbcl-cl-ana.generic-math
8403 (package
8404 (inherit sbcl-cl-ana-boot0)
8405 (name "sbcl-cl-ana.generic-math")
8406 (inputs
8407 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8408 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8409 (arguments
8410 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8411 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8412 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8413
8414(define-public cl-ana.generic-math
8415 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8416
8417(define-public ecl-cl-ana.generic-math
8418 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8419
8420(define-public sbcl-cl-ana.math-functions
8421 (package
8422 (inherit sbcl-cl-ana-boot0)
8423 (name "sbcl-cl-ana.math-functions")
8424 (inputs
8425 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8426 ("gsll" ,sbcl-gsll)))
8427 (arguments
8428 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8429 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8430 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8431
8432(define-public cl-ana.math-functions
8433 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8434
8435(define-public sbcl-cl-ana.calculus
8436 (package
8437 (inherit sbcl-cl-ana-boot0)
8438 (name "sbcl-cl-ana.calculus")
8439 (inputs
8440 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8441 (arguments
8442 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8443 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8444 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8445
8446(define-public cl-ana.calculus
8447 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8448
8449(define-public ecl-cl-ana.calculus
8450 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8451
8452(define-public sbcl-cl-ana.symbol-utils
8453 (package
8454 (inherit sbcl-cl-ana-boot0)
8455 (name "sbcl-cl-ana.symbol-utils")
8456 (inputs
8457 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8458 (arguments
8459 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8460 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8461 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8462
8463(define-public cl-ana.symbol-utils
8464 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8465
8466(define-public ecl-cl-ana.symbol-utils
8467 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8468
8469(define-public sbcl-cl-ana.macro-utils
8470 (package
8471 (inherit sbcl-cl-ana-boot0)
8472 (name "sbcl-cl-ana.macro-utils")
8473 (inputs
8474 `(("alexandria" ,sbcl-alexandria)
8475 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8476 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8477 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8478 ("split-sequence" ,sbcl-split-sequence)))
8479 (arguments
8480 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8481 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8482 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8483
8484(define-public cl-ana.macro-utils
8485 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8486
8487(define-public ecl-cl-ana.macro-utils
8488 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8489
8490(define-public sbcl-cl-ana.binary-tree
8491 (package
8492 (inherit sbcl-cl-ana-boot0)
8493 (name "sbcl-cl-ana.binary-tree")
8494 (inputs
8495 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8496 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8497 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8498 (arguments
8499 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8500 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8501 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8502
8503(define-public cl-ana.binary-tree
8504 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8505
8506(define-public ecl-cl-ana.binary-tree
8507 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8508
8509(define-public sbcl-cl-ana.tensor
8510 (package
8511 (inherit sbcl-cl-ana-boot0)
8512 (name "sbcl-cl-ana.tensor")
8513 (inputs
8514 `(("alexandria" ,sbcl-alexandria)
8515 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8516 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8517 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8518 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8519 (arguments
8520 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8521 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8522 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8523
8524(define-public cl-ana.tensor
8525 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8526
8527(define-public ecl-cl-ana.tensor
8528 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8529
8530(define-public sbcl-cl-ana.error-propogation
8531 (package
8532 (inherit sbcl-cl-ana-boot0)
8533 (name "sbcl-cl-ana.error-propogation")
8534 (inputs
8535 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8536 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8537 (arguments
8538 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8539 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8540 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8541
8542(define-public cl-ana.error-propogation
8543 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8544
8545(define-public sbcl-cl-ana.quantity
8546 (package
8547 (inherit sbcl-cl-ana-boot0)
8548 (name "sbcl-cl-ana.quantity")
8549 (inputs
8550 `(("alexandria" ,sbcl-alexandria)
8551 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8552 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8553 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8554 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8555 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8556 (arguments
8557 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8558 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8559 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8560
8561(define-public cl-ana.quantity
8562 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8563
8564(define-public sbcl-cl-ana.table
8565 (package
8566 (inherit sbcl-cl-ana-boot0)
8567 (name "sbcl-cl-ana.table")
8568 (inputs
8569 `(("alexandria" ,sbcl-alexandria)
8570 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8571 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8572 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8573 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8574 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8575 (arguments
8576 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8577 ((#:asd-file _ "") "table/cl-ana.table.asd")
8578 ((#:asd-system-name _ #f) "cl-ana.table")))))
8579
8580(define-public cl-ana.table
8581 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8582
8583(define-public ecl-cl-ana.table
8584 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8585
8586(define-public sbcl-cl-ana.table-utils
8587 (package
8588 (inherit sbcl-cl-ana-boot0)
8589 (name "sbcl-cl-ana.table-utils")
8590 (inputs
8591 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8592 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8593 ("cl-ana.table" ,sbcl-cl-ana.table)))
8594 (arguments
8595 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8596 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8597 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8598
8599(define-public cl-ana.table-utils
8600 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8601
8602(define-public ecl-cl-ana.table-utils
8603 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8604
8605(define-public sbcl-cl-ana.hdf-cffi
8606 (package
8607 (inherit sbcl-cl-ana-boot0)
8608 (name "sbcl-cl-ana.hdf-cffi")
8609 (inputs
8610 `(("cffi" ,sbcl-cffi)
8611 ("hdf5" ,hdf5-parallel-openmpi)))
8612 (arguments
8613 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8614 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8615 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8616 ((#:phases phases '%standard-phases)
8617 `(modify-phases ,phases
8618 (add-after 'unpack 'fix-paths
8619 (lambda* (#:key inputs #:allow-other-keys)
8620 (substitute* "hdf-cffi/hdf-cffi.lisp"
8621 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8622 (string-append
8623 (assoc-ref inputs "hdf5")
8624 "/lib/libhdf5.so")))))))))))
8625
8626(define-public cl-ana.hdf-cffi
8627 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8628
8629(define-public ecl-cl-ana.hdf-cffi
8630 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8631
8632(define-public sbcl-cl-ana.int-char
8633 (package
8634 (inherit sbcl-cl-ana-boot0)
8635 (name "sbcl-cl-ana.int-char")
8636 (arguments
8637 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8638 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8639 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8640
8641(define-public cl-ana.int-char
8642 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8643
8644(define-public ecl-cl-ana.int-char
8645 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8646
8647(define-public sbcl-cl-ana.memoization
8648 (package
8649 (inherit sbcl-cl-ana-boot0)
8650 (name "sbcl-cl-ana.memoization")
8651 (inputs
8652 `(("alexandria" ,sbcl-alexandria)))
8653 (arguments
8654 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8655 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8656 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8657
8658(define-public cl-ana.memoization
8659 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8660
8661(define-public ecl-cl-ana.memoization
8662 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8663
8664(define-public sbcl-cl-ana.typespec
8665 (package
8666 (inherit sbcl-cl-ana-boot0)
8667 (name "sbcl-cl-ana.typespec")
8668 (inputs
8669 `(("alexandria" ,sbcl-alexandria)
8670 ("cffi" ,sbcl-cffi)
8671 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8672 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8673 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8674 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8675 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8676 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8677 (arguments
8678 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8679 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8680 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8681
8682(define-public cl-ana.typespec
8683 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8684
8685(define-public ecl-cl-ana.typespec
8686 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8687
8688(define-public sbcl-cl-ana.hdf-typespec
8689 (package
8690 (inherit sbcl-cl-ana-boot0)
8691 (name "sbcl-cl-ana.hdf-typespec")
8692 (inputs
8693 `(("alexandria" ,sbcl-alexandria)
8694 ("cffi" ,sbcl-cffi)
8695 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8696 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8697 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8698 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8699 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8700 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8701 (arguments
8702 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8703 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8704 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8705
8706(define-public cl-ana.hdf-typespec
8707 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8708
8709(define-public ecl-cl-ana.hdf-typespec
8710 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8711
8712(define-public sbcl-cl-ana.hdf-utils
8713 (package
8714 (inherit sbcl-cl-ana-boot0)
8715 (name "sbcl-cl-ana.hdf-utils")
8716 (inputs
8717 `(("alexandria" ,sbcl-alexandria)
8718 ("cffi" ,sbcl-cffi)
8719 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8720 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8721 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8722 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8723 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8724 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8725 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8726 (arguments
8727 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8728 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8729 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8730
8731(define-public cl-ana.hdf-utils
8732 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8733
8734(define-public ecl-cl-ana.hdf-utils
8735 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8736
8737(define-public sbcl-cl-ana.typed-table
8738 (package
8739 (inherit sbcl-cl-ana-boot0)
8740 (name "sbcl-cl-ana.typed-table")
8741 (inputs
8742 `(("alexandria" ,sbcl-alexandria)
8743 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8744 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8745 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8746 ("cl-ana.table" ,sbcl-cl-ana.table)
8747 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8748 (arguments
8749 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8750 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8751 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8752
8753(define-public cl-ana.typed-table
8754 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8755
8756(define-public ecl-cl-ana.typed-table
8757 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8758
8759(define-public sbcl-cl-ana.hdf-table
8760 (package
8761 (inherit sbcl-cl-ana-boot0)
8762 (name "sbcl-cl-ana.hdf-table")
8763 (inputs
8764 `(("alexandria" ,sbcl-alexandria)
8765 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8766 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8767 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8768 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8769 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8770 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8771 ("cl-ana.table" ,sbcl-cl-ana.table)
8772 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8773 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8774 (arguments
8775 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8776 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8777 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8778
8779(define-public cl-ana.hdf-table
8780 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8781
8782(define-public ecl-cl-ana.hdf-table
8783 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8784
8785(define-public sbcl-cl-ana.gsl-cffi
8786 (package
8787 (inherit sbcl-cl-ana-boot0)
8788 (name "sbcl-cl-ana.gsl-cffi")
8789 (inputs
8790 `(("cffi" ,sbcl-cffi)
8791 ("gsl" ,gsl)))
8792 (arguments
8793 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8794 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8795 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8796 ((#:phases phases '%standard-phases)
8797 `(modify-phases ,phases
8798 (add-after 'unpack 'fix-paths
8799 (lambda* (#:key inputs #:allow-other-keys)
8800 (substitute* "gsl-cffi/gsl-cffi.lisp"
8801 (("define-foreign-library gsl-cffi" all)
8802 (string-append all " (:unix "
8803 (assoc-ref inputs "gsl")
8804 "/lib/libgsl.so)")))))))))))
8805
8806(define-public cl-ana.gsl-cffi
8807 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8808
8809(define-public ecl-cl-ana.gsl-cffi
8810 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8811
8812(define-public sbcl-cl-ana.ntuple-table
8813 (package
8814 (inherit sbcl-cl-ana-boot0)
8815 (name "sbcl-cl-ana.ntuple-table")
8816 (inputs
8817 `(("alexandria" ,sbcl-alexandria)
8818 ("cffi" ,sbcl-cffi)
8819 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8820 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8821 ("cl-ana.table" ,sbcl-cl-ana.table)
8822 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8823 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8824 ("gsll" ,sbcl-gsll)))
8825 (arguments
8826 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8827 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8828 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8829
8830(define-public cl-ana.ntuple-table
8831 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8832
8833(define-public sbcl-cl-ana.csv-table
8834 (package
8835 (inherit sbcl-cl-ana-boot0)
8836 (name "sbcl-cl-ana.csv-table")
8837 (inputs
8838 `(("alexandria" ,sbcl-alexandria)
8839 ("antik" ,sbcl-antik)
8840 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8841 ("cl-ana.table" ,sbcl-cl-ana.table)
8842 ("cl-csv" ,sbcl-cl-csv)
8843 ("iterate" ,sbcl-iterate)))
8844 (arguments
8845 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8846 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8847 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8848
8849(define-public cl-ana.csv-table
8850 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8851
8852(define-public sbcl-cl-ana.reusable-table
8853 (package
8854 (inherit sbcl-cl-ana-boot0)
8855 (name "sbcl-cl-ana.reusable-table")
8856 (inputs
8857 `(("alexandria" ,sbcl-alexandria)
8858 ("cl-ana.table" ,sbcl-cl-ana.table)))
8859 (arguments
8860 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8861 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8862 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8863
8864(define-public cl-ana.reusable-table
8865 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8866
8867(define-public ecl-cl-ana.reusable-table
8868 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8869
8870(define-public sbcl-cl-ana.linear-algebra
8871 (package
8872 (inherit sbcl-cl-ana-boot0)
8873 (name "sbcl-cl-ana.linear-algebra")
8874 (inputs
8875 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8876 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8877 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8878 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8879 ("gsll" ,sbcl-gsll)))
8880 (arguments
8881 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8882 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8883 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8884
8885(define-public cl-ana.linear-algebra
8886 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8887
8888(define-public sbcl-cl-ana.lorentz
8889 (package
8890 (inherit sbcl-cl-ana-boot0)
8891 (name "sbcl-cl-ana.lorentz")
8892 (inputs
8893 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8894 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8895 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8896 ("iterate" ,sbcl-iterate)))
8897 (arguments
8898 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8899 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8900 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8901
8902(define-public cl-ana.lorentz
8903 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8904
8905(define-public sbcl-cl-ana.clos-utils
8906 (package
8907 (inherit sbcl-cl-ana-boot0)
8908 (name "sbcl-cl-ana.clos-utils")
8909 (inputs
8910 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8911 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8912 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8913 ("closer-mop" ,sbcl-closer-mop)))
8914 (arguments
8915 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8916 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8917 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8918
8919(define-public cl-ana.clos-utils
8920 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8921
8922(define-public ecl-cl-ana.clos-utils
8923 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8924
8925(define-public sbcl-cl-ana.hash-table-utils
8926 (package
8927 (inherit sbcl-cl-ana-boot0)
8928 (name "sbcl-cl-ana.hash-table-utils")
8929 (arguments
8930 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8931 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8932 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8933
8934(define-public cl-ana.hash-table-utils
8935 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8936
8937(define-public ecl-cl-ana.hash-table-utils
8938 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8939
8940(define-public sbcl-cl-ana.map
8941 (package
8942 (inherit sbcl-cl-ana-boot0)
8943 (name "sbcl-cl-ana.map")
8944 (inputs
8945 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8946 (arguments
8947 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8948 ((#:asd-file _ "") "map/cl-ana.map.asd")
8949 ((#:asd-system-name _ #f) "cl-ana.map")))))
8950
8951(define-public cl-ana.map
8952 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8953
8954(define-public ecl-cl-ana.map
8955 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8956
8957(define-public sbcl-cl-ana.fitting
8958 (package
8959 (inherit sbcl-cl-ana-boot0)
8960 (name "sbcl-cl-ana.fitting")
8961 (inputs
8962 `(("alexandria" ,sbcl-alexandria)
8963 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8964 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8965 ("cl-ana.map" ,sbcl-cl-ana.map)
8966 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8967 ("gsll" ,sbcl-gsll)))
8968 (arguments
8969 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8970 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8971 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8972
8973(define-public cl-ana.fitting
8974 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8975
8976(define-public sbcl-cl-ana.histogram
8977 (package
8978 (inherit sbcl-cl-ana-boot0)
8979 (name "sbcl-cl-ana.histogram")
8980 (inputs
8981 `(("alexandria" ,sbcl-alexandria)
8982 ("iterate" ,sbcl-iterate)
8983 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8984 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8985 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8986 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8987 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8988 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8989 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8990 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8991 ("cl-ana.map" ,sbcl-cl-ana.map)
8992 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8993 (arguments
8994 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8995 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8996 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8997
8998(define-public cl-ana.histogram
8999 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
9000
9001(define-public sbcl-cl-ana.file-utils
9002 (package
9003 (inherit sbcl-cl-ana-boot0)
9004 (name "sbcl-cl-ana.file-utils")
9005 (inputs
9006 `(("external-program" ,sbcl-external-program)
9007 ("split-sequence" ,sbcl-split-sequence)))
9008 (arguments
9009 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9010 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
9011 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
9012
9013(define-public cl-ana.file-utils
9014 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
9015
9016(define-public ecl-cl-ana.file-utils
9017 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
9018
9019(define-public sbcl-cl-ana.statistics
9020 (package
9021 (inherit sbcl-cl-ana-boot0)
9022 (name "sbcl-cl-ana.statistics")
9023 (inputs
9024 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9025 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9026 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9027 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9028 ("cl-ana.map" ,sbcl-cl-ana.map)))
9029 (arguments
9030 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9031 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
9032 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
9033
9034(define-public cl-ana.statistics
9035 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
9036
9037(define-public sbcl-cl-ana.gnuplot-interface
9038 (package
9039 (inherit sbcl-cl-ana-boot0)
9040 (name "sbcl-cl-ana.gnuplot-interface")
9041 (inputs
9042 `(("external-program" ,sbcl-external-program)))
9043 (arguments
9044 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9045 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
9046 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
9047
9048(define-public cl-ana.gnuplot-interface
9049 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
9050
9051(define-public ecl-cl-ana.gnuplot-interface
9052 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
9053
9054(define-public sbcl-cl-ana.plotting
9055 (package
9056 (inherit sbcl-cl-ana-boot0)
9057 (name "sbcl-cl-ana.plotting")
9058 (inputs
9059 `(("alexandria" ,sbcl-alexandria)
9060 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9061 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9062 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9063 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
9064 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9065 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9066 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9067 ("cl-ana.map" ,sbcl-cl-ana.map)
9068 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9069 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9070 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9071 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9072 ("external-program" ,sbcl-external-program)
9073 ("split-sequence" ,sbcl-split-sequence)))
9074 (arguments
9075 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9076 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9077 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9078
9079(define-public cl-ana.plotting
9080 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
9081
9082(define-public sbcl-cl-ana.table-viewing
9083 (package
9084 (inherit sbcl-cl-ana-boot0)
9085 (name "sbcl-cl-ana.table-viewing")
9086 (inputs
9087 `(("alexandria" ,sbcl-alexandria)
9088 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9089 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9090 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9091 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9092 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9093 ("cl-ana.table" ,sbcl-cl-ana.table)))
9094 (arguments
9095 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9096 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9097 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9098
9099(define-public cl-ana.table-viewing
9100 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
9101
9102(define-public sbcl-cl-ana.serialization
9103 (package
9104 (inherit sbcl-cl-ana-boot0)
9105 (name "sbcl-cl-ana.serialization")
9106 (inputs
9107 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9108 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9109 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9110 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9111 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9112 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9113 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9114 (arguments
9115 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9116 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9117 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9118
9119(define-public cl-ana.serialization
9120 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9121
9122(define-public sbcl-cl-ana.makeres
9123 (package
9124 (inherit sbcl-cl-ana-boot0)
9125 (name "sbcl-cl-ana.makeres")
9126 (inputs
9127 `(("alexandria" ,sbcl-alexandria)
9128 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9129 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9130 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9131 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9132 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9133 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9134 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9135 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9136 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9137 ("cl-ana.map" ,sbcl-cl-ana.map)
9138 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9139 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9140 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9141 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9142 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9143 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9144 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9145 ("cl-ana.table" ,sbcl-cl-ana.table)
9146 ("external-program" ,sbcl-external-program)))
9147 (native-inputs
9148 `(("cl-fad" ,sbcl-cl-fad)))
9149 (arguments
9150 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9151 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9152 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9153
9154(define-public cl-ana.makeres
9155 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9156
9157(define-public sbcl-cl-ana.makeres-macro
9158 (package
9159 (inherit sbcl-cl-ana-boot0)
9160 (name "sbcl-cl-ana.makeres-macro")
9161 (inputs
9162 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9163 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9164 (arguments
9165 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9166 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9167 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9168
9169(define-public cl-ana.makeres-macro
9170 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9171
9172(define-public sbcl-cl-ana.makeres-block
9173 (package
9174 (inherit sbcl-cl-ana-boot0)
9175 (name "sbcl-cl-ana.makeres-block")
9176 (inputs
9177 `(("alexandria" ,sbcl-alexandria)
9178 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9179 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9180 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9181 (arguments
9182 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9183 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9184 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9185
9186(define-public cl-ana.makeres-block
9187 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9188
9189(define-public sbcl-cl-ana.makeres-progress
9190 (package
9191 (inherit sbcl-cl-ana-boot0)
9192 (name "sbcl-cl-ana.makeres-progress")
9193 (inputs
9194 `(("alexandria" ,sbcl-alexandria)
9195 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9196 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9197 (arguments
9198 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9199 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9200 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9201
9202(define-public cl-ana.makeres-progress
9203 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9204
9205(define-public sbcl-cl-ana.makeres-table
9206 (package
9207 (inherit sbcl-cl-ana-boot0)
9208 (name "sbcl-cl-ana.makeres-table")
9209 (inputs
9210 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9211 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9212 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9213 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9214 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9215 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9216 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9217 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9218 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9219 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9220 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9221 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9222 ("cl-ana.table" ,sbcl-cl-ana.table)))
9223 (native-inputs
9224 `(("cl-fad" ,sbcl-cl-fad)))
9225 (arguments
9226 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9227 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9228 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9229
9230(define-public cl-ana.makeres-table
9231 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9232
9233(define-public sbcl-cl-ana.makeres-graphviz
9234 (package
9235 (inherit sbcl-cl-ana-boot0)
9236 (name "sbcl-cl-ana.makeres-graphviz")
9237 (inputs
9238 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9239 ("external-program" ,sbcl-external-program)))
9240 (arguments
9241 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9242 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9243 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9244
9245(define-public cl-ana.makeres-graphviz
9246 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9247
9248(define-public sbcl-cl-ana.makeres-branch
9249 (package
9250 (inherit sbcl-cl-ana-boot0)
9251 (name "sbcl-cl-ana.makeres-branch")
9252 (inputs
9253 `(("alexandria" ,sbcl-alexandria)
9254 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9255 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9256 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9257 ("cl-ana.map" ,sbcl-cl-ana.map)
9258 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9259 (arguments
9260 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9261 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9262 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9263
9264(define-public cl-ana.makeres-branch
9265 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9266
9267(define-public sbcl-cl-ana.makeres-utils
9268 (package
9269 (inherit sbcl-cl-ana-boot0)
9270 (name "sbcl-cl-ana.makeres-utils")
9271 (inputs
9272 `(("alexandria" ,sbcl-alexandria)
9273 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9274 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9275 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9276 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9277 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9278 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9279 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9280 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9281 ("cl-ana.map" ,sbcl-cl-ana.map)
9282 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9283 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9284 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9285 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9286 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9287 ("cl-ana.table" ,sbcl-cl-ana.table)))
9288 (native-inputs
9289 `(("cl-fad" ,sbcl-cl-fad)))
9290 (arguments
9291 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9292 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9293 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9294
9295(define-public cl-ana.makeres-utils
9296 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9297
9298(define-public sbcl-cl-ana.statistical-learning
9299 (package
9300 (inherit sbcl-cl-ana-boot0)
9301 (name "sbcl-cl-ana.statistical-learning")
9302 (inputs
9303 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9304 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9305 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9306 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9307 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9308 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9309 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9310 ("cl-ana.map" ,sbcl-cl-ana.map)
9311 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9312 (native-inputs
9313 `(("cl-fad" ,sbcl-cl-fad)))
9314 (arguments
9315 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9316 ((#:asd-file _ "")
9317 "statistical-learning/cl-ana.statistical-learning.asd")
9318 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9319
9320(define-public cl-ana.statistical-learning
9321 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9322
9323(define-public sbcl-cl-ana
9324 (package
9325 (inherit sbcl-cl-ana-boot0)
9326 (name "sbcl-cl-ana")
9327 (inputs
9328 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9329 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9330 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9331 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9332 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9333 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9334 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9335 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9336 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9337 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9338 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9339 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9340 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9341 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9342 ("cl-ana.map" ,sbcl-cl-ana.map)
9343 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9344 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9345 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9346 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9347 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9348 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9349 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9350 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9351 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9352 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9353 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9354 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9355 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9356 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9357 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9358 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9359 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9360 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9361 ("cl-ana.table" ,sbcl-cl-ana.table)
9362 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9363 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9364 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9365 ("libffi" ,libffi)))
9366 (native-inputs
9367 `(("cl-fad" ,sbcl-cl-fad)))
9368 (arguments
9369 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9370 ((#:asd-file _ "") "cl-ana.asd")
9371 ((#:asd-system-name _ #f) "cl-ana")))))
9372
9373(define-public cl-ana
9374 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9375
9376(define-public sbcl-archive
9377 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9378 (revision "1"))
9379 (package
9380 (name "sbcl-archive")
9381 (version (git-version "0.9" revision commit))
9382 (source (origin
9383 (method git-fetch)
9384 (uri (git-reference
9385 (url "https://github.com/sharplispers/archive.git")
9386 (commit commit)))
9387 (file-name (git-file-name name version))
9388 (sha256
9389 (base32
9390 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9391 (build-system asdf-build-system/sbcl)
9392 (inputs
9393 `(("cl-fad" ,sbcl-cl-fad)
9394 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9395 (synopsis "Common Lisp library for tar and cpio archives")
9396 (description
9397 "This is a Common Lisp library to read and write disk-based file
9398archives such as those generated by the tar and cpio programs on Unix.")
9399 (home-page "https://github.com/sharplispers/archive")
9400 (license license:bsd-3))))
9401
9402(define-public cl-archive
9403 (sbcl-package->cl-source-package sbcl-archive))
9404
9405(define-public ecl-archive
9406 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9407
9408(define-public sbcl-misc-extensions
9409 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9410 (revision "1"))
9411 (package
9412 (name "sbcl-misc-extensions")
9413 (version (git-version "3.3" revision commit))
9414 (source
9415 (origin
9416 (method git-fetch)
9417 (uri (git-reference
9418 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9419 (commit commit)))
9420 (file-name (git-file-name name version))
9421 (sha256
9422 (base32
9423 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9424 (build-system asdf-build-system/sbcl)
9425 (synopsis "Collection of small macros and extensions for Common Lisp")
9426 (description
9427 "This project is intended as a catchall for small, general-purpose
9428extensions to Common Lisp. It contains:
9429
9430@itemize
9431@item @code{new-let}, a macro that combines and generalizes @code{let},
9432@code{let*} and @code{multiple-value-bind},
9433@item @code{gmap}, an iteration macro that generalizes @code{map}.
9434@end itemize\n")
9435 (home-page "https://common-lisp.net/project/misc-extensions/")
9436 (license license:public-domain))))
9437
9438(define-public cl-misc-extensions
9439 (sbcl-package->cl-source-package sbcl-misc-extensions))
9440
9441(define-public ecl-misc-extensions
9442 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9443
9444(define-public sbcl-mt19937
9445 (package
9446 (name "sbcl-mt19937")
9447 (version "1.1")
9448 (source
9449 (origin
9450 (method url-fetch)
9451 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9452 "mt19937-latest.tar.gz"))
9453 (sha256
9454 (base32
9455 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9456 (build-system asdf-build-system/sbcl)
9457 (synopsis "Mersenne Twister pseudo-random number generator")
9458 (description
9459 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9460for Common Lisp.")
9461 (home-page "https://www.cliki.net/mt19937")
9462 (license license:public-domain)))
9463
9464(define-public cl-mt19937
9465 (sbcl-package->cl-source-package sbcl-mt19937))
9466
9467(define-public ecl-mt19937
9468 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9469
9470(define-public sbcl-fset
9471 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9472 (revision "1"))
9473 (package
9474 (name "sbcl-fset")
9475 (version (git-version "1.3.2" revision commit))
9476 (source
9477 (origin
9478 (method git-fetch)
9479 (uri (git-reference
9480 (url "https://github.com/slburson/fset")
9481 (commit commit)))
9482 (file-name (git-file-name name version))
9483 (sha256
9484 (base32
9485 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9486 (snippet '(begin
9487 ;; Remove obsolete copy of system definition.
9488 (delete-file "Code/fset.asd")
9489 #t))))
9490 (build-system asdf-build-system/sbcl)
9491 (inputs
9492 `(("misc-extensions" ,sbcl-misc-extensions)
9493 ("mt19937" ,sbcl-mt19937)
9494 ("named-readtables" ,sbcl-named-readtables)))
9495 (synopsis "Functional set-theoretic collections library")
9496 (description
9497 "FSet is a functional set-theoretic collections library for Common Lisp.
9498Functional means that all update operations return a new collection rather than
9499modifying an existing one in place. Set-theoretic means that collections may
9500be nested arbitrarily with no additional programmer effort; for instance, sets
9501may contain sets, maps may be keyed by sets, etc.")
9502 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9503 (license license:llgpl))))
9504
9505(define-public cl-fset
9506 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9507
9508(define-public sbcl-cl-cont
9509 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9510 (revision "1"))
9511 (package
9512 (name "sbcl-cl-cont")
9513 (version (git-version "0.3.8" revision commit))
9514 (source
9515 (origin
9516 (method git-fetch)
9517 (uri (git-reference
9518 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9519 (commit commit)))
9520 (file-name (git-file-name name version))
9521 (sha256
9522 (base32
9523 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9524 (build-system asdf-build-system/sbcl)
9525 (inputs
9526 `(("alexandria" ,sbcl-alexandria)
9527 ("closer-mop" ,sbcl-closer-mop)))
9528 (native-inputs
9529 `(("rt" ,sbcl-rt)))
9530 (synopsis "Delimited continuations for Common Lisp")
9531 (description
9532 "This is a library that implements delimited continuations by
9533transforming Common Lisp code to continuation passing style.")
9534 (home-page "https://common-lisp.net/project/cl-cont/")
9535 (license license:llgpl))))
9536
9537(define-public cl-cont
9538 (sbcl-package->cl-source-package sbcl-cl-cont))
9539
9540(define-public ecl-cl-cont
9541 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9542
9543(define-public sbcl-cl-coroutine
9544 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9545 (revision "1"))
9546 (package
9547 (name "sbcl-cl-coroutine")
9548 (version (git-version "0.1" revision commit))
9549 (source
9550 (origin
9551 (method git-fetch)
9552 (uri (git-reference
9553 (url "https://github.com/takagi/cl-coroutine.git")
9554 (commit commit)))
9555 (file-name (git-file-name name version))
9556 (sha256
9557 (base32
9558 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9559 (build-system asdf-build-system/sbcl)
9560 (inputs
9561 `(("alexandria" ,sbcl-alexandria)
9562 ("cl-cont" ,sbcl-cl-cont)))
9563 (native-inputs
9564 `(("prove" ,sbcl-prove)))
9565 (arguments
9566 `(;; TODO: Fix the tests. They fail with:
9567 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9568 #:tests? #f
9569 #:phases
9570 (modify-phases %standard-phases
9571 (add-after 'unpack 'fix-tests
9572 (lambda _
9573 (substitute* "cl-coroutine-test.asd"
9574 (("cl-test-more")
9575 "prove"))
9576 #t)))))
9577 (synopsis "Coroutine library for Common Lisp")
9578 (description
9579 "This is a coroutine library for Common Lisp implemented using the
9580continuations of the @code{cl-cont} library.")
9581 (home-page "https://github.com/takagi/cl-coroutine")
9582 (license license:llgpl))))
9583
9584(define-public cl-coroutine
9585 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9586
9587(define-public ecl-cl-coroutine
9588 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9589
9590(define-public sbcl-vom
9591 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9592 (revision "1"))
9593 (package
9594 (name "sbcl-vom")
9595 (version (git-version "0.1.4" revision commit))
9596 (source
9597 (origin
9598 (method git-fetch)
9599 (uri (git-reference
9600 (url "https://github.com/orthecreedence/vom.git")
9601 (commit commit)))
9602 (file-name (git-file-name name version))
9603 (sha256
9604 (base32
9605 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9606 (build-system asdf-build-system/sbcl)
9607 (synopsis "Tiny logging utility for Common Lisp")
9608 (description
9609 "Vom is a logging library for Common Lisp. It's goal is to be useful
9610and small. It does not provide a lot of features as other loggers do, but
9611has a small codebase that's easy to understand and use.")
9612 (home-page "https://github.com/orthecreedence/vom")
9613 (license license:expat))))
9614
9615(define-public cl-vom
9616 (sbcl-package->cl-source-package sbcl-vom))
9617
9618(define-public ecl-vom
9619 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9620
9621(define-public sbcl-cl-libuv
9622 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9623 (revision "1"))
9624 (package
9625 (name "sbcl-cl-libuv")
9626 (version (git-version "0.1.6" revision commit))
9627 (source
9628 (origin
9629 (method git-fetch)
9630 (uri (git-reference
9631 (url "https://github.com/orthecreedence/cl-libuv.git")
9632 (commit commit)))
9633 (file-name (git-file-name name version))
9634 (sha256
9635 (base32
9636 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9637 (build-system asdf-build-system/sbcl)
9638 (inputs
9639 `(("alexandria" ,sbcl-alexandria)
9640 ("cffi" ,sbcl-cffi)
9641 ("cffi-grovel" ,sbcl-cffi-grovel)
9642 ("libuv" ,libuv)))
9643 (arguments
9644 `(#:phases
9645 (modify-phases %standard-phases
9646 (add-after 'unpack 'fix-paths
9647 (lambda* (#:key inputs #:allow-other-keys)
9648 (substitute* "lib.lisp"
9649 (("/usr/lib/libuv.so")
9650 (string-append (assoc-ref inputs "libuv")
9651 "/lib/libuv.so")))
9652 #t))
9653 (add-after 'fix-paths 'fix-system-definition
9654 (lambda _
9655 (substitute* "cl-libuv.asd"
9656 (("#:cffi #:alexandria")
9657 "#:cffi #:cffi-grovel #:alexandria"))
9658 #t)))))
9659 (synopsis "Common Lisp bindings to libuv")
9660 (description
9661 "This library provides low-level libuv bindings for Common Lisp.")
9662 (home-page "https://github.com/orthecreedence/cl-libuv")
9663 (license license:expat))))
9664
9665(define-public cl-libuv
9666 (sbcl-package->cl-source-package sbcl-cl-libuv))
9667
9668(define-public ecl-cl-libuv
9669 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9670
9671(define-public sbcl-cl-async-base
9672 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9673 (revision "1"))
9674 (package
9675 (name "sbcl-cl-async-base")
9676 (version (git-version "0.6.1" revision commit))
9677 (source
9678 (origin
9679 (method git-fetch)
9680 (uri (git-reference
9681 (url "https://github.com/orthecreedence/cl-async.git")
9682 (commit commit)))
9683 (file-name (git-file-name name version))
9684 (sha256
9685 (base32
9686 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9687 (build-system asdf-build-system/sbcl)
9688 (inputs
9689 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9690 ("cffi" ,sbcl-cffi)
9691 ("cl-libuv" ,sbcl-cl-libuv)))
9692 (arguments
9693 `(#:asd-file "cl-async.asd"))
9694 (synopsis "Base system for cl-async")
9695 (description
9696 "Cl-async is a library for general purpose, non-blocking programming in
9697Common Lisp. It uses the libuv library as backend.")
9698 (home-page "https://orthecreedence.github.io/cl-async/")
9699 (license license:expat))))
9700
9701(define-public cl-async-base
9702 (sbcl-package->cl-source-package sbcl-cl-async-base))
9703
9704(define-public ecl-cl-async-base
9705 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9706
9707(define-public sbcl-cl-async-util
9708 (package
9709 (inherit sbcl-cl-async-base)
9710 (name "sbcl-cl-async-util")
9711 (inputs
24de1f5a
GLV
9712 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9713 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9714 ("cl-async-base" ,sbcl-cl-async-base)
9715 ("cl-libuv" ,sbcl-cl-libuv)
9716 ("cl-ppcre" ,sbcl-cl-ppcre)
9717 ("fast-io" ,sbcl-fast-io)
9718 ("vom" ,sbcl-vom)))
9719 (synopsis "Internal utilities for cl-async")))
9720
9721(define-public cl-async-util
9722 (sbcl-package->cl-source-package sbcl-cl-async-util))
9723
9724(define-public ecl-cl-async-util
9725 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9726
9727(define-public sbcl-cl-async
9728 (package
9729 (inherit sbcl-cl-async-base)
9730 (name "sbcl-cl-async")
9731 (inputs
9732 `(("babel" ,sbcl-babel)
9733 ("cffi" ,sbcl-cffi)
9734 ("cl-async-base" ,sbcl-cl-async-base)
9735 ("cl-async-util" ,sbcl-cl-async-util)
9736 ("cl-libuv" ,sbcl-cl-libuv)
9737 ("cl-ppcre" ,sbcl-cl-ppcre)
9738 ("static-vectors" ,sbcl-static-vectors)
9739 ("trivial-features" ,sbcl-trivial-features)
9740 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9741 (synopsis "Asynchronous operations for Common Lisp")))
9742
9743(define-public cl-async
9744 (sbcl-package->cl-source-package sbcl-cl-async))
9745
9746(define-public ecl-cl-async
9747 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9748
9749(define-public sbcl-cl-async-repl
9750 (package
9751 (inherit sbcl-cl-async-base)
9752 (name "sbcl-cl-async-repl")
9753 (inputs
9754 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9755 ("cl-async" ,sbcl-cl-async)))
9756 (arguments
9757 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9758 ((#:asd-file _ "") "cl-async-repl.asd")))
9759 (synopsis "REPL integration for cl-async")))
9760
9761(define-public cl-async-repl
9762 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9763
9764(define-public ecl-cl-async-repl
9765 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9766
9767(define-public sbcl-cl-async-ssl
9768 (package
9769 (inherit sbcl-cl-async-base)
9770 (name "sbcl-cl-async-ssl")
9771 (inputs
9772 `(("cffi" ,sbcl-cffi)
9773 ("cl-async" ,sbcl-cl-async)
9774 ("openssl" ,openssl)
9775 ("vom" ,sbcl-vom)))
9776 (arguments
9777 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9778 ((#:asd-file _ "") "cl-async-ssl.asd")
9779 ((#:phases phases '%standard-phases)
9780 `(modify-phases ,phases
9781 (add-after 'unpack 'fix-paths
9782 (lambda* (#:key inputs #:allow-other-keys)
9783 (substitute* "src/ssl/package.lisp"
9784 (("libcrypto\\.so")
9785 (string-append (assoc-ref inputs "openssl")
9786 "/lib/libcrypto.so"))
9787 (("libssl\\.so")
9788 (string-append (assoc-ref inputs "openssl")
9789 "/lib/libssl.so")))
9790 #t))))))
9791 (synopsis "SSL wrapper around cl-async socket implementation")))
9792
9793(define-public cl-async-ssl
9794 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9795
9796(define-public ecl-cl-async-ssl
9797 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9798
9799(define-public sbcl-blackbird
9800 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9801 (revision "1"))
9802 (package
9803 (name "sbcl-blackbird")
9804 (version (git-version "0.5.2" revision commit))
9805 (source
9806 (origin
9807 (method git-fetch)
9808 (uri (git-reference
9809 (url "https://github.com/orthecreedence/blackbird.git")
9810 (commit commit)))
9811 (file-name (git-file-name name version))
9812 (sha256
9813 (base32
9814 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9815 (build-system asdf-build-system/sbcl)
9816 (inputs
9817 `(("vom" ,sbcl-vom)))
9818 (native-inputs
9819 `(("cl-async" ,sbcl-cl-async)
9820 ("fiveam" ,sbcl-fiveam)))
9821 (synopsis "Promise implementation for Common Lisp")
9822 (description
9823 "This is a standalone promise implementation for Common Lisp. It is
9824the successor to the now-deprecated cl-async-future project.")
e0318062 9825 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9826 (license license:expat))))
9827
9828(define-public cl-blackbird
9829 (sbcl-package->cl-source-package sbcl-blackbird))
9830
9831(define-public ecl-blackbird
9832 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9833
9834(define-public sbcl-cl-async-future
9835 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9836 (revision "1"))
9837 (package
9838 (name "sbcl-cl-async-future")
9839 (version (git-version "0.4.4.1" revision commit))
9840 (source
9841 (origin
9842 (method git-fetch)
9843 (uri (git-reference
9844 (url "https://github.com/orthecreedence/cl-async-future.git")
9845 (commit commit)))
9846 (file-name (git-file-name name version))
9847 (sha256
9848 (base32
9849 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9850 (build-system asdf-build-system/sbcl)
9851 (inputs
9852 `(("blackbird" ,sbcl-blackbird)))
9853 (native-inputs
9854 `(("cl-async" ,sbcl-cl-async)
9855 ("eos" ,sbcl-eos)))
9856 (synopsis "Futures implementation for Common Lisp")
9857 (description
9858 "This is futures implementation for Common Lisp. It plugs in nicely
9859to cl-async.")
e0318062 9860 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9861 (license license:expat))))
9862
9863(define-public cl-async-future
9864 (sbcl-package->cl-source-package sbcl-cl-async-future))
9865
9866(define-public ecl-cl-async-future
9867 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9868
9869(define-public sbcl-green-threads
9870 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9871 (revision "1"))
9872 (package
9873 (name "sbcl-green-threads")
9874 (version (git-version "0.3" revision commit))
9875 (source
9876 (origin
9877 (method git-fetch)
9878 (uri (git-reference
9879 (url "https://github.com/thezerobit/green-threads.git")
9880 (commit commit)))
9881 (file-name (git-file-name name version))
9882 (sha256
9883 (base32
9884 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9885 (build-system asdf-build-system/sbcl)
9886 (inputs
9887 `(("cl-async-future" ,sbcl-cl-async-future)
9888 ("cl-cont" ,sbcl-cl-cont)))
9889 (native-inputs
9890 `(("prove" ,sbcl-prove)))
9891 (arguments
9892 `(;; TODO: Fix the tests. They fail with:
9893 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9894 #:tests? #f
9895 #:phases
9896 (modify-phases %standard-phases
9897 (add-after 'unpack 'fix-tests
9898 (lambda _
9899 (substitute* "green-threads-test.asd"
9900 (("cl-test-more")
9901 "prove"))
9902 #t)))))
9903 (synopsis "Cooperative multitasking library for Common Lisp")
9904 (description
9905 "This library allows for cooperative multitasking with help of cl-cont
9906for continuations. It tries to mimic the API of bordeaux-threads as much as
9907possible.")
9908 (home-page "https://github.com/thezerobit/green-threads")
9909 (license license:bsd-3))))
9910
9911(define-public cl-green-threads
9912 (sbcl-package->cl-source-package sbcl-green-threads))
9913
9914(define-public ecl-green-threads
9915 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9916
9917(define-public sbcl-cl-base32
9918 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9919 (revision "1"))
9920 (package
9921 (name "sbcl-cl-base32")
9922 (version (git-version "0.1" revision commit))
9923 (source
9924 (origin
9925 (method git-fetch)
9926 (uri (git-reference
9927 (url "https://github.com/hargettp/cl-base32.git")
9928 (commit commit)))
9929 (file-name (git-file-name name version))
9930 (sha256
9931 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9932 (build-system asdf-build-system/sbcl)
9933 (native-inputs
9934 `(("lisp-unit" ,sbcl-lisp-unit)))
9935 (synopsis "Common Lisp library for base32 encoding and decoding")
9936 (description
9937 "This package provides functions for base32 encoding and decoding as
9938defined in RFC4648.")
9939 (home-page "https://github.com/hargettp/cl-base32")
9940 (license license:expat))))
9941
9942(define-public cl-base32
9943 (sbcl-package->cl-source-package sbcl-cl-base32))
9944
9945(define-public ecl-cl-base32
9946 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9947
9948(define-public sbcl-cl-z85
9949 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9950 (revision "1"))
9951 (package
9952 (name "sbcl-cl-z85")
9953 (version (git-version "1.0" revision commit))
9954 (source
9955 (origin
9956 (method git-fetch)
9957 (uri (git-reference
9958 (url "https://github.com/glv2/cl-z85.git")
9959 (commit commit)))
9960 (file-name (git-file-name name version))
9961 (sha256
9962 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9963 (build-system asdf-build-system/sbcl)
9964 (native-inputs
9965 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9966 ("fiveam" ,sbcl-fiveam)))
9967 (synopsis "Common Lisp library for Z85 encoding and decoding")
9968 (description
9969 "This package provides functions to encode or decode byte vectors or
9970byte streams using the Z85 format, which is a base-85 encoding used by
9971ZeroMQ.")
9972 (home-page "https://github.com/glv2/cl-z85")
9973 (license license:gpl3+))))
9974
9975(define-public cl-z85
9976 (sbcl-package->cl-source-package sbcl-cl-z85))
9977
9978(define-public ecl-cl-z85
9979 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9980
9981(define-public sbcl-ltk
9982 (package
9983 (name "sbcl-ltk")
9984 (version "0.992")
9985 (source
9986 (origin
9987 (method git-fetch)
9988 (uri (git-reference
9989 (url "https://github.com/herth/ltk.git")
9990 (commit version)))
9991 (file-name (git-file-name name version))
9992 (sha256
9993 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9994 (build-system asdf-build-system/sbcl)
9995 (inputs
9996 `(("imagemagick" ,imagemagick)
9997 ("tk" ,tk)))
9998 (arguments
9999 `(#:asd-file "ltk/ltk.asd"
10000 #:tests? #f
10001 #:phases (modify-phases %standard-phases
10002 (add-after 'unpack 'fix-paths
10003 (lambda* (#:key inputs #:allow-other-keys)
10004 (substitute* "ltk/ltk.lisp"
10005 (("#-freebsd \"wish\"")
10006 (string-append "#-freebsd \""
10007 (assoc-ref inputs "tk")
10008 "/bin/wish\""))
10009 (("do-execute \"convert\"")
10010 (string-append "do-execute \""
10011 (assoc-ref inputs "imagemagick")
10012 "/bin/convert\"")))
10013 #t)))))
10014 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10015 (description
10016 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
10017in pure Common Lisp and does not require any Tk knowledge for its usage.")
10018 (home-page "http://www.peter-herth.de/ltk/")
10019 (license license:llgpl)))
10020
10021(define-public cl-ltk
10022 (sbcl-package->cl-source-package sbcl-ltk))
10023
10024(define-public ecl-ltk
10025 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
10026
10027(define-public sbcl-ltk-mw
10028 (package
10029 (inherit sbcl-ltk)
10030 (name "sbcl-ltk-mw")
10031 (inputs
10032 `(("ltk" ,sbcl-ltk)))
10033 (arguments
10034 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10035 ((#:asd-file _) "ltk/ltk-mw.asd")
10036 ((#:phases _) '%standard-phases)))
10037 (synopsis "Extra widgets for LTK")
10038 (description
10039 "This is a collection of higher-level widgets built on top of LTK.")))
10040
10041(define-public cl-ltk-mw
10042 (sbcl-package->cl-source-package sbcl-ltk-mw))
10043
10044(define-public ecl-ltk-mw
10045 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
10046
10047(define-public sbcl-ltk-remote
10048 (package
10049 (inherit sbcl-ltk)
10050 (name "sbcl-ltk-remote")
10051 (inputs
10052 `(("ltk" ,sbcl-ltk)))
10053 (arguments
10054 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10055 ((#:asd-file _) "ltk/ltk-remote.asd")
10056 ((#:phases _) '%standard-phases)))
10057 (synopsis "Remote GUI support for LTK")
10058 (description
10059 "This LTK extension allows the GUI to be displayed on a computer different
10060from the one running the Lisp program by using a TCP connection.")))
10061
10062(define-public cl-ltk-remote
10063 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
10064
10065(define-public sbcl-cl-lex
10066 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
10067 (revision "1"))
10068 (package
10069 (name "sbcl-cl-lex")
10070 (version (git-version "1.1.3" revision commit))
10071 (source
10072 (origin
10073 (method git-fetch)
10074 (uri (git-reference
10075 (url "https://github.com/djr7C4/cl-lex.git")
10076 (commit commit)))
10077 (file-name (git-file-name name version))
10078 (sha256
10079 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10080 (build-system asdf-build-system/sbcl)
10081 (inputs
10082 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10083 (synopsis "Common Lisp macros for generating lexical analyzers")
10084 (description
10085 "This is a Common Lisp library providing a set of macros for generating
10086lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10087be used with @code{cl-yacc}.")
10088 (home-page "https://github.com/djr7C4/cl-lex")
10089 (license license:gpl3))))
10090
10091(define-public cl-lex
10092 (sbcl-package->cl-source-package sbcl-cl-lex))
10093
10094(define-public ecl-cl-lex
10095 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
10096
10097(define-public sbcl-clunit2
10098 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10099 (revision "1"))
10100 (package
10101 (name "sbcl-clunit2")
10102 (version (git-version "0.2.4" revision commit))
10103 (source
10104 (origin
10105 (method git-fetch)
10106 (uri (git-reference
10107 (url "https://notabug.org/cage/clunit2.git")
10108 (commit commit)))
10109 (file-name (git-file-name name version))
10110 (sha256
10111 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10112 (build-system asdf-build-system/sbcl)
10113 (synopsis "Unit testing framework for Common Lisp")
10114 (description
10115 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10116easy to use so that you can quickly start testing.")
10117 (home-page "https://notabug.org/cage/clunit2")
10118 (license license:expat))))
10119
10120(define-public cl-clunit2
10121 (sbcl-package->cl-source-package sbcl-clunit2))
10122
10123(define-public ecl-clunit2
10124 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10125
10126(define-public sbcl-cl-colors2
10127 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10128 (revision "1"))
10129 (package
10130 (name "sbcl-cl-colors2")
10131 (version (git-version "0.2.1" revision commit))
10132 (source
10133 (origin
10134 (method git-fetch)
10135 (uri (git-reference
10136 (url "https://notabug.org/cage/cl-colors2.git")
10137 (commit commit)))
10138 (file-name (git-file-name name version))
10139 (sha256
10140 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10141 (build-system asdf-build-system/sbcl)
10142 (native-inputs
10143 `(("clunit2" ,sbcl-clunit2)))
10144 (inputs
10145 `(("alexandria" ,sbcl-alexandria)
10146 ("cl-ppcre" ,sbcl-cl-ppcre)))
10147 (synopsis "Color library for Common Lisp")
10148 (description
10149 "This is a very simple color library for Common Lisp, providing:
10150
10151@itemize
10152@item Types for representing colors in HSV and RGB spaces.
10153@item Simple conversion functions between the above types (and also
10154hexadecimal representation for RGB).
10155@item Some predefined colors (currently X11 color names -- of course
10156the library does not depend on X11).
10157@end itemize\n")
10158 (home-page "https://notabug.org/cage/cl-colors2")
10159 (license license:boost1.0))))
10160
10161(define-public cl-colors2
10162 (sbcl-package->cl-source-package sbcl-cl-colors2))
10163
10164(define-public ecl-cl-colors2
10165 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10166
10167(define-public sbcl-cl-jpeg
10168 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10169 (revision "1"))
10170 (package
10171 (name "sbcl-cl-jpeg")
10172 (version (git-version "2.8" revision commit))
10173 (source
10174 (origin
10175 (method git-fetch)
10176 (uri (git-reference
10177 (url "https://github.com/sharplispers/cl-jpeg.git")
10178 (commit commit)))
10179 (file-name (git-file-name name version))
10180 (sha256
10181 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10182 (build-system asdf-build-system/sbcl)
10183 (synopsis "JPEG image library for Common Lisp")
10184 (description
10185 "This is a baseline JPEG codec written in Common Lisp. It can be used
10186for reading and writing JPEG image files.")
10187 (home-page "https://github.com/sharplispers/cl-jpeg")
10188 (license license:bsd-3))))
10189
10190(define-public cl-jpeg
10191 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10192
10193(define-public ecl-cl-jpeg
10194 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10195
10196(define-public sbcl-nodgui
10197 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10198 (revision "1"))
10199 (package
10200 (name "sbcl-nodgui")
10201 (version (git-version "0.0.5" revision commit))
10202 (source
10203 (origin
10204 (method git-fetch)
10205 (uri (git-reference
10206 (url "https://notabug.org/cage/nodgui.git")
10207 (commit commit)))
10208 (file-name (git-file-name name version))
10209 (sha256
10210 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10211 (build-system asdf-build-system/sbcl)
10212 (inputs
10213 `(("alexandria" ,sbcl-alexandria)
10214 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10215 ("cl-colors2" ,sbcl-cl-colors2)
10216 ("cl-jpeg" ,sbcl-cl-jpeg)
10217 ("cl-lex" ,sbcl-cl-lex)
10218 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10219 ("cl-unicode" ,sbcl-cl-unicode)
10220 ("cl-yacc" ,sbcl-cl-yacc)
10221 ("clunit2" ,sbcl-clunit2)
10222 ("named-readtables" ,sbcl-named-readtables)
10223 ("parse-number" ,sbcl-parse-number)
10224 ("tk" ,tk)))
10225 (arguments
10226 `(#:phases (modify-phases %standard-phases
10227 (add-after 'unpack 'fix-paths
10228 (lambda* (#:key inputs #:allow-other-keys)
10229 (substitute* "src/wish-communication.lisp"
10230 (("#-freebsd \"wish\"")
10231 (string-append "#-freebsd \""
10232 (assoc-ref inputs "tk")
10233 "/bin/wish\"")))
10234 #t)))))
10235 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10236 (description
10237 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10238toolkit. It also provides a few additional widgets more than the standard Tk
10239ones.")
10240 (home-page "https://www.autistici.org/interzona/nodgui.html")
10241 (license license:llgpl))))
10242
10243(define-public cl-nodgui
10244 (sbcl-package->cl-source-package sbcl-nodgui))
10245
10246(define-public ecl-nodgui
10247 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10248
10249(define-public sbcl-salza2
10250 (package
10251 (name "sbcl-salza2")
10252 (version "2.0.9")
10253 (source
10254 (origin
10255 (method git-fetch)
10256 (uri (git-reference
10257 (url "https://github.com/xach/salza2.git")
10258 (commit (string-append "release-" version))))
10259 (file-name (git-file-name name version))
10260 (sha256
10261 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10262 (build-system asdf-build-system/sbcl)
10263 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10264 (description
10265 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10266deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10267respectively.")
10268 (home-page "https://www.xach.com/lisp/salza2/")
10269 (license license:bsd-2)))
10270
10271(define-public cl-salza2
10272 (sbcl-package->cl-source-package sbcl-salza2))
10273
10274(define-public ecl-salza2
10275 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10276
10277(define-public sbcl-png-read
10278 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10279 (revision "1"))
10280 (package
10281 (name "sbcl-png-read")
10282 (version (git-version "0.3.1" revision commit))
10283 (source
10284 (origin
10285 (method git-fetch)
10286 (uri (git-reference
10287 (url "https://github.com/Ramarren/png-read.git")
10288 (commit commit)))
10289 (file-name (git-file-name name version))
10290 (sha256
10291 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10292 (build-system asdf-build-system/sbcl)
10293 (inputs
10294 `(("babel" ,sbcl-babel)
10295 ("chipz" ,sbcl-chipz)
10296 ("iterate" ,sbcl-iterate)))
10297 (synopsis "PNG decoder for Common Lisp")
10298 (description "This is a Common Lisp library for reading PNG images.")
10299 (home-page "https://github.com/Ramarren/png-read")
10300 (license license:bsd-3))))
10301
10302(define-public cl-png-read
10303 (sbcl-package->cl-source-package sbcl-png-read))
10304
10305(define-public ecl-png-read
10306 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10307
10308(define-public sbcl-zpng
10309 (package
10310 (name "sbcl-zpng")
10311 (version "1.2.2")
10312 (source
10313 (origin
10314 (method git-fetch)
10315 (uri (git-reference
10316 (url "https://github.com/xach/zpng.git")
10317 (commit (string-append "release-" version))))
10318 (file-name (git-file-name name version))
10319 (sha256
10320 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10321 (build-system asdf-build-system/sbcl)
10322 (inputs
10323 `(("salza2" ,sbcl-salza2)))
10324 (synopsis "PNG encoder for Common Lisp")
10325 (description "This is a Common Lisp library for creating PNG images.")
10326 (home-page "https://www.xach.com/lisp/zpng/")
10327 (license license:bsd-2)))
10328
10329(define-public cl-zpng
10330 (sbcl-package->cl-source-package sbcl-zpng))
10331
10332(define-public ecl-zpng
10333 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10334
10335(define-public sbcl-cl-qrencode
10336 (package
10337 (name "sbcl-cl-qrencode")
10338 (version "0.1.2")
10339 (source
10340 (origin
10341 (method git-fetch)
10342 (uri (git-reference
10343 (url "https://github.com/jnjcc/cl-qrencode.git")
10344 (commit (string-append "v" version))))
10345 (file-name (git-file-name name version))
10346 (sha256
10347 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10348 (build-system asdf-build-system/sbcl)
10349 (native-inputs
10350 `(("lisp-unit" ,sbcl-lisp-unit)))
10351 (inputs
10352 `(("zpng" ,sbcl-zpng)))
10353 (synopsis "QR code encoder for Common Lisp")
10354 (description
10355 "This Common Lisp library provides function to make QR codes and to save
10356them as PNG files.")
10357 (home-page "https://github.com/jnjcc/cl-qrencode")
10358 (license license:gpl2+)))
10359
10360(define-public cl-qrencode
10361 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10362
10363(define-public ecl-cl-qrencode
10364 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10365
10366(define-public sbcl-hdf5-cffi
10367 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10368 (revision "1"))
10369 (package
10370 (name "sbcl-hdf5-cffi")
10371 (version (git-version "1.8.18" revision commit))
10372 (source
10373 (origin
10374 (method git-fetch)
10375 (uri (git-reference
10376 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10377 (commit commit)))
10378 (file-name (git-file-name name version))
10379 (sha256
10380 (base32
10381 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10382 (build-system asdf-build-system/sbcl)
10383 (synopsis "Common Lisp bindings for the HDF5 library")
10384 (description
10385 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10386 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10387 (license (license:non-copyleft
10388 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10389 commit
10390 "/LICENSE")))
10391 (inputs
10392 `(("cffi" ,sbcl-cffi)
10393 ("cffi-grovel" ,sbcl-cffi-grovel)
10394 ("hdf5" ,hdf5-1.10)))
10395 (native-inputs
10396 `(("fiveam" ,sbcl-fiveam)))
10397 (arguments
10398 `(#:asd-system-name "hdf5-cffi"
10399 #:asd-file "hdf5-cffi.asd"
10400 #:test-asd-file "hdf5-cffi.test.asd"
10401 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10402 ;; I don't know if there is a way to tell asdf-build-system to load
10403 ;; an additional system first, so tests are disabled.
10404 #:tests? #f
10405 #:phases
10406 (modify-phases %standard-phases
10407 (add-after 'unpack 'fix-paths
10408 (lambda* (#:key inputs #:allow-other-keys)
10409 (substitute* "src/library.lisp"
10410 (("libhdf5.so")
10411 (string-append
10412 (assoc-ref inputs "hdf5")
10413 "/lib/libhdf5.so")))))
10414 (add-after 'unpack 'fix-dependencies
10415 (lambda* (#:key inputs #:allow-other-keys)
10416 (substitute* "hdf5-cffi.asd"
10417 ((":depends-on \\(:cffi\\)")
10418 ":depends-on (:cffi :cffi-grovel)"))
10419 (substitute* "hdf5-cffi.test.asd"
10420 ((":depends-on \\(:cffi :hdf5-cffi")
10421 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10422
10423(define-public cl-hdf5-cffi
10424 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10425
10426(define-public ecl-hdf5-cffi
10427 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10428
10429(define-public sbcl-cl-randist
10430 (package
10431 (name "sbcl-cl-randist")
10432 (version "0.4.2")
10433 (source
10434 (origin
10435 (method git-fetch)
10436 (uri (git-reference
10437 (url "https://github.com/lvaruzza/cl-randist.git")
10438 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10439 (file-name (git-file-name name version))
10440 (sha256
10441 (base32
10442 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10443 (build-system asdf-build-system/sbcl)
10444 (synopsis "Random distributions for Common Lisp")
10445 (description
10446 "Manual translation from C to Common Lisp of some random number
10447generation functions from the GSL library.")
10448 (home-page "https://github.com/lvaruzza/cl-randist")
10449 (license license:bsd-2)
10450 (arguments
10451 `(#:asd-system-name "cl-randist"
10452 #:asd-file "cl-randist.asd"
10453 #:tests? #f))))
10454
10455(define-public cl-randist
10456 (sbcl-package->cl-source-package sbcl-cl-randist))
10457
10458(define-public ecl-cl-randist
10459 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10460
10461(define-public sbcl-float-features
10462 (package
10463 (name "sbcl-float-features")
10464 (version "1.0.0")
10465 (source
10466 (origin
10467 (method git-fetch)
10468 (uri (git-reference
10469 (url "https://github.com/Shinmera/float-features.git")
10470 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10471 (file-name (git-file-name name version))
10472 (sha256
10473 (base32
10474 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10475 (build-system asdf-build-system/sbcl)
10476 (synopsis "Common Lisp IEEE float portability library")
10477 (description
10478 "Portability library for IEEE float features that are not
10479covered by the Common Lisp standard.")
10480 (home-page "https://github.com/Shinmera/float-features")
10481 (license license:zlib)
10482 (inputs
10483 `(("documentation-utils" ,sbcl-documentation-utils)))
10484 (arguments
10485 `(#:asd-system-name "float-features"
10486 #:asd-file "float-features.asd"
10487 #:tests? #f))))
10488
10489(define-public cl-float-features
10490 (sbcl-package->cl-source-package sbcl-float-features))
10491
10492(define-public ecl-float-features
10493 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10494
10495(define-public sbcl-function-cache
10496 (package
10497 (name "sbcl-function-cache")
10498 (version "1.0.3")
10499 (source
10500 (origin
10501 (method git-fetch)
10502 (uri (git-reference
10503 (url "https://github.com/AccelerationNet/function-cache.git")
10504 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10505 (file-name (git-file-name name version))
10506 (sha256
10507 (base32
10508 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10509 (build-system asdf-build-system/sbcl)
10510 (synopsis "Function caching / memoization library for Common Lisp")
10511 (description
10512 "A common lisp library that provides extensible function result
10513caching based on arguments (an expanded form of memoization).")
10514 (home-page "https://github.com/AccelerationNet/function-cache")
10515 (license
10516 (license:non-copyleft
10517 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10518 (inputs
10519 `(("alexandria" ,sbcl-alexandria)
10520 ("cl-interpol" ,sbcl-cl-interpol)
10521 ("iterate" ,sbcl-iterate)
10522 ("symbol-munger" ,sbcl-symbol-munger)
10523 ("closer-mop" ,sbcl-closer-mop)))
10524 (arguments
10525 `(#:asd-system-name "function-cache"
10526 #:asd-file "function-cache.asd"
10527 #:tests? #f))))
10528
10529(define-public cl-function-cache
10530 (sbcl-package->cl-source-package sbcl-function-cache))
10531
10532(define-public ecl-function-cache
10533 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10534
10535(define-public sbcl-type-r
10536 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10537 (revision "1"))
10538 (package
10539 (name "sbcl-type-r")
10540 (version (git-version "0.0.0" revision commit))
10541 (source
10542 (origin
10543 (method git-fetch)
10544 (uri (git-reference
10545 (url "https://github.com/guicho271828/type-r.git")
10546 (commit commit)))
10547 (file-name (git-file-name name version))
10548 (sha256
10549 (base32
10550 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10551 (build-system asdf-build-system/sbcl)
10552 (synopsis "Parser interface for Common Lisp built-in compound types")
10553 (description
10554 "Collections of accessor functions and patterns to access
10555the elements in compound type specifier, e.g. @code{dimensions} in
10556@code{(array element-type dimensions)}")
10557 (home-page "https://github.com/guicho271828/type-r")
10558 (license license:lgpl3+)
10559 (inputs
10560 `(("trivia" ,sbcl-trivia)
10561 ("alexandria" ,sbcl-alexandria)))
10562 (native-inputs
10563 `(("fiveam" ,sbcl-fiveam)))
10564 (arguments
10565 `(#:asd-system-name "type-r"
10566 #:asd-file "type-r.asd"
10567 #:test-asd-file "type-r.test.asd")))))
10568
10569(define-public cl-type-r
10570 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10571
10572(define-public sbcl-trivialib-type-unify
10573 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10574 (revision "1"))
10575 (package
10576 (name "sbcl-trivialib-type-unify")
10577 (version (git-version "0.1" revision commit))
10578 (source
10579 (origin
10580 (method git-fetch)
10581 (uri (git-reference
10582 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10583 (commit commit)))
10584 (file-name (git-file-name name version))
10585 (sha256
10586 (base32
10587 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10588 (build-system asdf-build-system/sbcl)
10589 (synopsis "Common Lisp type unification")
10590 (description
10591 "Unifies a parametrized type specifier against an actual type specifier.
10592Importantly, it handles complicated array-subtypes and number-related types
10593correctly.")
10594 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10595 (license license:lgpl3+)
10596 (inputs
10597 `(("alexandria" ,sbcl-alexandria)
10598 ("trivia" ,sbcl-trivia)
10599 ("introspect-environment" ,sbcl-introspect-environment)
10600 ("type-r" ,sbcl-type-r)))
10601 (native-inputs
10602 `(("fiveam" ,sbcl-fiveam)))
10603 (arguments
10604 `(#:asd-system-name "trivialib.type-unify"
10605 #:asd-file "trivialib.type-unify.asd"
10606 #:test-asd-file "trivialib.type-unify.test.asd")))))
10607
10608(define-public cl-trivialib-type-unify
10609 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10610
10611(define-public sbcl-specialized-function
10612 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10613 (revision "1"))
10614 (package
10615 (name "sbcl-specialized-function")
10616 (version (git-version "0.0.0" revision commit))
10617 (source
10618 (origin
10619 (method git-fetch)
10620 (uri (git-reference
10621 (url "https://github.com/numcl/specialized-function.git")
10622 (commit commit)))
10623 (file-name (git-file-name name version))
10624 (sha256
10625 (base32
10626 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10627 (build-system asdf-build-system/sbcl)
10628 (synopsis "Julia-like dispatch for Common Lisp")
10629 (description
10630 "This library is part of NUMCL. It provides a macro
10631@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10632lazily compiling a type-specific version of the function from the same
10633code. The main target of this macro is speed.")
10634 (home-page "https://github.com/numcl/specialized-function")
10635 (license license:lgpl3+)
10636 (inputs
10637 `(("trivia" ,sbcl-trivia)
10638 ("alexandria" ,sbcl-alexandria)
10639 ("iterate" ,sbcl-iterate)
10640 ("lisp-namespace" ,sbcl-lisp-namespace)
10641 ("type-r" ,sbcl-type-r)
10642 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10643 (native-inputs
10644 `(("fiveam" ,sbcl-fiveam)))
10645 (arguments
10646 `(#:asd-system-name "specialized-function"
10647 #:asd-file "specialized-function.asd"
10648 #:test-asd-file "specialized-function.test.asd")))))
10649
10650(define-public cl-specialized-function
10651 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10652
10653(define-public sbcl-constantfold
10654 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10655 (revision "1"))
10656 (package
10657 (name "sbcl-constantfold")
10658 (version (git-version "0.1" revision commit))
10659 (source
10660 (origin
10661 (method git-fetch)
10662 (uri (git-reference
10663 (url "https://github.com/numcl/constantfold.git")
10664 (commit commit)))
10665 (file-name (git-file-name name version))
10666 (sha256
10667 (base32
10668 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10669 (build-system asdf-build-system/sbcl)
10670 (synopsis "Support library for numcl")
10671 (description
10672 "Support library for numcl. Registers a function as an
10673additional form that is considered as a candidate for a constant.")
10674 (home-page "https://github.com/numcl/constantfold")
10675 (license license:lgpl3+)
10676 (inputs
10677 `(("trivia" ,sbcl-trivia)
10678 ("alexandria" ,sbcl-alexandria)
10679 ("iterate" ,sbcl-iterate)
10680 ("lisp-namespace" ,sbcl-lisp-namespace)))
10681 (native-inputs
10682 `(("fiveam" ,sbcl-fiveam)))
10683 (arguments
10684 `(#:asd-system-name "constantfold"
10685 #:asd-file "constantfold.asd"
10686 #:test-asd-file "constantfold.test.asd")))))
10687
10688(define-public cl-constantfold
10689 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10690
10691(define-public sbcl-gtype
10692 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10693 (revision "1"))
10694 (package
10695 (name "sbcl-gtype")
10696 (version (git-version "0.1" revision commit))
10697 (source
10698 (origin
10699 (method git-fetch)
10700 (uri (git-reference
10701 (url "https://github.com/numcl/gtype.git")
10702 (commit commit)))
10703 (file-name (git-file-name name version))
10704 (sha256
10705 (base32
10706 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10707 (build-system asdf-build-system/sbcl)
10708 (synopsis "C++/Julia-like parametric types in Common Lisp")
10709 (description
10710 "Support library for numcl that provides Julia-like runtime parametric
10711type correctness in Common Lisp. It is based on CLtL2 extensions.")
10712 (home-page "https://github.com/numcl/gtype")
10713 (license license:lgpl3+)
10714 (inputs
10715 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10716 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10717 ("trivia" ,sbcl-trivia)
10718 ("alexandria" ,sbcl-alexandria)
10719 ("iterate" ,sbcl-iterate)
10720 ("type-r" ,sbcl-type-r)))
10721 (native-inputs
10722 `(("fiveam" ,sbcl-fiveam)))
10723 (arguments
10724 `(#:asd-system-name "gtype"
10725 #:asd-file "gtype.asd"
10726 #:test-asd-file "gtype.test.asd")))))
10727
10728(define-public cl-gtype
10729 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10730
10731(define-public sbcl-numcl
10732 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10733 (revision "1"))
10734 (package
10735 (name "sbcl-numcl")
10736 (version (git-version "0.1.0" revision commit))
10737 (source
10738 (origin
10739 (method git-fetch)
10740 (uri (git-reference
10741 (url "https://github.com/numcl/numcl.git")
10742 (commit commit)))
10743 (file-name (git-file-name name version))
10744 (sha256
10745 (base32
10746 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10747 (build-system asdf-build-system/sbcl)
10748 (synopsis "Numpy clone in Common Lisp")
10749 (description
10750 "This is a Numpy clone in Common Lisp. At the moment the
10751library is written in pure Common Lisp, focusing more on correctness
10752and usefulness, not speed. Track the progress at
10753@url{https://github.com/numcl/numcl/projects/1}.")
10754 (home-page "https://github.com/numcl/numcl")
10755 (license license:lgpl3+)
10756 (inputs
10757 `(("trivia" ,sbcl-trivia)
10758 ("alexandria" ,sbcl-alexandria)
10759 ("iterate" ,sbcl-iterate)
10760 ("lisp-namespace" ,sbcl-lisp-namespace)
10761 ("type-r" ,sbcl-type-r)
10762 ("constantfold" ,sbcl-constantfold)
10763 ("cl-randist" ,sbcl-cl-randist)
10764 ("float-features" ,sbcl-float-features)
10765 ("function-cache" ,sbcl-function-cache)
10766 ("specialized-function" ,sbcl-specialized-function)
10767 ("gtype" ,sbcl-gtype)))
10768 (native-inputs
10769 `(("fiveam" ,sbcl-fiveam)))
10770 (arguments
10771 `(#:asd-system-name "numcl"
10772 #:asd-file "numcl.asd"
10773 #:test-asd-file "numcl.test.asd")))))
10774
10775(define-public cl-numcl
10776 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10777
10778(define-public sbcl-pzmq
10779 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10780 (revision "1"))
10781 (package
10782 (name "sbcl-pzmq")
10783 (version (git-version "0.0.0" revision commit))
10784 (source
10785 (origin
10786 (method git-fetch)
10787 (uri (git-reference
10788 (url "https://github.com/orivej/pzmq.git")
10789 (commit commit)))
10790 (file-name (git-file-name name version))
10791 (sha256
10792 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10793 (build-system asdf-build-system/sbcl)
10794 (native-inputs
10795 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10796 ("fiveam" ,sbcl-fiveam)
10797 ("let-plus" ,sbcl-let-plus)))
10798 (inputs
10799 `(("cffi" ,sbcl-cffi)
10800 ("cffi-grovel" ,sbcl-cffi-grovel)
10801 ("zeromq" ,zeromq)))
10802 (arguments
10803 `(#:phases (modify-phases %standard-phases
10804 (add-after 'unpack 'fix-paths
10805 (lambda* (#:key inputs #:allow-other-keys)
10806 (substitute* "c-api.lisp"
10807 (("\"libzmq")
10808 (string-append "\""
10809 (assoc-ref inputs "zeromq")
10810 "/lib/libzmq")))
10811 #t)))))
10812 (synopsis "Common Lisp bindings for the ZeroMQ library")
10813 (description "This Common Lisp library provides bindings for the ZeroMQ
10814lightweight messaging kernel.")
10815 (home-page "https://github.com/orivej/pzmq")
10816 (license license:unlicense))))
10817
10818(define-public cl-pzmq
10819 (sbcl-package->cl-source-package sbcl-pzmq))
10820
10821(define-public ecl-pzmq
10822 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10823
10824(define-public sbcl-clss
10825 (let ((revision "1")
10826 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10827 (package
10828 (name "sbcl-clss")
10829 (version (git-version "0.3.1" revision commit))
10830 (source
10831 (origin
10832 (method git-fetch)
10833 (uri
10834 (git-reference
10835 (url "https://github.com/Shinmera/clss.git")
10836 (commit commit)))
10837 (sha256
10838 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10839 (file-name (git-file-name name version))))
10840 (inputs
10841 `(("array-utils" ,sbcl-array-utils)
10842 ("plump" ,sbcl-plump)))
10843 (build-system asdf-build-system/sbcl)
10844 (synopsis "DOM tree searching engine based on CSS selectors")
10845 (description "CLSS is a DOM traversal engine based on CSS
10846selectors. It makes use of the Plump-DOM and is used by lQuery.")
10847 (home-page "https://github.com/Shinmera/clss")
10848 (license license:zlib))))
10849
10850(define-public cl-clss
10851 (sbcl-package->cl-source-package sbcl-clss))
10852
10853(define-public ecl-clss
10854 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10855
10856(define-public sbcl-lquery
10857 (let ((revision "1")
10858 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10859 (package
10860 (name "sbcl-lquery")
10861 (version (git-version "3.2.1" revision commit))
10862 (source
10863 (origin
10864 (method git-fetch)
10865 (uri
10866 (git-reference
10867 (url "https://github.com/Shinmera/lquery.git")
10868 (commit commit)))
10869 (sha256
10870 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10871 (file-name (git-file-name name version))))
10872 (native-inputs
10873 `(("fiveam" ,sbcl-fiveam)))
10874 (inputs
10875 `(("array-utils" ,sbcl-array-utils)
10876 ("form-fiddle" ,sbcl-form-fiddle)
10877 ("plump" ,sbcl-plump)
10878 ("clss" ,sbcl-clss)))
10879 (build-system asdf-build-system/sbcl)
10880 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10881 (description "@code{lQuery} is a DOM manipulation library written in
10882Common Lisp, inspired by and based on the jQuery syntax and
10883functions. It uses Plump and CLSS as DOM and selector engines. The
10884main idea behind lQuery is to provide a simple interface for crawling
10885and modifying HTML sites, as well as to allow for an alternative
10886approach to templating.")
10887 (home-page "https://github.com/Shinmera/lquery")
10888 (license license:zlib))))
10889
10890(define-public cl-lquery
10891 (sbcl-package->cl-source-package sbcl-lquery))
10892
10893(define-public ecl-lquery
10894 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10895
10896(define-public sbcl-cl-mysql
10897 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10898 (revision "1"))
10899 (package
10900 (name "sbcl-cl-mysql")
10901 (version (git-version "0.1" revision commit))
10902 (source
10903 (origin
10904 (method git-fetch)
10905 (uri (git-reference
10906 (url "https://github.com/hackinghat/cl-mysql.git")
10907 (commit commit)))
10908 (file-name (git-file-name name version))
10909 (sha256
10910 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10911 (build-system asdf-build-system/sbcl)
10912 (native-inputs
10913 `(("stefil" ,sbcl-stefil)))
10914 (inputs
10915 `(("cffi" ,sbcl-cffi)
10916 ("mariadb-lib" ,mariadb "lib")))
10917 (arguments
10918 `(#:tests? #f ; TODO: Tests require a running server
10919 #:phases
10920 (modify-phases %standard-phases
10921 (add-after 'unpack 'fix-paths
10922 (lambda* (#:key inputs #:allow-other-keys)
10923 (substitute* "system.lisp"
10924 (("libmysqlclient_r" all)
10925 (string-append (assoc-ref inputs "mariadb-lib")
10926 "/lib/"
10927 all)))
10928 #t)))))
10929 (synopsis "Common Lisp wrapper for MySQL")
10930 (description
10931 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10932 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10933 (license license:expat))))
10934
10935(define-public cl-mysql
10936 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10937
10938(define-public sbcl-simple-date
10939 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10940 (revision "1"))
10941 (package
10942 (name "sbcl-simple-date")
10943 (version (git-version "1.19" revision commit))
10944 (source
10945 (origin
10946 (method git-fetch)
10947 (uri (git-reference
10948 (url "https://github.com/marijnh/Postmodern.git")
10949 (commit commit)))
10950 (file-name (git-file-name name version))
10951 (sha256
10952 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10953 (build-system asdf-build-system/sbcl)
10954 (native-inputs
10955 `(("fiveam" ,sbcl-fiveam)))
10956 (synopsis "Basic date and time objects for Common Lisp")
10957 (description
10958 "@code{simple-date} is a very basic implementation of date and time
10959objects, used to support storing and retrieving time-related SQL types.")
10960 (home-page "https://marijnhaverbeke.nl/postmodern/")
10961 (license license:zlib))))
10962
10963(define-public cl-simple-date
10964 (sbcl-package->cl-source-package sbcl-simple-date))
10965
10966(define-public ecl-simple-date
10967 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10968
10969(define-public sbcl-cl-postgres
10970 (package
10971 (inherit sbcl-simple-date)
10972 (name "sbcl-cl-postgres")
10973 (native-inputs
10974 `(("fiveam" ,sbcl-fiveam)
10975 ("simple-date" ,sbcl-simple-date)))
10976 (inputs
10977 `(("md5" ,sbcl-md5)
10978 ("split-sequence" ,sbcl-split-sequence)
10979 ("usocket" ,sbcl-usocket)))
10980 (arguments
10981 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10982 (synopsis "Common Lisp interface for PostgreSQL")
10983 (description
10984 "@code{cl-postgres} is a low-level library used for interfacing with
10985a PostgreSQL server over a socket.")))
10986
10987(define-public cl-postgres
10988 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10989
10990(define-public sbcl-simple-date-postgres-glue
10991 (package
10992 (inherit sbcl-simple-date)
10993 (name "sbcl-simple-date-postgres-glue")
10994 (inputs
10995 `(("cl-postgres" ,sbcl-cl-postgres)
10996 ("simple-date" ,sbcl-simple-date)))
10997 (arguments
10998 `(#:asd-file "simple-date.asd"
10999 #:asd-system-name "simple-date/postgres-glue"))))
11000
11001(define-public cl-simple-date-postgres-glue
11002 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
11003
11004(define-public sbcl-s-sql
11005 (package
11006 (inherit sbcl-simple-date)
11007 (name "sbcl-s-sql")
11008 (inputs
11009 `(("alexandria" ,sbcl-alexandria)
11010 ("cl-postgres" ,sbcl-cl-postgres)))
11011 (arguments
11012 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
11013 (synopsis "Lispy DSL for SQL")
11014 (description
11015 "@code{s-sql} is a Common Lisp library that can be used to compile
11016s-expressions to strings of SQL code, escaping any Lisp values inside, and
11017doing as much as possible of the work at compile time.")))
11018
11019(define-public cl-s-sql
11020 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
11021
11022(define-public sbcl-postmodern
11023 (package
11024 (inherit sbcl-simple-date)
11025 (name "sbcl-postmodern")
11026 (native-inputs
11027 `(("fiveam" ,sbcl-fiveam)
11028 ("simple-date" ,sbcl-simple-date)
11029 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
11030 (inputs
11031 `(("alexandria" ,sbcl-alexandria)
11032 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11033 ("cl-postgres" ,sbcl-cl-postgres)
11034 ("closer-mop" ,sbcl-closer-mop)
11035 ("global-vars" ,sbcl-global-vars)
11036 ("s-sql" ,sbcl-s-sql)
11037 ("split-sequence" ,sbcl-split-sequence)))
11038 (arguments
11039 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
11040 ;; cl-postgres/tests and s-sql/tests.
11041 `(#:tests? #f))
11042 (synopsis "Common Lisp library for interacting with PostgreSQL")
11043 (description
11044 "@code{postmodern} is a Common Lisp library for interacting with
11045PostgreSQL databases. It provides the following features:
11046
11047@itemize
11048@item Efficient communication with the database server without need for
11049foreign libraries.
11050@item Support for UTF-8 on Unicode-aware Lisp implementations.
11051@item A syntax for mixing SQL and Lisp code.
11052@item Convenient support for prepared statements and stored procedures.
11053@item A metaclass for simple database-access objects.
11054@end itemize\n")))
11055
11056(define-public cl-postmodern
11057 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
11058
11059(define-public sbcl-dbi
11060 (package
11061 (name "sbcl-dbi")
11062 (version "0.9.4")
11063 (source
11064 (origin
11065 (method git-fetch)
11066 (uri (git-reference
11067 (url "https://github.com/fukamachi/cl-dbi.git")
11068 (commit version)))
11069 (file-name (git-file-name name version))
11070 (sha256
11071 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
11072 (build-system asdf-build-system/sbcl)
11073 (inputs
11074 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11075 ("closer-mop" ,sbcl-closer-mop)
11076 ("split-sequence" ,sbcl-split-sequence)))
11077 (arguments
11078 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11079 (synopsis "Database independent interface for Common Lisp")
11080 (description
11081 "@code{dbi} is a Common Lisp library providing a database independent
11082interface for MySQL, PostgreSQL and SQLite.")
11083 (home-page "https://github.com/fukamachi/cl-dbi")
11084 (license license:llgpl)))
11085
11086(define-public cl-dbi
11087 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
11088
11089(define-public sbcl-dbd-mysql
11090 (package
11091 (inherit sbcl-dbi)
11092 (name "sbcl-dbd-mysql")
11093 (inputs
11094 `(("cl-mysql" ,sbcl-cl-mysql)
11095 ("dbi" ,sbcl-dbi)))
11096 (synopsis "Database driver for MySQL")))
11097
11098(define-public cl-dbd-mysql
11099 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
11100
11101(define-public sbcl-dbd-postgres
11102 (package
11103 (inherit sbcl-dbi)
11104 (name "sbcl-dbd-postgres")
11105 (inputs
11106 `(("cl-postgres" ,sbcl-cl-postgres)
11107 ("dbi" ,sbcl-dbi)
11108 ("trivial-garbage" ,sbcl-trivial-garbage)))
11109 (synopsis "Database driver for PostgreSQL")))
11110
11111(define-public cl-dbd-postgres
11112 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11113
11114(define-public sbcl-dbd-sqlite3
11115 (package
11116 (inherit sbcl-dbi)
11117 (name "sbcl-dbd-sqlite3")
11118 (inputs
11119 `(("cl-sqlite" ,sbcl-cl-sqlite)
11120 ("dbi" ,sbcl-dbi)
11121 ("trivial-garbage" ,sbcl-trivial-garbage)))
11122 (synopsis "Database driver for SQLite3")))
11123
11124(define-public cl-dbd-sqlite3
11125 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11126
11127(define-public sbcl-uffi
11128 (package
11129 (name "sbcl-uffi")
11130 (version "2.1.2")
11131 (source
11132 (origin
11133 (method git-fetch)
11134 (uri (git-reference
11135 (url "http://git.kpe.io/uffi.git")
11136 (commit (string-append "v" version))))
11137 (file-name (git-file-name name version))
11138 (sha256
11139 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11140 (build-system asdf-build-system/sbcl)
11141 (arguments
11142 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11143 #:phases
11144 (modify-phases %standard-phases
11145 (add-after 'unpack 'fix-permissions
11146 (lambda _
11147 (make-file-writable "doc/html.tar.gz")
11148 #t)))))
11149 (synopsis "Universal foreign function library for Common Lisp")
11150 (description
11151 "UFFI provides a universal foreign function interface (FFI)
11152 for Common Lisp.")
11153 (home-page "http://quickdocs.org/uffi/")
11154 (license license:llgpl)))
11155
11156(define-public cl-uffi
11157 (package
11158 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11159 (arguments
11160 `(#:phases
11161 ;; asdf-build-system/source has its own phases and does not inherit
11162 ;; from asdf-build-system/sbcl phases.
11163 (modify-phases %standard-phases/source
11164 (add-after 'unpack 'fix-permissions
11165 (lambda _
11166 (make-file-writable "doc/html.tar.gz")
11167 #t)))))))
5ae56f68
GLV
11168
11169(define-public sbcl-clsql
11170 (package
11171 (name "sbcl-clsql")
11172 (version "6.7.0")
11173 (source
11174 (origin
11175 (method git-fetch)
11176 (uri (git-reference
11177 (url "http://git.kpe.io/clsql.git")
11178 (commit (string-append "v" version))))
11179 (file-name (git-file-name name version))
11180 (sha256
11181 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11182 (snippet
11183 '(begin
11184 ;; Remove precompiled libraries.
11185 (delete-file "db-mysql/clsql_mysql.dll")
11186 (delete-file "uffi/clsql_uffi.dll")
11187 (delete-file "uffi/clsql_uffi.lib")
11188 #t))))
11189 (build-system asdf-build-system/sbcl)
11190 (native-inputs
11191 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11192 ("rt" ,sbcl-rt)
11193 ("uffi" ,sbcl-uffi)))
11194 (arguments
11195 `(#:phases
11196 (modify-phases %standard-phases
11197 (add-after 'unpack 'fix-permissions
11198 (lambda _
11199 (make-file-writable "doc/html.tar.gz")
11200 #t))
11201 (add-after 'unpack 'fix-tests
11202 (lambda _
11203 (substitute* "clsql.asd"
11204 (("clsql-tests :force t")
11205 "clsql-tests"))
11206 #t)))))
11207 (synopsis "Common Lisp SQL Interface library")
11208 (description
11209 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11210Xanalys CommonSQL interface for Lispworks. It provides low-level database
11211interfaces as well as a functional and an object oriented interface.")
11212 (home-page "http://clsql.kpe.io/")
11213 (license license:llgpl)))
11214
11215(define-public cl-clsql
11216 (package
11217 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11218 (native-inputs
11219 `(("rt" ,cl-rt)))
11220 (inputs
11221 `(("mysql" ,mysql)
11222 ("postgresql" ,postgresql)
11223 ("sqlite" ,sqlite)
11224 ("zlib" ,zlib)))
11225 (propagated-inputs
11226 `(("cl-postgres" ,cl-postgres)
11227 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11228 ("md5" ,cl-md5)
11229 ("uffi" ,cl-uffi)))
11230 (arguments
11231 `(#:phases
11232 ;; asdf-build-system/source has its own phases and does not inherit
11233 ;; from asdf-build-system/sbcl phases.
11234 (modify-phases %standard-phases/source
11235 (add-after 'unpack 'fix-permissions
11236 (lambda _
11237 (make-file-writable "doc/html.tar.gz")
11238 #t)))))))
a5f44287
GLV
11239
11240(define-public sbcl-clsql-uffi
11241 (package
11242 (inherit sbcl-clsql)
11243 (name "sbcl-clsql-uffi")
11244 (inputs
11245 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11246 ("clsql" ,sbcl-clsql)
11247 ("uffi" ,sbcl-uffi)))
11248 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11249
11250(define-public sbcl-clsql-sqlite3
11251 (package
11252 (inherit sbcl-clsql)
11253 (name "sbcl-clsql-sqlite3")
11254 (inputs
11255 `(("clsql" ,sbcl-clsql)
11256 ("clsql-uffi" ,sbcl-clsql-uffi)
11257 ("sqlite" ,sqlite)))
11258 (arguments
11259 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11260 ((#:phases phases '%standard-phases)
11261 `(modify-phases ,phases
11262 (add-after 'unpack 'fix-paths
11263 (lambda* (#:key inputs #:allow-other-keys)
11264 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11265 (("libsqlite3")
11266 (string-append (assoc-ref inputs "sqlite")
11267 "/lib/libsqlite3")))
11268 #t))))))
11269 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11270
11271(define-public sbcl-clsql-postgresql
11272 (package
11273 (inherit sbcl-clsql)
11274 (name "sbcl-clsql-postgresql")
11275 (inputs
11276 `(("clsql" ,sbcl-clsql)
11277 ("clsql-uffi" ,sbcl-clsql-uffi)
11278 ("postgresql" ,postgresql)))
11279 (arguments
11280 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11281 ((#:phases phases '%standard-phases)
11282 `(modify-phases ,phases
11283 (add-after 'unpack 'fix-paths
11284 (lambda* (#:key inputs #:allow-other-keys)
11285 (substitute* "db-postgresql/postgresql-loader.lisp"
11286 (("libpq")
11287 (string-append (assoc-ref inputs "postgresql")
11288 "/lib/libpq")))
11289 #t))))))
11290 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11291
11292(define-public sbcl-clsql-postgresql-socket3
11293 (package
11294 (inherit sbcl-clsql)
11295 (name "sbcl-clsql-postgresql-socket3")
11296 (inputs
11297 `(("cl-postgres" ,sbcl-cl-postgres)
11298 ("clsql" ,sbcl-clsql)
11299 ("md5" ,sbcl-md5)))
11300 (arguments
11301 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11302 ((#:phases phases '%standard-phases)
11303 `(modify-phases ,phases
11304 (add-after 'create-asd-file 'fix-asd-file
11305 (lambda* (#:key outputs #:allow-other-keys)
11306 (let* ((out (assoc-ref outputs "out"))
11307 (lib (string-append out "/lib/" (%lisp-type)))
11308 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11309 (substitute* asd
11310 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11311 "")))
11312 #t))))))
11313 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11314
11315(define-public sbcl-clsql-mysql
11316 (package
11317 (inherit sbcl-clsql)
11318 (name "sbcl-clsql-mysql")
11319 (inputs
11320 `(("mysql" ,mysql)
11321 ("sbcl-clsql" ,sbcl-clsql)
11322 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11323 ("zlib" ,zlib)))
11324 (arguments
11325 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11326 ((#:phases phases '%standard-phases)
11327 `(modify-phases ,phases
11328 (add-after 'unpack 'fix-paths
11329 (lambda* (#:key inputs outputs #:allow-other-keys)
11330 (let ((lib (string-append "#p\""
11331 (assoc-ref outputs "out")
11332 "/lib/\"")))
11333 (substitute* "clsql-mysql.asd"
11334 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11335 lib))
11336 (substitute* "db-mysql/mysql-loader.lisp"
11337 (("libmysqlclient" all)
11338 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11339 (("clsql-mysql-system::\\*library-file-dir\\*")
11340 lib)))
11341 #t))
11342 (add-before 'build 'build-helper-library
11343 (lambda* (#:key inputs outputs #:allow-other-keys)
11344 (let* ((mysql (assoc-ref inputs "mysql"))
11345 (inc-dir (string-append mysql "/include/mysql"))
11346 (lib-dir (string-append mysql "/lib"))
11347 (shared-lib-dir (string-append (assoc-ref outputs "out")
11348 "/lib"))
11349 (shared-lib (string-append shared-lib-dir
11350 "/clsql_mysql.so")))
11351 (mkdir-p shared-lib-dir)
11352 (invoke "gcc" "-fPIC" "-shared"
11353 "-I" inc-dir
11354 "db-mysql/clsql_mysql.c"
11355 "-Wl,-soname=clsql_mysql"
11356 "-L" lib-dir "-lmysqlclient" "-lz"
11357 "-o" shared-lib)
11358 #t)))))))
11359 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11360
11361(define-public sbcl-sycamore
11362 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11363 (package
11364 (name "sbcl-sycamore")
11365 (version "0.0.20120604")
11366 (source
11367 (origin
11368 (method git-fetch)
11369 (uri (git-reference
11370 (url "https://github.com/ndantam/sycamore/")
11371 (commit commit)))
11372 (file-name (git-file-name name version))
11373 (sha256
11374 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11375 (build-system asdf-build-system/sbcl)
11376 (arguments
11377 `(#:asd-file "src/sycamore.asd"))
11378 (inputs
11379 `(("alexandria" ,sbcl-alexandria)
11380 ("cl-ppcre" ,sbcl-cl-ppcre)))
11381 (synopsis "Purely functional data structure library in Common Lisp")
11382 (description
11383 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11384If features:
11385
11386@itemize
11387@item Fast, purely functional weight-balanced binary trees.
11388@item Leaf nodes are simple-vectors, greatly reducing tree height.
11389@item Interfaces for tree Sets and Maps (dictionaries).
11390@item Ropes.
11391@item Purely functional pairing heaps.
11392@item Purely functional amortized queue.
11393@end itemize\n")
11394 (home-page "http://ndantam.github.io/sycamore/")
11395 (license license:bsd-3))))
11396
11397(define-public cl-sycamore
11398 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11399
11400(define-public sbcl-trivial-package-local-nicknames
11401 (package
11402 (name "sbcl-trivial-package-local-nicknames")
11403 (version "0.2")
11404 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11405 (source
11406 (origin
11407 (method git-fetch)
11408 (uri (git-reference
11409 (url home-page)
11410 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11411 (file-name (git-file-name name version))
11412 (sha256
11413 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11414 (build-system asdf-build-system/sbcl)
11415 (synopsis "Common Lisp compatibility library for package local nicknames")
11416 (description
11417 "This library is a portable compatibility layer around package local nicknames (PLN).
11418This was done so there is a portability library for the PLN API not included
11419in DEFPACKAGE.")
11420 (license license:unlicense)))
11421
11422(define-public cl-trivial-package-local-nicknames
11423 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11424
11425(define-public sbcl-enchant
11426 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11427 (package
11428 (name "sbcl-enchant")
11429 (version (git-version "0.0.0" "1" commit))
11430 (home-page "https://github.com/tlikonen/cl-enchant")
11431 (source
11432 (origin
11433 (method git-fetch)
11434 (uri (git-reference
11435 (url home-page)
11436 (commit commit)))
11437 (file-name (git-file-name name version))
11438 (sha256
11439 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11440 (build-system asdf-build-system/sbcl)
11441 (inputs
11442 `(("enchant" ,enchant)
11443 ("cffi" ,sbcl-cffi)))
11444 (arguments
11445 `(#:phases
11446 (modify-phases %standard-phases
11447 (add-after 'unpack 'fix-paths
11448 (lambda* (#:key inputs #:allow-other-keys)
11449 (substitute* "load-enchant.lisp"
11450 (("libenchant")
11451 (string-append
11452 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11453 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11454 (description
11455 "Enchant is a Common Lisp interface for the Enchant spell-checker
11456library. The Enchant library is a generic spell-checker library which uses
11457other spell-checkers transparently as back-end. The library supports the
11458multiple checkers, including Aspell and Hunspell.")
11459 (license license:public-domain))))
11460
11461(define-public cl-enchant
11462 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11463
11464(define-public sbcl-cl-change-case
11465 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11466 (package
11467 (name "sbcl-cl-change-case")
11468 (version (git-version "0.1.0" "1" commit))
11469 (home-page "https://github.com/rudolfochrist/cl-change-case")
11470 (source
11471 (origin
11472 (method git-fetch)
11473 (uri (git-reference
11474 (url home-page)
11475 (commit commit)))
11476 (file-name (git-file-name name version))
11477 (sha256
11478 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11479 (build-system asdf-build-system/sbcl)
11480 (inputs
11481 `(("cl-ppcre" ,sbcl-cl-ppcre)
11482 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11483 (native-inputs
11484 `(("fiveam" ,sbcl-fiveam)))
11485 (arguments
11486 '(;; FIXME: Test pass but phase fails with 'Component
11487 ;; "cl-change-case-test" not found, required by'.
11488 #:tests? #f
11489 #:test-asd-file "cl-change-case-test.asd"))
11490 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11491 (description
11492 "@code{cl-change-case} is library to convert strings between camelCase,
11493PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11494 (license license:llgpl))))
11495
11496(define-public cl-change-case
11497 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11498
11499(define-public sbcl-moptilities
11500 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11501 (package
11502 (name "sbcl-moptilities")
11503 (version (git-version "0.3.13" "1" commit))
11504 (home-page "https://github.com/gwkkwg/moptilities/")
11505 (source
11506 (origin
11507 (method git-fetch)
11508 (uri (git-reference
11509 (url home-page)
11510 (commit commit)))
11511 (file-name (git-file-name name version))
11512 (sha256
11513 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11514 (build-system asdf-build-system/sbcl)
11515 (inputs
11516 `(("closer-mop" ,sbcl-closer-mop)))
11517 (native-inputs
11518 `(("lift" ,sbcl-lift)))
11519 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11520 (description
11521 "MOP utilities provide a common interface between Lisps and make the
11522MOP easier to use.")
11523 (license license:expat))))
11524
11525(define-public cl-moptilities
11526 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
11527
11528(define-public sbcl-osicat
11529 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11530 (package
11531 (name "sbcl-osicat")
11532 (version (git-version "0.7.0" "1" commit))
11533 (home-page "http://www.common-lisp.net/project/osicat/")
11534 (source
11535 (origin
11536 (method git-fetch)
11537 (uri (git-reference
11538 (url "https://github.com/osicat/osicat")
11539 (commit commit)))
11540 (file-name (git-file-name name version))
11541 (sha256
11542 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11543 (build-system asdf-build-system/sbcl)
11544 (arguments
11545 `(#:phases
11546 (modify-phases %standard-phases
192177b0
PN
11547 ;; The cleanup phase moves files around but we need to keep the
11548 ;; directory structure for the grovel-generated library.
11549 (replace 'cleanup
8cf6d150
PN
11550 (lambda* (#:key outputs #:allow-other-keys)
11551 (let* ((out (assoc-ref outputs "out"))
192177b0
PN
11552 (lib (string-append out "/lib/sbcl/")))
11553 (delete-file-recursively (string-append lib "src"))
11554 (delete-file-recursively (string-append lib "tests"))
11555 (for-each delete-file
11556 (filter (lambda (file)
11557 (not (member (basename file) '("libosicat.so"))))
11558 (find-files (string-append lib "posix") ".*"))))
11559 #t)))))
8cf6d150
PN
11560 (inputs
11561 `(("alexandria" ,sbcl-alexandria)
11562 ("cffi" ,sbcl-cffi)
11563 ("trivial-features" ,sbcl-trivial-features)))
11564 (native-inputs
11565 `(("cffi-grovel" ,sbcl-cffi-grovel)
11566 ("rt" ,sbcl-rt)))
11567 (synopsis "Operating system interface for Common Lisp")
11568 (description
11569 "Osicat is a lightweight operating system interface for Common Lisp on
11570Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11571accompaniment to the standard ANSI facilities.")
11572 (license license:expat))))
11573
11574(define-public cl-osicat
11575 (sbcl-package->cl-source-package sbcl-osicat))