gnu: fontconfig: Add replacement with font-dejavu instead of gs-fonts.
[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>
3c986a7d 6;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
88f06fd0 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"
25a2f2ef 2545 (("libffi.so.7" all) (string-append
88f06fd0
PN
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
d35a0f14 3551 "One of the many things that didn't quite get into the Common Lisp
88f06fd0
PN
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"
8c83069b 5213 (python-version python)))
839fa4cd
MB
5214 (setenv "BB_PYTHON3_DYLIB"
5215 (string-append python "/lib/libpython3.so"))
8c83069b
MB
5216 #t)))
5217 (add-after 'unpack 'adjust-for-python-3.8
5218 (lambda _
5219 ;; This method is no longer part of the public API.
5220 (substitute* "ffi-interface.lisp"
5221 ((".*PyEval_ReInitThreads.*")
5222 ""))
5223 #t)))))
88f06fd0 5224 (native-inputs
3d280dae 5225 `(("sbcl-cl-fad" ,sbcl-cl-fad)
88f06fd0
PN
5226 ("sbcl-lift" ,sbcl-lift)
5227 ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
5228 (inputs
3d280dae
MB
5229 `(("python" ,python)
5230 ("sbcl-cffi" ,sbcl-cffi)
88f06fd0
PN
5231 ("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
5232 ("sbcl-alexandria" , sbcl-alexandria)
5233 ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
5234 ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
5235 (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
5236 (description
5237 "This package provides a shim between Python3 (specifically, the
5238CPython implementation of Python) and Common Lisp.")
5239 (home-page "https://github.com/snmsts/burgled-batteries3")
88f06fd0
PN
5240 (license license:expat))))
5241
5242(define-public cl-burgled-batteries3
5243 (sbcl-package->cl-source-package sbcl-burgled-batteries3))
5244
5245(define-public ecl-burgled-batteries3
5246 (sbcl-package->ecl-package sbcl-burgled-batteries3))
5247
5248(define-public sbcl-metabang-bind
5249 (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
5250 (revision "1"))
5251 (package
5252 (name "sbcl-metabang-bind")
5253 (version (git-version "0.8.0" revision commit))
5254 (source
5255 (origin
5256 (method git-fetch)
5257 (uri (git-reference
5258 (url "https://github.com/gwkkwg/metabang-bind.git")
5259 (commit commit)))
5260 (file-name (git-file-name name version))
5261 (sha256
5262 (base32
5263 "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
5264 (build-system asdf-build-system/sbcl)
5265 (native-inputs
5266 `(("sbcl-lift" ,sbcl-lift)))
5267 (synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
5268 (description
5269 "Bind extends the idea of of let and destructing to provide a uniform
5270syntax for all your accessor needs. It combines @code{let},
5271@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
5272editing, property or association-lists, and @code{multiple-value-bind} and a
5273whole lot more into a single form.")
5274 (home-page "https://common-lisp.net/project/metabang-bind/")
5275 ;; MIT License
5276 (license license:expat))))
5277
5278(define-public cl-metabang-bind
5279 (sbcl-package->cl-source-package sbcl-metabang-bind))
5280
5281(define-public ecl-metabang-bind
5282 (sbcl-package->ecl-package sbcl-metabang-bind))
5283
5284(define-public sbcl-fare-utils
5285 (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
5286 (revision "1"))
5287 (package
5288 (name "sbcl-fare-utils")
5289 (version (git-version "1.0.0.5" revision commit))
5290 (source
5291 (origin
5292 (method git-fetch)
5293 (uri
5294 (git-reference
5295 (url
5296 "https://gitlab.common-lisp.net/frideau/fare-utils.git")
5297 (commit commit)))
5298 (file-name (git-file-name name version))
5299 (sha256
5300 (base32
5301 "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
5302 (build-system asdf-build-system/sbcl)
5303 (arguments
5304 `(#:test-asd-file "test/fare-utils-test.asd"))
5305 (native-inputs
5306 `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
5307 (synopsis "Collection of utilities and data structures")
5308 (description
5309 "fare-utils is a small collection of utilities. It contains a lot of
5310basic everyday functions and macros.")
5311 (home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
5312 ;; MIT License
5313 (license license:expat))))
5314
5315(define-public cl-fare-utils
5316 (sbcl-package->cl-source-package sbcl-fare-utils))
5317
5318(define-public ecl-fare-utils
5319 (sbcl-package->ecl-package sbcl-fare-utils))
5320
5321(define-public sbcl-trivial-utf-8
5322 (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
5323 (revision "1"))
5324 (package
5325 (name "sbcl-trivial-utf-8")
5326 (version (git-version "0.0.0" revision commit))
5327 (source
5328 (origin
5329 (method git-fetch)
5330 (uri
5331 (git-reference
5332 (url (string-append "https://gitlab.common-lisp.net/"
5333 "trivial-utf-8/trivial-utf-8.git"))
5334 (commit commit)))
5335 (file-name (git-file-name name version))
5336 (sha256
5337 (base32
5338 "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1"))))
5339 (arguments
5340 ;; Guix incorrectly assumes the "8" is part of the version
5341 ;; number and lobs it off.
5342 `(#:asd-file "trivial-utf-8.asd"
5343 #:asd-system-name "trivial-utf-8"))
5344 (build-system asdf-build-system/sbcl)
5345 (synopsis "UTF-8 input/output library")
5346 (description
5347 "The Babel library solves a similar problem while understanding more
5348encodings. Trivial UTF-8 was written before Babel existed, but for new
5349projects you might be better off going with Babel. The one plus that Trivial
5350UTF-8 has is that it doesn't depend on any other libraries.")
5351 (home-page "https://common-lisp.net/project/trivial-utf-8/")
5352 (license license:bsd-3))))
5353
5354(define-public cl-trivial-utf-8
5355 (sbcl-package->cl-source-package sbcl-trivial-utf-8))
5356
5357(define-public ecl-trivial-utf-8
5358 (sbcl-package->ecl-package sbcl-trivial-utf-8))
5359
5360(define-public sbcl-idna
5361 (package
5362 (name "sbcl-idna")
5363 (build-system asdf-build-system/sbcl)
5364 (version "0.2.2")
5365 (home-page "https://github.com/antifuchs/idna")
5366 (source
5367 (origin
5368 (method git-fetch)
5369 (uri (git-reference
5370 (url home-page)
5371 (commit version)))
5372 (file-name (git-file-name name version))
5373 (sha256
5374 (base32
5375 "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
5376 (inputs
5377 `(("split-sequence" ,sbcl-split-sequence)))
5378 (synopsis "IDNA string encoding and decoding routines for Common Lisp")
5379 (description "This Common Lisp library provides string encoding and
5380decoding routines for IDNA, the International Domain Names in Applications.")
5381 (license license:expat)))
5382
5383(define-public cl-idna
5384 (sbcl-package->cl-source-package sbcl-idna))
5385
5386(define-public ecl-idna
5387 (sbcl-package->ecl-package sbcl-idna))
5388
5389(define-public sbcl-swap-bytes
5390 (package
5391 (name "sbcl-swap-bytes")
5392 (build-system asdf-build-system/sbcl)
dbf6de58 5393 (version "1.2")
88f06fd0
PN
5394 (home-page "https://github.com/sionescu/swap-bytes")
5395 (source
5396 (origin
5397 (method git-fetch)
5398 (uri (git-reference
5399 (url home-page)
5400 (commit (string-append "v" version))))
5401 (file-name (git-file-name name version))
5402 (sha256
5403 (base32
dbf6de58 5404 "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz"))))
88f06fd0
PN
5405 (inputs
5406 `(("trivial-features" ,sbcl-trivial-features)))
5407 (native-inputs
5408 `(("fiveam" ,sbcl-fiveam)))
88f06fd0
PN
5409 (synopsis "Efficient endianness conversion for Common Lisp")
5410 (description "This Common Lisp library provides optimized byte-swapping
5411primitives. The library can change endianness of unsigned integers of length
54121/2/4/8. Very useful in implementing various network protocols and file
5413formats.")
5414 (license license:expat)))
5415
5416(define-public cl-swap-bytes
5417 (sbcl-package->cl-source-package sbcl-swap-bytes))
5418
5419(define-public ecl-swap-bytes
5420 (sbcl-package->ecl-package sbcl-swap-bytes))
5421
5422(define-public sbcl-iolib.asdf
5423 ;; Latest release is from June 2017.
53c4a0da
PN
5424 (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021")
5425 (revision "2"))
88f06fd0
PN
5426 (package
5427 (name "sbcl-iolib.asdf")
5428 (build-system asdf-build-system/sbcl)
53c4a0da 5429 (version (git-version "0.8.3" revision commit))
88f06fd0
PN
5430 (home-page "https://github.com/sionescu/iolib")
5431 (source
5432 (origin
5433 (method git-fetch)
5434 (uri (git-reference
5435 (url home-page)
5436 (commit commit)))
5437 (file-name (git-file-name name version))
5438 (sha256
5439 (base32
53c4a0da 5440 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12"))))
88f06fd0
PN
5441 (inputs
5442 `(("alexandria" ,sbcl-alexandria)))
5443 (arguments
5444 '(#:asd-file "iolib.asdf.asd"))
5445 (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
5446 (description "IOlib is to be a better and more modern I/O library than
5447the standard Common Lisp library. It contains a socket library, a DNS
5448resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
5449and @code{kqueue(2)}), a pathname library and file-system utilities.")
5450 (license license:expat))))
5451
5452(define-public sbcl-iolib.conf
5453 (package
5454 (inherit sbcl-iolib.asdf)
5455 (name "sbcl-iolib.conf")
5456 (inputs
5457 `(("iolib.asdf" ,sbcl-iolib.asdf)))
5458 (arguments
5459 '(#:asd-file "iolib.conf.asd"))
5460 (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
5461
5462(define-public sbcl-iolib.common-lisp
5463 (package
5464 (inherit sbcl-iolib.asdf)
5465 (name "sbcl-iolib.common-lisp")
5466 (inputs
5467 `(("iolib.asdf" ,sbcl-iolib.asdf)
5468 ("iolib.conf" ,sbcl-iolib.conf)))
5469 (arguments
5470 '(#:asd-file "iolib.common-lisp.asd"))
5471 (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
5472
5473(define-public sbcl-iolib.base
5474 (package
5475 (inherit sbcl-iolib.asdf)
5476 (name "sbcl-iolib.base")
5477 (inputs
5478 `(("iolib.asdf" ,sbcl-iolib.asdf)
5479 ("iolib.conf" ,sbcl-iolib.conf)
5480 ("iolib.common-lisp" ,sbcl-iolib.common-lisp)
5481 ("split-sequence" ,sbcl-split-sequence)))
5482 (arguments
5483 '(#:asd-file "iolib.base.asd"))
5484 (synopsis "Base package for IOLib, a Common Lisp I/O library")))
5485
5486(define-public sbcl-iolib.grovel
3078c05e 5487 (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel))
88f06fd0 5488
af5c4eff 5489(define sbcl-iolib+syscalls
88f06fd0
PN
5490 (package
5491 (inherit sbcl-iolib.asdf)
af5c4eff 5492 (name "sbcl-iolib+syscalls")
88f06fd0
PN
5493 (inputs
5494 `(("iolib.asdf" ,sbcl-iolib.asdf)
5495 ("iolib.conf" ,sbcl-iolib.conf)
53c4a0da 5496 ("cffi-grovel" ,sbcl-cffi-grovel)
88f06fd0
PN
5497 ("iolib.base" ,sbcl-iolib.base)
5498 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5499 ("idna" ,sbcl-idna)
5500 ("swap-bytes" ,sbcl-swap-bytes)
5501 ("libfixposix" ,libfixposix)
5502 ("cffi" ,sbcl-cffi)))
5503 (native-inputs
5504 `(("fiveam" ,sbcl-fiveam)))
5505 (arguments
5506 '(#:asd-file "iolib.asd"
af5c4eff 5507 #:asd-system-name "iolib/syscalls"
88f06fd0
PN
5508 #:phases
5509 (modify-phases %standard-phases
5510 (add-after 'unpack 'fix-paths
5511 (lambda* (#:key inputs #:allow-other-keys)
5512 (substitute* "src/syscalls/ffi-functions-unix.lisp"
5513 (("\\(:default \"libfixposix\"\\)")
5514 (string-append
5515 "(:default \""
5516 (assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
5517 ;; Socket tests need Internet access, disable them.
53c4a0da 5518 (substitute* "iolib.asd"
88f06fd0
PN
5519 (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
5520 "")))))))
5521 (synopsis "Common Lisp I/O library")))
5522
88f06fd0
PN
5523(define sbcl-iolib+multiplex
5524 (package
af5c4eff 5525 (inherit sbcl-iolib+syscalls)
88f06fd0 5526 (name "sbcl-iolib+multiplex")
af5c4eff
PN
5527 (inputs
5528 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5529 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5530 (arguments
af5c4eff 5531 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5532 ((#:asd-system-name _) "iolib/multiplex")))))
5533
88f06fd0
PN
5534(define sbcl-iolib+streams
5535 (package
af5c4eff 5536 (inherit sbcl-iolib+syscalls)
88f06fd0 5537 (name "sbcl-iolib+streams")
af5c4eff
PN
5538 (inputs
5539 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5540 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5541 (arguments
af5c4eff 5542 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5543 ((#:asd-system-name _) "iolib/streams")))))
5544
5545(define sbcl-iolib+sockets
5546 (package
af5c4eff 5547 (inherit sbcl-iolib+syscalls)
88f06fd0 5548 (name "sbcl-iolib+sockets")
af5c4eff
PN
5549 (inputs
5550 `(("iolib+syscalls" ,sbcl-iolib+syscalls)
5551 ("iolib+streams" ,sbcl-iolib+streams)
5552 ,@(package-inputs sbcl-iolib+syscalls)))
88f06fd0 5553 (arguments
af5c4eff 5554 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
88f06fd0
PN
5555 ((#:asd-system-name _) "iolib/sockets")))))
5556
af5c4eff
PN
5557(define-public sbcl-iolib
5558 (package
5559 (inherit sbcl-iolib+syscalls)
5560 (name "sbcl-iolib")
5561 (inputs
5562 `(("iolib+multiplex" ,sbcl-iolib+multiplex)
5563 ("iolib+streams" ,sbcl-iolib+streams)
5564 ("iolib+sockets" ,sbcl-iolib+sockets)
5565 ,@(package-inputs sbcl-iolib+syscalls)))
5566 (arguments
5567 (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls)
5568 ((#:asd-system-name _) "iolib")))))
5569
5570(define-public cl-iolib
5571 (sbcl-package->cl-source-package sbcl-iolib))
5572
88f06fd0
PN
5573(define-public sbcl-ieee-floats
5574 (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
5575 (revision "1"))
5576 (package
5577 (name "sbcl-ieee-floats")
5578 (build-system asdf-build-system/sbcl)
5579 (version (git-version "20170924" revision commit))
5580 (home-page "https://github.com/marijnh/ieee-floats/")
5581 (source
5582 (origin
5583 (method git-fetch)
5584 (uri (git-reference
5585 (url home-page)
5586 (commit commit)))
5587 (file-name (git-file-name name version))
5588 (sha256
5589 (base32
5590 "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
5591 (native-inputs
5592 `(("fiveam" ,sbcl-fiveam)))
5593 (synopsis "IEEE 754 binary representation for floats in Common Lisp")
c05181a3 5594 (description "This is a Common Lisp library that converts
88f06fd0
PN
5595floating point values to IEEE 754 binary representation.")
5596 (license license:bsd-3))))
5597
5598(define-public cl-ieee-floats
5599 (sbcl-package->cl-source-package sbcl-ieee-floats))
5600
5601(define sbcl-closure-common
5602 (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
5603 (revision "1"))
5604 (package
5605 (name "sbcl-closure-common")
5606 (build-system asdf-build-system/sbcl)
5607 (version (git-version "20101006" revision commit))
5608 (home-page "https://common-lisp.net/project/cxml/")
5609 (source
5610 (origin
5611 (method git-fetch)
5612 (uri (git-reference
5613 (url "https://github.com/sharplispers/closure-common")
5614 (commit commit)))
5615 (file-name (git-file-name name version))
5616 (sha256
5617 (base32
5618 "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
5619 (inputs
5620 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5621 ("babel" ,sbcl-babel)))
5622 (synopsis "Support Common Lisp library for CXML")
5623 (description "Closure-common is an internal helper library. The name
5624Closure is a reference to the web browser it was originally written for.")
5625 ;; TODO: License?
5626 (license #f))))
5627
5628(define-public sbcl-cxml+xml
5629 (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf")
5630 (revision "1"))
5631 (package
5632 (name "sbcl-cxml+xml")
5633 (build-system asdf-build-system/sbcl)
5634 (version (git-version "0.0.0" revision commit))
5635 (home-page "https://common-lisp.net/project/cxml/")
5636 (source
5637 (origin
5638 (method git-fetch)
5639 (uri (git-reference
5640 (url "https://github.com/sharplispers/cxml")
5641 (commit commit)))
5642 (file-name (git-file-name name version))
5643 (sha256
5644 (base32
5645 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37"))))
5646 (inputs
5647 `(("closure-common" ,sbcl-closure-common)
5648 ("puri" ,sbcl-puri)
5649 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
5650 (arguments
5651 `(#:asd-file "cxml.asd"
5652 #:asd-system-name "cxml/xml"))
5653 (synopsis "Common Lisp XML parser")
5654 (description "CXML implements a namespace-aware, validating XML 1.0
5655parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are
5656offered, one SAX-like, the other similar to StAX.")
5657 (license license:llgpl))))
5658
5659(define sbcl-cxml+dom
5660 (package
5661 (inherit sbcl-cxml+xml)
5662 (name "sbcl-cxml+dom")
5663 (inputs
5664 `(("closure-common" ,sbcl-closure-common)
5665 ("puri" ,sbcl-puri)
5666 ("cxml+xml" ,sbcl-cxml+xml)))
5667 (arguments
5668 `(#:asd-file "cxml.asd"
5669 #:asd-system-name "cxml/dom"))))
5670
5671(define sbcl-cxml+klacks
5672 (package
5673 (inherit sbcl-cxml+xml)
5674 (name "sbcl-cxml+klacks")
5675 (inputs
5676 `(("closure-common" ,sbcl-closure-common)
5677 ("puri" ,sbcl-puri)
5678 ("cxml+xml" ,sbcl-cxml+xml)))
5679 (arguments
5680 `(#:asd-file "cxml.asd"
5681 #:asd-system-name "cxml/klacks"))))
5682
5683(define sbcl-cxml+test
5684 (package
5685 (inherit sbcl-cxml+xml)
5686 (name "sbcl-cxml+test")
5687 (inputs
5688 `(("closure-common" ,sbcl-closure-common)
5689 ("puri" ,sbcl-puri)
5690 ("cxml+xml" ,sbcl-cxml+xml)))
5691 (arguments
5692 `(#:asd-file "cxml.asd"
5693 #:asd-system-name "cxml/test"))))
5694
5695(define-public sbcl-cxml
5696 (package
5697 (inherit sbcl-cxml+xml)
5698 (name "sbcl-cxml")
5699 (inputs
5700 `(("closure-common" ,sbcl-closure-common)
5701 ("puri" ,sbcl-puri)
5702 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5703 ("cxml+dom" ,sbcl-cxml+dom)
5704 ("cxml+klacks" ,sbcl-cxml+klacks)
5705 ("cxml+test" ,sbcl-cxml+test)))
5706 (arguments
5707 `(#:asd-file "cxml.asd"
5708 #:asd-system-name "cxml"
5709 #:phases
5710 (modify-phases %standard-phases
5711 (add-after 'build 'install-dtd
5712 (lambda* (#:key outputs #:allow-other-keys)
5713 (install-file "catalog.dtd"
5714 (string-append
5715 (assoc-ref outputs "out")
5716 "/lib/" (%lisp-type)))))
5717 (add-after 'create-asd 'remove-component
5718 ;; XXX: The original .asd has no components, but our build system
5719 ;; creates an entry nonetheless. We need to remove it for the
5720 ;; generated .asd to load properly. See trivia.trivial for a
5721 ;; similar problem.
5722 (lambda* (#:key outputs #:allow-other-keys)
5723 (let* ((out (assoc-ref outputs "out"))
5724 (asd (string-append out "/lib/sbcl/cxml.asd")))
5725 (substitute* asd
5726 ((" :components
5727")
5728 ""))
5729 (substitute* asd
5730 ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
5731 ""))))))))))
5732
5733(define-public cl-cxml
5734 (sbcl-package->cl-source-package sbcl-cxml))
5735
5736(define-public sbcl-cl-reexport
5737 (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
5738 (revision "1"))
5739 (package
5740 (name "sbcl-cl-reexport")
5741 (build-system asdf-build-system/sbcl)
5742 (version (git-version "0.1" revision commit))
5743 (home-page "https://github.com/takagi/cl-reexport")
5744 (source
5745 (origin
5746 (method git-fetch)
5747 (uri (git-reference
5748 (url home-page)
5749 (commit commit)))
5750 (file-name (git-file-name name version))
5751 (sha256
5752 (base32
5753 "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
5754 (inputs
5755 `(("alexandria" ,sbcl-alexandria)))
5756 (arguments
5757 ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
5758 `(#:tests? #f))
5759 (synopsis "HTTP cookie manager for Common Lisp")
5760 (description "cl-cookie is a Common Lisp library featuring parsing of
5761cookie headers, cookie creation, cookie jar creation and more.")
5762 (license license:llgpl))))
5763
5764(define-public cl-reexport
5765 (sbcl-package->cl-source-package sbcl-cl-reexport))
5766
5767(define-public sbcl-cl-cookie
5768 (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
5769 (revision "1"))
5770 (package
5771 (name "sbcl-cl-cookie")
5772 (build-system asdf-build-system/sbcl)
5773 (version (git-version "0.9.10" revision commit))
5774 (home-page "https://github.com/fukamachi/cl-cookie")
5775 (source
5776 (origin
5777 (method git-fetch)
5778 (uri (git-reference
5779 (url home-page)
5780 (commit commit)))
5781 (file-name (git-file-name name version))
5782 (sha256
5783 (base32
5784 "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
5785 (inputs
5786 `(("proc-parse" ,sbcl-proc-parse)
5787 ("alexandria" ,sbcl-alexandria)
5788 ("quri" ,sbcl-quri)
5789 ("cl-ppcre" ,sbcl-cl-ppcre)
5790 ("local-time" ,sbcl-local-time)))
5791 (native-inputs
5792 `(("prove-asdf" ,sbcl-prove-asdf)
5793 ("prove" ,sbcl-prove)))
5794 (arguments
5795 ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
5796 `(#:tests? #f))
5797 (synopsis "HTTP cookie manager for Common Lisp")
5798 (description "cl-cookie is a Common Lisp library featuring parsing of
5799cookie headers, cookie creation, cookie jar creation and more.")
5800 (license license:bsd-2))))
5801
5802(define-public cl-cookie
5803 (sbcl-package->cl-source-package sbcl-cl-cookie))
5804
5805(define-public sbcl-dexador
e067ef95 5806 (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc")
88f06fd0
PN
5807 (revision "1"))
5808 (package
5809 (name "sbcl-dexador")
5810 (build-system asdf-build-system/sbcl)
e067ef95 5811 (version "0.9.14" )
88f06fd0
PN
5812 (home-page "https://github.com/fukamachi/dexador")
5813 (source
5814 (origin
5815 (method git-fetch)
5816 (uri (git-reference
5817 (url home-page)
5818 (commit commit)))
5819 (file-name (git-file-name name version))
5820 (sha256
5821 (base32
e067ef95 5822 "0w18fz3301rpmwc3kwb810czcd24mbf7r1z8vdyc0v5crjfpw3mn"))))
88f06fd0
PN
5823 (inputs
5824 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
5825 ("babel" ,sbcl-babel)
5826 ("usocket" ,sbcl-usocket)
5827 ("fast-http" ,sbcl-fast-http)
5828 ("quri" ,sbcl-quri)
5829 ("fast-io" ,sbcl-fast-io)
5830 ("chunga" ,sbcl-chunga)
5831 ("cl-ppcre" ,sbcl-cl-ppcre)
5832 ("cl-cookie" ,sbcl-cl-cookie)
5833 ("trivial-mimes" ,sbcl-trivial-mimes)
5834 ("chipz" ,sbcl-chipz)
5835 ("cl-base64" ,sbcl-cl-base64)
5836 ("cl-reexport" ,sbcl-cl-reexport)
5837 ("cl+ssl" ,sbcl-cl+ssl)
5838 ("bordeaux-threads" ,sbcl-bordeaux-threads)
5839 ("alexandria" ,sbcl-alexandria)))
5840 (native-inputs
5841 `(("prove" ,sbcl-prove)
5842 ("prove-asdf" ,sbcl-prove-asdf)
5843 ("lack-request" ,sbcl-lack-request)
5844 ("clack" ,sbcl-clack)
5845 ("babel" ,sbcl-babel)
5846 ("alexandria" ,sbcl-alexandria)
5847 ("cl-ppcre" ,sbcl-cl-ppcre)
e067ef95
PN
5848 ("local-time" ,sbcl-local-time)
5849 ("trivial-features" ,sbcl-trivial-features)))
88f06fd0
PN
5850 (arguments
5851 ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador.
5852 `(#:tests? #f
5853 #:phases
5854 (modify-phases %standard-phases
5855 (add-after 'unpack 'fix-permissions
5856 (lambda _ (make-file-writable "t/data/test.gz") #t)))))
5857 (synopsis "Yet another HTTP client for Common Lisp")
5858 (description "Dexador is yet another HTTP client for Common Lisp with
5859neat APIs and connection-pooling. It is meant to supersede Drakma.")
5860 (license license:expat))))
5861
5862(define-public cl-dexador
5863 (package
5864 (inherit (sbcl-package->cl-source-package sbcl-dexador))
5865 (arguments
5866 `(#:phases
5867 ;; asdf-build-system/source has its own phases and does not inherit
5868 ;; from asdf-build-system/sbcl phases.
5869 (modify-phases %standard-phases/source
5870 (add-after 'unpack 'fix-permissions
5871 (lambda _ (make-file-writable "t/data/test.gz") #t)))))))
5872
5873(define-public ecl-dexador
5874 (sbcl-package->ecl-package sbcl-dexador))
5875
5876(define-public sbcl-lisp-namespace
5877 (let ((commit "28107cafe34e4c1c67490fde60c7f92dc610b2e0")
5878 (revision "1"))
5879 (package
5880 (name "sbcl-lisp-namespace")
5881 (build-system asdf-build-system/sbcl)
5882 (version (git-version "0.1" revision commit))
5883 (home-page "https://github.com/guicho271828/lisp-namespace")
5884 (source
5885 (origin
5886 (method git-fetch)
5887 (uri (git-reference
5888 (url home-page)
5889 (commit commit)))
5890 (file-name (git-file-name name version))
5891 (sha256
5892 (base32
5893 "1jw2wykp06z2afb9nm1lgfzll5cjlj36pnknjx614057zkkxq4iy"))))
5894 (inputs
5895 `(("alexandria" ,sbcl-alexandria)))
5896 (native-inputs
5897 `(("fiveam" ,sbcl-fiveam)))
5898 (arguments
5899 `(#:test-asd-file "lisp-namespace.test.asd"
5900 ;; XXX: Component LISP-NAMESPACE-ASD::LISP-NAMESPACE.TEST not found
5901 #:tests? #f))
5902 (synopsis "LISP-N, or extensible namespaces in Common Lisp")
5903 (description "Common Lisp already has major 2 namespaces, function
5904namespace and value namespace (or variable namespace), but there are actually
5905more — e.g., class namespace.
5906This library offers macros to deal with symbols from any namespace.")
5907 (license license:llgpl))))
5908
5909(define-public cl-lisp-namespace
5910 (sbcl-package->cl-source-package sbcl-lisp-namespace))
5911
5912(define-public sbcl-trivial-cltl2
36ceab7d
PN
5913 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61")
5914 (revision "2"))
88f06fd0
PN
5915 (package
5916 (name "sbcl-trivial-cltl2")
5917 (build-system asdf-build-system/sbcl)
5918 (version (git-version "0.1.1" revision commit))
5919 (home-page "https://github.com/Zulu-Inuoe/trivial-cltl2")
5920 (source
5921 (origin
5922 (method git-fetch)
5923 (uri (git-reference
5924 (url home-page)
5925 (commit commit)))
5926 (file-name (git-file-name name version))
5927 (sha256
5928 (base32
36ceab7d 5929 "08cnzb9rnczn4pn2zpf0587ny4wjy1mjndy885fz9pw7xrlx37ip"))))
88f06fd0
PN
5930 (synopsis "Simple CLtL2 compatibility layer for Common Lisp")
5931 (description "This library is a portable compatibility layer around
5932\"Common Lisp the Language, 2nd
5933Edition\" (@url{https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node102.html})
5934and it exports symbols from implementation-specific packages.")
5935 (license license:llgpl))))
5936
5937(define-public cl-trivial-cltl2
5938 (sbcl-package->cl-source-package sbcl-trivial-cltl2))
5939
5940(define-public sbcl-introspect-environment
5941 (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b")
5942 (revision "1"))
5943 (package
5944 (name "sbcl-introspect-environment")
5945 (build-system asdf-build-system/sbcl)
5946 (version (git-version "0.1" revision commit))
5947 (home-page "https://github.com/Bike/introspect-environment")
5948 (source
5949 (origin
5950 (method git-fetch)
5951 (uri (git-reference
5952 (url home-page)
5953 (commit commit)))
5954 (file-name (git-file-name name version))
5955 (sha256
5956 (base32
5957 "1i305n0wfmpac63ni4i3vixnnkl8daw5ncxy0k3dv92krgx6qzhp"))))
5958 (native-inputs
5959 `(("fiveam" ,sbcl-fiveam)))
5960 (synopsis "Common Lisp environment introspection portability layer")
5961 (description "This library is a small interface to portable but
5962nonstandard introspection of Common Lisp environments. It is intended to
5963allow a bit more compile-time introspection of environments in Common Lisp.
5964
5965Quite a bit of information is available at the time a macro or compiler-macro
5966runs; inlining info, type declarations, that sort of thing. This information
5967is all standard - any Common Lisp program can @code{(declare (integer x))} and
5968such.
5969
5970This info ought to be accessible through the standard @code{&environment}
5971parameters, but it is not. Several implementations keep the information for
5972their own purposes but do not make it available to user programs, because
5973there is no standard mechanism to do so.
5974
5975This library uses implementation-specific hooks to make information available
5976to users. This is currently supported on SBCL, CCL, and CMUCL. Other
5977implementations have implementations of the functions that do as much as they
5978can and/or provide reasonable defaults.")
5979 (license license:wtfpl2))))
5980
5981(define-public cl-introspect-environment
5982 (sbcl-package->cl-source-package sbcl-introspect-environment))
5983
5984(define-public sbcl-type-i
758f32af
PN
5985 (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667")
5986 (revision "2"))
88f06fd0
PN
5987 (package
5988 (name "sbcl-type-i")
5989 (build-system asdf-build-system/sbcl)
5990 (version (git-version "0.1" revision commit))
5991 (home-page "https://github.com/guicho271828/type-i")
5992 (source
5993 (origin
5994 (method git-fetch)
5995 (uri (git-reference
5996 (url home-page)
5997 (commit commit)))
5998 (file-name (git-file-name name version))
5999 (sha256
6000 (base32
758f32af 6001 "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69"))))
88f06fd0
PN
6002 (inputs
6003 `(("alexandria" ,sbcl-alexandria)
6004 ("introspect-environment" ,sbcl-introspect-environment)
6005 ("trivia.trivial" ,sbcl-trivia.trivial)))
6006 (native-inputs
6007 `(("fiveam" ,sbcl-fiveam)))
6008 (arguments
6009 `(#:test-asd-file "type-i.test.asd"))
6010 (synopsis "Type inference utility on unary predicates for Common Lisp")
6011 (description "This library tries to provide a way to detect what kind of
6012type the given predicate is trying to check. This is different from inferring
6013the return type of a function.")
6014 (license license:llgpl))))
6015
6016(define-public cl-type-i
6017 (sbcl-package->cl-source-package sbcl-type-i))
6018
6019(define-public sbcl-optima
6020 (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195")
6021 (revision "1"))
6022 (package
6023 (name "sbcl-optima")
6024 (build-system asdf-build-system/sbcl)
6025 (version (git-version "1.0" revision commit))
6026 (home-page "https://github.com/m2ym/optima")
6027 (source
6028 (origin
6029 (method git-fetch)
6030 (uri (git-reference
6031 (url home-page)
6032 (commit commit)))
6033 (file-name (git-file-name name version))
6034 (sha256
6035 (base32
6036 "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal"))))
6037 (inputs
6038 `(("alexandria" ,sbcl-alexandria)
6039 ("closer-mop" ,sbcl-closer-mop)))
6040 (native-inputs
6041 `(("eos" ,sbcl-eos)))
6042 (arguments
6043 ;; XXX: Circular dependencies: tests depend on optima.ppcre which depends on optima.
6044 `(#:tests? #f
6045 #:test-asd-file "optima.test.asd"))
6046 (synopsis "Optimized pattern matching library for Common Lisp")
6047 (description "Optima is a fast pattern matching library which uses
6048optimizing techniques widely used in the functional programming world.")
6049 (license license:expat))))
6050
6051(define-public cl-optima
6052 (sbcl-package->cl-source-package sbcl-optima))
6053
6054(define-public sbcl-fare-quasiquote
639b47e6
GLV
6055 (let ((commit "640d39a0451094071b3e093c97667b3947f43639")
6056 (revision "1"))
6057 (package
6058 (name "sbcl-fare-quasiquote")
6059 (build-system asdf-build-system/sbcl)
6060 (version (git-version "1.0.1" revision commit))
6061 (home-page "https://gitlab.common-lisp.net/frideau/fare-quasiquote")
6062 (source
6063 (origin
6064 (method git-fetch)
6065 (uri (git-reference
6066 (url (string-append "https://gitlab.common-lisp.net/frideau/"
6067 "fare-quasiquote.git"))
6068 (commit commit)))
6069 (file-name (git-file-name name version))
6070 (sha256
6071 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg"))))
6072 (inputs
6073 `(("fare-utils" ,sbcl-fare-utils)))
6074 (arguments
6075 ;; XXX: Circular dependencies: Tests depend on subsystems,
6076 ;; which depend on the main systems.
6077 `(#:tests? #f
6078 #:phases
6079 (modify-phases %standard-phases
6080 ;; XXX: Require 1.0.0 version of fare-utils, and we package some
6081 ;; commits after 1.0.0.5, but ASDF fails to read the
6082 ;; "-REVISION-COMMIT" part generated by Guix.
6083 (add-after 'unpack 'patch-requirement
6084 (lambda _
6085 (substitute* "fare-quasiquote.asd"
6086 (("\\(:version \"fare-utils\" \"1.0.0\"\\)")
6087 "\"fare-utils\"")))))))
6088 (synopsis "Pattern-matching friendly implementation of quasiquote")
6089 (description "The main purpose of this n+2nd reimplementation of
88f06fd0
PN
6090quasiquote is enable matching of quasiquoted patterns, using Optima or
6091Trivia.")
639b47e6 6092 (license license:expat))))
88f06fd0
PN
6093
6094(define-public cl-fare-quasiquote
6095 (sbcl-package->cl-source-package sbcl-fare-quasiquote))
6096
6097(define-public sbcl-fare-quasiquote-optima
6098 (package
6099 (inherit sbcl-fare-quasiquote)
6100 (name "sbcl-fare-quasiquote-optima")
6101 (inputs
6102 `(("optima" ,sbcl-optima)
6103 ("fare-quasiquote" ,sbcl-fare-quasiquote)))
6104 (arguments
6105 '(#:phases
6106 (modify-phases %standard-phases
6107 (add-after 'unpack 'patch-requirement
6108 (lambda _
6109 (substitute* "fare-quasiquote-optima.asd"
6110 (("\\(:version \"optima\" \"1\\.0\"\\)")
6111 "\"optima\""))
6112 #t)))))))
6113
6114(define-public cl-fare-quasiquote-optima
6115 (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima))
6116
6117(define-public sbcl-fare-quasiquote-readtable
6118 (package
6119 (inherit sbcl-fare-quasiquote)
6120 (name "sbcl-fare-quasiquote-readtable")
6121 (inputs
6122 `(("fare-quasiquote" ,sbcl-fare-quasiquote)
6123 ("named-readtables" ,sbcl-named-readtables)))
6124 (description "The main purpose of this n+2nd reimplementation of
6125quasiquote is enable matching of quasiquoted patterns, using Optima or
6126Trivia.
6127
6128This package uses fare-quasiquote with named-readtable.")))
6129
6130(define-public cl-fare-quasiquote-readtable
6131 (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
6132
6133;; TODO: Add support for component-less system in asdf-build-system/sbcl.
a5263200
GLV
6134(define-public sbcl-fare-quasiquote-extras
6135 (package
6136 (inherit sbcl-fare-quasiquote)
6137 (name "sbcl-fare-quasiquote-extras")
6138 (build-system asdf-build-system/sbcl)
6139 (inputs
6140 `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima)
6141 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6142 (arguments
6143 `(#:phases
6144 (modify-phases %standard-phases
6145 (replace 'build
6146 (lambda* (#:key outputs #:allow-other-keys)
6147 (let* ((out (assoc-ref outputs "out"))
6148 (lib (string-append out "/lib/" (%lisp-type))))
6149 (mkdir-p lib)
6150 (install-file "fare-quasiquote-extras.asd" lib)
0f46c5f5
GLV
6151 (make-file-writable
6152 (string-append lib "/fare-quasiquote-extras.asd"))
a5263200
GLV
6153 #t)))
6154 (add-after 'create-asd-file 'fix-asd-file
6155 (lambda* (#:key outputs #:allow-other-keys)
6156 (let* ((out (assoc-ref outputs "out"))
6157 (lib (string-append out "/lib/" (%lisp-type)))
6158 (asd (string-append lib "/fare-quasiquote-extras.asd")))
6159 (substitute* asd
6160 ((":class")
6161 "")
6162 (("asdf/bundle:prebuilt-system")
6163 "")
6164 ((":components")
6165 "")
6166 (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
6167 "")))
6168 #t)))))
6169 (description "This library combines @code{fare-quasiquote-readtable} and
6170@code{fare-quasiquote-optima}.")))
6171
88f06fd0
PN
6172(define-public cl-fare-quasiquote-extras
6173 (package
6174 (inherit cl-fare-quasiquote)
6175 (name "cl-fare-quasiquote-extras")
6176 (build-system asdf-build-system/source)
6177 (propagated-inputs
6178 `(("fare-quasiquote" ,cl-fare-quasiquote)
6179 ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima)
6180 ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable)))
6181 (description "This library combines @code{fare-quasiquote-readtable} and
6182@code{fare-quasiquote-optima}.")))
6183
6184(define-public sbcl-trivia.level0
ba69e6e6
PN
6185 (let ((commit "37698b47a14c2007630468de7a993694ef7bd475")
6186 (revision "2"))
88f06fd0
PN
6187 (package
6188 (name "sbcl-trivia.level0")
6189 (build-system asdf-build-system/sbcl)
6190 (version (git-version "0.0.0" revision commit))
6191 (home-page "https://github.com/guicho271828/trivia")
6192 (source
6193 (origin
6194 (method git-fetch)
6195 (uri (git-reference
6196 (url home-page)
6197 (commit commit)))
6198 (file-name (git-file-name name version))
6199 (sha256
6200 (base32
ba69e6e6 6201 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72"))))
88f06fd0
PN
6202 (inputs
6203 `(("alexandria" ,sbcl-alexandria)))
6204 (synopsis "Pattern matching in Common Lisp")
6205 (description "Trivia is a pattern matching compiler that is compatible
6206with Optima, another pattern matching library for Common Lisp. It is meant to
6207be faster and more extensible than Optima.")
6208 (license license:llgpl))))
6209
6210(define-public sbcl-trivia.level1
6211 (package
6212 (inherit sbcl-trivia.level0)
6213 (name "sbcl-trivia.level1")
6214 (inputs
6215 `(("trivia.level0" ,sbcl-trivia.level0)))
6216 (description "Trivia is a pattern matching compiler that is compatible
6217with Optima, another pattern matching library for Common Lisp. It is meant to
6218be faster and more extensible than Optima.
6219
6220This system contains the core patterns of Trivia.")))
6221
6222(define-public sbcl-trivia.level2
6223 (package
6224 (inherit sbcl-trivia.level0)
6225 (name "sbcl-trivia.level2")
6226 (inputs
6227 `(("trivia.level1" ,sbcl-trivia.level1)
6228 ("lisp-namespace" ,sbcl-lisp-namespace)
6229 ("trivial-cltl2" ,sbcl-trivial-cltl2)
6230 ("closer-mop" ,sbcl-closer-mop)))
6231 (description "Trivia is a pattern matching compiler that is compatible
6232with Optima, another pattern matching library for Common Lisp. It is meant to
6233be faster and more extensible than Optima.
6234
6235This system contains a non-optimized pattern matcher compatible with Optima,
6236with extensible optimizer interface.")))
6237
6238(define-public sbcl-trivia.trivial
6239 (package
6240 (inherit sbcl-trivia.level0)
6241 (name "sbcl-trivia.trivial")
6242 (inputs
6243 `(("trivia.level2" ,sbcl-trivia.level2)))
6244 (arguments
6245 `(#:phases
6246 (modify-phases %standard-phases
6247 (replace 'create-asd-file
6248 (lambda* (#:key outputs inputs #:allow-other-keys)
6249 (let* ((out (assoc-ref outputs "out"))
6250 (lib (string-append out "/lib/" (%lisp-type)))
6251 (level2 (assoc-ref inputs "trivia.level2")))
6252 (mkdir-p lib)
6253 (install-file "trivia.trivial.asd" lib)
6254 ;; XXX: This .asd does not have any component and the build
6255 ;; system fails to work in this case. We should update the
6256 ;; build system to handle component-less .asd.
6257 ;; TODO: How do we append to file in Guile? It seems that
6258 ;; (open-file ... "a") gets a "Permission denied".
6259 (substitute* (string-append lib "/trivia.trivial.asd")
6260 (("\"\\)")
6261 (string-append "\")
6262
6263(progn (asdf/source-registry:ensure-source-registry)
6264 (setf (gethash
6265 \"trivia.level2\"
6266 asdf/source-registry:*source-registry*)
6267 #p\""
6268 level2
6269 "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
6270 (description "Trivia is a pattern matching compiler that is compatible
6271with Optima, another pattern matching library for Common Lisp. It is meant to
6272be faster and more extensible than Optima.
6273
6274This system contains the base level system of Trivia with a trivial optimizer.")))
6275
6276(define-public sbcl-trivia.balland2006
6277 (package
6278 (inherit sbcl-trivia.level0)
6279 (name "sbcl-trivia.balland2006")
6280 (inputs
6281 `(("trivia.trivial" ,sbcl-trivia.trivial)
6282 ("iterate" ,sbcl-iterate)
6283 ("type-i" ,sbcl-type-i)
6284 ("alexandria" ,sbcl-alexandria)))
6285 (arguments
6286 ;; Tests are done in trivia itself.
6287 `(#:tests? #f))
6288 (description "Trivia is a pattern matching compiler that is compatible
6289with Optima, another pattern matching library for Common Lisp. It is meant to
6290be faster and more extensible than Optima.
6291
6292This system contains the base level system of Trivia with a trivial optimizer.")))
6293
6294(define-public sbcl-trivia.ppcre
6295 (package
6296 (inherit sbcl-trivia.level0)
6297 (name "sbcl-trivia.ppcre")
6298 (inputs
6299 `(("trivia.trivial" ,sbcl-trivia.trivial)
6300 ("cl-ppcre" ,sbcl-cl-ppcre)))
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 PPCRE extension.")))
6306
6307(define-public sbcl-trivia.quasiquote
6308 (package
6309 (inherit sbcl-trivia.level0)
6310 (name "sbcl-trivia.quasiquote")
6311 (inputs
6312 `(("trivia.trivial" ,sbcl-trivia.trivial)
6313 ("fare-quasiquote" ,sbcl-fare-quasiquote)
6314 ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable)))
6315 (description "Trivia is a pattern matching compiler that is compatible
6316with Optima, another pattern matching library for Common Lisp. It is meant to
6317be faster and more extensible than Optima.
6318
6319This system contains the fare-quasiquote extension.")))
6320
6321(define-public sbcl-trivia.cffi
6322 (package
6323 (inherit sbcl-trivia.level0)
6324 (name "sbcl-trivia.cffi")
6325 (inputs
6326 `(("cffi" ,sbcl-cffi)
6327 ("trivia.trivial" ,sbcl-trivia.trivial)))
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 CFFI foreign slot access extension.")))
6333
6334(define-public sbcl-trivia
6335 (package
6336 (inherit sbcl-trivia.level0)
6337 (name "sbcl-trivia")
6338 (inputs
6339 `(("trivia.balland2006" ,sbcl-trivia.balland2006)))
6340 (native-inputs
6341 `(("fiveam" ,sbcl-fiveam)
6342 ("trivia.ppcre" ,sbcl-trivia.ppcre)
6343 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
6344 ("trivia.cffi" ,sbcl-trivia.cffi)
6345 ("optima" ,sbcl-optima)))
6346 (arguments
6347 `(#:test-asd-file "trivia.test.asd"
6348 #:phases
6349 (modify-phases %standard-phases
6350 (add-after 'create-asd 'remove-component
6351 ;; XXX: The original .asd has no components, but our build system
6352 ;; creates an entry nonetheless. We need to remove it for the
6353 ;; generated .asd to load properly. See trivia.trivial for a
6354 ;; similar problem.
6355 (lambda* (#:key outputs #:allow-other-keys)
6356 (let* ((out (assoc-ref outputs "out"))
6357 (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
6358 (substitute* asd
6359 ((" :components
6360")
6361 ""))
6362 (substitute* asd
6363 ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
6364 ""))))))))
6365 (description "Trivia is a pattern matching compiler that is compatible
6366with Optima, another pattern matching library for Common Lisp. It is meant to
6367be faster and more extensible than Optima.")))
6368
6369(define-public cl-trivia
6370 (sbcl-package->cl-source-package sbcl-trivia))
6371
6372(define-public sbcl-mk-string-metrics
6373 (package
6374 (name "sbcl-mk-string-metrics")
6375 (version "0.1.2")
6376 (home-page "https://github.com/cbaggers/mk-string-metrics/")
6377 (source (origin
6378 (method git-fetch)
6379 (uri (git-reference
6380 (url home-page)
6381 (commit version)))
6382 (sha256
6383 (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6"))
6384 (file-name (git-file-name name version))))
6385 (build-system asdf-build-system/sbcl)
6386 (synopsis "Calculate various string metrics efficiently in Common Lisp")
6387 (description "This library implements efficient algorithms that calculate
6388various string metrics in Common Lisp:
6389
6390@itemize
6391@item Damerau-Levenshtein distance
6392@item Hamming distance
6393@item Jaccard similarity coefficient
6394@item Jaro distance
6395@item Jaro-Winkler distance
6396@item Levenshtein distance
6397@item Normalized Damerau-Levenshtein distance
6398@item Normalized Levenshtein distance
6399@item Overlap coefficient
6400@end itemize\n")
6401 (license license:x11)))
6402
6403(define-public cl-mk-string-metrics
6404 (sbcl-package->cl-source-package sbcl-mk-string-metrics))
6405
6406(define-public sbcl-cl-str
7cb4c521 6407 (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a"))
88f06fd0
PN
6408 (package
6409 (name "sbcl-cl-str")
7cb4c521 6410 (version (git-version "0.17" "1" commit))
88f06fd0
PN
6411 (home-page "https://github.com/vindarel/cl-str")
6412 (source (origin
6413 (method git-fetch)
6414 (uri (git-reference
6415 (url home-page)
6416 (commit commit)))
6417 (sha256
7cb4c521 6418 (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0"))
88f06fd0
PN
6419 (file-name (git-file-name name version))))
6420 (build-system asdf-build-system/sbcl)
6421 (inputs
6422 `(("cl-ppcre" ,sbcl-cl-ppcre)
7cb4c521
PN
6423 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
6424 ("cl-change-case" ,sbcl-cl-change-case)))
88f06fd0
PN
6425 (native-inputs
6426 `(("prove" ,sbcl-prove)
6427 ("prove-asdf" ,sbcl-prove-asdf)))
6428 (arguments
6429 `(#:asd-file "str.asd"
6430 #:asd-system-name "str"
6431 #:test-asd-file "str.test.asd"))
6432 (synopsis "Modern, consistent and terse Common Lisp string manipulation library")
6433 (description "A modern and consistent Common Lisp string manipulation
6434library that focuses on modernity, simplicity and discoverability:
6435@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or
6436@code{str:concat strings} instead of an unusual format construct; one
6437discoverable library instead of many; consistency and composability, where
6438@code{s} is always the last argument, which makes it easier to feed pipes and
6439arrows.")
6440 (license license:expat))))
6441
6442(define-public cl-str
6443 (sbcl-package->cl-source-package sbcl-cl-str))
6444
6445(define-public sbcl-cl-xmlspam
6446 (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
6447 (package
6448 (name "sbcl-cl-xmlspam")
6449 (build-system asdf-build-system/sbcl)
6450 (version (git-version "0.0.0" "1" commit))
6451 (home-page "https://github.com/rogpeppe/cl-xmlspam")
6452 (source
6453 (origin
6454 (method git-fetch)
6455 (uri (git-reference
6456 (url home-page)
6457 (commit commit)))
6458 (file-name (string-append name "-" version))
6459 (sha256
6460 (base32
6461 "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
6462 (inputs
6463 `(("cxml" ,sbcl-cxml)
6464 ("cl-ppcre" ,sbcl-cl-ppcre)))
6465 (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
6466 (description "CXML does an excellent job at parsing XML elements, but what
6467do you do when you have a XML file that's larger than you want to fit in
6468memory, and you want to extract some information from it? Writing code to deal
6469with SAX events, or even using Klacks, quickly becomes tedious.
6470@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
6471to write code that mirrors the structure of the XML that it's parsing. It
6472also makes it easy to shift paradigms when necessary - the usual Lisp control
6473constructs can be used interchangeably with pattern matching, and the full
6474power of CXML is available when necessary.")
6475 (license license:bsd-3))))
6476
6477;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
6478;; asdf-build-system/sbcl as of 2019-08-02. We should fix
6479;; asdf-build-system/sbcl.
6480(define-public cl-dbus
6481 (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
6482 (revision "1"))
6483 (package
6484 (name "cl-dbus")
6485 (build-system asdf-build-system/source)
6486 (version (git-version "20190408" revision commit))
6487 (home-page "https://github.com/death/dbus")
6488 (source
6489 (origin
6490 (method git-fetch)
6491 (uri (git-reference
6492 (url home-page)
6493 (commit commit)))
6494 (file-name (git-file-name name version))
6495 (sha256
6496 (base32
6497 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
0bc557fd
PN
6498 ;; Inputs must be propagated or else packages depending on this won't
6499 ;; have the necessary packages.
88f06fd0
PN
6500 (propagated-inputs
6501 `(("alexandria" ,sbcl-alexandria)
6502 ("trivial-garbage" ,sbcl-trivial-garbage)
6503 ("babel" ,sbcl-babel)
6504 ("iolib" ,sbcl-iolib)
88f06fd0
PN
6505 ("ieee-floats" ,sbcl-ieee-floats)
6506 ("flexi-streams" ,sbcl-flexi-streams)
6507 ("cl-xmlspam" ,sbcl-cl-xmlspam)
6508 ("ironclad" ,sbcl-ironclad)))
6509 (synopsis "D-Bus client library for Common Lisp")
104b1bde 6510 (description "This is a Common Lisp library that publishes D-Bus
88f06fd0
PN
6511objects as well as send and notify other objects connected to a bus.")
6512 (license license:bsd-2))))
6513
6514(define-public sbcl-cl-hooks
6515 (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7")
6516 (revision "1"))
6517 (package
6518 (name "sbcl-cl-hooks")
6519 (build-system asdf-build-system/sbcl)
6520 (version (git-version "0.2.1" revision commit))
6521 (home-page "https://github.com/scymtym/architecture.hooks")
6522 (source
6523 (origin
6524 (method git-fetch)
6525 (uri (git-reference
6526 (url home-page)
6527 (commit commit)))
6528 (file-name (git-file-name name version))
6529 (sha256
6530 (base32
6531 "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y"))))
6532 (inputs
6533 `(("alexandria" ,sbcl-alexandria)
6534 ("let-plus" ,sbcl-let-plus)
6535 ("trivial-garbage" ,sbcl-trivial-garbage)
6536 ("closer-mop" ,sbcl-closer-mop)))
6537 (native-inputs
6538 `(("fiveam" ,sbcl-fiveam)))
6539 (synopsis "Hooks extension point mechanism (as in Emacs) for Common Lisp")
6540 (description "A hook, in the present context, is a certain kind of
6541extension point in a program that allows interleaving the execution of
6542arbitrary code with the execution of a the program without introducing any
6543coupling between the two. Hooks are used extensively in the extensible editor
6544Emacs.
6545
6546In the Common LISP Object System (CLOS), a similar kind of extensibility is
6547possible using the flexible multi-method dispatch mechanism. It may even seem
6548that the concept of hooks does not provide any benefits over the possibilities
6549of CLOS. However, there are some differences:
6550
6551@itemize
6552
6553@item There can be only one method for each combination of specializers and
6554qualifiers. As a result this kind of extension point cannot be used by
6555multiple extensions independently.
6556@item Removing code previously attached via a @code{:before}, @code{:after} or
6557@code{:around} method can be cumbersome.
6558@item There could be other or even multiple extension points besides @code{:before}
6559and @code{:after} in a single method.
6560@item Attaching codes to individual objects using eql specializers can be
6561cumbersome.
6562@item Introspection of code attached a particular extension point is
6563cumbersome since this requires enumerating and inspecting the methods of a
6564generic function.
6565@end itemize
6566
6567This library tries to complement some of these weaknesses of method-based
6568extension-points via the concept of hooks.")
6569 (license license:llgpl))))
6570
6571(define-public cl-hooks
6572 (sbcl-package->cl-source-package sbcl-cl-hooks))
6573
6574(define-public ecl-cl-hooks
6575 (sbcl-package->ecl-package sbcl-cl-hooks))
6576
6577(define-public sbcl-s-sysdeps
bdfd1d18
PN
6578 ;; No release since 2013.
6579 (let ((commit "9aa23bbdceb24bcdbe0e7c39fa1901858f823106")
6580 (revision "2"))
88f06fd0
PN
6581 (package
6582 (name "sbcl-s-sysdeps")
6583 (build-system asdf-build-system/sbcl)
6584 (version (git-version "1" revision commit))
6585 (home-page "https://github.com/svenvc/s-sysdeps")
6586 (source
6587 (origin
6588 (method git-fetch)
6589 (uri (git-reference
6590 (url home-page)
6591 (commit commit)))
6592 (file-name (git-file-name name version))
6593 (sha256
6594 (base32
bdfd1d18
PN
6595 "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b"))))
6596 (inputs
6597 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
6598 ("usocket" ,sbcl-usocket)
6599 ("usocket-server" ,sbcl-usocket-server)))
88f06fd0
PN
6600 (synopsis "Common Lisp abstraction layer over platform dependent functionality")
6601 (description "@code{s-sysdeps} is an abstraction layer over platform
6602dependent functionality. This simple package is used as a building block in a
6603number of other open source projects.
6604
6605@code{s-sysdeps} abstracts:
6606
6607@itemize
6608@item managing processes,
6609@item implementing a standard TCP/IP server,
6610@item opening a client TCP/IP socket stream,
6611@item working with process locks.
6612@end itemize\n")
6613 (license license:llgpl))))
6614
6615(define-public cl-s-sysdeps
6616 (sbcl-package->cl-source-package sbcl-s-sysdeps))
6617
6618(define-public ecl-s-sysdeps
6619 (sbcl-package->ecl-package sbcl-s-sysdeps))
6620
6621(define-public sbcl-cl-prevalence
6dd4931a
PN
6622 (let ((commit "da3ed6c4594b1c2fca90c178c1993973c4bf16c9")
6623 (revision "2"))
88f06fd0
PN
6624 (package
6625 (name "sbcl-cl-prevalence")
6626 (build-system asdf-build-system/sbcl)
6627 (version (git-version "5" revision commit))
6628 (home-page "https://github.com/40ants/cl-prevalence")
6629 (source
6630 (origin
6631 (method git-fetch)
6632 (uri (git-reference
6633 (url home-page)
6634 (commit commit)))
6635 (file-name (git-file-name name version))
6636 (sha256
6637 (base32
6dd4931a 6638 "0bq905hv1626dl6b7s0zn4lbdh608g1pxaljl1fda6pwp9hmj95a"))))
88f06fd0
PN
6639 (inputs
6640 `(("s-sysdeps" ,sbcl-s-sysdeps)
6641 ("s-xml" ,sbcl-s-xml)))
6642 (synopsis "Implementation of object prevalence for Common Lisp")
6643 (description "This Common Lisp library implements object prevalence (see
6644@url{https://en.wikipedia.org/wiki/System_prevalence}). It allows
6645for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary
6646classes and cyclic data structures are supported.")
6647 (license license:llgpl))))
6648
6649(define-public cl-prevalence
6650 (sbcl-package->cl-source-package sbcl-cl-prevalence))
6651
6652(define-public ecl-cl-prevalence
6653 (sbcl-package->ecl-package sbcl-cl-prevalence))
6654
6655(define-public sbcl-series
6656 (let ((commit "da9061b336119d1e5214aff9117171d494d5a58a")
6657 (revision "1"))
6658 (package
6659 (name "sbcl-series")
6660 (version (git-version "2.2.11" revision commit))
6661 (source
6662 (origin
6663 (method git-fetch)
6664 (uri (git-reference
6665 (url "git://git.code.sf.net/p/series/series")
6666 (commit commit)))
6667 (file-name (git-file-name name version))
6668 (sha256
6669 (base32
6670 "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw"))))
6671 (build-system asdf-build-system/sbcl)
6672 (arguments
6673 ;; Disable the tests, they are apparently buggy and I didn't find
6674 ;; a simple way to make them run and pass.
6675 '(#:tests? #f))
6676 (synopsis "Series data structure for Common Lisp")
6677 (description
6678 "This Common Lisp library provides a series data structure much like
6679a sequence, with similar kinds of operations. The difference is that in many
6680situations, operations on series may be composed functionally and yet execute
6681iteratively, without the need to construct intermediate series values
6682explicitly. In this manner, series provide both the clarity of a functional
6683programming style and the efficiency of an iterative programming style.")
6684 (home-page "http://series.sourceforge.net/")
6685 (license license:expat))))
6686
6687(define-public cl-series
6688 (sbcl-package->cl-source-package sbcl-series))
6689
6690(define-public ecl-series
6691 (sbcl-package->ecl-package sbcl-series))
6692
6693(define-public sbcl-periods
6694 (let ((commit "983d4a57325db3c8def942f163133cec5391ec28")
6695 (revision "1"))
6696 (package
6697 (name "sbcl-periods")
6698 (version (git-version "0.0.2" revision commit))
6699 (source
6700 (origin
6701 (method git-fetch)
6702 (uri (git-reference
6703 (url "https://github.com/jwiegley/periods.git")
6704 (commit commit)))
6705 (file-name (git-file-name name version))
6706 (sha256
6707 (base32
6708 "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga"))))
6709 (build-system asdf-build-system/sbcl)
6710 (inputs
6711 `(("local-time" ,sbcl-local-time)))
6712 (synopsis "Common Lisp library for manipulating date/time objects")
6713 (description
6714 "Periods is a Common Lisp library providing a set of utilities for
6715manipulating times, distances between times, and both contiguous and
6716discontiguous ranges of time.")
6717 (home-page "https://github.com/jwiegley/periods")
6718 (license license:bsd-3))))
6719
6720(define-public cl-periods
6721 (sbcl-package->cl-source-package sbcl-periods))
6722
6723(define-public ecl-periods
6724 (sbcl-package->ecl-package sbcl-periods))
6725
6726(define-public sbcl-periods-series
6727 (package
6728 (inherit sbcl-periods)
6729 (name "sbcl-periods-series")
6730 (inputs
6731 `(("periods" ,sbcl-periods)
6732 ("series" ,sbcl-series)))
6733 (arguments
6734 '(#:asd-file "periods-series.asd"
6735 #:asd-system-name "periods-series"))
6736 (description
6737 "Periods-series is an extension of the periods Common Lisp library
6738providing functions compatible with the series Common Lisp library.")))
6739
6740(define-public cl-periods-series
6741 (sbcl-package->cl-source-package sbcl-periods-series))
6742
6743(define-public ecl-periods-series
6744 (sbcl-package->ecl-package sbcl-periods-series))
6745
6746(define-public sbcl-metatilities-base
6747 (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
6748 (revision "1"))
6749 (package
6750 (name "sbcl-metatilities-base")
6751 (version (git-version "0.6.6" revision commit))
6752 (source
6753 (origin
6754 (method git-fetch)
6755 (uri (git-reference
6756 (url "https://github.com/gwkkwg/metatilities-base.git")
6757 (commit commit)))
6758 (file-name (git-file-name name version))
6759 (sha256
6760 (base32
6761 "0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
6762 (build-system asdf-build-system/sbcl)
6763 (native-inputs
6764 `(("lift" ,sbcl-lift)))
6765 (synopsis "Core of the metatilities Common Lisp library")
6766 (description
6767 "Metatilities-base is the core of the metatilities Common Lisp library
6768which implements a set of utilities.")
6769 (home-page "https://common-lisp.net/project/metatilities-base/")
6770 (license license:expat))))
6771
6772(define-public cl-metatilities-base
6773 (sbcl-package->cl-source-package sbcl-metatilities-base))
6774
6775(define-public ecl-metatilities-base
6776 (sbcl-package->ecl-package sbcl-metatilities-base))
6777
6778(define-public sbcl-cl-containers
0ad6ecb8
PN
6779 (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
6780 (revision "3"))
88f06fd0
PN
6781 (package
6782 (name "sbcl-cl-containers")
6783 (version (git-version "0.12.1" revision commit))
6784 (source
6785 (origin
6786 (method git-fetch)
6787 (uri (git-reference
6788 (url "https://github.com/gwkkwg/cl-containers.git")
6789 (commit commit)))
6790 (file-name (git-file-name name version))
6791 (sha256
6792 (base32
0ad6ecb8 6793 "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
88f06fd0
PN
6794 (build-system asdf-build-system/sbcl)
6795 (native-inputs
6796 `(("lift" ,sbcl-lift)))
6797 (inputs
6798 `(("metatilities-base" ,sbcl-metatilities-base)))
6799 (arguments
6800 '(#:phases
6801 (modify-phases %standard-phases
6802 (add-after 'unpack 'relax-version-checks
6803 (lambda _
6804 (substitute* "cl-containers.asd"
6805 (("\\(:version \"metatilities-base\" \"0\\.6\\.6\"\\)")
6806 "\"metatilities-base\""))
6807 (substitute* "cl-containers-test.asd"
6808 (("\\(:version \"lift\" \"1\\.7\\.0\"\\)")
6809 "\"lift\""))
6810 #t)))))
6811 (synopsis "Container library for Common Lisp")
6812 (description
6813 "Common Lisp ships with a set of powerful built in data structures
6814including the venerable list, full featured arrays, and hash-tables.
6815CL-containers enhances and builds on these structures by adding containers
6816that are not available in native Lisp (for example: binary search trees,
6817red-black trees, sparse arrays and so on), and by providing a standard
6818interface so that they are simpler to use and so that changing design
6819decisions becomes significantly easier.")
6820 (home-page "https://common-lisp.net/project/cl-containers/")
6821 (license license:expat))))
6822
6823(define-public cl-containers
6824 (sbcl-package->cl-source-package sbcl-cl-containers))
6825
6826(define-public ecl-cl-containers
6827 (sbcl-package->ecl-package sbcl-cl-containers))
6828
6829(define-public sbcl-xlunit
6830 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
6831 (revision "1"))
6832 (package
6833 (name "sbcl-xlunit")
6834 (version (git-version "0.6.3" revision commit))
6835 (source
6836 (origin
6837 (method git-fetch)
6838 (uri (git-reference
6839 (url "http://git.kpe.io/xlunit.git")
6840 (commit commit)))
6841 (file-name (git-file-name name version))
6842 (sha256
6843 (base32
6844 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
6845 (build-system asdf-build-system/sbcl)
6846 (arguments
6847 '(#:phases
6848 (modify-phases %standard-phases
6849 (add-after 'unpack 'fix-tests
6850 (lambda _
6851 (substitute* "xlunit.asd"
6852 ((" :force t") ""))
6853 #t)))))
6854 (synopsis "Unit testing package for Common Lisp")
6855 (description
6856 "The XLUnit package is a toolkit for building test suites. It is based
6857on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
6858 (home-page "http://quickdocs.org/xlunit/")
6859 (license license:bsd-3))))
6860
6861(define-public cl-xlunit
6862 (sbcl-package->cl-source-package sbcl-xlunit))
6863
6864(define-public ecl-xlunit
6865 (sbcl-package->ecl-package sbcl-xlunit))
6866
6867(define-public sbcl-fprog
6868 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6869 (revision "1"))
6870 (package
6871 (name "sbcl-fprog")
6872 (version (git-version "1.0.0" revision commit))
6873 (source
6874 (origin
6875 (method git-fetch)
6876 (uri (git-reference
6877 (url "https://github.com/jwiegley/cambl.git")
6878 (commit commit)))
6879 (file-name (git-file-name name version))
6880 (sha256
6881 (base32
6882 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz"))))
6883 (build-system asdf-build-system/sbcl)
6884 (synopsis "Functional programming utilities for Common Lisp")
6885 (description
6886 "@code{fprog} is a Common Lisp library allowing iteration over
6887immutable lists sharing identical sublists.")
6888 (home-page "https://github.com/jwiegley/cambl")
6889 (license license:bsd-3))))
6890
6891(define-public cl-fprog
6892 (sbcl-package->cl-source-package sbcl-fprog))
6893
6894(define-public ecl-fprog
6895 (sbcl-package->ecl-package sbcl-fprog))
6896
6897(define-public sbcl-cambl
6898 (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636")
6899 (revision "1"))
6900 (package
6901 (inherit sbcl-fprog)
6902 (name "sbcl-cambl")
6903 (version (git-version "4.0.0" revision commit))
6904 (native-inputs
6905 `(("xlunit" ,sbcl-xlunit)))
6906 (inputs
6907 `(("alexandria" ,sbcl-alexandria)
6908 ("cl-containers" ,sbcl-cl-containers)
6909 ("local-time" ,sbcl-local-time)
6910 ("periods" ,sbcl-periods)
6911 ("fprog" ,sbcl-fprog)))
6912 (synopsis "Commoditized amounts and balances for Common Lisp")
6913 (description
6914 "CAMBL is a Common Lisp library providing a convenient facility for
6915working with commoditized values. It does not allow compound units (and so is
6916not suited for scientific operations) but does work rather nicely for the
6917purpose of financial calculations."))))
6918
6919(define-public cl-cambl
6920 (sbcl-package->cl-source-package sbcl-cambl))
6921
6922(define-public ecl-cambl
6923 (sbcl-package->ecl-package sbcl-cambl))
6924
6925(define-public sbcl-cl-ledger
6926 (let ((commit "08e0be41795e804cd36142e51756ad0b1caa377b")
6927 (revision "1"))
6928 (package
6929 (name "sbcl-cl-ledger")
6930 (version (git-version "4.0.0" revision commit))
6931 (source
6932 (origin
6933 (method git-fetch)
6934 (uri (git-reference
6935 (url "https://github.com/ledger/cl-ledger.git")
6936 (commit commit)))
6937 (file-name (git-file-name name version))
6938 (sha256
6939 (base32
6940 "1via0qf6wjcyxnfbmfxjvms0ik9j8rqbifgpmnhrzvkhrq9pv8h1"))))
6941 (build-system asdf-build-system/sbcl)
6942 (inputs
6943 `(("cambl" ,sbcl-cambl)
6944 ("cl-ppcre" ,sbcl-cl-ppcre)
6945 ("local-time" ,sbcl-local-time)
6946 ("periods-series" ,sbcl-periods-series)))
6947 (arguments
6948 '(#:phases
6949 (modify-phases %standard-phases
6950 (add-after 'unpack 'fix-system-definition
6951 (lambda _
6952 (substitute* "cl-ledger.asd"
6953 ((" :build-operation program-op") "")
6954 ((" :build-pathname \"cl-ledger\"") "")
6955 ((" :entry-point \"ledger::main\"") ""))
6956 #t)))))
6957 (synopsis "Common Lisp port of the Ledger accounting system")
6958 (description
6959 "CL-Ledger is a Common Lisp port of the Ledger double-entry accounting
6960system.")
6961 (home-page "https://github.com/ledger/cl-ledger")
6962 (license license:bsd-3))))
6963
6964(define-public cl-ledger
6965 (sbcl-package->cl-source-package sbcl-cl-ledger))
6966
6967(define-public ecl-cl-ledger
6968 (sbcl-package->ecl-package sbcl-cl-ledger))
6969
6970(define-public sbcl-bst
6971 (let ((commit "34f9c7e8e0a9f2c952fe310ab36cb630d5d9c15a")
6972 (revision "1"))
6973 (package
6974 (name "sbcl-bst")
6975 (version (git-version "1.1" revision commit))
6976 (source
6977 (origin
6978 (method git-fetch)
6979 (uri (git-reference
6980 (url "https://github.com/glv2/bst.git")
6981 (commit commit)))
6982 (file-name (git-file-name name version))
6983 (sha256
6984 (base32
6985 "1amxns7hvvh4arwbh8ciwfzplg127vh37dnbamv1m1kmmnmihfc8"))))
6986 (build-system asdf-build-system/sbcl)
6987 (native-inputs
6988 `(("alexandria" ,sbcl-alexandria)
6989 ("fiveam" ,sbcl-fiveam)))
6990 (synopsis "Binary search tree for Common Lisp")
6991 (description
6992 "BST is a Common Lisp library for working with binary search trees that
6993can contain any kind of values.")
6994 (home-page "https://github.com/glv2/bst")
6995 (license license:gpl3))))
6996
6997(define-public cl-bst
6998 (sbcl-package->cl-source-package sbcl-bst))
6999
7000(define-public ecl-bst
7001 (sbcl-package->ecl-package sbcl-bst))
7002
7003(define-public sbcl-cl-octet-streams
7004 (package
7005 (name "sbcl-cl-octet-streams")
7006 (version "1.0")
7007 (source
7008 (origin
7009 (method git-fetch)
7010 (uri (git-reference
7011 (url "https://github.com/glv2/cl-octet-streams.git")
7012 (commit (string-append "v" version))))
7013 (file-name (git-file-name name version))
7014 (sha256
7015 (base32
7016 "1d7mn6ydv0j2x4r7clpc9ijjwrnfpxmvhifv8n5j7jh7s744sf8d"))))
7017 (build-system asdf-build-system/sbcl)
7018 (native-inputs
7019 `(("fiveam" ,sbcl-fiveam)))
7020 (inputs
7021 `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7022 (synopsis "In-memory octet streams for Common Lisp")
7023 (description
7024 "CL-octet-streams is a library implementing in-memory octet
7025streams for Common Lisp. It was inspired by the trivial-octet-streams and
7026cl-plumbing libraries.")
7027 (home-page "https://github.com/glv2/cl-octet-streams")
7028 (license license:gpl3+)))
7029
7030(define-public cl-octet-streams
7031 (sbcl-package->cl-source-package sbcl-cl-octet-streams))
7032
7033(define-public ecl-cl-octet-streams
7034 (sbcl-package->ecl-package sbcl-cl-octet-streams))
7035
7036(define-public sbcl-lzlib
7037 (let ((commit "0de1db7129fef9a58a059d35a2fa2ecfc5b47b47")
7038 (revision "1"))
7039 (package
7040 (name "sbcl-lzlib")
7041 (version (git-version "1.0" revision commit))
7042 (source
7043 (origin
7044 (method git-fetch)
7045 (uri (git-reference
7046 (url "https://github.com/glv2/cl-lzlib.git")
7047 (commit commit)))
7048 (file-name (git-file-name name version))
7049 (sha256
7050 (base32
7051 "12ny7vj52fgnd8hb8fc8mry92vq4c1x72x2350191m4476j95clz"))))
7052 (build-system asdf-build-system/sbcl)
7053 (native-inputs
7054 `(("fiveam" ,sbcl-fiveam)))
7055 (inputs
7056 `(("cffi" ,sbcl-cffi)
7057 ("cl-octet-streams" ,sbcl-cl-octet-streams)
7058 ("lzlib" ,lzlib)))
7059 (arguments
7060 '(#:phases
7061 (modify-phases %standard-phases
7062 (add-after 'unpack 'fix-paths
7063 (lambda* (#:key inputs #:allow-other-keys)
7064 (substitute* "src/lzlib.lisp"
7065 (("liblz\\.so")
7066 (string-append (assoc-ref inputs "lzlib") "/lib/liblz.so")))
7067 #t)))))
7068 (synopsis "Common Lisp library for lzip (de)compression")
7069 (description
7070 "This Common Lisp library provides functions for lzip (LZMA)
7071compression/decompression using bindings to the lzlib C library.")
7072 (home-page "https://github.com/glv2/cl-lzlib")
7073 (license license:gpl3+))))
7074
7075(define-public cl-lzlib
7076 (sbcl-package->cl-source-package sbcl-lzlib))
7077
7078(define-public ecl-lzlib
7079 (sbcl-package->ecl-package sbcl-lzlib))
7080
7081(define-public sbcl-chanl
00a9a936
GLV
7082 (let ((commit "56e90a126c78b39bb621a01585e8d3b985238e8c")
7083 (revision "1"))
88f06fd0
PN
7084 (package
7085 (name "sbcl-chanl")
7086 (version (git-version "0.4.1" revision commit))
7087 (source
7088 (origin
7089 (method git-fetch)
7090 (uri (git-reference
7091 (url "https://github.com/zkat/chanl.git")
7092 (commit commit)))
7093 (file-name (git-file-name name version))
7094 (sha256
7095 (base32
00a9a936 7096 "0b1cf6c12qx5cy1fw2z42jgh566rp3l8nv5qf0qqc569s7bgmrh4"))))
88f06fd0
PN
7097 (build-system asdf-build-system/sbcl)
7098 (native-inputs
7099 `(("fiveam" ,sbcl-fiveam)))
7100 (inputs
7101 `(("bordeaux-threads" ,sbcl-bordeaux-threads)))
7102 (synopsis "Portable channel-based concurrency for Common Lisp")
7103 (description "Common Lisp library for channel-based concurrency. In
7104a nutshell, you create various threads sequentially executing tasks you need
7105done, and use channel objects to communicate and synchronize the state of these
7106threads.")
7107 (home-page "https://github.com/zkat/chanl")
7108 (license (list license:expat license:bsd-3)))))
7109
7110(define-public cl-chanl
7111 (sbcl-package->cl-source-package sbcl-chanl))
7112
7113(define-public ecl-chanl
00a9a936 7114 (sbcl-package->ecl-package sbcl-chanl))
88f06fd0
PN
7115
7116(define-public sbcl-cl-store
1896256d
BG
7117 (let ((commit "c787337a16ea8cf8a06227f35933a4ec774746b3")
7118 (revision "1"))
88f06fd0
PN
7119 (package
7120 (name "sbcl-cl-store")
7121 (version (git-version "0.8.11" revision commit))
7122 (source
7123 (origin
7124 (method git-fetch)
7125 (uri (git-reference
7126 (url "https://github.com/skypher/cl-store.git")
7127 (commit commit)))
7128 (file-name (git-file-name name version))
7129 (sha256
7130 (base32
1896256d 7131 "194srkg8nrym19c6i7zbnkzshc1qhqa82m53qnkirz9fw928bqxr"))))
88f06fd0
PN
7132 (build-system asdf-build-system/sbcl)
7133 (native-inputs
7134 `(("rt" ,sbcl-rt)))
7135 (synopsis "Common Lisp library to serialize data")
7136 (description
7137 "CL-STORE is a portable serialization package which should give you the
7138ability to store all Common Lisp data types into streams.")
630a4b77 7139 (home-page "https://www.common-lisp.net/project/cl-store/")
88f06fd0
PN
7140 (license license:expat))))
7141
7142(define-public cl-store
7143 (sbcl-package->cl-source-package sbcl-cl-store))
7144
7145(define-public ecl-cl-store
7146 (sbcl-package->ecl-package sbcl-cl-store))
7147
7148(define-public sbcl-cl-gobject-introspection
7149 (let ((commit "7b703e2384945ea0ac39d9b766de434a08d81560")
7150 (revision "0"))
7151 (package
7152 (name "sbcl-cl-gobject-introspection")
7153 (version (git-version "0.3" revision commit))
7154 (home-page "https://github.com/andy128k/cl-gobject-introspection")
7155 (source
7156 (origin
7157 (method git-fetch)
7158 (uri (git-reference
7159 (url home-page)
7160 (commit commit)))
7161 (file-name (git-file-name name version))
7162 (sha256
7163 (base32
7164 "1zcqd2qj14f6b38vys8gr89s6cijsp9r8j43xa8lynilwva7bwyh"))))
7165 (build-system asdf-build-system/sbcl)
7166 (inputs
7167 `(("alexandria" ,sbcl-alexandria)
7168 ("cffi" ,sbcl-cffi)
7169 ("iterate" ,sbcl-iterate)
7170 ("trivial-garbage" ,sbcl-trivial-garbage)
7171 ("glib" ,glib)
7172 ("gobject-introspection" ,gobject-introspection)))
7173 (native-inputs
7174 `(("fiveam" ,sbcl-fiveam)))
7175 (arguments
7176 ;; TODO: Tests fail, see
7177 ;; https://github.com/andy128k/cl-gobject-introspection/issues/70.
7178 '(#:tests? #f
7179 #:phases
7180 (modify-phases %standard-phases
7181 (add-after (quote unpack) (quote fix-paths)
7182 (lambda* (#:key inputs #:allow-other-keys)
7183 (substitute* "src/init.lisp"
7184 (("libgobject-2\\.0\\.so")
7185 (string-append (assoc-ref inputs "glib") "/lib/libgobject-2.0.so"))
7186 (("libgirepository-1\\.0\\.so")
7187 (string-append (assoc-ref inputs "gobject-introspection")
7188 "/lib/libgirepository-1.0.so")))
7189 #t)))))
7190 (synopsis "Common Lisp bindings to GObject Introspection")
7191 (description
7192 "This library is a bridge between Common Lisp and GObject
7193Introspection, which enables Common Lisp programs to access the full interface
7194of C+GObject libraries without the need of writing dedicated bindings.")
7195 (license (list license:bsd-3
7196 ;; Tests are under a different license.
7197 license:llgpl)))))
7198
7199(define-public cl-gobject-introspection
7200 (sbcl-package->cl-source-package sbcl-cl-gobject-introspection))
7201
7202(define-public sbcl-string-case
7203 (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7")
7204 (revision "0"))
7205 (package
7206 (name "sbcl-string-case")
7207 (version (git-version "0.0.2" revision commit))
7208 (home-page "https://github.com/pkhuong/string-case")
7209 (source
7210 (origin
7211 (method git-fetch)
7212 (uri (git-reference
7213 (url home-page)
7214 (commit commit)))
7215 (file-name (git-file-name name version))
7216 (sha256
7217 (base32
7218 "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md"))))
7219 (build-system asdf-build-system/sbcl)
7220 (synopsis "Efficient string= case in Common Lisp")
7221 (description
7222 "@code{string-case} is a Common Lisp macro that generates specialised decision
7223trees to dispatch on string equality.")
7224 (license license:bsd-3))))
7225
7226(define-public cl-string-case
7227 (sbcl-package->cl-source-package sbcl-string-case))
7228
7229(define-public ecl-string-case
7230 (sbcl-package->ecl-package sbcl-string-case))
7231
7232(define-public sbcl-global-vars
7233 (let ((commit "c749f32c9b606a1457daa47d59630708ac0c266e")
7234 (revision "0"))
7235 (package
7236 (name "sbcl-global-vars")
7237 (version (git-version "1.0.0" revision commit))
7238 (home-page "https://github.com/lmj/global-vars")
7239 (source
7240 (origin
7241 (method git-fetch)
7242 (uri (git-reference
7243 (url home-page)
7244 (commit commit)))
7245 (file-name (git-file-name name version))
7246 (sha256
7247 (base32
7248 "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d"))))
7249 (build-system asdf-build-system/sbcl)
7250 (synopsis "Efficient global variables in Common Lisp")
7251 (description
7252 "In Common Lisp, a special variable that is never dynamically bound
7253typically serves as a stand-in for a global variable. The @code{global-vars}
7254library provides true global variables that are implemented by some compilers.
7255An attempt to rebind a global variable properly results in a compiler error.
7256That is, a global variable cannot be dynamically bound.
7257
7258Global variables therefore allow us to communicate an intended usage that
7259differs from special variables. Global variables are also more efficient than
7260special variables, especially in the presence of threads.")
7261 (license license:expat))))
7262
7263(define-public cl-global-vars
7264 (sbcl-package->cl-source-package sbcl-global-vars))
7265
7266(define-public ecl-global-vars
7267 (sbcl-package->ecl-package sbcl-global-vars))
7268
7269(define-public sbcl-trivial-file-size
7270 (let ((commit "1c1d672a01a446ba0391dbb4ffc40be3b0476f23")
7271 (revision "0"))
7272 (package
7273 (name "sbcl-trivial-file-size")
7274 (version (git-version "0.0.0" revision commit))
7275 (home-page "https://github.com/ruricolist/trivial-file-size")
7276 (source
7277 (origin
7278 (method git-fetch)
7279 (uri (git-reference
7280 (url home-page)
7281 (commit commit)))
7282 (file-name (git-file-name name version))
7283 (sha256
7284 (base32
7285 "17pp86c9zs4y7i1sh7q9gbfw9iqv6655k7fz8qbj9ly1ypgxp4qs"))))
7286 (build-system asdf-build-system/sbcl)
7287 (native-inputs
7288 `(("fiveam" ,sbcl-fiveam)))
7289 (synopsis "Size of a file in bytes in Common Lisp")
7290 (description
7291 "The canonical way to determine the size of a file in bytes, using Common Lisp,
7292is to open the file with an element type of (unsigned-byte 8) and then
7293calculate the length of the stream. This is less than ideal. In most cases
7294it is better to get the size of the file from its metadata, using a system
7295call.
7296
7297This library exports a single function, file-size-in-octets. It returns the
7298size of a file in bytes, using system calls when possible.")
7299 (license license:expat))))
7300
7301(define-public cl-trivial-file-size
7302 (sbcl-package->cl-source-package sbcl-trivial-file-size))
7303
7304(define-public ecl-trivial-file-size
7305 (sbcl-package->ecl-package sbcl-trivial-file-size))
7306
7307(define-public sbcl-trivial-macroexpand-all
7308 (let ((commit "933270ac7107477de1bc92c1fd641fe646a7a8a9")
7309 (revision "0"))
7310 (package
7311 (name "sbcl-trivial-macroexpand-all")
7312 (version (git-version "0.0.0" revision commit))
7313 (home-page "https://github.com/cbaggers/trivial-macroexpand-all")
7314 (source
7315 (origin
7316 (method git-fetch)
7317 (uri (git-reference
7318 (url home-page)
7319 (commit commit)))
7320 (file-name (git-file-name name version))
7321 (sha256
7322 (base32
7323 "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd"))))
7324 (build-system asdf-build-system/sbcl)
7325 (native-inputs
7326 `(("fiveam" ,sbcl-fiveam)))
7327 (synopsis "Portable macroexpand-all for Common Lisp")
7328 (description
7329 "This library provides a macroexpand-all function that calls the
7330implementation specific equivalent.")
7331 (license license:unlicense))))
7332
7333(define-public cl-trivial-macroexpand-all
7334 (sbcl-package->cl-source-package sbcl-trivial-macroexpand-all))
7335
7336(define-public ecl-trivial-macroexpand-all
7337 (sbcl-package->ecl-package sbcl-trivial-macroexpand-all))
7338
7339(define-public sbcl-serapeum
f96aa123
PN
7340 (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169")
7341 (revision "1"))
88f06fd0
PN
7342 (package
7343 (name "sbcl-serapeum")
7344 (version (git-version "0.0.0" revision commit))
7345 (home-page "https://github.com/ruricolist/serapeum")
7346 (source
7347 (origin
7348 (method git-fetch)
7349 (uri (git-reference
7350 (url home-page)
7351 (commit commit)))
7352 (file-name (git-file-name name version))
7353 (sha256
7354 (base32
f96aa123 7355 "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9"))))
88f06fd0
PN
7356 (build-system asdf-build-system/sbcl)
7357 (inputs
7358 `(("alexandria" ,sbcl-alexandria)
7359 ("trivia" ,sbcl-trivia)
7360 ("trivia.quasiquote" ,sbcl-trivia.quasiquote)
7361 ("split-sequence" ,sbcl-split-sequence)
7362 ("string-case" ,sbcl-string-case)
7363 ("parse-number" ,sbcl-parse-number)
7364 ("trivial-garbage" ,sbcl-trivial-garbage)
7365 ("bordeaux-threads" ,sbcl-bordeaux-threads)
7366 ("named-readtables" ,sbcl-named-readtables)
8137983a 7367 ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras)
88f06fd0
PN
7368 ("parse-declarations-1.0" ,sbcl-parse-declarations)
7369 ("global-vars" ,sbcl-global-vars)
7370 ("trivial-file-size" ,sbcl-trivial-file-size)
7371 ("trivial-macroexpand-all" ,sbcl-trivial-macroexpand-all)))
7372 (native-inputs
7373 `(("fiveam" ,sbcl-fiveam)
7374 ("local-time" ,sbcl-local-time)))
7375 (arguments
7376 '(#:phases
7377 (modify-phases %standard-phases
7378 (add-after 'unpack 'disable-failing-tests
7379 (lambda* (#:key inputs #:allow-other-keys)
7380 (substitute* "serapeum.asd"
7381 ;; Guix does not have Quicklisp, and probably never will.
7382 (("\\(:file \"quicklisp\"\\)") ""))
7383 #t)))))
7384 (synopsis "Common Lisp utility library beyond Alexandria")
7385 (description
7386 "Serapeum is a conservative library of Common Lisp utilities. It is a
7387supplement, not a competitor, to Alexandria.")
7388 (license license:expat))))
7389
7390(define-public cl-serapeum
7391 (sbcl-package->cl-source-package sbcl-serapeum))
7392
7393(define-public sbcl-arrows
7394 (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382")
7395 (revision "0"))
7396 (package
7397 (name "sbcl-arrows")
7398 (version (git-version "0.2.0" revision commit))
7399 (source
7400 (origin
7401 (method git-fetch)
7402 (uri (git-reference
7403 (url "https://gitlab.com/Harleqin/arrows.git")
7404 (commit commit)))
7405 (file-name (git-file-name name version))
7406 (sha256
7407 (base32
7408 "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy"))))
7409 (build-system asdf-build-system/sbcl)
7410 (native-inputs
7411 `(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
7412 (synopsis "Clojure-like arrow macros for Common Lisp")
7413 (description
7414 "This library implements the @code{->} and @code{->>} macros from
7415Clojure, as well as several expansions on the idea.")
7416 (home-page "https://gitlab.com/Harleqin/arrows")
7417 (license license:public-domain))))
7418
7419(define-public cl-arrows
7420 (sbcl-package->cl-source-package sbcl-arrows))
7421
7422(define-public ecl-arrows
7423 (sbcl-package->ecl-package sbcl-arrows))
7424
7425(define-public sbcl-simple-parallel-tasks
7426 (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
7427 (revision "0"))
7428 (package
7429 (name "sbcl-simple-parallel-tasks")
7430 (version (git-version "1.0" revision commit))
7431 (source
7432 (origin
7433 (method git-fetch)
7434 (uri (git-reference
7435 (url "https://github.com/glv2/simple-parallel-tasks.git")
7436 (commit commit)))
7437 (file-name (git-file-name name version))
7438 (sha256
7439 (base32
7440 "0amw3qk23wnlyrsgzszs6rs7y4zvxv8dr03rnqhc60mnm8ds4dd5"))))
7441 (build-system asdf-build-system/sbcl)
7442 (native-inputs
7443 `(("fiveam" ,sbcl-fiveam)))
7444 (inputs
7445 `(("chanl" ,sbcl-chanl)))
7446 (synopsis "Common Lisp library to evaluate some forms in parallel")
7447 (description "This is a simple Common Lisp library to evaluate some
7448forms in parallel.")
7449 (home-page "https://github.com/glv2/simple-parallel-tasks")
7450 (license license:gpl3))))
7451
7452(define-public cl-simple-parallel-tasks
7453 (sbcl-package->cl-source-package sbcl-simple-parallel-tasks))
7454
7455(define-public ecl-simple-parallel-tasks
7456 (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
7457
7458(define-public sbcl-cl-heap
7459 (package
7460 (name "sbcl-cl-heap")
7461 (version "0.1.6")
7462 (source
7463 (origin
7464 (method url-fetch)
7465 (uri (string-append "https://common-lisp.net/project/cl-heap/releases/"
7466 "cl-heap_" version ".tar.gz"))
7467 (sha256
7468 (base32
7469 "163hb07p2nxz126rpq3cj5dyala24n0by5i5786n2qcr1w0bak4i"))))
7470 (build-system asdf-build-system/sbcl)
7471 (native-inputs
7472 `(("xlunit" ,sbcl-xlunit)))
7473 (arguments
7474 `(#:test-asd-file "cl-heap-tests.asd"))
7475 (synopsis "Heap and priority queue data structures for Common Lisp")
7476 (description
7477 "CL-HEAP provides various implementations of heap data structures (a
7478binary heap and a Fibonacci heap) as well as an efficient priority queue.")
7479 (home-page "https://common-lisp.net/project/cl-heap/")
7480 (license license:gpl3+)))
7481
7482(define-public cl-heap
7483 (sbcl-package->cl-source-package sbcl-cl-heap))
7484
7485(define-public ecl-cl-heap
7486 (sbcl-package->ecl-package sbcl-cl-heap))
7487
7488(define-public sbcl-curry-compose-reader-macros
7489 (let ((commit "beaa92dedf392726c042184bfd6149fa8d9e6ac2")
7490 (revision "0"))
7491 (package
7492 (name "sbcl-curry-compose-reader-macros")
7493 (version (git-version "1.0.0" revision commit))
7494 (source
7495 (origin
7496 (method git-fetch)
7497 (uri
7498 (git-reference
7499 (url "https://github.com/eschulte/curry-compose-reader-macros.git")
7500 (commit commit)))
7501 (file-name (git-file-name name version))
7502 (sha256
7503 (base32
7504 "0rv9bl8xrad5wfcg5zs1dazvnpmvqz6297lbn8bywsrcfnlf7h98"))))
7505 (build-system asdf-build-system/sbcl)
7506 (inputs
7507 `(("alexandria" ,sbcl-alexandria)
7508 ("named-readtables" ,sbcl-named-readtables)))
7509 (synopsis "Reader macros for partial application and composition")
7510 (description
7511 "This Common Lisp library provides reader macros for concise expression
7512of function partial application and composition.")
7513 (home-page "https://eschulte.github.io/curry-compose-reader-macros/")
7514 (license license:public-domain))))
7515
7516(define-public cl-curry-compose-reader-macros
7517 (sbcl-package->cl-source-package sbcl-curry-compose-reader-macros))
7518
7519(define-public ecl-curry-compose-reader-macros
7520 (sbcl-package->ecl-package sbcl-curry-compose-reader-macros))
7521
7522(define-public sbcl-yason
7523 (package
7524 (name "sbcl-yason")
7525 (version "0.7.7")
7526 (source
7527 (origin
7528 (method git-fetch)
7529 (uri (git-reference
7530 (url "https://github.com/phmarek/yason.git")
7531 (commit (string-append "v" version))))
7532 (file-name (git-file-name name version))
7533 (sha256
7534 (base32
7535 "0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
7536 (build-system asdf-build-system/sbcl)
7537 (inputs
7538 `(("alexandria" ,sbcl-alexandria)
7539 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
7540 (synopsis "Common Lisp JSON parser/encoder")
7541 (description
7542 "YASON is a Common Lisp library for encoding and decoding data in the
7543JSON interchange format.")
7544 (home-page "https://github.com/phmarek/yason")
7545 (license license:bsd-3)))
7546
7547(define-public cl-yason
7548 (sbcl-package->cl-source-package sbcl-yason))
7549
7550(define-public ecl-yason
7551 (sbcl-package->ecl-package sbcl-yason))
7552
7553(define-public sbcl-stefil
7554 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
7555 (revision "0"))
7556 (package
7557 (name "sbcl-stefil")
7558 (version (git-version "0.1" revision commit))
7559 (source
7560 (origin
7561 (method git-fetch)
7562 (uri (git-reference
7563 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
7564 (commit commit)))
7565 (file-name (git-file-name name version))
7566 (sha256
7567 (base32
7568 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
7569 (build-system asdf-build-system/sbcl)
7570 (inputs
7571 `(("alexandria" ,sbcl-alexandria)
7572 ("iterate" ,sbcl-iterate)
7573 ("metabang-bind" ,sbcl-metabang-bind)))
7574 (propagated-inputs
7575 ;; Swank doesn't have a pre-compiled package, therefore we must
7576 ;; propagate its sources.
7577 `(("swank" ,cl-slime-swank)))
7578 (arguments
7579 '(#:phases
7580 (modify-phases %standard-phases
7581 (add-after 'unpack 'drop-unnecessary-dependency
7582 (lambda _
7583 (substitute* "package.lisp"
7584 ((":stefil-system") ""))
7585 #t)))))
7586 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
7587 (synopsis "Simple test framework")
7588 (description
7589 "Stefil is a simple test framework for Common Lisp, with a focus on
7590interactive development.")
7591 (license license:public-domain))))
7592
7593(define-public cl-stefil
7594 (sbcl-package->cl-source-package sbcl-stefil))
7595
7596(define-public sbcl-graph
7597 (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f")
7598 (revision "0"))
7599 (package
7600 (name "sbcl-graph")
7601 (version (git-version "0.0.0" revision commit))
7602 (source
7603 (origin
7604 (method git-fetch)
7605 (uri
7606 (git-reference
7607 (url "https://github.com/eschulte/graph.git")
7608 (commit commit)))
7609 (file-name (git-file-name name version))
7610 (sha256
7611 (base32
7612 "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g"))
7613 (patches (search-patches "sbcl-graph-asdf-definitions.patch"))))
7614 (build-system asdf-build-system/sbcl)
7615 (native-inputs
7616 `(("stefil" ,sbcl-stefil)))
7617 (inputs
7618 `(("alexandria" ,sbcl-alexandria)
7619 ("cl-heap" ,sbcl-cl-heap)
7620 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7621 ("metabang-bind" ,sbcl-metabang-bind)
7622 ("named-readtables" ,sbcl-named-readtables)))
7623 (arguments
17c015c9 7624 '(#:test-asd-file "graph-test.asd"))
88f06fd0
PN
7625 (synopsis "Graph data structure and algorithms for Common Lisp")
7626 (description
7627 "The GRAPH Common Lisp library provides a data structures to represent
7628graphs, as well as some graph manipulation and analysis algorithms (shortest
7629path, maximum flow, minimum spanning tree, etc.).")
7630 (home-page "https://eschulte.github.io/graph/")
7631 (license license:gpl3+))))
7632
7633(define-public cl-graph
7634 (sbcl-package->cl-source-package sbcl-graph))
7635
7636(define-public sbcl-graph-dot
7637 (package
7638 (inherit sbcl-graph)
7639 (name "sbcl-graph-dot")
7640 (inputs
7641 `(("alexandria" ,sbcl-alexandria)
7642 ("cl-ppcre" ,sbcl-cl-ppcre)
7643 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7644 ("graph" ,sbcl-graph)
7645 ("metabang-bind" ,sbcl-metabang-bind)
7646 ("named-readtables" ,sbcl-named-readtables)))
7647 (arguments
7648 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7649 ((#:asd-file _ "") "graph-dot.asd")
88f06fd0
PN
7650 ((#:asd-system-name _ #f) "graph-dot")))
7651 (synopsis "Serialize graphs to and from DOT format")))
7652
7653(define-public sbcl-graph-json
7654 (package
7655 (inherit sbcl-graph)
7656 (name "sbcl-graph-json")
7657 (inputs
7658 `(("alexandria" ,sbcl-alexandria)
7659 ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros)
7660 ("graph" ,sbcl-graph)
7661 ("metabang-bind" ,sbcl-metabang-bind)
7662 ("named-readtables" ,sbcl-named-readtables)
7663 ("yason" ,sbcl-yason)))
7664 (arguments
7665 (substitute-keyword-arguments (package-arguments sbcl-graph)
17c015c9 7666 ((#:asd-file _ "") "graph-json.asd")
88f06fd0
PN
7667 ((#:asd-system-name _ #f) "graph-json")))
7668 (synopsis "Serialize graphs to and from JSON format")))
3029b585
PN
7669
7670(define-public sbcl-trivial-indent
7671 (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a")
7672 (revision "0"))
7673 (package
7674 (name "sbcl-trivial-indent")
7675 (version (git-version "1.0.0" revision commit))
7676 (source
7677 (origin
7678 (method git-fetch)
7679 (uri
7680 (git-reference
7681 (url "https://github.com/Shinmera/trivial-indent")
7682 (commit commit)))
7683 (file-name (git-file-name name version))
7684 (sha256
7685 (base32
7686 "1sj90nqz17w4jq0ixz00gb9g5g6d2s7l8r17zdby27gxxh51w266"))))
7687 (build-system asdf-build-system/sbcl)
7688 (synopsis "Simple Common Lisp library to allow indentation hints for SWANK")
7689 (description
7690 "This library allows you to define custom indentation hints for your
7691macros if the one recognised by SLIME automatically produces unwanted
7692results.")
7693 (home-page "https://shinmera.github.io/trivial-indent/")
7694 (license license:zlib))))
7695
7696(define-public cl-trivial-indent
7697 (sbcl-package->cl-source-package sbcl-trivial-indent))
8dc5ff8f
PN
7698
7699(define-public sbcl-documentation-utils
7700 (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55")
7701 (revision "0"))
7702 (package
7703 (name "sbcl-documentation-utils")
7704 (version (git-version "1.2.0" revision commit))
7705 (source
7706 (origin
7707 (method git-fetch)
7708 (uri
7709 (git-reference
7710 (url "https://github.com/Shinmera/documentation-utils.git")
7711 (commit commit)))
7712 (file-name (git-file-name name version))
7713 (sha256
7714 (base32
7715 "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq"))))
7716 (build-system asdf-build-system/sbcl)
7717 (inputs
7718 `(("trivial-indent" ,sbcl-trivial-indent)))
7719 (synopsis "Few simple tools to document Common Lisp libraries")
7720 (description
7721 "This is a small library to help you with managing the Common Lisp
7722docstrings for your library.")
7723 (home-page "https://shinmera.github.io/documentation-utils/")
7724 (license license:zlib))))
7725
7726(define-public cl-documentation-utils
7727 (sbcl-package->cl-source-package sbcl-documentation-utils))
aa47c9e7 7728
281537f4
GLV
7729(define-public ecl-documentation-utils
7730 (sbcl-package->ecl-package sbcl-documentation-utils))
7731
aa47c9e7
PN
7732(define-public sbcl-form-fiddle
7733 (let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
7734 (revision "0"))
7735 (package
7736 (name "sbcl-form-fiddle")
7737 (version (git-version "1.1.0" revision commit))
7738 (source
7739 (origin
7740 (method git-fetch)
7741 (uri
7742 (git-reference
7743 (url "https://github.com/Shinmera/form-fiddle")
7744 (commit commit)))
7745 (file-name (git-file-name name version))
7746 (sha256
7747 (base32
7748 "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln"))))
7749 (build-system asdf-build-system/sbcl)
7750 (inputs
7751 `(("documentation-utils" ,sbcl-documentation-utils)))
7752 (synopsis "Utilities to destructure Common Lisp lambda forms")
7753 (description
7754 "Often times we need to destructure a form definition in a Common Lisp
7755macro. This library provides a set of simple utilities to help with that.")
7756 (home-page "https://shinmera.github.io/form-fiddle/")
7757 (license license:zlib))))
7758
7759(define-public cl-form-fiddle
7760 (sbcl-package->cl-source-package sbcl-form-fiddle))
e0786d13
PN
7761
7762(define-public sbcl-parachute
7763 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
7764 (revision "0"))
7765 (package
7766 (name "sbcl-parachute")
7767 (version (git-version "1.1.1" revision commit))
7768 (source
7769 (origin
7770 (method git-fetch)
7771 (uri
7772 (git-reference
7773 (url "https://github.com/Shinmera/parachute")
7774 (commit commit)))
7775 (file-name (git-file-name name version))
7776 (sha256
7777 (base32
7778 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
7779 (build-system asdf-build-system/sbcl)
7780 (inputs
7781 `(("documentation-utils" ,sbcl-documentation-utils)
7782 ("form-fiddle" ,sbcl-form-fiddle)))
7783 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
7784 (description
7785 "Parachute is a simple-to-use and extensible testing framework.
7786In Parachute, things are organised as a bunch of named tests within a package.
7787Each test can contain a bunch of test forms that make up its body.")
7788 (home-page "https://shinmera.github.io/parachute/")
7789 (license license:zlib))))
7790
7791(define-public cl-parachute
7792 (sbcl-package->cl-source-package sbcl-parachute))
f5b1da68
PN
7793
7794(define-public sbcl-array-utils
7795 (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56")
7796 (revision "0"))
7797 (package
7798 (name "sbcl-array-utils")
7799 (version (git-version "1.1.1" revision commit))
7800 (source
7801 (origin
7802 (method git-fetch)
7803 (uri
7804 (git-reference
7805 (url "https://github.com/Shinmera/array-utils")
7806 (commit commit)))
7807 (file-name (git-file-name name version))
7808 (sha256
7809 (base32
7810 "0zhwfbpr53vs1ii4sx75dz2k9yhh1xpwdqqpg8nmfndxkmhpbi3x"))))
7811 (build-system asdf-build-system/sbcl)
7812 (native-inputs
7813 `(("parachute" ,sbcl-parachute)))
7814 (inputs
7815 `(("documentation-utils" ,sbcl-documentation-utils)))
7816 (synopsis "Tiny collection of array and vector utilities for Common Lisp")
7817 (description
7818 "A miniature toolkit that contains some useful shifting/popping/pushing
7819functions for arrays and vectors. Originally from Plump.")
7820 (home-page "https://shinmera.github.io/array-utils/")
7821 (license license:zlib))))
7822
7823(define-public cl-array-utils
7824 (sbcl-package->cl-source-package sbcl-array-utils))
cbda07d4
PN
7825
7826(define-public sbcl-plump
ef4a5a85
PN
7827 (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9")
7828 (revision "1"))
cbda07d4
PN
7829 (package
7830 (name "sbcl-plump")
7831 (version (git-version "2.0.0" revision commit))
7832 (source
7833 (origin
7834 (method git-fetch)
7835 (uri
7836 (git-reference
7837 (url "https://github.com/Shinmera/plump")
7838 (commit commit)))
7839 (file-name (git-file-name name version))
7840 (sha256
7841 (base32
ef4a5a85 7842 "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh"))))
cbda07d4
PN
7843 (build-system asdf-build-system/sbcl)
7844 (inputs
7845 `(("array-utils" ,sbcl-array-utils)
7846 ("documentation-utils" ,sbcl-documentation-utils)))
7847 (synopsis "Lenient XML / XHTML / HTML parser for Common Lisp")
7848 (description
7849 "Plump is a parser for HTML/XML-like documents, focusing on being
7850lenient towards invalid markup. It can handle things like invalid attributes,
7851bad closing tag order, unencoded entities, inexistent tag types, self-closing
7852tags and so on. It parses documents to a class representation and offers a
7853small set of DOM functions to manipulate it. It can be extended to parse to
7854your own classes.")
7855 (home-page "https://shinmera.github.io/plump/")
7856 (license license:zlib))))
7857
7858(define-public cl-plump
7859 (sbcl-package->cl-source-package sbcl-plump))
20972e4e
KCB
7860
7861(define-public sbcl-antik-base
7862 (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3")
7863 (revision "1"))
7864 (package
7865 (name "sbcl-antik-base")
7866 (version (git-version "0.0.0" revision commit))
7867 (source
7868 (origin
7869 (method git-fetch)
7870 (uri (git-reference
7871 (url "https://gitlab.common-lisp.net/antik/antik.git")
7872 (commit commit)))
7873 (file-name (git-file-name name version))
7874 (sha256
7875 (base32
7876 "047ga2c38par2xbgg4qx6hwv06qhf1c1f67as8xvir6s80lip1km"))))
7877 (build-system asdf-build-system/sbcl)
7878 (inputs
7879 `(("alexandria" ,sbcl-alexandria)
7880 ("cl-ppcre" ,sbcl-cl-ppcre)
7881 ("iterate" ,sbcl-iterate)
7882 ("metabang-bind" ,sbcl-metabang-bind)
7883 ("named-readtables" ,sbcl-named-readtables)
7884 ("split-sequence" ,sbcl-split-sequence)))
7885 (native-inputs
7886 `(("lisp-unit" ,sbcl-lisp-unit)))
7887 (synopsis "Scientific and engineering computation in Common Lisp")
7888 (description
7889 "Antik provides a foundation for scientific and engineering
7890computation in Common Lisp. It is designed not only to facilitate
7891numerical computations, but to permit the use of numerical computation
7892libraries and the interchange of data and procedures, whether
7893foreign (non-Lisp) or Lisp libraries. It is named after the
7894Antikythera mechanism, one of the oldest examples of a scientific
7895computer known.")
7896 (home-page "https://common-lisp.net/project/antik/")
7897 (license license:gpl3))))
7898
7899(define-public cl-antik-base
7900 (sbcl-package->cl-source-package sbcl-antik-base))
7901
7902(define-public ecl-antik-base
7903 (sbcl-package->ecl-package sbcl-antik-base))
29411ae4
KCB
7904
7905(define-public sbcl-foreign-array
7906 (package
7907 (inherit sbcl-antik-base)
7908 (name "sbcl-foreign-array")
7909 (arguments
7910 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7911 ((#:asd-file _ "") "foreign-array.asd")
7912 ((#:asd-system-name _ #f) "foreign-array")))
7913 (inputs
7914 `(("antik-base" ,sbcl-antik-base)
7915 ("cffi" ,sbcl-cffi)
7916 ("trivial-garbage" ,sbcl-trivial-garbage)
7917 ("static-vectors" ,sbcl-static-vectors)))
7918 (synopsis "Common Lisp library providing access to foreign arrays")))
7919
7920(define-public cl-foreign-array
7921 (sbcl-package->cl-source-package sbcl-foreign-array))
7922
7923(define-public ecl-foreign-array
7924 (sbcl-package->ecl-package sbcl-foreign-array))
f67e34db
KCB
7925
7926(define-public sbcl-physical-dimension
7927 (package
7928 (inherit sbcl-antik-base)
7929 (name "sbcl-physical-dimension")
7930 (inputs
7931 `(("fare-utils" ,sbcl-fare-utils)
7932 ("foreign-array" ,sbcl-foreign-array)
7933 ("trivial-utf-8" ,sbcl-trivial-utf-8)))
7934 (arguments
7935 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7936 ((#:asd-file _ "") "physical-dimension.asd")
7937 ((#:asd-system-name _ #f) "physical-dimension")))
7938 (synopsis
7939 "Common Lisp library providing computations with physical units")))
7940
7941(define-public cl-physical-dimension
7942 (sbcl-package->cl-source-package sbcl-physical-dimension))
812d0618
KCB
7943
7944(define-public sbcl-science-data
7945 (package
7946 (inherit sbcl-antik-base)
7947 (name "sbcl-science-data")
7948 (inputs
7949 `(("physical-dimension" ,sbcl-physical-dimension)
7950 ("drakma" ,sbcl-drakma)))
7951 (arguments
7952 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
7953 ((#:asd-file _ "") "science-data.asd")
7954 ((#:asd-system-name _ #f) "science-data")))
7955 (synopsis
7956 "Common Lisp library for scientific and engineering numerical data")))
7957
7958(define-public cl-science-data
7959 (sbcl-package->cl-source-package sbcl-science-data))
064dbb71
KCB
7960
7961(define-public sbcl-gsll
7962 (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308")
7963 (revision "1"))
7964 (package
7965 (name "sbcl-gsll")
7966 (version (git-version "0.0.0" revision commit))
7967 (source
7968 (origin
7969 (method git-fetch)
7970 (uri (git-reference
7971 (url "https://gitlab.common-lisp.net/antik/gsll.git")
7972 (commit commit)))
7973 (file-name (git-file-name name version))
7974 (sha256
7975 (base32
7976 "0z5nypfk26hxihb08p085644afawicrgb4xvadh3lmrn46qbjfn4"))))
7977 (build-system asdf-build-system/sbcl)
7978 (native-inputs
7979 `(("lisp-unit" ,sbcl-lisp-unit)))
7980 (inputs
7981 `(("alexandria" ,sbcl-alexandria)
7982 ("cffi-grovel" ,sbcl-cffi-grovel)
7983 ("cffi-libffi" ,sbcl-cffi-libffi)
7984 ("foreign-array" ,sbcl-foreign-array)
7985 ("gsl" ,gsl)
7986 ("metabang-bind" ,sbcl-metabang-bind)
7987 ("trivial-features" ,sbcl-trivial-features)
7988 ("trivial-garbage" ,sbcl-trivial-garbage)))
7989 (arguments
7990 `(#:tests? #f
7991 #:phases
7992 (modify-phases %standard-phases
7993 (add-after 'unpack 'fix-cffi-paths
7994 (lambda* (#:key inputs #:allow-other-keys)
7995 (substitute* "gsll.asd"
7996 ((":depends-on \\(#:foreign-array")
7997 ":depends-on (#:foreign-array #:cffi-libffi"))
7998 (substitute* "init/init.lisp"
7999 (("libgslcblas.so" all)
8000 (string-append
8001 (assoc-ref inputs "gsl") "/lib/" all)))
8002 (substitute* "init/init.lisp"
8003 (("libgsl.so" all)
8004 (string-append
8005 (assoc-ref inputs "gsl") "/lib/" all))))))))
8006 (synopsis "GNU Scientific Library for Lisp")
8007 (description
8008 "The GNU Scientific Library for Lisp (GSLL) allows the use of the
8009GNU Scientific Library (GSL) from Common Lisp. This library provides a
8010full range of common mathematical operations useful to scientific and
8011engineering applications. The design of the GSLL interface is such
8012that access to most of the GSL library is possible in a Lisp-natural
8013way; the intent is that the user not be hampered by the restrictions
8014of the C language in which GSL has been written. GSLL thus provides
8015interactive use of GSL for getting quick answers, even for someone not
8016intending to program in Lisp.")
8017 (home-page "https://common-lisp.net/project/gsll/")
8018 (license license:gpl3))))
8019
8020(define-public cl-gsll
8021 (sbcl-package->cl-source-package sbcl-gsll))
f1faf1ca
KCB
8022
8023(define-public sbcl-antik
8024 (package
8025 (inherit sbcl-antik-base)
8026 (name "sbcl-antik")
8027 (inputs
8028 `(("gsll" ,sbcl-gsll)
8029 ("physical-dimension" ,sbcl-physical-dimension)))
8030 (arguments
8031 (substitute-keyword-arguments (package-arguments sbcl-antik-base)
8032 ((#:asd-file _ "") "antik.asd")
8033 ((#:asd-system-name _ #f) "antik")))))
8034
8035(define-public cl-antik
8036 (sbcl-package->cl-source-package sbcl-antik))
7b0bb0d1
KCB
8037
8038(define-public sbcl-cl-interpol
8039 (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4")
8040 (revision "1"))
8041 (package
8042 (name "sbcl-cl-interpol")
8043 (version (git-version "0.2.6" revision commit))
8044 (source
8045 (origin
8046 (method git-fetch)
8047 (uri (git-reference
8048 (url "https://github.com/edicl/cl-interpol.git")
8049 (commit commit)))
8050 (file-name (git-file-name name version))
8051 (sha256
8052 (base32
8053 "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn"))))
8054 (build-system asdf-build-system/sbcl)
8055 (inputs
8056 `(("cl-unicode" ,sbcl-cl-unicode)
8057 ("named-readtables" ,sbcl-named-readtables)))
8058 (native-inputs
8059 `(("flexi-streams" ,sbcl-flexi-streams)))
8060 (synopsis "String interpolation for Common Lisp")
8061 (description
8062 "CL-INTERPOL is a library for Common Lisp which modifies the
8063reader so that you can have interpolation within strings similar to
8064Perl or Unix Shell scripts. It also provides various ways to insert
8065arbitrary characters into literal strings even if your editor/IDE
8066doesn't support them.")
8067 (home-page "https://edicl.github.io/cl-interpol/")
8068 (license license:bsd-3))))
8069
8070(define-public cl-interpol
8071 (sbcl-package->cl-source-package sbcl-cl-interpol))
8072
8073(define-public ecl-cl-interpol
8074 (sbcl-package->ecl-package sbcl-cl-interpol))
14ef7a92
KCB
8075
8076(define sbcl-symbol-munger-boot0
8077 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8078 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8079 (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3")
8080 (revision "1"))
8081 (package
8082 (name "sbcl-symbol-munger-boot0")
8083 (version (git-version "0.0.1" revision commit))
8084 (source
8085 (origin
8086 (method git-fetch)
8087 (uri (git-reference
8088 (url "https://github.com/AccelerationNet/symbol-munger.git")
8089 (commit commit)))
8090 (file-name (git-file-name name version))
8091 (sha256
8092 (base32
8093 "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl"))))
8094 (build-system asdf-build-system/sbcl)
8095 (arguments
8096 `(#:asd-file "symbol-munger.asd"
8097 #:asd-system-name "symbol-munger"))
8098 (inputs
8099 `(("iterate" ,sbcl-iterate)
8100 ("alexandria" ,sbcl-alexandria)))
8101 (native-inputs
8102 `(("lisp-unit" ,sbcl-lisp-unit)))
8103 (synopsis
8104 "Capitalization and spacing conversion functions for Common Lisp")
8105 (description
8106 "This is a Common Lisp library to change the capitalization and spacing
8107of a string or a symbol. It can convert to and from Lisp, english, underscore
8108and camel-case rules.")
8109 (home-page "https://github.com/AccelerationNet/symbol-munger")
8110 ;; The package declares a BSD license, but all of the license
8111 ;; text is MIT.
8112 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8113 (license license:expat))))
8114
8115(define sbcl-lisp-unit2-boot0
8116 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
8117 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
8118 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
8119 (revision "1"))
8120 (package
8121 (name "sbcl-lisp-unit2-boot0")
8122 (version (git-version "0.2.0" revision commit))
8123 (source
8124 (origin
8125 (method git-fetch)
8126 (uri (git-reference
8127 (url "https://github.com/AccelerationNet/lisp-unit2.git")
8128 (commit commit)))
8129 (file-name (git-file-name name version))
8130 (sha256
8131 (base32
8132 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
8133 (build-system asdf-build-system/sbcl)
8134 (arguments
8135 `(#:asd-file "lisp-unit2.asd"
8136 #:asd-system-name "lisp-unit2"))
8137 (inputs
8138 `(("alexandria" ,sbcl-alexandria)
8139 ("cl-interpol" ,sbcl-cl-interpol)
8140 ("iterate" ,sbcl-iterate)
8141 ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0)))
8142 (synopsis "Test Framework for Common Lisp")
8143 (description
8144 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
8145style of JUnit for Java. It is a new version of the lisp-unit library written
8146by Chris Riesbeck.")
8147 (home-page "https://github.com/AccelerationNet/lisp-unit2")
8148 (license license:expat))))
edfa2261
KCB
8149
8150(define-public sbcl-symbol-munger
8151 (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416")
8152 (revision "1"))
8153 (package
8154 (name "sbcl-symbol-munger")
8155 (version (git-version "0.0.1" revision commit))
8156 (source
8157 (origin
8158 (method git-fetch)
8159 (uri (git-reference
8160 (url "https://github.com/AccelerationNet/symbol-munger.git")
8161 (commit commit)))
8162 (file-name (git-file-name name version))
8163 (sha256
8164 (base32
8165 "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km"))))
8166 (build-system asdf-build-system/sbcl)
8167 (inputs
8168 `(("alexandria" ,sbcl-alexandria)
8169 ("iterate" ,sbcl-iterate)))
8170 (native-inputs
8171 `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0)))
8172 (synopsis
8173 "Capitalization and spacing conversion functions for Common Lisp")
8174 (description
8175 "This is a Common Lisp library to change the capitalization and spacing
8176of a string or a symbol. It can convert to and from Lisp, english, underscore
8177and camel-case rules.")
8178 (home-page "https://github.com/AccelerationNet/symbol-munger")
8179 ;; The package declares a BSD license, but all of the license
8180 ;; text is MIT.
8181 ;; See https://github.com/AccelerationNet/symbol-munger/issues/5
8182 (license license:expat))))
8183
8184(define-public cl-symbol-munger
8185 (sbcl-package->cl-source-package sbcl-symbol-munger))
8186
8187(define-public ecl-symbol-munger
8188 (sbcl-package->ecl-package sbcl-symbol-munger))
b97dbb64
KCB
8189
8190(define-public sbcl-lisp-unit2
8191 (package
8192 (inherit sbcl-lisp-unit2-boot0)
8193 (name "sbcl-lisp-unit2")
8194 (inputs
8195 `(("alexandria" ,sbcl-alexandria)
8196 ("cl-interpol" ,sbcl-cl-interpol)
8197 ("iterate" ,sbcl-iterate)
8198 ("symbol-munger" ,sbcl-symbol-munger)))))
8199
8200(define-public cl-lisp-unit2
8201 (sbcl-package->cl-source-package sbcl-lisp-unit2))
8202
8203(define-public ecl-lisp-unit2
8204 (sbcl-package->ecl-package sbcl-lisp-unit2))
f4448e43
KCB
8205
8206(define-public sbcl-cl-csv
8207 (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
8208 (revision "1"))
8209 (package
8210 (name "sbcl-cl-csv")
8211 (version (git-version "1.0.6" revision commit))
8212 (source
8213 (origin
8214 (method git-fetch)
8215 (uri (git-reference
8216 (url "https://github.com/AccelerationNet/cl-csv.git")
8217 (commit commit)))
8218 (file-name (git-file-name name version))
8219 (sha256
8220 (base32
8221 "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
8222 (build-system asdf-build-system/sbcl)
8223 (arguments
8224 ;; See: https://github.com/AccelerationNet/cl-csv/pull/34
8225 `(#:tests? #f))
8226 (inputs
8227 `(("alexandria" ,sbcl-alexandria)
8228 ("cl-interpol" ,sbcl-cl-interpol)
8229 ("iterate" ,sbcl-iterate)))
8230 (native-inputs
8231 `(("lisp-unit2" ,sbcl-lisp-unit2)))
8232 (synopsis "Common lisp library for comma-separated values")
8233 (description
8234 "This is a Common Lisp library providing functions to read/write CSV
8235from/to strings, streams and files.")
8236 (home-page "https://github.com/AccelerationNet/cl-csv")
8237 (license license:bsd-3))))
8238
8239(define-public cl-csv
8240 (sbcl-package->cl-source-package sbcl-cl-csv))
8241
8242(define-public ecl-cl-csv
8243 (sbcl-package->ecl-package sbcl-cl-csv))
6f0c2c95
KCB
8244
8245(define-public sbcl-external-program
8246 (let ((commit "5888b8f1fd3953feeeacecbba4384ddda584a749")
8247 (revision "1"))
8248 (package
8249 (name "sbcl-external-program")
8250 (version (git-version "0.0.6" revision commit))
8251 (source
8252 (origin
8253 (method git-fetch)
8254 (uri (git-reference
8255 (url "https://github.com/sellout/external-program.git")
8256 (commit commit)))
8257 (file-name (git-file-name name version))
8258 (sha256
8259 (base32
8260 "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z"))))
8261 (build-system asdf-build-system/sbcl)
8262 (inputs
8263 `(("trivial-features" ,sbcl-trivial-features)))
8264 (native-inputs
8265 `(("fiveam" ,sbcl-fiveam)))
8266 (synopsis "Common Lisp library for running external programs")
8267 (description
8268 "EXTERNAL-PROGRAM enables running programs outside the Lisp
8269process. It is an attempt to make the RUN-PROGRAM functionality in
8270implementations like SBCL and CCL as portable as possible without
8271sacrificing much in the way of power.")
8272 (home-page "https://github.com/sellout/external-program")
8273 (license license:llgpl))))
8274
8275(define-public cl-external-program
8276 (sbcl-package->cl-source-package sbcl-external-program))
8277
8278(define-public ecl-external-program
8279 (sbcl-package->ecl-package sbcl-external-program))
710a2815
KCB
8280
8281(define sbcl-cl-ana-boot0
8282 (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9")
8283 (revision "1"))
8284 (package
8285 (name "sbcl-cl-ana-boot0")
8286 (version (git-version "0.0.0" revision commit))
8287 (source
8288 (origin
8289 (method git-fetch)
8290 (uri (git-reference
8291 (url "https://github.com/ghollisjr/cl-ana.git")
8292 (commit commit)))
8293 (file-name (git-file-name name version))
8294 (sha256
8295 (base32
8296 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh"))))
8297 (build-system asdf-build-system/sbcl)
8298 (synopsis "Common Lisp data analysis library")
8299 (description
8300 "CL-ANA is a data analysis library in Common Lisp providing tabular and
8301binned data analysis along with nonlinear least squares fitting and
8302visualization.")
8303 (home-page "https://github.com/ghollisjr/cl-ana")
8304 (license license:gpl3))))
8305
8306(define-public sbcl-cl-ana.pathname-utils
8307 (package
8308 (inherit sbcl-cl-ana-boot0)
8309 (name "sbcl-cl-ana.pathname-utils")
8310 (arguments
8311 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8312 ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd")
8313 ((#:asd-system-name _ #f) "cl-ana.pathname-utils")))))
8314
8315(define-public cl-ana.pathname-utils
8316 (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils))
8317
8318(define-public ecl-cl-ana.pathname-utils
8319 (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils))
dc60235b
KCB
8320
8321(define-public sbcl-cl-ana.package-utils
8322 (package
8323 (inherit sbcl-cl-ana-boot0)
8324 (name "sbcl-cl-ana.package-utils")
8325 (inputs
8326 `(("alexandria" ,sbcl-alexandria)))
8327 (arguments
8328 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8329 ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd")
8330 ((#:asd-system-name _ #f) "cl-ana.package-utils")))))
8331
8332(define-public cl-ana.package-utils
8333 (sbcl-package->cl-source-package sbcl-cl-ana.package-utils))
8334
8335(define-public ecl-cl-ana.package-utils
8336 (sbcl-package->ecl-package sbcl-cl-ana.package-utils))
d9d3a1a8
KCB
8337
8338(define-public sbcl-cl-ana.string-utils
8339 (package
8340 (inherit sbcl-cl-ana-boot0)
8341 (name "sbcl-cl-ana.string-utils")
8342 (inputs
8343 `(("split-sequence" ,sbcl-split-sequence)))
8344 (arguments
8345 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8346 ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd")
8347 ((#:asd-system-name _ #f) "cl-ana.string-utils")))))
8348
8349(define-public cl-ana.string-utils
8350 (sbcl-package->cl-source-package sbcl-cl-ana.string-utils))
8351
8352(define-public ecl-cl-ana.string-utils
8353 (sbcl-package->ecl-package sbcl-cl-ana.string-utils))
927895d7
KCB
8354
8355(define-public sbcl-cl-ana.functional-utils
8356 (package
8357 (inherit sbcl-cl-ana-boot0)
8358 (name "sbcl-cl-ana.functional-utils")
8359 (arguments
8360 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8361 ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd")
8362 ((#:asd-system-name _ #f) "cl-ana.functional-utils")))))
8363
8364(define-public cl-ana.functional-utils
8365 (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils))
8366
8367(define-public ecl-cl-ana.functional-utils
8368 (sbcl-package->ecl-package sbcl-cl-ana.functional-utils))
ea988c3b
KCB
8369
8370(define-public sbcl-cl-ana.list-utils
8371 (package
8372 (inherit sbcl-cl-ana-boot0)
8373 (name "sbcl-cl-ana.list-utils")
8374 (inputs
8375 `(("alexandria" ,sbcl-alexandria)
8376 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8377 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)))
8378 (arguments
8379 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8380 ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd")
8381 ((#:asd-system-name _ #f) "cl-ana.list-utils")))))
8382
8383(define-public cl-ana.list-utils
8384 (sbcl-package->cl-source-package sbcl-cl-ana.list-utils))
8385
8386(define-public ecl-cl-ana.list-utils
8387 (sbcl-package->ecl-package sbcl-cl-ana.list-utils))
35b5ca24
KCB
8388
8389(define-public sbcl-cl-ana.generic-math
8390 (package
8391 (inherit sbcl-cl-ana-boot0)
8392 (name "sbcl-cl-ana.generic-math")
8393 (inputs
8394 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8395 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)))
8396 (arguments
8397 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8398 ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd")
8399 ((#:asd-system-name _ #f) "cl-ana.generic-math")))))
8400
8401(define-public cl-ana.generic-math
8402 (sbcl-package->cl-source-package sbcl-cl-ana.generic-math))
8403
8404(define-public ecl-cl-ana.generic-math
8405 (sbcl-package->ecl-package sbcl-cl-ana.generic-math))
6d69c5b4
KCB
8406
8407(define-public sbcl-cl-ana.math-functions
8408 (package
8409 (inherit sbcl-cl-ana-boot0)
8410 (name "sbcl-cl-ana.math-functions")
8411 (inputs
8412 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8413 ("gsll" ,sbcl-gsll)))
8414 (arguments
8415 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8416 ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd")
8417 ((#:asd-system-name _ #f) "cl-ana.math-functions")))))
8418
8419(define-public cl-ana.math-functions
8420 (sbcl-package->cl-source-package sbcl-cl-ana.math-functions))
39ba698b
KCB
8421
8422(define-public sbcl-cl-ana.calculus
8423 (package
8424 (inherit sbcl-cl-ana-boot0)
8425 (name "sbcl-cl-ana.calculus")
8426 (inputs
8427 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)))
8428 (arguments
8429 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8430 ((#:asd-file _ "") "calculus/cl-ana.calculus.asd")
8431 ((#:asd-system-name _ #f) "cl-ana.calculus")))))
8432
8433(define-public cl-ana.calculus
8434 (sbcl-package->cl-source-package sbcl-cl-ana.calculus))
8435
8436(define-public ecl-cl-ana.calculus
8437 (sbcl-package->ecl-package sbcl-cl-ana.calculus))
ad09a96a
KCB
8438
8439(define-public sbcl-cl-ana.symbol-utils
8440 (package
8441 (inherit sbcl-cl-ana-boot0)
8442 (name "sbcl-cl-ana.symbol-utils")
8443 (inputs
8444 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)))
8445 (arguments
8446 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8447 ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd")
8448 ((#:asd-system-name _ #f) "cl-ana.symbol-utils")))))
8449
8450(define-public cl-ana.symbol-utils
8451 (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils))
8452
8453(define-public ecl-cl-ana.symbol-utils
8454 (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils))
141d96e1
KCB
8455
8456(define-public sbcl-cl-ana.macro-utils
8457 (package
8458 (inherit sbcl-cl-ana-boot0)
8459 (name "sbcl-cl-ana.macro-utils")
8460 (inputs
8461 `(("alexandria" ,sbcl-alexandria)
8462 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8463 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8464 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8465 ("split-sequence" ,sbcl-split-sequence)))
8466 (arguments
8467 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8468 ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd")
8469 ((#:asd-system-name _ #f) "cl-ana.macro-utils")))))
8470
8471(define-public cl-ana.macro-utils
8472 (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils))
8473
8474(define-public ecl-cl-ana.macro-utils
8475 (sbcl-package->ecl-package sbcl-cl-ana.macro-utils))
7468ca3c
KCB
8476
8477(define-public sbcl-cl-ana.binary-tree
8478 (package
8479 (inherit sbcl-cl-ana-boot0)
8480 (name "sbcl-cl-ana.binary-tree")
8481 (inputs
8482 `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8483 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8484 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)))
8485 (arguments
8486 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8487 ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd")
8488 ((#:asd-system-name _ #f) "cl-ana.binary-tree")))))
8489
8490(define-public cl-ana.binary-tree
8491 (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree))
8492
8493(define-public ecl-cl-ana.binary-tree
8494 (sbcl-package->ecl-package sbcl-cl-ana.binary-tree))
f69f0235
KCB
8495
8496(define-public sbcl-cl-ana.tensor
8497 (package
8498 (inherit sbcl-cl-ana-boot0)
8499 (name "sbcl-cl-ana.tensor")
8500 (inputs
8501 `(("alexandria" ,sbcl-alexandria)
8502 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8503 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8504 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8505 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8506 (arguments
8507 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8508 ((#:asd-file _ "") "tensor/cl-ana.tensor.asd")
8509 ((#:asd-system-name _ #f) "cl-ana.tensor")))))
8510
8511(define-public cl-ana.tensor
8512 (sbcl-package->cl-source-package sbcl-cl-ana.tensor))
8513
8514(define-public ecl-cl-ana.tensor
8515 (sbcl-package->ecl-package sbcl-cl-ana.tensor))
87e58e2b
KCB
8516
8517(define-public sbcl-cl-ana.error-propogation
8518 (package
8519 (inherit sbcl-cl-ana-boot0)
8520 (name "sbcl-cl-ana.error-propogation")
8521 (inputs
8522 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8523 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)))
8524 (arguments
8525 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8526 ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd")
8527 ((#:asd-system-name _ #f) "cl-ana.error-propogation")))))
8528
8529(define-public cl-ana.error-propogation
8530 (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation))
a2aeef61
KCB
8531
8532(define-public sbcl-cl-ana.quantity
8533 (package
8534 (inherit sbcl-cl-ana-boot0)
8535 (name "sbcl-cl-ana.quantity")
8536 (inputs
8537 `(("alexandria" ,sbcl-alexandria)
8538 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8539 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8540 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8541 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8542 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8543 (arguments
8544 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8545 ((#:asd-file _ "") "quantity/cl-ana.quantity.asd")
8546 ((#:asd-system-name _ #f) "cl-ana.quantity")))))
8547
8548(define-public cl-ana.quantity
8549 (sbcl-package->cl-source-package sbcl-cl-ana.quantity))
fc029fe3
KCB
8550
8551(define-public sbcl-cl-ana.table
8552 (package
8553 (inherit sbcl-cl-ana-boot0)
8554 (name "sbcl-cl-ana.table")
8555 (inputs
8556 `(("alexandria" ,sbcl-alexandria)
8557 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8558 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8559 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8560 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8561 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)))
8562 (arguments
8563 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8564 ((#:asd-file _ "") "table/cl-ana.table.asd")
8565 ((#:asd-system-name _ #f) "cl-ana.table")))))
8566
8567(define-public cl-ana.table
8568 (sbcl-package->cl-source-package sbcl-cl-ana.table))
8569
8570(define-public ecl-cl-ana.table
8571 (sbcl-package->ecl-package sbcl-cl-ana.table))
eac5d1dd
KCB
8572
8573(define-public sbcl-cl-ana.table-utils
8574 (package
8575 (inherit sbcl-cl-ana-boot0)
8576 (name "sbcl-cl-ana.table-utils")
8577 (inputs
8578 `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8579 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8580 ("cl-ana.table" ,sbcl-cl-ana.table)))
8581 (arguments
8582 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8583 ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd")
8584 ((#:asd-system-name _ #f) "cl-ana.table-utils")))))
8585
8586(define-public cl-ana.table-utils
8587 (sbcl-package->cl-source-package sbcl-cl-ana.table-utils))
8588
8589(define-public ecl-cl-ana.table-utils
8590 (sbcl-package->ecl-package sbcl-cl-ana.table-utils))
769015b9
KCB
8591
8592(define-public sbcl-cl-ana.hdf-cffi
8593 (package
8594 (inherit sbcl-cl-ana-boot0)
8595 (name "sbcl-cl-ana.hdf-cffi")
8596 (inputs
8597 `(("cffi" ,sbcl-cffi)
8598 ("hdf5" ,hdf5-parallel-openmpi)))
8599 (arguments
8600 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8601 ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd")
8602 ((#:asd-system-name _ #f) "cl-ana.hdf-cffi")
8603 ((#:phases phases '%standard-phases)
8604 `(modify-phases ,phases
8605 (add-after 'unpack 'fix-paths
8606 (lambda* (#:key inputs #:allow-other-keys)
8607 (substitute* "hdf-cffi/hdf-cffi.lisp"
8608 (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so")
8609 (string-append
8610 (assoc-ref inputs "hdf5")
8611 "/lib/libhdf5.so")))))))))))
8612
8613(define-public cl-ana.hdf-cffi
8614 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi))
8615
8616(define-public ecl-cl-ana.hdf-cffi
8617 (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi))
e073d695
KCB
8618
8619(define-public sbcl-cl-ana.int-char
8620 (package
8621 (inherit sbcl-cl-ana-boot0)
8622 (name "sbcl-cl-ana.int-char")
8623 (arguments
8624 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8625 ((#:asd-file _ "") "int-char/cl-ana.int-char.asd")
8626 ((#:asd-system-name _ #f) "cl-ana.int-char")))))
8627
8628(define-public cl-ana.int-char
8629 (sbcl-package->cl-source-package sbcl-cl-ana.int-char))
8630
8631(define-public ecl-cl-ana.int-char
8632 (sbcl-package->ecl-package sbcl-cl-ana.int-char))
011cf6f5
KCB
8633
8634(define-public sbcl-cl-ana.memoization
8635 (package
8636 (inherit sbcl-cl-ana-boot0)
8637 (name "sbcl-cl-ana.memoization")
8638 (inputs
8639 `(("alexandria" ,sbcl-alexandria)))
8640 (arguments
8641 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8642 ((#:asd-file _ "") "memoization/cl-ana.memoization.asd")
8643 ((#:asd-system-name _ #f) "cl-ana.memoization")))))
8644
8645(define-public cl-ana.memoization
8646 (sbcl-package->cl-source-package sbcl-cl-ana.memoization))
8647
8648(define-public ecl-cl-ana.memoization
8649 (sbcl-package->ecl-package sbcl-cl-ana.memoization))
bc9e1dd2
KCB
8650
8651(define-public sbcl-cl-ana.typespec
8652 (package
8653 (inherit sbcl-cl-ana-boot0)
8654 (name "sbcl-cl-ana.typespec")
8655 (inputs
8656 `(("alexandria" ,sbcl-alexandria)
8657 ("cffi" ,sbcl-cffi)
8658 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
8659 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8660 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8661 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8662 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8663 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8664 (arguments
8665 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8666 ((#:asd-file _ "") "typespec/cl-ana.typespec.asd")
8667 ((#:asd-system-name _ #f) "cl-ana.typespec")))))
8668
8669(define-public cl-ana.typespec
8670 (sbcl-package->cl-source-package sbcl-cl-ana.typespec))
8671
8672(define-public ecl-cl-ana.typespec
8673 (sbcl-package->ecl-package sbcl-cl-ana.typespec))
46519981
KCB
8674
8675(define-public sbcl-cl-ana.hdf-typespec
8676 (package
8677 (inherit sbcl-cl-ana-boot0)
8678 (name "sbcl-cl-ana.hdf-typespec")
8679 (inputs
8680 `(("alexandria" ,sbcl-alexandria)
8681 ("cffi" ,sbcl-cffi)
8682 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8683 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8684 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8685 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8686 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8687 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8688 (arguments
8689 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8690 ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd")
8691 ((#:asd-system-name _ #f) "cl-ana.hdf-typespec")))))
8692
8693(define-public cl-ana.hdf-typespec
8694 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec))
8695
8696(define-public ecl-cl-ana.hdf-typespec
8697 (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec))
05216cf7
KCB
8698
8699(define-public sbcl-cl-ana.hdf-utils
8700 (package
8701 (inherit sbcl-cl-ana-boot0)
8702 (name "sbcl-cl-ana.hdf-utils")
8703 (inputs
8704 `(("alexandria" ,sbcl-alexandria)
8705 ("cffi" ,sbcl-cffi)
8706 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8707 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8708 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8709 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8710 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
8711 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8712 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8713 (arguments
8714 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8715 ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd")
8716 ((#:asd-system-name _ #f) "cl-ana.hdf-utils")))))
8717
8718(define-public cl-ana.hdf-utils
8719 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils))
8720
8721(define-public ecl-cl-ana.hdf-utils
8722 (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils))
82900285
KCB
8723
8724(define-public sbcl-cl-ana.typed-table
8725 (package
8726 (inherit sbcl-cl-ana-boot0)
8727 (name "sbcl-cl-ana.typed-table")
8728 (inputs
8729 `(("alexandria" ,sbcl-alexandria)
8730 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8731 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
8732 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8733 ("cl-ana.table" ,sbcl-cl-ana.table)
8734 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8735 (arguments
8736 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8737 ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd")
8738 ((#:asd-system-name _ #f) "cl-ana.typed-table")))))
8739
8740(define-public cl-ana.typed-table
8741 (sbcl-package->cl-source-package sbcl-cl-ana.typed-table))
8742
8743(define-public ecl-cl-ana.typed-table
8744 (sbcl-package->ecl-package sbcl-cl-ana.typed-table))
8e2c140c
KCB
8745
8746(define-public sbcl-cl-ana.hdf-table
8747 (package
8748 (inherit sbcl-cl-ana-boot0)
8749 (name "sbcl-cl-ana.hdf-table")
8750 (inputs
8751 `(("alexandria" ,sbcl-alexandria)
8752 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8753 ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi)
8754 ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec)
8755 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
8756 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8757 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
8758 ("cl-ana.table" ,sbcl-cl-ana.table)
8759 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8760 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
8761 (arguments
8762 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8763 ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd")
8764 ((#:asd-system-name _ #f) "cl-ana.hdf-table")))))
8765
8766(define-public cl-ana.hdf-table
8767 (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table))
8768
8769(define-public ecl-cl-ana.hdf-table
8770 (sbcl-package->ecl-package sbcl-cl-ana.hdf-table))
cd874248
KCB
8771
8772(define-public sbcl-cl-ana.gsl-cffi
8773 (package
8774 (inherit sbcl-cl-ana-boot0)
8775 (name "sbcl-cl-ana.gsl-cffi")
8776 (inputs
8777 `(("cffi" ,sbcl-cffi)
8778 ("gsl" ,gsl)))
8779 (arguments
8780 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8781 ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd")
8782 ((#:asd-system-name _ #f) "cl-ana.gsl-cffi")
8783 ((#:phases phases '%standard-phases)
8784 `(modify-phases ,phases
8785 (add-after 'unpack 'fix-paths
8786 (lambda* (#:key inputs #:allow-other-keys)
8787 (substitute* "gsl-cffi/gsl-cffi.lisp"
8788 (("define-foreign-library gsl-cffi" all)
8789 (string-append all " (:unix "
8790 (assoc-ref inputs "gsl")
8791 "/lib/libgsl.so)")))))))))))
8792
8793(define-public cl-ana.gsl-cffi
8794 (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi))
8795
8796(define-public ecl-cl-ana.gsl-cffi
8797 (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi))
14b1a215
KCB
8798
8799(define-public sbcl-cl-ana.ntuple-table
8800 (package
8801 (inherit sbcl-cl-ana-boot0)
8802 (name "sbcl-cl-ana.ntuple-table")
8803 (inputs
8804 `(("alexandria" ,sbcl-alexandria)
8805 ("cffi" ,sbcl-cffi)
8806 ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi)
8807 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8808 ("cl-ana.table" ,sbcl-cl-ana.table)
8809 ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table)
8810 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)
8811 ("gsll" ,sbcl-gsll)))
8812 (arguments
8813 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8814 ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd")
8815 ((#:asd-system-name _ #f) "cl-ana.ntuple-table")))))
8816
8817(define-public cl-ana.ntuple-table
8818 (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table))
89f01125
KCB
8819
8820(define-public sbcl-cl-ana.csv-table
8821 (package
8822 (inherit sbcl-cl-ana-boot0)
8823 (name "sbcl-cl-ana.csv-table")
8824 (inputs
8825 `(("alexandria" ,sbcl-alexandria)
8826 ("antik" ,sbcl-antik)
8827 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8828 ("cl-ana.table" ,sbcl-cl-ana.table)
8829 ("cl-csv" ,sbcl-cl-csv)
8830 ("iterate" ,sbcl-iterate)))
8831 (arguments
8832 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8833 ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd")
8834 ((#:asd-system-name _ #f) "cl-ana.csv-table")))))
8835
8836(define-public cl-ana.csv-table
8837 (sbcl-package->cl-source-package sbcl-cl-ana.csv-table))
7d500ae4
KCB
8838
8839(define-public sbcl-cl-ana.reusable-table
8840 (package
8841 (inherit sbcl-cl-ana-boot0)
8842 (name "sbcl-cl-ana.reusable-table")
8843 (inputs
8844 `(("alexandria" ,sbcl-alexandria)
8845 ("cl-ana.table" ,sbcl-cl-ana.table)))
8846 (arguments
8847 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8848 ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd")
8849 ((#:asd-system-name _ #f) "cl-ana.reusable-table")))))
8850
8851(define-public cl-ana.reusable-table
8852 (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table))
8853
8854(define-public ecl-cl-ana.reusable-table
8855 (sbcl-package->ecl-package sbcl-cl-ana.reusable-table))
01d659f5
KCB
8856
8857(define-public sbcl-cl-ana.linear-algebra
8858 (package
8859 (inherit sbcl-cl-ana-boot0)
8860 (name "sbcl-cl-ana.linear-algebra")
8861 (inputs
8862 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8863 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8864 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8865 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8866 ("gsll" ,sbcl-gsll)))
8867 (arguments
8868 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8869 ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd")
8870 ((#:asd-system-name _ #f) "cl-ana.linear-algebra")))))
8871
8872(define-public cl-ana.linear-algebra
8873 (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra))
05ec2879
KCB
8874
8875(define-public sbcl-cl-ana.lorentz
8876 (package
8877 (inherit sbcl-cl-ana-boot0)
8878 (name "sbcl-cl-ana.lorentz")
8879 (inputs
8880 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8881 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
8882 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8883 ("iterate" ,sbcl-iterate)))
8884 (arguments
8885 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8886 ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd")
8887 ((#:asd-system-name _ #f) "cl-ana.lorentz")))))
8888
8889(define-public cl-ana.lorentz
8890 (sbcl-package->cl-source-package sbcl-cl-ana.lorentz))
28ffe462
KCB
8891
8892(define-public sbcl-cl-ana.clos-utils
8893 (package
8894 (inherit sbcl-cl-ana-boot0)
8895 (name "sbcl-cl-ana.clos-utils")
8896 (inputs
8897 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8898 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
8899 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
8900 ("closer-mop" ,sbcl-closer-mop)))
8901 (arguments
8902 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8903 ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd")
8904 ((#:asd-system-name _ #f) "cl-ana.clos-utils")))))
8905
8906(define-public cl-ana.clos-utils
8907 (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils))
8908
8909(define-public ecl-cl-ana.clos-utils
8910 (sbcl-package->ecl-package sbcl-cl-ana.clos-utils))
71b76a9b
KCB
8911
8912(define-public sbcl-cl-ana.hash-table-utils
8913 (package
8914 (inherit sbcl-cl-ana-boot0)
8915 (name "sbcl-cl-ana.hash-table-utils")
8916 (arguments
8917 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8918 ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd")
8919 ((#:asd-system-name _ #f) "cl-ana.hash-table-utils")))))
8920
8921(define-public cl-ana.hash-table-utils
8922 (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils))
8923
8924(define-public ecl-cl-ana.hash-table-utils
8925 (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils))
c20b30cb
KCB
8926
8927(define-public sbcl-cl-ana.map
8928 (package
8929 (inherit sbcl-cl-ana-boot0)
8930 (name "sbcl-cl-ana.map")
8931 (inputs
8932 `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)))
8933 (arguments
8934 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8935 ((#:asd-file _ "") "map/cl-ana.map.asd")
8936 ((#:asd-system-name _ #f) "cl-ana.map")))))
8937
8938(define-public cl-ana.map
8939 (sbcl-package->cl-source-package sbcl-cl-ana.map))
8940
8941(define-public ecl-cl-ana.map
8942 (sbcl-package->ecl-package sbcl-cl-ana.map))
2f7d1dc5
KCB
8943
8944(define-public sbcl-cl-ana.fitting
8945 (package
8946 (inherit sbcl-cl-ana-boot0)
8947 (name "sbcl-cl-ana.fitting")
8948 (inputs
8949 `(("alexandria" ,sbcl-alexandria)
8950 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
8951 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8952 ("cl-ana.map" ,sbcl-cl-ana.map)
8953 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
8954 ("gsll" ,sbcl-gsll)))
8955 (arguments
8956 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8957 ((#:asd-file _ "") "fitting/cl-ana.fitting.asd")
8958 ((#:asd-system-name _ #f) "cl-ana.fitting")))))
8959
8960(define-public cl-ana.fitting
8961 (sbcl-package->cl-source-package sbcl-cl-ana.fitting))
dffb0c0e
KCB
8962
8963(define-public sbcl-cl-ana.histogram
8964 (package
8965 (inherit sbcl-cl-ana-boot0)
8966 (name "sbcl-cl-ana.histogram")
8967 (inputs
8968 `(("alexandria" ,sbcl-alexandria)
8969 ("iterate" ,sbcl-iterate)
8970 ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
8971 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
8972 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
8973 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
8974 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
8975 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
8976 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
8977 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
8978 ("cl-ana.map" ,sbcl-cl-ana.map)
8979 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)))
8980 (arguments
8981 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8982 ((#:asd-file _ "") "histogram/cl-ana.histogram.asd")
8983 ((#:asd-system-name _ #f) "cl-ana.histogram")))))
8984
8985(define-public cl-ana.histogram
8986 (sbcl-package->cl-source-package sbcl-cl-ana.histogram))
d6c13a8e
KCB
8987
8988(define-public sbcl-cl-ana.file-utils
8989 (package
8990 (inherit sbcl-cl-ana-boot0)
8991 (name "sbcl-cl-ana.file-utils")
8992 (inputs
8993 `(("external-program" ,sbcl-external-program)
8994 ("split-sequence" ,sbcl-split-sequence)))
8995 (arguments
8996 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
8997 ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd")
8998 ((#:asd-system-name _ #f) "cl-ana.file-utils")))))
8999
9000(define-public cl-ana.file-utils
9001 (sbcl-package->cl-source-package sbcl-cl-ana.file-utils))
9002
9003(define-public ecl-cl-ana.file-utils
9004 (sbcl-package->ecl-package sbcl-cl-ana.file-utils))
a47ce94c
KCB
9005
9006(define-public sbcl-cl-ana.statistics
9007 (package
9008 (inherit sbcl-cl-ana-boot0)
9009 (name "sbcl-cl-ana.statistics")
9010 (inputs
9011 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9012 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9013 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9014 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9015 ("cl-ana.map" ,sbcl-cl-ana.map)))
9016 (arguments
9017 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9018 ((#:asd-file _ "") "statistics/cl-ana.statistics.asd")
9019 ((#:asd-system-name _ #f) "cl-ana.statistics")))))
9020
9021(define-public cl-ana.statistics
9022 (sbcl-package->cl-source-package sbcl-cl-ana.statistics))
81e6c659
KCB
9023
9024(define-public sbcl-cl-ana.gnuplot-interface
9025 (package
9026 (inherit sbcl-cl-ana-boot0)
9027 (name "sbcl-cl-ana.gnuplot-interface")
9028 (inputs
9029 `(("external-program" ,sbcl-external-program)))
9030 (arguments
9031 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9032 ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd")
9033 ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface")))))
9034
9035(define-public cl-ana.gnuplot-interface
9036 (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface))
9037
9038(define-public ecl-cl-ana.gnuplot-interface
9039 (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface))
0f5350c1
KCB
9040
9041(define-public sbcl-cl-ana.plotting
9042 (package
9043 (inherit sbcl-cl-ana-boot0)
9044 (name "sbcl-cl-ana.plotting")
9045 (inputs
9046 `(("alexandria" ,sbcl-alexandria)
9047 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9048 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9049 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9050 ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface)
9051 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9052 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9053 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9054 ("cl-ana.map" ,sbcl-cl-ana.map)
9055 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9056 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9057 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9058 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9059 ("external-program" ,sbcl-external-program)
9060 ("split-sequence" ,sbcl-split-sequence)))
9061 (arguments
9062 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9063 ((#:asd-file _ "") "plotting/cl-ana.plotting.asd")
9064 ((#:asd-system-name _ #f) "cl-ana.plotting")))))
9065
9066(define-public cl-ana.plotting
9067 (sbcl-package->cl-source-package sbcl-cl-ana.plotting))
d521d67a
KCB
9068
9069(define-public sbcl-cl-ana.table-viewing
9070 (package
9071 (inherit sbcl-cl-ana-boot0)
9072 (name "sbcl-cl-ana.table-viewing")
9073 (inputs
9074 `(("alexandria" ,sbcl-alexandria)
9075 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9076 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9077 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9078 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9079 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9080 ("cl-ana.table" ,sbcl-cl-ana.table)))
9081 (arguments
9082 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9083 ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd")
9084 ((#:asd-system-name _ #f) "cl-ana.table-viewing")))))
9085
9086(define-public cl-ana.table-viewing
9087 (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing))
f97cc359
KCB
9088
9089(define-public sbcl-cl-ana.serialization
9090 (package
9091 (inherit sbcl-cl-ana-boot0)
9092 (name "sbcl-cl-ana.serialization")
9093 (inputs
9094 `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9095 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9096 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9097 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9098 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9099 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9100 ("cl-ana.typespec" ,sbcl-cl-ana.typespec)))
9101 (arguments
9102 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9103 ((#:asd-file _ "") "serialization/cl-ana.serialization.asd")
9104 ((#:asd-system-name _ #f) "cl-ana.serialization")))))
9105
9106(define-public cl-ana.serialization
9107 (sbcl-package->cl-source-package sbcl-cl-ana.serialization))
26b875f6
KCB
9108
9109(define-public sbcl-cl-ana.makeres
9110 (package
9111 (inherit sbcl-cl-ana-boot0)
9112 (name "sbcl-cl-ana.makeres")
9113 (inputs
9114 `(("alexandria" ,sbcl-alexandria)
9115 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9116 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9117 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9118 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9119 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9120 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9121 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9122 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9123 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9124 ("cl-ana.map" ,sbcl-cl-ana.map)
9125 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9126 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9127 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9128 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9129 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9130 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9131 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9132 ("cl-ana.table" ,sbcl-cl-ana.table)
9133 ("external-program" ,sbcl-external-program)))
9134 (native-inputs
9135 `(("cl-fad" ,sbcl-cl-fad)))
9136 (arguments
9137 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9138 ((#:asd-file _ "") "makeres/cl-ana.makeres.asd")
9139 ((#:asd-system-name _ #f) "cl-ana.makeres")))))
9140
9141(define-public cl-ana.makeres
9142 (sbcl-package->cl-source-package sbcl-cl-ana.makeres))
ad9e007e
KCB
9143
9144(define-public sbcl-cl-ana.makeres-macro
9145 (package
9146 (inherit sbcl-cl-ana-boot0)
9147 (name "sbcl-cl-ana.makeres-macro")
9148 (inputs
9149 `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9150 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9151 (arguments
9152 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9153 ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd")
9154 ((#:asd-system-name _ #f) "cl-ana.makeres-macro")))))
9155
9156(define-public cl-ana.makeres-macro
9157 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro))
98e5f45e
KCB
9158
9159(define-public sbcl-cl-ana.makeres-block
9160 (package
9161 (inherit sbcl-cl-ana-boot0)
9162 (name "sbcl-cl-ana.makeres-block")
9163 (inputs
9164 `(("alexandria" ,sbcl-alexandria)
9165 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9166 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9167 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9168 (arguments
9169 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9170 ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd")
9171 ((#:asd-system-name _ #f) "cl-ana.makeres-block")))))
9172
9173(define-public cl-ana.makeres-block
9174 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block))
5ae0b25e
KCB
9175
9176(define-public sbcl-cl-ana.makeres-progress
9177 (package
9178 (inherit sbcl-cl-ana-boot0)
9179 (name "sbcl-cl-ana.makeres-progress")
9180 (inputs
9181 `(("alexandria" ,sbcl-alexandria)
9182 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9183 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9184 (arguments
9185 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9186 ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd")
9187 ((#:asd-system-name _ #f) "cl-ana.makeres-progress")))))
9188
9189(define-public cl-ana.makeres-progress
9190 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress))
a9810e70
KCB
9191
9192(define-public sbcl-cl-ana.makeres-table
9193 (package
9194 (inherit sbcl-cl-ana-boot0)
9195 (name "sbcl-cl-ana.makeres-table")
9196 (inputs
9197 `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9198 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9199 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9200 ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils)
9201 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9202 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9203 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9204 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9205 ("cl-ana.memoization" ,sbcl-cl-ana.memoization)
9206 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9207 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9208 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9209 ("cl-ana.table" ,sbcl-cl-ana.table)))
9210 (native-inputs
9211 `(("cl-fad" ,sbcl-cl-fad)))
9212 (arguments
9213 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9214 ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd")
9215 ((#:asd-system-name _ #f) "cl-ana.makeres-table")))))
9216
9217(define-public cl-ana.makeres-table
9218 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table))
2e43d80d
KCB
9219
9220(define-public sbcl-cl-ana.makeres-graphviz
9221 (package
9222 (inherit sbcl-cl-ana-boot0)
9223 (name "sbcl-cl-ana.makeres-graphviz")
9224 (inputs
9225 `(("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9226 ("external-program" ,sbcl-external-program)))
9227 (arguments
9228 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9229 ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd")
9230 ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz")))))
9231
9232(define-public cl-ana.makeres-graphviz
9233 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz))
d154dd5a
KCB
9234
9235(define-public sbcl-cl-ana.makeres-branch
9236 (package
9237 (inherit sbcl-cl-ana-boot0)
9238 (name "sbcl-cl-ana.makeres-branch")
9239 (inputs
9240 `(("alexandria" ,sbcl-alexandria)
9241 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9242 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9243 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9244 ("cl-ana.map" ,sbcl-cl-ana.map)
9245 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)))
9246 (arguments
9247 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9248 ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd")
9249 ((#:asd-system-name _ #f) "cl-ana.makeres-branch")))))
9250
9251(define-public cl-ana.makeres-branch
9252 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch))
5f413815
KCB
9253
9254(define-public sbcl-cl-ana.makeres-utils
9255 (package
9256 (inherit sbcl-cl-ana-boot0)
9257 (name "sbcl-cl-ana.makeres-utils")
9258 (inputs
9259 `(("alexandria" ,sbcl-alexandria)
9260 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9261 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9262 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9263 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9264 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9265 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9266 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9267 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9268 ("cl-ana.map" ,sbcl-cl-ana.map)
9269 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9270 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9271 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9272 ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils)
9273 ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils)
9274 ("cl-ana.table" ,sbcl-cl-ana.table)))
9275 (native-inputs
9276 `(("cl-fad" ,sbcl-cl-fad)))
9277 (arguments
9278 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9279 ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd")
9280 ((#:asd-system-name _ #f) "cl-ana.makeres-utils")))))
9281
9282(define-public cl-ana.makeres-utils
9283 (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils))
c16e3dfb
KCB
9284
9285(define-public sbcl-cl-ana.statistical-learning
9286 (package
9287 (inherit sbcl-cl-ana-boot0)
9288 (name "sbcl-cl-ana.statistical-learning")
9289 (inputs
9290 `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9291 ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils)
9292 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9293 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9294 ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils)
9295 ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils)
9296 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9297 ("cl-ana.map" ,sbcl-cl-ana.map)
9298 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)))
9299 (native-inputs
9300 `(("cl-fad" ,sbcl-cl-fad)))
9301 (arguments
9302 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9303 ((#:asd-file _ "")
9304 "statistical-learning/cl-ana.statistical-learning.asd")
9305 ((#:asd-system-name _ #f) "cl-ana.statistical-learning")))))
9306
9307(define-public cl-ana.statistical-learning
9308 (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning))
13e3bc1c
KCB
9309
9310(define-public sbcl-cl-ana
9311 (package
9312 (inherit sbcl-cl-ana-boot0)
9313 (name "sbcl-cl-ana")
9314 (inputs
9315 `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree)
9316 ("cl-ana.calculus" ,sbcl-cl-ana.calculus)
9317 ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils)
9318 ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table)
9319 ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation)
9320 ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils)
9321 ("cl-ana.fitting" ,sbcl-cl-ana.fitting)
9322 ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math)
9323 ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils)
9324 ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table)
9325 ("cl-ana.histogram" ,sbcl-cl-ana.histogram)
9326 ("cl-ana.int-char" ,sbcl-cl-ana.int-char)
9327 ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra)
9328 ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz)
9329 ("cl-ana.map" ,sbcl-cl-ana.map)
9330 ("cl-ana.makeres" ,sbcl-cl-ana.makeres)
9331 ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block)
9332 ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch)
9333 ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz)
9334 ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro)
9335 ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress)
9336 ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table)
9337 ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils)
9338 ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions)
9339 ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table)
9340 ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils)
9341 ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils)
9342 ("cl-ana.plotting" ,sbcl-cl-ana.plotting)
9343 ("cl-ana.quantity" ,sbcl-cl-ana.quantity)
9344 ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table)
9345 ("cl-ana.serialization" ,sbcl-cl-ana.serialization)
9346 ("cl-ana.statistics" ,sbcl-cl-ana.statistics)
9347 ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning)
9348 ("cl-ana.table" ,sbcl-cl-ana.table)
9349 ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils)
9350 ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing)
9351 ("cl-ana.tensor" ,sbcl-cl-ana.tensor)
9352 ("libffi" ,libffi)))
9353 (native-inputs
9354 `(("cl-fad" ,sbcl-cl-fad)))
9355 (arguments
9356 (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0)
9357 ((#:asd-file _ "") "cl-ana.asd")
9358 ((#:asd-system-name _ #f) "cl-ana")))))
9359
9360(define-public cl-ana
9361 (sbcl-package->cl-source-package sbcl-cl-ana))
f35b596e
GLV
9362
9363(define-public sbcl-archive
9364 (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc")
9365 (revision "1"))
9366 (package
9367 (name "sbcl-archive")
9368 (version (git-version "0.9" revision commit))
9369 (source (origin
9370 (method git-fetch)
9371 (uri (git-reference
9372 (url "https://github.com/sharplispers/archive.git")
9373 (commit commit)))
9374 (file-name (git-file-name name version))
9375 (sha256
9376 (base32
9377 "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p"))))
9378 (build-system asdf-build-system/sbcl)
9379 (inputs
9380 `(("cl-fad" ,sbcl-cl-fad)
9381 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9382 (synopsis "Common Lisp library for tar and cpio archives")
9383 (description
9384 "This is a Common Lisp library to read and write disk-based file
9385archives such as those generated by the tar and cpio programs on Unix.")
9386 (home-page "https://github.com/sharplispers/archive")
9387 (license license:bsd-3))))
9388
9389(define-public cl-archive
9390 (sbcl-package->cl-source-package sbcl-archive))
9391
9392(define-public ecl-archive
9393 (sbcl-package->ecl-package sbcl-archive))
33865d32
GLV
9394
9395(define-public sbcl-misc-extensions
9396 (let ((commit "101c05112bf2f1e1bbf527396822d2f50ca6327a")
9397 (revision "1"))
9398 (package
9399 (name "sbcl-misc-extensions")
9400 (version (git-version "3.3" revision commit))
9401 (source
9402 (origin
9403 (method git-fetch)
9404 (uri (git-reference
9405 (url "https://gitlab.common-lisp.net/misc-extensions/devel.git")
9406 (commit commit)))
9407 (file-name (git-file-name name version))
9408 (sha256
9409 (base32
9410 "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0"))))
9411 (build-system asdf-build-system/sbcl)
9412 (synopsis "Collection of small macros and extensions for Common Lisp")
9413 (description
9414 "This project is intended as a catchall for small, general-purpose
9415extensions to Common Lisp. It contains:
9416
9417@itemize
9418@item @code{new-let}, a macro that combines and generalizes @code{let},
9419@code{let*} and @code{multiple-value-bind},
9420@item @code{gmap}, an iteration macro that generalizes @code{map}.
9421@end itemize\n")
9422 (home-page "https://common-lisp.net/project/misc-extensions/")
9423 (license license:public-domain))))
9424
9425(define-public cl-misc-extensions
9426 (sbcl-package->cl-source-package sbcl-misc-extensions))
9427
9428(define-public ecl-misc-extensions
9429 (sbcl-package->ecl-package sbcl-misc-extensions))
7765f4a4
GLV
9430
9431(define-public sbcl-mt19937
9432 (package
9433 (name "sbcl-mt19937")
9434 (version "1.1")
9435 (source
9436 (origin
9437 (method url-fetch)
9438 (uri (string-append "https://common-lisp.net/project/asdf-packaging/"
9439 "mt19937-latest.tar.gz"))
9440 (sha256
9441 (base32
9442 "1iw636b0iw5ygkv02y8i41lh7xj0acglv0hg5agryn0zzi2nf1xv"))))
9443 (build-system asdf-build-system/sbcl)
9444 (synopsis "Mersenne Twister pseudo-random number generator")
9445 (description
9446 "MT19937 is a portable Mersenne Twister pseudo-random number generator
9447for Common Lisp.")
9448 (home-page "https://www.cliki.net/mt19937")
9449 (license license:public-domain)))
9450
9451(define-public cl-mt19937
9452 (sbcl-package->cl-source-package sbcl-mt19937))
9453
9454(define-public ecl-mt19937
9455 (sbcl-package->ecl-package sbcl-mt19937))
7ca8925f
GLV
9456
9457(define-public sbcl-fset
9458 (let ((commit "6d2f9ded8934d2b42f2571a0ba5bda091037d852")
9459 (revision "1"))
9460 (package
9461 (name "sbcl-fset")
9462 (version (git-version "1.3.2" revision commit))
9463 (source
9464 (origin
9465 (method git-fetch)
9466 (uri (git-reference
9467 (url "https://github.com/slburson/fset")
9468 (commit commit)))
9469 (file-name (git-file-name name version))
9470 (sha256
9471 (base32
9472 "127acblwrbqicx47h6sgvknz1cqyfn8p4xkhkn1m7hxh8w5gk1zy"))
9473 (snippet '(begin
9474 ;; Remove obsolete copy of system definition.
9475 (delete-file "Code/fset.asd")
9476 #t))))
9477 (build-system asdf-build-system/sbcl)
9478 (inputs
9479 `(("misc-extensions" ,sbcl-misc-extensions)
9480 ("mt19937" ,sbcl-mt19937)
9481 ("named-readtables" ,sbcl-named-readtables)))
9482 (synopsis "Functional set-theoretic collections library")
9483 (description
9484 "FSet is a functional set-theoretic collections library for Common Lisp.
9485Functional means that all update operations return a new collection rather than
9486modifying an existing one in place. Set-theoretic means that collections may
9487be nested arbitrarily with no additional programmer effort; for instance, sets
9488may contain sets, maps may be keyed by sets, etc.")
9489 (home-page "https://common-lisp.net/project/fset/Site/index.html")
9490 (license license:llgpl))))
9491
9492(define-public cl-fset
9493 (sbcl-package->cl-source-package sbcl-fset))
f7ce86ed
GLV
9494
9495(define-public sbcl-cl-cont
9496 (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a")
9497 (revision "1"))
9498 (package
9499 (name "sbcl-cl-cont")
9500 (version (git-version "0.3.8" revision commit))
9501 (source
9502 (origin
9503 (method git-fetch)
9504 (uri (git-reference
9505 (url "https://gitlab.common-lisp.net/cl-cont/cl-cont.git")
9506 (commit commit)))
9507 (file-name (git-file-name name version))
9508 (sha256
9509 (base32
9510 "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz"))))
9511 (build-system asdf-build-system/sbcl)
9512 (inputs
9513 `(("alexandria" ,sbcl-alexandria)
9514 ("closer-mop" ,sbcl-closer-mop)))
9515 (native-inputs
9516 `(("rt" ,sbcl-rt)))
9517 (synopsis "Delimited continuations for Common Lisp")
9518 (description
9519 "This is a library that implements delimited continuations by
9520transforming Common Lisp code to continuation passing style.")
9521 (home-page "https://common-lisp.net/project/cl-cont/")
9522 (license license:llgpl))))
9523
9524(define-public cl-cont
9525 (sbcl-package->cl-source-package sbcl-cl-cont))
9526
9527(define-public ecl-cl-cont
9528 (sbcl-package->ecl-package sbcl-cl-cont))
4101c714
GLV
9529
9530(define-public sbcl-cl-coroutine
9531 (let ((commit "de098f8d5debd8b14ef6864b5bdcbbf5ddbcfd72")
9532 (revision "1"))
9533 (package
9534 (name "sbcl-cl-coroutine")
9535 (version (git-version "0.1" revision commit))
9536 (source
9537 (origin
9538 (method git-fetch)
9539 (uri (git-reference
9540 (url "https://github.com/takagi/cl-coroutine.git")
9541 (commit commit)))
9542 (file-name (git-file-name name version))
9543 (sha256
9544 (base32
9545 "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l"))))
9546 (build-system asdf-build-system/sbcl)
9547 (inputs
9548 `(("alexandria" ,sbcl-alexandria)
9549 ("cl-cont" ,sbcl-cl-cont)))
9550 (native-inputs
9551 `(("prove" ,sbcl-prove)))
9552 (arguments
9553 `(;; TODO: Fix the tests. They fail with:
9554 ;; "Component CL-COROUTINE-ASD::CL-COROUTINE-TEST not found"
9555 #:tests? #f
9556 #:phases
9557 (modify-phases %standard-phases
9558 (add-after 'unpack 'fix-tests
9559 (lambda _
9560 (substitute* "cl-coroutine-test.asd"
9561 (("cl-test-more")
9562 "prove"))
9563 #t)))))
9564 (synopsis "Coroutine library for Common Lisp")
9565 (description
9566 "This is a coroutine library for Common Lisp implemented using the
9567continuations of the @code{cl-cont} library.")
9568 (home-page "https://github.com/takagi/cl-coroutine")
9569 (license license:llgpl))))
9570
9571(define-public cl-coroutine
9572 (sbcl-package->cl-source-package sbcl-cl-coroutine))
9573
9574(define-public ecl-cl-coroutine
9575 (sbcl-package->ecl-package sbcl-cl-coroutine))
5b8bc813
GLV
9576
9577(define-public sbcl-vom
9578 (let ((commit "1aeafeb5b74c53741b79497e0ef4acf85c92ff24")
9579 (revision "1"))
9580 (package
9581 (name "sbcl-vom")
9582 (version (git-version "0.1.4" revision commit))
9583 (source
9584 (origin
9585 (method git-fetch)
9586 (uri (git-reference
9587 (url "https://github.com/orthecreedence/vom.git")
9588 (commit commit)))
9589 (file-name (git-file-name name version))
9590 (sha256
9591 (base32
9592 "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy"))))
9593 (build-system asdf-build-system/sbcl)
9594 (synopsis "Tiny logging utility for Common Lisp")
9595 (description
9596 "Vom is a logging library for Common Lisp. It's goal is to be useful
9597and small. It does not provide a lot of features as other loggers do, but
9598has a small codebase that's easy to understand and use.")
9599 (home-page "https://github.com/orthecreedence/vom")
9600 (license license:expat))))
9601
9602(define-public cl-vom
9603 (sbcl-package->cl-source-package sbcl-vom))
9604
9605(define-public ecl-vom
9606 (sbcl-package->ecl-package sbcl-vom))
37b48dc1
GLV
9607
9608(define-public sbcl-cl-libuv
9609 (let ((commit "32100c023c518038d0670a103eaa4d50dd785d29")
9610 (revision "1"))
9611 (package
9612 (name "sbcl-cl-libuv")
9613 (version (git-version "0.1.6" revision commit))
9614 (source
9615 (origin
9616 (method git-fetch)
9617 (uri (git-reference
9618 (url "https://github.com/orthecreedence/cl-libuv.git")
9619 (commit commit)))
9620 (file-name (git-file-name name version))
9621 (sha256
9622 (base32
9623 "1kwix4si8a8hza34ab2k7whrh7z0yrmx39v2wc3qblv9m244jkh1"))))
9624 (build-system asdf-build-system/sbcl)
9625 (inputs
9626 `(("alexandria" ,sbcl-alexandria)
9627 ("cffi" ,sbcl-cffi)
9628 ("cffi-grovel" ,sbcl-cffi-grovel)
9629 ("libuv" ,libuv)))
9630 (arguments
9631 `(#:phases
9632 (modify-phases %standard-phases
9633 (add-after 'unpack 'fix-paths
9634 (lambda* (#:key inputs #:allow-other-keys)
9635 (substitute* "lib.lisp"
9636 (("/usr/lib/libuv.so")
9637 (string-append (assoc-ref inputs "libuv")
9638 "/lib/libuv.so")))
9639 #t))
9640 (add-after 'fix-paths 'fix-system-definition
9641 (lambda _
9642 (substitute* "cl-libuv.asd"
9643 (("#:cffi #:alexandria")
9644 "#:cffi #:cffi-grovel #:alexandria"))
9645 #t)))))
9646 (synopsis "Common Lisp bindings to libuv")
9647 (description
9648 "This library provides low-level libuv bindings for Common Lisp.")
9649 (home-page "https://github.com/orthecreedence/cl-libuv")
9650 (license license:expat))))
9651
9652(define-public cl-libuv
9653 (sbcl-package->cl-source-package sbcl-cl-libuv))
9654
9655(define-public ecl-cl-libuv
9656 (sbcl-package->ecl-package sbcl-cl-libuv))
1cc1dfbb
GLV
9657
9658(define-public sbcl-cl-async-base
9659 (let ((commit "f6423e44404a44434d803605e0d2e17199158e28")
9660 (revision "1"))
9661 (package
9662 (name "sbcl-cl-async-base")
9663 (version (git-version "0.6.1" revision commit))
9664 (source
9665 (origin
9666 (method git-fetch)
9667 (uri (git-reference
9668 (url "https://github.com/orthecreedence/cl-async.git")
9669 (commit commit)))
9670 (file-name (git-file-name name version))
9671 (sha256
9672 (base32
9673 "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x"))))
9674 (build-system asdf-build-system/sbcl)
9675 (inputs
9676 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9677 ("cffi" ,sbcl-cffi)
9678 ("cl-libuv" ,sbcl-cl-libuv)))
9679 (arguments
9680 `(#:asd-file "cl-async.asd"))
9681 (synopsis "Base system for cl-async")
9682 (description
9683 "Cl-async is a library for general purpose, non-blocking programming in
9684Common Lisp. It uses the libuv library as backend.")
9685 (home-page "https://orthecreedence.github.io/cl-async/")
9686 (license license:expat))))
9687
9688(define-public cl-async-base
9689 (sbcl-package->cl-source-package sbcl-cl-async-base))
9690
9691(define-public ecl-cl-async-base
9692 (sbcl-package->ecl-package sbcl-cl-async-base))
370cf7f1
GLV
9693
9694(define-public sbcl-cl-async-util
9695 (package
9696 (inherit sbcl-cl-async-base)
9697 (name "sbcl-cl-async-util")
9698 (inputs
24de1f5a
GLV
9699 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9700 ("cffi" ,sbcl-cffi)
370cf7f1
GLV
9701 ("cl-async-base" ,sbcl-cl-async-base)
9702 ("cl-libuv" ,sbcl-cl-libuv)
9703 ("cl-ppcre" ,sbcl-cl-ppcre)
9704 ("fast-io" ,sbcl-fast-io)
9705 ("vom" ,sbcl-vom)))
9706 (synopsis "Internal utilities for cl-async")))
9707
9708(define-public cl-async-util
9709 (sbcl-package->cl-source-package sbcl-cl-async-util))
9710
9711(define-public ecl-cl-async-util
9712 (sbcl-package->ecl-package sbcl-cl-async-util))
8a0178dd
GLV
9713
9714(define-public sbcl-cl-async
9715 (package
9716 (inherit sbcl-cl-async-base)
9717 (name "sbcl-cl-async")
9718 (inputs
9719 `(("babel" ,sbcl-babel)
9720 ("cffi" ,sbcl-cffi)
9721 ("cl-async-base" ,sbcl-cl-async-base)
9722 ("cl-async-util" ,sbcl-cl-async-util)
9723 ("cl-libuv" ,sbcl-cl-libuv)
9724 ("cl-ppcre" ,sbcl-cl-ppcre)
9725 ("static-vectors" ,sbcl-static-vectors)
9726 ("trivial-features" ,sbcl-trivial-features)
9727 ("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
9728 (synopsis "Asynchronous operations for Common Lisp")))
9729
9730(define-public cl-async
9731 (sbcl-package->cl-source-package sbcl-cl-async))
9732
9733(define-public ecl-cl-async
9734 (sbcl-package->ecl-package sbcl-cl-async))
19f36366
GLV
9735
9736(define-public sbcl-cl-async-repl
9737 (package
9738 (inherit sbcl-cl-async-base)
9739 (name "sbcl-cl-async-repl")
9740 (inputs
9741 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
9742 ("cl-async" ,sbcl-cl-async)))
9743 (arguments
9744 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9745 ((#:asd-file _ "") "cl-async-repl.asd")))
9746 (synopsis "REPL integration for cl-async")))
9747
9748(define-public cl-async-repl
9749 (sbcl-package->cl-source-package sbcl-cl-async-repl))
9750
9751(define-public ecl-cl-async-repl
9752 (sbcl-package->ecl-package sbcl-cl-async-repl))
ae51aa91
GLV
9753
9754(define-public sbcl-cl-async-ssl
9755 (package
9756 (inherit sbcl-cl-async-base)
9757 (name "sbcl-cl-async-ssl")
9758 (inputs
9759 `(("cffi" ,sbcl-cffi)
9760 ("cl-async" ,sbcl-cl-async)
9761 ("openssl" ,openssl)
9762 ("vom" ,sbcl-vom)))
9763 (arguments
9764 (substitute-keyword-arguments (package-arguments sbcl-cl-async-base)
9765 ((#:asd-file _ "") "cl-async-ssl.asd")
9766 ((#:phases phases '%standard-phases)
9767 `(modify-phases ,phases
9768 (add-after 'unpack 'fix-paths
9769 (lambda* (#:key inputs #:allow-other-keys)
9770 (substitute* "src/ssl/package.lisp"
9771 (("libcrypto\\.so")
9772 (string-append (assoc-ref inputs "openssl")
9773 "/lib/libcrypto.so"))
9774 (("libssl\\.so")
9775 (string-append (assoc-ref inputs "openssl")
9776 "/lib/libssl.so")))
9777 #t))))))
9778 (synopsis "SSL wrapper around cl-async socket implementation")))
9779
9780(define-public cl-async-ssl
9781 (sbcl-package->cl-source-package sbcl-cl-async-ssl))
9782
9783(define-public ecl-cl-async-ssl
9784 (sbcl-package->ecl-package sbcl-cl-async-ssl))
34f9b581
GLV
9785
9786(define-public sbcl-blackbird
9787 (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
9788 (revision "1"))
9789 (package
9790 (name "sbcl-blackbird")
9791 (version (git-version "0.5.2" revision commit))
9792 (source
9793 (origin
9794 (method git-fetch)
9795 (uri (git-reference
9796 (url "https://github.com/orthecreedence/blackbird.git")
9797 (commit commit)))
9798 (file-name (git-file-name name version))
9799 (sha256
9800 (base32
9801 "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c"))))
9802 (build-system asdf-build-system/sbcl)
9803 (inputs
9804 `(("vom" ,sbcl-vom)))
9805 (native-inputs
9806 `(("cl-async" ,sbcl-cl-async)
9807 ("fiveam" ,sbcl-fiveam)))
9808 (synopsis "Promise implementation for Common Lisp")
9809 (description
9810 "This is a standalone promise implementation for Common Lisp. It is
9811the successor to the now-deprecated cl-async-future project.")
e0318062 9812 (home-page "https://orthecreedence.github.io/blackbird/")
34f9b581
GLV
9813 (license license:expat))))
9814
9815(define-public cl-blackbird
9816 (sbcl-package->cl-source-package sbcl-blackbird))
9817
9818(define-public ecl-blackbird
9819 (sbcl-package->ecl-package sbcl-blackbird))
c5eedf80
GLV
9820
9821(define-public sbcl-cl-async-future
9822 (let ((commit "ee36c22a69a9516407458d2ed8b475f1fc473959")
9823 (revision "1"))
9824 (package
9825 (name "sbcl-cl-async-future")
9826 (version (git-version "0.4.4.1" revision commit))
9827 (source
9828 (origin
9829 (method git-fetch)
9830 (uri (git-reference
9831 (url "https://github.com/orthecreedence/cl-async-future.git")
9832 (commit commit)))
9833 (file-name (git-file-name name version))
9834 (sha256
9835 (base32
9836 "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh"))))
9837 (build-system asdf-build-system/sbcl)
9838 (inputs
9839 `(("blackbird" ,sbcl-blackbird)))
9840 (native-inputs
9841 `(("cl-async" ,sbcl-cl-async)
9842 ("eos" ,sbcl-eos)))
9843 (synopsis "Futures implementation for Common Lisp")
9844 (description
9845 "This is futures implementation for Common Lisp. It plugs in nicely
9846to cl-async.")
e0318062 9847 (home-page "https://orthecreedence.github.io/cl-async/future")
c5eedf80
GLV
9848 (license license:expat))))
9849
9850(define-public cl-async-future
9851 (sbcl-package->cl-source-package sbcl-cl-async-future))
9852
9853(define-public ecl-cl-async-future
9854 (sbcl-package->ecl-package sbcl-cl-async-future))
8ea00edf
GLV
9855
9856(define-public sbcl-green-threads
9857 (let ((commit "fff5ebecb441a37e5c511773716aafd84a3c5840")
9858 (revision "1"))
9859 (package
9860 (name "sbcl-green-threads")
9861 (version (git-version "0.3" revision commit))
9862 (source
9863 (origin
9864 (method git-fetch)
9865 (uri (git-reference
9866 (url "https://github.com/thezerobit/green-threads.git")
9867 (commit commit)))
9868 (file-name (git-file-name name version))
9869 (sha256
9870 (base32
9871 "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz"))))
9872 (build-system asdf-build-system/sbcl)
9873 (inputs
9874 `(("cl-async-future" ,sbcl-cl-async-future)
9875 ("cl-cont" ,sbcl-cl-cont)))
9876 (native-inputs
9877 `(("prove" ,sbcl-prove)))
9878 (arguments
9879 `(;; TODO: Fix the tests. They fail with:
9880 ;; "The function BLACKBIRD::PROMISE-VALUES is undefined"
9881 #:tests? #f
9882 #:phases
9883 (modify-phases %standard-phases
9884 (add-after 'unpack 'fix-tests
9885 (lambda _
9886 (substitute* "green-threads-test.asd"
9887 (("cl-test-more")
9888 "prove"))
9889 #t)))))
9890 (synopsis "Cooperative multitasking library for Common Lisp")
9891 (description
9892 "This library allows for cooperative multitasking with help of cl-cont
9893for continuations. It tries to mimic the API of bordeaux-threads as much as
9894possible.")
9895 (home-page "https://github.com/thezerobit/green-threads")
9896 (license license:bsd-3))))
9897
9898(define-public cl-green-threads
9899 (sbcl-package->cl-source-package sbcl-green-threads))
9900
9901(define-public ecl-green-threads
9902 (sbcl-package->ecl-package sbcl-green-threads))
3ac0e64d
GLV
9903
9904(define-public sbcl-cl-base32
9905 (let ((commit "8cdee06fab397f7b0a19583b57e7f0c98405be85")
9906 (revision "1"))
9907 (package
9908 (name "sbcl-cl-base32")
9909 (version (git-version "0.1" revision commit))
9910 (source
9911 (origin
9912 (method git-fetch)
9913 (uri (git-reference
9914 (url "https://github.com/hargettp/cl-base32.git")
9915 (commit commit)))
9916 (file-name (git-file-name name version))
9917 (sha256
9918 (base32 "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8"))))
9919 (build-system asdf-build-system/sbcl)
9920 (native-inputs
9921 `(("lisp-unit" ,sbcl-lisp-unit)))
9922 (synopsis "Common Lisp library for base32 encoding and decoding")
9923 (description
9924 "This package provides functions for base32 encoding and decoding as
9925defined in RFC4648.")
9926 (home-page "https://github.com/hargettp/cl-base32")
9927 (license license:expat))))
9928
9929(define-public cl-base32
9930 (sbcl-package->cl-source-package sbcl-cl-base32))
9931
9932(define-public ecl-cl-base32
9933 (sbcl-package->ecl-package sbcl-cl-base32))
c5bbcb82
GLV
9934
9935(define-public sbcl-cl-z85
9936 (let ((commit "85b3951a9cfa2603acb6aee15567684f9a108098")
9937 (revision "1"))
9938 (package
9939 (name "sbcl-cl-z85")
9940 (version (git-version "1.0" revision commit))
9941 (source
9942 (origin
9943 (method git-fetch)
9944 (uri (git-reference
9945 (url "https://github.com/glv2/cl-z85.git")
9946 (commit commit)))
9947 (file-name (git-file-name name version))
9948 (sha256
9949 (base32 "0r27pidjaxbm7k1rr90nnajwl5xm2kp65g1fv0fva17lzy45z1mp"))))
9950 (build-system asdf-build-system/sbcl)
9951 (native-inputs
9952 `(("cl-octet-streams" ,sbcl-cl-octet-streams)
9953 ("fiveam" ,sbcl-fiveam)))
9954 (synopsis "Common Lisp library for Z85 encoding and decoding")
9955 (description
9956 "This package provides functions to encode or decode byte vectors or
9957byte streams using the Z85 format, which is a base-85 encoding used by
9958ZeroMQ.")
9959 (home-page "https://github.com/glv2/cl-z85")
9960 (license license:gpl3+))))
9961
9962(define-public cl-z85
9963 (sbcl-package->cl-source-package sbcl-cl-z85))
9964
9965(define-public ecl-cl-z85
9966 (sbcl-package->ecl-package sbcl-cl-z85))
d3a2df68
GLV
9967
9968(define-public sbcl-ltk
9969 (package
9970 (name "sbcl-ltk")
9971 (version "0.992")
9972 (source
9973 (origin
9974 (method git-fetch)
9975 (uri (git-reference
9976 (url "https://github.com/herth/ltk.git")
9977 (commit version)))
9978 (file-name (git-file-name name version))
9979 (sha256
9980 (base32 "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x"))))
9981 (build-system asdf-build-system/sbcl)
9982 (inputs
9983 `(("imagemagick" ,imagemagick)
9984 ("tk" ,tk)))
9985 (arguments
9986 `(#:asd-file "ltk/ltk.asd"
9987 #:tests? #f
9988 #:phases (modify-phases %standard-phases
9989 (add-after 'unpack 'fix-paths
9990 (lambda* (#:key inputs #:allow-other-keys)
9991 (substitute* "ltk/ltk.lisp"
9992 (("#-freebsd \"wish\"")
9993 (string-append "#-freebsd \""
9994 (assoc-ref inputs "tk")
9995 "/bin/wish\""))
9996 (("do-execute \"convert\"")
9997 (string-append "do-execute \""
9998 (assoc-ref inputs "imagemagick")
9999 "/bin/convert\"")))
10000 #t)))))
10001 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10002 (description
10003 "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written
10004in pure Common Lisp and does not require any Tk knowledge for its usage.")
10005 (home-page "http://www.peter-herth.de/ltk/")
10006 (license license:llgpl)))
10007
10008(define-public cl-ltk
10009 (sbcl-package->cl-source-package sbcl-ltk))
10010
10011(define-public ecl-ltk
10012 (sbcl-package->ecl-package sbcl-ltk))
811747f9
GLV
10013
10014(define-public sbcl-ltk-mw
10015 (package
10016 (inherit sbcl-ltk)
10017 (name "sbcl-ltk-mw")
10018 (inputs
10019 `(("ltk" ,sbcl-ltk)))
10020 (arguments
10021 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10022 ((#:asd-file _) "ltk/ltk-mw.asd")
10023 ((#:phases _) '%standard-phases)))
10024 (synopsis "Extra widgets for LTK")
10025 (description
10026 "This is a collection of higher-level widgets built on top of LTK.")))
10027
10028(define-public cl-ltk-mw
10029 (sbcl-package->cl-source-package sbcl-ltk-mw))
10030
10031(define-public ecl-ltk-mw
10032 (sbcl-package->ecl-package sbcl-ltk-mw))
b72629eb
GLV
10033
10034(define-public sbcl-ltk-remote
10035 (package
10036 (inherit sbcl-ltk)
10037 (name "sbcl-ltk-remote")
10038 (inputs
10039 `(("ltk" ,sbcl-ltk)))
10040 (arguments
10041 (substitute-keyword-arguments (package-arguments sbcl-ltk)
10042 ((#:asd-file _) "ltk/ltk-remote.asd")
10043 ((#:phases _) '%standard-phases)))
10044 (synopsis "Remote GUI support for LTK")
10045 (description
10046 "This LTK extension allows the GUI to be displayed on a computer different
10047from the one running the Lisp program by using a TCP connection.")))
10048
10049(define-public cl-ltk-remote
10050 (sbcl-package->cl-source-package sbcl-ltk-remote))
95abaafb
GLV
10051
10052(define-public sbcl-cl-lex
10053 (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b")
10054 (revision "1"))
10055 (package
10056 (name "sbcl-cl-lex")
10057 (version (git-version "1.1.3" revision commit))
10058 (source
10059 (origin
10060 (method git-fetch)
10061 (uri (git-reference
10062 (url "https://github.com/djr7C4/cl-lex.git")
10063 (commit commit)))
10064 (file-name (git-file-name name version))
10065 (sha256
10066 (base32 "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y"))))
10067 (build-system asdf-build-system/sbcl)
10068 (inputs
10069 `(("cl-ppcre" ,sbcl-cl-ppcre)))
10070 (synopsis "Common Lisp macros for generating lexical analyzers")
10071 (description
10072 "This is a Common Lisp library providing a set of macros for generating
10073lexical analyzers automatically. The lexers generated using @code{cl-lex} can
10074be used with @code{cl-yacc}.")
10075 (home-page "https://github.com/djr7C4/cl-lex")
10076 (license license:gpl3))))
10077
10078(define-public cl-lex
10079 (sbcl-package->cl-source-package sbcl-cl-lex))
10080
10081(define-public ecl-cl-lex
10082 (sbcl-package->ecl-package sbcl-cl-lex))
21a519fa
GLV
10083
10084(define-public sbcl-clunit2
10085 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
10086 (revision "1"))
10087 (package
10088 (name "sbcl-clunit2")
10089 (version (git-version "0.2.4" revision commit))
10090 (source
10091 (origin
10092 (method git-fetch)
10093 (uri (git-reference
10094 (url "https://notabug.org/cage/clunit2.git")
10095 (commit commit)))
10096 (file-name (git-file-name name version))
10097 (sha256
10098 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
10099 (build-system asdf-build-system/sbcl)
10100 (synopsis "Unit testing framework for Common Lisp")
10101 (description
10102 "CLUnit is a Common Lisp unit testing framework. It is designed to be
10103easy to use so that you can quickly start testing.")
10104 (home-page "https://notabug.org/cage/clunit2")
10105 (license license:expat))))
10106
10107(define-public cl-clunit2
10108 (sbcl-package->cl-source-package sbcl-clunit2))
10109
10110(define-public ecl-clunit2
10111 (sbcl-package->ecl-package sbcl-clunit2))
e9a36a74
GLV
10112
10113(define-public sbcl-cl-colors2
10114 (let ((commit "795aedee593b095fecde574bd999b520dd03ed24")
10115 (revision "1"))
10116 (package
10117 (name "sbcl-cl-colors2")
10118 (version (git-version "0.2.1" revision commit))
10119 (source
10120 (origin
10121 (method git-fetch)
10122 (uri (git-reference
10123 (url "https://notabug.org/cage/cl-colors2.git")
10124 (commit commit)))
10125 (file-name (git-file-name name version))
10126 (sha256
10127 (base32 "0hlyf4h5chkjdp9armla5w4kw5acikk159sym7y8c4jbjp9x47ih"))))
10128 (build-system asdf-build-system/sbcl)
10129 (native-inputs
10130 `(("clunit2" ,sbcl-clunit2)))
10131 (inputs
10132 `(("alexandria" ,sbcl-alexandria)
10133 ("cl-ppcre" ,sbcl-cl-ppcre)))
10134 (synopsis "Color library for Common Lisp")
10135 (description
10136 "This is a very simple color library for Common Lisp, providing:
10137
10138@itemize
10139@item Types for representing colors in HSV and RGB spaces.
10140@item Simple conversion functions between the above types (and also
10141hexadecimal representation for RGB).
10142@item Some predefined colors (currently X11 color names -- of course
10143the library does not depend on X11).
10144@end itemize\n")
10145 (home-page "https://notabug.org/cage/cl-colors2")
10146 (license license:boost1.0))))
10147
10148(define-public cl-colors2
10149 (sbcl-package->cl-source-package sbcl-cl-colors2))
10150
10151(define-public ecl-cl-colors2
10152 (sbcl-package->ecl-package sbcl-cl-colors2))
d5f63a73
GLV
10153
10154(define-public sbcl-cl-jpeg
10155 (let ((commit "ec557038128df6895fbfb743bfe8faf8ec2534af")
10156 (revision "1"))
10157 (package
10158 (name "sbcl-cl-jpeg")
10159 (version (git-version "2.8" revision commit))
10160 (source
10161 (origin
10162 (method git-fetch)
10163 (uri (git-reference
10164 (url "https://github.com/sharplispers/cl-jpeg.git")
10165 (commit commit)))
10166 (file-name (git-file-name name version))
10167 (sha256
10168 (base32 "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy"))))
10169 (build-system asdf-build-system/sbcl)
10170 (synopsis "JPEG image library for Common Lisp")
10171 (description
10172 "This is a baseline JPEG codec written in Common Lisp. It can be used
10173for reading and writing JPEG image files.")
10174 (home-page "https://github.com/sharplispers/cl-jpeg")
10175 (license license:bsd-3))))
10176
10177(define-public cl-jpeg
10178 (sbcl-package->cl-source-package sbcl-cl-jpeg))
10179
10180(define-public ecl-cl-jpeg
10181 (sbcl-package->ecl-package sbcl-cl-jpeg))
227aeeb6
GLV
10182
10183(define-public sbcl-nodgui
10184 (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212")
10185 (revision "1"))
10186 (package
10187 (name "sbcl-nodgui")
10188 (version (git-version "0.0.5" revision commit))
10189 (source
10190 (origin
10191 (method git-fetch)
10192 (uri (git-reference
10193 (url "https://notabug.org/cage/nodgui.git")
10194 (commit commit)))
10195 (file-name (git-file-name name version))
10196 (sha256
10197 (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8"))))
10198 (build-system asdf-build-system/sbcl)
10199 (inputs
10200 `(("alexandria" ,sbcl-alexandria)
10201 ("bordeaux-threads" ,sbcl-bordeaux-threads)
10202 ("cl-colors2" ,sbcl-cl-colors2)
10203 ("cl-jpeg" ,sbcl-cl-jpeg)
10204 ("cl-lex" ,sbcl-cl-lex)
10205 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
10206 ("cl-unicode" ,sbcl-cl-unicode)
10207 ("cl-yacc" ,sbcl-cl-yacc)
10208 ("clunit2" ,sbcl-clunit2)
10209 ("named-readtables" ,sbcl-named-readtables)
10210 ("parse-number" ,sbcl-parse-number)
10211 ("tk" ,tk)))
10212 (arguments
10213 `(#:phases (modify-phases %standard-phases
10214 (add-after 'unpack 'fix-paths
10215 (lambda* (#:key inputs #:allow-other-keys)
10216 (substitute* "src/wish-communication.lisp"
10217 (("#-freebsd \"wish\"")
10218 (string-append "#-freebsd \""
10219 (assoc-ref inputs "tk")
10220 "/bin/wish\"")))
10221 #t)))))
10222 (synopsis "Common Lisp bindings for the Tk GUI toolkit")
10223 (description
10224 "Nodgui (@emph{No Drama GUI}) is a Common Lisp binding for the Tk GUI
10225toolkit. It also provides a few additional widgets more than the standard Tk
10226ones.")
10227 (home-page "https://www.autistici.org/interzona/nodgui.html")
10228 (license license:llgpl))))
10229
10230(define-public cl-nodgui
10231 (sbcl-package->cl-source-package sbcl-nodgui))
10232
10233(define-public ecl-nodgui
10234 (sbcl-package->ecl-package sbcl-nodgui))
46cc2a38
GLV
10235
10236(define-public sbcl-salza2
10237 (package
10238 (name "sbcl-salza2")
10239 (version "2.0.9")
10240 (source
10241 (origin
10242 (method git-fetch)
10243 (uri (git-reference
10244 (url "https://github.com/xach/salza2.git")
10245 (commit (string-append "release-" version))))
10246 (file-name (git-file-name name version))
10247 (sha256
10248 (base32 "0p38rj4gq7j5k807php7hrz7l2zyyfshv8i9yms7i8lkgg3433ki"))))
10249 (build-system asdf-build-system/sbcl)
10250 (synopsis "Common Lisp library for zlib, deflate and gzip compression")
10251 (description
10252 "Salza2 is a Common Lisp library for creating compressed data in the zlib,
10253deflate, or gzip data formats, described in RFC 1950, RFC 1951, and RFC 1952,
10254respectively.")
10255 (home-page "https://www.xach.com/lisp/salza2/")
10256 (license license:bsd-2)))
10257
10258(define-public cl-salza2
10259 (sbcl-package->cl-source-package sbcl-salza2))
10260
10261(define-public ecl-salza2
10262 (sbcl-package->ecl-package sbcl-salza2))
d165821e
GLV
10263
10264(define-public sbcl-png-read
10265 (let ((commit "ec29f38a689972b9f1373f13bbbcd6b05deada88")
10266 (revision "1"))
10267 (package
10268 (name "sbcl-png-read")
10269 (version (git-version "0.3.1" revision commit))
10270 (source
10271 (origin
10272 (method git-fetch)
10273 (uri (git-reference
10274 (url "https://github.com/Ramarren/png-read.git")
10275 (commit commit)))
10276 (file-name (git-file-name name version))
10277 (sha256
10278 (base32 "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0"))))
10279 (build-system asdf-build-system/sbcl)
10280 (inputs
10281 `(("babel" ,sbcl-babel)
10282 ("chipz" ,sbcl-chipz)
10283 ("iterate" ,sbcl-iterate)))
10284 (synopsis "PNG decoder for Common Lisp")
10285 (description "This is a Common Lisp library for reading PNG images.")
10286 (home-page "https://github.com/Ramarren/png-read")
10287 (license license:bsd-3))))
10288
10289(define-public cl-png-read
10290 (sbcl-package->cl-source-package sbcl-png-read))
10291
10292(define-public ecl-png-read
10293 (sbcl-package->ecl-package sbcl-png-read))
7b875e4e
GLV
10294
10295(define-public sbcl-zpng
10296 (package
10297 (name "sbcl-zpng")
10298 (version "1.2.2")
10299 (source
10300 (origin
10301 (method git-fetch)
10302 (uri (git-reference
10303 (url "https://github.com/xach/zpng.git")
10304 (commit (string-append "release-" version))))
10305 (file-name (git-file-name name version))
10306 (sha256
10307 (base32 "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm"))))
10308 (build-system asdf-build-system/sbcl)
10309 (inputs
10310 `(("salza2" ,sbcl-salza2)))
10311 (synopsis "PNG encoder for Common Lisp")
10312 (description "This is a Common Lisp library for creating PNG images.")
10313 (home-page "https://www.xach.com/lisp/zpng/")
10314 (license license:bsd-2)))
10315
10316(define-public cl-zpng
10317 (sbcl-package->cl-source-package sbcl-zpng))
10318
10319(define-public ecl-zpng
10320 (sbcl-package->ecl-package sbcl-zpng))
5d4d4c01
GLV
10321
10322(define-public sbcl-cl-qrencode
10323 (package
10324 (name "sbcl-cl-qrencode")
10325 (version "0.1.2")
10326 (source
10327 (origin
10328 (method git-fetch)
10329 (uri (git-reference
10330 (url "https://github.com/jnjcc/cl-qrencode.git")
10331 (commit (string-append "v" version))))
10332 (file-name (git-file-name name version))
10333 (sha256
10334 (base32 "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr"))))
10335 (build-system asdf-build-system/sbcl)
10336 (native-inputs
10337 `(("lisp-unit" ,sbcl-lisp-unit)))
10338 (inputs
10339 `(("zpng" ,sbcl-zpng)))
10340 (synopsis "QR code encoder for Common Lisp")
10341 (description
10342 "This Common Lisp library provides function to make QR codes and to save
10343them as PNG files.")
10344 (home-page "https://github.com/jnjcc/cl-qrencode")
10345 (license license:gpl2+)))
10346
10347(define-public cl-qrencode
10348 (sbcl-package->cl-source-package sbcl-cl-qrencode))
10349
10350(define-public ecl-cl-qrencode
10351 (sbcl-package->ecl-package sbcl-cl-qrencode))
c6397e3e
KH
10352
10353(define-public sbcl-hdf5-cffi
10354 (let ((commit "5b5c88f191e470e4fe96b462334e3ce0806eed5c")
10355 (revision "1"))
10356 (package
10357 (name "sbcl-hdf5-cffi")
10358 (version (git-version "1.8.18" revision commit))
10359 (source
10360 (origin
10361 (method git-fetch)
10362 (uri (git-reference
10363 (url "https://github.com/hdfgroup/hdf5-cffi.git")
10364 (commit commit)))
10365 (file-name (git-file-name name version))
10366 (sha256
10367 (base32
10368 "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf"))))
10369 (build-system asdf-build-system/sbcl)
10370 (synopsis "Common Lisp bindings for the HDF5 library")
10371 (description
10372 "@code{hdf5-cffi} is a CFFI wrapper for the HDF5 library.")
10373 (home-page "https://github.com/hdfgroup/hdf5-cffi")
10374 (license (license:non-copyleft
10375 (string-append "https://github.com/HDFGroup/hdf5-cffi/raw/"
10376 commit
10377 "/LICENSE")))
10378 (inputs
10379 `(("cffi" ,sbcl-cffi)
10380 ("cffi-grovel" ,sbcl-cffi-grovel)
10381 ("hdf5" ,hdf5-1.10)))
10382 (native-inputs
10383 `(("fiveam" ,sbcl-fiveam)))
10384 (arguments
10385 `(#:asd-system-name "hdf5-cffi"
10386 #:asd-file "hdf5-cffi.asd"
10387 #:test-asd-file "hdf5-cffi.test.asd"
10388 ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd,
10389 ;; I don't know if there is a way to tell asdf-build-system to load
10390 ;; an additional system first, so tests are disabled.
10391 #:tests? #f
10392 #:phases
10393 (modify-phases %standard-phases
10394 (add-after 'unpack 'fix-paths
10395 (lambda* (#:key inputs #:allow-other-keys)
10396 (substitute* "src/library.lisp"
10397 (("libhdf5.so")
10398 (string-append
10399 (assoc-ref inputs "hdf5")
10400 "/lib/libhdf5.so")))))
10401 (add-after 'unpack 'fix-dependencies
10402 (lambda* (#:key inputs #:allow-other-keys)
10403 (substitute* "hdf5-cffi.asd"
10404 ((":depends-on \\(:cffi\\)")
10405 ":depends-on (:cffi :cffi-grovel)"))
10406 (substitute* "hdf5-cffi.test.asd"
10407 ((":depends-on \\(:cffi :hdf5-cffi")
10408 ":depends-on (:cffi :cffi-grovel :hdf5-cffi"))))))))))
10409
10410(define-public cl-hdf5-cffi
10411 (sbcl-package->cl-source-package sbcl-hdf5-cffi))
10412
10413(define-public ecl-hdf5-cffi
10414 (sbcl-package->ecl-package sbcl-hdf5-cffi))
c6e6254a
KH
10415
10416(define-public sbcl-cl-randist
10417 (package
10418 (name "sbcl-cl-randist")
10419 (version "0.4.2")
10420 (source
10421 (origin
10422 (method git-fetch)
10423 (uri (git-reference
10424 (url "https://github.com/lvaruzza/cl-randist.git")
10425 (commit "f088a54b540a7adefab7c04094a6103f9edda3d0")))
10426 (file-name (git-file-name name version))
10427 (sha256
10428 (base32
10429 "0l8hyd6nbxb7f50vyxz3rbbm7kgr1fnadc40jywy4xj5vi5kpj5g"))))
10430 (build-system asdf-build-system/sbcl)
10431 (synopsis "Random distributions for Common Lisp")
10432 (description
10433 "Manual translation from C to Common Lisp of some random number
10434generation functions from the GSL library.")
10435 (home-page "https://github.com/lvaruzza/cl-randist")
10436 (license license:bsd-2)
10437 (arguments
10438 `(#:asd-system-name "cl-randist"
10439 #:asd-file "cl-randist.asd"
10440 #:tests? #f))))
10441
10442(define-public cl-randist
10443 (sbcl-package->cl-source-package sbcl-cl-randist))
10444
10445(define-public ecl-cl-randist
10446 (sbcl-package->ecl-package sbcl-cl-randist))
41884bfa
KH
10447
10448(define-public sbcl-float-features
10449 (package
10450 (name "sbcl-float-features")
10451 (version "1.0.0")
10452 (source
10453 (origin
10454 (method git-fetch)
10455 (uri (git-reference
10456 (url "https://github.com/Shinmera/float-features.git")
10457 (commit "d3ef60181635b0849aa28cfc238053b7ca4644b0")))
10458 (file-name (git-file-name name version))
10459 (sha256
10460 (base32
10461 "0yj419k7n59x6rh3grwr6frgwwyria2il6f7wxpfazm8cskv4lzr"))))
10462 (build-system asdf-build-system/sbcl)
10463 (synopsis "Common Lisp IEEE float portability library")
10464 (description
10465 "Portability library for IEEE float features that are not
10466covered by the Common Lisp standard.")
10467 (home-page "https://github.com/Shinmera/float-features")
10468 (license license:zlib)
10469 (inputs
10470 `(("documentation-utils" ,sbcl-documentation-utils)))
10471 (arguments
10472 `(#:asd-system-name "float-features"
10473 #:asd-file "float-features.asd"
10474 #:tests? #f))))
10475
10476(define-public cl-float-features
10477 (sbcl-package->cl-source-package sbcl-float-features))
10478
10479(define-public ecl-float-features
10480 (sbcl-package->ecl-package sbcl-float-features))
06327c30
KH
10481
10482(define-public sbcl-function-cache
10483 (package
10484 (name "sbcl-function-cache")
10485 (version "1.0.3")
10486 (source
10487 (origin
10488 (method git-fetch)
10489 (uri (git-reference
10490 (url "https://github.com/AccelerationNet/function-cache.git")
10491 (commit "6a5ada401e57da2c8abf046f582029926e61fce8")))
10492 (file-name (git-file-name name version))
10493 (sha256
10494 (base32
10495 "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6"))))
10496 (build-system asdf-build-system/sbcl)
10497 (synopsis "Function caching / memoization library for Common Lisp")
10498 (description
10499 "A common lisp library that provides extensible function result
10500caching based on arguments (an expanded form of memoization).")
10501 (home-page "https://github.com/AccelerationNet/function-cache")
10502 (license
10503 (license:non-copyleft
10504 "https://github.com/AccelerationNet/function-cache/blob/master/README.md"))
10505 (inputs
10506 `(("alexandria" ,sbcl-alexandria)
10507 ("cl-interpol" ,sbcl-cl-interpol)
10508 ("iterate" ,sbcl-iterate)
10509 ("symbol-munger" ,sbcl-symbol-munger)
10510 ("closer-mop" ,sbcl-closer-mop)))
10511 (arguments
10512 `(#:asd-system-name "function-cache"
10513 #:asd-file "function-cache.asd"
10514 #:tests? #f))))
10515
10516(define-public cl-function-cache
10517 (sbcl-package->cl-source-package sbcl-function-cache))
10518
10519(define-public ecl-function-cache
10520 (sbcl-package->ecl-package sbcl-function-cache))
e4f7ef87
KH
10521
10522(define-public sbcl-type-r
10523 (let ((commit "83c89e38f2f7a7b16f1012777ecaf878cfa6a267")
10524 (revision "1"))
10525 (package
10526 (name "sbcl-type-r")
10527 (version (git-version "0.0.0" revision commit))
10528 (source
10529 (origin
10530 (method git-fetch)
10531 (uri (git-reference
10532 (url "https://github.com/guicho271828/type-r.git")
10533 (commit commit)))
10534 (file-name (git-file-name name version))
10535 (sha256
10536 (base32
10537 "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm"))))
10538 (build-system asdf-build-system/sbcl)
10539 (synopsis "Parser interface for Common Lisp built-in compound types")
10540 (description
10541 "Collections of accessor functions and patterns to access
10542the elements in compound type specifier, e.g. @code{dimensions} in
10543@code{(array element-type dimensions)}")
10544 (home-page "https://github.com/guicho271828/type-r")
10545 (license license:lgpl3+)
10546 (inputs
10547 `(("trivia" ,sbcl-trivia)
10548 ("alexandria" ,sbcl-alexandria)))
10549 (native-inputs
10550 `(("fiveam" ,sbcl-fiveam)))
10551 (arguments
10552 `(#:asd-system-name "type-r"
10553 #:asd-file "type-r.asd"
10554 #:test-asd-file "type-r.test.asd")))))
10555
10556(define-public cl-type-r
10557 (sbcl-package->cl-source-package sbcl-type-r))
8926866e
KH
10558
10559(define-public sbcl-trivialib-type-unify
10560 (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99")
10561 (revision "1"))
10562 (package
10563 (name "sbcl-trivialib-type-unify")
10564 (version (git-version "0.1" revision commit))
10565 (source
10566 (origin
10567 (method git-fetch)
10568 (uri (git-reference
10569 (url "https://github.com/guicho271828/trivialib.type-unify.git")
10570 (commit commit)))
10571 (file-name (git-file-name name version))
10572 (sha256
10573 (base32
10574 "1bkyfzbwv75p50zp8n1n9rh2r29pw3vgz91gmn2gzzkyq3khj1vh"))))
10575 (build-system asdf-build-system/sbcl)
10576 (synopsis "Common Lisp type unification")
10577 (description
10578 "Unifies a parametrized type specifier against an actual type specifier.
10579Importantly, it handles complicated array-subtypes and number-related types
10580correctly.")
10581 (home-page "https://github.com/guicho271828/trivialib.type-unify")
10582 (license license:lgpl3+)
10583 (inputs
10584 `(("alexandria" ,sbcl-alexandria)
10585 ("trivia" ,sbcl-trivia)
10586 ("introspect-environment" ,sbcl-introspect-environment)
10587 ("type-r" ,sbcl-type-r)))
10588 (native-inputs
10589 `(("fiveam" ,sbcl-fiveam)))
10590 (arguments
10591 `(#:asd-system-name "trivialib.type-unify"
10592 #:asd-file "trivialib.type-unify.asd"
10593 #:test-asd-file "trivialib.type-unify.test.asd")))))
10594
10595(define-public cl-trivialib-type-unify
10596 (sbcl-package->cl-source-package sbcl-trivialib-type-unify))
ca6c5c7f
KH
10597
10598(define-public sbcl-specialized-function
10599 (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc")
10600 (revision "1"))
10601 (package
10602 (name "sbcl-specialized-function")
10603 (version (git-version "0.0.0" revision commit))
10604 (source
10605 (origin
10606 (method git-fetch)
10607 (uri (git-reference
10608 (url "https://github.com/numcl/specialized-function.git")
10609 (commit commit)))
10610 (file-name (git-file-name name version))
10611 (sha256
10612 (base32
10613 "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj"))))
10614 (build-system asdf-build-system/sbcl)
10615 (synopsis "Julia-like dispatch for Common Lisp")
10616 (description
10617 "This library is part of NUMCL. It provides a macro
10618@code{SPECIALIZED} that performs a Julia-like dispatch on the arguments,
10619lazily compiling a type-specific version of the function from the same
10620code. The main target of this macro is speed.")
10621 (home-page "https://github.com/numcl/specialized-function")
10622 (license license:lgpl3+)
10623 (inputs
10624 `(("trivia" ,sbcl-trivia)
10625 ("alexandria" ,sbcl-alexandria)
10626 ("iterate" ,sbcl-iterate)
10627 ("lisp-namespace" ,sbcl-lisp-namespace)
10628 ("type-r" ,sbcl-type-r)
10629 ("trivial-cltl2" ,sbcl-trivial-cltl2)))
10630 (native-inputs
10631 `(("fiveam" ,sbcl-fiveam)))
10632 (arguments
10633 `(#:asd-system-name "specialized-function"
10634 #:asd-file "specialized-function.asd"
10635 #:test-asd-file "specialized-function.test.asd")))))
10636
10637(define-public cl-specialized-function
10638 (sbcl-package->cl-source-package sbcl-specialized-function))
6e0f2b95
KH
10639
10640(define-public sbcl-constantfold
10641 (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
10642 (revision "1"))
10643 (package
10644 (name "sbcl-constantfold")
10645 (version (git-version "0.1" revision commit))
10646 (source
10647 (origin
10648 (method git-fetch)
10649 (uri (git-reference
10650 (url "https://github.com/numcl/constantfold.git")
10651 (commit commit)))
10652 (file-name (git-file-name name version))
10653 (sha256
10654 (base32
10655 "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06"))))
10656 (build-system asdf-build-system/sbcl)
10657 (synopsis "Support library for numcl")
10658 (description
10659 "Support library for numcl. Registers a function as an
10660additional form that is considered as a candidate for a constant.")
10661 (home-page "https://github.com/numcl/constantfold")
10662 (license license:lgpl3+)
10663 (inputs
10664 `(("trivia" ,sbcl-trivia)
10665 ("alexandria" ,sbcl-alexandria)
10666 ("iterate" ,sbcl-iterate)
10667 ("lisp-namespace" ,sbcl-lisp-namespace)))
10668 (native-inputs
10669 `(("fiveam" ,sbcl-fiveam)))
10670 (arguments
10671 `(#:asd-system-name "constantfold"
10672 #:asd-file "constantfold.asd"
10673 #:test-asd-file "constantfold.test.asd")))))
10674
10675(define-public cl-constantfold
10676 (sbcl-package->cl-source-package sbcl-constantfold))
5ce7d186
KH
10677
10678(define-public sbcl-gtype
10679 (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66")
10680 (revision "1"))
10681 (package
10682 (name "sbcl-gtype")
10683 (version (git-version "0.1" revision commit))
10684 (source
10685 (origin
10686 (method git-fetch)
10687 (uri (git-reference
10688 (url "https://github.com/numcl/gtype.git")
10689 (commit commit)))
10690 (file-name (git-file-name name version))
10691 (sha256
10692 (base32
10693 "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b"))))
10694 (build-system asdf-build-system/sbcl)
10695 (synopsis "C++/Julia-like parametric types in Common Lisp")
10696 (description
10697 "Support library for numcl that provides Julia-like runtime parametric
10698type correctness in Common Lisp. It is based on CLtL2 extensions.")
10699 (home-page "https://github.com/numcl/gtype")
10700 (license license:lgpl3+)
10701 (inputs
10702 `(("trivialib.type-unify" ,sbcl-trivialib-type-unify)
10703 ("trivial-cltl2" ,sbcl-trivial-cltl2)
10704 ("trivia" ,sbcl-trivia)
10705 ("alexandria" ,sbcl-alexandria)
10706 ("iterate" ,sbcl-iterate)
10707 ("type-r" ,sbcl-type-r)))
10708 (native-inputs
10709 `(("fiveam" ,sbcl-fiveam)))
10710 (arguments
10711 `(#:asd-system-name "gtype"
10712 #:asd-file "gtype.asd"
10713 #:test-asd-file "gtype.test.asd")))))
10714
10715(define-public cl-gtype
10716 (sbcl-package->cl-source-package sbcl-gtype))
7ad12200
KH
10717
10718(define-public sbcl-numcl
10719 (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17")
10720 (revision "1"))
10721 (package
10722 (name "sbcl-numcl")
10723 (version (git-version "0.1.0" revision commit))
10724 (source
10725 (origin
10726 (method git-fetch)
10727 (uri (git-reference
10728 (url "https://github.com/numcl/numcl.git")
10729 (commit commit)))
10730 (file-name (git-file-name name version))
10731 (sha256
10732 (base32
10733 "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2"))))
10734 (build-system asdf-build-system/sbcl)
10735 (synopsis "Numpy clone in Common Lisp")
10736 (description
10737 "This is a Numpy clone in Common Lisp. At the moment the
10738library is written in pure Common Lisp, focusing more on correctness
10739and usefulness, not speed. Track the progress at
10740@url{https://github.com/numcl/numcl/projects/1}.")
10741 (home-page "https://github.com/numcl/numcl")
10742 (license license:lgpl3+)
10743 (inputs
10744 `(("trivia" ,sbcl-trivia)
10745 ("alexandria" ,sbcl-alexandria)
10746 ("iterate" ,sbcl-iterate)
10747 ("lisp-namespace" ,sbcl-lisp-namespace)
10748 ("type-r" ,sbcl-type-r)
10749 ("constantfold" ,sbcl-constantfold)
10750 ("cl-randist" ,sbcl-cl-randist)
10751 ("float-features" ,sbcl-float-features)
10752 ("function-cache" ,sbcl-function-cache)
10753 ("specialized-function" ,sbcl-specialized-function)
10754 ("gtype" ,sbcl-gtype)))
10755 (native-inputs
10756 `(("fiveam" ,sbcl-fiveam)))
10757 (arguments
10758 `(#:asd-system-name "numcl"
10759 #:asd-file "numcl.asd"
10760 #:test-asd-file "numcl.test.asd")))))
10761
10762(define-public cl-numcl
10763 (sbcl-package->cl-source-package sbcl-numcl))
a3f6c410
GLV
10764
10765(define-public sbcl-pzmq
10766 (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826")
10767 (revision "1"))
10768 (package
10769 (name "sbcl-pzmq")
10770 (version (git-version "0.0.0" revision commit))
10771 (source
10772 (origin
10773 (method git-fetch)
10774 (uri (git-reference
10775 (url "https://github.com/orivej/pzmq.git")
10776 (commit commit)))
10777 (file-name (git-file-name name version))
10778 (sha256
10779 (base32 "0gmwzf7h90wa7v4wnk49g0hv2mdalljpwhyigxcb967wzv8lqci9"))))
10780 (build-system asdf-build-system/sbcl)
10781 (native-inputs
10782 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
10783 ("fiveam" ,sbcl-fiveam)
10784 ("let-plus" ,sbcl-let-plus)))
10785 (inputs
10786 `(("cffi" ,sbcl-cffi)
10787 ("cffi-grovel" ,sbcl-cffi-grovel)
10788 ("zeromq" ,zeromq)))
10789 (arguments
10790 `(#:phases (modify-phases %standard-phases
10791 (add-after 'unpack 'fix-paths
10792 (lambda* (#:key inputs #:allow-other-keys)
10793 (substitute* "c-api.lisp"
10794 (("\"libzmq")
10795 (string-append "\""
10796 (assoc-ref inputs "zeromq")
10797 "/lib/libzmq")))
10798 #t)))))
10799 (synopsis "Common Lisp bindings for the ZeroMQ library")
10800 (description "This Common Lisp library provides bindings for the ZeroMQ
10801lightweight messaging kernel.")
10802 (home-page "https://github.com/orivej/pzmq")
10803 (license license:unlicense))))
10804
10805(define-public cl-pzmq
10806 (sbcl-package->cl-source-package sbcl-pzmq))
10807
10808(define-public ecl-pzmq
10809 (sbcl-package->ecl-package sbcl-pzmq))
cfc9004e
DD
10810
10811(define-public sbcl-clss
10812 (let ((revision "1")
10813 (commit "2a8e8615ab55870d4ca01928f3ed3bbeb4e75c8d"))
10814 (package
10815 (name "sbcl-clss")
10816 (version (git-version "0.3.1" revision commit))
10817 (source
10818 (origin
10819 (method git-fetch)
10820 (uri
10821 (git-reference
10822 (url "https://github.com/Shinmera/clss.git")
10823 (commit commit)))
10824 (sha256
10825 (base32 "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91"))
10826 (file-name (git-file-name name version))))
10827 (inputs
10828 `(("array-utils" ,sbcl-array-utils)
10829 ("plump" ,sbcl-plump)))
10830 (build-system asdf-build-system/sbcl)
10831 (synopsis "DOM tree searching engine based on CSS selectors")
10832 (description "CLSS is a DOM traversal engine based on CSS
10833selectors. It makes use of the Plump-DOM and is used by lQuery.")
10834 (home-page "https://github.com/Shinmera/clss")
10835 (license license:zlib))))
10836
10837(define-public cl-clss
10838 (sbcl-package->cl-source-package sbcl-clss))
10839
10840(define-public ecl-clss
10841 (sbcl-package->ecl-package sbcl-clss))
eb859957
DD
10842
10843(define-public sbcl-lquery
10844 (let ((revision "1")
10845 (commit "8048111c6b83956daa632e7a3ffbd8c9c203bd8d"))
10846 (package
10847 (name "sbcl-lquery")
10848 (version (git-version "3.2.1" revision commit))
10849 (source
10850 (origin
10851 (method git-fetch)
10852 (uri
10853 (git-reference
10854 (url "https://github.com/Shinmera/lquery.git")
10855 (commit commit)))
10856 (sha256
10857 (base32 "0520mcpxc2d6fdm8z61arpgd2z38kan7cf06qs373n5r64rakz6w"))
10858 (file-name (git-file-name name version))))
10859 (native-inputs
10860 `(("fiveam" ,sbcl-fiveam)))
10861 (inputs
10862 `(("array-utils" ,sbcl-array-utils)
10863 ("form-fiddle" ,sbcl-form-fiddle)
10864 ("plump" ,sbcl-plump)
10865 ("clss" ,sbcl-clss)))
10866 (build-system asdf-build-system/sbcl)
10867 (synopsis "Library to allow jQuery-like HTML/DOM manipulation")
10868 (description "@code{lQuery} is a DOM manipulation library written in
10869Common Lisp, inspired by and based on the jQuery syntax and
10870functions. It uses Plump and CLSS as DOM and selector engines. The
10871main idea behind lQuery is to provide a simple interface for crawling
10872and modifying HTML sites, as well as to allow for an alternative
10873approach to templating.")
10874 (home-page "https://github.com/Shinmera/lquery")
10875 (license license:zlib))))
10876
10877(define-public cl-lquery
10878 (sbcl-package->cl-source-package sbcl-lquery))
10879
10880(define-public ecl-lquery
10881 (sbcl-package->ecl-package sbcl-lquery))
8a6c0f55
GLV
10882
10883(define-public sbcl-cl-mysql
10884 (let ((commit "ab56c279c1815aec6ca0bfe85164ff7e85cfb6f9")
10885 (revision "1"))
10886 (package
10887 (name "sbcl-cl-mysql")
10888 (version (git-version "0.1" revision commit))
10889 (source
10890 (origin
10891 (method git-fetch)
10892 (uri (git-reference
10893 (url "https://github.com/hackinghat/cl-mysql.git")
10894 (commit commit)))
10895 (file-name (git-file-name name version))
10896 (sha256
10897 (base32 "0dg5ynx2ww94d0qfwrdrm7plkn43h64hs4iiq9mj2s1s4ixnp3lr"))))
10898 (build-system asdf-build-system/sbcl)
10899 (native-inputs
10900 `(("stefil" ,sbcl-stefil)))
10901 (inputs
10902 `(("cffi" ,sbcl-cffi)
10903 ("mariadb-lib" ,mariadb "lib")))
10904 (arguments
10905 `(#:tests? #f ; TODO: Tests require a running server
10906 #:phases
10907 (modify-phases %standard-phases
10908 (add-after 'unpack 'fix-paths
10909 (lambda* (#:key inputs #:allow-other-keys)
10910 (substitute* "system.lisp"
10911 (("libmysqlclient_r" all)
10912 (string-append (assoc-ref inputs "mariadb-lib")
10913 "/lib/"
10914 all)))
10915 #t)))))
10916 (synopsis "Common Lisp wrapper for MySQL")
10917 (description
10918 "@code{cl-mysql} is a Common Lisp implementation of a MySQL wrapper.")
10919 (home-page "http://www.hackinghat.com/index.php/cl-mysql")
10920 (license license:expat))))
10921
10922(define-public cl-mysql
10923 (sbcl-package->cl-source-package sbcl-cl-mysql))
c79ea1a2
GLV
10924
10925(define-public sbcl-simple-date
10926 (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a")
10927 (revision "1"))
10928 (package
10929 (name "sbcl-simple-date")
10930 (version (git-version "1.19" revision commit))
10931 (source
10932 (origin
10933 (method git-fetch)
10934 (uri (git-reference
10935 (url "https://github.com/marijnh/Postmodern.git")
10936 (commit commit)))
10937 (file-name (git-file-name name version))
10938 (sha256
10939 (base32 "0im7ymnyxjhn2w74jfg76k5gpr0gl33n31akx33hl28722ljd0hd"))))
10940 (build-system asdf-build-system/sbcl)
10941 (native-inputs
10942 `(("fiveam" ,sbcl-fiveam)))
10943 (synopsis "Basic date and time objects for Common Lisp")
10944 (description
10945 "@code{simple-date} is a very basic implementation of date and time
10946objects, used to support storing and retrieving time-related SQL types.")
10947 (home-page "https://marijnhaverbeke.nl/postmodern/")
10948 (license license:zlib))))
10949
10950(define-public cl-simple-date
10951 (sbcl-package->cl-source-package sbcl-simple-date))
10952
10953(define-public ecl-simple-date
10954 (sbcl-package->ecl-package sbcl-simple-date))
f5203d25
GLV
10955
10956(define-public sbcl-cl-postgres
10957 (package
10958 (inherit sbcl-simple-date)
10959 (name "sbcl-cl-postgres")
10960 (native-inputs
10961 `(("fiveam" ,sbcl-fiveam)
10962 ("simple-date" ,sbcl-simple-date)))
10963 (inputs
10964 `(("md5" ,sbcl-md5)
10965 ("split-sequence" ,sbcl-split-sequence)
10966 ("usocket" ,sbcl-usocket)))
10967 (arguments
10968 `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency
10969 (synopsis "Common Lisp interface for PostgreSQL")
10970 (description
10971 "@code{cl-postgres} is a low-level library used for interfacing with
10972a PostgreSQL server over a socket.")))
10973
10974(define-public cl-postgres
10975 (sbcl-package->cl-source-package sbcl-cl-postgres))
acba62d9
GLV
10976
10977(define-public sbcl-simple-date-postgres-glue
10978 (package
10979 (inherit sbcl-simple-date)
10980 (name "sbcl-simple-date-postgres-glue")
10981 (inputs
10982 `(("cl-postgres" ,sbcl-cl-postgres)
10983 ("simple-date" ,sbcl-simple-date)))
10984 (arguments
10985 `(#:asd-file "simple-date.asd"
10986 #:asd-system-name "simple-date/postgres-glue"))))
10987
10988(define-public cl-simple-date-postgres-glue
10989 (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue))
88dbe39b
GLV
10990
10991(define-public sbcl-s-sql
10992 (package
10993 (inherit sbcl-simple-date)
10994 (name "sbcl-s-sql")
10995 (inputs
10996 `(("alexandria" ,sbcl-alexandria)
10997 ("cl-postgres" ,sbcl-cl-postgres)))
10998 (arguments
10999 `(#:tests? #f)) ; TODO: Break postmodern circular dependency
11000 (synopsis "Lispy DSL for SQL")
11001 (description
11002 "@code{s-sql} is a Common Lisp library that can be used to compile
11003s-expressions to strings of SQL code, escaping any Lisp values inside, and
11004doing as much as possible of the work at compile time.")))
11005
11006(define-public cl-s-sql
11007 (sbcl-package->cl-source-package sbcl-s-sql))
add1a356
GLV
11008
11009(define-public sbcl-postmodern
11010 (package
11011 (inherit sbcl-simple-date)
11012 (name "sbcl-postmodern")
11013 (native-inputs
11014 `(("fiveam" ,sbcl-fiveam)
11015 ("simple-date" ,sbcl-simple-date)
11016 ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue)))
11017 (inputs
11018 `(("alexandria" ,sbcl-alexandria)
11019 ("bordeaux-threads" ,sbcl-bordeaux-threads)
11020 ("cl-postgres" ,sbcl-cl-postgres)
11021 ("closer-mop" ,sbcl-closer-mop)
11022 ("global-vars" ,sbcl-global-vars)
11023 ("s-sql" ,sbcl-s-sql)
11024 ("split-sequence" ,sbcl-split-sequence)))
11025 (arguments
11026 ;; TODO: Fix missing dependency errors for simple-date/postgres-glue,
11027 ;; cl-postgres/tests and s-sql/tests.
11028 `(#:tests? #f))
11029 (synopsis "Common Lisp library for interacting with PostgreSQL")
11030 (description
11031 "@code{postmodern} is a Common Lisp library for interacting with
11032PostgreSQL databases. It provides the following features:
11033
11034@itemize
11035@item Efficient communication with the database server without need for
11036foreign libraries.
11037@item Support for UTF-8 on Unicode-aware Lisp implementations.
11038@item A syntax for mixing SQL and Lisp code.
11039@item Convenient support for prepared statements and stored procedures.
11040@item A metaclass for simple database-access objects.
11041@end itemize\n")))
11042
11043(define-public cl-postmodern
11044 (sbcl-package->cl-source-package sbcl-postmodern))
47a6cde0
GLV
11045
11046(define-public sbcl-dbi
11047 (package
11048 (name "sbcl-dbi")
11049 (version "0.9.4")
11050 (source
11051 (origin
11052 (method git-fetch)
11053 (uri (git-reference
11054 (url "https://github.com/fukamachi/cl-dbi.git")
11055 (commit version)))
11056 (file-name (git-file-name name version))
11057 (sha256
11058 (base32 "0m1fsravfaizamdak84adh3jxc4j91maqnrb4m08bfbmb04cdqhs"))))
11059 (build-system asdf-build-system/sbcl)
11060 (inputs
11061 `(("bordeaux-threads" ,sbcl-bordeaux-threads)
11062 ("closer-mop" ,sbcl-closer-mop)
11063 ("split-sequence" ,sbcl-split-sequence)))
11064 (arguments
11065 `(#:tests? #f)) ; TODO: Break circular dependency with dbd-*
11066 (synopsis "Database independent interface for Common Lisp")
11067 (description
11068 "@code{dbi} is a Common Lisp library providing a database independent
11069interface for MySQL, PostgreSQL and SQLite.")
11070 (home-page "https://github.com/fukamachi/cl-dbi")
11071 (license license:llgpl)))
11072
11073(define-public cl-dbi
11074 (sbcl-package->cl-source-package sbcl-dbi))
903d0e81
GLV
11075
11076(define-public sbcl-dbd-mysql
11077 (package
11078 (inherit sbcl-dbi)
11079 (name "sbcl-dbd-mysql")
11080 (inputs
11081 `(("cl-mysql" ,sbcl-cl-mysql)
11082 ("dbi" ,sbcl-dbi)))
11083 (synopsis "Database driver for MySQL")))
11084
11085(define-public cl-dbd-mysql
11086 (sbcl-package->cl-source-package sbcl-dbd-mysql))
af469826
GLV
11087
11088(define-public sbcl-dbd-postgres
11089 (package
11090 (inherit sbcl-dbi)
11091 (name "sbcl-dbd-postgres")
11092 (inputs
11093 `(("cl-postgres" ,sbcl-cl-postgres)
11094 ("dbi" ,sbcl-dbi)
11095 ("trivial-garbage" ,sbcl-trivial-garbage)))
11096 (synopsis "Database driver for PostgreSQL")))
11097
11098(define-public cl-dbd-postgres
11099 (sbcl-package->cl-source-package sbcl-dbd-postgres))
0e9fc3d6
GLV
11100
11101(define-public sbcl-dbd-sqlite3
11102 (package
11103 (inherit sbcl-dbi)
11104 (name "sbcl-dbd-sqlite3")
11105 (inputs
11106 `(("cl-sqlite" ,sbcl-cl-sqlite)
11107 ("dbi" ,sbcl-dbi)
11108 ("trivial-garbage" ,sbcl-trivial-garbage)))
11109 (synopsis "Database driver for SQLite3")))
11110
11111(define-public cl-dbd-sqlite3
11112 (sbcl-package->cl-source-package sbcl-dbd-sqlite3))
1aa7ad1f
GLV
11113
11114(define-public sbcl-uffi
11115 (package
11116 (name "sbcl-uffi")
11117 (version "2.1.2")
11118 (source
11119 (origin
11120 (method git-fetch)
11121 (uri (git-reference
11122 (url "http://git.kpe.io/uffi.git")
11123 (commit (string-append "v" version))))
11124 (file-name (git-file-name name version))
11125 (sha256
11126 (base32 "1hqszvz0a3wk4s9faa83sc3vjxcb5rxmjclyr17yzwg55z733kry"))))
11127 (build-system asdf-build-system/sbcl)
11128 (arguments
11129 `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions
11130 #:phases
11131 (modify-phases %standard-phases
11132 (add-after 'unpack 'fix-permissions
11133 (lambda _
11134 (make-file-writable "doc/html.tar.gz")
11135 #t)))))
11136 (synopsis "Universal foreign function library for Common Lisp")
11137 (description
11138 "UFFI provides a universal foreign function interface (FFI)
11139 for Common Lisp.")
11140 (home-page "http://quickdocs.org/uffi/")
11141 (license license:llgpl)))
11142
11143(define-public cl-uffi
11144 (package
11145 (inherit (sbcl-package->cl-source-package sbcl-uffi))
11146 (arguments
11147 `(#:phases
11148 ;; asdf-build-system/source has its own phases and does not inherit
11149 ;; from asdf-build-system/sbcl phases.
11150 (modify-phases %standard-phases/source
11151 (add-after 'unpack 'fix-permissions
11152 (lambda _
11153 (make-file-writable "doc/html.tar.gz")
11154 #t)))))))
5ae56f68
GLV
11155
11156(define-public sbcl-clsql
11157 (package
11158 (name "sbcl-clsql")
11159 (version "6.7.0")
11160 (source
11161 (origin
11162 (method git-fetch)
11163 (uri (git-reference
11164 (url "http://git.kpe.io/clsql.git")
11165 (commit (string-append "v" version))))
11166 (file-name (git-file-name name version))
11167 (sha256
11168 (base32 "1v1k3s5bsy3lgd9gk459bzpb1r0kdjda25s29samxw4gsgf1fqvp"))
11169 (snippet
11170 '(begin
11171 ;; Remove precompiled libraries.
11172 (delete-file "db-mysql/clsql_mysql.dll")
11173 (delete-file "uffi/clsql_uffi.dll")
11174 (delete-file "uffi/clsql_uffi.lib")
11175 #t))))
11176 (build-system asdf-build-system/sbcl)
11177 (native-inputs
11178 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11179 ("rt" ,sbcl-rt)
11180 ("uffi" ,sbcl-uffi)))
11181 (arguments
11182 `(#:phases
11183 (modify-phases %standard-phases
11184 (add-after 'unpack 'fix-permissions
11185 (lambda _
11186 (make-file-writable "doc/html.tar.gz")
11187 #t))
11188 (add-after 'unpack 'fix-tests
11189 (lambda _
11190 (substitute* "clsql.asd"
11191 (("clsql-tests :force t")
11192 "clsql-tests"))
11193 #t)))))
11194 (synopsis "Common Lisp SQL Interface library")
11195 (description
11196 "@code{clsql} is a Common Lisp interface to SQL RDBMS based on the
11197Xanalys CommonSQL interface for Lispworks. It provides low-level database
11198interfaces as well as a functional and an object oriented interface.")
11199 (home-page "http://clsql.kpe.io/")
11200 (license license:llgpl)))
11201
11202(define-public cl-clsql
11203 (package
11204 (inherit (sbcl-package->cl-source-package sbcl-clsql))
11205 (native-inputs
11206 `(("rt" ,cl-rt)))
11207 (inputs
11208 `(("mysql" ,mysql)
11209 ("postgresql" ,postgresql)
11210 ("sqlite" ,sqlite)
11211 ("zlib" ,zlib)))
11212 (propagated-inputs
11213 `(("cl-postgres" ,cl-postgres)
11214 ("cffi-uffi-compat" ,cl-cffi-uffi-compat)
11215 ("md5" ,cl-md5)
11216 ("uffi" ,cl-uffi)))
11217 (arguments
11218 `(#:phases
11219 ;; asdf-build-system/source has its own phases and does not inherit
11220 ;; from asdf-build-system/sbcl phases.
11221 (modify-phases %standard-phases/source
11222 (add-after 'unpack 'fix-permissions
11223 (lambda _
11224 (make-file-writable "doc/html.tar.gz")
11225 #t)))))))
a5f44287
GLV
11226
11227(define-public sbcl-clsql-uffi
11228 (package
11229 (inherit sbcl-clsql)
11230 (name "sbcl-clsql-uffi")
11231 (inputs
11232 `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat)
11233 ("clsql" ,sbcl-clsql)
11234 ("uffi" ,sbcl-uffi)))
11235 (synopsis "UFFI helper functions for Common Lisp SQL interface library")))
5ad8d7aa
GLV
11236
11237(define-public sbcl-clsql-sqlite3
11238 (package
11239 (inherit sbcl-clsql)
11240 (name "sbcl-clsql-sqlite3")
11241 (inputs
11242 `(("clsql" ,sbcl-clsql)
11243 ("clsql-uffi" ,sbcl-clsql-uffi)
11244 ("sqlite" ,sqlite)))
11245 (arguments
11246 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11247 ((#:phases phases '%standard-phases)
11248 `(modify-phases ,phases
11249 (add-after 'unpack 'fix-paths
11250 (lambda* (#:key inputs #:allow-other-keys)
11251 (substitute* "db-sqlite3/sqlite3-loader.lisp"
11252 (("libsqlite3")
11253 (string-append (assoc-ref inputs "sqlite")
11254 "/lib/libsqlite3")))
11255 #t))))))
11256 (synopsis "SQLite3 driver for Common Lisp SQL interface library")))
cd53df62
GLV
11257
11258(define-public sbcl-clsql-postgresql
11259 (package
11260 (inherit sbcl-clsql)
11261 (name "sbcl-clsql-postgresql")
11262 (inputs
11263 `(("clsql" ,sbcl-clsql)
11264 ("clsql-uffi" ,sbcl-clsql-uffi)
11265 ("postgresql" ,postgresql)))
11266 (arguments
11267 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11268 ((#:phases phases '%standard-phases)
11269 `(modify-phases ,phases
11270 (add-after 'unpack 'fix-paths
11271 (lambda* (#:key inputs #:allow-other-keys)
11272 (substitute* "db-postgresql/postgresql-loader.lisp"
11273 (("libpq")
11274 (string-append (assoc-ref inputs "postgresql")
11275 "/lib/libpq")))
11276 #t))))))
11277 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
f9680d52
GLV
11278
11279(define-public sbcl-clsql-postgresql-socket3
11280 (package
11281 (inherit sbcl-clsql)
11282 (name "sbcl-clsql-postgresql-socket3")
11283 (inputs
11284 `(("cl-postgres" ,sbcl-cl-postgres)
11285 ("clsql" ,sbcl-clsql)
11286 ("md5" ,sbcl-md5)))
11287 (arguments
11288 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11289 ((#:phases phases '%standard-phases)
11290 `(modify-phases ,phases
11291 (add-after 'create-asd-file 'fix-asd-file
11292 (lambda* (#:key outputs #:allow-other-keys)
11293 (let* ((out (assoc-ref outputs "out"))
11294 (lib (string-append out "/lib/" (%lisp-type)))
11295 (asd (string-append lib "/clsql-postgresql-socket3.asd")))
11296 (substitute* asd
11297 (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::")
11298 "")))
11299 #t))))))
11300 (synopsis "PostgreSQL driver for Common Lisp SQL interface library")))
079ee3b5
GLV
11301
11302(define-public sbcl-clsql-mysql
11303 (package
11304 (inherit sbcl-clsql)
11305 (name "sbcl-clsql-mysql")
11306 (inputs
11307 `(("mysql" ,mysql)
11308 ("sbcl-clsql" ,sbcl-clsql)
11309 ("sbcl-clsql-uffi" ,sbcl-clsql-uffi)
11310 ("zlib" ,zlib)))
11311 (arguments
11312 (substitute-keyword-arguments (package-arguments sbcl-clsql)
11313 ((#:phases phases '%standard-phases)
11314 `(modify-phases ,phases
11315 (add-after 'unpack 'fix-paths
11316 (lambda* (#:key inputs outputs #:allow-other-keys)
11317 (let ((lib (string-append "#p\""
11318 (assoc-ref outputs "out")
11319 "/lib/\"")))
11320 (substitute* "clsql-mysql.asd"
11321 (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"")
11322 lib))
11323 (substitute* "db-mysql/mysql-loader.lisp"
11324 (("libmysqlclient" all)
11325 (string-append (assoc-ref inputs "mysql") "/lib/" all))
11326 (("clsql-mysql-system::\\*library-file-dir\\*")
11327 lib)))
11328 #t))
11329 (add-before 'build 'build-helper-library
11330 (lambda* (#:key inputs outputs #:allow-other-keys)
11331 (let* ((mysql (assoc-ref inputs "mysql"))
11332 (inc-dir (string-append mysql "/include/mysql"))
11333 (lib-dir (string-append mysql "/lib"))
11334 (shared-lib-dir (string-append (assoc-ref outputs "out")
11335 "/lib"))
11336 (shared-lib (string-append shared-lib-dir
11337 "/clsql_mysql.so")))
11338 (mkdir-p shared-lib-dir)
11339 (invoke "gcc" "-fPIC" "-shared"
11340 "-I" inc-dir
11341 "db-mysql/clsql_mysql.c"
11342 "-Wl,-soname=clsql_mysql"
11343 "-L" lib-dir "-lmysqlclient" "-lz"
11344 "-o" shared-lib)
11345 #t)))))))
11346 (synopsis "MySQL driver for Common Lisp SQL interface library")))
6dfc981a
PN
11347
11348(define-public sbcl-sycamore
11349 (let ((commit "fd2820fec165ad514493426dea209728f64e6d18"))
11350 (package
11351 (name "sbcl-sycamore")
11352 (version "0.0.20120604")
11353 (source
11354 (origin
11355 (method git-fetch)
11356 (uri (git-reference
11357 (url "https://github.com/ndantam/sycamore/")
11358 (commit commit)))
11359 (file-name (git-file-name name version))
11360 (sha256
11361 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7"))))
11362 (build-system asdf-build-system/sbcl)
11363 (arguments
11364 `(#:asd-file "src/sycamore.asd"))
11365 (inputs
11366 `(("alexandria" ,sbcl-alexandria)
11367 ("cl-ppcre" ,sbcl-cl-ppcre)))
11368 (synopsis "Purely functional data structure library in Common Lisp")
11369 (description
11370 "Sycamore is a fast, purely functional data structure library in Common Lisp.
11371If features:
11372
11373@itemize
11374@item Fast, purely functional weight-balanced binary trees.
11375@item Leaf nodes are simple-vectors, greatly reducing tree height.
11376@item Interfaces for tree Sets and Maps (dictionaries).
11377@item Ropes.
11378@item Purely functional pairing heaps.
11379@item Purely functional amortized queue.
11380@end itemize\n")
11381 (home-page "http://ndantam.github.io/sycamore/")
11382 (license license:bsd-3))))
11383
11384(define-public cl-sycamore
11385 (sbcl-package->cl-source-package sbcl-sycamore))
eb5341c2
PN
11386
11387(define-public sbcl-trivial-package-local-nicknames
11388 (package
11389 (name "sbcl-trivial-package-local-nicknames")
11390 (version "0.2")
11391 (home-page "https://github.com/phoe/trivial-package-local-nicknames")
11392 (source
11393 (origin
11394 (method git-fetch)
11395 (uri (git-reference
11396 (url home-page)
11397 (commit "16b7ad4c2b120f50da65154191f468ea5598460e")))
11398 (file-name (git-file-name name version))
11399 (sha256
11400 (base32 "18qc27xkjzdcqrilpk3pm7djldwq5rm3ggd5h9cr8hqcd54i2fqg"))))
11401 (build-system asdf-build-system/sbcl)
11402 (synopsis "Common Lisp compatibility library for package local nicknames")
11403 (description
11404 "This library is a portable compatibility layer around package local nicknames (PLN).
11405This was done so there is a portability library for the PLN API not included
11406in DEFPACKAGE.")
11407 (license license:unlicense)))
11408
11409(define-public cl-trivial-package-local-nicknames
11410 (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames))
2fa04968
PN
11411
11412(define-public sbcl-enchant
11413 (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa"))
11414 (package
11415 (name "sbcl-enchant")
11416 (version (git-version "0.0.0" "1" commit))
11417 (home-page "https://github.com/tlikonen/cl-enchant")
11418 (source
11419 (origin
11420 (method git-fetch)
11421 (uri (git-reference
11422 (url home-page)
11423 (commit commit)))
11424 (file-name (git-file-name name version))
11425 (sha256
11426 (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01"))))
11427 (build-system asdf-build-system/sbcl)
11428 (inputs
11429 `(("enchant" ,enchant)
11430 ("cffi" ,sbcl-cffi)))
11431 (arguments
11432 `(#:phases
11433 (modify-phases %standard-phases
11434 (add-after 'unpack 'fix-paths
11435 (lambda* (#:key inputs #:allow-other-keys)
11436 (substitute* "load-enchant.lisp"
11437 (("libenchant")
11438 (string-append
11439 (assoc-ref inputs "enchant") "/lib/libenchant-2"))))))))
11440 (synopsis "Common Lisp interface for the Enchant spell-checker library")
11441 (description
11442 "Enchant is a Common Lisp interface for the Enchant spell-checker
11443library. The Enchant library is a generic spell-checker library which uses
11444other spell-checkers transparently as back-end. The library supports the
11445multiple checkers, including Aspell and Hunspell.")
11446 (license license:public-domain))))
11447
11448(define-public cl-enchant
11449 (sbcl-package->cl-source-package sbcl-enchant))
df95189d
PN
11450
11451(define-public sbcl-cl-change-case
11452 (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3"))
11453 (package
11454 (name "sbcl-cl-change-case")
11455 (version (git-version "0.1.0" "1" commit))
11456 (home-page "https://github.com/rudolfochrist/cl-change-case")
11457 (source
11458 (origin
11459 (method git-fetch)
11460 (uri (git-reference
11461 (url home-page)
11462 (commit commit)))
11463 (file-name (git-file-name name version))
11464 (sha256
11465 (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2"))))
11466 (build-system asdf-build-system/sbcl)
11467 (inputs
11468 `(("cl-ppcre" ,sbcl-cl-ppcre)
11469 ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)))
11470 (native-inputs
11471 `(("fiveam" ,sbcl-fiveam)))
11472 (arguments
11473 '(;; FIXME: Test pass but phase fails with 'Component
11474 ;; "cl-change-case-test" not found, required by'.
11475 #:tests? #f
11476 #:test-asd-file "cl-change-case-test.asd"))
11477 (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more")
11478 (description
11479 "@code{cl-change-case} is library to convert strings between camelCase,
11480PascalCase, snake_case, param-case, CONSTANT_CASE and more.")
11481 (license license:llgpl))))
11482
11483(define-public cl-change-case
11484 (sbcl-package->cl-source-package sbcl-cl-change-case))
53c05faf
PN
11485
11486(define-public sbcl-moptilities
11487 (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41"))
11488 (package
11489 (name "sbcl-moptilities")
11490 (version (git-version "0.3.13" "1" commit))
11491 (home-page "https://github.com/gwkkwg/moptilities/")
11492 (source
11493 (origin
11494 (method git-fetch)
11495 (uri (git-reference
11496 (url home-page)
11497 (commit commit)))
11498 (file-name (git-file-name name version))
11499 (sha256
11500 (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc"))))
11501 (build-system asdf-build-system/sbcl)
11502 (inputs
11503 `(("closer-mop" ,sbcl-closer-mop)))
11504 (native-inputs
11505 `(("lift" ,sbcl-lift)))
11506 (synopsis "Compatibility layer for Common Lisp MOP implementation differences")
11507 (description
11508 "MOP utilities provide a common interface between Lisps and make the
11509MOP easier to use.")
11510 (license license:expat))))
11511
11512(define-public cl-moptilities
11513 (sbcl-package->cl-source-package sbcl-moptilities))
8cf6d150
PN
11514
11515(define-public sbcl-osicat
11516 (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
11517 (package
11518 (name "sbcl-osicat")
11519 (version (git-version "0.7.0" "1" commit))
11520 (home-page "http://www.common-lisp.net/project/osicat/")
11521 (source
11522 (origin
11523 (method git-fetch)
11524 (uri (git-reference
11525 (url "https://github.com/osicat/osicat")
11526 (commit commit)))
11527 (file-name (git-file-name name version))
11528 (sha256
11529 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
11530 (build-system asdf-build-system/sbcl)
11531 (arguments
11532 `(#:phases
11533 (modify-phases %standard-phases
192177b0
PN
11534 ;; The cleanup phase moves files around but we need to keep the
11535 ;; directory structure for the grovel-generated library.
11536 (replace 'cleanup
8cf6d150
PN
11537 (lambda* (#:key outputs #:allow-other-keys)
11538 (let* ((out (assoc-ref outputs "out"))
192177b0
PN
11539 (lib (string-append out "/lib/sbcl/")))
11540 (delete-file-recursively (string-append lib "src"))
11541 (delete-file-recursively (string-append lib "tests"))
11542 (for-each delete-file
11543 (filter (lambda (file)
11544 (not (member (basename file) '("libosicat.so"))))
11545 (find-files (string-append lib "posix") ".*"))))
11546 #t)))))
8cf6d150
PN
11547 (inputs
11548 `(("alexandria" ,sbcl-alexandria)
11549 ("cffi" ,sbcl-cffi)
11550 ("trivial-features" ,sbcl-trivial-features)))
11551 (native-inputs
11552 `(("cffi-grovel" ,sbcl-cffi-grovel)
11553 ("rt" ,sbcl-rt)))
11554 (synopsis "Operating system interface for Common Lisp")
11555 (description
11556 "Osicat is a lightweight operating system interface for Common Lisp on
11557Unix-platforms. It is not a POSIX-style API, but rather a simple lispy
11558accompaniment to the standard ANSI facilities.")
11559 (license license:expat))))
11560
11561(define-public cl-osicat
11562 (sbcl-package->cl-source-package sbcl-osicat))